Computer Vision/Image Processing

[Image Processing] Single Image Haze Removal Using Dark Channel Prior

woongs_93 2022. 3. 2. 11:55
반응형

Abstruct

- Single input image의 Haze 제거에 대해 간단하지만 효과적인 image prior를 제안. (prior : 사전 지식?)

- Dark channel prior는 안개가 없는 야외 이미지의 일종의 특성이다.

- 안개가 없는 야외 이미지의 local patch에서는 하나 이상의 color channel에서 매우 낮은 값을 지님.

- 이러한 prior를 안개가 낀 이미지에 사용하면 Haze의 두께를 추정하고 Haze가 없는 이미지를 복구할 수 있다.

 

 

Introduction

Haze

- 야외 이미지는 보통 대기 중의 탁한 매개물(입자, 수증기)에 의해 저하된다.

- 저하된 이미지는 위 그림(a)과 같이 대비와 색상 충실도를 잃는다.

- Haze, 안개 및 연기는 대기가 빛을 흡수 및 산란(airlight)하며 일어나는 현상이다.

- Dehazing은 시야를 크게 높이고 airlight로 인한 색상 변화를 보정할 수 있다. (일반적으로 Haze가 없는 이미지가 시각적으로 보기 좋음)

- 본 논문에서 제시하는 Haze를 제거하는 과정에서 Depth map을 얻을 수 있다.

 

Dark Channel Prior

- 이 논문에서는 단일 이미지 Haze 제거를 위해 Dark Channel Prior를 제안한다.

- Dark Channel Prior는 안개가 없는(Haze-free) 야외 이미지들의 통계를 기반으로 한다.

- 하늘이 아닌 대부분의 로컬 영역에서 일부 픽셀(Dark Pixel)이 적어도 하나의 채널(R, G, B)에서 매우 낮은 값을 갖는 경우가 매우 많다.

- Haze 이미지에서 해당 채널에 있는 이러한 Dark Pixel의 강도는 주로 airlight에 의해 영향을 받음.

- 따라서 이러한 Dark Pixel은 Haze의 투과율을 정확하게 추정할 수 있음.

 

한계

- Scene Object가 airlight와 유사하고 Object에 그림자가 드리워지지 않는다면 Dark Channel이 유효하지 않을 수 있다.

- 논문의 접근 방식은 대부분의 Haze 야외 이미지에 대해 잘 작동하지만, 일부 극단적인 경우에는 실패할 수 있다.

 

Background

- Computer Vision에서 Haze 이미지를 설명하는 데 사용되는 식은 다음과 같다.

Haze 방정식

  • I : 관측 값. (카메라에 도달하는 빛)
  • J : 장면 복사 빛. (Haze가 없는 원래의 Scene)
  • A : 대기 산란광.
  • t : 대기 투과율. (산란되지 않고 카메라에 도달하는 빛의 비율)

 

- Haze 제거의 목표는 I로부터 J, A, t를 복원하는 것.

- 우변의 첫 번째 항 J(x)t(x)를 직접 감쇠(direct attenuation)라 하고, 두 번째 항 A(1-t(x))를 airlight라고 한다.

  • direct attenuation은 매체에서 J(scene radiance)와 그 감쇠를 설명.
  • airlight는 이전에 산란된 빛에서 비롯되어 J(scene color)에 변환을 준다.

 

- 대기가 균일할 때 투과율 t는 다음과 같이 표현될 수 있다.

  • β : 대기의 산란 계수
  • d : 깊이

- 이는 J(scene radiance)가 깊이 d에 따라 기하급수적으로 감쇠됨을 나타낸다.

 

(a) Haze image 형성 모델, (b) Fattal 작업에 사용된 상수 albedo 모델

- 기하학적으로 Haze imaging 방정식은 RGB 색상 공간에서 벡터 A, I(x) 및 J(x)가 동일 평면에 있고 끝점이 동일 선상에 있음을 의미. (위 그림 참조)

- 이때 투과율 t는 두 선분의 비율이다.

 

Haze image 방정식을 t에 대해 정리

- 여기서 c는 {r, g, b} 채널 index.

 

 

Dark Channel Prior

- Dark Channel Prior은 Haze가 없는 야외 이미지에 대한 다음 관찰을 기반으로 한다.

- 대부분의 하늘이 아닌 Patch에서 적어도 하나의 색상 채널은 일부 픽셀에서 매우 낮은 값을 갖는다.

- 이미지 J에 대해 다음과 같이 정의,

  • Jc : J의 색상 채널.
  • Jdark : J의 dark channel.
  • Ω(x) : local patch.

- dark channel의 낮은 강도는 주로 다음 세 가지 요인에 기인한다.

  1. 그림자
  2. 컬러풀한 물체 or 표면
  3. 어두운 물체 or 표면

(a) 5000개의 dark channel에서 픽셀 값 히스토그램, (b) 해당 누적 분포, (c) 각 dark channel의 평균 값 히스토그램

- natual란 야외 이미지는 일반적으로 그림자가 많고 컬러풀하기 때문에 이러한 이미지의 dark channel은 정말로 어둡다.

- 실제 논문에서 야외 풍경 이미지 5000개의 히스토그램을 조사하였을 때, 이 중 dark channel의 75%가 0의 값을 가지며 90%의 픽셀 강도가 25% 미만임을 알 수 있었다. (위 그래프 참조)

- Dark Channel이 안개가 없는 야외 이미지를 설명하는 근거가 된다고 판단할 수 있다.

 

 

Haze Removal Using Dark Channel Prior

Estimating the Transmission

- 여기서는 우선 대기광 A가 주어진다고 가정한다.

- local patch Ω(x)에 속한 t(x) 값들은 t˜(x)로 동일하다고 가정.

- Haze imaging 방정식의 local patch에서 최소 연산을 취하면 아래 식과 같다.

Haze imaging 방정식에 local path, min 수행

- min은 세 가지 색상 채널에서 독립적으로 수행.

- 이 방정식은 아래와 같다.

양변을 Ac로 나눔

- 그런 다음 위 방정식에서 세 가지 색상 채널 사이에서 최소 연산을 수행하여 다음을 얻는다.

c(channel)에 대해 min 수행

- Dark Channel Prior에 따르면, haze가 없는 J의 dark channel은 0인 경향이 있다.

- Ac는 항상 양수이므로,

- 이를 식에 대입하면 t~를 추정할 수 있다.

 

- 실제 맑은 날이라 할지라도 대기 입자가 전혀 없는 것은 아니다.

- Haze를 완전히 제거한다면 이미지가 부자연스럽고 깊이감이 떨어질 수 있다.

- 따라서 방정식에 상수 매개변수 ω(0<ω≤1)를 도입하여 매우 적은 양의 Haze를 선택적으로 유지.

논문에서는 &amp;omega;값을 0.95로 사용

- 이로써 A가 주어진다고 가정했을 때, local patch에 대한 t(x) (t~(x))를 구할 수 있게 되었다.

 

 

Soft Matting

(a)Haze iamge, (b)estimated transmission map, (c)refined transmission map after soft matting, (d)final haze-free image

- 위 그림에서 (b)는 patch size 15x15를 사용하여 입력된 안개 이미지(a)에서 추정된 transmission map이다.

- patch 전송이 항상 일정하지는 않기 때문에 블록 효과가 일어남.

- 이를 개선하기 위해 Soft Matting 알고리즘을 적용.

 

- 개선된 transmission map을 t(x)로 나타낸다.

- t(x) 및 t~(x)를 벡터 형식으로 t, t~로 다시 작성 다음 비용 함수를 최소화한다.

  • L : Levin이 제안한 Matting Laplacian 행렬
  • λ : 정규화 매개변수
  • 첫 번째 항 : smooth 항
  • 두 번째 항 : data 항

 

- 행렬 L의 원소 (i, j)는 다음과 같이 정의된다.

  • Ii, Ij : 픽셀 i, j에서 입력 이미지 I의 색상
  • δij : Kronecker delta
  • μk, Σk : window wk에 있는 색상 평균 및 공분산 행렬
  • U3 : 3x3 단위행렬
  • ε : 정규화 매개변수
  • |wk| : wk의 픽셀 수

- 최적의 t는 다음 희소 선형 시스템을 풀면 얻을 수 있다.

  • U : L과 크기가 같은 단위행렬
  • λ : t가 ~t에 의해 부드럽게 제한되도록 작은 값을 사용 (실험에서 10^-4)

 

Recovering the Scene Radiance

- transmission map을 사용하어 아래 식에 따라 Scene radiance(J)를 복구할 수 있다.

- 하지만 direct attenuation 항인 J(x) t(x)는 t(x)가 0에 가까울 때 0에 매우 가까워질 수 있다.

- 직접 복구된 J는 노이즈가 발생하기 쉽다.

- 따라서 투과율(transmission) t(x)를 하한 t0로 제한한다. 이는 매우 조밀한 Haze 영역에서 소량의 Haze가 보존됨을 의미. (t0의 일반적인 값은 0.1)

- 최종 J(x)는 다음과 같이 복구된다.

 

 

Estimating the Atmospheric Light

- 대기광 추정을 개선하기 위해 dark channel을 사용.

- 이미지에서 단순히 밝은 픽셀로 추정하게 되면 흰색 자동차나, 외벽 등을 대기광으로 추정할 수 있다.

(a)입력 이미지, (b)dark channel과 가능 흐릿한 지역, (c)대기광을 자동으로 얻을 있는 patch, (d), (e)대기광보다 밝은 픽셀을 포함하는 patch 2개.

- 먼저 dark channel에서 0.1%의 가장 밝은 픽셀을 선택.  (이 픽셀은 가장 불투명하다)

- 이 픽셀 중 입력 영상 I에서 가장 값이 높은 픽셀을 대기광으로 선택.

 

 

 

 


논문 원문 : http://kaiminghe.com/publications/cvpr09.pdf

 

* 야외 이미지에서 Haze가 아닌 이미지의 특성을 이용해 Haze를 제거하는 방법인데, 야외 이미지 특성이라는 한계도 있고 처리 속도 등의 이유로 Real Time에는 안 맞는 것 같다.

반응형