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