얼굴 인식은 디지털 이미지나 동영상과 같은 시각적 미디어에서 사람의 얼굴을 찾습니다. 얼굴이 감지되면 연결된 위치, 크기, 방향이 있으며 눈과 코와 같은 랜드마크를 검색할 수 있습니다.
다음은 ML Kit의 얼굴 인식 기능과 관련하여 사용되는 용어입니다.
- 얼굴 추적은 얼굴 인식을 동영상 시퀀스로 확장합니다. 길이에 관계없이 동영상에 나타나는 모든 얼굴은 프레임마다 추적될 수 있습니다. 즉, 연속 동영상 프레임에서 인식된 얼굴은 동일한 사람으로 식별할 수 있습니다. 이는 얼굴 인식의 한 형태가 아닙니다. 얼굴 추적은 동영상 시퀀스에서 얼굴의 위치와 움직임을 기반으로만 추론을 합니다. 
- 랜드마크는 얼굴 내의 관심 지점입니다. 왼쪽 눈, 오른쪽 눈, 코 밑부분 등이 모두 랜드마크의 예입니다. ML Kit는 인식된 얼굴에서 랜드마크를 찾는 기능을 제공합니다. 
- 윤곽은 얼굴 특징의 형태를 따라 이어지는 점들의 집합입니다. ML Kit는 얼굴의 윤곽을 찾는 기능을 제공합니다. 
- 분류는 특정 얼굴 특징이 존재하는지 확인합니다. 예를 들어 눈을 뜨고 있는지 감고 있는지 또는 웃고 있는지 아닌지를 기준으로 얼굴을 분류할 수 있습니다. 
면 방향
다음 용어는 카메라를 기준으로 얼굴의 방향 각도를 설명합니다.
- 오일러 X: 양의 오일러 X각이 있는 얼굴은 위로 향한 것입니다.
- 오일러 Y: 양의 오일러 Y각이 있는 얼굴은 카메라의 오른쪽을 바라보고, 음수인 경우 왼쪽을 보고 있습니다.
- 오일러 Z: 양의 오일러 Z각이 있는 얼굴은 카메라를 기준으로 시계 반대 방향으로 회전한 것입니다.
LANDMARK_MODE_NONE, CONTOUR_MODE_ALL, CLASSIFICATION_MODE_NONE, PERFORMANCE_MODE_FAST가 함께 설정될 때 ML Kit는 감지된 얼굴의 오일러 X, 오일러 Y 또는 오일러 Z각을 보고하지 않습니다.
명소
랜드마크는 얼굴 내의 관심 장소입니다. 왼쪽 눈, 오른쪽 눈, 코 밑부분이 모두 랜드마크의 예입니다.
ML Kit는 랜드마크를 찾지 않고 얼굴을 감지합니다. 랜드마크 인식은 기본적으로 사용 중지되는 선택사항 단계입니다.
다음 표에는 관련 얼굴의 오일러 Y각에서 감지할 수 있는 모든 랜드마크가 요약되어 있습니다.
| 오일러 Y각 | 인식 가능한 랜드마크 | 
|---|---|
| -36도 미만 | 왼쪽 눈, 왼쪽 입, 왼쪽 귀, 코 밑부분, 왼쪽 볼 | 
| -36도~-12도 | 왼쪽 입, 코 밑부분, 아래쪽 입, 오른쪽 눈, 왼쪽 눈, 왼쪽 볼, 왼쪽 귓바퀴 상단 | 
| -12도~12도 | 오른쪽 눈, 왼쪽 눈, 코 밑부분, 왼쪽 볼, 오른쪽 볼, 왼쪽 입, 오른쪽 입, 아래쪽 입 | 
| 12도~36도 | 오른쪽 입, 코 밑부분, 아래쪽 입, 왼쪽 눈, 오른쪽 눈, 오른쪽 뺨, 오른쪽 귓바퀴 상단 | 
| 36도 초과 | 오른쪽 눈, 오른쪽 입, 오른쪽 귀, 코 밑부분, 오른쪽 볼 | 
감지된 각 랜드마크에는 이미지의 관련 위치가 포함됩니다.
윤곽선
윤곽은 얼굴 특징의 형태를 나타내는 점들의 집합입니다. 다음 이미지는 이러한 점들이 얼굴에 매핑되는 방식을 보여줍니다. 이미지를 클릭하여 확대합니다.
ML Kit가 감지하는 각 특징의 윤곽은 고정된 수의 점으로 표현됩니다.
| 얼굴 타원형 | 36포인트 | 윗입술 (위쪽) | 11포인트 | 
|---|---|---|---|
| 왼쪽 눈썹 (위쪽) | 5포인트 | 윗입술 (하단) | 9포인트 | 
| 왼쪽 눈썹 (하단) | 5포인트 | 아랫입술 (위쪽) | 9포인트 | 
| 오른쪽 눈썹 (위쪽) | 5포인트 | 아랫입술 (하단) | 9포인트 | 
| 오른쪽 눈썹 (하단) | 5포인트 | 콧날 | 2점 | 
| 왼쪽 눈 | 16포인트 | 코 아래쪽 | 3포인트 | 
| 오른쪽 눈 | 16포인트 | ||
| 왼쪽 볼 (가운데) | 1점 | ||
| 오른쪽 볼 (가운데) | 1포인트 | 
얼굴의 모든 윤곽을 한 번에 가져오면 아래와 같이 특징 윤곽에 매핑되는 133개의 점 배열을 얻게 됩니다.
| 특징 윤곽의 색인 | |
|---|---|
| 0-35 | 얼굴 타원형 | 
| 36-40 | 왼쪽 눈썹 (위쪽) | 
| 41-45 | 왼쪽 눈썹 (하단) | 
| 46-50 | 오른쪽 눈썹 (위쪽) | 
| 51-55 | 오른쪽 눈썹 (하단) | 
| 56-71 | 왼쪽 눈 | 
| 72-87 | 오른쪽 눈 | 
| 88-96 | 윗입술 (하단) | 
| 97-105 | 아랫입술 (위쪽) | 
| 106-116 | 윗입술 (위쪽) | 
| 117-125 | 아랫입술 (하단) | 
| 126, 127 | 콧날 | 
| 128-130 | 코 아래쪽 (중심점은 색인 128에 있음) | 
| 131 | 왼쪽 볼 (가운데) | 
| 132 | 오른쪽 볼 (가운데) | 
분류
분류는 특정 얼굴 특징이 나타나는지 확인합니다. ML Kit는 현재 눈을 뜨고 있음과 웃고 있음이라는 두 가지 분류를 지원합니다.
분류는 확실성 값입니다. 이는 얼굴 특징이 존재한다는 신뢰도를 나타냅니다. 예를 들어 '웃고 있음' 분류 값이 0.7 이상이면 사람이 웃고 있을 가능성이 높음을 나타냅니다.
두 분류 모두 랜드마크 감지를 사용합니다.
또한 '눈을 뜨고 있음'과 '웃고 있음'은 정면 얼굴, 즉 오일러 Y각(-18~18도)이 작은 얼굴에만 적용됩니다.
최소 면 크기
최소 얼굴 크기는 원하는 얼굴 크기이며 이미지 너비 대비 머리 너비 비율로 표현됩니다. 예를 들어 값이 0.1이면 검색할 가장 작은 얼굴이 검색 대상 이미지 너비의 약 10% 라는 의미입니다.
최소 얼굴 크기는 성능과 정확성을 절충합니다. 최소 크기를 작게 설정하면 감지기가 작은 얼굴을 찾을 수 있지만 감지 시간이 더 오래 걸립니다. 더 크게 설정하면 작은 얼굴은 제외되지만 더 빠르게 실행됩니다.
최소 얼굴 크기는 엄격한 제한이 아닙니다. 감지기가 지정된 것보다 약간 작은 얼굴을 찾을 수도 있습니다.
다음 단계
iOS 또는 Android 앱에서 얼굴 인식을 사용합니다.
