孫希延,陶 堃,黃建華*,時慧恩
(1. 桂林電子科技大學廣西精密導航技術與應用重點實驗室,廣西 桂林 541004;2. 桂林電子科技大學衛(wèi)星導航與位置服務國家與地方聯(lián)合工程研究中心,廣西 桂林 541004)
在有霧霾的天氣下,大氣中的水蒸氣和氣溶膠都會使造成光線散射現(xiàn)象,從而導致拍攝的圖像產(chǎn)生顏色畸變、細節(jié)模糊的現(xiàn)象。對霧化圖像進行去霧處理,可以在一定程度上恢復對比度低等問題。圖像去霧處理主要解決的是圖像特征信息模糊、灰度集中、色彩失真等問題。
目前主流圖像去霧研究方法有:He提出的暗通道先驗(DCP,Dark Channel Prior)方法,基于在絕大多數(shù)非天空局部區(qū)域中,像素點總會有至少一個顏色通道有很低的值的結論,將其與大氣散射模型結合來計算模型參數(shù),該算法在非天空區(qū)域的去霧效果十分有效,但是其軟摳圖處理耗費的時間成本極高,且對天空區(qū)域的去霧效果不盡如人意;文獻[5-7]在文獻[4]基礎上提出了改進算法。在透射率估計時利用雙邊濾波和終止濾波代替最小值濾波,在一定程度上提高了算法的魯棒性和實時性,但由于DCP對天空區(qū)域處理的先天不足,仍無法較好的處理天空區(qū)域;Tan基于無霧圖像比有霧圖像的對比度要高和圖像大氣光值趨于平滑這兩點建立成本函數(shù),通過圖像分割算法或信念傳遞算法獲得去霧復原圖像,但是復原圖像出現(xiàn)過飽和現(xiàn)象,并且沒有建立在特定的物理模型上;Fattal基于表面陰影和傳輸函數(shù)是統(tǒng)計無關的假設,對大氣散射模型進行運算分析,求得傳輸函數(shù)并對圖像去霧,該方法較好的解決了圖像失真問題,但在霧霾很濃時顏色信息較少,效果較差;Tarel提出利用中值濾波估計大氣塵霧濃度,并結合暗通道先驗和大氣散射模型來進行去霧處理,但中值濾波器在邊緣無法很好地保持,導致深度突變區(qū)域去霧不徹底;Zhu提出的顏色衰減先驗(CAP,Color Attenuation Prior)方法,基于該先驗知識建立模糊圖像景深的線性模型。利用監(jiān)督學習方法學習模型參數(shù),能較好的恢復景深信息,對天空區(qū)域的去霧處理比較出色。
本文采用基于暗通道的自適應圖像去霧算法對圖像處理霧化圖像,對原始霧化圖像的暗通道設置閾值以區(qū)分天空和非天空區(qū)域,在天空區(qū)域利用顏色衰減先驗原理,用最大似然法估計圖像深度方差,再采用梯度下降法估計透射率圖;在非天空區(qū)域改進了全局大氣光值的求取,再通過暗通道先驗求解透射率圖,得到透射率圖后用加權導向濾波去噪,即得到去霧后圖像。仿真結果表明,與各類主流去霧算法比較,本文算法去霧主觀視覺效果較好,客觀評價指標較優(yōu)。
在計算機視覺領域,霧霾天氣下的大氣散射物理模型可以用下式表示:
I
(x
)=J
(x
)t
(x
)+A
(1-t
(x
))(1)
其中,I
(x
)為觀察到的霧化圖像,J
(x
)為無霧圖像,A
為大氣光值,t
(x
)為透射率表示能夠達到計算機系統(tǒng)的沒有被散射掉的一部分光。圖像去霧的目的就是從霧化圖像I
(x
)中恢復J
(x
)、A
和t
(x
)。對任意一幅無霧圖像J
(x
),其暗通道都可以表示為(2)
其中,J
(y
)是J
的RBG通道中其中一個顏色通道,Ω
(x
)是像素點x
的窗口。暗通道先驗理論指出,在無霧圖像的非天空局部區(qū)域中,圖像中所有的像素在RGB三顏色通道中總會存在至少一個顏色通道會出現(xiàn)很低的值。即
J
→0(3)
假設大氣光值A
已知,利用大氣光值對(1)式進行歸一化處理(4)
又假設透射率局部區(qū)域Ω
(x
)是恒定不變的,計算(4)式的暗通道(5)
在無霧圖像中,由于A
是確定的,根據(jù)(3)式,可得(6)
將(6)式帶入(5)式,可得透射率的表達式
(7)
為了更好的視覺體驗,需要人為保留一定程度的霧。因此在(7)式中引入在[0,1]區(qū)間的參數(shù)ω
,修正為(8)
以上推論都建立在全球大氣光A
值時已知的基礎上。而具體計算時,可以結合暗通道圖和原圖來獲取該值。具體操作如下:從暗通道圖中按照亮度大小從高到低排列,取前0.
1%
的像素點,并記錄下對應坐標;在原始有霧圖像I
里,尋找這些坐標對應像素點中具有最高亮度的點的值作為A
值。t
的值很小時,會導致無霧圖像J
的值偏大,從而使圖像整體向白場過度。因此可以設置一個閾值t
,當t
<t
時,令t
=t
,可以取t
=0.
1。最后圖像恢復的最終公式為(9)
由于He提出的暗通道先驗去霧只適用于非天空區(qū)域,而在實際的圖像中仍有大片諸如天空區(qū)域的遠景部分。因此,本文對對霧化圖像分割成天空區(qū)域和非天空區(qū)域,并采用不同的方法來處理。
T
,用以分割天空區(qū)域與非天空區(qū)域。即(10)
T
可以使用對暗通道圖像進行最佳閾值迭代的方法來進行計算。本文對于天空區(qū)域的去霧是使用顏色衰減先驗原理?;趫D像的深度和亮度與飽和度之差成正相關的統(tǒng)計原理,于是有下列關系
d
(x
)=θ
+θ
u
(x
)+θ
v
(x
)+λ
(x
)(11)
式中v
(x
)是飽和度,u
(x
)是亮度,d
(x
)是深度,θ
,θ
,θ
是線性系數(shù),ε
(x
)是隨機變量表示模型的隨機錯誤,可以視其為隨機圖。令ε
(x
)~N
(0,σ
),即有:d
(x
)~N
(θ
+θ
u
(x
)+θ
v
(x
),σ
)(12)
式中,亮度u
(x
),飽和度v
(x
)已知,需計算θ
,θ
,θ
,σ
的值,深度d
(x
)目前不可測量。本文使用最大似然估計法來計算大氣散射模型為
I
(x
)=J
(x
)t
(x
)+A
(1-t
(x
))t
(x
)=e-()(13)
對于聯(lián)合概率密度函數(shù),假設每個像素的出錯概率是相互獨立的,有
(14)
其中,n
表示像素總數(shù),L
表示似然函數(shù),結合(12)(14),可得(15)
采用最大似然估計求取σ
,有(16)
采用梯度下降法估計線性參數(shù)θ
,θ
,θ
的值,有(17)
(18)
(19)
估計出θ
,θ
,θ
后帶入(11)式,可以求解出深度圖d
(x
),將d
(x
)帶入(13)式即可求得透射率圖t
(x
)。非天空區(qū)域的去霧可以使用暗通道先驗原理,本文對暗通道先驗的全局大氣光值做了優(yōu)化,其它步驟與暗通道先驗相同。
在暗通道先驗中是取暗通道圖亮度前0.
1%
的像素對應有霧圖像中的亮度最高的點的值為全局大氣光值,這作為先驗大氣光值并不是很特別準確,會導致先驗大氣光值與實際大氣光值之間有較大的誤差。本文采用加權平均求全局大氣光值,設圖像像素總數(shù)為N
,天空區(qū)域像素總數(shù)為n
,輸入霧天圖像的暗通道為(20)
則加權平均計算的全局大氣光強可以表示為
(21)
上述去霧步驟處理后的圖像仍存在較多噪聲,因此需要使用一個濾波器進行圖像去噪,本文采用加權導向濾波對圖像進行去噪。下面介紹加權導向濾波流程。
假設在一個以r
為半徑的確定窗口,輸出圖像q
和引導圖像H
在濾波窗口ω
上存在局部線性關系q
=a
H
+b
,?i
∈ω
(22)
(a
,b
)也是在濾波窗口ω
唯一確定的常量系數(shù),且對于相鄰像素點而言,存在?q
=a
?H
,也就確保了一個確定的局部區(qū)域β
內(nèi),濾波圖像H
有一個邊緣時,輸出圖像q
也能夠保持邊緣不變。因此只要求出系數(shù)a
,b
也可推導得輸出圖像q
。輸入圖像中邊緣區(qū)域又不平滑的地方記為噪聲n
,有q
=p
-n
,導向濾波的目標是使這個噪聲降到最低。對于所有濾波窗口ω
,使用最小二乘法求最優(yōu)解可以表示為(23)
為了防止出現(xiàn)光暈現(xiàn)象,即避免a
的值過大,這里引入一個正則化參數(shù)ε
,在濾波窗口ω
內(nèi)的損失函數(shù)可以表示為(24)
(25)
式中,Γ
()為引導圖像H
中像素點的權值,定義為(26)
(27)
(28)
計算可得a
,b
(29)
(30)
將(30)式帶入(29)式,得
(31)
(32)
ω
|個q
值,就對所有的q
值取平均,得到最終結果(33)
本文方法流程如圖1所示。
圖1 算法流程圖
為驗證本文算法的實際效果,將本文與文獻[4]、文獻[9]、文獻[10]的仿真結果進行對比,將從主觀和客觀兩個方面對仿真結果進行評價。實驗測試環(huán)境:CPU為Inter Core i7-7700,顯卡為NVIDIA GT730,操作系統(tǒng)為WIN10,仿真軟件為Matlab2017a。
圖2 不同算法的去霧恢復效果對比圖
這里選取He,F(xiàn)attal,Tarel的算法與本文算法進行對比,如圖2所示,場景1、場景4是不含天空區(qū)域的圖像,場景2、場景5是含有大片天空區(qū)域的圖像,場景3是含有小片天空區(qū)域的圖像。通過觀察可以發(fā)現(xiàn),He的算法在天空區(qū)域的顏色過飽和,F(xiàn)attal和Tarel的算法處理后在場景5出現(xiàn)了明顯的光暈。與上述文獻方法處理結果相比,在處理含有不同面積的天空區(qū)域的圖像時,本文算法處理后的圖像去霧效果明顯,在整體上能較好地保持了細節(jié),復原的顏色也較為自然;處理天空區(qū)域時避免了其它算法中出現(xiàn)的過飽和現(xiàn)象,也極大地減弱了光暈效應。
本文使用圖像的信息熵、平均梯度和峰值信噪比作為圖像去霧效果的客觀評價標準,用以對比本文算法與He、Fattal、Tarel等人算法的去霧效果。
4.2.1 圖像的信息熵
圖像的信息熵表示圖像所包含的平均信息量的多少,信息熵的值越大,則所含信息量越多,也就是圖像質(zhì)量更好。
表1 復原圖像信息熵
由表1可知本文算法處理后的圖像信息熵比其它算法的都大,說明本文算法處理后的圖像所包含的信息量和圖像質(zhì)量更高,優(yōu)于所列的其它算法。
4.2.2 圖像平均梯度
圖像平均梯度衡量了圖像的清晰度,反映了圖像中的去霧效果,平均梯度的值越大說明圖像去霧效果越好。
表2 復原圖像平均梯度
由表2可知本文算法處理后的圖像平均梯度比其它算法的都大,說明本文算法的細節(jié)和紋理特征更突出,去霧的效果更好,優(yōu)于所列的其它算法。
4.2.3 圖像峰值信噪比
圖像峰值信噪比表示去霧處理后圖像的復原質(zhì)量和失真程度,峰值信噪比越大,圖像復原質(zhì)量越高,失真程度越小。
表3 復原圖像峰值信噪比
由表3可知本文算法處理后的圖像平均梯度比其它算法的都大,說明本文算法處理后的圖像復原質(zhì)量和失真程度優(yōu)于所列的其它算法。
本文提出一種基于暗通道的自適應去霧算法,并通過理論分析和實驗仿真驗證了算法的可行性和優(yōu)越性。主要得到以下結論:
1)針對暗通道先驗不適用于含天空區(qū)域的霧化圖像,提出分割天空與非天空區(qū)域,并采用不同的先驗假設分別用于不同區(qū)域,提高了去霧算法對霧化圖像適用性。
2)天空區(qū)域去霧使用顏色衰減先驗,并使用梯度下降法計算透射率,可以有效地恢復霧化圖像的天空區(qū)域,避免出現(xiàn)過飽和現(xiàn)象。
3)用加權平均法對暗通道先驗的全局大氣光值進行求解,使得去霧后的非天空區(qū)域更自然。
4)利用加權導向濾波進行去噪處理,極大地減弱了光暈現(xiàn)象,提高了天空與非天空區(qū)域邊緣的清晰度,更好地保存了圖像整體性。
5)在相同實驗測試環(huán)境,并處理相同霧化圖像時,本文所提算法在主觀和客觀評價中均優(yōu)于主流的去霧算法。
6)本文提出算法,在圖像復原,無人機監(jiān)測,智能駕駛等領域,都有廣闊的應用前景。