본문 바로가기
openCV

[openCV] 보행자 검출

by _eunji_ 2020. 1. 31.
  • 보행자 검출은 HoG를 활용하여 표현한다.

HoG

HoG : 각 픽셀에 대해 계산한 gradient값을 히스토그램을 계산한 것
주어진 보행자 영상에서 영역을 분할하고 각각의 영역에 대해 HoG를 계산한 다음 HoG값을 이어 붙인다.
파란색 원이 보행자 영상인 HoG, 흰색 원이 보행자가 아닌 영상의 HoG라고 할 때, SVM이라는 알고리즘을 활용해서 식별기를 생성한다. / SVM에서는 margine이 큰 선이 좋은 분류기

얼굴 검출의 성능 개선

Image patch resizing

▪ Histogram normalization -> 조명에 따라 HoG 계산이 다르게 나오는 것을 막기 위해 normalization 수행

 

openCV function

HOGDescriptor hog(Size(48, 96), Size(16, 16), Size(8, 8), Size(8, 8), 9);
hog.setSVMDetector(HOGDescriptor::getDaimlerPeopleDetector()); 
//두 가지 옵션 가능
// getDaimlerPeopleDetector()
// getDefaultPeopleDetector()

win_size : 검출을 위한 윈도우 크기

block_size : 하나의 block의 크기

block_stride : 히스토그램 평활화를 위해 이동하는 것, cell_size의 정수배

cell_size : block 내부의 cell의 크기

nbins : bin의 개수

hog.detectMultiScale(frame, found, 1.2, Size(8, 8), Size(32, 32), 1.05, 6);

hit_threshold : 식별기와 샘플의 거리

win_stride : 이미지 패치의 간격

 

 

 

출처 - 컴퓨터 비전 한동대학교 황성수

 http://www.kocw.net/home/cview.do?cid=1b1f5b73413060b5

 

 

'openCV' 카테고리의 다른 글

[openCV] 추적  (0) 2020.02.01
[openCV] 딥러닝을 활용한 객체 검출  (0) 2020.02.01
[openCV] 얼굴 검출  (0) 2020.01.31
[openCV] 선 검출  (0) 2020.01.29
[openCV] 에지 검출  (0) 2020.01.29

댓글