지문인식 알고리즘 분석 컴퓨터 응용 과학부 이순영
Contents 개인인증 방법의 종류 생체인식이란 무엇인가 지문 인식이란 무엇인가 결론 지문 인식의 응용 지문 용어 설명 지문 인식 알고리즘 전처리 과정 평활화 이진화 세선화 결론
개인 인증 방법 생체 인식 : 망각, 분실, 도난, 복제의 위험성이 없는 이점으로 각광 받고 있다.
생체 인식 생체인식 - 사람의 신체적, 형태학적, 행동학적 특성을 개인식별에 이용하는 방법 생체인식 시스템 이란 다음과 같은 기능들이 자동화된 시스템 획득 : 생체 특성을 디지털 형태로 변환 특징추출 : 사람마다 고유하면서 변별력이 높은 특징점 추출 비교 : 등록된 특징과 입력된 특징을 신속 정확하게 비교 유사도 판정 : 비교된 두 특징들이 동일인의 특성인가를 판단 장점 외부요인에 의한 분실, 도난, 망각, 복제의 염려가 없다. 신체적 특징이 일치하는 사람이 없다. 사용자가 사용하기 편리하고 자연스러움 종류 - 지문, 얼굴, 홍체&망막, 손등의 정맥, 장문, 음성 등
지문 인식 지문인식 : 지문의 모양을 가지고 본인여부를 확인하는 방법 지문(Fingerprint) 땀샘이 융기 되어 일정한 흐름을 형성한 것 그 형태가 개개인마다 서로 다르고 태어날 때의 모습 그대로 평생동안 변하지 않음 장점 : 수용성(acceptability), 편의성(expediency) ,신뢰성(confidence) 등 생체 인식 기술 중에서 가장 많이 이용되는 방법
지문 인식 기술의 응용 출입통제, 근태관리 PC및 각종 응용프로그램 보안 은행 서비스(현금 인출기 및 은행 금고) 기타 지문인식 적용분야 중 가장 활발하게 진행되고 있는 분야 회사나 일반가정에 사용가능 PC및 각종 응용프로그램 보안 키보드, 마우스, 모니터 등에 지문인증장치를 추가하여 본인 확인 은행 서비스(현금 인출기 및 은행 금고) 통장 및 기타 물품에 대한 요구 대신 지문인식을 통해 은행서비스 이용 기타 휴대용 단말기의 보안, 금고장치
지문 용어 설명 융선(ridge) : 지문에서 선 모양으로 나타나는 것으로 산맥과 같이 솟아오른 부분. 골(valley) : 융선과 융선 사이에 계곡과 같이 파인 부분. 끝점(ending point) : 융선이 끊어지는 점. 분기점(bifurcation) : 융선이 갈라지는 점. 중심점(upper core) : 굴곡이 위쪽으로 가장 큰 곳. 아래중심점(lower core) : 굴곡이 아래쪽으로 가장 큰 곳. 단, 융선의 흐름이 중심점을 완전히 싸고 돌아야 한다. 삼각주(lift, right delta) : 지문의 융선 흐름이 세 방향에서 모이는 것.
지문 인식 알고리즘 사용자 등록시 : 손가락 지문을 이미지로 찍음 → 디지털 수치로 변환 → 세선화 → 특징을 추출 → 지문 데이터로 저장. 사용자 사용시 : 같은 과정으로 지문 데이터를 추출 → 저장된 데이터와 비교, 검색 →본인 여부 판단
전처리(Preprocessing) 이미지 전처리 입력된 영상은 여러 가지 이유에 의하여 많은 잡음을 가지게 된다. 이로부터 원하는 정보를 추출하기 위해서는 일반적으로 여러 과정의 전처리를 수행하여야 한다. 지문 인식의 경우도 이러한 잡음을 제거하고, 데이터의 양을 축소하여 필요한 정보를 찾아내기에 수월한 형태로 지문 영상을 처리할 필요가 있다. 평활화(smoothing) : 그래프를 smooth하게 만드는 과정으로 하드웨어로 부터 많이 발생하는 반점잡음(speckle noise)등의 영 향을 최소화 한다. 그러나 입력영상이 양호한 경우에 는 생략되기도 한다. 이진화(binarization): 256 gray-level로 되어있는 데이터를 0(검은색)혹은 1(흰색)로 만드는 과정으로, 융선은 검은색, 골은 흰 색으로 확연히 구분이 되게 된다. 세선화(thinning) : 이진화상으로부터 융선의 폭이 1픽셀인 선화상을 만 들어내는 과정이다.
평활화 (Smoothing) 잡음반점의 영향을 최소화 시키기 위해서 명암구분을 높이고 잡음을 제거하는 과정 (잡음 : 주위에 있는 픽셀의 명도 값과 비교했을 때, 특별히 작거나, 특별히 큰 값)
평활화 사용 알고리즘(1-1) 히스토그램(Histogram) : 영상 안에서 픽셀들에 대한 명암 값의 분포를 나타낸 것이다. 즉, 한 영상에서 밝은 점과 어두운 점이 분포하는데 그 분포의 범위와 값을 표현한 것이다. 히스토그램 평활화(histogram Equalization) : 각 명도별로 히스토그램을 구해서 히스토그램이 큰 값에 가중을 두는 방법. 결과는 히스토그램에 따라서 어두운 영상은 밝아지고 밝은 영상은 조금 어두워져 적당한 명도 값을 유지하게 된다. (어두운 영역에서 세밀한 부분을 가질 경우 효과적으로 수행된다. ) (k = 정규화된 값, n = 영상에서 픽셀의 총 개수, g = 명도의 최대 값, H(i) = 축척 히스토그램) (10*10) (256*256)
평활화 알고리즘(1-2) 밝은 부분이 조금 더 어두워 졌음을 확인 할 수 있다. (큰 값들이 작아졌음을 확인할 수 있다. ) 밝은 부분이 조금 더 어두워 졌음을 확인 할 수 있다. (큰 값들이 작아졌음을 확인할 수 있다. ) 이 data는 지문영상의 한 부분(10 * 10)을 뽑아낸 것이다. (0 = 검은색, 255 = 흰색) 명암 개수 누적 정규화 56 2830 6710 26.1086 ≒ 26 85 4727 11766 45.7810 ≒ 45 113 5075 17240 67.0807 ≒ 67 141 4099 21851 85.022 ≒ 85 170 3946 26156 101.773 ≒ 101 226 2036 31534 122.699 ≒ 122 255 33945 65536 255. ≒ 255 <변환 전> <변환 후>
평활화 알고리즘(2-1) 히스토그램을 이용한 평활화로 제거하지 못한 미세한 잡음을 제거한다. (히스토그램에서 255값이 줄지 않음) 메디언 필터 (Median Filter) : 어떤 명암의 주변 영역 안에 대한 명암 값의 중앙값을 구하고, 그것을 중앙에 위치하는 명암 값으로 정하는 처리이다. 메디언(중앙값, Median) : 3*3의 중심의 값을 구하기 위해 영역 내에서 9개의 명암 값을 조사하고, 그것을 작은 순으로 나열했을 때, 중앙에 위치하는 값을 말한다. 10을 잡음이라고 했을 때, 노란 사각형 : 2 2 3 3 4 4 4 5 10 => 4 (중앙값) 파란 사각형 : 2 3 3 4 4 4 4 5 10 => 4 (중앙값) 결과 : 잡음이 제거 됨을 알 수 있다. <입력화상의 화소 배열> <출력화상의 화소>
평활화 알고리즘(2-2) <변환 전> <변환 후> 큰 값은 작아지고, 작은 값은 커진 것을 확인할 수 있다. 미세하게 연결이 안되었던 부분도 연결이 됨을 확인 할 수 있다. 그럼으로써 눈에는 보이지 않는 아주 작은 잡음이 제거됨 255 67 85 101 122 255 255 255 255 255 67 26 67 67 67 85 121 122 255 255 865 26 26 67 67 67 67 85 85 101 101 122 67 101 122 122 255 255 255 255 255 101 26 67 67 101 114 122 122 255 255 114 26 67 67 67 85 101 114 122 255 85 101 114 122 122 122 255 255 255 255 67 101 114 122 122 122 255 255 255 <변환 전> <변환 후>
평활화 알고리즘(결과) <원영상> <히스토그램> <메디언 필터> 입력 받은 영상을 히스토그램 평활화를 거처 메디언 필터를 사용한 평활화를 한다. 원 영상보다 히스토그램 평활화를 했을 때, 잡음이 많이 사라진 것을 알 수 있다. 또, 눈으로는 확인이 안되지만, 메디언 필터를 이용한 평활화를 했을 때도 미세한 잡음이 제거되었다. <원영상> <히스토그램> <메디언 필터>
이진화 (Binarization) 목적 :특징 추출을 위해 세선화를 하기위한 전단계. 256 gray-level 로 되어있는 영상을 0(검은색) 혹은 1(흰색 = 255)로 바꾸는 과정이다.
*블록을 너무 작게 잡으면, 지문 영상이 가지는 정보를 왜곡할 수 있다.* 이진화 알고리즘(1-1) 블록 이진화 기법 : 영상을 일정한 크기의 블록으로 나누어서 그 블록마다 임계 값을 다르게 적용하여 특정부분의 적당한 임계 값(블록의 평균값)을 정해 줄 수 있다. Cf.)기본 이진화 기법 : 영상에 하나의 임계 값을 주어 이진화 시키는 방법. Local변화를 무시. 알고리즘 개선할 영상을 일정한 블록 크기로 나눈다. (이 프로그램에서는 9 × 9 블록으로 나눔) 나누어진 블록들 중 하나의 블록의 명도 값의 평균을 계산한다. 계산되어진 평균값을 그 블록의 임계 값으로 정한다. 그 블록만 이진화를 수행한다. 다음 블록을 1-4 까지의 과정을 반복한다. 전체적인 이진화된 결과 값을 출력한다. <블록 이진화 기법> 블록의 평균값 = 임계 값 *블록을 너무 작게 잡으면, 지문 영상이 가지는 정보를 왜곡할 수 있다.*
참고 블록을 3*3으로 잡았을 때, 이진화 시킨 영상이 원래의 영상의 정보를 보존하지 못하고 왜곡되어졌음을 확인할 수 있다.
이진화 기법비교 기본 이진화 영상과 블록 이진화 영상의 비교 <예제1> <예제2> <원래 영상> <기본 이진화 영상> <블록 이진화 영상>
세선화(Thinning) 지문의 선의 굵기를 1픽셀(pixcel)로 줄인다. 검은 부분이 융선, 흰 부분이 골이다.
세선화 알고리즘(1-1) 세선화의 처리 조건 1 융선의 폭은 1이어야 한다. 2 융선의 위치는 선도형의 중심에 있어야 한다. 3 융선은 원래의 도형에 있어서의 연결성을 유지해야 한다. 4 세선화 과정에서 융선의 길이는 계속해서 줄어들어서는 안된다. 5 패턴 윤곽선이 작은 요철로 인한 잡가지선의 모양이 골격선에 추가되어서는 안된다. Zhang Suen 세선화 : 두꺼운 선을 한 픽셀의 선으로 표현. 이때, 선의 가운데 성분을 추출 Cf.) 윤곽선 추출 : 외각의 선 성분을 추출 1단계 : 경계 점들을 삭제하여 영역의 골격을 만든다. - 경계 점들의 삭제 표시를 위해 1~4를 적용시키고, 표시된 점들을 삭제(값을 255로 만듬) 2단계 : 두 개 영역을 연결하는 픽셀을 지우면 안됨. 영상의 본질적은 구조를 보존한다. -남겨진 경계 점들의 삭제 표시를 위해 1~2, 5~6을 적용시키고, 표시된 점들을 삭제. (단, 아래의 조건 중에서 하나라도 만족하지 못하는 경우가 있을 때는 삭제 되지 않는다.) 1 2 3 4 1 2 5 6 P9 p2 P3 P8 p1 p4 P7 p6 p5
세선화 알고리즘(1-2) 두께가 1 픽셀로 줄어든 것을 확인할 수 있다.
결과 <원영상> <평활화> <세선화>
결론 및 향후 연구 과제 지문의 전처리 과정에 적용한 알고리즘 향후 과제 소감 평활화 – 히스토그램과 메디언 필터를 이용해서 지문의 잡음을 제거. 이진화 – 블럭 이진화 방법을 이용해 지문의 Local변화까지 포함한 이진화 달성. 세선화 – Zhang Suen 알고리즘을 이용해 세선화 향후 과제 지문 융선의 방향성을 추출. 전처리 된 영상에서 분기점, 끝점, 삼각주 등과 같은 지문의 특징점 추출. 어려운 점 : 알고리즘의 이해와 Coding과정. 소감 영상 처리에 관한 여러 가지 방법에 관한 지식 습득하는 좋은 기회. 1차원 데이터 → 2차원 영상데이터로 프로그래밍 : 흥미 유발. 지문의 데이터가 너무 커서 부분 부분을 제어가 까다로움. Project 전 : 단발성 숙제로 인하여 각 내용에 상관관계를 인식하지 못하고, 지식습득에 그침. Project 후 : 서로 연관된 문제 해결에 자신감이 생김.
참고 자료 http://www.huno.com http://www.nitgen.com http://www.bracom.co.kr http://www.ifinger.co.kr http://www.secuit.com 한국정보보호센터,연구원 황성원, “지문 인식 시장 동향 분석”,2001,3 안도성 김학일, “블록 FFT를 이용한 실시간 지문 인식 알고리즘”,1993 김현, “RSTI 불변 지문 특징량 추출 및 인식과 응용” 인하대학교 석사 학위 논문, 1998 장동혁,“Visual C++을 이용한 디지털 영상 처리의 구현”