동물상 테스트는 "얼굴 전체를 한 번에 이해"하는 것이 아니라, 눈·코·입 주변의 시각 패턴을 수치로 변환해 분류하는 방식으로 동작합니다. 여기서는 사용자가 실제로 이해할 수 있는 수준으로 핵심 흐름만 설명합니다.
1) 입력 단계: 사진 품질이 결과를 좌우합니다
모델은 사진 속 얼굴 패턴을 기준으로 판단합니다. 따라서 얼굴이 가려지거나 조명이 극단적이면 오분류가 늘어납니다.
- 정면에 가까운 사진 사용
- 강한 역광, 과한 보정, 필터 적용 사진 피하기
- 안경/마스크/손으로 얼굴이 크게 가려진 경우 재촬영
2) 전처리 단계: 모델이 읽기 쉬운 형태로 변환
업로드된 이미지는 크기와 밝기 범위를 정규화해 모델 입력 형식에 맞춥니다. 이 과정은 결과의 안정성을 높이기 위한 기본 작업입니다.
3) 추론 단계: 특징 추출 + 분류 확률 계산
모델은 얼굴의 형태적 특징을 추출한 뒤, 클래스별 확률을 계산합니다. 최종 결과는 가장 높은 확률을 가진 항목으로 표시되지만, 상위 2~3개 결과가 비슷한 확률이라면 "경계 사례"일 수 있습니다.
4) 브라우저 실행의 장점과 한계
- 장점: 업로드 즉시 반응이 빠르고, 서버 전송 의존도가 낮아 사용 흐름이 단순합니다.
- 한계: 기기 성능과 브라우저 환경에 따라 처리 속도가 달라질 수 있습니다.
5) 정확도를 높이기 위한 운영 체크리스트
- 오분류가 잦은 조건(역광, 측면, 과도한 필터)을 FAQ에 명시
- 테스트 페이지에 "다시 촬영" 가이드를 함께 제공
- 결과 화면에서 상위 후보를 함께 보여 사용자 해석 보조
핵심은 "AI가 무엇을 잘하고 무엇을 못하는지"를 사용자에게 숨기지 않는 것입니다. 이 설명이 명확할수록 콘텐츠 신뢰도도 함께 올라갑니다.
6) Choosey 테스트에서 실제로 처리되는 순서
사용자가 사진을 선택하면 브라우저의 FileReader가 이미지를 미리보기 요소에 표시하고, TensorFlow.js 기반 모델이 그 이미지를 읽습니다. 모델은 강아지, 고양이, 토끼, 곰, 공룡, 여우, 사슴, 뱀, 꼬부기 등 9개 범주의 점수를 계산합니다. 결과 화면은 가장 높은 범주 하나만 단정하지 않고 상위 3개 후보와 각 비율을 함께 보여줍니다. 이 비율은 "실제로 그 동물과 닮은 정도"가 아니라, 현재 입력 이미지가 모델이 학습한 범주 중 어느 패턴에 상대적으로 가까운지를 나타내는 분류 점수입니다.
7) 결과가 달라지는 조건을 직접 확인하는 방법
모델의 일관성을 확인하려면 인물이 다른 사진 여러 장을 비교하기보다 같은 사진을 조건별로 바꾸는 편이 낫습니다. 원본 사진, 얼굴만 자른 사진, 밝기를 낮춘 사진, 좌우를 반전한 사진을 차례로 넣고 상위 3개 순서가 어떻게 변하는지 기록해 보세요. 작은 편집만으로 순위가 크게 바뀐다면 그 결과는 얼굴 특징보다 조명이나 구도에 민감한 사례입니다. 반대로 조건을 바꿔도 상위 후보가 유지되면 해당 이미지에서는 비교적 일관된 패턴을 찾았다고 해석할 수 있습니다.
8) 이 테스트가 하지 않는 것
- 사용자의 신원, 성격, 건강 상태를 판별하지 않습니다.
- 연예인 예시는 결과를 재미있게 설명하기 위한 참고이며 실제 동일 인물 판정이 아닙니다.
- 브라우저와 기기 성능에 따라 모델 로딩 시간은 달라질 수 있습니다.
- 학습 자료의 구성에 따른 편향이 있을 수 있으므로 외모 평가나 중요한 판단에 사용하면 안 됩니다.