高珠珠, 魏偉波, 潘振寬, 趙 慧
(青島大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,山東 青島 266071)
空氣中的懸浮顆粒使得大氣光發(fā)生散射作用,因此,惡劣天氣下拍攝的圖像通常對(duì)比度差、顏色灰暗,嚴(yán)重影響圖像質(zhì)量,也對(duì)視頻監(jiān)控、智能車(chē)輛、衛(wèi)星成像、目標(biāo)識(shí)別等計(jì)算機(jī)視覺(jué)應(yīng)用領(lǐng)域造成困惑[1]。因此,通過(guò)圖像去霧而獲得清晰、高質(zhì)量的圖像對(duì)計(jì)算機(jī)視覺(jué)應(yīng)用與圖像處理意義重大。
通常,圖像去霧就是去除有霧圖像中的霧度并重建自然場(chǎng)景原始顏色的過(guò)程。例如,直方圖均衡化[2]、小波變換[3]、多尺度Retinex算法[4],均可對(duì)已降質(zhì)的圖像進(jìn)行增強(qiáng),有效地提高霧天圖像的對(duì)比度,增強(qiáng)圖像的細(xì)節(jié),改善視覺(jué)效果,但這些方法未考慮如霧霾濃度差異以及濃度與物體深度成正比的關(guān)系,因此通常不能自適應(yīng)的去霧。霧天圖像復(fù)原是研究霧天圖像退化的物理機(jī)制,并建立霧天退化模型,反演退化過(guò)程,補(bǔ)償退化過(guò)程中造成的失真,以便獲得未經(jīng)干擾退化的無(wú)霧圖像或無(wú)霧圖像的最優(yōu)估計(jì)值,從而改善霧天圖像的質(zhì)量。其針對(duì)性強(qiáng),得到的去霧效果自然,一般不會(huì)有信息損失。如文獻(xiàn)[5-8]的算法,其中,利用暗通道先驗(yàn)的文獻(xiàn)[8]算法是當(dāng)前最具代表性的去霧復(fù)原方法之一,該方法假設(shè)在絕大多數(shù)非天空的局部區(qū)域中,某些像素總會(huì)有至少一個(gè)顏色通道具有很低的值。文獻(xiàn)[9-10]對(duì)基于暗通道先驗(yàn)的去霧方法進(jìn)行了進(jìn)一步的完善,但在天空區(qū)域去霧效果不佳,且去霧后圖像中的噪聲也隨之增加。
現(xiàn)有的去霧方法大多是基于深度信息的方法,是因?yàn)槿レF性能高度依賴(lài)于準(zhǔn)確的深度信息。為了保證高質(zhì)量的去霧,有必要在圖像去霧時(shí)準(zhǔn)確地估計(jì)深度信息。因此,F(xiàn)ANG等[11]提出了一個(gè)全變差的變分框架,可同時(shí)估計(jì)深度圖和去霧圖像,其中的 TV正則項(xiàng)能夠保留深度圖與去霧圖像的主邊緣,并能抑制一部分噪聲,提高了去霧圖像的清晰度[12-13]。然而,基于TV正則項(xiàng)的處理方法往往會(huì)產(chǎn)生階梯效應(yīng),作為 TV正則項(xiàng)的延伸,二階的Hessian正則項(xiàng)具有保留精細(xì)結(jié)構(gòu)同時(shí)抑制階梯偽影的能力,且二階微分比一階微分更適合用來(lái)刻畫(huà)圖像的振蕩性[14]。因此,為了進(jìn)一步提高去霧性能,本文首先利用暗通道先驗(yàn)方法求得原始透射率圖,然后將Hessian正則項(xiàng)用于透射率圖與去霧圖像的估計(jì),提出了相應(yīng)的模型,并為其設(shè)計(jì)了ADMM (alter direction method of multipliers)算法,該方法相比于其他求解能量泛函的方法,如對(duì)偶算法[15],效率相對(duì)較高。最后,對(duì)薄霧及濃霧圖像的去霧效果進(jìn)行了主觀(guān)及客觀(guān)的評(píng)價(jià)與分析。
本節(jié)將對(duì)暗通道先驗(yàn)方法與Hessian正則項(xiàng)變分模型進(jìn)行詳細(xì)地介紹。
SCHECHNER等[16]基于MCCARTNEY的大氣散射模型,提出了單色大氣模型來(lái)模擬霧天環(huán)境下的退化過(guò)程,模型如下
其中,f為有霧圖像;u為去霧后的圖像;A為像素位置,即全局大氣光,代表周?chē)h(huán)境中各種光的總強(qiáng)度;t為透射率圖,反映了場(chǎng)景目標(biāo)的深度信息,t= e-βd,β為大氣散射系數(shù),d為場(chǎng)景深度;通過(guò)求取t,A值可從有霧圖像f中得到去霧后的圖像u。
去霧的目的在于通過(guò)對(duì)有霧圖像的處理得到類(lèi)似于在晴朗環(huán)境下拍攝的圖像,即去霧后的圖像應(yīng)滿(mǎn)足對(duì)大量無(wú)霧或晴天圖像的統(tǒng)計(jì)規(guī)律,所以,文獻(xiàn)[8]利用數(shù)理統(tǒng)計(jì)方法,通過(guò)對(duì)5 000幅戶(hù)外晴朗條件下拍攝的無(wú)天空?qǐng)D像,對(duì)其像素亮度值的累積直方圖進(jìn)行統(tǒng)計(jì)得出暗通道先驗(yàn)規(guī)律:在大多數(shù)無(wú)霧圖像中的局部區(qū)域內(nèi),其一些像素會(huì)在某個(gè)通道內(nèi)具有非常低的像素值。低像素值的產(chǎn)生主要是由于陰影,當(dāng)彩色物體在某一個(gè)通道的值太大時(shí),其他通道的值會(huì)很小。因此,可按塊求出圖像的暗通道圖像,即
其中,Jc為彩色圖像J的每個(gè)通道;Ω(x)為以像素x為中心的一個(gè)窗口。將式(1)兩邊同時(shí)除以Ac,并對(duì)兩端的像素塊取最小值得到
其中,Ac為在暗原色圖像中像素強(qiáng)度最強(qiáng)的點(diǎn)的像素值。在Ω(x)鄰域中,t(x)為常數(shù),記為t~(x)。由暗原色先驗(yàn)可知,去霧后圖像的暗原色通道u應(yīng)趨于0,且Ac總是一個(gè)正數(shù),故可以表示為將式(4)代入式(3),可以消除多個(gè)參數(shù)并且得到透射率的粗略估計(jì)表達(dá)式為
其中,ω為一個(gè)固定的參數(shù)值(0<ω≤1),ω是為了留有一定濃度的霧而設(shè)置的,可以使恢復(fù)后的圖像能保留一定的景深,主觀(guān)感受更加自然。ω值是基于應(yīng)用場(chǎng)景的,通常設(shè)置為0.95。
文獻(xiàn)[8]算法利用暗通道先驗(yàn)規(guī)律來(lái)估算大氣光值。在暗通道圖像中,將各像素點(diǎn)的亮度值按遞減的順序排列,確定數(shù)值為前 0.1%的像素點(diǎn)所處的位置,其所對(duì)應(yīng)的原有霧圖像區(qū)域中的最大值即為大氣光值A(chǔ)。最終,暗通道先驗(yàn)?zāi)P蛷?fù)原圖像公式為
其中,t0為避免除數(shù)為零而設(shè)置的一個(gè)常數(shù),一般取值為0.1。
Hessian矩陣描述圖像二階導(dǎo)數(shù)的特征,可以增強(qiáng)圖像線(xiàn)狀結(jié)構(gòu)[17]。Hessian矩陣變分模型在對(duì)圖像進(jìn)行平滑處理的同時(shí),能夠檢測(cè)到圖像的振蕩等特征,在消除噪聲的同時(shí)較好地保持了圖像的細(xì)節(jié)特征,得到了較為滿(mǎn)意的結(jié)果,即
其中,彩色圖像有R,G,B3個(gè)通道,所以f=[f1f2f3]T,u=[u1u2u3]T。f為噪聲圖像;u為修復(fù)圖像;i為彩色圖像的R,G,B通道。式(7)等式右邊的第一項(xiàng)為HMV模型的正則項(xiàng),λ為調(diào)節(jié)參數(shù),表示恢復(fù)后圖像光滑程度的先驗(yàn)知識(shí);第二項(xiàng)為數(shù)據(jù)項(xiàng),表示觀(guān)測(cè)圖像與恢復(fù)后圖像的接近程度。
根據(jù)Hessian正則項(xiàng)[17]的優(yōu)勢(shì),本文以透射率圖t(x)與去霧圖像u(x)建立的去霧模型為
其中,t為待求解的透射率圖;為式(5)所求得的原始透射率;為透射率圖的數(shù)據(jù)項(xiàng),在其他項(xiàng)的約束下,最小化該項(xiàng)使得透射率t在同質(zhì)區(qū)域內(nèi)其值逐步逼近于,保證在同質(zhì)區(qū)域內(nèi)待求解透射率的精確性和同質(zhì)性為透射率圖的正則項(xiàng),將其最小化,可得到整幅有霧圖像的定義域內(nèi)透射率的梯度值最小,實(shí)現(xiàn)透射率的全局平滑。為去霧圖像正則項(xiàng),項(xiàng)保證了被恢復(fù)圖像與原圖像的逼近。f為有霧圖像;u為去霧后的圖像;1γ為透射率圖擴(kuò)散項(xiàng)參數(shù),控制圖像的光滑程度;2γ為去霧圖像擴(kuò)散項(xiàng)參數(shù),控制圖像的光滑程度;A為大氣光值。
為了便于求解,將式(8)分解為式(9)和式(10) 2部分。式(11)和式(12)是式(9)和式(10)的ADMM求解過(guò)程,即
為式(9)引入輔助變量p,w1,w2,w3,w4。設(shè)令p=?x,w4= ?yp2。w1=?xq1,w2= ?yq2,w3= ?xq3,w4= ?yq4。其中,β1,βp為懲罰參數(shù);γ1,γ2,γ3,γ4,γp為拉格朗日乘子。得到式(11),即E(t,p,w1,w2,w3,w4)=
為式(10)引入輔助變量q,v1,v2,v3,v4,設(shè)令v4= ?yq4。其中,θ1,θp為懲罰參數(shù),α1,α2,α3,α4,αp為拉格朗日乘子。得到式(12)
具體迭代g過(guò)程為
更新拉格朗日乘子
式(15),(17),(18)和式(20)是關(guān)于tk+1,pk+1,uk+1,qk+1的歐拉-拉格朗日方程,式(16)和式(19)是關(guān)于wk+1,vk的廣義軟閾值公式。式(15),(17),(18)和式(20)均可用 Gauss-Seidel迭代方式進(jìn)行求解,分別求出tk+1,uk+1。
本文模型求解步驟如下:
輸入:有霧圖像f。
輸出:去霧圖像u。
步驟 1.輸入有霧圖像,利用暗通道先驗(yàn)估算出透射率和大氣光值A(chǔ)。
步驟 2.初始化,設(shè)置模型的調(diào)節(jié)參數(shù)、拉格朗日乘子、懲罰參數(shù)、以及迭代步數(shù)step=200。
步驟 3.根據(jù)歐拉-拉格朗日方程與軟閾值公式求得各模型參數(shù)。
步驟 4.不斷循環(huán)更新迭代拉格朗日乘子,直到 abs(E(step)–E(step–1)/E(step))<0.01,E(step)代表第step步的能量值,即t,u均收斂。
步驟 5.輸出t,u。
本文首先對(duì)有霧圖像進(jìn)行暗通道先驗(yàn)的處理,得到粗略的透射率圖和大氣光值,然后將粗略的透射率圖結(jié)合Hessian正則項(xiàng)進(jìn)行處理。同時(shí),有霧圖像結(jié)合Hessian正則項(xiàng)與大氣散射函數(shù)得到本文統(tǒng)一的變分去霧模型,最后利用ADMM算法輸出去霧后的圖像。去霧算法流程如圖1所示。
圖1 本文算法流程圖
本文用 Matlab(R2014a)對(duì)去霧模型進(jìn)行了仿真實(shí)驗(yàn),并與相關(guān)算法進(jìn)行了比較。計(jì)算機(jī)配置為Intel(R) Core(TM) i5-4590 CPU @ 3.30 GHz, 4 GB RAM。
本文從LIVE Image Defogging數(shù)據(jù)庫(kù)[18]中測(cè)試了大量有霧圖像用于評(píng)估本文去霧模型的性能,并與有代表性的文獻(xiàn)[5]、文獻(xiàn)[6]、文獻(xiàn)[19]、文獻(xiàn)[8]和文獻(xiàn)[7]算法以及近幾年比較優(yōu)秀的去霧算法文獻(xiàn)[20]、文獻(xiàn)[21]和文獻(xiàn)[22]進(jìn)行了比較。測(cè)試結(jié)果表明本文算法能有效地實(shí)現(xiàn)去霧,適用性較好。圖2和圖3是從LIVE Image Defogging數(shù)據(jù)庫(kù)中隨機(jī)挑選出的有霧圖片以及各算法的去霧效果圖。
本文對(duì)去霧圖像進(jìn)行2種客觀(guān)評(píng)價(jià)算法,一種是全參考對(duì)比度增強(qiáng)評(píng)估,另一種是無(wú)參考感知霧密度評(píng)估。文獻(xiàn)[23]提供了3個(gè)去霧算法評(píng)估的衡量標(biāo)準(zhǔn),新增可見(jiàn)邊之比e表示去霧圖像中新的可見(jiàn)邊緣相對(duì)于有霧圖像的比率;飽和像素比率σ表示去霧后變成黑色或白色像素的百分比;描述的是平均可見(jiàn)度的增強(qiáng)程度。當(dāng)e、為正且數(shù)值越大時(shí),σ的值越接近于0,意味著性能越好。e,,σ3個(gè)衡量標(biāo)準(zhǔn)均屬于全參考對(duì)比度增強(qiáng)評(píng)估。文獻(xiàn)[24]提供的感知霧密度D是無(wú)參考感知霧密度評(píng)估方法,不需要有霧的原始圖像,較低的D表示較好的去霧性能。
3.2.1 去除薄霧的主觀(guān)評(píng)價(jià)與客觀(guān)分析
圖2以薄霧為例,從上至下3幅圖像的各算法去霧效果圖。從圖 2中可以看出,圖 2(b)文獻(xiàn)[5]的去霧圖像有些過(guò)飽和并伴隨光環(huán)現(xiàn)象;圖2(c)文獻(xiàn)[6]算法消除了部分天際線(xiàn)附近的場(chǎng)景(第2行紅框處);圖2(d)文獻(xiàn)[19]算法去霧不夠徹底,且紋理細(xì)節(jié)保持效果欠佳(第2行、第3行紅框處);圖2(f)文獻(xiàn)[7]產(chǎn)生了較灰暗的天空區(qū)域(第1行、第2行);圖 2(e)文獻(xiàn)[8]與圖 2(g)本文算法得到的去霧圖像色彩更加自然,但本文算法比文獻(xiàn)[8]算法顯示出了更加清晰的細(xì)節(jié)(第3行紅框處)。
表1中的數(shù)據(jù)是對(duì)圖2的客觀(guān)評(píng)價(jià),可以看出,文獻(xiàn)[5]算法去霧后雖然由于過(guò)飽和現(xiàn)象產(chǎn)生了最小的感知霧密度D以及較大的平均可見(jiàn)度,但e值出現(xiàn)了負(fù)值,說(shuō)明該算法導(dǎo)致去霧后的圖像失去了一些可見(jiàn)邊緣;文獻(xiàn)[6]和文獻(xiàn)[19]算法產(chǎn)生了較大的霧感知密度D,說(shuō)明2種方法去霧不夠徹底,且文獻(xiàn)[6]產(chǎn)生了較大的σ值;文獻(xiàn)[7]算法由于去霧效果圖過(guò)于灰暗,使得產(chǎn)生了較低的可見(jiàn)邊緣;相比之下,本文算法產(chǎn)生了較小的霧感知密度D與最大的可見(jiàn)邊緣e值,說(shuō)明本文算法去霧更加徹底,紋理細(xì)節(jié)保持效果較好。
3.2.2 去除濃霧的主觀(guān)評(píng)價(jià)與客觀(guān)分析
圖 3屬于濃霧圖像,展示了各算法去霧效果圖,可以直觀(guān)地發(fā)現(xiàn)圖3(b)文獻(xiàn)[18]算法去霧不夠徹底,剩余的霧霾導(dǎo)致圖像質(zhì)量下降;圖3(c)文獻(xiàn)[21]算法存在過(guò)度平滑的現(xiàn)象;圖3(d)文獻(xiàn)[22]算法得到的圖像整體亮度較好,但是部分區(qū)域過(guò)亮(如紅框處)過(guò)曝現(xiàn)象明顯,近景部分也出現(xiàn)過(guò)飽和現(xiàn)象。相比之下,圖3(e)本文算法在保留圖像細(xì)節(jié)的同時(shí)能夠有效地去霧,其良好的性能主要得益于保留細(xì)節(jié)的Hessian正則項(xiàng)。
圖2 本文模型與5種模型算法去霧效果對(duì)比
表1 圖2中各算法定量比較(e,σ,,D)
表1 圖2中各算法定量比較(e,σ,,D)
圖像 文獻(xiàn)[5] 文獻(xiàn)[6] 文獻(xiàn)[19]images/BZ_81_1038_2786_1051_2835.pngimages/BZ_81_1618_2786_1631_2835.pnge σr D e σr D e σimages/BZ_81_1038_2837_1051_2891.pngimages/BZ_81_1618_2837_1631_2891.pngr D第1排 –0.061 0.010 2.223 0.175 –0.122 0.025 1.562 0.362 0.010 0.011 1.625 0.416第2排 –0.143 0.024 2.343 0.116 –0.063 0.096 1.323 0.262 0.059 0.003 1.426 0.486第3排 0.080 0.11 2.284 0.181 0.044 0.021 1.231 0.511 0.098 0.004 1.621 0.515圖像 文獻(xiàn)[8] 文獻(xiàn)[7] 本文images/BZ_81_1038_3045_1051_3094.pngimages/BZ_81_1618_3045_1631_3094.pnge σr D e σimages/BZ_81_1038_3096_1051_3141.pngr D e σimages/BZ_81_1618_3096_1631_3141.pngr D第1排 0.013 0.000 1.659 0.276 –0.011 0.000 1.873 0.241 0.047 0.000 1.521 0.200第2排 0.064 0.000 1.428 0.427 0.072 0.000 1.882 0.241 0.226 0.000 1.442 0.212第3排 0.086 0.010 1.339 0.296 0.021 0.000 2.093 0.312 0.324 0.000 1.472 0.282
圖3 本文模型與其他3種算法去霧效果對(duì)比
表2中的數(shù)據(jù)是對(duì)圖3的客觀(guān)評(píng)價(jià),從表2中可以看出,文獻(xiàn)[22]算法雖然產(chǎn)生了較小的霧感知密度D,但由于過(guò)飽和現(xiàn)象,使得去霧后變成白色的像素點(diǎn)增多,σ值偏大。本文算法相較于文獻(xiàn)[18]和文獻(xiàn)[21]算法雖然產(chǎn)生了幾乎類(lèi)似的平均可見(jiàn)度,但本文產(chǎn)生了最小的感知霧密度D以及較大的可見(jiàn)邊緣e,整體而言,本文去除濃霧方面效果相對(duì)較好。
表2 圖3中各算法定量比較(e、σ、r、D)
3.2.3 本文模型的適用性分析
為了測(cè)試本文模型的適用性,從 LIVE Image Defogging數(shù)據(jù)庫(kù)中隨機(jī)挑選了100幅有霧圖像進(jìn)行了實(shí)驗(yàn)。圖4為ADMM方法與對(duì)偶方法求解能量方程所需要的平均用時(shí)直方圖;圖5和圖6為各算法平均用時(shí)統(tǒng)計(jì)直方圖及e、D去霧性能指標(biāo)的統(tǒng)計(jì)直方圖。從圖4中可以看出,雖然ADMM求解能量方程的效率相比于對(duì)偶算法求解更加高效,但由于需要不斷地迭代直到能量方程收斂,相比于其他算法,計(jì)算效率較低。從圖6中可以看出本文算法相較于其他算法,具有較大的新增可見(jiàn)邊之比e,說(shuō)明本文算法紋理細(xì)節(jié)保持效果較好;圖7中,文獻(xiàn)[5]算法平均霧感知密度D最低,但新增可見(jiàn)邊之比e較大,使得去霧后的圖像過(guò)飽和并有曝光現(xiàn)象,圖像邊緣丟失。而本文算法的去霧濃度相對(duì)較低,說(shuō)明本文算法去霧效果良好。
圖4 ADMM算法與對(duì)偶算法100幅圖片平均時(shí)間對(duì)比統(tǒng)計(jì)
圖5 本文與其他算法100幅圖片平均時(shí)間對(duì)比統(tǒng)計(jì)
圖6 本文與其他算法100幅圖片平均新增可見(jiàn)邊之比對(duì)比統(tǒng)計(jì)
圖7 本文與其他算法100幅圖片平均霧感知密度對(duì)比統(tǒng)計(jì)
本文首先利用暗通道先驗(yàn)得到粗略的透射率圖,然后提出了一個(gè)二階變分去霧模型,并同時(shí)實(shí)現(xiàn)透射率圖的精細(xì)化和去霧圖像的恢復(fù)。引入Hessian正則項(xiàng)保留了透射率圖和去霧圖像的重要結(jié)構(gòu),提高了圖像的對(duì)比度、可見(jiàn)度,設(shè)計(jì)了相應(yīng)的ADMM算法,提高了模型的運(yùn)算效率。最后實(shí)驗(yàn)結(jié)果表明,本文模型可以有效修復(fù)有霧圖像,去霧后的圖像清晰自然,紋理細(xì)節(jié)保持效果較好。但由于本文算法需要不斷更新迭代拉格朗日乘子,直到能量方程收斂,雖然設(shè)計(jì)了相應(yīng)的ADMM 算法提高計(jì)算效率,但仍然不能實(shí)時(shí)去霧,受深度學(xué)習(xí)Adadelta優(yōu)化器具有較快收斂速度的啟發(fā),結(jié)合Adadelta算法提高運(yùn)行速度是后續(xù)研究的方向。