KR102014093B1 - 얼굴의 특징점 검출 시스템 및 방법 - Google Patents

얼굴의 특징점 검출 시스템 및 방법 Download PDF

Info

Publication number
KR102014093B1
KR102014093B1 KR1020160036930A KR20160036930A KR102014093B1 KR 102014093 B1 KR102014093 B1 KR 102014093B1 KR 1020160036930 A KR1020160036930 A KR 1020160036930A KR 20160036930 A KR20160036930 A KR 20160036930A KR 102014093 B1 KR102014093 B1 KR 102014093B1
Authority
KR
South Korea
Prior art keywords
face
feature point
eigen
region
codebook
Prior art date
Application number
KR1020160036930A
Other languages
English (en)
Other versions
KR20170111452A (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 KR1020160036930A priority Critical patent/KR102014093B1/ko
Priority to PCT/KR2016/007034 priority patent/WO2017171142A1/ko
Publication of KR20170111452A publication Critical patent/KR20170111452A/ko
Application granted granted Critical
Publication of KR102014093B1 publication Critical patent/KR102014093B1/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
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • G06K9/00221
    • G06K9/00248
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • 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

Landscapes

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

Abstract

얼굴의 특징점 검출 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 얼굴의 특징점 검출 시스템은, 복수의 얼굴 이미지 각각을 설정된 크기로 분할하고, 상기 얼굴 이미지의 분할된 각 영역의 특징 벡터와 상기 얼굴 이미지 내의 설정된 특징점의 위치 사이의 상관 관계를 학습함으로써 아이겐-코드북(eigen-codebook)을 생성하며, 상기 아이겐-코드북으로부터 상기 상관 관계를 나타내는 회귀 행렬(regression matrix)을 계산하는 학습부; 및 대상 이미지로부터 얼굴 영역을 검출하고, 상기 얼굴 영역을 설정된 크기로 분할하며, 상기 얼굴 영역의 분할된 각 영역의 특징 벡터를 검출하고, 검출된 상기 특징 벡터와 상기 회귀 행렬을 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 검출부를 포함한다.

Description

얼굴의 특징점 검출 시스템 및 방법{SYSTEM AND METHOD FOR DETECTING FEATURE POINTS OF FACE}
본 발명의 실시예들은 얼굴의 특징점을 검출하는 기술과 관련된다.
영상 처리 기술이 발달함에 따라 대상 이미지로부터 얼굴을 인식하는 기술이 점차 상용화되고 있다. 일반적으로, 얼굴을 인식하기 위해서는 얼굴의 특징점을 검출하여야 하며, 얼굴의 특징점을 검출하기 위해 대상 이미지와 학습용 얼굴 이미지의 패턴을 비교하는 방식이 주로 사용되었다. 그러나, 종래 기술에 따르면 얼굴의 특징점들에 대응되는 국소 패턴(local patterns)을 일일이 추출하여야 하는 번거로움이 있었으며, 이 경우 국소 패턴의 추출에 따른 시간 소요가 상당하고 국소 패턴의 저장에 따른 스토리지의 저장 공간이 낭비되는 문제점이 있었다. 또한, 종래에는 얼굴의 특징점 검출을 위해 별도의 패턴 검색 알고리즘을 사용하여야 하였으며, 이 경우 특징점을 검출하는 데 사용되는 계산의 복잡도(complexity)가 큰 문제점이 있었다. 나아가, 종래에는 패턴 검색시 이미지의 픽셀값을 비교하는 방식을 사용하였으며, 이 경우 이미지의 밝기, 주변 조명 변화 등에 따라 특징점 검출의 정확도가 떨어지는 문제점이 있었다.
한국공개특허공보 제10-2012-0066462호(2012.06.22)
본 발명의 실시예들은 얼굴의 특징점 검출시 높은 검출 정확도를 보장하면서 스토리지에 저장되는 데이터의 양 및 검출 연산량을 최소화하는 수단을 제공하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 복수의 얼굴 이미지 각각을 설정된 크기로 분할하고, 상기 얼굴 이미지의 분할된 각 영역의 특징 벡터와 상기 얼굴 이미지 내의 설정된 특징점의 위치 사이의 상관 관계를 학습함으로써 아이겐-코드북(eigen-codebook)을 생성하며, 상기 아이겐-코드북으로부터 상기 상관 관계를 나타내는 회귀 행렬(regression matrix)을 계산하는 학습부; 및 대상 이미지로부터 얼굴 영역을 검출하고, 상기 얼굴 영역을 설정된 크기로 분할하며, 상기 얼굴 영역의 분할된 각 영역의 특징 벡터를 검출하고, 검출된 상기 특징 벡터와 상기 회귀 행렬을 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 검출부를 포함하는, 얼굴의 특징점 검출 시스템이 제공된다.
상기 학습부는, 상기 얼굴 이미지의 분할된 각 영역에 설정된 특징점 검출 알고리즘을 적용하여
Figure 112016029566672-pat00001
를 획득하고, 상기
Figure 112016029566672-pat00002
에 PCA(Principal Component Analysis) 알고리즘을 적용하여
Figure 112016029566672-pat00003
를 획득하며, 상기
Figure 112016029566672-pat00004
와 상기
Figure 112016029566672-pat00005
를 이용하여 상기 아이겐-코드북을 생성할 수 있다.
(여기서,
Figure 112016029566672-pat00006
는 n번째 얼굴 이미지의 분할된 영역 s에서의 특징 벡터에 관한 데이터이며, M은 매트릭스(matrix)임. 또한,
Figure 112016029566672-pat00007
Figure 112016029566672-pat00008
내지
Figure 112016029566672-pat00009
의 평균을 나타내며,
Figure 112016029566672-pat00010
Figure 112016029566672-pat00011
내지
Figure 112016029566672-pat00012
에 대해 상기 PCA 알고리즘을 적용함으로써 획득되는 아이겐 데이터임. 이때, 아이겐 데이터
Figure 112016029566672-pat00013
의 아이겐 값을
Figure 112016029566672-pat00014
라 하였을 때
Figure 112016029566672-pat00015
임. 또한,
Figure 112016029566672-pat00016
Figure 112016029566672-pat00017
내지
Figure 112016029566672-pat00018
의 총 개수임)
상기 학습부는, 상기
Figure 112016029566672-pat00019
와 상기
Figure 112016029566672-pat00020
사이의 상관 관계를 나타내고 다음의 수학식을 만족하는
Figure 112016029566672-pat00021
를 계산하며, 상기
Figure 112016029566672-pat00022
를 이용하여 상기 아이겐-코드북을 생성할 수 있다.
Figure 112016029566672-pat00023
(여기서, ㆍ는 매트릭스 곱(multiplication)을 의미함)
상기 학습부는, 다음의 수학식을 만족하는 n번째 얼굴 이미지의 분할된 영역 s 의 중심으로부터 상기 얼굴 이미지의 설정된 특징점 k까지의 방향 벡터
Figure 112016029566672-pat00024
를 계산하고,
Figure 112016029566672-pat00025
다음의 수학식을 이용하여
Figure 112016029566672-pat00026
를 계산하며,
Figure 112016029566672-pat00027
상기 아이겐-코드북은, 상기
Figure 112016029566672-pat00028
및 상기
Figure 112016029566672-pat00029
를 포함할 수 있다.
상기 학습부는, 다음의 수학식을 이용하여 상기 아이겐-코드북으로부터 상기 회귀 행렬을 계산할 수 있다.
Figure 112016029566672-pat00030
(여기서,
Figure 112016029566672-pat00031
는 회귀 행렬을 나타내며, T는 전치 행렬을 의미함)
상기 검출부는, 상기 얼굴 영역의 분할된 각 영역에 설정된 특징점 검출 알고리즘을 적용하여
Figure 112016029566672-pat00032
를 획득하고, 다음의 수학식을 이용하여 상기 얼굴 영역의 분할된 영역 s의 중심으로부터 상기 특징점 k까지의 방향 벡터
Figure 112016029566672-pat00033
를 계산하며, 상기
Figure 112016029566672-pat00034
를 이용하여 상기 얼굴 영역의 특징점의 위치를 검출할 수 있다.
Figure 112016029566672-pat00035
상기 검출부는, 상기 얼굴 영역의 분할된 각 영역의 중심으로부터 상기 특징점 k까지의 방향 벡터의 크기들의 합이 최소가 되는 지점을 상기 특징점 k의 위치 좌표로 결정함으로써 상기 얼굴 영역의 특징점의 위치를 검출할 수 있다.
상기 검출부는, 상기 각 영역별 상기 방향 벡터의 크기들의 가중치 합(weighted sum)이 최소가 되는 지점을 상기 특징점 k의 위치 좌표로 결정함으로써 상기 얼굴 영역의 특징점의 위치를 검출할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 학습부에서, 복수의 얼굴 이미지 각각을 설정된 크기로 분할하는 단계; 상기 학습부에서, 상기 얼굴 이미지의 분할된 각 영역의 특징 벡터와 상기 얼굴 이미지 내의 설정된 특징점의 위치 사이의 상관 관계를 학습함으로써 아이겐-코드북(eigen-codebook)을 생성하는 단계; 상기 학습부에서, 상기 아이겐-코드북으로부터 상기 상관 관계를 나타내는 회귀 행렬(regression matrix)을 계산하는 단계; 검출부에서, 대상 이미지로부터 얼굴 영역을 검출하는 단계; 상기 검출부에서, 상기 얼굴 영역을 설정된 크기로 분할하는 단계; 상기 검출부에서, 상기 얼굴 영역의 분할된 각 영역의 특징 벡터를 검출하는 단계; 및 상기 검출부에서, 검출된 상기 특징 벡터와 상기 회귀 행렬을 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 단계를 포함하는, 얼굴의 특징점 검출 방법이 제공된다.
상기 아이겐-코드북을 생성하는 단계는, 상기 얼굴 이미지의 분할된 각 영역에 설정된 특징점 검출 알고리즘을 적용하여
Figure 112016029566672-pat00036
를 획득하는 단계; 상기
Figure 112016029566672-pat00037
에 PCA(Principal Component Analysis) 알고리즘을 적용하여
Figure 112016029566672-pat00038
를 획득하는 단계; 및 상기
Figure 112016029566672-pat00039
와 상기
Figure 112016029566672-pat00040
를 이용하여 상기 아이겐-코드북을 생성하는 단계를 포함할 수 있다.
(여기서,
Figure 112016029566672-pat00041
는 n번째 얼굴 이미지의 분할된 영역 s에서의 특징 벡터에 관한 데이터이며, M은 매트릭스(matrix)임. 또한,
Figure 112016029566672-pat00042
Figure 112016029566672-pat00043
내지
Figure 112016029566672-pat00044
의 평균을 나타내며,
Figure 112016029566672-pat00045
Figure 112016029566672-pat00046
내지
Figure 112016029566672-pat00047
에 대해 상기 PCA 알고리즘을 적용함으로써 획득되는 아이겐 데이터임. 이때, 아이겐 데이터
Figure 112016029566672-pat00048
의 아이겐 값을
Figure 112016029566672-pat00049
라 하였을 때
Figure 112016029566672-pat00050
임. 또한,
Figure 112016029566672-pat00051
Figure 112016029566672-pat00052
내지
Figure 112016029566672-pat00053
의 총 개수임)
상기
Figure 112016029566672-pat00054
와 상기
Figure 112016029566672-pat00055
를 이용하여 상기 아이겐-코드북을 생성하는 단계는, 상기
Figure 112016029566672-pat00056
와 상기
Figure 112016029566672-pat00057
사이의 상관 관계를 나타내며 다음의 수학식을 만족하는
Figure 112016029566672-pat00058
를 계산하는 단계; 및 상기
Figure 112016029566672-pat00059
를 이용하여 상기 아이겐-코드북을 생성하는 단계를 포함할 수 있다.
Figure 112016029566672-pat00060
(여기서, ㆍ는 매트릭스 곱(multiplication)을 의미함)
상기
Figure 112016029566672-pat00061
를 이용하여 상기 아이겐-코드북을 생성하는 단계는, 다음의 수학식을 만족하는 n번째 얼굴 이미지의 분할된 영역 s 의 중심으로부터 상기 얼굴 이미지의 설정된 특징점 k까지의 방향 벡터
Figure 112016029566672-pat00062
를 계산하는 단계; 및
Figure 112016029566672-pat00063
다음의 수학식을 이용하여
Figure 112016029566672-pat00064
를 계산하는 단계를 포함하며,
Figure 112016029566672-pat00065
상기 아이겐-코드북은, 상기
Figure 112016029566672-pat00066
및 상기
Figure 112016029566672-pat00067
를 포함할 수 있다.
상기 회귀 행렬을 계산하는 단계는, 다음의 수학식을 이용하여 상기 아이겐-코드북으로부터 상기 회귀 행렬을 계산할 수 있다.
Figure 112016029566672-pat00068
(여기서,
Figure 112016029566672-pat00069
는 회귀 행렬을 나타내며, T는 전치 행렬을 의미함)
상기 얼굴 영역의 특징점의 위치를 검출하는 단계는, 상기 얼굴 영역의 분할된 각 영역에 설정된 특징점 검출 알고리즘을 적용하여
Figure 112016029566672-pat00070
를 획득하는 단계; 다음의 수학식을 이용하여 상기 얼굴 영역의 분할된 영역 s의 중심으로부터 상기 특징점 k까지의 방향 벡터
Figure 112016029566672-pat00071
를 계산하는 단계; 및
Figure 112016029566672-pat00072
상기
Figure 112016029566672-pat00073
를 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 단계를 포함할 수 있다.
상기
Figure 112016029566672-pat00074
를 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 단계는, 상기 얼굴 영역의 분할된 각 영역의 중심으로부터 상기 특징점 k까지의 방향 벡터의 크기들의 합이 최소가 되는 지점을 상기 특징점 k의 위치 좌표로 결정함으로써 상기 얼굴 영역의 특징점의 위치를 검출할 수 있다.
상기
Figure 112016029566672-pat00075
를 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 단계는, 상기 각 영역별 상기 방향 벡터의 크기들의 가중치 합(weighted sum)이 최소가 되는 지점을 상기 특징점 k의 위치 좌표로 결정함으로써 상기 얼굴 영역의 특징점의 위치를 검출할 수 있다.
본 발명의 실시예들에 따르면, 얼굴의 일 지점에서 국소 패턴(local patterns)을 추출하는 대신 학습용 복수의 얼굴 이미지에 기초한 통계적인 추론 기법을 이용하여 대상 이미지의 얼굴 영역 내 특징점의 위치를 보다 빠르고 정확하게 검출할 수 있다. 구체적으로, 본 발명의 실시예들에 따르면, 미리 계산된 회귀 행렬을 이용함으로써 패턴 검색 알고리즘을 이용하는 종래 기술에 비해 특징점을 검출하는 데 사용되는 계산의 복잡도(complexity) 및 스토리지의 사이즈를 최소화할 수 있다. 일 예시로서, 본 발명의 실시예들에 따르면, 높은 검출 정확도를 유지하면서 5ms 이내에 얼굴의 특징점 검출이 가능하며 특징점 검출을 위해 스토리지에 저장되는 데이터의 양 또한 10MB 를 초과하지 않는다. 이에 따라, 본 발명의 실시예들에 따른 얼굴의 특징점 검출 기법은 모바일 애플리케이션 등과 같은 낮은 성능의 하드웨어에서도 쉽게 구현이 가능하다.
도 1은 본 발명의 일 실시예에 따른 얼굴의 특징점 검출 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 학습부에서 아이겐-코드북을 생성하는 과정을 설명하기 위한 도면
도 3은 본 발명의 일 실시예에 따른 검출부에서 얼굴 영역을 검출하고 검출된 얼굴 영역을 설정된 크기로 분할하는 과정을 설명하기 위한 도면
도 4는 본 발명의 일 실시예에 따른 검출부에서 얼굴 영역의 분할된 각 영역의 중심에서 특징점까지의 방향 벡터를 구하는 과정을 설명하기 위한 도면
도 5는 본 발명의 일 실시예에 따른 검출부에서 특징점의 위치 좌표를 결정하는 과정을 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 얼굴의 특징점 검출 방법을 설명하기 위한 흐름도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 얼굴의 특징점 검출 시스템(100)의 상세 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 얼굴의 특징점 검출 시스템(100)은 학습부(102) 및 검출부(104)를 포함한다.
학습부(102)는 복수의 얼굴 이미지를 기초로 아이겐-코드북(eigen-codebook)을 생성하고, 아이겐-코드북으로부터 회귀 행렬(regression matrix)을 계산하는 모듈이다. 본 실시예들에서 아이겐-코드북이란 얼굴 이미지의 분할된 각 영역의 특징 벡터와 상기 얼굴 이미지 내의 설정된 특징점의 위치 사이의 상관 관계를 학습함으로써 획득되는 학습 데이터들의 집합이며, 회귀 행렬이란 상기 학습 데이터들 중 상기 상관 관계를 수학적으로 나타낸 행렬이다. 후술할 검출부(104)는 상기 회귀 행렬을 이용하여 대상 이미지의 얼굴 영역 내 특징점의 위치를 빠르고 정확하게 검출할 수 있다. 또한, 상기 얼굴 이미지는 아이겐-코드북을 생성하는 데 사용되는 학습용 이미지로서, 사람의 얼굴 영역이 포함될 수 있다. 상기 얼굴 이미지는 예를 들어, 입력 이미지에 에이다부스트(Adaboost) 알고리즘이 적용되어 얼굴 영역을 제외한 나머지 영역이 제거된 이미지일 수 있다. 학습부(102)는 불특정 다수의 얼굴 영역이 포함된 복수의 얼굴 이미지를 이용하여 아이겐-코드북을 생성할 수 있다. 아이겐-코드북을 생성하는 데 사용되는 얼굴 이미지의 개수는 예를 들어, 100개 내지 150개일 수 있으나 이에 한정되는 것은 아니다.
도 2를 참조하면, 학습부(102)가 아이겐-코드북을 생성하는 과정이 구체적으로 개시된다. 먼저, 학습부(102)는 복수의 얼굴 이미지 각각을 설정된 크기로 분할할 수 있다. 예를 들어, 학습부(102)는 각 얼굴 이미지의 크기를 72 X 72 픽셀로 조정하고, 각 얼굴 이미지를 9 X 9 그리드(grid)로 분할함으로써 81개의 영역(세그먼트)을 획득할 수 있다. 여기서, 각 영역은 예를 들어, 사각형 형태으로 이루어질 수 있다. 다만, 이는 하나의 실시예에 불과하며 얼굴 이미지 내의 분할된 영역의 형태 및 개수가 이에 한정되는 것은 아니다.
다음으로, 학습부(102)는 얼굴 이미지의 분할된 각 영역에 설정된 특징점 검출 알고리즘을 적용하여 특징 벡터를 계산할 수 있다. 여기서, 특징점 검출 알고리즘은 예를 들어, HOG(Histogram of Oriented Gradients), SIFT(Scale Invariant Feature Transform), SURF(Speeded Up Robust Features) 등이 될 수 있으나, 상기 특징점 검출 알고리즘에 제한되는 것은 아니다. 이하에서는, 설명의 편의상 학습부(102)가 HOG 알고리즘을 적용하여 특징 벡터를 계산하는 것으로 가정한다. 상기 HOG 알고리즘은 기울기(Gradient)와 에지(Edge) 방향의 분포를 특징으로 하는 히스토그램으로서, 학습부(102)는 HOG 알고리즘을 이용하여 얼굴 이미지의 분할된 각 영역의 특징 벡터를 계산할 수 있다. 상기 HOG 알고리즘은 에지의 방향 정보를 이용한다는 점에서 이미지의 밝기, 주변 조명 변화 등에 덜 민감한 장점이 있다. n개의 얼굴 이미지가 존재한다고 가정하였을 때,
Figure 112016029566672-pat00076
는 n번째 얼굴 이미지의 분할된 영역 s에서의 특징 벡터에 관한 데이터(예를 들어, 히스토그램 데이터)일 수 있다. 얼굴 이미지의 분할된 각 영역에 특징점 검출 알고리즘을 적용하여 획득한
Figure 112016029566672-pat00077
내지
Figure 112016029566672-pat00078
의 집합을
Figure 112016029566672-pat00079
이라 하면
Figure 112016029566672-pat00080
은 다음과 같이 표현될 수 있다.
Figure 112016029566672-pat00081

여기서, M은 매트릭스로서,
Figure 112016029566672-pat00082
의 각 열(column)에는 n번째 얼굴 이미지의 특징 벡터에 관한 히스토그램 데이터가 포함될 수 있다.
다음으로, 학습부(102)는
Figure 112016029566672-pat00083
에 PCA(Principal Component Analysis) 알고리즘을 적용하여
Figure 112016029566672-pat00084
를 획득할 수 있다. PCA 알고리즘은 2차 모멘트의 통계적 정보를 이용한 선형 인식 알고리즘으로서, 학습부(102)는 PCA 알고리즘을 이용하여 아이겐-특징(Eigen-features)을 획득할 수 있다.
Figure 112016029566672-pat00085
에 PCA 알고리즘을 적용하여
Figure 112016029566672-pat00086
를 획득하는 과정을 순차적으로 설명하면 다음과 같다.
(1)
Figure 112016029566672-pat00087
내지
Figure 112016029566672-pat00088
의 평균(
Figure 112016029566672-pat00089
)을 구한다.
(2)
Figure 112016029566672-pat00090
내지
Figure 112016029566672-pat00091
각각에서 상기 평균(
Figure 112016029566672-pat00092
)을 뺀다.
(3) 공분산 행렬을 만든다.
(4) 공분산 행렬을 이용하여 아이겐 값(eigen value)과 아이겐 벡터(eigen vector)를 구한다.
(5) 아이겐 데이터(또는 아이겐 히스토그램; eigen histogram)(
Figure 112016029566672-pat00093
내지
Figure 112016029566672-pat00094
)을 구한다.
상기
Figure 112016029566672-pat00095
은 다음과 같이 표현될 수 있다.
Figure 112016029566672-pat00096

여기서,
Figure 112016029566672-pat00097
Figure 112016029566672-pat00098
내지
Figure 112016029566672-pat00099
의 평균을 나타내며,
Figure 112016029566672-pat00100
Figure 112016029566672-pat00101
내지
Figure 112016029566672-pat00102
에 대해 상기 PCA 알고리즘을 적용함으로써 획득되는 아이겐 데이터(또는 아이겐 히스토그램)이다. 이때, 아이겐 데이터
Figure 112016029566672-pat00103
의 아이겐 값을
Figure 112016029566672-pat00104
라 하였을 때
Figure 112016029566672-pat00105
이며
Figure 112016029566672-pat00106
Figure 112016029566672-pat00107
내지
Figure 112016029566672-pat00108
의 총 개수이다. 즉, 상기 특징 벡터들을 분석하면
Figure 112016029566672-pat00109
방향으로의 분포가 가장 크다.
Figure 112016029566672-pat00110
Figure 112016029566672-pat00111
내지
Figure 112016029566672-pat00112
중 아이겐-코드북을 생성하는 데 사용되는 아이겐 데이터의 개수로서, 도 2에 도시된 에너지 보존 레벨(energy preserving level)에 따라 달라질 수 있다. 에너지 보존 레벨은 다음의 수학식으로 표현될 수 있다. 여기서, 에너지 보존 레벨의 분모는 아이겐 값들의 제곱의 총합이 되며, 에너지 보존 레벨의 분자는 사용하고자 하는 주성분들에 대응되는 아이겐 값들의 제곱의 총합이 된다. 이때, D = n-1 이다.
Figure 112016029566672-pat00113

Figure 112016029566672-pat00114
의 아이겐 값이 작을수록 노이즈에 가깝다고 가정하였을 때, 각 아이겐 값에 대응되는
Figure 112016029566672-pat00115
내지
Figure 112016029566672-pat00116
모두를 사용하는 경우 에너지 보존 레벨이 100%가 되며 아이겐 값이 작은 순서대로
Figure 112016029566672-pat00117
를 하나씩 제거하는 경우 에너지 보존 레벨이 점점 작아지게 된다. 즉, 아이겐-코드북을 생성하는 데 있어서 어느 정도의 노이즈까지 제거할 것인지의 여부에 따라
Figure 112016029566672-pat00118
가 달라질 수 있다. 상기
Figure 112016029566672-pat00119
는 얼굴 이미지의 개수, 얼굴 이미지의 분할된 각 영역의 개수, 얼굴 이미지의 설정된 특징점의 개수 등을 고려하여 적절히 설정될 수 있다.
이와 같은
Figure 112016029566672-pat00120
의 각 열 벡터는 다음의 수학식에서 보는 바와 같이
Figure 112016029566672-pat00121
의 열 벡터들의 선형 조합으로 표현될 수 있다. 즉, 각 주성분들은 특징 벡터에 관한 히스토그램 데이터들의 선형 조합으로 표현될 수 있다.
Figure 112016029566672-pat00122

여기서, ㆍ는 매트릭스 곱(multiplication)을 의미한다. 상기
Figure 112016029566672-pat00123
는 계수 매트릭스로서, 상기
Figure 112016029566672-pat00124
와 상기
Figure 112016029566672-pat00125
사이의 상관 관계를 나타내며 예를 들어, 다음의 수학식을 이용하여 계산될 수 있다.
Figure 112016029566672-pat00126

여기서,
Figure 112016029566672-pat00127
이며(R은 실수), T는 전치행렬을 의미한다. 다만,
Figure 112016029566672-pat00128
를 계산하는 위 수학식은 하나의 실시예에 불과하며
Figure 112016029566672-pat00129
를 계산하는 방법이 이에 한정되는 것은 아니다. 또한,
Figure 112016029566672-pat00130
Figure 112016029566672-pat00131
는 각각
Figure 112016029566672-pat00132
Figure 112016029566672-pat00133
의 예시이다. (HOG 알고리즘 적용시)
다음으로, 학습부(102)는 상기
Figure 112016029566672-pat00134
를 이용하여 얼굴 이미지 내의 설정된 특징점 각각에 대해 아이겐 방향 벡터(eigen directional vectors)를 계산할 수 있다. 여기서, 특징점은 예를 들어, 얼굴의 입꼬리, 눈, 코, 입 등의 특징을 잘 나타낼 수 있는 부분을 의미한다. 학습부(102)는 다음의 수학식에서 보는 바와 같이 n번째 얼굴 이미지의 분할된 영역 s 의 중심으로부터 상기 얼굴 이미지의 설정된 특징점 k까지의 방향 벡터
Figure 112016029566672-pat00135
를 계산할 수 있으며, 상기
Figure 112016029566672-pat00136
를 이용하여 아이겐 방향 벡터
Figure 112016029566672-pat00137
를 계산할 수 있다. 여기서, R은 실수를 의미한다.
Figure 112016029566672-pat00138

학습부(102)는 다음의 수학식을 이용하여 아이겐 방향 벡터
Figure 112016029566672-pat00139
를 계산할 수 있다.
Figure 112016029566672-pat00140

이와 같이, 학습부(102)는
Figure 112016029566672-pat00141
의 각 열 벡터(주성분)에 해당하는 방향 벡터를 획득할 수 있다. 즉, 학습부(102)는 상기
Figure 112016029566672-pat00142
를 이용하여 얼굴 이미지의 분할된 각 영역의 특징 벡터와 상기 얼굴 이미지 내의 설정된 특징점의 위치 사이의 상관 관계를 나타낼 수 있다.
상기 아이겐-코드북은
Figure 112016029566672-pat00143
Figure 112016029566672-pat00144
를 포함할 수 있다.
다음으로, 학습부(102)는 아이겐-코드북으로부터 회귀 행렬을 계산할 수 있다. 상술한 바와 같이, 본 실시예들에 있어서 회귀 행렬은 얼굴 이미지의 분할된 각 영역의 특징 벡터와 상기 얼굴 이미지 내의 설정된 특징점의 위치 사이의 상관 관계를 학습함으로써 획득되는 학습 데이터들 중 상기 상관 관계를 수학적으로 나타낸 행렬이다.
후술할 바와 같이, 검출부(104)는 대상 이미지로부터 얼굴 영역을 검출하고, 얼굴 영역을 설정된 크기로 분할한 후 분할된 각 영역에 특징점 검출 알고리즘을 적용하여 분할된 영역 s에 대한 특징 벡터
Figure 112016029566672-pat00145
를 획득할 수 있다. 이때,
Figure 112016029566672-pat00146
는 다음의 수학식에서 보는 바와 같이 아이겐-코드북의 상기
Figure 112016029566672-pat00147
의 값들의 선형 조합으로 나타낼 수 있다.
Figure 112016029566672-pat00148

여기서,
Figure 112016029566672-pat00149
는 계수 매트릭스로서, 상기
Figure 112016029566672-pat00150
와 상기
Figure 112016029566672-pat00151
사이의 상관 관계를 나타내며 예를 들어, 다음의 수학식을 이용하여 계산될 수 있다.
Figure 112016029566672-pat00152

여기서, T는 전치 행렬을 의미한다.
마찬가지로, 얼굴 영역의 분할된 영역 s의 중심으로부터 특징점 k까지의 방향 벡터
Figure 112016029566672-pat00153
는 다음의 수학식에서 보는 바와 같이 상기
Figure 112016029566672-pat00154
의 값들의 선형 조합으로 나타낼 수 있다.
Figure 112016029566672-pat00155

이에 따라, 학습부(102)는 아래에서 보는 바와 같이 상기 수학식들로부터 회귀 행렬
Figure 112016029566672-pat00156
를 계산할 수 있다.
Figure 112016029566672-pat00157
Figure 112016029566672-pat00158

즉, 회귀 행렬
Figure 112016029566672-pat00159
는 HOG 특징을 방향 벡터 공간(motion vector space)으로 사영시키는 선형 회귀(linear regression) 수단으로서 기능한다. 학습부(102)는 아이겐-코드북 전체를 스토리지(미도시)에 저장할 필요 없이 회귀 행렬
Figure 112016029566672-pat00160
만을 스토리지에 저장하면 충분하다.
또한, 얼굴 영역의 모든 특징점들의 위치를 검출하기 위해서는 k번째 특징점에 대응되는
Figure 112016029566672-pat00161
를 계산하는 과정이 k = 1, 2, 3…K 에 대하여 반복 수행되어야 한다. 얼굴 이미지 n개에 대해 분할된 영역 s = 1, 2, 3…S 가 존재하는 것으로 가정할 때, 2K Ⅹ n 사이즈의
Figure 112016029566672-pat00162
를 저장하는 데 필요한 스토리지의 저장 공간은 S Ⅹ 2K Ⅹ n 이며,
Figure 112016029566672-pat00163
를 계산하는 데 필요한 연산량(곱의 개수) 또한 S Ⅹ 2K Ⅹ n 이다. 즉,
Figure 112016029566672-pat00164
를 이용하여 얼굴 특징점의 위치를 검출하는 경우, 필요한 스토리지의 저장 공간 및 연산량은 "방향 벡터의 크기 Ⅹ 특징 벡터의 크기"이다.
반면, 아이겐-코드북을 그대로 사용하여 얼굴 특징점의 위치를 검출하는 경우,
Figure 112016029566672-pat00165
를 저장하는 데 2K Ⅹ (r + 1) 사이즈의 스토리지가 필요하며,
Figure 112016029566672-pat00166
를 저장하는 데 (r + 1) Ⅹ n 사이즈의 스토리지가 필요하다. 따라서, 아이겐-코드북을 그대로 사용하여 얼굴 특징점의 위치를 검출하는 경우,
Figure 112016029566672-pat00167
Figure 112016029566672-pat00168
를 저장하는 데 총 (2K + n) Ⅹ (r + 1) 사이즈의 스토리지가 필요하게 되며, 얼굴 특징점의 위치를 검출하는 데 필요한 연산량(곱의 개수) 또한 (2K + n) Ⅹ (r + 1)이 된다.
K는 r, n에 비해 그 크기가 매우 작으므로, 회귀 행렬을 이용하여 얼굴 특징점의 위치를 검출하는 경우 아이겐-코드북을 그대로 사용하여 얼굴 특징점의 위치를 검출하는 경우보다 스토리지에 저장되는 데이터의 양 및 검출 연산량이 크게 감소될 수 있다. 또한, K는 앞서 설명한 에너지 보존 레벨과 무관한 상수이므로, 에너지 보존 레벨이 크거나 작더라도
Figure 112016029566672-pat00169
를 저장하는 데 사용되는 스토리지의 사이즈는 변함이 없다. 따라서, 본 발명의 실시예들에 따르면, 얼굴의 특징점 검출시 회귀 행렬
Figure 112016029566672-pat00170
를 이용함으로써 높은 검출 정확도를 보장하면서 스토리지에 저장되는 데이터의 양 및 검출 연산량을 최소화할 수 있다.
상술한 학습부(102)의 아이겐-코드북 생성 및 회귀 행렬의 계산 과정은 검출부(104)의 특징점 검출 과정에 앞서 전처리 과정으로서 수행될 수 있다. 본 발명의 실시예들에 따르면, 설정된 세그먼트의 특징 벡터를 이용할 뿐 높은 복잡도(complexity)를 갖는 프리-얼라이먼트(pre-alignment) 과정을 거치지 않는다. 이에 따라, 얼굴의 특징점을 검출하는 데 걸리는 시간을 최소화할 수 있다. 또한, 본 발명의 실시예들에 따르면, 픽셀값을 이용하여 특징 벡터를 추출하는 종래 기술과 달리 HOG 알고리즘을 이용하여 얼굴 이미지의 특징 벡터를 추출할 수 있다는 점에서 조명 변화, 사람의 자세 변화 등에 덜 민감한 장점이 있으며, 이에 따라 특징점의 위치를 보다 정확하게 검출할 수 있다. 나아가, 본 발명의 실시예들에 따르면, 생성된 아이겐-코드북을 그대로 사용하는 것이 아니라 아이겐-코드북으로부터 회귀 행렬을 계산하고 이를 통해 얼굴의 특징점을 검출함으로써, 얼굴의 특징점 검출시 높은 검출 정확도를 보장하면서 스토리지에 저장되는 데이터의 양 및 검출 연산량을 최소화할 수 있다.
검출부(104)는 학습부(102)에서 계산된 회귀 행렬을 이용하여 대상 이미지의 얼굴 영역 내 특징점의 위치를 검출한다. 여기서, 대상 이미지는 특징점의 검출 대상이 되는 이미지로서, 사람의 얼굴 영역이 포함될 수 있다. 상기 대상 이미지는 예를 들어, 사람의 얼굴 영역을 촬영한 촬영 이미지 또는 사진, 사람의 얼굴 영역이 포함된 컴퓨터 그래픽 등이 될 수 있으나 대상 이미지의 종류가 이에 한정되는 것은 아니다.
도 3 내지 도 5를 참조하면, 검출부(104)가 대상 이미지의 얼굴 영역의 특징점의 위치를 검출하는 과정이 구체적으로 개시된다. 먼저, 도 3을 참조하면, 검출부(104)는 대상 이미지로부터 얼굴 영역을 검출할 수 있다. 검출부(104)는 예를 들어, 에이다부스트(Adaboost) 알고리즘을 이용하여 대상 이미지로부터 얼굴 영역을 검출할 수 있다. 다만, 이는 하나의 실시예에 불과하며, 검출부(104)가 대상 이미지로부터 얼굴 영역을 검출하는 방법이 이에 한정되는 것은 아니다. 도 3에서는 검출부(104)에서 검출된 얼굴 영역이 사각형 형태로 도시되고 있다. 다음으로, 검출부(104)는 얼굴 영역을 설정된 크기로 분할할 수 있다. 검출부(104)는 예를 들어, 얼굴 영역의 크기를 72 X 72 픽셀로 조정하고, 얼굴 영역을 9 X 9 그리드(grid)로 분할함으로써 81개의 영역(세그먼트)을 획득할 수 있다. 다만, 이는 하나의 실시예에 불과하며 얼굴 영역 내의 분할된 영역의 형태 및 개수가 이에 한정되는 것은 아니다.
다음으로, 도 4를 참조하면, 검출부(104)는 얼굴 영역의 분할된 각 영역의 특징 벡터를 검출할 수 있다. 검출부(104)는 얼굴 영역의 분할된 각 영역에 설정된 특징점 검출 알고리즘을 적용하여 특징 벡터를 계산할 수 있다. 예를 들어, 검출부(104)는 얼굴 영역의 분할된 각 영역에 HOG 알고리즘을 적용하여 특징 벡터를 계산할 수 있다. 다만, 검출부(104)가 특징 벡터를 계산하는 방법이 이에 한정되는 것은 아니며, 검출부(104)는 SIFT, SURF 등과 같은 다양한 알고리즘을 이용하여 특징 벡터를 계산할 수 있다. 상술한 바와 같이, 영역 s 에 대한 특징 벡터는
Figure 112016029566672-pat00171
로 표현될 수 있다.
이후, 검출부(104)는 다음의 수학식을 이용하여 얼굴 영역의 분할된 영역 s의 중심으로부터 특징점 k까지의 방향 벡터
Figure 112016029566672-pat00172
를 계산할 수 있다.
Figure 112016029566672-pat00173

상술한 바와 같이, 회귀 행렬
Figure 112016029566672-pat00174
는 HOG 특징을 방향 벡터 공간(motion vector space)으로 사영시키는 선형 회귀(linear regression) 수단으로서 기능하며, 검출부(104)는
Figure 112016029566672-pat00175
Figure 112016029566672-pat00176
의 매트릭스 곱 연산을 통해 분할된 영역 s의 중심으로부터 특징점 k까지의 방향 벡터
Figure 112016029566672-pat00177
를 용이하게 획득할 수 있다. 이때, 검출부(104)는 방향 벡터
Figure 112016029566672-pat00178
획득시 단 한번의 연산 과정을 수행하게 된다.
검출부(104)는 분할된 영역 s의 중심에 대한 위치 정보를 가지고 있으므로 상기 위치 정보와 방향 벡터
Figure 112016029566672-pat00179
를 이용하여 특징점 k의 위치 좌표 (x, y)를 획득할 수 있다. 즉, 검출부(104)는 분할된 영역 s의 중심 좌표에 방향 벡터
Figure 112016029566672-pat00180
를 더하고, 더해진 방향 벡터
Figure 112016029566672-pat00181
의 끝점의 위치 좌표 (x, y)를 특징점 k의 위치 좌표로 결정할 수 있다.
또한, 도 5를 참조하면, 검출부(104)는 얼굴 영역의 분할된 각 영역의 중심으로부터 특징점 k까지의 방향 벡터의 크기들의 합이 최소가 되는 지점을 특징점 k의 최종 위치 좌표로 결정할 수 있다. 상술한 과정을 통해, 검출부(104)는 얼굴 영역의 분할된 각 영역의 중심으로부터 특징점 k까지의 방향 벡터들을 계산하고, 상기 계산된 방향 벡터들의 크기를 이용하여 특징점 k의 최종 위치 좌표를 결정할 수 있다. 도 5에 도시된 각 방향 벡터는 한 점에서 만나는 것이 보장되지 않기 때문에, 본 발명의 실시예들에서 따르면 특징점 k의 위치 좌표 (x, y)에 대한 최적해로서 도 5의 각 방향 벡터들의 크기가 가장 작게 되는 좌표를 계산하고, 상기 좌표를 특징점 k의 최종 위치 좌표로 결정할 수 있다. 이때, 검출부(104)는 얼굴 영역의 분할된 각 영역별 방향 벡터의 크기들의 가중치 합(weighted sum)이 최소가 되는 지점을 특징점 k의 위치 좌표로 결정할 수 있다.
특징점 k의 위치 좌표 (x, y)를 계산하기 위한 예시적인 수학식은 다음과 같다.
Figure 112016029566672-pat00182

여기서,
Figure 112016029566672-pat00183
Figure 112016029566672-pat00184
일 때
Figure 112016029566672-pat00185
를 만족하는 계수이며, S는 얼굴 영역의 분할된 각 영역(세그먼트)의 총 개수이다. 이때, 각 영역(s)별 가중치 계수
Figure 112016029566672-pat00186
가 각 방향 벡터의 크기에 가중치로 부여되며, 상기
Figure 112016029566672-pat00187
는 다음의 수학식을 통해 계산될 수 있다.
Figure 112016029566672-pat00188
Figure 112016029566672-pat00189

즉,
Figure 112016029566672-pat00190
는 특징 벡터
Figure 112016029566672-pat00191
와 특징 벡터들의 주성분 표현 간의 유사도를 내적으로 계산한 값에, 얼굴 영역의 특징점과 세그먼트 간의 거리를 고려하여 지수 함수로 감소하는 값을 곱함으로써 계산될 수 있다. 여기서, d는 세그먼트 중심과 특징점 사이의 거리를 나타내며, L은 세그먼트 영역을 나타내는 사각형의 반길이(half length)를 나타낸다.
이때,
Figure 112016029566672-pat00192
Figure 112016029566672-pat00193
의 아이겐 값(eigen value)에 따라 다음과 같이 정의될 수 있다.
Figure 112016029566672-pat00194

위 수학식은 대상 이미지의 적어도 일부가 임의의 물체에 의해 가려져 안보이는 경우(in case of occlusion)를 고려하기 위한 것으로,
Figure 112016029566672-pat00195
의 아이겐 값
Figure 112016029566672-pat00196
을 이용할 수 있다. 여기서,
Figure 112016029566672-pat00197
(또는
Figure 112016029566672-pat00198
)는 상술한
Figure 112016029566672-pat00199
를 아이겐 HOG 공간으로 사영(projection)시킴으로써 획득되는 사영 계수일 수 있다. 검출부(104)는 예를 들어, 각 사영 계수(주성분 계수)가 아이겐 값의 제곱의 2.5배까지의 범위 내에 존재하는 경우 상기 가중치
Figure 112016029566672-pat00200
를 그대로 사용하고, 그렇지 않으면 상기 가중치
Figure 112016029566672-pat00201
를 0으로 하여 상기 특징점 k의 위치 좌표 (x, y)의 계산에
Figure 112016029566672-pat00202
를 반영시키지 않을 수 있다. 즉, 위 수학식은 특징 벡터가 기존의 특징 벡터 주성분의 공간 안에 들어오는지의 여부를 판별하기 위한 것이다. 상기 2.5는 일 예시로서 사용된 계수로서, 반드시 2.5일 필요는 없으며 2. 3 또는 그 이외의 수도 가능하다.
본 발명의 실시예들에 따르면, 얼굴의 일 지점에서 국소 패턴(local patterns)을 추출하는 대신 학습용 복수의 얼굴 이미지에 기초한 통계적인 추론 기법을 이용하여 대상 이미지의 얼굴 영역 내 특징점의 위치를 보다 빠르고 정확하게 검출할 수 있다. 구체적으로, 본 발명의 실시예들에 따르면, 미리 계산된 회귀 행렬을 이용함으로써 패턴 검색 알고리즘을 이용하는 종래 기술에 비해 특징점을 검출하는 데 사용되는 계산의 복잡도(complexity) 및 스토리지의 사이즈를 최소화할 수 있다.
일 예시로서, 본 발명의 실시예들에 따르면, 높은 검출 정확도를 유지하면서 5ms 이내에 얼굴의 특징점 검출이 가능하며 특징점 검출을 위해 스토리지에 저장되는 데이터의 양 또한 10MB 를 초과하지 않는다. 이에 따라, 본 발명의 실시예들에 따른 얼굴의 특징점 검출 기법은 모바일 애플리케이션 등과 같은 낮은 성능의 하드웨어(즉, 모바일 기기)에서도 쉽게 구현이 가능하다.
즉, 본 발명의 실시예들에 따른 얼굴의 특징점 검출 기법에 따르면, ANNS 및 NNS 등과 같은 종래의 검색 알고리즘을 사용하였을 때보다 얼굴의 특징점을 검출하는 데 소요되는 총 시간이 대폭 감소되며, 요구되는 스토리지 사이즈 및 연산량 또한 대폭 감소될 수 있고, 얼굴의 특징점 검출의 정확도 또한 종래 기술과 큰 차이를 보이지 않는다.
일 실시예에서, 학습부(102) 및 검출부(104)는 하나 이상의 프로세서 및 그 프로세서와 연결된 컴퓨터 판독 가능 기록 매체를 포함하는 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 기록 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨팅 장치 내의 프로세서는 각 컴퓨팅 장치로 하여금 본 명세서에서 기술되는 예시적인 실시예에 따라 동작하도록 할 수 있다. 예를 들어, 프로세서는 컴퓨터 판독 가능 기록 매체에 저장된 명령어를 실행할 수 있고, 컴퓨터 판독 가능 기록 매체에 저장된 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 본 명세서에 기술되는 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
도 6은 본 발명의 일 실시예에 따른 얼굴의 특징점 검출 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
먼저, 학습부(102)는 복수의 얼굴 이미지 각각을 설정된 크기로 분할한다(S602). 예를 들어, 학습부(102)는 각 얼굴 이미지의 크기를 72 X 72 픽셀로 조정하고, 각 얼굴 이미지를 9 X 9 그리드(grid)로 분할함으로써 81개의 영역(세그먼트)을 획득할 수 있다.
다음으로, 학습부(102)는 얼굴 이미지의 분할된 각 영역의 특징 벡터와 얼굴 이미지 내의 설정된 특징점의 위치 사이의 상관 관계를 학습함으로써 아이겐-코드북을 생성한다(S604). 아이겐-코드북은
Figure 112016029566672-pat00203
Figure 112016029566672-pat00204
를 포함할 수 있으며,
Figure 112016029566672-pat00205
Figure 112016029566672-pat00206
를 획득하는 과정은 앞에서 자세히 설명하였는바 여기서는 그 자세한 설명을 생략하도록 한다.
다음으로, 학습부(102)는 아이겐-코드북으로부터 상기 상관 관계를 나타내는 회귀 행렬을 계산한다(S606). 상술한 바와 같이, 학습부(102)는 다음의 수학식을 이용하여 아이겐-코드북으로부터 회귀 행렬을 계산할 수 있다.
Figure 112016029566672-pat00207

다음으로, 검출부(104)는 대상 이미지로부터 얼굴 영역을 검출한다(S608). 검출부(104)는 예를 들어, 에이다부스트(Adaboost) 알고리즘을 이용하여 대상 이미지로부터 얼굴 영역을 검출할 수 있다
다음으로, 검출부(104)는 얼굴 영역을 설정된 크기로 분할한다(S610).
다음으로, 검출부(104)는 얼굴 영역의 분할된 각 영역의 특징 벡터를 검출한다(S612). 검출부(104)는 예를 들어, 얼굴 영역의 분할된 각 영역에 HOG 알고리즘을 적용하여 특징 벡터를 계산할 수 있다.
마지막으로, 검출부(104)는 검출된 특징 벡터와 회귀 행렬을 이용하여 얼굴 영역의 특징점의 위치를 검출한다(S614). 구체적으로, 검출부(104)는 다음의 수학식을 이용하여 얼굴 영역의 분할된 영역 s의 중심으로부터 특징점 k까지의 방향 벡터
Figure 112016029566672-pat00208
를 계산하고, 얼굴 영역의 분할된 각 영역의 중심으로부터 특징점 k까지의 방향 벡터의 크기들의 합이 최소가 되는 지점을 특징점 k의 위치 좌표로 결정할 수 있다.
Figure 112016029566672-pat00209

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 얼굴의 특징점 검출 시스템
102 : 학습부
104 : 검출부

Claims (16)

  1. 복수의 얼굴 이미지 각각을 설정된 크기로 분할하고, 상기 얼굴 이미지의 분할된 각 영역의 특징 벡터와 상기 얼굴 이미지 내의 설정된 특징점의 위치 사이의 상관 관계를 학습함으로써 아이겐-코드북(eigen-codebook)을 생성하며, 상기 아이겐-코드북으로부터 상기 상관 관계를 나타내는 회귀 행렬(regression matrix)을 계산하는 학습부; 및
    대상 이미지로부터 얼굴 영역을 검출하고, 상기 얼굴 영역을 설정된 크기로 분할하며, 상기 얼굴 영역의 분할된 각 영역의 특징 벡터를 검출하고, 검출된 상기 특징 벡터와 상기 회귀 행렬을 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 검출부를 포함하고,
    상기 학습부는, 상기 얼굴 이미지의 분할된 각 영역에 설정된 특징점 검출 알고리즘을 적용하여
    Figure 112019073534871-pat00309
    를 획득하고, 상기
    Figure 112019073534871-pat00310
    에 PCA(Principal Component Analysis) 알고리즘을 적용하여
    Figure 112019073534871-pat00311
    를 획득하며, 상기
    Figure 112019073534871-pat00312
    와 상기
    Figure 112019073534871-pat00313
    를 이용하여 상기 아이겐-코드북을 생성하며,
    (여기서,
    Figure 112019073534871-pat00314
    는 n번째 얼굴 이미지의 분할된 영역 s에서의 특징 벡터에 관한 데이터이며, M은 매트릭스(matrix)임. 또한,
    Figure 112019073534871-pat00315
    Figure 112019073534871-pat00316
    내지
    Figure 112019073534871-pat00317
    의 평균을 나타내며,
    Figure 112019073534871-pat00318
    Figure 112019073534871-pat00319
    내지
    Figure 112019073534871-pat00320
    에 대해 상기 PCA 알고리즘을 적용함으로써 획득되는 아이겐 데이터임. 이때, 아이겐 데이터
    Figure 112019073534871-pat00321
    의 아이겐 값을
    Figure 112019073534871-pat00322
    라 하였을 때
    Figure 112019073534871-pat00323
    임. 또한,
    Figure 112019073534871-pat00324
    Figure 112019073534871-pat00325
    내지
    Figure 112019073534871-pat00326
    의 총 개수임)
    상기 학습부는, 상기
    Figure 112019073534871-pat00327
    와 상기
    Figure 112019073534871-pat00328
    사이의 상관 관계를 나타내고 다음의 수학식을 만족하는
    Figure 112019073534871-pat00329
    를 계산하며, 상기
    Figure 112019073534871-pat00330
    를 이용하여 상기 아이겐-코드북을 생성하며,
    Figure 112019073534871-pat00331

    (여기서, ㆍ는 매트릭스 곱(multiplication)을 의미함)
    상기 학습부는, 다음의 수학식을 만족하는 n번째 얼굴 이미지의 분할된 영역 s 의 중심으로부터 상기 얼굴 이미지의 설정된 특징점 k까지의 방향 벡터
    Figure 112019073534871-pat00332
    를 계산하고,
    Figure 112019073534871-pat00333

    다음의 수학식을 이용하여
    Figure 112019073534871-pat00334
    를 계산하며,
    Figure 112019073534871-pat00335

    상기 아이겐-코드북은, 상기
    Figure 112019073534871-pat00336
    및 상기
    Figure 112019073534871-pat00337
    를 포함하며,
    상기 학습부는, 다음의 수학식을 이용하여 상기 아이겐-코드북으로부터 상기 회귀 행렬을 계산하는, 얼굴의 특징점 검출 시스템.
    Figure 112019073534871-pat00338

    (여기서,
    Figure 112019073534871-pat00339
    는 회귀 행렬을 나타내며, T는 전치 행렬을 의미함)

  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 청구항 1에 있어서,
    상기 검출부는, 상기 얼굴 영역의 분할된 각 영역에 설정된 특징점 검출 알고리즘을 적용하여
    Figure 112019073534871-pat00241
    를 획득하고, 다음의 수학식을 이용하여 상기 얼굴 영역의 분할된 영역 s의 중심으로부터 상기 특징점 k까지의 방향 벡터
    Figure 112019073534871-pat00242
    를 계산하며, 상기
    Figure 112019073534871-pat00243
    를 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는, 얼굴의 특징점 검출 시스템.
    Figure 112019073534871-pat00244

  7. 청구항 6에 있어서,
    상기 검출부는, 상기 얼굴 영역의 분할된 각 영역의 중심으로부터 상기 특징점 k까지의 방향 벡터의 크기들의 합이 최소가 되는 지점을 상기 특징점 k의 위치 좌표로 결정함으로써 상기 얼굴 영역의 특징점의 위치를 검출하는, 얼굴의 특징점 검출 시스템.
  8. 청구항 7에 있어서,
    상기 검출부는, 상기 각 영역별 상기 방향 벡터의 크기들의 가중치 합(weighted sum)이 최소가 되는 지점을 상기 특징점 k의 위치 좌표로 결정함으로써 상기 얼굴 영역의 특징점의 위치를 검출하는, 얼굴의 특징점 검출 시스템.
  9. 학습부에서, 복수의 얼굴 이미지 각각을 설정된 크기로 분할하는 단계;
    상기 학습부에서, 상기 얼굴 이미지의 분할된 각 영역의 특징 벡터와 상기 얼굴 이미지 내의 설정된 특징점의 위치 사이의 상관 관계를 학습함으로써 아이겐-코드북(eigen-codebook)을 생성하는 단계;
    상기 학습부에서, 상기 아이겐-코드북으로부터 상기 상관 관계를 나타내는 회귀 행렬(regression matrix)을 계산하는 단계;
    검출부에서, 대상 이미지로부터 얼굴 영역을 검출하는 단계;
    상기 검출부에서, 상기 얼굴 영역을 설정된 크기로 분할하는 단계;
    상기 검출부에서, 상기 얼굴 영역의 분할된 각 영역의 특징 벡터를 검출하는 단계; 및
    상기 검출부에서, 검출된 상기 특징 벡터와 상기 회귀 행렬을 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 단계를 포함하며,
    상기 아이겐-코드북을 생성하는 단계는,
    상기 얼굴 이미지의 분할된 각 영역에 설정된 특징점 검출 알고리즘을 적용하여
    Figure 112019073534871-pat00340
    를 획득하는 단계;
    상기
    Figure 112019073534871-pat00341
    에 PCA(Principal Component Analysis) 알고리즘을 적용하여
    Figure 112019073534871-pat00342
    를 획득하는 단계; 및
    상기
    Figure 112019073534871-pat00343
    와 상기
    Figure 112019073534871-pat00344
    를 이용하여 상기 아이겐-코드북을 생성하는 단계를 포함하며,
    (여기서,
    Figure 112019073534871-pat00345
    는 n번째 얼굴 이미지의 분할된 영역 s에서의 특징 벡터에 관한 데이터이며, M은 매트릭스(matrix)임. 또한,
    Figure 112019073534871-pat00346
    Figure 112019073534871-pat00347
    내지
    Figure 112019073534871-pat00348
    의 평균을 나타내며,
    Figure 112019073534871-pat00349
    Figure 112019073534871-pat00350
    내지
    Figure 112019073534871-pat00351
    에 대해 상기 PCA 알고리즘을 적용함으로써 획득되는 아이겐 데이터임. 이때, 아이겐 데이터
    Figure 112019073534871-pat00352
    의 아이겐 값을
    Figure 112019073534871-pat00353
    라 하였을 때
    Figure 112019073534871-pat00354
    임. 또한,
    Figure 112019073534871-pat00355
    Figure 112019073534871-pat00356
    내지
    Figure 112019073534871-pat00357
    의 총 개수임)
    상기
    Figure 112019073534871-pat00358
    와 상기
    Figure 112019073534871-pat00359
    를 이용하여 상기 아이겐-코드북을 생성하는 단계는,
    상기
    Figure 112019073534871-pat00360
    와 상기
    Figure 112019073534871-pat00361
    사이의 상관 관계를 나타내며 다음의 수학식을 만족하는
    Figure 112019073534871-pat00362
    를 계산하는 단계; 및
    상기
    Figure 112019073534871-pat00363
    를 이용하여 상기 아이겐-코드북을 생성하는 단계를 포함하며,
    Figure 112019073534871-pat00364

    (여기서, ㆍ는 매트릭스 곱(multiplication)을 의미함)
    상기
    Figure 112019073534871-pat00365
    를 이용하여 상기 아이겐-코드북을 생성하는 단계는,
    다음의 수학식을 만족하는 n번째 얼굴 이미지의 분할된 영역 s 의 중심으로부터 상기 얼굴 이미지의 설정된 특징점 k까지의 방향 벡터
    Figure 112019073534871-pat00366
    를 계산하는 단계; 및
    Figure 112019073534871-pat00367

    다음의 수학식을 이용하여
    Figure 112019073534871-pat00368
    를 계산하는 단계를 포함하며,
    Figure 112019073534871-pat00369

    상기 아이겐-코드북은, 상기
    Figure 112019073534871-pat00370
    및 상기
    Figure 112019073534871-pat00371
    를 포함하며,
    상기 회귀 행렬을 계산하는 단계는, 다음의 수학식을 이용하여 상기 아이겐-코드북으로부터 상기 회귀 행렬을 계산하는, 얼굴의 특징점 검출 방법.
    Figure 112019073534871-pat00372

    (여기서,
    Figure 112019073534871-pat00373
    는 회귀 행렬을 나타내며, T는 전치 행렬을 의미함)
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 청구항 9에 있어서,
    상기 얼굴 영역의 특징점의 위치를 검출하는 단계는,
    상기 얼굴 영역의 분할된 각 영역에 설정된 특징점 검출 알고리즘을 적용하여
    Figure 112019073534871-pat00279
    를 획득하는 단계;
    다음의 수학식을 이용하여 상기 얼굴 영역의 분할된 영역 s의 중심으로부터 상기 특징점 k까지의 방향 벡터
    Figure 112019073534871-pat00280
    를 계산하는 단계; 및
    Figure 112019073534871-pat00281

    상기
    Figure 112019073534871-pat00282
    를 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 단계를 포함하는, 얼굴의 특징점 검출 방법.
  15. 청구항 14에 있어서,
    상기
    Figure 112016029566672-pat00283
    를 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 단계는, 상기 얼굴 영역의 분할된 각 영역의 중심으로부터 상기 특징점 k까지의 방향 벡터의 크기들의 합이 최소가 되는 지점을 상기 특징점 k의 위치 좌표로 결정함으로써 상기 얼굴 영역의 특징점의 위치를 검출하는, 얼굴의 특징점 검출 방법.
  16. 청구항 15에 있어서,
    상기
    Figure 112016029566672-pat00284
    를 이용하여 상기 얼굴 영역의 특징점의 위치를 검출하는 단계는, 상기 각 영역별 상기 방향 벡터의 크기들의 가중치 합(weighted sum)이 최소가 되는 지점을 상기 특징점 k의 위치 좌표로 결정함으로써 상기 얼굴 영역의 특징점의 위치를 검출하는, 얼굴의 특징점 검출 방법.
KR1020160036930A 2016-03-28 2016-03-28 얼굴의 특징점 검출 시스템 및 방법 KR102014093B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160036930A KR102014093B1 (ko) 2016-03-28 2016-03-28 얼굴의 특징점 검출 시스템 및 방법
PCT/KR2016/007034 WO2017171142A1 (ko) 2016-03-28 2016-06-30 얼굴의 특징점 검출 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160036930A KR102014093B1 (ko) 2016-03-28 2016-03-28 얼굴의 특징점 검출 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20170111452A KR20170111452A (ko) 2017-10-12
KR102014093B1 true KR102014093B1 (ko) 2019-08-26

Family

ID=59965917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160036930A KR102014093B1 (ko) 2016-03-28 2016-03-28 얼굴의 특징점 검출 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR102014093B1 (ko)
WO (1) WO2017171142A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230161710A (ko) 2022-05-19 2023-11-28 주식회사 브이알크루 깊이 맵의 특징점을 획득하기 위한 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110111246B (zh) * 2019-05-15 2022-02-25 北京市商汤科技开发有限公司 一种虚拟头像生成方法及装置、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101310885B1 (ko) * 2012-05-31 2013-09-25 주식회사 에스원 영역 분할을 토대로 하는 얼굴 인식 방법 및 그 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110067480A (ko) * 2009-12-14 2011-06-22 한국전자통신연구원 얼굴 검출을 위한 특징점 검출 방법
KR20120066462A (ko) 2010-12-14 2012-06-22 한국전자통신연구원 얼굴 인식 방법 및 시스템, 얼굴 인식을 위한 학습용 특징 벡터 추출 장치 및 테스트용 특징 벡터 추출 장치
US8811686B2 (en) * 2011-08-19 2014-08-19 Adobe Systems Incorporated Methods and apparatus for automated portrait retouching using facial feature localization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101310885B1 (ko) * 2012-05-31 2013-09-25 주식회사 에스원 영역 분할을 토대로 하는 얼굴 인식 방법 및 그 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230161710A (ko) 2022-05-19 2023-11-28 주식회사 브이알크루 깊이 맵의 특징점을 획득하기 위한 방법
KR20230173642A (ko) 2022-05-19 2023-12-27 주식회사 브이알크루 깊이 맵의 특징점을 획득하기 위한 방법

Also Published As

Publication number Publication date
WO2017171142A1 (ko) 2017-10-05
KR20170111452A (ko) 2017-10-12

Similar Documents

Publication Publication Date Title
US10885365B2 (en) Method and apparatus for detecting object keypoint, and electronic device
JP7417555B2 (ja) 人体ポーズ分析システム及び方法
EP2905724B1 (en) Object detection system and method
US9760763B2 (en) System and method for detecting feature points of face
CN109657615B (zh) 一种目标检测的训练方法、装置及终端设备
US8730157B2 (en) Hand pose recognition
Nalepa et al. Wrist localization in color images for hand gesture recognition
JP6756406B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US11380010B2 (en) Image processing device, image processing method, and image processing program
JP5936561B2 (ja) 画像における外観及びコンテキストに基づく物体分類
CN108537822B (zh) 基于加权置信度估计的运动目标跟踪方法
KR102138809B1 (ko) 미세한 표정변화 검출을 위한 2차원 랜드마크 기반 특징점 합성 및 표정 세기 검출 방법
KR20160053749A (ko) 얼굴 영상의 다양성에 강인한 얼굴 표정 특징 분류 방법 및 시스템
KR20130058286A (ko) 보행자 검출기의 보행자 검출 방법
US20150356346A1 (en) Feature point position detecting appararus, feature point position detecting method and feature point position detecting program
KR102369413B1 (ko) 영상 처리 장치 및 방법
KR102014093B1 (ko) 얼굴의 특징점 검출 시스템 및 방법
Vafadar et al. A vision based system for communicating in virtual reality environments by recognizing human hand gestures
KR101717377B1 (ko) 얼굴 자세 추정 장치 및 얼굴 자세 추정 방법
Gao et al. Discriminant tracking using tensor representation with semi-supervised improvement
KR20220050617A (ko) 약한 지도학습 기반 객체 위치 검출 방법 및 장치
KR101783629B1 (ko) 얼굴의 특징점 검출 시스템 및 방법
KR101514551B1 (ko) 환경 변화에 강인한 멀티모달 사용자 인식
Hu et al. Efficient human detection in crowded environment
KR20140010500A (ko) 자세 인식 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant