사물 검출
▪ Haar-like feature
영상이 주어져 있을 때 영상의 특정 영역을 픽셀들의 값들의 합의 차이를 이용해 물체 검출,,
검은색의 사각형 내부에 있는 픽셀들의 합 - 흰색 영역 내의 픽셀들의 합
어떠한 feature가 얼굴을 검출하기에 적합한지 찾아내기 위해 Adaboost(Adaptive Boosting) 이 사용된다.
Boosting: weak-learner의 집합으로 strong-learner을 만드는 것
Adaptive: 각각의 weak-learner의 가중치를 다르게 조절해주는 것
Cascade classifier
integral image
- integral image를 활용하면 픽셀에 접근하지 않고도 계산량을 줄일 수 있는 장점이 있다.
- openCV에 내장되어 있는 face detection 알고리즘은 Haar-like feature을 활용하는데 이를 계산하기 위해서는 특정 영역의 픽셀들의 합을 계산하기 때문에 integral image가 필요하다.
openCV에서 Face Detection 알고리즘 사용하기
CascadeClassifier face_classifier; //CascadeClassifier라는 클래스 활용
face_classifier.load("haarcascade_frontalface_alt.xml"); //xml파일 로드
Image : 입력 영상
Objects : 얼굴 영역의 벡터
numDetections : 중복된 얼굴 검출 저장 벡터
scaleFactor : 얼굴의 크기가 다양하기 때문에 영상의 크기 조절
minNeighbors : 최소한의 중복된 얼굴 검출 횟수
flags : 현재 사용하지 X
minSize, maxSize : 얼굴 크기 조절 값
출처 - 컴퓨터 비전 한동대학교 황성수
'openCV' 카테고리의 다른 글
[openCV] 딥러닝을 활용한 객체 검출 (0) | 2020.02.01 |
---|---|
[openCV] 보행자 검출 (0) | 2020.01.31 |
[openCV] 선 검출 (0) | 2020.01.29 |
[openCV] 에지 검출 (0) | 2020.01.29 |
[openCV] 형태학적 연산 (0) | 2020.01.29 |
댓글