단일 점에 대한 HOG 기술자는 없습니다. HOG 서술자는 짙은 서술자이므로 서라운드을 주목할 픽셀 블록을 얻을 수 있습니다. extractHOGFeatures
함수는 이미지와 선택적으로 HOG 디스크립터를 계산할 특정 입력 좌표를 취합니다. 이들은 (x,y)
이거나 HOG 기술자를 계산할 이미지의 열과 행 위치입니다. 이것을 N x 2
행렬로 지정하고 각 행은 HOG 디스크립터를 계산할 위치의 (x,y)
좌표입니다.
로컬 픽셀 패치에서 HOG 디스크립터를 계산한다는 것을 상기하자. 이 로컬 패치의 기본 크기 또는 셀 크기은 Dalal 및 Triggs의 원래 보행자 감지 알고리즘에 따라 8 x 8
입니다. 히스토그램에서 방향의 부호를 무시한다고 가정하면 히스토그램의 기본 빈 수는 9이거나 20도 단위로 각도를 고려하여 총 180 도가됩니다. 8 x 8
패치마다 9 칸의 막대 그래프가 있습니다. 당신은 또한 세포의 구성을이라고 간주합니다. 각 블록은 셀 격자로 구성되며 MATLAB의 기본값은 2 x
2 격자로 16 x 16 픽셀 창입니다.
따라서 지정한 위치가 가운데가되며이 가운데에 16 x 16
창이 표시됩니다. 그런 다음 4 개의 HOG 히스토그램 (블록 내의 각 셀에 하나씩)을 계산합니다. 마지막 단계로 모든 히스토그램을 연결하여 하나의 긴 막대 그래프를 만듭니다 (4 x 9 = 36
요소).이 벡터를 정규화하여 해당 좌표를 나타내는 최종 설명자를 계산합니다.
출력은 N
행의 행렬입니다. 각 행은 입력 위치 행렬의 해당 행에 의해 지정된 중앙 위치의 설명 자입니다. 더 구체적으로 말하자면 N x 36
행렬을 얻게됩니다. 특히 OpenCV의에서, 응용 프로그램에 있지만, 사용 사례의 대부분을 의존하는 최적의 블록 크기 및 셀 크기,에 관해서는
는 기본 2 x 2
는 따라서 16 x 16
을 만드는 블록 크기의 8 x 8
셀 크기를 가정하는 것입니다 픽셀 패치. Dalal과 Triggs는 서로 다른 크기의 셀과 블록을 실험하여이 두 크기가 보행자 감지의 사용 사례에 가장 적합하다는 것을 알았습니다.
저는 "[features, validPoints] = extractHOGFeatures (I, points)"를 matlab에 사용하고 있습니다. 여기서 점은 [x, y] 좌표의 Mx2 행렬을 나타낼 수 있습니다. 참조는 다음과 같습니다. https://www.mathworks.com/help/vision/ref/extracthogfeatures.html –
나는 알고 있습니다. 나는 대답을 쓸 것이다. – rayryeng