KR20060063286A - 다면 얼굴을 검출하는 방법 및 장치 - Google Patents

다면 얼굴을 검출하는 방법 및 장치 Download PDF

Info

Publication number
KR20060063286A
KR20060063286A KR1020040102411A KR20040102411A KR20060063286A KR 20060063286 A KR20060063286 A KR 20060063286A KR 1020040102411 A KR1020040102411 A KR 1020040102411A KR 20040102411 A KR20040102411 A KR 20040102411A KR 20060063286 A KR20060063286 A KR 20060063286A
Authority
KR
South Korea
Prior art keywords
face
mode
detection
image
range
Prior art date
Application number
KR1020040102411A
Other languages
English (en)
Other versions
KR100643303B1 (ko
Inventor
김정배
박찬민
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020040102411A priority Critical patent/KR100643303B1/ko
Priority to US11/285,172 priority patent/US20060120604A1/en
Publication of KR20060063286A publication Critical patent/KR20060063286A/ko
Application granted granted Critical
Publication of KR100643303B1 publication Critical patent/KR100643303B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 다면 얼굴 검출에 관한 것으로서, 본 발명의 실시에 따른 다면 얼굴을 검출하는 방법은 이미지 영상에서 전방향 얼굴이 존재하는지 판단하는 (a) 단계와, 상기 (a) 단계에서 전방향 얼굴이 존재하는 것으로 판단된 경우에, 상하 회전된 제1 모드 얼굴, 머리가 기울어진 제2 모드 얼굴 또는 좌우 회전된 제3 모드 얼굴 중 임의의 2가지 모드 얼굴을 순차적으로 검출하는 (b) 단계와, 상기 (b) 단계에서 검출되지 않은 나머지 모드 얼굴을 검출하는 (c) 단계 및 상기 (c) 단계에서 나머지 모드 얼굴이 검출된 경우에 상기 이미지 영상에서 얼굴이 검출된 것으로 결정하는 (d) 단계를 포함하는데, 상기 (c) 단계는 모든 방향의 얼굴 검출기를 평행하게 배열하여 하나의 방향에서 얼굴 검출에 성공하면 같은 방향의 보다 복잡한 얼굴 검출기에 의해 얼굴 검출이 수행되고, 얼굴 검출에 실패하면 다른 방향에서 얼굴 검출이 수행되는 (c)-1 단계와, 모든 방향의 얼굴 검출기를 독립적으로 고립되게 배열하여 하나의 방향에서 얼굴 검출에 성공하면 같은 방향의 보다 복잡한 얼굴 검출기에 의해 얼굴 검출이 수행되고, 얼굴 검출에 실패하면, 상기 이미지 영상에서 얼굴이 검출되지 않은 것으로 결정하는 (c)-2 단계를 포함한다.
얼굴 검출(face detection), 다면 얼굴 검출(multi-view face detection)

Description

다면 얼굴을 검출하는 방법 및 장치{Method and apparatus for detecting multi-view face}
도 1은 3차원 좌표축을 이용하여 사람의 얼굴 회전 방향을 나타내고 있는 예시도이다.
도 2는 사람의 얼굴을 x축을 중심으로 회전한 회전 각도를 나타내는 예시도이다.
도 3은 사람의 얼굴을 y축을 중심으로 회전한 회전 각도를 나타내는 예시도이다.
도 4a는 사람의 얼굴을 z축을 중심으로 회전한 회전 각도를 나타내는 예시도이다.
도 4b는 사람의 얼굴을 z축을 중심으로 회전한 회전 각도를 나타내는 또다른 예시도이다.
도 5는 본 발명의 실시예에 따라, 정면(frontal-view) 얼굴에 대한 제1-z축 회전 모드에서 학습에 필요한 얼굴 검출기의 개수를 줄이는 과정을 나타내는 예시도이다.
도 6은 본 발명의 실시예에 따라, 좌면(left-view) 얼굴에 대한 제1-z축 회전 모드에서 학습에 필요한 얼굴 검출기의 개수를 줄이는 과정을 나타내는 예시도 이다.
도 7은 본 발명의 실시예에 따라, 제1-z축 회전 모드에서 정면(frontal-view) 얼굴에 대하여 학습해야 얼굴들을 나타내는 예시도이다.
도 8은 본 발명의 실시예에 따라, 정면(frontal-view) 얼굴에 대한 제2-z축 회전 모드에서 학습에 필요한 얼굴 검출기의 개수를 줄이는 과정을 나타내는 예시도이다.
도 9는 본 발명의 실시예에 따라, 좌면(left-view) 얼굴에 대한 제2-z축 회전 모드에서 학습에 필요한 얼굴 검출기의 개수를 줄이는 과정을 나타내는 예시도이다.
도 10은 본 발명의 실시예에 따라, 제2-z축 회전 모드에서 정면(frontal-view) 얼굴에 대하여 학습해야 얼굴들을 나타내는 예시도이다.
도 11은 본 발명의 실시예에 따른 얼굴을 검출하는 장치의 블록도를 나타내는 예시도이다.
도 12는 본 발명의 실시예에 따른 얼굴 검출 모듈의 구성을 나타내는 블록도이다.
도 13a 내지 도 13c는 본 발명의 실시예에 따른 얼굴 탐색 방법을 나타내는 예시도이다.
도 14는 본 발명의 실시예에 따른 3가지 얼굴 탐색 방법을 결합하여 얼굴을 검출하는 방법을 나타내는 예시도이다.
도 15a 및 도 15b는 본 발명의 실시예에 따른 얼굴 검출 방법을 나타내는 플 로우 차트이다.
도 16은 본 발명의 실시예에 따른 얼굴 검출 방법을 나타내는 또다른 플로우 차트이다.
<도면의 주요 부분에 대한 부호의 설명>
1100: 얼굴 검출 장치
1120: 촬상 모듈
1140: 얼굴 검출 모듈
1142: 제어부
1144: 서브 윈도우 생성부
1146: 제1 얼굴 탐색부
1148: 제2 얼굴 탐색부
1150: 제3 얼굴 탐색부
1160: 제1 저장 모듈
1180: 제2 저장 모듈
본 발명은 얼굴 검출에 관한 것으로, 보다 상세하게는 x축 회전 얼굴, y축 회전 얼굴, z축 회전 얼굴 모두를 효율적으로 검출할 수 있는 다면 얼굴 검출 방법 및 장치에 관한 것이다.
얼굴 검출 기술은 얼굴 인식뿐만 아니라, 휴먼 컴퓨터 인터페이스, 비디오 감시 시스템, 얼굴을 이용한 영상 검색 등의 다양한 응용 분야가 생겨나면서, 그 중요성이 점점 커지고 있다.
특히, 사진과 비디오 영상들을 브라우징하고 검색하는 Digital Contents Management (DCM) 분야는 사용자가 엄청난 양의 멀티미디어 데이터로부터 원하는 정보를 손쉽게 얻을 수 있는 기술로서, 이러한 DCM 분야에서 얼굴을 검출하고 인식하는 방법은 대용량 멀티미디어 영상물을 인물별로 분류하기 위한 핵심기술이다.
또한, 휴대폰 카메라의 성능 향상과 휴대폰 자체의 계산 능력 향상에 힘입어 휴대폰에서 얼굴 인식을 이용한 사용자 인증 기술의 필요성도 대두되고 있는 상황이다.
최근 수년간 얼굴 검출 기술에 대한 연구가 많이 이루어지고 있으나, 아직은 정면 얼굴 검출에 집중하고 있다. 정면 얼굴 검출 기술은 고정된 카메라에서 정면 얼굴만을 인식하는 얼굴 인식 시스템과 같은 제한적인 응용 환경에서는 충분하지만, 일반적인 환경에 응용하기에는 부족하다. 특히, 얼굴을 이용한 영상 브라우징과 검색에서는 많은 사진이나 동영상을 사용하고 있는데, 이들 사진이나 동영상에서 찍힌 얼굴을 보면 정면이 아닌 비정면 얼굴이 상당히 많은 부분을 차지하고 있다.
따라서, 정면 얼굴과 비정면 얼굴 모두를 포함하는 다면 얼굴을 검출하는 기술에 대한 요구에 따라, 최근에는 다면 얼굴 검출에 관한 연구가 진행되어 왔다.
우선, Rowley 등은 라우터 네트워크(router network)로 얼굴의 z축 회전 방 향을 계산하고, 얼굴이 똑바로 서도록 영상을 회전 시킨 후에, 정면 얼굴 검출기로 얼굴 검출을 시도하여 z축 회전 얼굴을 검출하였다(H.Rowley, S.Baluja and T.Kanade, "Neural Network-Based Face Detection", IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 20, no. 1, pp.23-28, Jan. 1998). 하지만, 라우터 네트워크(router network)에서 발생한 에러를 얼굴 검출기에서 보상하지 못하기 때문에 검출률이 떨어지고, x축과 y축 회전 얼굴에 대해서는 검출을 할 수 없다.
한편, Schneiderman 등은 독립적인 3개의 프로파일 검출기(profile detector)로 y축 회전 얼굴을 검출하였다(H.Schneiderman and T.kanade, "Object Detection Using the Statistics of Parts", Int'l J. Computer Vision, vol. 56, no. 3, pp. 151-177, Feb. 2004). 그러나, 이 방법은 검출 시간이 정면 검출기의 3배가 소요되고, x축과 y축 회전 얼굴에 대해서는 검출을 할 수 없다.
한편, Li 등은 y축과 z축 회전 얼굴을 동시에 검출하기 위해서, 입력 영상을 3가지 z축 방향으로 회전한 후, 각각에 대해서 y축 회전 얼굴을 검출할 수 있는 검출기-피라미드(detector-pyramid)를 적용하였다(S.Z.Li and Z.Q.Zhang, "FloatBoost Learning and Statistical Face Detection", IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 26, no. 9, pp.1112-1123, Sep. 2004). 이 방법은 x축 회전 얼굴에 대해서는 검출이 불가능하고, z축 회전 얼굴에 대해서는 일부만 검출이 가능하다는 문제와 비얼굴 부분에 동일한 검출기-피라미드(detector-pyramid)를 세 번씩 적용하는 비효율적인 문제를 가지고 있다.
Jones와 Viola는 얼굴의 y축 회전 얼굴 검출기와 z축 회전 얼굴 검출기를 별 도로 만들었는데, 각각 y축 회전 또는 z축 회전 방향을 계산하는 포즈 추정기(pose estimator)와 그 결과에 따라서 서로 다른 각도의 검출기들 중에 하나를 적용하게 된다(M.Jones and P.Viola, "Fast Multi-view Face Detection", Proc. Computer Vision and Pattern Recognition, Mar. 2003). 그러나, 이 방법은 Rowley 등의 방법처럼 포즈 추정기(pose estimator)의 에러를 보상하지 못하고, x축 회전 얼굴에 대해서는 검출이 불가능하다는 문제점이 있다.
위와 같이 다양한 방법으로 다면 얼굴 검출 방법이 제안되었지만, 아직까지는 제한된 성능을 보이고 있다. 즉, x축 회전 얼굴, y축 회전 얼굴, z축 회전 얼굴 중 일부만 검출이 가능하거나, 또는 포즈 추정기(pose estimator)의 에러를 보상해주지 못하는 것이다. 따라서, 위와 같은 제한된 성능을 극복할 필요성이 생기게 되었다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명은 x축 회전, y축 회전, z축 회전 얼굴을 모두 검출하고, 다면 얼굴 검출기의 앞 단계에서 포즈 추정기(pose estimator)를 사용하지 않음으로써 포즈 추정기(pose estimator)의 에러를 발생시키지 않고, 보다 효율적인 연산 과정을 수행하여 다면 얼굴을 검출하는 방법 및 장치를 제시하는데 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 다면 얼굴 검출 방법은 이미지 영상에서 전방향(whole-view) 얼굴이 존재하는지 판단하는 (a) 단계와, 상기 (a) 단계에서 전방향 얼굴이 존재하는 것으로 판단된 경우에, 상하 회전된 제1 모드 얼굴, 머리가 기울어진 제2 모드 얼굴 또는 좌우 회전된 제3 모드 얼굴 중 임의의 2가지 모드 얼굴을 순차적으로 검출하는 (b) 단계와, 상기 (b) 단계에서 검출을 수행하지 않은 나머지 모드 얼굴을 검출하는 (c) 단계 및 상기 (c) 단계에서 나머지 모드 얼굴이 검출된 경우에 상기 이미지 영상에서 얼굴이 검출된 것으로 결정하는 (d) 단계를 포함하는데, 상기 (c) 단계는 모든 방향의 얼굴 검출기를 평행하게 배열하여 하나의 방향에서 얼굴 검출에 성공하면 같은 방향의 보다 복잡한 얼굴 검출기에 의해 얼굴 검출이 수행되고, 얼굴 검출에 실패하면 다른 방향에서 얼굴 검출이 수행되는 (c)-1 단계와, 모든 방향의 얼굴 검출기를 독립적으로 고립되게 배열하여 하나의 방향에서 얼굴 검출에 성공하면 같은 방향의 보다 복잡한 얼굴 검출기에 의해 얼굴 검출이 수행되고, 얼굴 검출에 실패하면, 상기 이미지 영상에서 얼굴이 검출되지 않은 것으로 결정하는 (c)-2 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 다면 얼굴 검출 장치는 이미지 영상을 수신하고 수신된 이미지 영상에 대한 서브 윈도우를 생성하는 서브 윈도우 생성부와, 상기 생성된 서브 윈도우를 전달받아 상기 서브 윈도우로부터 전방향 얼굴이 존재하는지 판단하는 제1 얼굴 탐색부와, 상기 제1 얼굴 탐색부에서 전방향 얼굴이 존재하는 것으로 판단된 경우에, 상하 회전된 제1 모드 얼굴, 머리가 기울어진 제2 모드 얼굴 또는 좌우 회전된 제3 모드 얼굴 중 임의의 2가지 모드 얼굴을 순차적으로 검출하는 제2 얼굴 탐색부와, 상기 제2 얼굴 탐색부에서 검출되지 않은 나머지 모드 얼굴을 검출하는 제3 얼굴 탐색부 및 상기 제1 얼굴 탐색부, 상기 제2 얼굴 탐색부 또는 상기 제3 얼굴 탐색부에서 얼굴이 검출되지 않은 경우 상기 서브 윈도우 생성부로 하여금 새로운 서브 윈도우를 생성하여 상기 제1 얼굴 탐색부로 제공하도록 하는 제어부를 포함하는 얼굴 검출 모듈을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시예들에 의하여 다면 얼굴을 검출하는 방법 및 장치를 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이 다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하도록 기구를 만들 수 있다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
우선, 다면 얼굴을 검출하기 위해서는 사람에게 가능한 얼굴 회전각을 알아내서 이를 정의할 필요가 있다.
사람의 얼굴 회전 방향은 도 1에서 도시한 바와 같이, 예컨대 3차원 좌표축 즉, x축, y축, z축을 중심으로 회전한 경우로 나눌 수 있다.
x축을 중심으로 회전하는 경우에는 윗면(up-view), 정면(frontal-view), 아 래면(down-view)으로 나눌 수 있다.
y축을 중심으로 회전하는 경우에는 좌면(left-view), 정면(frontal-view), 우면(right-view)으로 나눌 수 있다.
z축을 중심으로 회전하는 경우에는 사람의 얼굴이 기울어진 각도로 구별할 수 있는데, 도 1에서는 사람의 얼굴이 30도 간격으로 기울어진 것을 나타내고 있다.
사람에게 가능한 회전각을 x축, y축, z축으로 각각 나누어 살펴보도록 한다.
도 2는 사람의 얼굴을 x축을 중심으로 회전한 회전 각도를 나타내고 있는데, x축을 중심으로 회전하는 것을 'nodding rotation' 또는 'out-of-plane rotation'이라고도 한다.
x축 회전(상하 고개 끄덕임)으로는 [-60°, 80°] 범위 정도이지만, 발생 빈도가 많은 [20°, 50°] 범위의 윗면(up-view) 얼굴은 정면(frontal-view) 얼굴을 검출하는 방법을 이용하여 검출이 가능하고, 그 이상에 해당하는 [50°, 80°] 범위의 윗면(up-view) 얼굴은 얼굴 요소가 잘 보이지 않고, 발생 빈도가 거의 없기 때문에 검출 대상에서 제외할 수 있다. 바람직하게는 x축 회전에 대해서는, [-60°, -20°] 범위의 아래면(down-view) 얼굴과 [-20°, 50°] 범위의 정면(frontal-view) 얼굴만 검출하기로 한다.
도 3은 사람의 얼굴을 y축을 중심으로 회전한 회전 각도를 나타내고 있는데, y축을 중심으로 회전하는 것을 'out-of-plane rotation'이라고도 한다.
y축 회전(좌우 측면으로 회전)으로는 [-180°, 180°] 범위가 되지만, [-180 °, -90°]과 [90°, 180°] 부분은 뒤통수가 정면보다 더 많이 나오는 부분이기 때문에, y축 회전에 대해서 본 발명에 따른 실시예에서는 [-90°, -20°] 범위의 좌면(left-view) 얼굴, [-20°, 20°] 범위의 정면(frontal-view) 얼굴과 [20°, 90°] 범위의 우면(right-view) 얼굴만 검출하기로 한다.
한편, 사람의 얼굴을 z축을 중심으로 회전하는 경우에 z축 회전(좌우 머리 기울임)으로는 [-180°, 180°] 범위를 갖을 수 있다. z축을 중심으로 회전하는 것을 'in-plane rotation'이라고도 한다.
z축 회전에 대해서는, [-180°, 180°] 범위의 모든 회전을 다루지만, 사람이 서 있는 상태에서 회전 가능한 각도는 [-45°, 45°] 범위 정도이기 때문에, 기본 모드 검출 대상으로는 [-45°, 45°] 범위로 하고, 확장 모드 검출 대상으로는 [-180°, 180°] 범위로 하기로 한다.
또한, z축 회전에 대해서는 사람의 얼굴이 30°와 45°간격으로 기울어진 것을 나타낼 수 있는데, 도 4a에서는 전자를, 도 4b에서는 후자를 나타내고 있다.
이하에서는 도 4a에서 도시한 모드를 '제1-z축 회전 모드', 도 4b에서 도시한 모드를 '제2-z축 회전 모드'라고 칭하기로 한다.
z축 회전에서는 좌편향(left-leaned) 얼굴, 똑바른(upright) 얼굴, 우편향(right-leaned) 얼굴이 있다.
[표 1]에서는 위에서 설명한 본 발명의 실시예에 따른 검출 대상 얼굴의 회전각 범위를 나타내고 있다.
구분 X축 회전 Y축 회전 Z축 회전
설명 상하로 고개 끄덕임 좌우 측면으로 회전 좌우로 머리 기울임
회전 가능 각도 [-60°80°] [-180°180°] [-180°180°]
검출 대상 기본 모드 [-60°50°] [-90°90°] [-45°45°]
확장 모드 [-60°50°] [-90°90°] [-180°180°]
한편, 본 발명의 실시에 따른 얼굴 검출 장치는 케스케이드로 연결된 분류기(cascaded classifier)들을 이용하여 얼굴을 검출할 수 있는데, 이 때, 각각의 분류기들은 종래의 외형 기반(appearance-based) 패턴 인식 방법의 하나인 AdaBoost 알고리즘으로 학습된 것으로 한다. AdaBoost 알고리즘은 여러 개의 간단하고 빠른 약한 분류기(weak classifier)들을 가중치의 합(weighted sum) 형태로 구성하여, 빠르면서도 높은 성공률을 갖는 한 개의 강한 분류기(strong classifier)를 만들어 내는 매우 효율적인 학습 알고리즘이다. 이하에서는, 특정한 얼굴의 포즈(pose)를 검출하기 위한 강한 분류기(strong classifier)를 '얼굴 검출기(face detector)'라고 칭하기로 한다.
얼굴 검출기는 미리 학습된 다수의 얼굴 패턴을 이용하여 입력된 영상으로부터 얼굴과 비얼굴을 구별하게 되므로 우선 학습할 얼굴 패턴을 결정할 필요가 있다.
앞서 설명한 바와 같이, x축 회전에 대해서는, [-60°, -20°] 범위의 아래면(down-view) 얼굴과 [-20°, 50°] 범위의 정면(frontal-view) 얼굴을 검출하기 위해서 2개의 얼굴 검출기가 필요하다.
또한, y축 회전에 대해서는, [-90°, -20°] 범위의 좌면(left-view) 얼굴과, [-20°, 20°] 범위의 정면(frontal-view) 얼굴 및 [20°, 90°] 범위의 우면 (right-view) 얼굴을 검출하기 위해서 3개의 얼굴 검출기가 필요하다.
z축 회전에 대해서는, 제1-z축 회전 모드의 경우에 확장 모드에서는 12개의 얼굴 검출기가 필요하고, 기본 모드에서는 3개의 얼굴 검출기가 필요하다. 그리고, 제2-z축 회전 모드의 경우에 확장 모드에서는 8개의 얼굴 검출기가 필요하고, 기본 모드에서는 2개의 얼굴 검출기가 필요하다.
결국, 제1-z축 회전 모드의 경우, x, y, z축 회전을 모두 고려하면, 필요한 얼굴 검출기의 개수는 기본 모드일 경우에는 2×3×3 = 18개이며, 확장 모드일 경우에는 2×3×12 = 72개이다.
그리고, 제2-z축 회전 모드의 경우, x, y, z축 회전을 모두 고려하면, 필요한 얼굴 검출기의 개수는 기본 모드일 경우에는 2×3×2 = 12개이며, 확장 모드일 경우에는 2×3×8 = 48개이다.
그런데, 제1-z축 회전 모드 또는 제2-z축 회전 모드의 경우에는 회전(rotation) 또는 미러링(mirroring: 좌우 좌표 바꾸기) 기법을 이용함으로써 학습에 필요한 얼굴 검출기의 개수를 줄일 수 있는데, 도 5에서 이를 나타내고 있다.
예컨데, 제1-z축 회전 모드에서 정면(frontal-view) 얼굴일 경우에, 똑바른(upright) 얼굴(502)을 -90°, 90°, 180° 만큼 회전하면 508, 520, 514와 같은 얼굴 영상을 얻게 된다. 그리고, 30° 좌편향(left-leaned) 얼굴(524)을 -90°, 90°, 180° 만큼 회전하면 506, 518, 512와 같은 얼굴 영상을 얻게 된다. 또한, 30° 좌편향(left-leaned) 얼굴을 미러링(mirroring)하면 30° 우편향(right-leaned) 얼굴(504)을 얻을 수 있고, 30° 우편향(left-leaned) 얼굴(504)을 -90°, 90°, 180° 만큼 회전하면 510, 522, 516와 같은 얼굴 영상을 얻게 된다. 결국, 똑바른(upright) 얼굴(502)과 30° 좌편향(left-leaned) 얼굴만 학습하면 나머지 다른 얼굴들을 회전(rotation) 또는 미러링(mirroring)을 통하여 얻을 수 있게 되므로, 정면(frontal-view) 얼굴에 대한 12개의 서로 다른 얼굴 검출기는 2개의 검출기만 학습하면 만들어 낼 수 있다.
마찬가지 방법으로 도 6에서 도시하는 바와 같이 좌면(left-view) 얼굴은 각각 3개의 검출기로 12개의 서로 다른 검출기들을 만들어 낼 수 있고, 또한 우면(right-view) 얼굴은 좌면(left-view) 얼굴을 미러링(mirroring)하여 만들어 낼 수 있다.
결국, 제1-z축 회전 모드의 경우, x, y, z축 회전 모두를 고려할 때에 학습해야 할 얼굴 검출기의 개수는 기본 모드와 확장 모드일 경우에 2(frontal-view, down view)×5 = 10개이다. 이 때, 정면(frontal-view) 얼굴에 대하여 학습해야 얼굴들을 도 7에서 나타내고 있다.
제2-z축 회전 모드에서 정면(frontal-view) 얼굴의 경우는 도 8에서 도시하고 있다. 도 8에서 도시하고 있는 바와 같이, 기본 모드의 우편향(right-leaned) 얼굴(802)을 -90°, 90°, 180° 만큼 회전하면 806, 814, 810과 같은 얼굴 영상을 얻게 된다. 그리고, 기본 모드의 우편향(right-leaned) 얼굴(802)을 미러링(mirroring)하면 좌편향(left-leaned) 얼굴(816)을 얻을 수 있고, 좌편향(left-leaned) 얼굴(816)을 -90°, 90°, 180° 만큼 회전하면 804, 812, 808과 같은 얼굴 영상을 얻게 된다. 결국, 우편향(right-leaned) 얼굴(802)만 학습하면 나머지 다른 얼굴들을 회전(rotation) 또는 미러링(mirroring)을 통하여 얻을 수 있게 되므로, 정면(frontal-view) 얼굴에 대한 8개의 서로 다른 얼굴 검출기는 1개의 검출기만 학습하면 만들어 낼 수 있다.
마찬가지 방법으로 도 9에서 도시하는 바와 같이 좌면(left-view) 얼굴은 각각 2개의 검출기로 8개의 서로 다른 검출기들을 만들어 낼 수 있다. 또한 우면(right-view) 얼굴은 좌면(left-view) 얼굴을 미러링(mirroring)하여 만들어 낼 수 있다.
결국, 제2-z축 회전 모드의 경우, x, y, z축 회전 모두를 고려할 때에 학습해야 할 얼굴 검출기의 개수는 기본 모드와 확장 모드일 경우에 2(frontal-view, down view)×3 = 6개이다. 이 때, 정면(frontal-view) 얼굴에 대하여 학습해야 얼굴들을 도 10에서 나타내고 있다.
[표 2]에서는 위에서 설명한 본 발명의 실시예에 따른 얼굴 검출기의 개수를 나타내고 있다.
필요한 얼굴 검출기의 개수 학습해야 할 얼굴 검출기의 개수
제1모드 기본 모드 18 10
확장 모드 72 10
제2모드 기본 모드 12 6
확장 모드 48 6
도 11은 본 발명의 실시예에 따라 얼굴을 검출하는 장치의 블록도를 나타내는 예시도로서, 얼굴 검출 장치(1100)는 촬상 모듈(1120), 얼굴 검출 모듈(1140), 제1 저장 모듈(1160), 제2 저장 모듈(1180)을 포함한다.
촬상 모듈(1120)은 카메라와 같은 촬상 기능을 갖는데, 임의의 객체를 촬상하고, 촬상된 이미지는 얼굴 검출 모듈(1140)로 제공된다.
제1 저장 모듈(1160)은 촬상 모듈(1120) 또는 사용자에 의해 이미 촬상된 이미지를 저장하고, 저장된 이미지는 사용자의 요청에 의해 얼굴 검출 묘듈(1140)로 제공된다.
얼굴 검출 모듈(1140)은 촬상 모듈(1120) 또는 제1 저장 모듈(1160)로부터 제공된 이미지로부터 사람의 얼굴을 검출한다.
제2 저장 모듈(1180)에는 사람의 얼굴이 검출된 이미지가 저장된다. 제2 저장 모듈(1180)에 저장된 이미지는 디스플레이 장치(1182), 얼굴 인식 장치(1184) 또는 유무선 네트워크(1186)를 통하여 상기 이미지를 처리하고자 하는 장치로 전달될 수 있다.
또한, 제1 저장 모듈(1160)과 제2 저장 모듈(1180)은 물리적으로 동일한 저장 매체에서 저장 영역을 달리하여 구현될 수 있고, 각각 별도의 저장 매체에서 구현될 수도 있다. 또한 소프트웨어 프로그램에 의해 각각의 저장 영역이 구별될 수도 있다.
이 때, 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, '모듈'은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다.  '모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서 들을 실행시키도록 구성될 수도 있다.  따라서, 일 예로서 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.  구성요소들과 '모듈'에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈'들로 결합되거나 추가적인 구성요소들과 '모듈'들로 더 분리될 수 있다. 
도 12는 본 발명의 실시예에 따른 얼굴 검출 모듈의 구성을 나타내는 블록도로서, 도 11에서 도시한 얼굴 검출 모듈(1140)을 구체적으로 나타내고 있다. 얼굴 검출 모듈(1140)은 제어부(142)와, 서브 윈도우 생성부(144)와, 제1 얼굴 탐색부(146)와, 제2 얼굴 탐색부(148) 그리고 제3 얼굴 탐색부(150)를 포함한다.
서브 윈도우 생성부(1144)는 촬상 모듈(1120) 또는 제1 저장 모듈(1160)로부터 제공된 이미지에 대한 서브 윈도우를 생성한다. 이 때, 서브 윈도우는 입력된 이미지를 소정의 크기만큼 잘라낸 이미지를 말한다. 예컨대, 입력된 이미지의 크기가 320×240(픽셀)인 경우에 24×24(픽셀) 크기만큼 이미지를 잘라내면, 잘려진 이미지는 입력된 이미지의 서브 윈도우가 되는 것이다. 이 때, 서브 윈도우 생성부(1144)는 최소 서브 윈도우 크기를 정의하고, 최소 서브 윈도우 크기로부터 서브 윈도우의 가로 또는 세로의 크기를 늘려가면서, 즉 서브 윈도우 크기를 증가시키면서 순차적으로 제1 얼굴 탐색부(1146)로 생성된 서브 윈도우를 제공한다.
제1 얼굴 탐색부(1146), 제2 얼굴 탐색부(1148) 및 제3 얼굴 탐색부(1150)는 서브 윈도우 생성부(1144)로부터 생성된 서브 윈도우로부터 얼굴을 검출하기 위한 동작을 수행한다.
제어부(1142)는 제1 얼굴 탐색부(1146) 내지 제3 얼굴 탐색부(1150)의 동작에 따른 얼굴 검출 여부와 관련하여 서브 윈도우 생성부(1144)의 동작을 제어한다.
제1 얼굴 탐색부(1146)가 서브 윈도우 생성부(1144)로부터 서브 윈도우를 수신하면, 수신된 서브 윈도우에서 소정의 알고리즘을 이용하여 얼굴을 탐색한다. 만일 얼굴이 검출되면, 제2 얼굴 탐색부(1148)로 상기 서브 윈도우를 전달하지만, 만일 검출되지 않으면 제어부(1142)는 서브 윈도우 생성부(1144)로 하여금 새로운 서브 윈도우를 생성하게 하여 제1 얼굴 탐색부(1146)로 전달하도록 한다.
제2 얼굴 탐색부(1148)는 전달된 서브 윈도우에서 소정의 알고리즘을 이용하여 얼굴을 탐색한다. 만일 얼굴이 검출되면, 제3 얼굴 탐색부(1150)로 상기 서브 윈도우를 전달하지만, 만일 검출되지 않으면 제어부(1142)는 서브 윈도우 생성부(1144)로 하여금 새로운 서브 윈도우를 생성하게 하여 제1 얼굴 탐색부(1146)로 전달하도록 한다.
제3 얼굴 탐색부(1150)는 전달된 서브 윈도우에서 소정의 알고리즘을 이용하여 얼굴을 탐색한다. 만일 얼굴이 검출되면, 별도의 저장 영역(미도시)에 얼굴이 검출된 서브 윈도우를 저장하고, 촬상 모듈(1120) 또는 제1 저장 모듈(1160)로부터 제공된 이미지에 대한 모든 서브 윈도우에 대한 얼굴 탐색이 종료되면, 저장된 서브 윈도우들을 이용하여 상기 이미지에 대한 얼굴 검출 정보를 제2 저장 모듈(1180)에 저장한다. 그러나, 만일 제3 얼굴 탐색부(1150)에서 얼굴이 검출되지 않 으면, 제어부(1142)는 서브 윈도우 생성부(1144)로 하여금 새로운 서브 윈도우를 생성하게 하여 제1 얼굴 탐색부(1146)로 전달하도록 한다.
한편, 제1 얼굴 탐색부(1146), 제2 얼굴 탐색부(1148), 제3 얼굴 탐색부(1150)에서 얼굴을 탐색하는 알고리즘은 도 13a 내지 도 13c을 이용하여 설명하도록 한다.
도 13a는 종래의 'coarse-to-fine search' 알고리즘을, 도 13b는 종래의 'simple-to-complex search' 알고리즘을, 도 13c은 본 발명의 실시에 따른 'parallel-to-separated search' 알고리즘을 나타내고 있다.
'coarse-to-fine search' 알고리즘은 케스케이드로 연결된 분류기(cascaded classifier)의 초기 단계는 'whole-view' 분류기(classifier)로 구성하고, 점차 좁은 각도의 분류기(classifier)로 구성해 나간다는 것이다. 이러한 알고리즘을 이용하면 초기 단계에서 비얼굴이 빨리 제거됨으로써, 전체 검출 시간을 줄일 수 있게 된다. 이 때, 'whole-view' 분류기(classifier)는 얼굴의 포즈(pose)와는 관계없이 이미 학습된 정보를 이용하여 주어진 서브 윈도우에서 얼굴의 형상이 존재하는지 여부만을 탐색한다.
'simple-to-complex search' 알고리즘은 쉬운 분류기(classifier)를 앞쪽 단계에 위치하고, 어렵고 복잡한 분류기(classifier)를 뒤쪽 단계에 배치하여 속도를 향상시키는 방식이다. 대부분의 비얼굴은 처음 단계에서 제거되기 때문에 초기 단계를 간단하게 만들면 효과가 크게 된다.
'parallel-to-separated search' 알고리즘은 본 발명의 실시예에 따른 것으 로서 예컨대, K 단계까지만 모든 방향에 대한 얼굴 검출기를 평행하게 배열하고, K+1 단계 이후부터는 각 방향의 얼굴 검출기를 독립적으로 고립되게 배열하는 방식이다. 평행하게 배열한다는 의미는, 하나의 방향에서 얼굴검출 성공하면 같은 방향의 다음 단계로 이동하지만, 실패하면 다른 방향에서의 얼굴 검출 과정으로 이동한다는 의미이다. 그리고, 고립되게 배열한다는 의미는, 하나의 방향에서 얼굴 검출에 성공하면 같은 방향의 다음 단계로 이동하지만, 만일 얼굴 검출에 실패할 경우에는 즉시 비얼굴로 결정하고 얼굴 검출을 종료한다는 의미이다. 이러한, 'parallel-to-separated search' 알고리즘을 이용할 경우에는 초기에 입력 영상의 얼굴이 어떤 방향인지 판단하고, 그 이후에는 그 방향에 대해서만 집중적으로 얼굴 또는 비얼굴을 결정할 수 있기 때문에, 높은 정확도와 빠른 속도를 갖는 얼굴 검출기를 구현할 수 있게 된다.
도 13a 내지 도 13c에서 도시한 알고리즘을 결합하여 도 14와 같은 다면 얼굴 검출기를 구성할 수 있다.
도 14에서 도시하고 있는 각각의 블록들은 블록에서 표현되는 방향의 얼굴을 검출하는 얼굴 검출기를 나타내고 있으며, 'A'라고 표시되는 영역은 좌측에서 동작하는 방식과 동일하게 동작하는데, 설명의 편의상 생략하였다. 또한, 아래로 향하는 화살표는 해당 얼굴 검출기에서 얼굴이 검출되었을 때의 동작의 흐름을 나타내고, 오른쪽으로 향하는 화살표는 해당 얼굴 검출기에서 얼굴이 검출되지 않았을 때의 동작의 흐름을 나타낸다.
예컨대, 제1 얼굴 탐색부(1146)가 서브 윈도우 생성부(1144)로부터 특정 서 브 윈도우를 입력받으면, 제1 얼굴 탐색부(1146)에서는 whole-view 얼굴 검출기로 이미 학습된 정보에 따라 얼굴과 비얼굴을 구분한다(1∼1'단계).
만일, 1∼1'단계에서 얼굴이라고 판단되면 상기 서브 윈도우를 제2 얼굴 탐색부(1148)로 전달하고, 제2 얼굴 탐색부(1148)에서는 2∼2'단계와 3∼4단계를 수행한다.
2∼2'단계에서는 x축 회전에 의한 정면(frontal-view) 얼굴과 아래면(down-view) 얼굴의 얼굴 그룹(face group)으로 구분하고, 3∼4단계에서는 z축 회전에 의한 똑바른(upright) 얼굴, 좌편향(left-leaned) 얼굴, 우편향(right-leaned) 얼굴의 얼굴 그룹(face group)으로 구분하여 이미 학습된 정보에 따라 얼굴 검출을 수행한다.
1∼1'단계, 2∼2'단계 그리고 3∼4단계가 수행되는 과정은 'coarse-to-fine search' 알고리즘을 이용하고 있음을 알 수 있다. 또한, 1∼1'단계, 2∼2'단계 그리고 3∼4단계를 수행하는 얼굴 검출기는 내부적으로 'simple-to-complex search' 알고리즘을 사용한다.
5∼M 단계까지는 이미 학습된 정보에 따라 모든 방향으로 얼굴을 구분한다. 이 때, K 단계까지는 현재의 단계에서 얼굴 검출에 성공하면 다음 단계로 이동하고, 실패하면 우측의 얼굴 검출기로 이동한다. 그러나, 이후에는 현재의 단계에서 얼굴 검출에 성공하면 다음 단계로 이동하지만, 실패하면 비얼굴로 결정하고 해당 서브 윈도우에서의 얼굴 검출 동작은 종료하게 된다. 따라서, M 단계까지 도달한 서브 윈도우에 대해서만 얼굴이 검출된 것으로 결정하는 것이다.
이 때, 5∼K단계와 K+1∼M단계가 수행되는 과정은 'parallel-to-separated search' 알고리즘을 이용하고 있음을 알 수 있다. 또한, 5∼K단계와 K+1∼M단계를 수행하는 얼굴 검출기는 내부적으로 'simple-to-complex search' 알고리즘을 사용한다.
도 15a 및 도 15b는 본 발명의 실시예에 따른 얼굴 검출 방법을 나타내는 플로우 차트이다. 또한 도 16은 본 발명의 실시예에 따른 얼굴 검출 과정의 상태를 나타내는 예시도이다.
설명의 편의를 위하여 도 15a, 도 15b, 도 16을 연결하여 설명하도록 하는데, 여기에서 촬상 모듈(1120) 또는 제1 저장 모듈(1160)로부터 제공된 이미지는 x축 회전에 대한 정면(frontal-view) 얼굴인 것으로 가정한다. 따라서, 도 14에서 도시한 2~2'단계는 생략하기로 하고, whole-view 얼굴을 검출하는 단계를 1~2단계로 표시하여 설명하도록 한다.
또한, 도 16에서 'W'는 'whole-view'를, 'U'는 'Upright'를, 'L'은 30 Left leaned'를, 'R'는 '30 Right leaned'를 나타낸다. 그리고, 'f'는 'fail' 즉, 얼굴 검출에 실패했음을 나타내고, 's'는 'succeed' 즉, 얼굴 검출에 성공했음을 나타내며, 'NF'는 'Non-Face'를 나타낸다.
서브 윈도우 생성부(1144)가 임의의 서브 윈도우를 생성하면(S1502), 생성된 서브 윈도우에서 얼굴을 검출하기 위한 초기값 설정 동작이 수행된다(S1504). 이 때, 초기값 변수로서는 n, N1, N2, K, M 등이 있다.
'n'은 얼굴을 검출하는 단계를 나타내고, 'N1'는 whole-view 얼굴을 탐색하기 위한 기준값(reference value)을 나타내고, 'N2'는 z축 회전에 의한 얼굴(upright-view, left leaned-view, right leaned-view)을 탐색하기 위한 기준값을 나타낸다. 그리고, 'M'은 y축 회전에 의한 얼굴(frontal-view, left-view, right-view)을 탐색하기 위한 기준값을 나타내고, 'K'는 본 발명의 실시에 따른 'parallel-to-separated search' 알고리즘에서 있어서, 얼굴 검출기를 '고립'되게 배열하는 단계와 '평행'하게 배열하는 단계를 구분하는 기준값을 나타낸다. 여기에서는 초기값으로 n=1, N1=2, N2=4, K=10, M=25이 설정된다.
초기값 설정 동작이 종료되면, 제1 얼굴 탐색부(1146)는 n 단계에서 whole-view 얼굴을 검출한다(S1506, 1602). 만일 얼굴이 검출되지 않으면 서브 윈도우에는 얼굴이 존재하지 않는 것으로 판단한다. 만일 얼굴이 검출되면 n 값을 1만큼 증가하고(S1508), 증가된 n 값이 N1값을 초과하는지 여부를 판단한다(S1510). 만일 증가된 n 값이 N1값을 초과하지 않는 경우에는 S1506의 동작을 수행한다. 본 발명의 실시예에서는 N1값을 2로 설정하였기 때문에, 제1 얼굴 탐색부(1146)는 whole-view 얼굴에 대하여 'simple-to-complex search' 알고리즘을 1회 수행하게 된다(1602->1604).
S1510 단계에서 증가된 n 값이 N1값을 초과하는 경우에는 제2 얼굴 탐색부(1148)는 n 단계에서 upright-view 얼굴을 검출한다(S1512, 1606). 이 때, 'coarse-to-fine search' 알고리즘이 적용된다.
만일 S1512(1606) 단계에서 얼굴이 검출되지 않으면 동일한 단계에서 left leaned-view 얼굴을 검출한다(S1560, 1608). 만일 S1560 단계에서 얼굴이 검출되지 않으면 동일한 단계에서 right leaned-view 얼굴을 검출한다(S1570, 1610). S1570 단계에서도 얼굴이 검출되지 않으면 해당 서브 윈도우에는 얼굴이 존재하지 않는 것으로 판단한다. 만일 S1512(1606) 단계, S1560(1608) 단계 또는 S1570(1610) 단계에서 얼굴이 검출되면 n 값이 1만큼 증가되고(S1514, S1562, S1572), 증가된 n 값이 N2값을 초과하는지 여부를 판단한다(S1516, S1564, S1574). 만일 증가된 n 값이 N2값을 초과하지 않는 경우에는 S1512 단계, S1560 단계 또는 S1570 단계의 동작을 수행한다. 본 발명의 실시예에서는 N2값을 4로 설정하였기 때문에, 제2 얼굴 탐색부(1148)는 upright-view, left leaned-view 또는 right leaned-view 얼굴에 대하여 'simple-to-complex search' 알고리즘을 1회 수행하게 된다(1606->1612, 1608->1614, 1610->1616).
이하에서는 설명을 용이하게 하기 위하여, S1512 단계에서 얼굴이 검출되고, n 값이 N2값을 초과하였다고 가정한다. 도 15b에서는 이후의 과정을 나타내고 있는데, 이 때 I-블록(S1566)과 II-블록(S1576)은 S1520 단계 내지 S1554 단계에서 동작하는 방법과 동일하게 동작한다.
제3 얼굴 탐색부(1150)는 n 단계에서 upright, frontal-view 얼굴을 검출한다(S1520, 1618). 만일 S1520(1618) 단계에서 얼굴이 검출되지 않으면 동일한 단계 에서 upright, left leaned-view 얼굴을 검출한다(S1526, 1620). 만일 S1526 단계에서 얼굴이 검출되지 않으면 동일한 단계에서 upright, right leaned-view 얼굴을 검출한다(S1532, 1622). S1532 단계에서도 얼굴이 검출되지 않으면 I-블록(1566) 또는 II-블록(1576)에서 얼굴 검출 동작이 수행된다.
만일 S1520(1618) 단계, S1526(1620) 단계 또는 S1532(1622) 단계에서 얼굴이 검출되면 n 값이 1만큼 증가되고(S1522, S1528, S1534), 증가된 n 값이 K값을 초과하는지 여부를 판단한다(S1524, S1530, S1536). 만일 증가된 n 값이 K값을 초과하지 않는 경우에는 S1520 단계, S1526 단계 또는 S1532 단계의 동작을 수행한다. 본 발명의 실시예에서는 K값을 10으로 설정하였기 때문에, 제3 얼굴 탐색부(1150)는 upright, frontal-view, upright left-view 또는 upright right-view 얼굴에 대하여 'simple-to-complex search' 알고리즘을 최대 5회 수행하게 된다(1618->1624, 1620->1626, 1622->1628).
이하에서는 설명을 용이하게 하기 위하여, S1520 단계에서 얼굴이 검출되고, n 값이 K값을 초과하였다고 가정한다.
제3 얼굴 탐색부(1150)는 n 단계에서 upright, frontal-view 얼굴을 검출한다(S1540, 1630). 만일 S1540(1630) 단계에서 얼굴이 검출되지 않으면 해당 서브 윈도우에서 얼굴이 존재하지 않는 것으로 판단한다. 만일 S1540 단계에서 얼굴이 검출되면 n 값이 1만큼 증가되고(S1542), 증가된 n 값이 M값을 초과하는지 여부를 판단한다(S1544). 만일 증가된 n 값이 M값을 초과하지 않는 경우에는 S1540 단계의 동작을 수행한다. 그리고 증가된 n 값이 M값을 초과하는 경우에는 비로소 해당 윈 도우에 얼굴이 존재하는 것으로 결정하게 된다.
앞서 설명한 바와 같이 제3 얼굴 탐색부(1150)에서 동작하는 과정은 본 발명의 실시에 따른 'parallel-to-separated search' 알고리즘과 종래의 'simple-to-complex search' 알고리즘을 적용하고 있다. 즉, K 단계까지는 모든 방향에 대한 얼굴 검출기를 평행하게 배열하고, K+1 단계부터 M 단계까지는 각 방향의 얼굴 검출기를 고립되게 배열하고 있으며, 다음 단계로 이동하면서 'simple-to-complex search' 알고리즘을 적용하고 있다.
한편, 본 발명의 실시예에서는 x축 회전된 얼굴을 검출하고나서 z축 회전된 얼굴을 검출하고, 마지막으로 y축 회전된 얼굴을 검출하는 순서로 동작하고 있으나, 이러한 순서는 예시적인 것이며 순서를 달리하여 얼굴을 검출하는 것은 당업자에게 자명하다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정하는 것은 아니다.
본 발명의 실시에 따라, x축 회전, y축 회전, z축 회전 얼굴을 모두 검출할 수 있는 효과가 있다.
또다른 효과로서, 다면 얼굴 검출기의 앞 단계에서 포즈 추정기(pose estimator)를 사용하지 않음으로써 포즈 추정기(pose estimator)의 에러를 발생시 키지 않고, 정확도 및 연산속도를 향상시킴으로써 보다 효율적으로 연산 과정을 수행할 수 있게 된다.
또한, 본 발명은 신용카드, 현금카드, 전자주민등록증 등과, 신분확인을 필요로 하는 카드류, 단말기 접근제어, 공공장소 관제시스템, 전자사진첩 및 범죄자 사진 인식등과 같이 얼굴인식을 필요로 하는 분야의 전단계로 널리 적용될 수 있을 뿐 아니라, 보안 감시 시스템에도 유용하게 적용될 수 있다.

Claims (20)

  1. 상하 회전된 제1 모드 얼굴, 머리가 기울어진 제2 모드 얼굴 또는 좌우 회전된 제3 모드 얼굴 중 임의의 2가지 모드 얼굴을 순차적으로 검출하는 (a) 단계;
    상기 (a) 단계에서 검출을 수행하지 않은 나머지 모드 얼굴을 검출하는 (b) 단계; 및
    상기 (b) 단계에서 나머지 모드 얼굴이 검출된 경우에 상기 이미지 영상에서 얼굴이 검출된 것으로 결정하는 (c) 단계를 포함하는데,
    상기 (b) 단계는 검출가능한 방향의 얼굴 검출기를 평행하게 배열하여 얼굴 검출을 수행하는 (b)-1 단계와,
    검출가능한 방향의 얼굴 검출기를 독립적으로 고립되게 배열하여 얼굴 검출을 수행하는 (b)-2 단계를 포함하는 다면 얼굴 검출 방법.
  2. 제1항에 있어서,
    상기 (b)-1 단계는 모든 방향의 얼굴 검출기를 평행하게 배열하여 하나의 방향에서 얼굴 검출에 성공하면 같은 방향의 보다 복잡한 얼굴 검출기에 의해 얼굴 검출이 수행되고, 얼굴 검출에 실패하면 다른 방향에서 얼굴 검출이 수행되는 수행되는 단계를 포함하는 다면 얼굴 검출 방법.
  3. 제1항에 있어서,
    상기 (b)-2 단계는 모든 방향의 얼굴 검출기를 독립적으로 고립되게 배열하여 하나의 방향에서 얼굴 검출에 성공하면 같은 방향의 보다 복잡한 얼굴 검출기에 의해 얼굴 검출이 수행되고, 얼굴 검출에 실패하면 상기 이미지 영상에서 얼굴이 검출되지 않은 것으로 결정하는 단계를 포함하는 다면 얼굴 검출 방법.
  4. 제1항에 있어서,
    상기 (a) 단계는 'coarse-to-fine search' 알고리즘을 이용하여 상기 임의의 2가지 모드 얼굴을 순차적으로 검출하는 다면 얼굴 검출 방법.
  5. 제1항에 있어서,
    상기 (a) 단계는 'simple-to-complex search' 알고리즘을 이용하여 임의의 모드 얼굴을 검출하는 다면 얼굴 검출 방법.
  6. 제1항에 있어서,
    상기 제1 모드 얼굴은 x축을 회전하여 [-60°, -20°] 범위의 아래면(down-view) 얼굴과 [-20°, 50°] 범위의 정면(frontal-view) 얼굴로 나누어 얼굴 검출이 수행되도록 하는 다면 얼굴 검출 방법.
  7. 제1항에 있어서,
    상기 제2 모드 얼굴은 z축을 회전하여 [-45°, 45°] 범위에서 똑바른 (upright) 얼굴과 똑바른(upright) 얼굴로부터 -30° 또는 30° 만큼 회전된 편향된(leaned) 얼굴을 이용하여 [-180°, 180°] 범위에 속하는 기울어진 얼굴을 검출하는 다면 얼굴 검출 방법.
  8. 제1항에 있어서,
    상기 제2 모드 얼굴은 z축을 회전하여 [-45°, 45°] 범위에서 회전각도가 45°인 2개의 편향된(leaned) 얼굴을 이용하여 [-180°, 180°] 범위에 속하는 기울어진 얼굴을 검출하는 다면 얼굴 검출 방법.
  9. 제1항에 있어서,
    상기 제3 모드 얼굴은 y축을 회전하여 [-90°, -20°] 범위의 좌면(left-view) 얼굴, [-20°, 20°] 범위의 정면(frontal-view) 얼굴과 [20°, 90°] 범위의 우면(right-view) 얼굴로 나누어 얼굴 검출이 수행되도록 하는 다면 얼굴 검출 방법.
  10. 이미지 영상을 수신하고 수신된 이미지 영상에 대한 서브 윈도우를 생성하는 서브 윈도우 생성부;
    상기 생성된 서브 윈도우를 전달받아 상기 서브 윈도우로부터 전방향 얼굴이 존재하는지 판단하는 제1 얼굴 탐색부;
    상기 제1 얼굴 탐색부에서 전방향 얼굴이 존재하는 것으로 판단된 경우에, 상하 회전된 제1 모드 얼굴, 머리가 기울어진 제2 모드 얼굴 또는 좌우 회전된 제3 모드 얼굴 중 임의의 2가지 모드 얼굴을 순차적으로 검출하는 제2 얼굴 탐색부;
    상기 제2 얼굴 탐색부에서 검출되지 않은 나머지 모드 얼굴을 검출하는 제3 얼굴 탐색부; 및
    상기 제1 얼굴 탐색부, 상기 제2 얼굴 탐색부 또는 상기 제3 얼굴 탐색부에서 얼굴이 검출되지 않은 경우 상기 서브 윈도우 생성부로 하여금 새로운 서브 윈도우를 생성하여 상기 제1 얼굴 탐색부로 제공하도록 하는 제어부를 포함하는 얼굴 검출 모듈을 포함하는 다면 얼굴 검출 장치.
  11. 제10항에 있어서,
    임의의 객체를 촬상하는 촬상 모듈을 더 포함하는데, 상기 서브 윈도우 생성부가 수신한 이미지 영상은 상기 촬상 모듈로부터 수신한 이미지 영상인 다면 얼굴 검출 장치.
  12. 제10항에 있어서,
    사용자에 의해 이미 촬상된 이미지 영상을 저장하는 저장 모듈을 더 포함하는데, 상기 서브 윈도우 생성부가 수신한 이미지 영상은 상기 저장 모듈로부터 수신한 이미지 영상인 다면 얼굴 검출 장치.
  13. 제10항에 있어서,
    상기 얼굴 검출 모듈에 의해 검출된 이미지 영상이 저장되는 저장 모듈을 더 포함하는 다면 얼굴 검출 장치.
  14. 제10항에 있어서,
    상기 제3 얼굴 탐색부는 모든 방향의 얼굴 검출기를 평행하게 배열하여 하나의 방향에서 얼굴 검출에 성공하면 같은 방향의 보다 복잡한 얼굴 검출기에 의해 얼굴 검출이 수행되고, 얼굴 검출에 실패하면 다른 방향에서 얼굴 검출이 수행되는 단계와, 모든 방향의 얼굴 검출기를 독립적으로 고립되게 배열하여 하나의 방향에서 얼굴 검출에 성공하면 같은 방향의 보다 복잡한 얼굴 검출기에 의해 얼굴 검출이 수행되고, 얼굴 검출에 실패하면, 상기 이미지 영상에서 얼굴이 검출되지 않은 것으로 결정하는 단계를 순차적으로 수행하는 다면 얼굴 검출 장치.
  15. 제10항에 있어서,
    상기 제2 얼굴 탐색부는 'coarse-to-fine search' 알고리즘을 이용하여 상기 임의의 2가지 모드 얼굴을 순차적으로 검출하는 다면 얼굴 검출 장치.
  16. 제10항에 있어서,
    상기 제2 얼굴 탐색부는 'simple-to-complex search' 알고리즘을 이용하여 임의의 모드 얼굴을 검출하는 다면 얼굴 검출 장치.
  17. 제10항에 있어서,
    상기 제1 모드 얼굴은 x축을 회전하여 [-60°, -20°] 범위의 아래면(down-view) 얼굴과 [-20°, 50°] 범위의 정면(frontal-view) 얼굴로 나누어 얼굴 검출이 수행되도록 하는 다면 얼굴 검출 장치.
  18. 제10에 있어서,
    상기 제2 모드 얼굴은 z축을 회전하여 [-45°, 45°] 범위에서 똑바른(upright) 얼굴과 똑바른(upright) 얼굴로부터 -30° 또는 30° 만큼 회전된 편향된(leaned) 얼굴을 이용하여 [-180°, 180°] 범위에 속하는 기울어진 얼굴을 검출하는 다면 얼굴 검출 장치.
  19. 제10항에 있어서,
    상기 제2 모드 얼굴은 z축을 회전하여 [-45°, 45°] 범위에서 회전각도가 45°인 2개의 편향된(leaned) 얼굴을 이용하여 [-180°, 180°] 범위에 속하는 기울어진 얼굴을 검출하는 다면 얼굴 검출 장치.
  20. 제10항에 있어서,
    상기 제3 모드 얼굴은 y축을 회전하여 [-90°, -20°] 범위의 좌면(left-view) 얼굴, [-20°, 20°] 범위의 정면(frontal-view) 얼굴과 [20°, 90°] 범위의 우면(right-view) 얼굴로 나누어 얼굴 검출이 수행되도록 하는 다면 얼굴 검출 장치.
KR1020040102411A 2004-12-07 2004-12-07 다면 얼굴을 검출하는 방법 및 장치 KR100643303B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040102411A KR100643303B1 (ko) 2004-12-07 2004-12-07 다면 얼굴을 검출하는 방법 및 장치
US11/285,172 US20060120604A1 (en) 2004-12-07 2005-11-23 Method and apparatus for detecting multi-view faces

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040102411A KR100643303B1 (ko) 2004-12-07 2004-12-07 다면 얼굴을 검출하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20060063286A true KR20060063286A (ko) 2006-06-12
KR100643303B1 KR100643303B1 (ko) 2006-11-10

Family

ID=36574269

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040102411A KR100643303B1 (ko) 2004-12-07 2004-12-07 다면 얼굴을 검출하는 방법 및 장치

Country Status (2)

Country Link
US (1) US20060120604A1 (ko)
KR (1) KR100643303B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100779171B1 (ko) * 2006-08-18 2007-11-26 학교법인 포항공과대학교 실시간 정확한 얼굴 검출 장치 및 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4619927B2 (ja) * 2005-11-01 2011-01-26 富士フイルム株式会社 顔検出方法および装置並びにプログラム
JP4450799B2 (ja) * 2006-03-10 2010-04-14 富士フイルム株式会社 対象画像検出装置の制御方法
KR101330636B1 (ko) * 2007-01-24 2013-11-18 삼성전자주식회사 얼굴시점 결정장치 및 방법과 이를 채용하는 얼굴검출장치및 방법
US8363909B2 (en) * 2007-03-20 2013-01-29 Ricoh Company, Limited Image processing apparatus, image processing method, and computer program product
CN101271515B (zh) 2007-03-21 2014-03-19 株式会社理光 能识别多角度目标的图像检测装置
CN101271514B (zh) * 2007-03-21 2012-10-10 株式会社理光 一种快速目标检测和目标输出的图像检测方法及装置
KR101362768B1 (ko) * 2007-11-23 2014-02-14 삼성전자주식회사 객체 검출 방법 및 장치
JP4466770B2 (ja) * 2008-06-26 2010-05-26 カシオ計算機株式会社 撮像装置、撮像方法および撮像プログラム
US8396263B2 (en) * 2008-12-30 2013-03-12 Nokia Corporation Method, apparatus and computer program product for providing face pose estimation
JP5517504B2 (ja) * 2009-06-29 2014-06-11 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
US9183447B1 (en) * 2011-06-09 2015-11-10 Mobileye Vision Technologies Ltd. Object detection using candidate object alignment
KR101175597B1 (ko) 2011-09-27 2012-08-21 (주)올라웍스 아다부스트 학습 알고리즘을 이용하여 얼굴 특징점 위치를 검출하기 위한 방법, 장치, 및 컴퓨터 판독 가능한 기록 매체
JP2013074570A (ja) * 2011-09-29 2013-04-22 Sanyo Electric Co Ltd 電子カメラ
US9697346B2 (en) * 2012-03-06 2017-07-04 Cisco Technology, Inc. Method and apparatus for identifying and associating devices using visual recognition
JP5541407B1 (ja) * 2013-08-09 2014-07-09 富士ゼロックス株式会社 画像処理装置及びプログラム
CN103577841A (zh) * 2013-11-11 2014-02-12 浙江大学 一种无监督多视图特征选择的人体行为识别方法
GB2522259B (en) * 2014-01-20 2020-04-29 Apical Ltd A method of object orientation detection
CN105488371B (zh) * 2014-09-19 2021-04-20 中兴通讯股份有限公司 一种脸部识别方法和装置
US10467458B2 (en) * 2017-07-21 2019-11-05 Altumview Systems Inc. Joint face-detection and head-pose-angle-estimation using small-scale convolutional neural network (CNN) modules for embedded systems
CN106921658A (zh) * 2017-02-14 2017-07-04 上海斐讯数据通信技术有限公司 一种路由器设备安全防护方法及系统
US10691925B2 (en) * 2017-10-28 2020-06-23 Altumview Systems Inc. Enhanced face-detection and face-tracking for resource-limited embedded vision systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09171560A (ja) * 1995-12-20 1997-06-30 Oki Electric Ind Co Ltd 顔の傾き検出装置
US6128397A (en) * 1997-11-21 2000-10-03 Justsystem Pittsburgh Research Center Method for finding all frontal faces in arbitrarily complex visual scenes
KR20020022295A (ko) * 2000-09-19 2002-03-27 장기화 3차원 정보를 이용한 얼굴 인식 장치 및 방법
US20030063781A1 (en) 2001-09-28 2003-04-03 Koninklijke Philips Electronics N.V. Face recognition from a temporal sequence of face images
US7050607B2 (en) * 2001-12-08 2006-05-23 Microsoft Corp. System and method for multi-view face detection
JP2004005014A (ja) 2002-05-30 2004-01-08 Symtron Technology Inc 顔認識システム
US6959109B2 (en) * 2002-06-20 2005-10-25 Identix Incorporated System and method for pose-angle estimation
JP2004062565A (ja) 2002-07-30 2004-02-26 Canon Inc 画像処理装置及び方法並びにプログラム記憶媒体
US7203669B2 (en) * 2003-03-17 2007-04-10 Intel Corporation Detector tree of boosted classifiers for real-time object detection and tracking
JP5025893B2 (ja) * 2004-03-29 2012-09-12 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
CN100472556C (zh) * 2005-10-09 2009-03-25 欧姆龙株式会社 特定被摄体检测装置及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100779171B1 (ko) * 2006-08-18 2007-11-26 학교법인 포항공과대학교 실시간 정확한 얼굴 검출 장치 및 방법

Also Published As

Publication number Publication date
KR100643303B1 (ko) 2006-11-10
US20060120604A1 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
KR100643303B1 (ko) 다면 얼굴을 검출하는 방법 및 장치
Cheng et al. Gaze estimation by exploring two-eye asymmetry
Yue et al. The peeping eye in the sky
US9813907B2 (en) Sensor-assisted user authentication
EP3786894A1 (en) Method, device and apparatus for repositioning in camera orientation tracking process, and storage medium
Heisele et al. Face detection in still gray images
Shih et al. Face detection using discriminating feature analysis and support vector machine
WO2015041983A1 (en) Dynamic object tracking for user interfaces
EP4174716A1 (en) Pedestrian tracking method and device, and computer readable storage medium
WO2021035966A1 (zh) 视觉定位方法及相关装置
Phankokkruad et al. An evaluation of technical study and performance for real-time face detection using web real-time communication
CN117581275A (zh) 眼睛注视分类
Kawato et al. Scale-adaptive face detection and tracking in real time with SSR filters and support vector machine
Ponimatkin et al. A simple and powerful global optimization for unsupervised video object segmentation
Zhang et al. Robust multi-view multi-camera face detection inside smart rooms using spatio-temporal dynamic programming
Yan et al. Clustered multi-task linear discriminant analysis for view invariant color-depth action recognition
Yeh et al. Fast medium-scale multiperson identification in aerial videos
Kim A personal identity annotation overlay system using a wearable computer for augmented reality
Kapoor et al. A comparative study on deep learning and machine learning models for human action recognition in aerial videos.
Utsumi et al. Human tracking using multiple-camera-based head appearance modeling
CN115278014A (zh) 一种目标跟踪方法、系统、计算机设备及可读介质
Cokbas et al. Spatio-visual fusion-based person re-identification for overhead fisheye images
Zheng et al. Gait identification under surveillance environment based on human skeleton
Chen et al. Panoramic appearance-based recognition of video contents using matching graphs
Song et al. ConcatNet: A deep architecture of concatenation-assisted network for dense facial landmark alignment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee