The Korean Society of Marine Engineering
[ Original Paper ]
Journal of the Korean Society of Marine Engineering - Vol. 41, No. 9, pp.856-862
ISSN: 2234-7925 (Print) 2234-8352 (Online)
Print publication date 30 Nov 2017
Received 16 Aug 2017 Revised 25 Sep 2017 Accepted 07 Nov 2017
DOI: https://doi.org/10.5916/jkosme.2017.41.9.856

심도정보의 Entropy를 이용한 개선된 DCP 안개제거 방법

이누리1 ; 하윤수2 ; 조석제
Improved DCP haze removal method using entropy of depth information
Nu-Ri Lee1 ; Yun-Su Ha2 ; Seok-Je Cho
1Department of Control and Instrumental Engineering, Graduate School of Korea Maritime and Ocean University, Tel: 051-410-4360 lnr1206@naver.com
2Division of IT Engineering, Korea Maritime and Ocean University, Tel: 051-410-4347 hys@kmou.ac.kr

Correspondence to: Division of Information Technology Engineering, Korea Maritime and Ocean University, 727, Taejong-ro, Yeongdo-gu, Busan 49112, Korea, E-mail: sjcho@kmou.ac.kr, Tel: 051-410-4344

Copyright © The Korean Society of Marine Engineering
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0), which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

본 논문은 안개제거를 위한 대표적인 알고리즘인 DCP(Dark Channel Prior)에서 발생하는 블록현상을 개선하기 위해 개선된 전달량 맵(transmission map)을 이용한 안개제거 방법을 제안한다. 기존의 안개제거 방법은 전달량 추정과정에서 DCP를 수행할 때 국부영역에 대한 안개 추정을 하기 때문에 블록현상이 발생한다. 제안하는 방법은 확률적 특성인 엔트로피(Entropy)를 이용해 dark channel에서 심도(depth)정보와 경계선(edge)정보를 추정하여 블록현상이 발생하는 부분을 예측하고 그 부분에서 안개 특성을 반영한 상대적으로 작은 크기의 가변의 윈도우를 사용하여 새로운 전달량 맵을 구하고 블록현상을 줄인다.

Abstract

This paper proposes a fog removal method that utilizes a new dark channel to improve the block artifact occurring in Dark Channel Prior (DCP). The conventional fog removal method generates a block artifact, because the fog estimation is performed on the local region in the dark channel operation in the process of estimating the amount of delivery. The proposed method estimates the depth and the edge information in the dark channel using the stochastic property, entropy; predicts the region where the block artifact occurs; and obtains the new dark channel using the relatively small-sized window, only in the region that reduces the block artifact.

Keywords:

Haze removal, Dark channel prior (DCP), Block artifact, Entropy

키워드:

안개제거, DCP(Dark Channel Prior), 블록현상, 엔트로피

1. 서 론

근래에 들어 항공기, 선박, 지능형 무인 시스템 구축 및 해상 감시에 영상처리를 기반으로 한 컴퓨터 시각 기술이 적용되고 있다[1]. 기상환경이 중요한 해양 및 항공 분야의 영상에서 안개나 연무 등이 영상의 해석을 어렵게 하기 때문에 이들을 제거하는 문제는 매우 중요하다. 영상의 품질 향상을 위해 최근 효과적으로 안개를 제거하는 방법들이 연구되고 있다[2]-[8].

안개제거 방법은 안개 모델링(haze modeling)의 사용 여부에 따라 크게 두 가지로 나눌 수 있다. 첫 번째는 대비 향상 기법 (Contrast-enhancement method)을 이용하여 안개를 제거하는 방법으로 MSR (Multi-Scale Retinex)[2]와 CLAHE (Contrast-Limited Adaptive Histogram Equalization)[3]이 있다. 이 방법들은 안개 모델링 과정 없이 영상을 여러 영역으로 나눈 후 대비 확장 처리를 이용하여 각 영역의 대비분포에 맞게 안개영상을 개선하여 잘 보이게 한다[2][3]. 이 방법들은 상대적으로 간단한 방법이며 안개 영상의 가시성을 증가시키는 장점이 있으나 여러 영역으로 나눈 후 대비 분포에 따라 처리되기 때문에 결과 영상에서 영역 간의 색상 왜곡이 발생하기 쉽다[4].

두 번째는 안개를 모델링하여 영상에서 안개부분을 제거하는 방법이다. 이 방법은 안개와 관련된 파라미터들을 계산하고 장면의 심도(depth)를 나타내는 전달량을 추정하는 과정으로 다양한 방법이 제안되었다. R. T. Tan [5]은 안개 낀 영상의 대조비가 맑은 날에 촬영된 영상의 국부영역에서 일반적으로 어두운 픽셀을 가지고 있다는 통계적 특성을 바탕으로 안개 영상의 대조비를 이용하여 지역적으로 안개영역을 찾아내 안개제거를 수행하는 방법이다.

K. He et al. [6][7]이 제안한 방법은 맑은 날에 촬영된 영상의 국부영역에서 일반적으로 어두운 픽셀을 가지고 있다는 통계적 특성을 바탕으로 안개제거를 수행하는 방법이다. 이 통계적 특성을 이용한 방법을 DCP(Dark Channel Prior)라고 한다. 이 방법은 다양한 형태의 영상에서 안개 값을 추정하고 효과적으로 안개를 제거 할 수 있다. 그러나 전달량을 추정하는 과정에서 안개제거 결과 영상의 대비 값이 낮게 나타나고, 국부영역으로 처리하기 때문에 심도의 차이가 발생하는 물체의 경계(edge) 부근에서 뿌옇게 보이는 후광현상(halo artifact) 및 블록현상(block artifact)이 발생하여 안개가 제거된 영상의 품질을 저하 시킨다. 또한 블록현상 개선을 위해 전달량 정제과정에서 soft matting 기법을 이용하기 때문에 많은 계산량을 요구하는 단점이 있다. [7]에서는 상대적으로 계산과정을 줄이고 처리 시간이 개선된 유도필터(guide filter)를 이용한 방법을 제안하였다.

S. A. Moon et al. [8]이 제안한 이중 dark channel 연산을 이용하는 방법은 느린 처리속도와 블록현상 개선을 위해 15x15, 1x1의 윈도우를 적용한 두개의 dark channel을 이용해 별도의 전달량 정제 과정 없이 블록현상을 개선하고 처리속도를 빠르게 하였지만 1x1이라는 윈도우를 사용하여 불연속적이고 측정이 쉽지 않은 안개의 특성을 반영하지 않고 안개제거를 수행하였다.

본 논문에서는 기존의 dark channel에서 엔트로피(entropy)를 이용해 새로운 dark channel을 구하고 블록현상이 예측되는 부분에서 윈도우크기를 변화시켜 블록현상을 개선하였다. Dark channel 영상은 입력 영상의 안개량 뿐만 아니라 안개와 사물을 나눈 심도 정보가 포함된 영상인데 블록현상은 영상전체의 경계가 아닌 심도의 차이가 발생하는 경계 부근에서 나타난다. 따라서 제안한 방법은 dark channel 영상에서 dark channel 값에 대해 엔트로피를 이용해 영상의 심도정보가 포함된 물체의 경계선 정보를 구한다. 엔트로피 영상을 통해 블록현상이 발생하는 심도가 포함된 경계선 부분에서만 적응 윈도우를 적용하여 새로운 dark channel 영상을 만들어 안개가 제거된 영상의 블록현상을 개선하였다.


2. DCP 기반의 안개제거 알고리즘

2.1 안개제거 모델링

안개제거는 안개가 포함된 원 영상에서 안개 영역을 검출하고 안개의 정도를 추정한 후 안개를 제거한 영상을 얻는 과정을 말한다. 안개를 포함한 영상 I(x)는 Koschmieder가 제안한 안개 모델을 이용하여 식 (1)과 같이 나타낼 수 있다[9].

Ix=Jxtx+A1-tx(1) 

여기서 I(x)는 x위치에서 얻어지는 안개 영상이고 J(x)은 안개가 없는 영상이다. t(x)는 카메라에 획득된 정도를 나타내는 전달량이다. 전달량은 빛이 굴절되거나 산란되지 않고 카메라 렌즈에 투과되는 양을 말한다. A는 안개값을 의미하며 안개가 영상의 각 화소에 영향을 미친 정도를 뜻한다. 전달량 t(x)는 식 (2)와 같이 화소 깊이에 대해 지수감소함수 형태로 표현된다.

tx=e-βdx(2) 

여기서 β는 산란 계수(scattering coefficient)이고 d(x)는 x화소의 심도를 말한다. 멀리 있는 물체일수록 깊이 정보가 크고 안개에 의해 산란되는 량도 커지기 때문에 카메라 렌즈까지 전달되는 정보가 감소한다. 안개값 A는 그 양이 크면 클수록 거리가 가까울수록 영상에 크게 반영되기 때문에 안개가 더 강하게 영상에 나타난다. 따라서 안개제거 알고리즘은 안개 모델링 식 (1)에서 획득한 안개 영상 I(x)에서 안개값 A와 각 화소에 대한 전달량   를 추정하여 J(x)를 계산하는 과정을 말한다. 식 (3)은 채널 c에 대해 안개제거 영상 J(x)를 구하는 식이다.

Jcx=Icx-Actcx+Ac when cr,g,b(3) 

안개 모델링의 원리는 Figure 1과 같다. 우측의 실제 장면 J(x)는 안개가 끼었을 경우 카메라 사이에 탁한 매질이나 안개를 포함하는 대기 안의 성분 때문에 산란되거나 반사되어 온전히 전달되지 못하고 탁한 매질이나 안개가 포함된 상태로 카메라 렌즈에 도달하게 된다. J(x)t(x)는 물체의 반사된 빛이 직접 카메라 렌즈로 도달하는 직접 감쇄를 의미하고 A(1-tt(x))는 빛이 대기 중의 안개와 같은 탁한 매질에 의해 산란되어 렌즈에 도달하는 산란광(airlight)을 나타낸다. 따라서 입력 안개 영상 I(x)은 직접감쇄를 나타내는 J(x)t(x)와 대기 산란광 A(1-t(x))의 합으로 이루어진다.

Figure 1:

Fog modeling

2.2 DCP 단일 영상 안개제거 방법

DCP 방법은 맑은 날에 촬영된 안개가 없는 깨끗한 영상에서 R, G, B 채널 값을 분석해보면 화소는 0에 가까운 값을 갖는 화소가 존재한다는 특성을 이용한다. 임의의 안개 영역 Ω(x)에서 안개를 걷어낸 화소 x의 dark channel J식 (4)와 같다.

Jdarkx=minyΩxmincr,g,bJcy(4) 

여기에서 Jdark(x)는 x좌표에서의 J의 dark channel을 의미하고 Ω(x)는 좌표 x를 중심으로 국부영역의 픽셀 y의 집합을 의미한다. Jc(y)는 안개를 걷어낸 y에서 해당 채널 값이다. 특히 J가 안개가 없는 맑은 날의 영상이기 때문에 좌표 x에 대해서 다음의 식이 성립된다.

Jdarkx0(5) 

획득한 안개 영상 I(x)에서, 임의의 안개 영역 Ω(x)의 안개값 A는 0이 아니므로 식 (5)에 의거하여 식 (1)에 대입하면, 식 (6)과 같은 전달량을 구할 수 있다.

t(x)=1-minyΩxmincr,g,bIcyAc(6) 

일반적으로 안개가 없는 사물 및 건물 영역은 안개 영역에 비해 R, G, B 중 최대값과 최소값의 차이가 대체로 크다. 이 점을 이용하여 안개 영상의 각 화소에서 최소값을 계산한다. 이 때 지정된 크기의 r x r 윈도우를 이용하여 윈도우 내에 있는 화소들의 R, G, B 성분들 중 최소값을 윈도우가 있는 국부영역의 최소 채널 값으로 정한다.

최소 채널 값을 이용하면 안개값도 추정 가능하다. 빛의 산란에 의해 안개가 적은 지역과 안개가 많은 지역의 임의의 화소들을 비교해 보면 대체로 안개가 많은 지역에서 화소 값이 높게 나타난다. 또한 안개가 많은 지역의 최소 채널 값은 상대적으로 높게 나타난다. 이러한 성질을 이용해서 임의의 영역의 안개값은 그 영역에서 계산된 최소 채널 값 중 높은 값에 근접한다는 사실을 알 수 있다. 안개값 A는 dark channel 영역에서 가장 밝은 곳의 값을 선택하는 방식으로 추정한다. 이 방법은 안개 영역이 아닌 곳에서 A를 오추정 하는 것을 막을 수 있다.

식 (6)을 이용하여 안개 영상의 각 화소 위치에서 전달량을 구하고 나면 전달량 맵을 얻을 수 있다. DCP를 이용하여 안개를 제거한 결과는 Figure 2와 같다. 안개가 어느 정도 제거 되었으나 대비가 적어 덜 선명해 보이고 어두워 질 뿐만 아니라 나무의 경계 부근의 안개가 불 완전히 제거 되어 블록현상이 발생한 것을 볼 수 있다. 윈도우에 대한 최소값 필터링을 수행하게 되면, 최소값 필터의 특성에 의해 해당 화소에 대한 R, G, B를 윈도우 내에서 명확히 반영하지 못하기 때문에 물체나 영역의 경계에서 블록현상이 발생한다. 블록현상은 모든 물체의 경계가 아닌 심도의 차이가 발생하는 경계 부분에서 발생한다. 이때, 적용한 윈도우 크기에 따라 dark channel 영상에서 블록의 크기가 달라지는데 윈도우가 커지면 커질수록 그 정도가 심해진다. 이러한 이유로 심도의 차이가 발생하는 경계영역이나 물체 주변에서 전달량 추정에 어려움이 따르며, 결과적으로 블록현상이 나타난다. 반대로 윈도우 크기가 작으면 작을수록 입력 영상의 경계 정보가 잘 보존되고 블록현상이 감소한다. 경계가 잘 보존된 dark channel 영상을 바탕으로 보다 정확한 전달량을 추정할 수 있게 되므로, 안개제거 영상에서 블록현상이 줄어든다. 그러나 작은 윈도우 크기를 적용하면 영상의 경계는 잘 보존되고 블록현상이 개선 될 수 있으나, 큰 크기의 윈도우를 적용 하는 경우에 비해 dark channel 값이 커지고 dark channel 값이 커지면 추정된 전달량은 감소한다. 전달량의 감소는 안개가 제거된 영상의 화소 값들의 감소를 의미한다. 이는 결과적으로 윈도우 크기를 줄이게 되면 영상의 대비가 낮아지고 밝기가 감소하는 현상이 나타난다. 블록현상을 개선하려면 국부영역이 작을수록 좋지만 국부영역 내에 화소가 적게 포함된 dark chan-nel은 정확성이 떨어지고 영상의 R, G, B 데이터가 너무 작아 dark channel 값이 부정확해진다. 이는 곧 영상의 경계선 정보는 포함시킬 수 있으나 dark channel의 심도가 얕아져 적절한 안개제거 방법이 아니다. 영상의 심도를 표현하는 dark channel은 어두운 픽셀 정보를 많이 포함 할수록 더 좋다. 또한 윈도우 크기가 커질수록 안개정보와 사물정보, 즉 화소 정보를 잘 포함되고 색도 올바르게 보존시킬 수 있다.

Figure 2:

(a) Input fog image (b) Defogging using DCP


3. 엔트로피를 이용한 향상된 DCP 안개제거

제안한 방법의 순서도는 Figure 3와 같다. 안개 영상 I(x)를 획득 한 후 1차적으로 dark channel연산을 통해 얻어진 Idark1에서 엔트로피를 계산해 심도정보가 반영된 경계선 정보를 찾는다. 심도의 변화가 크지 않은 지역에서는 dark channel 정보가 변하지 않고, 심도의 변화가 큰 경계가 있는 지역에서 dark channel 정보가 변한다.

Figure 3:

Propose method flowchart

이를 이용하여 dark channel 값 Idark1을 확률로 표현하고 엔트로피 Ec를 계산한다. 심도의 변화가 크게 발생하지 않은 지역에서는 정보의 차이가 크지 않기 때문에 Ec값이 크고, 심도의 변화가 크게 발생하는 지역에서는 정보의 차이가 발생하기 때문에 Ec값이 작다. 계산된 Ec값의 차이는 블록현상이 발생하는 경계선 부분을 나타낸다. 엔트로피 영상을 통해 블록현상이 예측되는 경계선 부분에서 엔트로피 값에 따라 가변의 윈도우를 적용하여 새로운 Idark2를 구한다. 이렇게 구한 Idark2을 이용해서 새로운 전달량 t′를 얻는다. 새롭게 구한 전달량은 최소윈도우를 5 x 5를 사용했기 때문에 남아있는 블록현상은 양방향 필터(bilateral filter)로 정제하여 t를 구하고 복원된 영상 Jc을 구한다.

3.1 엔트로피를 이용한 심도가 반영된 경계선 정보

입력영상의 dark channel 연산을 통해 얻어진 Idark1에서 국부적인 영역에 대한 엔트로피를 계산한다[10]-[13].

엔트로피 계산과정은 다음과 같다. 국부적 영역의 확률 값 P를 계산한 후, 각 화소 값에 대입한다. 이때 확률 P는 구하려는 해당 화소의 값을 국부적 영역의 화소의 합으로 나누게 되면 국부영역 내에서 화소가 발생할 수 있는 확률로 나타낼 수 있다. 국부영역에서의 화소 값의 총합이 발생할 수 있는 전체의 확률을 나타낸다. 이를 식으로 나타내면 식 (7)과 같다.

Px=Idark1xxwIdark1x(7) 

여기서 P(x)는 Idark1영상의 윈도우 w안에서 해당 화소의 dark channel값과 전체 화소의 dark channel 값의 합의 비를 확률로 나타낸다. 분모는 Idark1에서 윈도우 내의 총 화소의 합을 나타내고 분자는 Idark1에서 계산하려는 해당 화소의 값을 나타낸다. 이는 해당 화소에서 그 화소가 출력될 확률을 뜻한다. 식 (7)은 측정하는 국부영역의 화소 발생 확률을 나타내고 이것을 구하고자 하는 국부영역의 엔트로피 계산식으로 나타내면 식 (8)와 같다.

Ex=-xwp*log2p(8) 

E(x)는 구하고자 하는 엔트로피 값으로 해당 화소 중심의 윈도우 내에서의 각 화소에 대한 확률 P(x)를 로그 함수의 합으로 나타낸다. 확률에 대한 로그함수의 합은 분수로 나타나기 때문에 음수의 결과 값이 나오므로 식 앞에 -를 취해 양수의 값으로 나타낸다.

계산된 엔트로피 영상은 Figure 4와 같다. 화소간의 확률 특성을 이용해 엔트로피를 계산하면 사물영역과 안개영역은 최소값 마스크에 의한 dark channel 값이 일정하기 때문에 엔트로피가 크게 나타난다. 한편 두 영역의 경계에서는 dark channel 값이 일정하지 않고 차이가 발생하기 때문에 엔트로피가 작게 나타난다. Dark channel값의 차이를 엔트로피로 계산하면 그 값의 차이가 경계선 정보로 나타난다. 여기서 계산된 경계선 정보는 입력영상의 경계선 정보가 아닌 심도 맵을 나타내는 dark channel 값의 차이를 엔트로피로 계산된 경계선 정보이다. 따라서 심도의 차이에 의한 블록현상이 발생하는 경계선 정보를 예측할 수 있다.

Figure 4:

Entropy image

Figure 4의 엔트로피 영상을 히스토그램으로 나타내면 Figure 5와 같다. 히스토그램의 y축은 엔트로피의 분포량을 로그 스케일로 나타낸 것이고, x축은 화소의 엔트로피 값을 나타낸다. 확률의 합으로 표현되는 엔트로피는 계산할 때 그 값의 차이가 크지 않고 경계선 영역이 아닌 부분에서는 dark channel 값의 변화가 크지 않기 때문에 대체적으로 계산된 값이 크다. 또 값의 변화가 크지 않은 부분이 많기 때문에 엔트로피 값이 커질수록 히스토그램이 세밀하게 분포된다. Figure 5의 히스토그램 분포를 이용해서 적응 윈도우를 적용할 부분을 구한다.

Figure 5:

Entropy histogram of experimental image

3.2 적응 윈도우를 적용한 전달량 추정

엔트로피 값을 이용해서 세 개의 영역으로 분할한다. 세 개의 영역으로 분할하는 이유는 실험결과 경계선 영역에서 발생하는 블록현상을 줄이는데 영역 분할이 많아질수록 계산량이 증가해 처리속도가 오래 걸리고 안개특성을 반영한 최소의 윈도우를 5 x 5를 사용했기 때문에 적응 윈도우를 적용하여 구한 Idark2에서 개선된 블록현상의 차이가 크지 않다. 그래서 처리속도를 줄이고 간략한 처리를 위해 많은 종류의 윈도우를 사용할 필요가 없기 때문에 영역을 세 영역으로 나누고 세 종류의 윈도우를 적용한다. Figure 5의 히스토그램을 이용하여 영상을 분할한다. 영상을 분할하는 기준 z1, z2식 (9)과 같다.

z1=i=1nhiy×12z2=i=1nhiy×14(9) 

여기서, n=1,2,...,n인 영상전체의 화소개수이고 hi(y)는 y축인 히스토그램 분포를 나타낸다. z1은 엔트로피 누적분포의 50%에 해당하는 x축의 엔트로피 값이고 z2은 누적분포의 25%에 해당하는 x축의 엔트로피 값이다. Figure 6z1z2을 이용해 엔트로피 영상을 세 개의 영역으로 나눈 영상이다. 검은색 영역이 엔트로피가 z1보다 큰 영역을 나타내고 회색 영역은 z1z2 사이의 영역, 흰색은 그 나머지 영역이다.

Figure 6:

Variable window partitioning for entropy values

Figure 6의 결과를 이용해 엔트로피 값에 따라 적응적으로 윈도우를 적용한다. 블록현상이 많이 발생하지 않는 엔트로피 값이 큰 부분에서는 큰 크기의 윈도우를 적용하고 블록현상이 발생하는 엔트로피 값이 작은 경계선 부분에서는 상대적으로 작은 크기의 윈도우를 적용시킨다. 적응적인 윈도우를 적용해 새로운 dark channel Idark2을 구하는 식은 식 (10)과 같다.

Figure 7:

Dark channel and transmission map using variable window(13x13, 9x9, 5x5) (a) Dark channel proposed method (b) Transmission map proposed method

Idark2x=minyΩixmincr,g,bIcyAcwhen i=1, 2, 3(10) 

Idark2Idark1의 dark channel 값을 계산한 엔트로피를 이용해 그 값에 따라서 적응 윈도우를 적용하여 얻은 새로운 dark channel이다. 여기서 Ωi는 엔트로피 값에 따른 국부영역의 변화를 나타낸다. i는 엔트로피 값에 따라 적응 윈도우를 적용할 영역을 나눈 개수이다. 엔트로피 값에 따른 적응 윈도우를 적용할 기준은 식 (11)와 같다.

Ωi=Ω1,ifExz2Ω2,ifz2<Exz1Ω3,otherwise(11) 

여기서 E(x)는 화소 x의 엔트로피 값이다. 첫 번째 가정은 Figure 6에서 엔트로피 값이 z2보다 작은 흰색 영역이고 두 번째 가정은 z1z2사이에 해당하는 회색 영역이다. 그리고 나머지는 검은색 영역이다. 엔트로피 값이 큰 검은색으로 표시된 영역에서는 큰 크기의 윈도우 Ω3(13 x 13)을 적용하고 엔트로피 값이 작은 경계선 정보가 포함되어야 할 구역인 회색과 흰색 영역에서는 Ω2(9 x 9), Ω1(5 x 5)의 비교적 작은 크기의 윈도우를 적용한다. 식 (10)을 이용해 블록현상이 예측되는 부분에 적응 윈도우를 적용해 블록현상을 개선한 새로운 dark channel Idark2을 구하고 식 (5)에 의거하여 식 (1)에 대입하면 식 (12)을 유추할 수 있다.

t(x)=1-w×minyΩixmincr,g,bIcyAcwhen i=1,2,3(12) 

Figure 7은 엔트로피 값에 따라 적응 윈도우를 적용하여 새롭게 구한 dark channel Idark2와 전달량 맵이다. 제안하는 방법은 국부영역의 안개값과 전달량을 추정하기 때문에 입력영상의 경계선 정보를 명확히 반영하지 못하고 블록현상이 어느 정도 남아있다. 제안한 방법에 의해 얻은 전달량 맵은 보다 정확한 안개제거를 위해 후처리 과정으로 전달량 정제(refinement)과정을 거친다. 안개라는 특성을 반영한 국부영역에 대한 처리이므로 안개제거 영상의 블록현상과 후광현상을 억제하기 위해서는 전달량 정제 과정이 반드시 필요하다. 이 문제를 영상의 경계는 그대로 보존하면서 그 주변의 잡음만 제거하는 스무딩 필터인 양방향 필터를 이용하여 전달량 맵의 정보와 입력영상의 기울기 정보를 반영하여 경계선 영역을 조밀하게 표현 한다[14].


4. 실험 및 고찰

제안하는 방법의 성능을 검증하기 위해 안개 분포의 특성에 따른 영상을 제시하고 기존의 DCP 방법의 결과와 비교하였다. 다양한 안개 특성에 대한 성능을 확인하기 위하여 분포된 영역의 크기 및 농도가 다른 영상을 사용하였다. 실험 시 적용된 각종 파라미터 등 실험 조건들은 Table 1과 같다.

Experiment conditions about proposed method

첫 번째 실험 영상은 Figure 8과 같다. 이 영상은 전체적으로 깊이가 깊고, 영상 중앙으로 갈수록 안개가 짙어지고 심도가 깊어진다. 심도의 차이가 발생하는 중앙의 나뭇잎이 겹치는 부분과 가까운 나뭇가지에서 블록현상이 강하게 나타난다. 기존 DCP 방법인 Figure 8 (b)와 제안한 방법 Figure 8 (c)의 결과를 비교해 보면 나무의 경계선 부근은 가변의 윈도우로 크기를 줄였지만 제안한 방법의 윈도우가 국부영역이기 때문에 어느 정도 블록현상이 남아 있다. Figure 8 (d)는 후처리 과정으로 남아있는 블록현상을 스무딩 필터인 양방향 필터로 전달량 정제를 한 영상이다.

Figure 8:

Test image 1 and result (a) Input fog image (b) Result of DCP (c) Before transmission refinement proposed method (d) After transmission refinement proposed method

두 번째 실험 영상은 Figure 9와 같다. 안개를 많이 가지고 있지 않지만 영상의 상단에 심도의 차이가 발생하는 하늘과 건물의 경계에서 블록현상이 발생함을 볼 수 있다. 기존 DCP 방법인 Figure 9 (b)와 제안한 방법 Figure 9 (c)의 결과를 비교해 보면 블록현상이 발생하는 경계 부분에서 블록현상이 감소하였음을 확인 할 수 있다. 또한 대기 밝기 추정과정에서 상위 픽셀 추정이 잘못되어 색이 과포화 되는 현상이 발생한다. 제안한 방법의 결과 영상을 보면 블록현상이 개선되었고 대기밝기를 올바르게 추정하여 색이 포화 되는 현상이 줄어 자연스러운 결과를 나타낸다.

Figure 9:

Test image 2 and result (a) Input fog image (b) Result of DCP (c) Before transmission refinement proposed method (d) After transmission refinement proposed method

제안한 방법의 성능을 정량적으로 측정하기 위해 안개제거 전후의 에지 비율[15]을 계산하여 기존의 방법과 비교하여 Table 2에 나타냈다. 계산한 값이 클수록 선명도가 커졌다고 볼 수 있다.

Comparison about edges ratio (%)

마지막으로 제안한 방법의 효율성을 입증하기 위해 기존의 방법과 제안한 방법의 연산시간을 Table 3에 나타냈다.

Comparison about time (sec)

제안한 방법이 기존 DCP 보다 발생했던 블록현상이 감소했기 때문에 에지 비율이 증가하였음을 볼 수 있다. 또한 제안한 방법의 전달량 추정 과정에서 엔트로피를 이용해 전달량을 재추정하기 때문에 계산량이 증가했지만 기존의 방법보다 짧은 시간으로 안개제거 영상을 도출한다.


5. 결 론

본 논문에서는 안개 영상에서 전달량을 효율적으로 추정하고 안개제거 영상에서 발생하는 블록현상을 줄이기 위해 엔트로피를 계산하여 그 값에 따라 적응 윈도우를 적용하여 새로운 dark channel을 구하는 방법을 제안하였다. 입력영상의 경계가 아닌 심도의 차이에서 기인하는 경계선 지역에서 발생하는 블록현상을 줄이기 위해 dark channel 영상 Idark1에서 엔트로피를 이용하여 경계선 정보를 찾고 계산된 엔트로피 값에 따라 13 x 13, 9 x 9, 5 x 5의 적응 윈도우를 적용하였다. 이때, 블록현상이 예측되는 경계선 부분에 상대적으로 작은 크기의 윈도우를 적용하여 새로운 dark channel 영상 Idark2을 구하였다. 결과 영상에서 알 수 있듯이 일부 블록현상이 남아있는 부분은 안개 특성을 고려해 적응윈도우의 최소단위를 5 x 5로 제한한 결과이다. 또한 블록현상이 일정하게 감소하지 않고 한쪽으로 편중되어 있는 이유는 dark channel 값에 대한 확률적 특성이기 때문에 경계선 정보가 입력영상과 완전히 일치 하지 않기 때문이다. 이러한 현상은 입력영상의 에지정보를 반영하는 양방향 필터 등을 이용한 후처리 과정으로 전달량 정제를 하여 개선 될 수 있음을 확인하였다.

따라서 본 논문에서 제안하는 알고리즘을 보완, 개선하여 안개 영상뿐만 아니라 수중영상, 야간영상 등 가시성 향상을 목적으로 하는 다양한 분야에 응용할 수 있을 것으로 기대한다.

References

  • E. R. Davies, Machine Vision, Third Edition : Theory, Algorithms, Practicallities (Signal Processing and its Applications), Morgan Kaufmann, (2005).
  • Z. Rahman, D. Jobson, and G. Woodell, “Multi-scale retinex for color image enhancement”, IEEE Proceeding International conference on Image Processing, vol. 3, p1003-1006, (1996).
  • G. Yadav, S. Maheshwari, and A. Agarwal, “Contrast limited adaptive histogram equalization based enhancement for real time video system”, 2014 International Conference on Communications and Informatics Advances in Computing (ICACCI), p2392-2397, (2014). [https://doi.org/10.1109/icacci.2014.6968381]
  • J. H. Kim, J. Y. Sim, and C. S. Kim, “Single image dehazing based on contrast enhancement”, Proceedings of the IEEE Acoustics, Speech and Signal Processing, p1273-1276, (2011). [https://doi.org/10.1109/icassp.2011.5946643]
  • R. T. Tan, “Visibility in bad weather from a single image”, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, p1-8, (2008). [https://doi.org/10.1109/cvpr.2008.4587643]
  • K. He, J. Sun, and X. Tang, “Single image haze removal using dark channel prior”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 33(no. 12), p2341-2353, (2011).
  • K. He, J. Sun, and X. Tang, “Guided image filtering”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 35(no. 6), p1397-1409, (2012).
  • S. A Moon, W. T. Kim, and T. H. Kim, “High-speed and high-quality haze removal method based on dual dark channels”, Journal of Broadcast Engineering, vol. 20(no. 5), p697-705, (2015), (in Korean). [https://doi.org/10.5909/jbe.2015.20.5.1]
  • H. Koschmieder, Theorie der horizontalen sichtweite: kontrast and Sichtweite, Keim & Nemnich, (1925).
  • C. E. Shannon, “Prediction and entropy of printed English”, The Bell System Techinical Journal, vol. 30(no. 1), p50-64, (1951). [https://doi.org/10.1002/j.1538-7305.1951.tb01366.x]
  • B. Singh, and A. P. Singh, “Edge detection in gray level images based on the shannon entropy”, Journal of Computer Science, vol. 4(no. 3), p186-191, (2008). [https://doi.org/10.3844/jcssp.2008.186.191]
  • R. C. Gonzalez, R. E. Woods, and S. L. Eddins, Digital Image Processing using MATLAB, Pearson, NJ, (2004).
  • R. C. Gonzalez, and R. E. Woods, Digital Image Processing, Third Edition, Prentice Hall, (2007).
  • C. Tomasi, and R. Manduchi, “Bilateral Filtering for Gray and Color Images”, Sixth International Conference on Computer Vision, p839-846, (1998). [https://doi.org/10.1109/iccv.1998.710815]
  • N. Hautiere, J. Tarel, D. Aubert, and E. Dumout, “Blind contrast enhancement assessment by gradient ratioing at visible edges”, Image Analysis & Stereology Journal, vol. 27(no. 2), p1-7, (2008).

Figure 1:

Figure 1:
Fog modeling

Figure 2:

Figure 2:
(a) Input fog image (b) Defogging using DCP

Figure 3:

Figure 3:
Propose method flowchart

Figure 4:

Figure 4:
Entropy image

Figure 5:

Figure 5:
Entropy histogram of experimental image

Figure 6:

Figure 6:
Variable window partitioning for entropy values

Figure 7:

Figure 7:
Dark channel and transmission map using variable window(13x13, 9x9, 5x5) (a) Dark channel proposed method (b) Transmission map proposed method

Figure 8:

Figure 8:
Test image 1 and result (a) Input fog image (b) Result of DCP (c) Before transmission refinement proposed method (d) After transmission refinement proposed method

Figure 9:

Figure 9:
Test image 2 and result (a) Input fog image (b) Result of DCP (c) Before transmission refinement proposed method (d) After transmission refinement proposed method

Table 1:

Experiment conditions about proposed method

item value
window size of Idark 5 x 5
window size of Ec 8 x 8
window size of Idark2 Ωi 13 x 13, 9 x 9, 5 x 5
size of bilateral filter 10 x 10
bilateral filter σs, σr 15, 100

Table 2:

Comparison about edges ratio (%)

image DCP Proposed method
Figure 8 1.16 1.20
Figure 9 1.18 1.26

Table 3:

Comparison about time (sec)

image DCP Proposed method
Figure 8 1.82 1.71
Figure 9 1.43 1.27