[Goal]

  • 어두운 환경이나 엄청 밝은 환경의 이미지를 취득시 추출되기 어려운 feature를 찾아보기

[Reference Site]


[Histogram Equalization]

image get from: https://gaussian37.github.io/vision-concept-histogram_equalization/

  • Histogram equalization은 영상의 pixel value 들의 누적분포함수를 이용하여 영상을 개선하는 방법이고 image enhancement 방법 중 하나이다.
  • 즉, 화소가 좁은 low contrast 입력 영상을 이용하여 화소값의 범위가 넓은 high contrast 출력 영상을 얻는다.
  • 더 쉽게 말하자면, 어두운 이미지는 밝은 이미지로. 너무 밝은 이미지는 적당히 밝은 이미지로 변환해준다.

[Problem Definition]

  • 너무 어두운 환경에서 취득된 영상이나 너무 밝은 환경에서 취득된 영상들은 주변 pixel 들의 값들이나 pixel 변화량 (gradient) 의 차이가 매우 적기 때문에 쉽게 feature를 추출하기 어렵게 된다.
  • 그래서 이들을 histogram equalization을 통해서 보다 feature들을 잘 뽑을 수 있도록 pre-processing을 진행해주고 stitching을 진행하면 훨씬 더 많은 matching 결과들을 확인할 수 있다.

[Code Example]

(1) gray scale 영상은 입력 영상에 바로 histogram equalization을 적용할 수 있다.
(2) color 영상은 HSV, YCrCb 등의 컬러 모델로 변환한 다음, 밝기값 채널에 histogram equalization을 적용하고 다시 BGR로 변환한다.

// Use GrayScale image for applying histogram equalization !

// Convert BGR to GRAY
cv::cvtColor(img, img, cv::COLOR_BGRA2GRAY);

// Use Histogram Equalization 
cv::equalizeHist(img, img);

// Restore GRAY to BGR
cv::cvtColor(img, img, cv::COLOR_GRAY2BGR);

 

[Result]

  • Original Image

Dataset get from: https://github.com/SungJaeShin/KAIST-DP.git


  • Apply Histogram Equalization

Dataset get from: https://github.com/SungJaeShin/KAIST-DP.git


  • Compare the number of stitching image !! (약 6배 상승)
Using Histogram Equalization # of image stiching (Dataset: KAIST-DP)
O 340
X 56

[KAIST-DP Dataset Result]

  • Not apply histogram equalization
  • Apply histogram equalization

[Other Method]

  • CLAHE equalization (= Contrast Limited Adaptive Histogram Equalization)
    • Reference Site
    • 정리해서 간단하게 표현한다면, 위에 언급된 일반적인 histogram equalization 의 경우 이미지 전체를 대상으로 histogram 을 생성하여 고르게 분포하도록 smoothing 을 진행하는데, CHALE equalization 의 경우, 사용자가 설정해준 patch size 를 기준으로 patch 마다 histogram 을 생성하여 smoothing 을 진행
      • 단일 equalization 보다 noise 를 더 감소시킬 수 있고 contrast 가 더 크지는 않고 자연스럽게 나오는 것을 확인할 수 있음
      • feature 를 추출하는 방식인 FAST 가 contrast 에 민감하기 때문에 이를 적용해서 더 잘 추출할 수 있도록 할 수 있음

+ Recent posts