Korean Institute of Information Technology
[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 17, No. 5, pp.65-75
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 31 May 2019
Received 05 Jan 2019 Revised 26 Jan 2019 Accepted 29 Jan 2019
DOI: https://doi.org/10.14801/jkiit.2019.17.5.65

심층 합성곱 신경망에 기반한 이미지 바코드의 은닉 데이터 디코딩 기법

김수정* ; 손창환** ; 정동원**
*군산대학교 소프트웨어융합공학과
**군산대학교 소프트웨어융합공학과 교수(공동교신저자)
Decoding Hidden Data from Image Barcode Via Deep Convolutional Neural Networks
Su-Jeong Kim* ; Chang-Hwan Son** ; Dongwon Jeong**

Correspondence to: Chang-Hwan Son and Dongwon Jeong Department. of Software Convergence Engineering Republic of Korea, Tel.: +82-63-469-8915, Email: cson@kunsan.ac.kr, djeong@kunsan.ac.kr

초록

이 논문에서는 이미지 바코드에서 은닉 데이터를 복구하기 위한 디코딩 기법을 제안하고자 한다. 먼저, 두 종류의 디더링 행렬을 훈련 영상 집합에 각각 적용해서 하프톤 영상을 생성한 후, 패치 추출 과정을 통해 라벨 값을 할당한다. 그리고 VGG-16과 같은 심층 합성곱 신경망 아키텍처를 구성한 후, 확률적 내리막 경사법을 적용하여 신경망 파라미터를 학습한다. 은닉 데이터 디코딩 과정은 입력 이미지 바코드로부터 패치를 추출하여 학습된 심층 합성곱 신경망에 입력으로 주면 분류 과정을 거쳐 최종 은닉 데이터를 복구할 수 있다. 실험을 통해, 제안한 심층 합성곱 신경망 기반의 디코딩 기법이 기존의 디코딩 기법보다 더 우수한 결과를 얻을 수 있었다. 특히, 디지털 이미지 바코드와 스캔된 이미지 바코드에서 약 99%와 약 96%의 정인식률을 달성할 수 있었다.

Abstract

This paper proposes a method of decoding the hidden data from image barcodes. First, halftoned images are generated by applying two types of dithering matrixes to training images, and then labels are assigned to the extracted patches from the halftoned images. Next, the deep convolutional neural network that has similar architecture of the VGG-16 is learned via a stochastic gradient descent algorithm. Given the input image barcode, the proposed hidden data decoding can be completed by feeding the extracted patches from the image barcode into the already learned deep convolutional neural network, which enables the extracted patches to be classified by one of the two labels. Through the experiments, it is shown that the proposed method can achieve better results than the conventional methods. Especially, the correct recognition rates of 99% and 96% can be obtained for the digital and scanned image barcodes, respectively.

Keywords:

halftoning, image barcode, sparse coding, image moment, deep convolutional neural networks

Ⅰ. 서 론

최근에 QR 코드(Quick Response Code)가 광고 및 홍보 업계에서 마케팅 수단으로 활발히 사용되고 있다[1]. 그러나 QR 코드는 흑백 격자무늬만 표현할 수 있다[2]. 이러한 단점을 해결하기 위해, 최근 두 종류의 군집 하프톤 도트 패턴(Clustered Halftoned Dot Pattern)을 사용해서 인쇄물에 데이터를 은닉하는 이미지 바코드(Image Barcode) 기법이 개발되고 있다[3]. 이러한 이미지 바코드는 원본 영상의 형상(Appearance)을 표현할 수 있고, 사용된 도트 패턴의 조합에 따라 인쇄물에 로고, 영상, 음성, 또는 인터넷 주소 등과 같은 유용한 정보를 은닉할 수 있다. 이를 통해 상품 홍보, 음성 메시지 전달, 또는 저작권 보호 등을 제공할 수 있다.

이미지 바코드에 은닉된 데이터를 복원하는 디코딩 기법에는 이미지 모멘트(Image Moment) 기반의 디코딩 기법과 희소 표현(SR, Sparse Representation) 기반의 디코딩 기법이 있다[4][5]. 먼저, 이미지 모멘트 기반의 디코딩 기법은 가로 및 세로 방향의 군집 하프톤 도트 패턴에 대한 이미지 모멘트 값을 각각 비교하여 은닉 데이터를 복원한다. 하지만 이 기법은 가로 및 세로 방향의 도트 패턴에만 국한해서 사용할 수 있다[4]. 반면에 희소 표현 기반의 디코딩 기법은 동일한 부류에 속한 특정 군집 하프톤 도트 패턴에서 사전(Dictionary)을 학습한 후, 하프톤 도트 패턴의 복원율의 정확도로 은닉 데이터를 복원한다. 따라서 가로 및 세로 방향의 도트 패턴이외에 다양한 도트 패턴의 조합에도 적용할 수 있다. 하지만 희소 표현 기반의 디코딩 기법도 정확도 측면에서 여전히 개선할 여지가 남아있다[5]. 따라서 이 논문에서는 은닉 데이터의 복원의 정확도를 높이기 위해 심층 합성곱 신경망(DCNN, Deep Convolutional Neural Networks)[6] 기반의 은닉 데이터 디코딩 기법을 제안하고자 한다.

이 논문의 구성은 다음과 같다. 먼저 제 2장에서는 기존의 이미지 모멘트 및 희소 표현 기반의 디코딩 기법을 소개한 후, 제 3장에서는 이미지 바코드 생성 과정과 제안한 심층 합성곱 신경망 기반의 디코딩 기법에 대해 자세히 설명하고자 한다. 제 4장에서는 제안한 기법과 기존의 이미지 모멘트 및 희소 표현 기반의 디코딩 기법과 성능 차이를 비교 분석하고 제 5장에서는 결론 및 향후 연구에 대해 고찰하고자 한다.


Ⅱ. 관련 연구

2.1 이미지 모멘트 기반의 디코딩 기법

이미지 모멘트 기반의 디코딩 기법은 이미지 바코드에 은닉된 데이터를 복원하기 위해 이미지 모멘트라 불리는 척도를 사용한다. 이미지 모멘트는 아래와 같이 계산된다[4].

σi=x,yCIHx,yui-u¯i2x,yCIHx,y for i=1,2(1) 
ui=xcosθi+ysinθi(2) 
u¯i=x,yCIHx,yui/x,yCIHx,y(3) 

식 (1)에서 IH(x,y)는 이미지 바코드를 의미하고 C는 셀(Cell)이라 불리는 6×6 또는 8×8 크기의 픽셀 영역에 해당한다. 그리고 (x,y)는 2차원 픽셀 좌표이다. 식 (2)는 (x,y) 좌표 값을 각도 θi만큼 회전한 좌표계의 값을 나타낸다. 여기서 θi는 0°또는 90°둘 중 하나의 값을 가진다. 식 (3)u¯i는 해당 셀에서 밝기의 무게 중심 값에 해당한다. 따라서 식 (1)에서 ui-u¯i2는 밝기 차가 얼마나 큰지를 나타내는 성분이므로 하프톤 셀의 도트 패턴의 방향이 가로 방향인지 세로 방향인지를 판별할 수 있다. 좀 더 구체적으로 말하면, σ1>σ2일 경우에는 셀 내의 도트 패턴이 가로 방향의 도트 패턴으로 인식하고, σ2>σ1일 경우에는 셀 내의 도트 패턴이 세로 방향의 도트 패턴으로 간주한다.

식 (2)에서 보듯이, 이미지 모멘트는 한 쪽 방향으로 밝기의 편차가 심한 도트 패턴, 예를 들어 가로 및 세로 방향의 도트 패턴을 구별하기에 적합하다. 따라서 이미지 모멘트 척도는 다양한 도트 패턴에는 적용하기가 어렵다.

2.2 희소 표현 기반의 디코딩 기법

동일한 부류에 속한 도트 패턴들은 특정 기저 벡터들(Basis Vectors)의 조합으로 표현이 가능하다. 이는 다른 부류에 속한 도트 패턴들은 이 기저 벡터들로는 표현할 수 없음을 의미한다. 따라서 각 부류에 소속된 도트 패턴들을 표현할 수 있는 기저 벡터들을 학습한 후, 입력 도트 패턴을 재복원해서 그 복원율의 정확도로 입력 도트 패턴을 분류하는 것이 가능하다. 이런 방식으로 도트 패턴을 분류하는 기법을 희소 표현 기반의 분류 또는 희소 표현 기반의 디코딩 기법[5] 이라 불린다. 이 기법은 크게 훈련영상으로부터 도트 패턴의 기저벡터를 생성하는 사전 학습(Dictionary Learning) 과정과 주어진 기저벡터를 사용해서 입력 도트 패턴을 재구성(Reconstruction)하는 희소 코딩 과정으로 이루어진다. 먼저, 사전 학습 과정은 아래와 같이 표현된다.

minDj,AYj-DjA2jH,V, iαi0TH(4) 

여기서 Y는 훈련 패치를 포함한 행렬이고 DA는 추정해야 될 사전과 희소 코드 행렬이다. 그리고 j는 도트 패턴의 종류를 구분하는 인덱스이다. 즉, jH일 경우에는 가로 방향의 도트 패턴을 가리키고 jV일 경우에는 세로 방향의 도트 패턴을 가리킨다. 따라서 식 (4)에서 Dj는 가로 및 세로 방향의 도트 패턴 별로 학습이 된다. Yj는 수집된 훈련 영상에서 하프토닝을 적용하여 추출한 패치를 열벡터로 저장하고 있다. 식 (4)에서 첫 번째 항목은 YDA로 표현할 수 있다는 데이터 충실도(Data Fidelity) 제약 조건으로써, Y의 열벡터가 D에 저장된 열벡터, 즉 기저 벡터들의 선형조합으로 표현될 수 있음을 나타낸다. 두 번째 항목은 희소 제약 조건이다. 벡터 αiA행렬의 i번째 열벡터로써, 대부분의 벡터 요소의 값이 영인 제약 조건을 가진다. 벡터에서 영이 아닌 벡터 요소의 개수는 0-놈(Norm), 즉 ‖αi0로 표현이 가능하다. 따라서 희소 제약 조건은 ‖αi0가 특정 문턱치인 TH 보다 작게 설정하면 된다. 이 논문에서는 식 (4)를 풀기 위해 K-SVD 사전 학습 기법을 사용하였다[7]. 사전 학습을 통해 두 종류의 도트 패턴에 대한 사전 DHDV가 주어진 경우, 입력 도트 패턴을 구분하기 위해 희소 코딩 과정이 수행된다.

minαy-Djα, α0TH(5) 

여기서 y는 입력 도트 패턴으로 갖는 패치이고 Dj는 학습된 사전에 해당한다. 따라서 식 (5)는 입력 패치 yDjα로 표현되고 α가 희소 제약 조건을 만족해야 됨을 말한다. 식 (5)는 경사 추적(Gradient Pursuit) 기법 [8]을 사용해서 풀 수 있다. 입력 도트 패턴이 가로 방향의 도트 패턴인지 세로 방향의 도트인지는 복원율의 정확도를 비교해서 판별할 수 있다. 예를 들어 입력 패치 y가 가로 방향의 도트 패턴일 경우에는 DH로 복원된 패치, DHα의 복원의 정확도가 높을 것이다. 그러나 DV로 복원하면 상대적으로 복원의 정확도가 낮을 것이다. 이런 희소 표현 기반의 디코딩 기법은 비단 가로 및 세로 방향의 도트 패턴에만 국한되지 않고 다양한 도트 패턴에도 적용될 수 있다. 하지만 도트 패턴의 분류에 대한 정확도 측면에서는 여전히 개선할 여지가 있다.


Ⅲ. 제안한 심층 합성곱 신경망 기법의 이미지 바코드 디코딩 기법

제안한 기법은 그림 1과 같이 크게 은닉할 데이터를 하프톤 영상에 삽입하는 과정, 즉 이미지 바코드를 생성하는 과정과 이미지 바코드로부터 은닉된 데이터를 디코딩하는 과정으로 구성되어 있다. 첫째, 이미지 바코드의 생성 과정은 비트시퀀스로 구성된 은닉 데이터의 값에 따라 두 종류의 디더링 행렬(Dithering Matrix)에서 하나를 선택한 후, 원본 영상에 하프토닝 과정을 적용한다. 여기서 하프토닝이란 연속 계조 영상을 흰색 도트와 검정색 도트로 구성된 이진 계조 영상을 생성하는 과정이다. 둘째, 이미지 바코드로부터 은닉된 데이터를 디코딩하는 과정은 심층 합성곱 신경망을 학습하는 과정과 학습된 신경망을 기반으로 이미지 바코드에 삽입된 은닉 데이터를 복구하는 과정으로 구성된다.

Fig 1.

Block-diagram of the proposed method of decoding hidden data from image barcode via deep convolutional neural networks

심층 합성곱 신경망 학습은 두 종류의 디더링 행렬을 훈련 영상에 각각 적용해서 하프톤 영상을 생성한 후, 패치 추출 과정을 통해 훈련 패치를 구성하여 심층 합성곱 신경망을 학습한다. 은닉 데이터 복구 과정은 학습된 심층 합성곱 신경망을 사용해서 패치 기반으로 도트 패턴을 분류해서 은닉된 데이터를 복구한다.

3.1 디더링 기반의 하프토닝

앞서 언급했듯이 하프토닝은 연속 계조 영상을 흰색과 검정색의 도트 패턴으로 구성된 이진 영상을 생성하는 과정이다. 그림 2는 하프토닝 기법을 적용한 예시를 보여주고 있다. 왼쪽 그림은 입력 영상이고 오른쪽 그림은 하프톤 영상이다. 우측 하단의 빨간색 박스에서 보듯이, 흰색과 검정색 도트가 군집을 이루어 형성된 것을 볼 수 있다. 이런 도트 패턴은 군집 하프톤 도트 패턴이라 불린다.

Fig. 2.

(a) Input image, (b) Halftoned image

하프톤 기법에는 디더링(Dithering), 오착 확산(Error Diffusion), 직접 이진 검색(Direct Binary) 등이 있다[9]. 본 논문에서는 디더링 기반의 하프토닝 기법을 사용하고 한다. 디더링 기법은 디더링 행렬의 값과 원본 영상의 픽셀 값을 일대일로 비교해서 하프톤 영상을 생성한다. 만약, 입력 영상의 픽셀 값이 디더링 행렬의 값보다 크면 ‘255’의 값으로 변환하고, 그렇지 않으면 ‘0’의 값으로 변환한다. 이 과정을 통해 입력 영상이 도트 패턴으로 구성된 이진 영상으로 변환하게 된다. 보다 자세한 사항은 참고 문헌[10]을 보시기 바란다.

3.2 이미지 바코드 생성

그림 3은 이미지 바코드 생성을 위해 필요한 입력 영상과 은닉 데이터의 예시를 보여주고 있다.

Fig. 3.

(a) Original image for image barcode generation, (b) Hidden image into image barcode

은닉 데이터는 그림 3(b)와 같이 흑백 영상이다. 흑백 영상은 ‘0’ 또는 ‘255’ 픽셀 값으로 구성되어 있다. 이는 흑백 영상이 ‘0’과 ‘1’로 구성된 비트시퀀스로 표현될 수 있음을 의미한다.

이미지 바코드는 은닉 데이터의 값, 즉 ‘0’ 또는 ‘255’ 값에 따라 디더링 행렬을 선택한 후, 하프토닝 과정을 적용하면 생성된다. 그림 4는 네 종류의 디더링 행렬을 보여준다. 이미지 바코드 생성 단계는 이미지 바코드 생성에 필요한 입력 영상, 은닉 데이터, 디더링 행렬이 주어지면, 다음과 같이 수행된다.

Fig. 4.

Dithering matrixes for generating four types of dot patterns; (a) Horizontal dot patterns, (b) Vertical dot patterns, (c) Circular dot patterns, (d) Dual dot patterns

◆ 1단계: 은닉 영상에서 픽셀 값 하나를 읽어 와서 그림 4에 보이는 디더링 행렬 중에 하나를 선택한다. 예를 들어, 은닉 영상에서 픽셀 값이 ‘0’이면 그림 4(a)의 세로 방향 도트 패턴 생성을 위한 디더링 행렬을 선택하고, ‘255’이면 그림 4(b)의 가로 방향 도트 패턴 생성을 위한 디더링 행렬을 선택한다. 또는 은닉 영상에서 픽셀 값이 ‘0’이면 그림 4(c)의 서큘러 도트 패턴 생성을 위한 디더링 행렬을 선택하고, ‘255’이면 그림 4(d)의 듀얼 방향 도트 패턴 생성을 위한 디더링 행렬을 선택한다.

◆ 2단계: 선택된 디더링 행렬을 사용해서 하프토닝 과정을 수행한다. 즉, 선택된 디더링 행렬을 입력 영상의 좌측 상단위에 놓고 행렬의 값과 입력 영상의 픽셀 값을 일대일로 비교한다. 이를 통해 입력 영상에서 디더링 행렬 크기만큼 ‘0’ 또는 ‘255’값으로 구성된 군집화 된 도트 패턴을 생성할 수 있다. 그림 5는 디더링 행렬을 사용해서 변환된 군집화 된 도트 패턴의 예시를 보여주고 있다.

Fig. 5.

An example of dot patterns; (a) horizontal dots, (b) vertical dots, (c) circular dots, (d) dual dots

◆ 3단계: 1단계로 다시 돌아가서 은닉 영상에서 다음 픽셀 위치에서 값을 읽어온 후, 디더링 행렬을 선택하고 2단계를 수행한다. 이때 디더링 행렬을 동일한 위치가 아닌, 겹침 없이 디더링 행렬 크기만큼 우측으로 이동하여 하프토닝 과정을 수행한다. 이 과정을 은닉 영상에서 마지막 픽셀 값을 읽을 때까지 반복 수행한다.

그림 6은 가로 및 세로 방향의 도트 패턴으로 구성된 이미지 바코드의 예시를 보여주고 있다. 우측 하단의 빨간 박스는 좌측 상단을 확대한 그림이다. 그림에서 볼 수 있듯이, 가로 방향의 도트 패턴이 존재하는 것을 볼 수 있다. 이는 그림 3(b)의 은닉 데이터의 값이 ‘255’ 즉, 흰색이기 때문에 가로 방향의 도트 패턴이 생성되었다. 물론 다른 영역에서는 세로 방향의 도토 패턴이 존재한다. 그러나 그림 6에서 은닉 영상의 ‘나비’모양이 그대로 노출된 것을 볼 수 있다. 따라서 은닉 영상을 그대로 삽입하는 것이 아니라 은닉 영상의 픽셀 위치를 랜덤하게 재배치할 필요가 있다.

Fig. 6.

Image barcode consisting of horizontal and vertical dot patterns

그림 7은 은닉 데이터의 재배치 과정을 적용한 이미지 바코드의 결과이다.

Fig. 7.

Image barcodes after applying the reordering of the hidden data

그림 6과 비교했을 때, 그림 7(a)에서 은닉 영상의 ‘나비’모양이 사라진 것을 볼 수 있다. 그림 7(b)는 서큘러와 듀얼 도트로 구성된 다른 종류의 이미지 바코드 예시를 보여주고 있다.

3.3 심층 합성곱 신경망의 학습 과정

이미지 바코드에서 은닉된 데이터를 복원하기 위해, 가로 및 세로 방향의 도트 패턴 분류 또는 서큘러 및 듀얼 도트 패턴 분류 과정이 필요하다. 이를 위해 최근 영상 인식 분야에서 큰 각광을 받고 있는 심층 합성곱 신경망을 사용하고자 한다. 심층 합성곱 신경망의 학습 과정은 다음과 같다.

학습에 사용될 패치 추출: 300장의 그레이 영상을 웹 사이트에서 수집한 후, 3.1절에서 제시한 디더링 기반의 하프토닝 과정을 수집한 영상에 적용해서 하프톤 영상을 획득한다. 그리고 하프톤 영상에서 디더링 행렬 크기만큼 패치를 추출하고, 추출된 패치에 라벨 값을 할당한다. 예를 들어 가로 방향 도트 패턴은 라벨 값 ‘1’을 할당하고, 세로 방향의 도트 패턴은 라벨 값‘0’을 할당한다. 참고로 이 논문에서 사용된 ‘0’을 할당한다. 참고로 이 논문에서 사용된총 패치의 수는 436,956개이다.

심층 합성곱 신경망의 아키텍처: 그림 8은 이 논문에서 사용된 심층 합성곱 신경망의 아키텍처를 보여주고 있다. 합성곱 신경망은 합성곱(Convolution: Conv) 계층, 배치 정규화(BN, Batch Normalization) 계층, 정류선형유닛(ReLU, Rectified Linear Unit) 계층, 최대 풀링(Max Pooling) 계층, 완전 연결(Fully Connected) 계층, 소프트맥스(Softmax) 계층으로 구성되었다. 이때 사용된 총 레이어의 수는 28개이다.

Fig. 8.

Architecture of the proposed deep convolutional neural networks

심층 합성곱 신경망의 파라미터 학습: 1단계에서 추출한 패치를 훈련 집합과 검증 집합으로 분류한다. 그리고 훈련 집합을 사용해 심층 합성곱 신경망의 파라미터를 학습한다. 이때 학습에 사용된 최적화 기법은 확률적 경사 하강법(Stochastic Gradient Descent)이다.

그림 9는 심층 합성곱 신경망의 파라미터 갱신에 따른 손실 함수의 값이 어떻게 변화되는지 그 추이 과정을 보여주고 있다. 그림에서 보듯이, 손실 함수의 값이 감소하다가 수렴되는 것을 볼 수 있으며 이는 역전파(Backpropagation) 과정을 통해 신경망의 파라미터 값이 바르게 갱신되고 있음을 입증해 준다.

Fig. 9.

Change of the total loss, according to the number of parameters updating

3.4 은닉 데이터의 디코딩 과정

심층 합성곱 신경망의 파라미터가 학습이 되면, 이미지 바코드에서 은닉 데이터를 복원할 수 있다. 그림 7과 같은 이미지 바코드가 주어진 경우, 먼저 이미지 바코드에서 래스터 스캐닝(Raster Scanning) 방향으로 디더링 행렬과 동일한 윈도우의 크기에서 패치를 추출한다. 그리고 추출된 패치는 학습된 심층 합성곱 신경망에 입력되고 라벨 값이 추정된다. 그 다음 원도우를 중복되지 않게 래스터 스캐닝 방향을 따라서 이동하면서 상기에 언급된 과정을 반복 수행한다. 이 과정이 완료되면 은닉 데이터를 디코딩할 수 있다. 마지막으로 은닉 데이터의 재배치 과정을 거친 후, 나비 모양을 갖는 은닉 데이터를 완전히 복구할 수 있게 된다.


Ⅳ. 실험 및 결과

4.1 실험 환경

성능 비교를 위해 기존의 희소 표현 기반의 디코딩 기법에서 사용된 실험 영상을 사용하였다. 그림 10은 실험 영상으로써, 텍스트, 그림, 로그 등 다양한 영상을 포함하고 있다. 또한 밝기가 균일하거나 아주 밝은 영역을 포함하거나 또는 대비가 높은 영상도 포함되어 있다. 그리고 은닉 데이터는 그림 3에 보이는 나비 영상을 공통으로 사용하였다. 제안한 디코딩 기법의 성능을 평가하기 위해, 기존의 모멘트 기반의 디코딩 기법[4]와 희소 표현 기반의 디코딩 기법[5]를 비교하였다. 그리고 평가 척도로는 원본 은닉 영상의 총 픽셀 수에서 올바르게 추정된 픽셀의 비율을 나타내는 정인식률(Correct Recognition Rates)을 사용하였다.

Fig. 10.

Test images, (a) Text, (b) Butterfly, (c) Hose, (d) Sunflower, (e) Logo, (f) Golf filed

4.2 디지털 이미지 바코드에 대한 실험 결과

그림 1112는 가로 및 세로 방향의 도트 패턴으로 구성된 이미지 바코드와 서큘러 및 듀얼 도트 패턴으로 구성된 이미지 바코드로부터 복구된 은닉 데이터를 보여주고 있다.

Fig. 11.

Experimental results for image barcodes consisting of horizontal and vertical dot patterns

Fig. 12.

Experimental results for image barcodes consisting of circular and dual dot patterns

그림 11그림 12에서 각 열은 그림 10의 문자, 나비, 집, 해바라기, 로고, 골프장 영상에 대한 결과이다. 그리고 첫 번째 행은 모멘트 기반의 디코딩 기법, 두 번째 행은 희소 표현 기반의 디코딩 기법, 마지막 행은 제안한 디코딩 기법에 대한 결과이다. 그림 1112에서 잡음으로 보이는 점들은 모두 오 분류된 결과이다. 따라서 제안한 기법의 결과가 그림 3의 원본 은닉 영상과 가장 유사한 것을 볼 수 있다. 표 12는 제안한 기법과 기존의 기법에 대한 정인식률의 결과를 보여주고 있다.

Correct recognition rates for the image barcodes consisting of horizontal and vertical dot patterns

Correct recognition rates for the image barcodes consisting of circular and dual dot patterns

제안한 심층 합성곱 신경망 기반의 디코딩 기법의 평균 수치가 기존의 값보다 더 높은 것을 볼 수 있다. 즉 디코딩 기법의 성능이 더 우수하다는 것을 입증한다.

4.3 스캔된 이미지 바코드에 대한 실험 결과

그림 13은 스캔된 이미지 바코드에서 복구된 은닉 영상을 보여주고 있다. 프린팅과 스캐닝 과정이 진행되는 동안 잡음이 추가될 수 있고 무엇보다 픽셀이 찍히는 위치가 미세하게 달라질 수 있다. 이로 인해 실제 스캔된 영상에서 디코딩 기법을 적용할 때, 디코딩 성능이 많이 떨어지게 된다. 표 3은 스캔된 이미지 바코드에 대한 정인식률의 결과를 보여주고 있다. 표에서 보듯이, 실 환경에서도 제안한 기법은 약 96%의 정인식률을 달성할 수 있었다. 반면에 희소 표현 기반의 디코딩 기법이나 모멘트 기반의 디코딩 기법은 약 10%나 성능이 감소된 것을 볼 수 있다.

Fig. 13.

Experimental results for the scanned image barcodes consisting of horizontal and vertical dot patterns

Correct recognition rates for the scanned images barcodes consisting of horizontal and vertical dot patterns

표 4는 기존의 방법과 제안한 기법에 대한 계산처리 시간을 보여주고 있다. 표에서 보듯이, 이미지 바코드에 대한 은닉 데이터 검출 시간은 평균적으로 모멘트 기반의 디코딩 기법은 23초, 희소 표현 기반의 디코딩 기법은 43초, 제안한 심층 합성곱 신경망 기반의 디코딩 기법은 3분 18초가 걸렸다. 실험 환경은 CPU i7-6700 사양에서 동일한 조건에서 비교되었다. 물론 제안한 기법이 정인식률의 측면에서는 가장 높은 결과를 달성했지만, 계산처리 속도에서는 느린 것을 알 수 있다. 이는 패치 기반으로 디코딩 과정이 수행되기 되기 때문이다. 즉 패치마다 매번 심층 합성곱 신경망을 호출하기 때문에 계산처리 시간이 오래 걸리는 것으로 분석된다. 향후에는 이런 제안한 방법의 계산처리 속도를 높이기 위해, 입력 이미지 바코드 영상 전체를 입력으로 받아 은닉 데이터를 복구하는 기법을 개발하고자 한다.

Computational time results for conventional and proposed methods


Ⅴ. 결론 및 향후연구

이 논문에서는 이미지 바코드에서 은닉 데이터를 복구하기 위해 심층 합성곱 신경망 기반의 디코딩 기법을 제안하였다. 실험 결과에서 보듯이, 제안한 기법은 디지털 이미지 바코드와 스캔된 이미지 바코드에서 약 99%와 약 96%의 정인식률을 달성하였다. 기존의 디코딩 기법과 비교했을 때, 정인식률 측면에서 더 우수한 결과를 얻을 수 있었다. 특히 스캔된 이미지 바코드에서는 약 7%의 정인식률을 개선할 수 있었다. 향후 계획으로는 제안한 기법이 계산처리 속도를 개선하는 작업과 프린팅 과정에서 발생되는 토너 위치의 오차를 보정할 수 있는 심층 합성곱 신경망 아키텍처를 개발하고자 한다.

Acknowledgments

이 논문은 2017년도 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임(No. 2017R1D1A3B03030853)

References

  • S. J. Ha, S. B. Eun, S. S. So, Y. S. Yun, and J. M. Jung, "Design and implementation of µ-webpage based on QR code", KIISE Transactions on Computing Practices, 21(3), p239-246, Mar.), (2015. [https://doi.org/10.5626/ktcp.2015.21.3.239]
  • D. J. Cho, and J. S. Koh, "A study on method to improve recognition rate of digital watermark using QR code", Journal of Korean Institute of Information Technology, 12(10), p173-179, Oct.), (2014.
  • V. Kitanovski, and M. Pedersen, "Detection of orientation-modulation embedded data in color printed natural images", Journal of Imaging, 4(56), p17, Apr.), (2018. [https://doi.org/10.3390/jimaging4040056]
  • O. Bulan, G. sharma, and V. Monga, "Orientation modulation for data hiding in clustered-dot halftone prints", IEEE Transactions on Image Processing, 19(8), p2070-2084, Aug.), (2010. [https://doi.org/10.1109/tip.2010.2046795]
  • C. H. Son, and H. S. Choo, "Watermark detection from clustered halftone dots via learned dictionary", Signal Processing, 102, p77-84, Sep.), (2014. [https://doi.org/10.1016/j.sigpro.2014.03.016]
  • M. S. An, and D. S. Kang, "Development of image analysis system using object classifier basd on deep convolutional neural network", Journal of Korean Institute of Information Technology, 16(16), p67-73, May), (2016.
  • M. Aharon, M. Elad, and A. Bruckstein, "K-SVD: an algorithm for designing overcomplete dictionaries for sparse representation", IEEE Transactions on Signal Processing, 54(11), p4311-4322, Nov.), (2006.
  • T. Blumensath, and M. E. Davies, "Gradient pursuit", IEEE Transactions on Image Processing, 56(6), p2370-2383, Jul.), (2008.
  • I. G. Chun, "Printed image watermarking using image halftoning", Journal of Multimedia Information System, p147-150, May), (2004.
  • J. M. Guo, C. C. Su, Y. F. Liu, H. Lee, and J. D. Lee, "Oriented modulation for watermarking in direct binary search halftone images", IEEE Transactions on Image Processing, 21(9), p4117-4127, Sep.), (2014. [https://doi.org/10.1109/tip.2012.2198221]
저자소개
김 수 정 (Su-Jeong Kim)

2019년 2월 : 군산대학교 소프트웨어융합공학과(공학사)

관심분야 : 컴퓨터 비전, 영상처리, 딥 러닝, 프로그래밍

손 창 환 (Chang-Hwan Son)

2002년 2월 : 경북대학교 전자전기공학부(공학사)

2004년 2월 : 경북대학교 전자공학과(공학석사)

2008년 8월 : 경북대학교 전자공학과(공학박사)

2008년 8월 ~ 2009년 12월 : 삼성전자 프린팅사업부 책임연구원

2015년 3월 ~ 2017년 2월 : 캐나다 Ryerson 대학교 포닥연구원

2017년 4월 ~ 현재 : 군산대학교 소프트웨어융합공학과 조교수

관심분야 : 컴퓨터 비전, 영상처리, 기계학습, 딥 러닝

정 동 원 (Dongwon Jeong)

1997년 2월 : 군산대학교 컴퓨터과학과(이학사)

1999년 2월 : 충북대학교 전자계산학과(이학석사)

2004년 2월 : 고려대학교 컴퓨터학과(이학박사)

2005년 4월 ~ 현재 : 군산대학교 통계컴퓨터과학과, 소프트웨어융합공학과 교수

관심분야 : 데이터베이스, 시맨틱 서비스, 빅데이터, 사물인터넷, 지능형 융합 서비스

Fig 1.

Fig 1.
Block-diagram of the proposed method of decoding hidden data from image barcode via deep convolutional neural networks

Fig. 2.

Fig. 2.
(a) Input image, (b) Halftoned image

Fig. 3.

Fig. 3.
(a) Original image for image barcode generation, (b) Hidden image into image barcode

Fig. 4.

Fig. 4.
Dithering matrixes for generating four types of dot patterns; (a) Horizontal dot patterns, (b) Vertical dot patterns, (c) Circular dot patterns, (d) Dual dot patterns

Fig. 5.

Fig. 5.
An example of dot patterns; (a) horizontal dots, (b) vertical dots, (c) circular dots, (d) dual dots

Fig. 6.

Fig. 6.
Image barcode consisting of horizontal and vertical dot patterns

Fig. 7.

Fig. 7.
Image barcodes after applying the reordering of the hidden data

Fig. 8.

Fig. 8.
Architecture of the proposed deep convolutional neural networks

Fig. 9.

Fig. 9.
Change of the total loss, according to the number of parameters updating

Fig. 10.

Fig. 10.
Test images, (a) Text, (b) Butterfly, (c) Hose, (d) Sunflower, (e) Logo, (f) Golf filed

Fig. 11.

Fig. 11.
Experimental results for image barcodes consisting of horizontal and vertical dot patterns

Fig. 12.

Fig. 12.
Experimental results for image barcodes consisting of circular and dual dot patterns

Fig. 13.

Fig. 13.
Experimental results for the scanned image barcodes consisting of horizontal and vertical dot patterns

Table 1.

Correct recognition rates for the image barcodes consisting of horizontal and vertical dot patterns

Test Images Correct Recognition Rates(%)
Moment
-based decoding method[4]
SR-based decoding method [5] Proposed decoding method
Text 80.66 99.01 99.53
Butterfly 83.81 99.24 99.45
Hose 89.71 98.64 99.33
Sunflower 88.91 99.32 100
Logo 91.51 99.77 100
Golf filed 78.03 96.14 98.2
AVG 85.43 98.68 99.42

Table 2.

Correct recognition rates for the image barcodes consisting of circular and dual dot patterns

Test Images Correct Recognition Rates(%)
SR-based decoding method [5] Proposed decoding method
Text 100 99.68
Butterfly 99.12 99.67
Hose 98.73 99.87
Sunflower 99.98 100
Logo 99.57 100
Golf filed 100 99.07
AVG 99.57 99.715

Table 3.

Correct recognition rates for the scanned images barcodes consisting of horizontal and vertical dot patterns

Test Images Correct Recognition Rates(%)
Moment
-based decoding method[4]
SR-based decoding method [5] Proposed decoding method
Text 66.46 91.07 97.81
Butterfly 71.48 89.58 97.11
Hose 76.83 90.89 97.71
Sunflower 82.97 91.94 99.04
Logo 67.70 87.80 96.32
Golf filed 79.62 86.70 92.76
AVG 74.18 89.66 96.79

Table 4.

Computational time results for conventional and proposed methods

Moment-based decoding method[4] SR-based decoding method [5] Proposed decoding method
23 sec 43 sec 3 min 18 sec