스마트폰 촬영 영상을 이용한 딥러닝 기반 위조지폐 판별
초록
위조지폐 판별은 고가의 전용 장비를 사용하거나 고품질 스캐너를 사용한다. 하지만, 현재 스마트폰 카메라의 품질도 우수하여 충분한 해상도의 영상 획득이 가능하다. 본 논문에서는 스마트폰으로 촬영한 영상에 대해 딥러닝을 통해 위조지폐 진위를 판별하는 방법을 제안한다. 제안하는 방법에서는 합성곱 3계층과 전연결 2계층으로 구성된 합성곱 신경망 모델을 설계하여 최적화하였고, 학습데이터 수집 과정과 고화질 영상을 제한된 메모리에서 훈련하기 위한 패치 단위 처리 기술도 적용하였다. 또한, 패치 단위 판별 결과에 대해 최대 빈도수 기반으로 영상 단위로 위변조 판별하는 방법을 도입하였다. 실제 4개 프린터로 위조한 지폐를 이용한 실험에서 제안한 방법은 패치 단위 95.85%, 영상 단위 100% 정확도를 보였고, 이를 통하여 기존 UV나 광학 장비를 이용하지 않고도 스마트폰 촬영 영상만으로도 충분히 위조지폐를 판별할 수 있음을 보였다.
Abstract
Counterfeit bills identification studies use expensive equipments or high-quality scanners. However, the image quality of the current smartphone camera is excellent enough to acquire images with sufficient resolution. This paper proposes a counterfeit bill identification method based on deep learning using smartphone camera shooting images. A convolutional neural network model composed of 3 convolutional layers and 2 fully-connected layers is designed and optimized. A training data collection and a patch unit processing technique to train high-resolution images in limited memory are applied. In addition, an identification method in image units using majority voting of the patch unit identification results is adapted. Through experiments using counterfeit bills forged by 4 printers, the proposed method shows an accuracy of 95.85% in patch units and 100% in images units. Results support that the proposed method can identify counterfeit bills only with smartphone images without the use of UV or optical equipments.
Keywords:
counterfeit bills identification, deep learning, convolutional neural network, smartphone, majority votingⅠ. 서 론
정보 통신 기술의 발달로 고품질의 영상을 획득하고, 처리하고, 출력하는 하드웨어 및 소프트웨어의 성능이 향상되었다. 이로 인해 누구나 손쉽게 위변조 지폐를 쉽게 제조하여 시중에 유통되는 문제가 발생하고 있다.
그림 1은 2015년에서 2019년까지 위조지폐 발견 추이로 위조지폐 감소 추이를 보이고 있으나, 완전히 사라지지는 않고 있다. 또한, 2019년 기준 위조지폐 발견은 금융기관이 61.8%로 가장 높으며, 개인은 5.2%로 매우 낮은 수치를 보이고 있다[1].
이러한 위변조 지폐를 식별하기 위한 정부 및 한국은행에서 교육 및 홍보를 하고 있으나 원본 지폐와 유사한 위조지폐도 나타나고 있다. 위조지폐를 판별하기 위해서는 고가의 전용 장비가 필요하지만, 개인이 위조지폐를 검출하기 위해서는 고가의 전용 장비를 활용하는 것은 불가능하다.
따라서 본 논문에서는 누구나 가지고 있는 스마트폰을 활용하여 위조지폐 여부를 판별할 수 있는 방법에 대하여 제안한다. 제안한 방법에서는 컨볼루션 뉴럴 네트워크를 기반을 두는 딥러닝 모델을 설계하여 위조지폐 판별을 수행하며, 촬영한 영상의 크기 때문에 패치 단위로 분할하여 판별을 수행한 후, 다수결로 최종 판별을 한다.
실험에서는 실제 4대의 프린터를 사용하여 위조한 지폐들을 생성하였다. 원본지폐와 위조지폐를 촬영하여 획득한 영상을 이용하여 학습과 판별을 수행하였고, 제안한 방법의 경우 위조지폐 판별에서 패치 단위로는 95.85%의 정확도를 달성하였고, 영상 단위로는 100% 판별 정확도를 달성하였다.
본 논문은 다음과 같이 구성되어 있다. 2절에서 기존의 위조지폐 판별 연구 및 딥러닝 기술에 대해서 요약하고, 3절에서는 제안하는 스마트폰 촬영을 통한 딥러닝 기반 위조지폐 판별 방법을 설명한다. 실험 결과 및 분석을 4절에서 제시하고 5절에서 결론을 짓는다.
Ⅱ. 관련 연구
본 절에서는 위조지폐 판별과 관련된 국내외 연구 현황에 대하여 요약하고, 본 연구에서 사용하는 딥러닝 기술에 대하여 설명한다.
2.1 기존 위조지폐 판별 연구 현황
현재 위변조 지폐를 식별하기 위한 많은 연구가 발표되었고, 이들 연구는 실제 위변조 지폐를 탐지함에 있어서 높은 정확성을 보인다.
Seo et. al은 위폐 판별을 위한 홀로그램 광학 검사 시스템 개발에서 지폐 홀로그램의 표준 패턴을 생성하여 실제 영상과의 패턴매칭을 통해 위폐를 감별하였다[2]. Chae et. al은 UV 정보를 이용한 지폐 진위판별에 대한 연구에서 지폐를 UV광에 노출 시켜 얻은 형광영역을 이용한 유사도 검사로 위폐를 감별하였다[3]. Kang and Hong은 광섬유 센서를 이용한 50,000원 지폐 위조 판별에 관한 연구에서 광섬유 변위 센서의 응답 특성을 이용해 표면 상태를 분석하여 위폐를 감별하였다[4].
위와 같은 광학 정보를 이용한 방법들은 높은 정확성을 자랑하지만, 보급률이 높지 않은 별도의 장비를 이용해야 하는 점에서 접근성이 떨어진다.
컴퓨터 기반 영상 처리의 발달로 접근성이 낮은 장비가 아니라 지폐의 사진을 이용해 위조지폐를 판별하려는 많은 연구가 진행되었다.
Akbar et. al은 Original and Counterfeit Money Detection Based on Edge Detection에서 카메라 혹은 스캐너를 사용해 얻은 영상을 Canny 경계선 탐지 알고리즘을 이용해 위조지폐의 여부를 판별하는 MATLAB 기반 응용 프로그램을 제작했다[5]. Lee and Lee는 Counterfeit Bill Detection Algorithm using Deep Learning에서 고품질 스캐너를 통해 얻은 영상을 CNN 모델을 이용해 학습하여 위조지폐를 검출하였다[6].
해당 연구들의 경우 위조지폐에 대한 감별에 특수한 장비가 필요하지 않지만, 여전히 고품질의 영상을 얻기 위해 카메라나 스캐너 등 범용적으로 활용이 용이하지 않은 장비를 사용해야 하는 한계가 있다. 또는 지폐가 오염되는 경우 등을 크게 고려하지 않은 문제도 있다.
2.2 딥러닝 기술
딥러닝이란 기존 인공 신경망에 비해 더욱 많은 층으로 구성되어있는 신경망을 이용해 데이터를 학습하는 기술이다. 신경망은 뉴런이라 불리는 단순한 동작을 하고, 상호 연결된 많은 프로세서들로 구성되어있다.
딥러닝 모델의 대표적인 종류로는 일반적으로 사용되는 DNN(Deep Neural Network), 영상 처리에 주로 사용되는 CNN(Convolutional Neural Network), 시퀀스 데이터 처리에 주로 사용되는 RNN(Recurrent Neural Network) 등이 있다[7][8][9].
본 논문에서는 지폐의 영상을 학습하고 처리하기 위해 CNN 모델을 사용하였다. CNN 모델은 등장 이후 영상 처리와 음성 처리 등의 분야에서 굉장한 성과를 보여준 신경망이다. 같은 CNN 구조 안에서 여러 변종이 있지만, 구성 요소는 대부분 비슷하다. 대표적으로 LeNet-5의 경우에는 convolutional layers, pooling layers, fully-connected layers의 3가지 종류의 계층들을 가진다.
Convolutional layer에서는 여러 종류의 convolutional kernel을 이용하여 데이터의 다양한 특징을 계산한다. 최종적인 특징 맵은 다양한 종류의 많은 kernel을 사용하여 얻는다.
Pooling layer에서는 convolutional Layer를 통해 얻은 특징 맵의 특정 범위에서 하나의 값을 선택하여 남기는 방식으로 해상도를 줄인다. 보통 두개의 convolutional layers 사이에 위치하게 된다. 이러한 작업을 통해 해당 영역의 위치가 다소 변경되더라도 문제없이 인식할 수 있는 전이 불변성을 얻게 된다.
Fully-connected layer에서는 이전 계층에서 전처리가 된 값들을 이용해 학습과 추론을 수행하게 된다. 이 계층에서는 이전 계층의 모든 뉴런을 자신의 모든 뉴런에 연결하여 전역적인 의미 정보를 생성한다[7][10].
Ⅲ. 제안하는 위조지폐 판별 방법
본 절에서는 딥러닝을 이용하는 위조지폐 판별 방법에 대하여 설명한다. 그림 2는 제안하는 위조지폐 판별 방법의 전체적인 구조도를 나타낸다. 제안하는 방법은 딥러닝 모델을 학습하는 과정과 학습된 모델을 사용하여 평가하는 과정으로 나뉜다.
학습 과정에서는 스마트폰으로 촬영한 원본지폐와 위조지폐 영상을 딥러닝 모델의 학습데이터로 사용한다. 딥러닝을 위한 GPU 하드웨어에 있어서 제한적인 메모리 용량으로 인해 고해상도의 영상을 직접 학습데이터로 사용하기에는 어려움이 있으므로 패치 단위로 분할하여 학습에 활용한다. 이렇게 분할된 패치 영상들은 3.2절에 설명된 것과 같이 설계한 CNN 모델의 입력으로 활용되고 CNN 모델이 학습된다.
평가 과정에서도 마찬가지로 스마트폰으로 촬영한 미지(Unknown)의 영상을 사용하여 위조지폐 판별을 수행한다. 촬영한 영상의 해상도가 크기 때문에 패치 단위로 분할을 수행하고 CNN 모델에 입력하여 판별을 수행한다. 판별의 과정에서 1장의 지폐에서 여러 개의 패치가 나오게 되므로 최대 빈도수 기반 선정(Majority voting) 기법으로 위조지폐와 원본지폐 판별을 최종적으로 수행한다.
3.1 영상 분할
앞서 설명한 것과 같이 학습과 판별을 위하여 스마트폰 카메라로 촬영한 영상의 경우 고해상도 영상으로서 제한적인 메모리를 가지고 있는 딥러닝 하드웨어에 그대로 입력하여 사용할 수가 없다. 따라서 이와 같은 문제를 해결하기 위하여 모든 영상 데이터를 3584×1792 픽셀로 리사이즈를 수행한 후에 패치 단위로 분할하였다.
패치 크기는 256×256 픽셀로 진행하였으며, 데이터 증강(Data augmentation)을 위해서 가로 및 세로로 128 픽셀만큼 겹쳐서 분할하였다. 데이터 증강은 부족한 데이터 환경에서 필수적으로 요구된다[11].
3.2 딥러닝 모델 구조
그림 3에는 제안하는 위조지폐 판별 방법에서 설계한 CNN 모델 내부적인 구조를 구체적으로 도시하였다.
컨볼루션 계층은 7계층(Conv2D_1~Conv2D_7)으로 구성되었으며, 3×3 크기 커널로 컨볼루션을 수행하고, Stride는 1~2로 지폐 특징을 추출한다. 그 후에 Max pooling을 통하여 특징을 1/4로 줄인다. 컨볼루션 계층 후에는 Flatten 처리 과정으로 2차원 영상을 1차원으로 변환하고, 이를 전연결 계층(Dense_1~Dense_2)에 입력한다. 전연결 계층은 과적합 문제를 해소하기 위해 Drop-out 처리를 수행하며 그 비율은 0.5이다. 마지막은 Sigmoid 처리(Dense_3) 계층으로 위조지폐와 원본 지폐에 대한 확률을 나타낸다.
Ⅳ. 실험 결과 및 분석
제안하는 스마트폰 촬영 영상을 이용한 딥러닝 기반 위조지폐 판별 방법은 Intel i7-7700, nVidia GTX 1080 Ti, 16GB RAM의 하드웨어 및 Windows 10 Pro 운영체제 환경에서 실험과 분석을 수행하였다. 또한, 합성곱 신경망의 구현을 위해서 Google이 제공하는 딥러닝 라이브러리인 TensorFlow와 Keras를 사용하였다.
4.1 데이터 수집 및 학습
위조지폐는 프린터(복합기)로 컬러 복사한 결과물을 스마트폰으로 촬영하여 수집하였다. 위조지폐 생성에 사용된 프린터는 삼성전자 CLX 3175, HP Photosmart C7280, HP Deskjet 2131, Epson XP-2106 모델이다.
원본지폐 또한 스마트폰으로 촬영하였다. 위조지폐와 원본지폐의 촬영에 사용된 기종은 iPhone6s, Galaxy S10, iPhone8이다. 수집한 원본지폐는 천원권, 만원권 앞뒷면, 각각 100장이며 위조지폐는 천원권, 만원권 앞뒷면, 각각 100장이다.
특히, 변색, 오염 및 구김이 없는 신권 지폐가 아니라 실제로 시중에 유통되고 있는 지폐를 그대로 사용하였다. 따라서 일상생활에서 지폐의 유통 과정에서 지폐가 훼손되거나, 변색되는 부분이 나타났으며 이를 포함하여 실험이 이루어졌다.
그림 4는 수집한 데이터의 일부분이다. 만원권 지폐에 비해 천원권 지폐에서 구김 및 변색의 정도가 두드러지게 보인다. 카메라 및 프린터 기종에 따른 색감 차이가 있을 수 있으나, 영상 만으로는 원본과 위조지폐가 눈에 띄는 차이를 거의 보이지는 않았다.
4.2 패치 단위 판별 정확도 분석
제안하는 위조지폐 판별 방법의 CNN 모델에 대한 판별 정확도를 분석하기 위하여 패치 단위 판별 실험 및 분석을 수행하였다. 1장의 입력 영상에 대해서 3584×1792 픽셀로 리사이즈하여 256×256 픽셀의 패치로 분할한다. 이때 128 픽셀 간격으로 오버랩하므로 총 312개의 패치가 생성된다. 학습에 사용된 원본지폐와 위조지폐의 패치는 각각 99,840개, 99,840개이다.
평가에 사용된 패치는 원본지폐와 위조지폐 각각 24,960개, 24,960개이며 천원권과 만원권 각각에 대해서 정확도를 측정하였다. 표 1은 패치 단위 판별 정확도 중에서 18 반복 횟수 epoch에서의 결과이다. 위조지폐에서 천원권은 93.42%, 만원권은 96.42%의 정확도를 보이며, 원본지폐에서 천원권은 97.96%, 만원권은 95.60%의 정확도를 보인다. 그림 5와 표 1은 학습의 반복 횟수 epoch에 따른 판별 정확도의 추세를 나타낸다.
그림 6은 잘못 판별된 패치들 중에 일부를 도시하였다. 원본지폐에서는 촬영하면서 홀로그램 문양의 특징이 사라지면서 프린터로 만든 위조지폐와 유사하다고 판단하는 것으로 판단된다.
위조지폐는 대부분 지폐의 외각 부분 그리고 형태나 색상이 두드러지지 않은 부분에 대해서 원본지폐와 위조지폐 간의 차이를 구분하기 어려워 잘못 판단하는 것으로 보인다.
4.3 Image 단위 판별 정확도 분석
제안하는 위조지폐 판별 방법에서 패치들에 대한 판별 클래스를 이용하여 최대 빈도수 기반 선정(Majority voting) 기법을 통하여 영상 단위의 판별 시험을 수행하였다. 표 2는 원본지폐와 위조지폐 각각 80장에 대한 영상 단위 판별 정확도를 분석한 것이다. 패치 단위의 정확도가 높기 때문에 영상 단위에 대하여 모두 100% 정확도로 올바르게 원본지폐와 위조지폐를 판별하는 것을 확인할 수 있다.
그림 7은 원본지폐와 위조지폐에서 각각의 패치 위치마다 판별 정확도 분포를 나타낸다. 왼쪽은 원본지폐이며 오른쪽은 위조지폐이다. 밝기값이 밝을수록 해당 위치에서 패치들의 판별 정확도가 높다는 의미이다. 지폐 앞면의 왼쪽 부분은 흰색 부분들로서 구별되는 특징이 없는 영역으로 이 부분에서의 패치 판별 정확도가 높지 않다. 또한, 복사된 위조지폐의 특성상 원본지폐에서의 패치들이 대체적으로 높은 판별 정확도를 보인다.
4.4 기존 판별 연구들과 정성적 비교
고가의 전용 장비를 사용하지 않고도 위조지폐 판별을 하기 위한 연구들이 기존에 수행되었으나, 대부분 고품질 스캐너를 사용하여 스캔한 영상들을 대상으로 하거나 지폐의 훼손 등을 고려하지 않은 경우가 많았다[5][6][12].
스캔한 영상의 경우 고해상도로서 직접적인 처리가 어려워서 패치 단위로 분할하여 처리하였으며, 기존 패치 단위로 특징을 추출하고 SVM 분류기를 사용한 경우 Wiener 필터 특징을 활용한 경우 89.5%, DWT 필터 특징을 활용한 경우 87.4%, 비지역적 특징을 활용한 경우 94.2% 정확도를 보였다[12]. 특히, 동일 데이터에 CNN 기반의 딥러닝 모델을 도입하는 경우 반복적 학습의 과정에서 100% 정확도를 보였다[6].
하지만, 제안하는 방법에서는 스마트폰 카메라를 사용하였으며 지폐에 훼손이 포함된 결과를 사용하였음에도 불구하고 패치 단위로 95.9% 정확도를 보였으며 이미지 단위로 100%를 정확도를 보여서 기존 방법들과 비교하여 좀 더 효율적이고 현실적인 환경을 고려하였으며 높은 정확도를 달성하였다.
Ⅴ. 결론 및 향후 과제
2019년 위조지폐 판별 추이에서도 볼 수 있듯이 위조지폐는 꾸준히 발생하고 있으며, 개인의 위조지폐 발견율은 다른 금융기관, 은행에 비해 현저히 낮은 수치이다. 이는 개인이 위조지폐를 판별하기 위한 장비가 고가이며, 사용성 및 접근성이 부족하기 때문이다.
본 논문에서는 이러한 문제점을 해결하기 위해 스마트폰 촬영 영상으로 위조지폐를 판별할 수 있는 방법을 제안하였다. 제안하는 방법에서는 CNN을 이용하여 위조지폐를 판별하였으며, 실험을 통하여 패치 단위의 판별 정확도 95.85%를 달성하였고, 패치의 정확도 결과를 활용하여 최대 빈도수 기반으로 영상에 대한 판별 정확도는 100%를 달성하였다. 이를 통하여 스마트폰 촬영만으로도 충분히 위조지폐를 판별할 수 있음을 보였다.
하지만 패치 단위에서 판별에 실패한 지폐들 중에는 위조 방지 홀로그램 문양을 제대로 식별하지 못한 문제점도 나타났다. 차후 연구에서는 지폐의 위조 방지 기술의 특징을 학습하여 패치 단위의 정확도를 향상시킬 필요가 있다.
또한, 현재는 스마트폰 하드웨어의 성능적인 제약으로 인해 앱 형태로 적용이 어려운 점이 있다. 이는 차후 스마트폰 하드웨어의 성능이 향상되면 좀 더 실용적으로 활용 가능할 것으로 보인다.
Acknowledgments
This work was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (2017R1D1A1B03030432, 2020R1F1A1057742).
References
- Bank of Korea, "Status on the discovery of counterfeit bills in 2019", 2020.1.29., https://www.bok.or.kr/portal/bbs/P0000559/view.do?nttId=10056279&menuNo=200690&pageIndex=, [accessed: 03. 30, 2021]
- H. Y. Seo, H. J. Kwon, G. Y. Lee, and T. H. Park, "Development of an optical hologram inspection system for counterfeit money discrimination", Proceedings of the KIEE Conference, Jecheon, pp. 163-164, Oct. 2007.
- S. H. Chae, Y. T. Seo, and S. B. Pan, "The Study for Authenticity Distinguish of Banknote using UV Information", Proceedings of KIIT Conference, Mokpo, Korea, pp. 753-756, Jun. 2009.
- D. H Kang and J. H Hong, "A Study about the Discrimination of Counterfeit ₩50,000 bills Using Optical Fiber Sensor", Journal of The Korean Society of Manufacturing Technology Engineers, Vol. 21, No. 1, pp. 15-20, Feb. 2012. [https://doi.org/10.7735/ksmte.2012.21.1.015]
- M. Akbar, Awaluddin, A. Sedayu, A. A. Putra, and S. Widyatro, "Original and Counterfeit Money Detection Based on Edge Detection", Proceedings of the 2013 International Conference on Instrumentation, Communication, Information Technology and Biomedical Engineering, Bandung, Indonesia, Nov. 2013.
- S. H. Lee and H. Y. Lee, "Counterfeit Bill Detection Algorithm using Deep Learning", International Journal of Applied Engineering Research, Vol. 13, No. 1, pp. 304-310, Jul. 2018.
- J. Schmidhuber, "Deep learning in neural networks: An overview", Neural networks, Vol. 61, pp. 85-117, Jan. 2015. [https://doi.org/10.1016/j.neunet.2014.09.003]
- S.-G. Choi W. Xu, "A Study on Person Re-Identification System using Enhanced RNN", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 17, No. 2, pp. 15-23, Aug. 2017. [https://doi.org/10.7236/JIIBC.2017.17.2.15]
- D. Lee, Y. G. Sun, S. H. Kim, I. Sim, K. S. Lee, M. N. Song, and J. Y. Kim, "CNN-based Image Rotation Correction Algorithm to Improve Image Recognition Rate", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 20, No. 1, pp. 225-229, Feb. 2020.
- J. Gu, Z. Wang, J. Kuen, L. Ma, A. Shahroudy, B. Shual, T. Liu, X. Wang, G. Wang, J. Cai, and T. Chen, "Recent advances in convolutional neural networks", Pattern Recognation, Vol. 77, pp. 354-377, May 2018. [https://doi.org/10.1016/j.patcog.2017.10.013]
- H. C. Cho and J. S. Moon, "A layerd-wise data augmenting algorithm for small sampling data", Journal of Internet Computing and Services, Vol. 20, No. 6, pp. 65-72, Dec. 2019.
- H. Y. Lee and S. G. Ji, "Counterfeit Money Detection Algorithm using Non-Local Mean Value and Support Vector Machine Classifier", Journal of KIPS Transactions on Software and Data Engineering, Vol. 2, No. 1, pp. 55-64, Jan. 2013. [https://doi.org/10.3745/KTSDE.2013.2.1.055]
2016년 2월 ~ 현재 : 금오공과 대학교 컴퓨터 소프트웨어공학과 학사 과정
관심분야 : 영상 처리, 딥 러닝
2019년 2월 ~ 현재 : 금오공과 대학교 컴퓨터 소프트웨어공학과 학사 과정
관심분야 : 영상 처리, 딥 러닝
2016년 2월 ~ 현재 : 금오공과 대학교 컴퓨터 소프트웨어공학과 학사 과정
관심분야 : 영상 처리, 딥 러닝
1997년 : 성균관대학교 정보공학과 (학사)
1999년 : 한국과학기술원 전산학과 (공학석사)
2006년 : 한국과학기술원 전자전산학과 (공학박사)
2008년 ~ 현재 : 금오공과대학교 컴퓨터소프트웨어공학과 교수
관심분야 : Digital Forensics, Image Processing, IoT