12. Handcrafted visual feature

Yejin Yun·2022년 6월 19일
0

Computer Vision

목록 보기
4/7

This time...

  • color spaces
  • color histogram
  • histogram of oriented gradients (HOG)
    - pedestrian detection, object classification 등

Color Space

  • HSV color space
    - Hue : 각도, Saturation : 원점에서의 거리, Value: 높이
  • CIE Luv
    - 거리가 같으면 사람이 인지하는 색차이가 같다.

Color Histograms

이미지의 색상정보 분포를 분석하여 비슷한 사진을 찾는다.
-> 이미지를 추상화할 수 있는 강력한 수단

<필수 요소>
robostness
distinctiveness

구동 순서

  1. noise 제거
    • 가우시안 필터링
    • image resize
      ex) 100x200 -> 3x6 img
      - 자잘한 noise 삭제
      - 작아진 픽셀 -> histogram 속도 상승
  2. img를 HSV space로
  3. Hue 값만 사용한다.
  4. Hue 값을 나눈다.
    ex) 4bin으로 나눈다. (0~90,90~180,180~270,270~360)
  5. 중간에 걸친 값 (ex. 90,180,270)인 경우 반으로 나눠서 할당한다.
    -> bias 문제 감소

Bhattacharyya Coefficient

: 각 히스토그램을 확률값으로 바꾼다.

(두 이미지를 비교할 때,)
1. 두 히스토그램을 비교할때, 각각의 카운트 값을 전체 픽셀 값으로 나눠준다.
-> 전체합은 1, 모든 수 0~1 사이에 떨어지는 확률값
2. BC(p,q) = 동일한 위치에 있는 p값과 q값을 곱한거에 루트 씌우고 모두 더한값
3. BC(p,q)가 0에 가까울수록 다른 이미지이고, 1일 경우 동일한 이미지이다.

** 이미지의 색 분포가 비슷한 경우
이미지를 여러번 분할하여 각 분할된 부분의 히스토그램을 생성하여 비교한다.
-> 위치정보를 남겨놓을 수 있다.

Histogram of Oriented Gradients

1. Input Image

2. Normalize gamma & colour

사람 눈처럼 바꾸기
- 컬러스페이스를 바꾼다.
- 밝기 조정한다.

3. Compute gradients

LUV 스페이스로 바꾸고 색상 채도는 필요없기 때문에 L값만 추출한다.

그래디언트를 얻기 위한 필터들

  • mean filter

  • The soble operator
    x로의 미분, y로의 미분, 그래디언트의 크기값

    	(The standard defn. of the Sobel operator omits the 1/8 term
    	doesn’t make a difference for edge detection
    	the 1/8 term is needed to get the right gradient value)

4. Weighted vote into spatial & orientation cells

그래디언트 두 개를 활용해 히스토그램 얻기
1. 이미지를 셀로 나눈다.
2. 셀 하나마다 gradient의 방향과 크기를 얻는다.
3. 히스토그램에 voting한다.
- x축은 각도, y축은 그래디언트 크기

5. Contrast normalize over overlapping spatial blocks

  • sobel operater 결과 이미지는 smooth된 결과를 갖는다.
    -> 근처 히스토그램이 비슷한 분포를 가질 것이다 가정
    -> 한번 더 정규화 해준다.
profile
이런저런 공부 기록

0개의 댓글