OpenCV 응용: 얼굴 검출과 응용

JERRY·2025년 5월 25일
0

Deep Learning

목록 보기
33/35
post-thumbnail

1. 얼굴 검출 개요

얼굴 검출

얼굴 검출(face detection)

  • 영상에서 얼굴의 위치를 검출하는 기법
    • 얼굴 인식(face recognition)은 검출된 얼굴이 누구인지를 판결하는 기법
    • 얼굴 랜드마크 검출(face landmark detection)은 눈, 눈썹, 코, 입 등의 형태까지 찾는 기법
  • 인종, 조명, 표정, 가려짐(안경, 머리카락) 등의 변화에 매우 민감
  • 얼굴 검출 응용
    • 카메라에서 얼굴에 초점(focus), 노출(exposure) 맞추기
    • 얼굴(성별, 나이) 인식, 얼굴 랜드마크 검출을 위한 전처리 과정

얼굴 검출 기법의 역사

1900년대 얼굴 검출 기법

  • 눈, 코, 입의 에지 성분 검출 및 위치 관계 분석
  • 살색 영역 검출
  • 초기 신경망 기법

2000년대 초반: Viola - Jones 얼굴 검출기

  • 다수의 얼굴 영상과 얼굴이 아닌 영상을 이용한 머신 러닝 기법을 도입하여 빠르고 정확하게 얼굴 영역을 검출
  • 기존 방법과의 차별점
    • 유사 하르(Haar-like) 특징을 사용
    • AdaBoost에 기반한 강한 분류 성능
    • 캐스케이드(cascade) 방식을 통한 빠른 동작 속도
  • 기존 얼굴 검출 방법보다 약 15배 빠르게 동작

얼굴 검출 기법의 역사

2010년대 중반 이후의 얼굴 검출 기법


2. OpenCV DNN 얼굴 검출 (1)

OpenCV DNN 모듈

OpenCV DNN(Deep Neural Network) 모듈

  • 미리 학습된 딥러닝 모델을 이용하여 실행(forward pass, inference) 하는 기능
    • 학습은 TensorFlow, PyTorch 등의 딥러닝 프레임워크를 이용해야 함
  • OpenCV 3.3 버전부터 기본 기능으로 제공
    • OpenCV 4.3 버전부터 GPU(CUDA) 지원 (소스 코드 직접 빌드 필요)
  • 참고 URL: https://github.com/opencv/opencv/wiki/Deep-Learning-in-OpenCV

지원하는 딥러닝 프레임워크

OpenCV DNN 얼굴 검출

OpenCV DNN 얼굴 검출 예제


3. OpenCV DNN 얼굴 검출 (2)

OpenCV DNN 얼굴 검출 코드 작성하기

OpenCV DNN 얼굴 검출 모델 & 설정 파일 다운로드

OpenCV DNN 모듈을 얼굴 검출 예제 [face_detect.py]


4. 얼굴 검출 응용

프라이버시 얼굴 모자이크

얼굴 모자이크 기법 개요

영상의 크기 변환

보간법에 따른 영상의 크기 변환 결과 (4배 확대)

프라이버시 보호 얼굴 모자이크

OpenCV DNN 얼굴 검출 후 모자이크 입히기 [face_mosaic.py]

0개의 댓글