莊秀玲 譚???李 震 李良榮*
1(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院 貴州 貴陽 550025) 2(興義民族師范學(xué)院物理與電子科學(xué)系 貴州 興義 562400)
室外場景圖像的感知質(zhì)量對于分析環(huán)境,以執(zhí)行導(dǎo)航、目標(biāo)檢測和識別等自動化任務(wù)非常重要。然而有霧天氣條件下極大地限制室外場景成像的可視性,因此圖像去霧是目前計算機(jī)視覺領(lǐng)域的研究熱點。
目前已有一些較為經(jīng)典的單幅圖像去霧算法。如,Tan[1]將晴天拍攝的室外圖像分成多個小塊,并計算每小塊的最低亮度,由此產(chǎn)生的通道稱為暗通道,其被用作先驗信息[1-2]以重構(gòu)無霧圖像。He等[2]觀察到,基于暗通道先驗(Dark Channel Prior,DCP)方法產(chǎn)生的圖像亮度較低,因此,提出先增加輸入圖像的亮度,然后估計大氣光。He等[3]提出利用導(dǎo)向濾波精細(xì)化光路傳播圖,算法時間明顯縮短。Tarel等[4]觀察到霧對圖像的兩個主要影響是圖像的對比度和亮度,由于本征亮度的指數(shù)特性降低了物體成像的可視性,導(dǎo)致圖像對比度降低,因此,在去霧之前應(yīng)先作白平衡處理,并對圖像的物理性質(zhì)應(yīng)用了兩個約束條件——假定大氣光值總是正的且不能大于霧天圖像的最小亮度。Fattal[5]提出了一種基于局部顏色線模型的去霧方法,這些顏色線用于估計場景的傳輸圖,它僅在低噪聲水平下使用可變伽馬校正因子對彩色圖像進(jìn)行了高精度的恢復(fù),但是圖像中的天空區(qū)域會限制顏色線去霧算法的性能。Guo等[6]采用遺傳算法進(jìn)行圖像去霧,構(gòu)造目標(biāo)函數(shù)確保圖像去霧效果最佳參數(shù)值,對DCP中的敏感參數(shù)進(jìn)行優(yōu)化,由于缺乏合適的去霧效果評估作為適應(yīng)度函數(shù)的客觀標(biāo)準(zhǔn),這使得去霧算法的自適應(yīng)參數(shù)調(diào)整問題不容易解決。
本文研究基于DCP和優(yōu)化自動色階的圖像去霧技術(shù),它可以在不使用直方圖均衡化等任何預(yù)處理技術(shù)的情況下產(chǎn)生更強(qiáng)的圖像邊緣。算法框圖如圖1所示,首先基于DCP估計大氣光值,利用導(dǎo)向濾波精細(xì)化光路傳播圖;然后應(yīng)用加權(quán)最小二乘法(Weighted Least Square,WLS)來保留圖像邊緣信息,以減小振鈴效應(yīng)[7],并結(jié)合自動色階增強(qiáng)圖像;最后引入對比度調(diào)整對圖像中的細(xì)節(jié)進(jìn)行可視化處理。
圖1 去霧算法框圖
根據(jù)霧的物理模型[8],霧圖像退化的原因主要由兩部分組成,一部分是大氣衰減,如圖2所示。另一部分是由于散射作用而到達(dá)成像裝置的環(huán)境光,如圖3所示。
圖2 大氣衰減模型
圖3 大氣光學(xué)模型
McCartney[9]提出模型表示圖像中由于霧引起的退化機(jī)制,其霧成像物理模型方程為:
I(z)=J(z)t(z)+A(1-t(z))
(1)
式中:t(z)=e-kd(x,y)是透射率傳遞函數(shù),用來描述不散射光直接進(jìn)入成像設(shè)備的部分,k是大氣散射系數(shù),d(x,y)是場景深度;I(z)是輸入有霧圖像;J(z)表示恢復(fù)圖像;A是大氣光值。對于無霧晴朗天氣,k=0,可以得到I=J;而在有霧天氣情況下,k>0,則k不可忽略。J(z)t(z)是圖2所示的過程,是直接衰減項,而A(1-t(z))是圖3所示的過程?;謴?fù)無霧圖像由式(2)完成。
(2)
可以看出,要從有霧圖像I(z)中恢復(fù)無霧圖像J(z),則需要估計A和t(z)。
根據(jù)文獻(xiàn)[2]中的DCP可得:
(3)
式中:Ic(x,y)是圖像RGB通道的亮度值,c是RGB的顏色通道;Idark是霧圖像的暗通道;Ω(z)是以像素點(x,y)為中心的鄰域。在對圖像進(jìn)行歸一化后,0.1%最亮像素點所處位置中的最高亮度像素值即為大氣光值。
DCP中的大氣光值用于一個恒定的局部區(qū)域中。在退化霧圖像的局部區(qū)域中使用最小值濾波,此最小值濾波在RGB通道上分別進(jìn)行操作,則式(1)變形為:
(4)
再對式(4)兩邊進(jìn)行RGB通道上的最小值濾波,可得:
(5)
式中:A是正數(shù)。其無霧圖像暗通道的亮度值非常低,接近于零,即:
(6)
那么,得到估計透射率傳遞函數(shù)t(z)為:
(7)
由于存在空中透視現(xiàn)象[10],需要保留少量霧,以感知場景深度。因此,引入常量ω(0<ω≤1)表示霧強(qiáng)度信息因子,圖像的視覺效果會更好。則式(7)修改為:
(8)
大多數(shù)文獻(xiàn)將ω固定為0.95[3]。改變文獻(xiàn)[3]算法中的ω值,得到四組除霧圖像如圖4所示??梢钥闯觯害販p小,霧增加,除霧強(qiáng)度越弱,反之亦然;對于無天空區(qū)域圖像(圖4第一行),ω取值為0.9或0.95幾乎沒有區(qū)別;而帶有天空區(qū)域圖像(圖4第二至第四行),ω=0.95的除霧效果過于強(qiáng)烈,天空看起來是有輪廓的,ω=0.9除霧較好且天空輪廓幾乎消失,ω為0.8時,暈圈效果明顯改善,薄霧層出現(xiàn),ω=0.4時,天空區(qū)域明亮平滑,這時薄霧凸顯。因此本文將ω設(shè)置為0.9。
圖4 改變ω值的文獻(xiàn)[3]方法結(jié)果
為了最小化去霧圖像在景深邊緣處存在白色暈圈的問題,采用導(dǎo)向濾波精細(xì)化粗透射率傳播圖t(z)。導(dǎo)向圖I(z)和精細(xì)化后的傳播圖t1(z)成線性關(guān)系,定義為式(9),其應(yīng)同時滿足式(10)。
t1(z)=akI(z)+bk?z∈wk
(9)
t1(z)=t(z)-n
(10)
式中:wk為一個窗口;ak和bk是在窗口中心為k時線性函數(shù)的常數(shù)系數(shù);n表示噪聲。對式(9)求導(dǎo)得到:▽t1=akI,說明I(z)有梯度的地方,t1(z)就有梯度,即它們有相同的邊緣輪廓。由式(9)和式(10)得到最小化損失函數(shù):
(11)
引入正則化參數(shù)ε,避免ak過大。對式(11)求解如下:
(12)
(13)
(14)
綜合上述條件得到精細(xì)化透射率傳播圖為:
(15)
使用式(15)恢復(fù)的圖像仍然缺少精細(xì)細(xì)節(jié)處理和顏色對比度矯正,可能使顏色過暗失去圖像細(xì)節(jié)或者產(chǎn)生偽色。
為了更加清楚地觀察到圖像中的對象,后處理利用WLS濾波器邊緣保留平滑算子做細(xì)節(jié)處理。邊緣平滑被視為兩個相互矛盾對象的折衷,給定輸入圖像g,尋找新的圖像u。新的圖像u要求盡可能接近g,同時除了g中的顯著梯度外,應(yīng)在任何地方都努力實現(xiàn)平滑。WLS邊緣保留平滑濾波器表示為式(16)函數(shù)的最小值[12]。
(16)
式中:下標(biāo)p表示像素的空間位置;第二項通過最小化u的偏導(dǎo)數(shù)實現(xiàn)輸出圖像平滑;平滑權(quán)重系數(shù)ax,p和ay,p取決于g;常數(shù)值λ控制ax,p和ay,p之間的均衡,增加λ的值,會使圖像u逐漸變得平滑。
平滑權(quán)重系數(shù)ax,p(g)與ay,p(g)分別定義為:
(17)
式中:e是圖像g亮度的對數(shù);指數(shù)α(一般在1.2到2.0之間)決定g對梯度的靈敏度;ε0是非常小的常數(shù)(一般為0.000 1),可以避免在g中,除數(shù)為零。
應(yīng)用矩陣表示法重寫式(16)為:
(18)
式中:Ax和Ay是以ax,p和ay,p為對角元素的對角矩陣;矩陣Dx和Dy為前向差分矩陣。最小化式(18)中的向量u定義為線性系統(tǒng)的解:
(I+λLg)u=g
(19)
則由式(19)可得:
u=(I+λLg)-1g
(20)
為改善DCP算法造成的顏色昏暗,要進(jìn)一步做圖像增強(qiáng)處理。本文自動色階[13]增強(qiáng)圖像的思想是:首先做單通道圖像直方圖統(tǒng)計,求出0.5%首尾的閾值,記為min和max,建立線性映射關(guān)系如式(21)所示;然后將圖像像素值按照式(21)進(jìn)行線性映射至[0,255]區(qū)間,紅綠藍(lán)通道都做完上述的操作后,占比較多的灰度值的動態(tài)范圍擴(kuò)寬,得到一個對比度增強(qiáng)的彩色圖像。但是,占比較多的灰度值如果靠近閾值邊緣的地方,閾值灰度值面積增多,在進(jìn)行合并的時候,會產(chǎn)生偏色現(xiàn)象。
(21)
對此,采用自動對比度進(jìn)行改進(jìn),自動對比度是把RGB通道圖像直方圖首尾0.5%的閾值都進(jìn)行求解,在六個閾值中求取最大值和最小值,RGB通道直方圖都按照求得的最大值和最小值進(jìn)行直方圖首尾的裁切,再做線性映射。因為RGB通道直方圖首尾閾值是一致的,在進(jìn)行圖像的彩色合并后,就不會產(chǎn)生偽色的現(xiàn)象。
實驗環(huán)境:Intel Core i7 4 GHz,內(nèi)存8 GB,MATLAB 2018b。
實驗方法:選用兩種類型的圖像,分別應(yīng)用本文算法與目前認(rèn)為較好的四種算法對圖像進(jìn)行處理,然后對處理效果進(jìn)行客觀評價。
算法處理效果分析:不同的文獻(xiàn)使用不同的參數(shù)評價標(biāo)準(zhǔn),本文采用圖像色彩豐富度[14]和對比度增益(Contrast Gain)[15]及算法耗時作為定量性能分析指標(biāo)。
本文算法處理的逐步效果如圖5所示,其中:(f)為最終獲得的圖像;其未經(jīng)后處理的圖像為(d),看起來色彩不突出,且顏色對比度單調(diào);而從(b)和(c)可以看出,精細(xì)化透射率有助于恢復(fù)具有銳利邊緣的高質(zhì)量圖像??傊?,每個中間步驟都有其自身的重要性,有助于提高可視性。
圖5 算法逐步結(jié)果圖
圖像色彩豐富度是反映色彩的鮮艷生動程度,CCI(Color Colorfulness Index)為其衡量指標(biāo)。其值Ck計算為:
Ck=Sk+σk
(22)
式中:Sk為圖像k的飽和度分量S的均值;σk為標(biāo)準(zhǔn)差。CCI數(shù)值越大,表示圖像的顏色越豐富,除霧效果相對不錯,反之則去霧效果較差。
對比度增益表示去霧輸出和輸入有霧圖像之間的平均對比度差。如果CI,defog和CI,foggy分別是去霧圖像和霧天輸入圖像的平均對比度,則對比度增益定義為:
Cgain=CI,defog-CI,foggy
(23)
尺寸為M×N的圖像的平均對比度用數(shù)學(xué)公式可表示為:
(24)
式中:C(i,j)是位置(i,j)處像素的對比度。
(25)
m(i,j)和s(i,j)可以表達(dá)為:
(26)
(27)
晴天圖像比受霧影響的圖像有更高的對比度,因此對比度增益值越高,表明除霧算法的性能越好。為方便計算,像素q盡可能取較小的整數(shù),本文采用q=2計算Cgain。
從圖6(f)和(g)可以看出,精細(xì)化透射率后,光路傳播圖的輪廓更加清晰。文獻(xiàn)[2]算法在處理場景中含有大片天空區(qū)域的圖像時存在顏色失真,如圖6(b)所示;文獻(xiàn)[4]算法則出現(xiàn)光暈偽影,如圖6(c)所示;文獻(xiàn)[6]參數(shù)自適應(yīng)選擇遺傳算法明顯比文獻(xiàn)[2]算法處理的視覺效果更優(yōu),但是要在天空區(qū)域顏色失真和整體視覺效果之間保持折中,導(dǎo)致去霧效果并不是很好,視覺上還是感覺有一層很薄的霧,如圖6(e)所示。本文算法得到的圖6(h)在色彩自然度、細(xì)節(jié)還原、噪聲抑制等方面都優(yōu)于文獻(xiàn)[5]算法。
圖6 本文算法與四種經(jīng)典算法的定性比較
從圖7可以看出,文獻(xiàn)[2]算法處理結(jié)果由于過增強(qiáng)的原因?qū)е聢D像整體偏暗,過深的顏色導(dǎo)致圖像的細(xì)節(jié)被遮擋,如圖7(b)所示。本文算法得到的圖像自然、細(xì)節(jié)恢復(fù)效果也相對較好,如圖7(f)所示。文獻(xiàn)[4]算法處理結(jié)果在顏色上存在部分失真且有光暈偽影的情況,如圖7(c)所示。本文算法輸出圖像與文獻(xiàn)[5]相比,得到的圖像在顏色上與原圖像較相近,整體效果更加自然。文獻(xiàn)[6]算法較文獻(xiàn)[2]算法處理的圖像更明亮平滑,但是色彩不夠鮮明,色彩對比度與本文算法相比稍差。
圖7 本文算法與四種經(jīng)典算法的定性比較
對圖6、圖7中的圖像進(jìn)行定量比較CCI和Cgain,結(jié)果如表1所示,本文算法較其他算法有更高的CCI和Cgain值,圖像的色彩質(zhì)量更好,對比度更鮮明。說明本文單圖像去霧算法產(chǎn)生了良好的效果,這與圖6、圖7的視覺效果是對應(yīng)的,驗證了采用CCI和對比度增益分析去霧效果是合適的。
表1 不同算法去霧圖像客觀評價比較
針對灰度圖像和彩色圖像,所采用的基于DCP和優(yōu)化自動色階的單圖像去霧算法是新穎有效的。該算法后處理不僅僅是簡單的直方圖拉伸,只增加了圖像的對比度,而是使用WLS濾波器來增強(qiáng)捕獲圖像中的細(xì)節(jié),使用自動色階增強(qiáng)圖像,引入灰度值線性映射。因此該算法不需要預(yù)處理,就保證了顏色質(zhì)量。導(dǎo)向濾波過程中還采用了具有固定系數(shù)的拉普拉斯算子進(jìn)行邊緣輪廓檢測,不需要手動調(diào)整干預(yù)。仿真結(jié)果表明,輸出的無霧圖像具有很好的顏色對比度,保留了RGB圖像的顏色質(zhì)量,利用該方法去除了其他方法去霧圖像中出現(xiàn)的光暈效應(yīng)和薄霧層,邊緣和細(xì)節(jié)清晰。此外,CCI、Cgain值表明,與幾種經(jīng)典算法相比,本文算法重建的圖像具有更好的視覺感知質(zhì)量。霧去除算法易于針對單個圖像而非視頻實現(xiàn),在今后的研究中,可以嘗試使用運動估計擴(kuò)展到視頻中去實現(xiàn)。