I. 서론
최근 국내에서 지문을 이용한 자동 출퇴근 기록 시스템에 위조지문을 이용한 범법 행위가 있었다 [1]. 위법자들은 본인의 지문을 실리콘, 젤라틴 등으로 복제한 후 다른 지인에게 위조 지문을 이용한 출퇴근 기록을 조작하도록 지시하였다. 이러한 근무 시간의 조작을 통해 이들은 더 많은 수당을 취할 수 있었다. 이는 위조지문을 이용한 대표적인 위법 사례이며 많은 연구기관에서 이를 해결하고자 노력하고 있다. 또한 모바일 결제 시스템의 본인인증 방법으로 비교적 간편한 지문을 사용하는 사례가 늘어나면서 위조지문을 검출하기 위한 연구가 다시금 확산되고 있는 추세이다. 앞서 설명한 바와 같이 지문은 실리콘, 젤라틴, 찰흙 등을 이용하여 쉽게 위조될 수 있는 특징이 있다. 따라서 안전과 보안이 중요한 경우, 지문인식 시스템은 위조여부를 판단할 수 있는 자체적 능력을 필요로 하게 된다[2].
본 논문에서는 위조지문의 접근을 막고자 높은 영상분류 성능을 보이는 CNN (Convolutional Neural Networks) 기술을 지문영상에 패치단위로 적용하여 위조 여부를 판단하는 방법을 제시한다.
제안하는 방법은 입력 지문영상 전체를 대상으로 위조지문과 생체지문의 두 가지로 분류하는 기존의 방법과 달리, 입력영상을 그리드 형태의 패치로 나누고, 각 패치를 위조, 생체, 배경의 세 가지 영역으로 분류하여 지문 세그멘테이션(segmentation)과정을 CNN과정에 포함 시켰다. 각 패치들의 인식결과 중배경으로 인식된 패치들은 무시하고 나머지 위조와 생체지문 두 가지 결과 중 더 많은 패치가 분류된 쪽으로 입력지문의 위조여부를 판단하게 된다. 본 논문은 다음과 같은 의의를 갖는다.
• 패치영역을 위조, 생체, 배경의 세 가지로 분류하여 위조지문 검출의 전처리에서 많이 사용되는 세그멘테이션 과정을 CNN에 통합하였다.
• 작은 크기의 지문 패치들로부터 추출된 CNN 특징만으로 위조지문을 효과적으로 분류할 수 있음을 증명하였다.
본 논문은 다음과 같은 구조로 되어있다. 2장에서는 위조지문 검출과 관련된 연구들을 소개하고, 3장에서는 제안하는 방법을 설명한다. 4장에서는 실험 방법 및 그 결과를 보이고 5장에서 결론과 향후 연구 방향에 대해서 논한다.
II. 관련 연구
위조지문을 판단할 수 있는 방법은 일반적으로 표 1과 같이 하드웨어 기반 방법과 소프트웨어 기반 방법의 두 가지로 나눠질 수 있다
Table 1. Comparison of hardware and software based method
하드웨어 기반 방법은 인체의 물리적 특징을 추출하기 위한 하드웨어를 추가적으로 이용하는 방법이다. 이는 소프트웨어 방법에 비해 상대적으로 정확한 검출 성능을 보이지만 센서를 추가하기 때문에 비용이 증가하는 단점이 있다. 대표적인 하드웨어 기반 방법은 손가락 피의 압력을 이용하는 방법[3], 피부의 변형을 이용하는 방법[4], 피부의 채취[5]를 이용하는 방법이 존재한다.
소프트웨어 기반 방법은 대부분의 경우 센서를 통해 입력되는 영상 자체를 활용하는 방법을 취한다. 소프트웨어 기반 방법에서 주로 사용하는 대표적인지문의 특징은 융선(ridge)의 크기 및 밀도, 연속성과 같은 정보이다[6].
지문의 특징을 이용하는 방법 외에도 일반적 영상에서의 특징추출 방법을 적용하기도 한다. Gragnaniello[7]은 지문 영상의 공간영역 밝기 대조값과 주파수 영역에서의 위상값에 대한 히스토그램을 이용하였다. 또한 영상의 텍스쳐 정보를 추출할 때 적용하는 Weber Local Descriptor를 지문영상에 적용하여 위조지문을 판별하는 방법도 고안하였다[8]. Jia[9]는 LBP (Local Binary Patterns)를 지문영상에 적용하였고, LBP특징의 분류성능을 높이기 위한 변형들도 성공적으로 지문의 위조여부를 판별할 수 있음을 보였다[10][11]. 앞서 설명한 방법들은 알고리즘 고안자에 의해 설계된 영상특징을 활용하는데 이와 달리 학습을 통해 특징을 추출하는 방법들도 존재한다[12][21]. Nogueira[13]는 CNN과 LBP 특징을 활용하여 지문의 위조 여부를 성공적으로 분류할 수 있음을 보였다. 또한 Wang[14]은 세그멘테이션 된 지문영상을 작은 패치로 나눈 후 이 영역에 CNN을 적용하였다. 최종적으로 위조된 지문패치와 생체 지문패치의 수를 세어 많은 쪽을 선택하는 방법을 취한다. 실험은Livdet 2011과 LivDet2013에서 진행했는데 이중 몇몇 센서로 부터 획득된 지문영상의 경우 0% 오류를 나타내는 놀라운 성능을 나타내었다. CNN을 통한 위조지문 검출이 매우 효과적임을 증명한 연구였다고 볼 수 있다.
제안하는 방법은 Wang[14]의 방법처럼 패치들 을 위조와 생체 영역만으로 나누는 대신, 위조, 생 체, 배경의 세 종류로 구분하였다. 이를 통해 전처리로 사용되는 세그멘테이션 과정이 없이도 지문을 분 류할 수 있었다. 또한 제안하는 방법은 Wang이 사 용한 6개의 레이어로 구성된 CNN 구조보다 더 깊은 12개의 레이어로 CNN을 구성하였으며 새로운 LivDet2015에 대한 실험 결과를 제시하였다.
III. 패치기반 CNN 위조지문 검출
3.1 제안하는 방법론
Wang[14]의 연구에서는 지문 영상에 세그멘테 이션을 수행 한 후 이 영역에서 32×32의 패치 영 역을 추출한 후 더 많은 패치가 위조로 판단된다면 전체 지문을 위조로 결정하는 투표(voting) 방식을 취한다. 제안하는 방법은 그림 1과 같이 세그멘테이션 과정을 CNN에 통합하였다. 대부분의 위조지문 연구의 분류기들은 생체지문과 위조지문의 2 클래스 (class)로 분류기를 구성하는 반면에 제안하는 방법은 생체지문, 위조지문, 배경의 3가지로 구성한다.
Fig. 1. Test process of patch based fake fingerprint detection
이렇게 구성할 경우 세그멘테이션 과정이 CNN에 통합되어 더욱 간단한 형태로 위조지문 검출 시스템을 구성할 수 있게 되며 세그멘테이션에 사용되는 비용을 제거할 수 있게 된다. 패치들은 GPU에서 배치 (batch) 단위로 처리되기 때문에 빠른 검출이 가능하다. 분류된 패치들의 갯수를 종합하여 배경으로 분류된 패치들을 제외하고, 더 많은 패치가 분류된 쪽으로 생체와 위조여부가 결정된다.
3.2 학습데이터 구성
패치영역에 배경 클래스를 부여하는 작업을 사람이 전부 진행하지 않았다. 프로그램을 통해 지문세그멘테 이션을 수행 한 후 각 이미지들은 패치들로 나눠진다. 패치 영역 중 70% 이상의 픽셀들이 배경으로 분류되어 있다면 해당 패치는 자동으로 배경으로 분류된다. 이 방법은 다음과 같은 순서로 이뤄진다. 첫째, 지문 영상은 9×9크기의 블록들로 나눠진다. 전체 지 문영상에서 이 블록 영역들의 평균값과 분산값을 계산한 후 이 두 개의 값들을 기준으로 지문영상의 모든 픽셀들을 배경과 지문영역으로 분류하게 된다. 이 과정을 수식을 이용하여 표현하면 다음과 같다 :
\(A V G_{i, j}=\frac{1}{b \text { Size }^{2}} \sum_{k=0}^{b S i z e-1} \sum_{l=0}^{b S i z e-1} I(i+k, j+l)\) (1)
\(VAR_{i,j}= \\ \frac{1}{b S i z e^{2}} \sum_{k=0}^{b S i z e-1 b S i z e-1} \sum_{l=0}^{b}\left(I(i+k, j+l)-A V G_{i, j}\right)^{2}\) (2)
\(M=\frac{1}{\text { width } \times \text { height }} \sum ^{width} _{i=0} \sum ^{height} _{j=0} AVG_{i,j}\) (3)
\(V=\frac{1}{\text { width } \times \text { height }} \sum ^{width} _{i=0} \sum ^{height} _{j=0} VAR_{i,j}\) (4)
AVGi,j < M and VARi,j > V (5)
수식 (1)과 (2)에서 I 는 지문영상을 의미하고AVGi,j는 영상 좌표 I(i,j)에서의 bSize × bSize 크기 블록의 평균을 의미한다. 본 연구에서 사용된bSize는 앞서 언급한 바와 같이 9 이다. 마찬가지로수식 (2)는 영상좌표 I(i,j)에서의 bSize × bSize 블록의 분산을 의미한다. 영상전체에 해당하는 블록들의 평균과 분산은 수식 (3)과 (4)로 나타낼 수 있다. 이 기준값 M과 V를 이용하여 수식 (5)를 만족하는 블록에 해당하는 지문영상 픽셀 I(i,j)는 지문영역으로 분류되고 아닌 경우 배경으로 분류된다. 수식 (5)는 표 2와 같은 가정으로 만들어진 것이다. 지문으로 분류된 블록들은 일반적으로 낮은 평균값과 더 높은 분산을 갖는다는 가정이다. 이는 그림 1의 지문 그림을 봐도 직관적으로 해석될 수 있는 부분이다.
Table 2. Characteristics foreground and background
수식 (5)을 통해 분류된 세그멘테이션 된 지문영상은 32×32영역으로 나눠진다. 32×32 영역 중 지문으로 분류된 영역이 블록 내에서 70% 이상이라면이 패치는 지문으로 분류해 놓는다. 대부분의 패치들이 이 과정에서 배경영역과 지문영역으로 잘 분류된다. 배경임에도 지문으로 잘못 분류된 소수의 영역들은 사람이 개입하여 다시 올바른 클래스로 분류해 주었다. 위 과정을 통해 패치들은 생체지문, 위조지문,배경의 3 클래스를 갖게 되고 이 패치들은 CNN학습에 사용되게 된다.
3.3 CNN 구조
학습에 사용될 지문데이터는 실제 지문, 위조, 배경의 클래스를 갖는 32×32패치로 구성된다. 실험에 사용한 CNN구조는 VGG 구조와 유사하게 연속된 3×3 컨볼루션 레이어로 구성하였다. 그림 2는 실험에 사용된 네트워크 구조와 그에 따른 특징 맵의 크기변화를 표현하고 있다.
Fig. 2. Proposed CNN architecture and feature map size
그림 2의 왼쪽에 표현된 블록들은 다음과 같은 네트워크 표현을 의미한다. conv{f} - {n} 의 경우 f는 사용된 컨볼루션 필터의 크기를 의미하고 n은 필터의 수를 의미한다. 즉 conv3-64의 경우 3×3 필터를 64개 사용한 컨볼루션 레이어를 의미한다. 컨볼루션 레이어 다음에는 바로 활성함수가 적용된다. 제안하는 구조에서는 ReLU(Rectified Linear Units)를 활성함수로 사용하였다. 그림 2의 max pooling은 2×2 크기로 간격은 2이다. FC-512와FC-3은 각각 512개와 3개의 뉴런을 사용하는 완전연결 레이어(fully connected layer)를 의미한다. 마지막 층인 loss함수는 softmax를 사용하였다.
IV. 실험결과 및 분석
4.1 실험환경
실험에 사용된 데이터 셋은 LivDet2011, 2013,2015이다[18][19][20]. 데이터셋에 대한 설명은 표 3과 같다. 표 3의 가장 왼쪽 열의 Scanner 항목에서 Bio, Dig, Ita, Sag는 Biometrika,Digital, Italdata, Sagem 센서를 의미하고Swi, Gre, Cro, His는 각각 Swipe, Green Bit, Cross Match, Hi-Scan 센서를 의미한다. 또한 Resolution 항목은 지문 영상의 해상도를 의미하며 Materials의 경우 위조지문을 만들 때 사용한 재료의 수를 의미한다. 일반적으로 wood glue,playdoh, latex, ecoflex, gelatin 등이 위조지문을 만드는데 사용된다. 표 3의 가장 왼쪽 열의 Patches는 Training과 Validation 부분으로 나눠지는데 각각 Training에 사용된 패치의 수와 Validation에 사용된 패치의 수를 의미한다. Test set images는 테스트에 사용된 지문영상의 수를 나타낸다. LivDet2015의 경우 학습에 사용되는 위조지문 Material과 다른 Material로 생성된 위조지문이 존재한다. 이 데이터의 경우 일관성을 위해 본 실험에서는 테스트 데이터에서 제외하였다.
Table 3. LivDet dataset and information about the experiment
획득되는 패치의 수는 영상의 크기와 연관이 있다. 영상의 크기가 클수록 더 많은 패치를 획득할 수 있게 된다. 학습과정에서 배경 패치가 위조 및 생체 지문 패치에 비해 훨씬 많이 추출될 수 있기에 배경 패치의 수는 생체 지문의 수와 같게 조절해 주었다. 전체적으로 학습 데이터의 20% 정도가 검증 데이터(validation data set)로 활용되었다.
CNN 구현의 편의를 위해 Caffe을 이용하였고,학습과 테스트에 모두 GPU를 적용하였다. 실험에 사용된 GPU는 Nvidia Titan X이다. LivDet2013의 Cross Match 센서의 경우 데이터 획득 시문제가 있는 것으로 판단되었기에 본 실험에 사용하지 않았다[14].
4.2 실험결과
테스트 과정에서 각 지문영상은 3.1절의 그림 1에서 보여지는 것처럼 패치로 나눠진다. 그리고 CNN을 통하여 각 패치의 위조여부 및 배경여부가 결정되게 된다. 각 패치의 분류 결과 중 배경으로 분류된 패치의 수는 무시하고 위조와 생체 지문 패치의 수를 세어서 더 많이 결정된 쪽으로 지문영상의 위조여부를 결정하게 된다.
제안하는 방법의 유효성을 평가하기 위해SFPR(Spoof False Positive Rate)과 SFNR(Spoof False Negative Rate)의 평균값인 ACE(Average Classification Error)를 사용하였고 이는 수식 6과 같다.
\(ACE =\frac {SFPR+SFNR} 2\) (6)
식 (6)을 이용한 실험결과는 표 4와 같다. 표 4의 세 번째 열 중 Finger-Net은 Wang[14]의 방법이다. 이 방법도 제안하는 방법과 마찬가지로 패치를 이용하였는데 패치를 취득하기 전에 세그멘테이션을적용하고 생체와 위조지문만의 2가지 클래스를 구분하는 방법이다. 이 방법은 AlexNet과 같이 5개의컨볼루션 레이어와 2개의 완전 연결 레이어를 사용함에도 불구하고 제안하는 방법보다 더 좋은 성능을 나타내고 있다. 표 4의 State-of-the-art 항목은 Finger-Net을 제외하고 저자가 조사한 현재까지의 연구 중 가장 좋은 성능만을 표현한 것이다. State-of-the-art의 결과 중 Nogueira[17]의 방법은 지문영상에 VGGNet을 사용하였는데 이 또한 Finger-Net 보다 깊은 레이어와 필터 수를 가지고 있음에도 Finger-Net의 성능을 따라오지는 못했다. LivDet2015의 State of the art의 결과도 CNN이며 대회에서 가장 높은 수치를 나타낸 것이다. 본연구에서 제안하는 방법은 Finger-Net과 똑같은 크기의 패치에서 더 깊은 레이어를 사용했지만 더 나은 결과를 얻지는 못했다.
Table 4. Experimental results
제안하는 방법의 경우 단순히 위조여부를 판단할뿐만 아니라 패치영역이 배경에 속하는지도 구분할 수 있기 때문에 획득된 지문영상 품질에 문제가 있음을 판별할 수도 있었다. LivDet2011의 Sagem 센서의 경우 지문이 매우 흐리게 표현되는 경우가 많았으며 이 중 단 하나의 영상은 전체가 배경으로 분류되었는데 이는 그림 3과 같다. 그림 3의 (a) 지문은 일반적인 경우 획득된 영상이며 (b) 지문은 모든 패치가 배경으로 분류된 유일한 지문영상이다. 이와 비슷한 경우로 LivDet2013의 Swipe의 경우 2개의지문에서 안 좋은 품질의 지문이 분류되었는데 이를 그림 4에 표현하였다. Swipe센서의 경우 지문을 센서에 갖다 대는 방식이 아니라 얇은 라인 센서에 지문을 긁어서 획득하는 방식이다. 따라서 일반적인 경우 그림 4의 왼쪽 영상과 같이 길쭉한 형태로 지문이 획득되게 된다. 그림 4의 오른쪽 지문은 전체가 배경으로 분류되었을 때의 지문을 나타낸다. 세그멘테이션 과정이 포함되었기 때문에 하나의 CNN을 이용해서 이러한 오류를 통합적으로 해결할 수 있게 해주는 장점이 존재한다. 또한 일반적으로 CPU에서 수행되는 세그멘테이션 과정이 GPU에서 배치 크기에 맞춰 병렬로 처리되기 때문에 더 빠른 속도로 위조지문 검출이 가능하다.
Fig. 3. (a) : general case, (b) : bad case
Fig. 4. (a) : general case, (b) : bad case
V. 결론
본 논문에서는 위조지문의 접근을 막고자 높은 영상분류 성능을 보이는 CNN기술을 지문영상에 패치 단위로 적용하여 위조 여부를 판단하는 방법을 제시하였다. 제안하는 방법은 기존의 방법과 달리 지문의 패치를 위조지문과 생체지문의 두 가지로 분류하는 대신 위조지문, 생체지문, 배경부분의 세 가지로 분류하여 지문 세그멘테이션 과정을 CNN과정에 포함 켰다. 각 패치들의 인식결과 중 배경으로 인식된 패치들은 무시하고 나머지 위조와 생체지문 두 가지 결과 중 더 많은 패치가 분류된 쪽으로 지문의 위조여부를 판단하게 된다. 실험결과 제안하는 방법은 3.06% 매우 낮은 수치의 평균 인식 오류율을 보여 매우 높은 수준으로 위조지문을 검출할 수 있음을 증명하였다.
향후 모바일 기기에서는 매우 작은 크기의 지문이 입력으로 들어오기 때문에 이 패치 기반 방법을 적용하면 위조여부를 쉽게 판단할 수 있을 것이라 생각된다. 따라서 CNN구조를 모바일에 맞게 최적화할 수 있는 연구가 필요하다. 또한 패치를 사용하지 않고 전체 지문 영상에 CNN을 적용한 후 특정 위치에 Attention 기법을 적용하여 위조 지문의 검출율을 높이는 방법에 관한 연구가 필요하다고 생각한다.
* 이 논문은 2016년도 정부(미래창조과학부)의 재원으로 정 보통신기술진흥센터의 지원을 받아 수행된 연구임. (no. R0190-15-2007, 스마트 디바이스용 박막 타입 지문센서 모듈 및 프라이버시 보호 응용 SW 기술개발)
References
- M, Kiyoung, "Biometrics technology trend and prospective," TTA Jounal 98. pp. 38-47.
- A. Wiehe, T. Sondrol, Olsen, O. K. and F. Skarderud, "Attacking fingerprint sensors," Gjovik University College, 2004.
- P. Lapsley, J. Lee, D. Pare and N. Hoffman, "Anti-fraud biometric scanner that accurately detects blood flow," US Patent 5,737,439, 1998.
- A. Antonelli, R. Cappelli, D. Maio and D. Maltoni, "Fake Finger Detection by Skin Distortion Analysis," Information Forensics and Security, vol. 1, no. 3, pp. 360-373, 2006. https://doi.org/10.1109/TIFS.2006.879289
- D. Baldisserra, A. Franco, D. Maio and D. Maltoni, "Fake fingerprint detection by odor analysis," in Advances in Biometrics, Berlin Heidelberg, Springer, pp. 265-272, 2005.
- A. K. Jain, Y. Chen and M. Demirku, "Pores and ridges: high- resolution fingerprint matching using level 3 features," Pattern Analysis and Machine Intelligence, vol. 29, no. 1, pp. 15-27, 2007. https://doi.org/10.1109/TPAMI.2007.250596
- D. Gragnaniello, G. Poggi, C. Sansone and L. Verdoliva, "Local contrast phase descriptor for fingerprint liveness detection," Pattern Recognition, vol. 9, Jun, 2014.
- D. Gragnaniello, G. Poggi, C. Sansone and L. Verdoliva, "Fingerprint Liveness Detection based on Weber Local Image Descriptor," IEEE Workshop on Biometric Measurements and Systems for Security and Medical Applications, 2013.
- X. Jia, X. Yang, K. Cao, Y. Zang, N. Zhang, R. Dai and J. Tian, "Multi-scale Local Binary Pattern with Filters for Spoof Fingerprint Detection," Information Sciences, 2013.
- L. Ghiani, G. L. Marcialis and F. Roli, "Fingerprint liveness detection by Local Phase Quantization," Proc. IEEE Int. Conf. on Pattern Recognition, 2012.
- S. B. Nikam and S. Agarwal, "Local Binary Pattern and wavelet-based spoof fingerprint detection," International Journal if Biometrics, vol. 1, pp. 141-159, 2008. https://doi.org/10.1504/IJBM.2008.020141
- Y. LeCun, "Generalization and network design strategies," Connections in Perspective, 1989.
- R.F. Nogueira, R. de Alencar Lotufo, and R.C. Machado, "Evaluating software-based fingerprint liveness detection using convolutional net- works and local binary patterns," IEEE Workshop on Biometric Measurements and Systems for Security and Medical Applications, 2014.
- C. Wang, K. Li, Z. Wu and Q. Zhao, "A DCNN Based Fingerprint Liveness Detection Algorithm with Voting Strategy," CCBR, LNCS 9428, pp. 241-249. 2015
- G.L. Marcialis, A. Lewicke, B. Tan, "First International fingerprint liveness detection competition - LivDet 2009," 15thInt. Conf. Image Analysis and Processing, pp. 12-23, 2009.
- D. Gragnaniello, G. Poggi, C. Sansone, and L. Verdoliva, "An investigation of local descriptors for biometric spoofing detection," IEEE Trans. Inf. Forensics Security, vol. 10, no. 4, pp. 849-863, Apr. 2015. https://doi.org/10.1109/TIFS.2015.2404294
- R.F. Nogueira, R. de Alencar Lotufo, and R.C. Machado, "Fingerprint Liveness Detection Using Convolutional Neural Networks," IEEE Transactions on Information Forensics and Security, vol. 11, no. 6, pp. 1206-1213, 2016. https://doi.org/10.1109/TIFS.2016.2520880
- D. Yambay, L. Ghiani, P. Denti, G. L. Marcialis, F. Roli, and S. Schuckers, "LivDet 2011-Fingerprint liveness detection compe- tition 2011," Proc. 5th IAPR Int. Conf. Biometrics (ICB), pp. 208 -215, 2012.
- L. Ghiani et al., "LivDet 2013 fingerprint liveness detection competition 2013," Proc. Int. Conf. Biometrics (ICB), pp. 1-6, 2013.
- V. Mura, L. Ghiani, G. L. Marcialis, F. Roli, D. A. Yambay and S. A. Schuckers, "LivDet 2015 fingerprint liveness detection competition 2015," Biometrics Theory, Applications and Systems (BTAS), 2015 IEEE 7th International Conference on, Arlington, VA, pp. 1-6, 2015.
- K. Weonjin, L. Qiongxiu, P. Eunsoo, K. Jungmin, and K. Hakil, "Fingerprint liveness detection and visualization using convolutional neural networks feature," Journal of The Korea Institute of Information Security & Criptology, 26(5), pp. 1259-1267, Oct. 2016. https://doi.org/10.13089/JKIISC.2016.26.5.1259