공개 방법론 · 알고리즘 버전 1.0
WhatZoo 얼굴 분석 방법론: 478개 랜드마크에서 동물상까지
WhatZoo는 얼굴 이미지를 생성형 AI에 보내 인상을 추측하지 않습니다. 브라우저에서 MediaPipe Face Landmarker가 검출한 정규화 좌표를 거리와 비율로 변환한 뒤, 공개된 규칙 기반 점수로 동물상을 선택합니다. 아래 내용은 현재 서비스 코드와 같은 계산 흐름을 설명합니다.
최종 기술 검수: 2026년 7월 13일
실제로 사용하는 7개 지표
478개 점을 모두 독립 변수로 사용하는 것이 아니라, 눈·코·입·얼굴 외곽의 대표 점을 조합합니다. 비율을 사용하므로 사진 해상도 자체의 영향은 줄지만 각도와 표정의 영향은 남습니다.
| 지표 | 사용 랜드마크와 계산 | 해석 |
|---|---|---|
| 눈꼬리 기울기 | 33·133, 362·263의 Y좌표 차이 합 × 100 | 양수는 올라간 눈꼬리, 음수는 내려간 눈꼬리 |
| 미간 거리 비율 | 33–362 거리 ÷ 234–454 얼굴 너비 | 얼굴 너비에 대한 양 눈 안쪽 사이 거리 |
| 얼굴 종횡비 | 10–152 높이 ÷ 234–454 너비 | 값이 클수록 상대적으로 긴 얼굴 |
| 코 너비 비율 | 102–331 거리 ÷ 얼굴 너비 | 얼굴 크기를 보정한 코의 상대 너비 |
| 입 너비 비율 | 61–291 거리 ÷ 얼굴 너비 | 얼굴 크기를 보정한 입의 상대 너비 |
| 턱 길이 비율 | 17–152 거리 ÷ 얼굴 높이 | 입 아래부터 턱 끝까지의 상대 길이 |
| 미소 여부 | 입 중앙 0·17과 입꼬리 61·291의 Y좌표 비교 | 입꼬리가 중앙보다 올라간 상태를 단순 판정 |
분류는 세 단계로 진행됩니다
1. 필수 특징 검사
각 동물 프로필의 criticalTrait를 먼저 검사합니다. 예를 들어 호랑이상은 눈꼬리 기울기가 기준값을 넘어야 엄격 후보가 됩니다.
2. 세부 특징 점수
필수 특징을 통과한 후보마다 세 가지 세부 조건을 확인합니다. 필수 조건 1점과 일치한 세부 조건 수를 합쳐 최대 4점을 부여합니다.
3. 완화 규칙과 동점 처리
엄격 후보가 없으면 필수 조건을 제외하고 세부 조건 일치 수로 다시 비교합니다. 최고점 후보가 여러 개면 그중 하나를 선택하므로 경계값 부근에서는 결과가 달라질 수 있습니다.
계산 예시: 가상의 얼굴 측정값
아래 값은 실제 인물을 나타내지 않는 설명용 예시입니다. 원시 좌표보다 비율이 분류에 어떻게 사용되는지 보여줍니다.
- 얼굴 높이 0.60 ÷ 너비 0.42
- 얼굴 종횡비 1.43
- 코 너비 0.060 ÷ 얼굴 너비 0.42
- 코 너비 비율 0.143
- 턱 길이 0.105 ÷ 얼굴 높이 0.60
- 턱 길이 비율 0.175
사진과 좌표는 어디에서 처리되나요?
랜드마크 검출과 지표 계산은 사용자의 브라우저에서 수행됩니다. 분석 사진과 478개 좌표는 동물상 판정을 위해 WhatZoo 서버에 업로드하거나 저장하지 않습니다. 별도의 공유 이미지를 사용자가 직접 생성하는 경우에도 브라우저에서 렌더링합니다.
알아야 할 한계
- 정면이 아닌 얼굴, 가려진 눈·입, 강한 그림자는 좌표를 왜곡할 수 있습니다.
- 미소 여부를 사용하므로 같은 사람도 표정에 따라 후보가 달라질 수 있습니다.
- 현재 분류기는 임상·생체인증·심리 측정 도구가 아니며 정확도 인증을 받은 모델이 아닙니다.
- 성격·연애·직업 설명은 엔터테인먼트 해석이며 얼굴로 성격을 과학적으로 진단한다는 의미가 아닙니다.
버전과 변경 원칙
현재 공개 기준은 알고리즘 1.0입니다. 지표 정의나 동물별 임계값을 변경할 때 이 페이지의 검수일과 변경 내용을 함께 갱신합니다. 결과 분포만 맞추기 위해 사용자 몰래 규칙을 바꾸지 않습니다.