• 검색 결과가 없습니다.

향상된 얼굴 검출/인식 알고리듬

문서에서 2. 연구 내용 (페이지 35-40)

동영상에 적용 가능한 얼굴 인식 기술은 얼굴 검출 단계, 검출된 얼굴의 정규화 단계, 얼굴 인식 단계를 거친다. 동영상에서 향상된 얼굴 인식 성능 을 위해서는 세 단계의 알고리듬 모두 정확성, 신속성을 보장하여야 한다.

본 연구에서는 전 년도에 개발한 검출 알고리듬보다 빠르고, 검출률이 높은 검출 알고리듬을 개발하였다. 얼굴 정규화에서는 얼굴 구성 요소 중 눈에 중 점을 두어 검출된 눈 위치를 정확히 보정하고, 인식을 위한 특징점을 찾아내 는 알고리듬을 개발하였다. 정확한 얼굴 정규화는 인식률을 높이는 근간이 되며, 실제로 개선된 얼굴 정규화 방법으로 인식률이 향상됨을 알 수 있었 다. 마지막으로 얼굴 인식 알고리듬은 새로운 알고리듬을 개발하지는 않았으 나, 기 개발한 얼굴 구성 요소 기반의 DCT/LDA(Discrete Cosine Transform/Linear Discriminant Analysis) 방법이 방송 영상에서 다른 인식 방법보다 성능이 우수함을 실험을 통해 입증하였다.

2.1 얼굴 검출 성능 향상

동영상에서는 얼굴 인식을 위해 정확한 얼굴 위치를 찾는 것이 우선적으 로 필요하다. 한 장의 이미지에서 어느 부분이 얼굴 영역인지 아닌지를 판별 해 내는 방법으로는 SVM(Support Vector Machine) 방법과 boosting 방법 이 많이 사용된다. 이 중 boosting 방법은 간단하고 성능이 낮은 약한 판별

기(weak classifier)들을 모아서 하나의 강한 판별기(strong classifier)를 생 성하는 방법으로 약한 판별기의 성능과 이들을 서로 연결하는 구조에 따라 그 성능이 달라진다. 반면, SVM 방법은 데이터 특성을 두 가지 부류 혹은 여러 부류로 구분할 수 있는 하나의 평면을 생성해 내는 방식으로, 데이터의 특성에 따라 속도가 많이 좌우된다. 방송 영상에 포함된 얼굴은 조명, 회전 등 변화가 다양하기 때문에 다양한 특성의 데이터에서도 성능을 어느 정도 유지할 수 있는 boosting 방법을 이용한 얼굴 검출 방법이 적합하다.

<그림 20> AdaBoost 알고리듬의 계단식 구조

Boosting 방법 중에서도 AdaBoost기반 얼굴 검출 방법은 원래 Freund가 제안한 AdaBoost 알고리듬을 Viola가 얼굴 검출에 적용한 방법으로 간단한 얼굴 특성값으로 구성된 약한 판별기를 <그림 20>과 같은 계단식(cascade) 구조로 연결하여 빠르면서도 높은 검출률을 보인다. 본 연구에서는 AdaBoost기반 얼굴 검출 방법을 얼굴의 어두운 부분과 밝은 부분이 나타내 는 특성값으로 약한 판별기를 생성하여 구현하였다.

구현된 AdaBoost기반 얼굴 검출 방법은 CNN 뉴스 비디오에서 선택한 144개의 정면 얼굴을 포함하는 100 장의 이미지를 대상으로 Pentium-III 800MHz PC에서 실험했을 때, SVM보다 20% 정도 향상된 검출률과 3배 정 도의 빠른 속도를 보였다. <표 3>은 각 얼굴 검출 방법의 상세한 검출률과 속도를 표시한다. <그림 21>은 얼굴 검출 결과 화면이다.

<표 3> 얼굴 검출 성능

SVM AdaBoost

평균 검출률 62.0 % 83.3 %

평균 검출 속도 331 120

<그림 21> 얼굴 검출 결과

2.2 얼굴 정규화 성능 향상

얼굴 정규화란 얼굴 인식 알고리듬에 적합하도록 일정한 크기와 동일한 위치로 검출된 얼굴 영역을 변형하는 과정이다. 따라서 얼굴 정규화의 정확 도가 얼굴 인식 성능에 상당한 영향을 준다. 본 연구에서는 얼굴 정규화의 기준으로 눈 위치를 선정하였다. 이를 위해 검출된 얼굴 영역에서 눈 영역 검출하고, 눈 위치를 보정하여 정확한 눈 위치를 찾아낸다. 찾아낸 눈 위치 를 기준으로 인식 알고리듬에 사용할 얼굴 특징점(landmark)을 추출한다.

먼저, 눈 영역을 검출하는 방법은 얼굴 영역과 마찬가지로 AdaBoost 방법 을 사용하였다. 즉, 눈 영역을 지칭할 수 있는 특징값으로 약한 판별기를 구 성하고, 이들을 계단식 구조로 연결하여 눈 영역을 판별해 낸다.

다음, 찾아낸 눈 영역에 대해서 정확한 눈 위치를 찾기 위해 영역 확장 (region growing) 방법을 사용하였다. 영역 확장 방법은 <그림 22>와 같이 잘못 찾아진 눈 영역에 대해서도 특정 방향으로 영역을 확장해 나가면서 가 장 어두운 부분 즉, 눈의 위치를 찾아내어 초기에 검출한 눈 위치를 보정하

는 기능을 한다. <그림 22>의 예에서는 얼굴의 오른쪽 부분에 눈 영역이 검 출되었으나, 정확한 위치를 찾기 위해 오른쪽으로 계속 얼굴 영역을 확장해 가며, 정확한 눈 위치를 찾아냄을 보인다.

<그림 22> 영역 확장 방법을 이용한 눈 위치 보정

이렇게 찾아진 눈 위치를 일정한 위치로 고정함으로써, 얼굴 인식에 사용 할 특징점이 동일한 조건에서 선택되게 된다. 실제로 얼굴 인식에 사용한 특 징점은 <그림 23>과 같이 총 76개이다. 변화가 많은 눈과 입 구성 요소에 상대적으로 많은 특징점을 배치함으로써 구성 요소의 변화에 따른 오인식을 줄일 수 있도록 하였다. <그림 24>는 정규화 과정 이후 특징점을 찾은 결과 를 보인다.

<그림 23> 인식에 사용할 특징점 위치, 개수

<그림 24> 정규화를 거친 특징점 검출 결과

2.3 얼굴 인식 성능 비교

본 연구에서는 조명, 각도 등 다양한 변화를 갖는 방송 영상에 포함된 얼 굴 인식을 위해 구성 요소 기반의 DCT/LDA 방법을 제안한 바 있다. 제안 한 DCT/LDA의 성능 향상에 대한 검증을 위해 기존에 주로 사용하던 얼굴 인식 방법인 PCA(Principal Component Analysis), 2DPCA, PCA/LDA 등과 제안한 구성요소 기반의 DCT/LDA를 다양한 변화에 따라 그 성능을 비교하 였다. 즉, <그림 25(a)>는 얼굴의 회전 정도에 따른 각 방법의 인식률 변화 를, <그림 25(b)>, <그림 25(c)>는 얼굴의 상하 이동과 좌우 이동에 따른 각 방법의 인식률 변화를, 마지막으로 <그림 25(d)>는 얼굴의 스케일링 정 도에 따른 각 방법의 인식률 변화를 보여준다. 이 실험은 MPEG-7에서 제 공하는 Altkom 얼굴 데이터 셋을 사용하여 수행하였으며, 750장의 이미지를 먼저 학습하여 기준 벡터를 만들고, 390장의 이미지를 등록해 놓은 상태에서 인식 결과를 테스트하였다. 테스트한 얼굴 이미지는 총 80장이다. 실험 결과 에서 불 수 있듯이, 구성 요소 기반의 DCT/LDA 방법이 모든 변화에 대해 좋은 성능을 보임을 알 수 있다.

<그림 25> 얼굴 인식 방법의 성능 비교

문서에서 2. 연구 내용 (페이지 35-40)

관련 문서