본 발명은 상술한 기술적 과제를 달성하기 위하여, 얼굴 검출 및 인증 장치에 있어서, 얼굴 데이터 및 얼굴검출알고리즘을 저장하는 저장부 및 입력된 동영상에 대한 얼굴을 검출하여 특징값의 파라미터를 출력하는 검출부를 포함하는 개인 휴대 착용 단말기; 및 얼굴데이터베이스와 얼굴인증알고리즘을 저장하는 저장부 및 상기 특징값의 파라미터에 따라서 상기 검출된 얼굴 데이터와 얼굴데이터베이스에 저장된 얼굴데이터를 비교하여 인증유무를 출력하는 처리부를 포함하는 서버를 포함하는 얼굴 검출 및 인증 장치를 제공한다.
본 발명은 상술한 기술적 과제를 달성하기 위하여, 얼굴 검출 및 인증 방법에 있어서, 서버에 얼굴 데이터베이스 및 얼굴인증알고리즘을 저장하는 단계; 개인 휴대 착용 단말기에 저장된 얼굴검출알고리즘에 의해 입력된 동영상에 대한 얼굴을 검출하여 특징값의 파라미터를 출력하는 단계; 및 상기 특징값의 파라미터에 따라서 상기 개인 휴대 착용 단말기로부터 검출된 얼굴 데이터와 상기 서버에 얼굴데이터베이스에 저장된 얼굴데이터를 비교하여 인증유무를 출력하는 단계를 포함하는 얼굴 검출 및 인증 방법을 제공한다.
바람직하게는 상기 얼굴 검출은 할라이크(Haar-like) 특징 프로토타입과 아다부스트(AdaBoost) 학습알고리즘을 사용하여 얼굴부분에 윈도우를 씌운 후 그 영역에 대하여 할라이크 특징값을 구한 후, 할라이크 특징값을 그룹화하여 저장함으로써 얼굴을 검출함을 특징으로 한다.
바람직하게는 상기 얼굴 인증은 HMM알고리즘(Hidden Markov Model algorithm)을 통하여 얼굴의 특징을 사용하여 모델링하고 모델링된 얼굴이미지를 저장된 얼굴의 이미지에 위에서 아래로 순차적으로 적용 비교하여 인증함을 특징으로 한다.
더욱 바람직하게는 상기 HMM 알고리즘은 각각 얼굴의 블록의 확장으로 이루어지는데 각 부분(super state)에 대하여 일정한 부분(state)으로 다시 나누어 각각의 확률을 계산하고 다시 전체에 대한 확률을 계산한 뒤 다음 과정으로 넘어가게 되는 2차 HMM을 추가로 더 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 얼굴 검출 및 인증 장치 및 방법의 바람직한 실시예의 구성 및 동작에 대해서 상세히 설명하기로 한다.
얼굴인식 기술 분야에 있어서 할라이크 특징(Haar-like feature)을 이용한 얼굴 검출 알고리즘은 많은 관련 알고리즘 중에 매우 빠른 트레이닝 시간과 처리속도 향상의 장점을 가지고 있다. 그러므로 특히 동영상에서의 얼굴 검출에서 유용하게 쓰일 수 있다. 이러한 방법으로 검출된 얼굴 데이터는 HMM(Hidden Markov Model)알고리즘을 이용하여 이미 트레이닝된 얼굴 데이터베이스와의 비교를 통해 얼굴인식에 있어서 가장 확률이 높은 사람을 본인의 얼굴로 인증하는 신원 확인 시 스템을 구현할 수 있다.
신원 확인 시스템에 있어서 얼굴 검출률이나 신원 확인 성공률은 모두 학습 과정에 의해 결정되기 때문에 얼마나 많은 학습을 효율적으로 하느냐에 따라 성능이 좌우된다. 이러한 시스템은 카메라에 얼굴을 보여주는 것만으로 신원 확인이 가능하기 때문에 번거로운 신원 확인 가정을 거쳐야 하는 다른 시스템 구조에 비해 매우 편리한 기능을 제공할 수 있다.
본 발명에서는 이러한 할라이크 특징 및 HMM 알고리즘을 이용하여 얼굴 검출 및 인증 장치 및 방법을 구현하였다. 본 발명에서는 이러한 인식률을 높이기 위한 방법들 중의 하나로 HMM(Hidden Markov Model)에 기반을 둔 얼굴 인증을 수행한다. HMM 기법은 얼굴 영상을 부위별로 나누어서 처리하는데 이때의 입력 영상 데이터를 구축하기 위한 얼굴 추출 방법을 본 발명에서는 할라이크 특징(Haar-like feature)을 이용하여 추출하는 방식을 사용한다 (참조논문: P. Viola and M. J. Jones, "Robust real-time object detection", Technical Report Series, Compaq Cambridge research Laboratory, CRL 2001/01, Feb. 2001).
다시 말하면, 본 발명은 할라이크특징(Haar-like feature)을 사용하여 추출된 얼굴 데이터를 HMM 알고리즘을 이용하여 이미 트레이닝 되어진 얼굴 데이터베이스와 비교를 통해 가장 확률이 높은 얼굴의 사람을 출력으로 내보내는 방식을 이용하여 인증하는 것이며, 그러한 얼굴 검출률 및 인식률을 경제적으로 높히고 있다.
우선 본 발명에 적용되는 얼굴 검출에 대하여 설명하기로 한다.
할라이크 특징(Haar-like feature)과 아다부스트(AdaBoost) 학습 알고리즘은 본 발명에 적용되는 얼굴 검출 알고리즘 중의 하나이다. 할라이크특징(Haar-like feature)은 얼굴 검색 시 주로 사용하는 기법으로 많은 프로토타입이 존재하는데 이러한 프로트타입들은 아다부스트(AdaBoost) 학습 알고리즘에 의해서 얼굴을 잘 표현하는 것들만 사용하게 되기 때문에 보다 효율적인 얼굴 검출이 가능하다 (참조논문: 박성훈, 이재호, 김회율, "Haar-like feature/LDA를 이용한 얼굴인식", 2004년 제16회 영상처리 및 이해에 관한 워크샵 발표 논문집, 2004년 1월).
할라이크특징(Haar-like feature)은 비올라(Viola)가 처음 얼굴 검출에서 사용한 인식자로써 방식이 간단하고 계산방법에 있어서도 단순 합연산만을 이용한다. 이는 얼굴을 검출하는데 있어 픽셀을 이용한 연산이 아닌 특징을 이용하여 각 영역 안에 있는 픽셀들의 값을 더하여 영역합을 구하고 그 값들에 가중치(weight)를 곱한 합만을 계산한다는 것으로 동영상에서의 얼굴 검출에 용이하게 쓰일 수 있게 된다. 도 1은 할라이크특징(Haar-like feature)의 프로토타입들로써 윈도우에서 특징에 맞게 위치가 변하기 때문에 인식할 영상에 따라 많은 특징값을 나타내는 것이 가능해진다. 도 1에서 1은 엣지특징을, 2는 라인특징을, 3은 센터특징을 나타내는 할라이크특징의 프로토타입들이다.
본 발명에서 얼굴을 검출할 때 아다부스트(AdaBoost) 학습 알고리즘을 이용하여 인식률을 향상시키고 있다. 본 발명에서는 얼굴과 얼굴이 아닌 영역간의 구별과 얼굴로 판단할 확률을 높이기 위해 부스트(Boost) 알고리즘 중에서 단순하면서도 효율적인 아다부스트(AdaBoost) 학습 알고리즘을 사용하였다. 이 알고리즘은 그룹화하는 단계가 올라갈수록 각 할라이크특징(Haar-like feature)의 프로토타입들 의 위치가 얼굴의 세밀한 특징까지도 나타내는 장점을 가지고 있다. 아다부스트 (AdaBoost) 학습 알고리즘으로 얻은 특징값들은 도 2와 같이 단계(stage) 그룹화(classifier)한다. 도 2에서 전체 부윈도우(10)는 노드 1에서 진위를 판단하여 진(T)이면 노드 2로 진행하고 위(F)이면 부윈도우를 거부하게 된다(20). 마찬가지로 노드 2, 3, 4 등을 진행하면서 추가로 처리된다(30).
이러한 그룹화는 더 강력한 인식 알고리즘을 구현하기 위한 것으로 단계를 거듭할수록 전 단계보다 더 많은 수의 특징값을 만들어서 그룹화를 하며 본 발명에서는 25 단계까지 그룹화를 하였고 이때 특징값의 개수는 200개로 하여 실험하였다.
이하, 도 3을 참조하여 할라이크특징(Haar-like feature)을 이용한 얼굴 검출 방법에 대해서 설명하기로 한다.
첫 번째로 얼굴 영상의 이미지 데이터를 받아 얼굴 부분에 윈도우를 씌운 후 그 영역에 대해서 할라이크특징(Haar-like feature)값을 구한다. 그 다음 아다부스트(AdaBoost) 학습 알고리즘을 통해 선택된 할라이크특징(Haar-like feature)을 그룹화하여 저장한다. 이 때 첫번째 단계의 그룹에서는 가장 적은 9개의 할라이크특징(Haar-like feature)이 들어간다. 각 단계는 총 25단계로 그룹화되고 이 때에는 200개의 할라이크특징(Haar-like feature)이 들어가게 된다. 이렇게 그룹화한 데이터들은 텍스트 파일로 저장이 되어 얼굴 인식에 있어서 감춰진 캐스케이드(hidden cascade)로 사용이 된다. 본 발명에서는 24*24크기의 윈도우로 정해졌고 25개의 단계로 높은 단계로 올라갈수록 할라이크특징(Haar-like feature)의 개수도 증가하고 각각의 프로토타입들도 세밀한 부분까지 위치하게 된다 (참조논문: Alexander Kuranov, Rainer Lienhart, and Vadim Pisarevsky, "An Empirical Analysis of Boosting Algorithms for Rapid Objects With an Extended Set of Haar-like Features", Intel Technical Report MRL-TR-July 02-01, 2002).
이러한 할라이크특징을 이용한 얼굴 검출 원리를 설명하기로 한다.
도 3은 할라이크특징을 이용한 얼굴 검출 원리를 간단하게 표현한 것이다. 즉, 한 프레임의 영상에서 트레이닝된 얼굴의 그룹(300)을 이용하여 영상을 피라미드 구조의 형식으로 줄여나가며 얼굴인 영역을 결정하고 그러한 과정에서 얼굴 영역은 줄인 영상을 복원하는 과정에 여러 개의 후보영역이 출력되므로 그 영역의 평균을 낸 한 영역을 출력으로 하게 된다 (단계 ①-⑤). 이 때, 트레이닝된 얼굴을 얼굴 분류자(face classifier)를 사용하여 얼굴과 비얼굴로 분류하여 검출하게 된다.
본 발명에서는 이렇게 검출된 얼굴을 HMM을 이용하여 저장된 얼굴데이터베이스와 비교하여 얼굴 인증을 수행한다.
HMM 알고리즘은 과거와 현재의 주어진 상황에서 미래는 과거와 관계없이 현재에만 의존하는 마코프 성질을 이용하는 것으로써 마코프과정(state)은 숨겨져 있는 것이고, 다른 확률 과정(observation)을 통해서만 과정이 관찰된다 (참조논문: F. Samaria and S. Young, "HMM based architecture for face identification", Image and Computer Vision, vol. 12, pp.537-543, October 1994).
얼굴을 인식하는데 있어서 HMM 알고리즘은 얼굴의 특징들을 이용하여 인식한 다. 이러한 얼굴의 가장 큰 특징은 크게 머리, 이마, 눈, 코, 입을 생각할 수 있는데 이러한 특징을 이용하여 1차 HMM (1D-HMM)을 사용하여 모델링되어진다. 각각의 상태는 HMM의 과정에 종속적이고 순서는 얼굴 이미지의 위에서 아래로 순차적으로 적용된다. 또한 얼굴을 나누는 간격은 얼굴만의 이미지에 각각 고정적인 위치에 자리 잡게 된다. 이러한 1차 HMM은 약 85%의 인식률을 보인다 (참조논문: A. V. Nefian and M. H. Hayes, "A Hidden Markov Model for face recognition", in ICASSP 98, vol. 5, pp.2721-2724, 1988; A. V. Nefian and M. H. Hayes, "Face detection and recognition using Hidden Markov Models", in International Conference on Image Processing, 1988).
1차 HMM에 대한 확장은 의사(pseudo) 2D-HMM으로 확장될 수 있다 (참조논문: S. Kuo and O. Agazzi, "Keyword spotting in poorly printed documents using pseudo 2-D Hidden Markov Models", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 16, pp.842-848, August 1994). 이러한 2D-HMM은 각각 얼굴의 블록의 확장으로 이루어지는데 도 4와 같이 각 대부분(super state)(42)에 대하여 일정한 소부분(state)(44)으로 다시 나누어 각각의 확률을 계산하고 다시 전체에 대한 확률을 계산한 뒤 다음 과정으로 넘어가게 되는 것이다. 도 4에서는 얼굴에서 이마, 눈, 코, 입, 턱으로 순차적으로 진행하는 것을 도시하고 있다.
도 5는 본 발명에 의한 얼굴 검출 및 인증을 위한 얼굴 데이터의 트레이닝 과정과 데이터베이스화를 설명하기 위한 도면이다.
도 5에서, N번째 사람에 대한 트레이닝 이미지(500)를 받아 블록추출부(510) 는 블록을 추출하고, 추출된 블록을 받아 특징추출부(520)는 특징(O1
N,O2
N,...,OJ
N)을 초기 파라미터 평가부(540)와 바움-웰치 파라미터 재평가부(550)로 출력한다. 한편 초기 파라미터 평가부(540)는 프로토타입 HMM모델부(530)로부터 HMM모델(λ0)을 받아 특징추출부(520)로부터 보내온 특징을 평가하여 파라미터 평가 결과(λinit)를 상기 바움-웰치 파라미터 재평가부(550)로 보낸다. 바움-웰치 파라미터 재평가부(550)는 상기 특징추출부(520)로부터 보내온 특징들(O1
N,O2
N,...,OJ
N)과 상기 초기 파라미터 평가부(540)로부터 전달된 파라미터 평가 결과(λinit)를 받아 트레이닝된 얼굴 이미지(λN)를 출력하여 얼굴데이터베이스에 저장한다.
도 6은 본 발명에 의한 얼굴 검출 및 얼굴 인증 과정의 전체 블록도이다. 도 6에서, 인증을 원할 때 할라이크특징(Haar-like feature)을 이용하여 동영상에서 얼굴영역을 자동검출하여 BMP포맷으로 저장한다. 이때의 데이터는 하나의 얼굴과 하나의 얼굴당 6개 이미지를 데이터로 하고 여기에 기존에 수집한 얼굴의 데이터베이스를 합하여 얼굴 데이터베이스에 인증하고자 하는 얼굴을 추가한다. 도 6에서는 사진이 아닌 동영상에서 추가할 사람의 얼굴영역을 자동으로 추출하여 저장하는 것을 보이기 위한 것이다. 이렇게 검출된 얼굴 이미지는 블록추출부(64)와 특징추출부(66)를 거쳐 파라미터를 출력하고 그 파라미터는 유사모델계산부(71,..., 72)에서 얼굴 데이터베이스에 저장된 파라미터들과 비교하여 최대 확률선택부(80)에서 가장 유사한 이미지를 선택하여 출력부(90)를 통하여 인증출력하게 된다.
표 1은 24*24 윈도우 크기에 할라이크특징(Haar-like feature)의 프로토타입에 대한 트레이닝 된 위치정보와 임계치들을 나타내고 있다. 얼굴 인증 시스템을 검증한 결과 표 2와 같은 결과를 얻었다.
extern const char* FaceCascade[]={ /*Stage 0*/ "9 1 2 6 4 12 9 0 -1 6 7 12 3 0 3 haar_y3 -0.031512 0 -1 2.087538 -2.217210 1 2 6 4 12 7 0 -1\n" "10 4 4 7 0 3 haar_x3 0.012396 0 - -1.863394 1.327205 1 2 3 9 18 9 0 -1 3 12 18 3 0 3\n" "haar_y3 0.021928 0 -1 -1.510525 1.062573 1 2 8 18 9 6 0 -1 8 20 9 2 0 3 haar_y3\n"
... "1 2 5 8 12 6 0 -1 5 11 12 3 0 2 haar_y2 0.002734 0 -1 -1.691193 0.440097 1 2 11 14 4 10 0 -1\n" "11 19 4 5 0 2 haar-y2 -0.018859 0 -1 -1.476954 0.443501 1 2 4 0 7 6 0 -1 4 3 7 3 0 2\n" "haar_y2 0.005974 0 -1 -0.859092 0.852556 -5.042550\n", /*Stage 1*/ "16 1 2 6 6 12 6 0 -1 6 8 12 2 0 3 haar_y3 -0.021110 0 -1 1.243565 - 1.571301 1 2\n" "6 4 12 7 0 -1 10 4 4 7 0 3 haar_x3 0.020356 0 -1 -1.620478 1.181776 1 2 1 8 19 12 0 -1\n"
... "9 5 2 10 0 3 haar_x3 -0.007507 0 -1 0.927821 -0.663499 1 2 10 8 6 10 0 -1 12 8 2 10 0 3\n" "haar_x3 -0.009877 0 -1 1.157747 -0.297748 1 2 2 5 4 9 0 -1 4 5 2 9 0 2 haar_x2 0.015814 0 -1\n"
...
|
실험횟수 |
총실험인원수 |
인증성공 인원수 |
인증실패 인원수 |
인증성공확률 |
인증실패확률 |
10회 |
48명 |
46명 |
2명 |
95.65% |
4.35% |
도 7은 본 발명에 의한 얼굴 인증결과를 설명하기 위한 도면이다. 데이터는 8명의 얼굴과 각각 6개씩 48개의 이미지를 데이터로 하고 여기에 기존에 수집한 얼굴의 데이터베이스(40명의 얼굴과 각각 6개씩 240개의 이미지)를 합하여 48명의 얼굴에 대한 데이터베이스를 구축하여 실험하였다. 잘못 검증이 된 얼굴들의 특징을 보면 도 7에서 보는 바와 같이 공통적으로 이마 부분이 넓어 얼굴의 특징영역 부분이 다른 사람의 얼굴과는 다른 것을 알 수 있고 이러한 이유는 2D-HMM으로 트레이닝 하기 위한 얼굴 분할 과정에서 눈의 위치가 영역 밖으로 벗어났다는 결과를 나타내 주고 있다.
지금까지 본 발명의 얼굴 검출 및 인증 과정에 대해서 설명하였으나, 본 발명이 적용되는 도 8의 개인 휴대 착용 단말기인 웨어러블퍼스널스테이션(wearable personal station; WPS)을 참조하여, 본 발명의 바람직한 실시예에 의한 얼굴 검출 및 인증 과정을 설명한다.
도 8의 개인 휴대 착용 단말기인 웨어러블퍼스널스테이션(wearable personal station; WPS)는 단말기내에 얼굴을 검출하는 검출부 및 얼굴이미지 및 얼굴검출알고리즘을 저장하는 저장부를 포함하고, 서버에 얼굴데이터베이스와 얼굴인증알고리즘을 저장하여 상기 단말기로부터 검출된 이미지와 상기 서버에 저장된 이미지를 비교하여 인증하는 처리부를 포함하는 경우이다. WPS(80)는 자체 내장된 카메라(82)로부터 입력된 얼굴이미지를 받아 할라이크특징(Haar-like feature)기법에 의하여 얼굴을 검출한다(84). 이렇게 검출된 얼굴이미지는 불루투스 또는 무선 인터넷을 통하여 서버(90)로 전송된다. 이 경우, 전술한 바와 같이 WPS(80)에 저장 된 얼굴검출알고리즘인 할라이크특징(Haar-like feature)과 아다부스트(AdaBoost) 학습알고리즘을 이용하여 수많은 얼굴이미지를 트레이닝하여 분류하고, 트레이닝된 각각의 그룹을 25개의 단계로 하여 단계가 높을수록 세밀화된 얼굴영역 마스크를 생성하여 처리할 이미지를 받아 영상을 축소해 가면서 얼굴영역 마스크와 일치되는 곳을 얼굴로 검출한다. 검출된 얼굴은 서버(90)에 저장된 얼굴인증알고리즘인 HMM알고리즘과 다수 사람의 얼굴 데이터베이스를 이용하여 얼굴 파라미터들을 비교 인식하여 인증을 완료한다(86).