2001년 CVPR 학회에서 발표된 객체 검출 알고리즘
기존 얼굴 검출 방법보다 약 15배 빠르게 동작
유사 하르(Haar-like) 특징을 사용
AdaBoost에 기반한 강력한 분류 성능
캐스케이드(cascade) 방식을 통한 빠른 동작 속도
사각형 형태의 필터 집합을 사용
흰색 사각형 영역 픽셀 값의 합에서 검정색 사각형 영역 픽셀 값을 뺀 결과 값을 추출
적분 영상(integral image)을 이용하여 빠르게 계산 가능
24x24 크기의 부분 영상에서 180,000개 이상의 특징 추출 가능
AdaBoost 알고리즘을 이용하여 효과적인 유사 하르 특징 6000여개를 선별하여 사용
일반적인 영상에는 얼굴이 한 두개 있을 뿐 나머지 영역은 대부분 non-face 영역
Non-face 영역을 빠르게 skip하도록 다단계 검사 수행
image : 입력 영상
objects : 출력 검출된 객체의 사각형 정보
scaleFactor : 영상 축소 비율
minNeighbors : 얼마나 많은 이웃 사각형이 검출되어야 최종 검출 영역으로 설정할지를 지정
flags : 현재 사용되지 않음
minSize : 최소 객체 크기
maxSize : 최대 객체 크기
void CascadeClassifier::detectMultiScale(InputArray image,
std::vector<Rect>& objects,
double scaleFactor = 1.1,
int minNeighbors = 3,
int flags = 0,
Size minSize = Size(),
Size maxSize = Size());
C:\opencv-4.5.5\build\etc\haarcascades
facedetect
haarcascade_frontalface_default.xml
face_cascade.detectMultiScale(src, faces);
scaleFactor 1.2
scaleFactor 1.2
Size minSize Size(100, 100)
Size maxSize = Size(300, 300)
haarcascade_eye.xml