Histograms of Oriented Gradients (HOG)

FSA·2024년 3월 8일
0

video vision

목록 보기
6/10

HOG.

  • HOG는 이미지의 각 부분에서 어떤 방향의 에지가 주로 존재하는지를 요약함으로써, 이미지를 구성하는 기본적인 형태와 구조에 대한 이해를 돕습니다.
  • HOG는 이미지 내의 특정 지역(부분 영역 또는 셀)에서 그래디언트(변화율)의 방향을 분석하여 그 특성을 요약하는 방법
  • 이 방법은 이미지 내의 형태와 구조, 특히 에지(경계선)나 모양의 방향성을 기술하는 데 유용
  • 방법
  1. 그래디언트 계산: HOG는 먼저 이미지의 각 픽셀에서 그래디언트(방향과 크기)를 계산합니다. 이는 인접한 픽셀 간의 차이를 계산하여 수행됩니다. 간단히 말해, 어떤 픽셀 주변에서 밝기가 어떻게 변하는지 측정합니다.
  2. 셀과 히스토그램: 이미지를 작은 로컬 부분 영역(셀)으로 나눈 다음, 각 셀 내에서 그래디언트의 방향을 분석합니다. 그래디언트 방향은 몇 개의 "바구니"로 구분된 방향 히스토그램에 누적되며, 이때 그래디언트의 크기에 따라 가중치(투표)가 부여됩니다. 즉, 각 방향으로 얼마나 많은 에지가 존재하는지를 요약
  3. 정규화: 생성된 히스토그램은 단위 길이로 정규화됩니다. 이 과정은 조명 변화와 같은 외부 요인의 영향을 줄이기 위해 수행
  4. 전체 이미지에 대해 밀도 있는 HOG 추출: 이는 전체 이미지에서 고르게 HOG 특성을 계산하여, 이미지 전반에 걸친 형태와 구조 정보를 포괄적으로 획득하는 방법입니다. 이 방식은 특히 무작위로 마스크된 패치의 내용을 예측하는 데 유용하게 사용될 수 있습니다.

개요

  • 이미지 내의 지역적인 객체의 형태와 모양을 파악하기 위해 사용되는 컴퓨터 비전 기술
  • 이미지의 특정 부분에서 밝기의 그래디언트(변화율)와 방향을 계산하여, 그 결과를 히스토그램으로 나타냄
  • 이 기술은 주로 사람이나 객체 인식에 활용

Local Contrast Normalization

  • 이미지의 밝기 변화가 작은 부분과 큰 부분의 차이를 줄여서 전체적으로 이미지의 대비를 균일하게 만드는 처리 방법
  • 이 과정을 통해 빛의 조건 변화나 그림자 등으로 인한 영향을 줄여, 객체를 더 잘 인식할 수 있도록 도움

방법

1. 그래디언트 계산

  • 이미지의 각 픽셀에 대해 x와 y 방향의 그래디언트를 계산
  • 이는 이미지의 밝기 또는 색상 값의 공간적 변화율을 측정
  • 보통 Sobel 연산자와 같은 에지 검출 필터를 사용하여 다음과 같이 계산
    • HOG 특징을 계산할 때는 보통 이미지를 흑백으로 변환하여 단일 채널 (H,W) 이미지를 사용

그 외

3. 셀과 블록으로 나누기

  • 이 단계는 이미지의 로컬 영역에서 그래디언트 정보를 집약적으로 요약하기 위해 중요합니다. 아래 단계별로 구체적으로 설명하겠습니다.

3.1. 이미지를 셀로 나누기

  • 이미지는 여러 개의 작은 "셀(cell)"로 나눕니다.
  • 각 셀은 보통 8x8, 16x16과 같은 고정된 픽셀 크기를 가집니다.

3.2. 그래디언트 방향 히스토그램 생성

  • 각 셀 내에서, 앞서 계산한 그래디언트 방향((\theta))과 크기((G))를 이용하여 히스토그램을 생성
  • 이 히스토그램은 하나의 셀 내에서, 그래디언트의 방향을 여러 구간(bin)으로 나누고, 각 구간에 대한 그래디언트 크기의 합을 계산
    • 가로축: 방향의 bin
    • 세로축: 그 bin에 해당하는 그래디언트 크기의 총 합
  • 예를 들어, 그래디언트 방향을 0도에서 180도(또는 0도에서 360도, 응용에 따라 다름)로 나누고, 이를 9개의 구간(bin)으로 분류
  • 각 구간은 20도(180도를 9등분) 또는 40도(360도를 9등분)의 각도 범위
  • 그런 다음, 각 셀 내의 픽셀을 순회하며, 해당 픽셀의 그래디언트 방향이 어느 구간(bin)에 속하는지 판단

4. 블록 정규화

  • 이 단계의 목적은 로컬 이미지의 조명 변화와 그림자 등에 대한 변동성을 줄여, 특징 벡터가 이러한 외부 요인에 강인하게 만드는 것
  • 자세한 설명은 다음과 같습니다:

4.1. 블록의 정의

  • "블록"은 여러 개의 인접한 "셀"들을 그룹화한 것
  • 각 셀은 그 자체로 그래디언트 방향에 대한 히스토그램을 가지고 있으며, 여러 셀을 모아 블록을 형성
  • 일반적으로 블록은 2x2 또는 3x3 셀을 포함할 수 있으며, 이는 설정에 따라 다릅니다.
    • 9개의 셀이 있다면, 9개의 히스토그램이 있다는 것
    • 1개의 히스토그램에 9개의 bin이 있다면, 총 81개의 bin이 있을 것
    • 81개의 bin의 vector 크기들을 root mean square 한 후, 이를 각 벡터에 전부 나누어줌.
    • 결과적으로, 9개의 셀의 히스토그램들을 합쳐서, 하나의 히스토그램으로 만드는듯(?)

4.2. 정규화 과정

  • 각 블록 내의 모든 셀 히스토그램을 연결하여 하나의 큰 벡터를 형성
  • 이 벡터에 대해 정규화(normalization) 과정을 수행하여, 블록 내의 히스토그램 값들을 조정
    • 정규화는 벡터의 각 요소 값을 벡터의 크기(또는 길이)로 나누어, 결과적으로 벡터의 길이가 1이 되도록 만드는 과정입니다.

4.3. 정규화의 효과

  • 이 정규화 과정은 각 블록 내의 히스토그램 값을 조명 변화, 그림자 등으로 인한 강도 변화의 영향으로부터 일정 정도 독립적으로 만듭니다.
  • 즉, 이미지의 일부분이 어둡거나 밝게 변하더라도, 정규화된 특징 벡터는 비교적 일정하게 유지
  • 이를 통해 HOG 특징은 다양한 조명 조건 하에서도 객체를 안정적으로 인식할 수 있습니다.

4.4. 오버랩된 블록

  • 실제 구현에서는 블록들이 이미지 위에서 겹치며 이동합니다.
  • 즉, 각 셀은 여러 블록에 속할 수 있으며, 이를 통해 HOG 특징은 더 많은 로컬 그래디언트 정보를 포착하고, 이미지 전체에 대한 더 매끄러운 특징 표현을 제공

5. 특징 벡터 생성

  • 마지막 단계인 "특징 벡터 생성" 과정은 HOG(Histograms of Oriented Gradients) 특징 추출의 핵심 단계 중 하나
  • 이 단계에서는 이미지 전체에 걸쳐 계산된 정규화된 히스토그램을 모두 연결하여, 최종적인 HOG 특징 벡터를 생성
  • 이 과정을 좀 더 자세히 설명하겠습니다.

5.1. 정규화된 히스토그램의 연결

  • 정규화된 히스토그램은 각 블록의 그래디언트 정보를 나타냅니다.
  • "특징 벡터 생성" 단계에서는 이미지 내의 모든 블록에서 얻은 이 정규화된 히스토그램들을 하나의 긴 벡터로 연결합니다.

5.2. 이미지 전체의 표현

  • 각 블록의 히스토그램을 연결함으로써, 우리는 이미지 전체에 대한 포괄적인 특징 벡터를 얻게 됩니다.
  • 이 벡터는 이미지의 모든 중요한 그래디언트 정보를 담고 있으며, 이미지 내 객체의 구조적인 형태와 외곽선을 효과적으로 기술합니다.

5.3. 벡터의 차원

  • 최종 HOG 특징 벡터의 차원은 이미지 내의 블록 수와 각 블록의 히스토그램 크기(즉, bin의 수)에 의해 결정됩니다.
  • 예를 들어, 이미지가 105개의 블록을 가지고 있고, 각 블록의 히스토그램이 9개의 bin으로 구성되어 있다면, 최종 HOG 특징 벡터는 945(=105x9)개의 요소를 가지게 됩니다.

6. 최종 시각화

  • 히스토그램 피크 찾기
    • 각 셀의 히스토그램에서 가장 높은 값을 가지는 bin(피크)을 찾아서, 해당 방향이 가장 뚜렷한 그래디언트 방향으로 간주합니다.
  • 방향과 강도로 화살표 그리기
    • 각 셀에 대해, 히스토그램의 피크가 가리키는 방향으로 화살표(또는 선분)를 그립니다.
    • 화살표의 길이는 그래디언트 크기와 비례하며, 방향은 히스토그램의 해당 bin의 중심 각도를 반영합니다.
  • 오버레이 시각화
    • 이렇게 각 셀에서 계산된 화살표들을 원본 이미지 위에 오버레이합니다.
    • 일반적으로 화살표는 각 셀의 중심에서 시작하여 해당 방향으로 표시됩니다.
  • 이미지 전체에 적용
    • 위 과정을 이미지의 모든 셀에 적용하고, 각 셀에 대해 계산된 화살표들을 전체 이미지에 걸쳐 시각화합니다.
    • 이를 통해 이미지 전체의 그래디언트 방향 정보가 포함된 시각적 표현을 얻을 수 있습니다.
profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글