HOG(방향 그래디언트 히스토그램)는 CNN과 같이 컴퓨터 비전 및 이미지 처리에서 널리 사용되는 특징 기술(feature descriptor)로, 이미지 내에서 에지(edge)의 방향 분포 를 분석하여 물체의 형태를 인식하는 데 사용된다. 특히 객체 검출(Object Detection) 에 효과적이다.
HOG는 Gradient(기울기) 정보를 기반으로 객체의 형상을 인식하며, 이를 이해하려면 Gradient의 크기(Magnitude)와 방향(Direction) 개념을 살펴보자.
1. Gradient(기울기)란?
Gradient는 함수의 변화율 을 나타내는 미분 개념이다.
이미지에서 Gradient는 픽셀의 밝기(Intensity)가 어떻게 변화하는지를 나타내며, 주어진 방향으로 얼마나 빠르게 밝기가 변하는지를 나타낸다.
1) Gradient Magnitude (기울기의 크기)
Gradient Magnitude는 에지(Edge) 의 강도를 나타낸다. 즉, 픽셀 주변에서 밝기 변화가 클수록 강한 Edge가 존재한다는 것을 의미한다.
2) Gradient Direction (기울기의 방향)
Gradient Direction은 에지가 진행하는 방향(Orientation) 을 나타낸다.
2. Example - Face Sampling
1) 입력 이미지를 일정한 크기로 변환하여 비교 가능한 형태로 만든다.

2. 이미지의 모든 픽셀에서 이미지의 x 방향(𝐺𝑥)과 y 방향(𝐺𝑦)으로 미분 한다.
3. 각 픽셀에서 Gradient Magnitude와 Direction을 계산한다.

4. Magnitude를 가중치로 하여 Gradient 방향을 여러 개의 Bin(예: 9개 방향)으로 나누고, 해당 방향의 히스토그램을 구성하여 Histogram of Gradients(방향 히스토그램)를 생성한다.

5. 검출하고자 하는 이미지의 HOG 벡터와 사전 학습된 HOG 벡터를 비교하여 YES/NO 판별한다.

최종적으로, 얼굴과 같은 특정 객체를 탐지하면 HOG는 해당 특징을 강조한 이미지로 변환된다. 즉, 아래와 같이 경계(Edge)와 구조적 특징이 부각 된 이미지로 변환된다.

'Python > COMPUTER VISION' 카테고리의 다른 글
| Computer Vision - LAB 02_2. FACE DETECT (CNN with Dlib) (0) | 2025.02.11 |
|---|---|
| Computer Vision - LAB 02_1. FACE DETECT (HOG with Dlib) (0) | 2025.02.11 |
| Computer Vision - LAB 01_2. Face Detect (HAAR CASCADE) (0) | 2025.02.10 |
| Computer Vision - LAB 01_1. Face Detect (HAAR CASCADE) (0) | 2025.02.10 |
| Computer Vision - CASCADE Classifier (0) | 2025.02.10 |
