Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Facial Recognition

얼굴 인식은 얼굴 임베딩을 비교해 사람의 신원을 식별하거나 확인합니다. 파이프라인 작동 방식, 검증과 식별의 차이, 편향, 프라이버시를 다룹니다.

얼굴 인식은 얼굴 이미지와 저장된 얼굴을 비교해 사람을 식별하거나 인증하는 생체 인식 기술입니다. 최신 시스템은 딥러닝을 사용해 각 얼굴을 임베딩으로 변환합니다. 임베딩은 흔히 faceprint라고 부르는 숫자 벡터이며, 두 얼굴의 임베딩이 얼마나 유사한지에 따라 같은 사람인지 판단합니다. 얼굴 인식은 휴대폰 잠금 해제, 승객의 공항 게이트 통과 간소화, 온라인 은행 계좌 개설 시 고객 인증 등에 사용됩니다. 또한 사람의 인지 없이 얼굴을 촬영할 수 있기 때문에 컴퓨터 비전 분야에서 가장 엄격하게 규제되는 용도 중 하나입니다.

얼굴 인식의 작동 방식#

인식 시스템은 각 이미지에서 네 단계를 수행합니다:

  1. 탐지: 얼굴 탐지기가 각 얼굴을 찾아 바운딩 박스와 몇 개의 얼굴 랜드마크를 반환합니다.
  2. 정렬: 얼굴을 회전하고 크기를 조정한 뒤 잘라내어 눈, 코, 입이 고정된 위치에 놓이게 합니다. 이를 통해 머리 자세와 거리에서 비롯되는 변화를 대부분 제거합니다.
  3. CNN을 사용한 인코딩: 네트워크는 정렬된 크롭을 고정 길이의 임베딩으로 변환합니다.
  4. 코사인 유사도를 사용한 매칭: 새 임베딩을 등록된 임베딩과 비교하고 임계값에 따라 일치 여부를 결정합니다. 대규모 배포에서는 빠른 검색을 위해 등록된 faceprint를 벡터 데이터베이스에 저장합니다.

얼굴 탐지는 객체 탐지 문제입니다. WIDER FACE와 같은 얼굴 데이터셋으로 미세 조정한 Ultralytics YOLO26 모델은 엣지 카메라에서 실시간으로 실행되어 후속 단계에 얼굴 박스를 전달할 수 있습니다. 딥러닝 이전의 시스템은 수작업으로 설계된 특징에 의존했습니다. 여기에는 얼굴 랜드마크 간 거리, Eigenfaces, 로컬 바이너리 패턴이 포함됩니다. 조명, 표정, 나이가 바뀌어도 학습된 임베딩이 훨씬 안정적이어서 이러한 특징을 대체했습니다. 2015년 FaceNet은 트리플렛 손실을 사용해 128차원 임베딩을 직접 학습했으며, ArcFace와 같은 마진 기반 손실은 서로 다른 사람의 임베딩을 더 멀리 떨어뜨립니다. 매칭 단계에서는 서로 다른 두 가지 질문을 다룹니다.

검증(1:1)은 휴대폰이 소유자를 확인하는 경우처럼 얼굴이 주장된 신원과 일치하는지 확인합니다. 식별(1:N)은 전체 갤러리를 검색합니다. 예를 들어 출입 통제 시스템은 얼굴을 등록된 모든 직원과 대조합니다. OpenCV Zoo 모델은 몇 줄의 코드로 전체 파이프라인을 실행할 수 있습니다. 아래 코드는 이미지의 얼굴을 등록한 다음, 좌우 반전한 이미지에서 얼굴을 탐지해 해당 갤러리와 대조합니다.

import urllib.request

import cv2

# Download OpenCV Zoo's face detector (YuNet), face recognizer (SFace), and a test image
zoo = "https://github.com/opencv/opencv_zoo/raw/main/models"
urllib.request.urlretrieve(f"{zoo}/face_detection_yunet/face_detection_yunet_2023mar.onnx", "yunet.onnx")
urllib.request.urlretrieve(f"{zoo}/face_recognition_sface/face_recognition_sface_2021dec.onnx", "sface.onnx")
urllib.request.urlretrieve("https://ultralytics.com/images/bus.jpg", "bus.jpg")
img = cv2.imread("bus.jpg")
detector = cv2.FaceDetectorYN.create("yunet.onnx", "", (img.shape[1], img.shape[0]))
recognizer = cv2.FaceRecognizerSF.create("sface.onnx", "")

# Enroll each detected face as an aligned 128-D embedding
gallery = [recognizer.feature(recognizer.alignCrop(img, face)) for face in detector.detect(img)[1]]

# Identify the faces of a mirrored copy against the gallery (SFace match: cosine >= 0.363)
mirror = cv2.flip(img, 1)
for face in detector.detect(mirror)[1]:
    probe = recognizer.feature(recognizer.alignCrop(mirror, face))
    print([round(recognizer.match(probe, g, cv2.FaceRecognizerSF_FR_COSINE), 2) for g in gallery])

[0.87, 0.06]과 [0.09, 0.89]을 출력합니다. 좌우 반전된 각 얼굴은 해당 얼굴 자체의 등록 임베딩과 비교할 때 0.363 임계값보다 훨씬 높은 점수를 얻고, 다른 사람의 임베딩과 비교할 때는 훨씬 낮은 점수를 얻습니다.

  • 얼굴 감지: 이미지에서 얼굴이 있는 위치를 찾지만 누구의 얼굴인지는 판별하지 않습니다. 얼굴 인식의 첫 단계이며 카메라 자동 초점과 얼굴 흐림 처리에도 사용됩니다.
  • 얼굴 분석 및 정서 컴퓨팅: 신원을 확인하지 않고 표정, 머리 자세, 나이와 같은 속성을 추정합니다.
  • 객체 재식별(Re-ID): 옷차림과 같은 전신 외형을 기준으로 카메라 간 사람을 매칭합니다. 뒤에서 촬영하거나 해상도가 낮아도 작동하지만 짧은 시간 범위에서만 사용할 수 있습니다.

실제 적용 사례#

  • 기기 잠금 해제: 휴대폰은 소유자를 1초도 안 되는 시간에 인증합니다. Apple의 Face ID는 30,000개가 넘는 적외선 점을 투사해 깊이 맵을 생성하므로 인쇄된 사진으로는 이를 모방할 수 없습니다.
  • 여행 및 국경 통제: 자동 전자 게이트는 여행자의 실시간 사진을 전자여권 칩에 저장된 사진과 비교합니다.
  • 신원 인증: 은행과 온라인 서비스는 계좌 개설 시 라이브니스 검사와 함께 셀카를 정부 발급 신분증의 사진과 비교합니다.
  • 사진 정리: 사진 앱은 개인 사진 라이브러리에서 얼굴을 그룹화해 사용자가 가족 구성원의 사진을 모두 찾을 수 있도록 합니다.

정확도, 편향 및 스푸핑#

모든 시스템은 두 가지 오류 간 균형을 맞춥니다. 오매칭은 다른 사람을 받아들이고, 미매칭은 올바른 사람을 거부하며, 유사도 임계값이 이 균형을 결정합니다. 과거에 FRVT로 불렸던 NIST 얼굴 인식 기술 평가(FRTE)는 수백만 장의 이미지로 상용 알고리즘을 벤치마크합니다. 2019년 99개 개발자의 알고리즘 189개를 조사한 결과, 대다수 알고리즘에서 인구통계학적 차이에 따른 오탐률 차이가 발견되었으며 이는 알고리즘 편향의 대표적 사례입니다. 사진, 화면 재생, 마스크도 얼굴 인식을 속일 수 있으므로 실제 운영 시스템은 깊이 센서, 적외선 또는 미세한 움직임 분석을 사용해 프레젠테이션 공격 탐지 기능을 추가합니다. 이 기능은 흔히 라이브니스 탐지라고 합니다.

개인정보 보호 및 규제#

Faceprint는 생체 데이터이므로 법률상 매우 민감한 개인정보로 취급됩니다. GDPR에 따르면 사람을 식별하는 데 사용되는 생체 데이터는 명시적인 법적 근거가 필요한 특별 범주에 속합니다. 일리노이주의 Biometric Information Privacy Act는 기업이 faceprint를 수집하기 전에 서면 동의를 받도록 요구합니다. EU AI Act는 규제를 더 강화합니다. 2025년 2월 2일부터 인터넷이나 CCTV 이미지의 무차별적인 스크래핑을 통한 얼굴 인식 데이터베이스 구축과, 엄격하게 정의된 몇 가지 경우를 제외한 법 집행 목적의 공공장소 실시간 원격 생체 식별을 금지합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요