본 논문에서는 키넥트(Kinect)를 통해 얻은 깊이 영상에서 찾아낸 손가락의 끝점으로 임의의 3차원 공간인 공중에 그린 서명을 인식하는 알고리즘을 제안한다. 3차원 공간상에서 서명 궤적의 시프팅(Shifting), 스케일링(Scaling) 변화에 대응하기 위해 X, Y, Z좌표에 관한 각각 10개의 통계적 특징을 사용하였다. 인공신경망(Artificial Neural Network)은 기계학습 중 하나이며, 패턴인식 분야의 복잡한 분류 문제를 해결할 수 있는 도구로 사용되고 있다. 제안한 알고리즘을 실제 온라인 서명인식 시스템을 구현하여 적용하였고, 앞서 추출한 통계적 특징을 인공신경망의 입력 값으로 사용하여 학습 과정을 거친 후 4가지 서명을 분류하는 것을 확인하였다.
In this paper, we propose an on-line signature recognition algorithm using fingertip point in the air from the depth image acquired by Kinect. We use ten statistical features for each X, Y, Z axis to react to changes in
최근 스마트기기 사용 증가에 따른 스마트 환경의 확장과 함께 다양한 장치의 보안 솔루션으로 활용할 수 있는 생체인식(Biometrics) 시스템에 관한 연구가 진행되고 있다. 생체인식은 사전에 학습한 특징과 개인이 가지고 있는 특정한 생리적 또는 행동상의 특징을 비교하여 유사도를 비교분석함으로써 사용자를 인식하는 패턴인식 시스템이다. 생리적 생체인식(Physiological Biometrics)은 지문, 얼굴, 홍채, 정맥, DNA 등과 같은 개인의 신체적 특징을 이용하고[1-4], 행동적 생체인식(Behavioral Biometrics)은 서명, 음성, 걸음걸이, 키 입력 패턴(Keystroke Dynamics) 등과 같은 행동 특성을 이용한다[5-8].
행동적 생체인식 방법 중 하나인 서명인식 방법에는 오프라인 서명인식과 온라인 서명인식이 있다[9]. 오프라인 서명은 수표나 문서에 이미 필기된 서명 혹은 날인된 도장을 의미하며, 온라인 서명은 터치스크린 등의 장치를 이용해 실시간으로 입력하는 서명을 뜻한다. 온라인 서명인식은 시간에 따른 서명의 위치, 속도 등과 같은 개인의 고유한 동적 특징을 사용하므로 오프라인 서명인식보다 신뢰성이 높다[10]. 또한 깊이 영상을 통해 임의의 3차원 공간인 공중에 서명을 하고 이를 인식한다면 기존의 온라인 서명인식 시스템과 달리 특정 입력 장치를 사용하지 않아도 되는 장점이 있다[11].
본 논문에서는 서명의 시프팅(Shifting)과 스케일링(Scaling) 변화에 대응하기 위해 궤적의 X, Y, Z좌표에 관한 각각 10개의 통계적 특징을 인공신경망에 사용하여 실시간으로 서명을 인식하는 방법을 제안한다. 깊이 영상을 얻기 위해 적외선 센서가 있는 키넥트를 사용하였다. 이는 비교적 낮은 가격이며 깊이 영상을 이용하면 조명에 따른 인식률 변화를 최소화하여 손끝점 추출에 용이하다.
본 논문의 Ⅱ장에서는 키넥트로 얻은 깊이 영상에서 손끝점을 추출하는 방법과 서명 궤적의 X, Y, Z좌표에 관한 통계적 특징을 소개하고, Ⅲ장에서는 서명인식에 사용한 학습 알고리즘인 인공신경망에 대해 설명한다. Ⅳ장에서는 실험을 통해 제안한 특징을 이용하여 시프팅 및 스케일링 변화에 따른 서명인식 결과를 확인하고, 끝으로 Ⅴ장에서 결론을 맺는다.
깊이 영상은 키넥트로부터 멀리 떨어진 정도에 따라 그레이스케일로 표현이 된다. 그림 1과 같이 공중에 서명을 하기 위해 손을 앞으로 뻗는다고 가정하였을 때 키넥트에서 손가락까지의 거리를
깊이 영상에서 손영역을 찾아내면 외곽선의 픽셀 중 가장 높은 곳에 있는 지점을 손끝점으로 설정한다.
공중에 서명을 할 때마다 궤적의 길이가 다르기 때문에 매번 서명을 다르게 하더라도 그 길이가 일정하도록 해주는 정규화 과정이 필요하다. 정규화를 하기 위해 손바닥을 폈다 오므렸다 하는 동작을 통해 손바닥 외곽선 픽셀의 수가 많고 적음에 따라 서명의 시작점과 끝점을 구분하였다. 키넥트와 1m 떨어진 곳에서 성인 남성이 손바닥을 폈을 때 손바닥 외곽선의 평균 픽셀수는 250개, 주먹을 쥐었을 때 주먹 외곽선의 평균 픽셀수는 150개이다. 이에 따라 문턱값을 평균인 200으로 두고 그 이상일 경우 서명 그리기를 종료하고, 그렇지 않으면 새로운 서명을 그리도록 한다.
서명의 시작과 끝점 구분을 통해 서명을 그리게 되면, 궤적의 X, Y, Z좌표마다 각각 선형 보간법(Linear Interpolation)을 사용해 길이를 고정시켜준다. 선형 보간법은 이미 알고 있는 두 점 사이의 값을 1차 함수를 통해 추정하는 방법이다. 점
그림 3은 정규화 유무에 따른 아들 자(子) 모양 서명 궤적 100개의 XY평면(640×480)을 나타낸 것이다. 평균 길이 100인 서명 궤적을 X, Y, Z좌표에 대해 각각 50으로 선형 보간하였다. 데이터의 수를 줄임과 동시에 어느 정도 잡음이 제거되었다.
정규화를 끝낸 1개의 서명에 대해서 X, Y, Z좌표 각각의 그래프를 그림 4에 나타내었다. 선형 보간법을 통해 길이를 50으로 고정시켰으므로 그래프의 가로축은 50까지이며 세로축은 시간에 따른 서명 궤적의 X, Y, Z 값을 뜻한다.
먼저 서명 궤적의 시프팅 변화에 대응하기 위해 사용한 통계적 특징을 표 1과 같이 제안한다. 그림 4와 같은 그래프를 하나의 연속된 확률 분포로 보았으며, 각각의 특징을 설명하면 다음과 같다.
통계적 특징
얼굴인식을 할 때 피부의 색깔, 눈, 코, 입의 비율 등과 같은 특징이 중요한 것처럼 서명인식에서도 특징벡터의 선정은 인식률을 결정하는 중요한 부분이다. 서명의 위치와 크기 변화에 관계없이 같은 서명으로 인식하는 것은 서명의 절대적 길이가 아닌 비율의 문제라고 판단하였고, 이를 확인하기 위해 패턴인식에 사용되는 기본 수학적 도구인 다양한 통계적 특징을 적용해보았다. 그 결과 채택된 것이 표 1에 있는 10개의 특징이며, 서명의 위치와 크기를 달리하고 계산했을 때 규칙성이 없어 탈락한 통계적 특징에는 최댓값, 최솟값, 산술평균, 기하평균, 조화평균, 절삭평균, 중앙값, 최빈수, 사분위수, 변동계수 등이 있다.
표 1과 같은 특징을 사용하면 시프팅 변화에 대응이 가능하지만 스케일링 변화에는 대응하지 못한다. 예를 들어, 분포 A가 {100 200 300 400 500}이고 이를 시프팅한 분포 {300 400 500 600 700}를 B, 스케일링한 분포 {10 20 30 40 50}를 C라고 했을 때 A, B, C에 대한 특징을 계산하면 표 2와 같다.
통계적 특징 계산 결과
그리고 표 1에서 제안한
인공신경망(Artificial Neural Network)은 인간의 뇌를 구성하는 신경세포(Neuron)의 구조를 모방하여 모델링한 기계학습 알고리즘이다. 오류 역전파 (Error Backpropagation)를 사용하는 다층 퍼셉트론(Multilayer Perceptron)을 통해 훈련 집합의 학습과 인식이 가능하며 패턴인식 분야의 복잡한 분류 문제를 해결할 수 있는 수학적 도구로 사용된다[13]. 다층 퍼셉트론은 그림 5와 같이 2개 이상의 층(Layer)을 가지고 있으며, 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성되어 있고 각각
다층 퍼셉트론의 학습은 목표 출력값이 필요한 지도학습(Supervised Learning)이며, 목표 출력값과의 오차 수정은 입력층에서 출력층의 반대방향으로 가중치를 갱신하는 오류 역전파에 의해 이루어진다. 목표 출력값을
서명 궤적을 취득하기 위해 그림 6과 같은 서명인식 시스템을 구현하였다. 인공신경망에 사용하기 위한 훈련(Training) 데이터로 그림 7과 같은 참 서명 4개와 무작위로 그린 거짓 서명 1개를 60개씩 총 300개를 취득하였고, 평가(Test) 데이터는 서명마다 30개씩 총 150개를 추가로 취득하여 사용하였다.
인공신경망의 입력층 노드는 특징의 개수와 같은 30개로 하였고, 출력층 노드는 분류할 서명의 개수인 5개로 하였다. 은닉층 노드는 지역 최소점(Local Minimum)에 빠지지 않고 가장 높은 인식률을 보이는 개수를 반복 실험을 통해 9개로 결정하였다. 그리고 노드 간의 초기 가중치는 1, 학습률은 0.1로 설정하고 목표 출력값은 서명이 일치하면 1, 일치하지 않으면 -1로 하였다.
먼저 서명의 시프팅 변화에 대응하는지를 알아보기 위해 고정된 키넥트 중심을 기준으로 사용자가 좌우로 직접 이동하여 서명하였다. 그림 8과 같이 서명이 기울어지지 않고 최대한 XY평면에 평행하게 서명하였으며, 시프팅된 궤적 정보를 얻은 후에는 특징을 계산하였다. 이를 인공신경망을 통해 학습하여 인식한 결과는 다음과 같다.
표 3에서 나타나는 것과 같이 서명 궤적을 시프팅해도 인식률이 크게 변화되지 않는다. 또한 인식률이 94%와 98%로 높은 정확도를 보이고 있다.
서명의 시프팅에 따른 정확도 비교
다음으로 서명의 스케일링 변화에 대응하는지를 알아보기 위해 고정된 키넥트 앞에서 사용자가 직접 서명의 크기가 차이나도록 서명하였다. 마찬가지로 그림 9와 같이 서명이 기울어지지 않고 최대한 XY평면에 평행하게 서명하였으며, 스케일링된 궤적 정보를 얻은 후에는 특징을 계산하였다. 이를 인공신경망을 통해 학습하여 인식한 결과는 다음과 같다.
표 4에서 나타나는 것과 같이 서명 궤적을 스케일링 해도 인식률이 변화하지 않으며 98%의 높은 정확도를 보인다. 서명별 인식 결과를 상세히 알아보기 위해 실제와 예측 간의 관계를 알아볼 수 있는 혼동 행렬(Confusion Matrix)을 표 5에 나타내었다.
서명의 스케일링에 따른 정확도 비교
혼동 행렬
서명인식의 전체 정확도(Accuracy)는 96.7%이고 오분류율(Error Rate)은 3.3%이다. 오분류율은 비등록자를 등록자로 잘못 수락하는 오수락률(False Acception Rate)과도 같으며, 등록자를 거부하는 확률인 오거부율(False Rejection Rate)은 0%이다.
본 논문에서는 키넥트로 얻은 깊이 영상에서 손끝점을 찾고 통계적 특징 기반의 인공신경망을 이용하여 공중에 그린 서명을 인식하는 알고리즘을 제안하였다. 정규화를 통해 일정한 길이를 갖는 서명의 궤적 정보를 취득하였으며 서명의 위치와 크기에 무관한 특징을 사용하여 시프팅과 스케일링 변화에 대응이 가능한 것을 확인하였다. 이는 별도의 입력 장치를 사용하지 않는 온라인 서명 방식으로, 서두에 언급한 최근 연구 중인 다양한 보안 솔루션에 활용이 가능할 것으로 판단된다. 또한 시프팅과 스케일링 변화뿐만 아니라 서명의 회전 변화에도 대응이 가능하도록 연구를 진행한다면 보다 더 강건한 서명인식이 가능할 것이다.