본문 바로가기
지식공학/기계학습

Histogram of Oriented Gradients

by Eric87 2022. 3. 4.
반응형

많은 물체들은 어렵고 신비스럽게 보인다. 하지만 일단 그것들은 시간을 가지고 해체해 보면, 우리가 찾고자 하는 것은 이런 신비함이 숙련됨으로 바뀌게 하는 것이다. 

형상 기술자(Feature Descriptor)는 유용한 정보를 추출하고 관계가 없는 정보를 버림으로써 이미지를 단순화하는 이미지 또는 이미지 패치를 표현하느 것이다. 일반적으로, 이 형상 기술자는 폭 x 높이 x 3(RGB)의 이미지를 형상 벡터/길이 n의 배열로 변환한다. HOG 형상 기술자의 경우 입력 이미지의 크기는 64 x 128 x 3이고 출력 형상 벡터의 길이는 3780이다. 

"유용한(useful)"것은 무엇이며, "외적인(extraneous)"것은 무엇일까? 형상 벡터는 이미지를 보는 목적으로는 유용하지 않다. 그러나 이미지 인식 및 객체 감지와 같은 작업에는 매우 유용하다. SVM(Support Vector Machine)과 같은 이미지 분류 알고리즘에 제공 될때 이러한 알고리즘에 의해 만들어진 형상 벡터는 좋은 결과를 만들어 낸다. 그러나 어떤 종류의 형상들이 분류 작업에 유용할까? 예제를 사용하여 이 문제에 관해 논의 해보면, 우리가 셔츠와 코트의 버튼을 탐지하는 객체 탐지기를 만들고 싶다고 가정해 보자. 단추는 원형이지만 이미지에서는 타원형으로 보일 수 있다. 그리고 일반적으로 바늘 구멍이 몇 개 있다. 버튼의 이미지에서 edge detector를 실행하고 단순히 이 edge 이미지만 보면 버튼인지 쉽게 알 수 있다. 이 경우 edge 정보는 "유용" 하고 생상 정보는 유용하지 않다.

또한 이 형상은 차별성이 있어야 한다. 예를 들어 이미지에서 추출한 좋은 형상은 단추와 동전과 자동차 타이어 같은 다른 원형 객체들과의 차이를 나타낼 수 있어야 한다. HOG 형상 기술자에서, Gradient 방향의 분포(히스토그램)가 특성들로 사용횐다. gradient의 크기가 모서리와 모서리 주위에서 커지기 때문에 이미지의 gradient가 유용하다. 모서리와 모서리는 평면 영역보다 객체 모양에 대한 많은 정보를 제공한다.

HOG feature descriptor계산에 대한 상세한 내용을 살펴 보자. 각 단계를 설명하기 위해 우리는 이미지의 패치를 사용한다.

전처리단계

앞서 설명 한 바와 같이, 보행자 검출에 사용되는 HOG 형상 기술자는 이미지의 64 x 128 패치상에서 계산된다. 물론 이미지의 크기는 다양 할 수 있다. 일반적으로 여러 축척에서 패치들은 많은 이미지 위치에서 분석된다. 유일한 제약은 분석중인 패치가 고정된 종횡 비를 가져야 한다는 것이다. 예를 들어, 100 x 200, 128 x 256 또는 1000 x 2000이 될 수 있지만 101 x 205는 될 수 없다. 이 점을 설명하기 위해 크기 720 x 475의 큰 이미지에서 HOG 형상 기술자를 계산하기 위해 100 x 200 크기의 패치를 선택한다. 이 패치는 큰 이미지에서 잘라내고 64 x 128 크기로 만들어 준다. 이제 이 이미지 패치의 HOG 기술자를 계산할 준비가 되었다. 

Gradient 이미지 계산하기

HOG 기술자를 계산하려면 먼저 수평 및 수직 gradient를 계산해야한다. 다음 커널을 사용하면 이미지를 필터링하면 쉽게 얻을 수 있다.  

edge 검출 필터

다음으로, 공식을 사용하여 gradient의  크기와 방향을 찾을 수 있다.

$$\begin{align}g&=\sqrt{g^2_x+g^2_y} \\ \theta&=arctan \frac{g_y}{g_x} \end{align}$$

gradient 이미지는 필수적이지 않은 많은 정보를 제거하고 윤관석들이 강조된다. 즉, gradient 이미지를 보고 그림에 사람이 있다라고 쉽게 말할 수 있다. 모든 픽셀에서 gradient는 크기와 방향을 가진다. 컬러 이미지의 경우 세 채널의 그라데이션으로 평가된다. 픽셀에서의 gradient의 크기는 3개의 채널의 gradient의 크기의 최대 값이 며, 각도는 최대 gradient에 해당하는 각도이다.

 

반응형

댓글