仲會娟,廖一鵬
(1.河北工程技術(shù)學(xué)院 網(wǎng)絡(luò)與通信學(xué)院,河北 石家莊 050091;2.陽光學(xué)院 人工智能學(xué)院,福建 福州 350015;3.福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108)
隨著通信技術(shù)、計算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)的日新月異,圖像處理技術(shù)的應(yīng)用已經(jīng)無處不在,如移動通信、自動駕駛、遙感遙測、醫(yī)療領(lǐng)域等。高質(zhì)量的清晰圖像有利于圖像的后續(xù)研究,如圖像分割、特征提取、圖像分類與識別、目標(biāo)跟蹤與檢測等。但是,在霧霾、大霧、雨天等天氣條件下,獲取的圖像會出現(xiàn)顏色失真、對比度低、圖像退化等問題,嚴(yán)重時會導(dǎo)致計算機(jī)視覺系統(tǒng)失靈。因此,圖像去霧算法成為圖像處理和機(jī)器視覺領(lǐng)域中學(xué)者和專家們關(guān)注和研究的熱點(diǎn)。
當(dāng)前,國內(nèi)外主流的圖像去霧方法包括兩種:一種是基于圖像增強(qiáng)的圖像去霧算法,另一種是基于大氣散射模型的圖像去霧算法。其中,圖像增強(qiáng)算法可以抑制圖像中無用信息,增強(qiáng)有用信息,達(dá)到圖像去霧的目的,如直方圖均衡化[1-2]、Retinex去霧[3-6]和同態(tài)濾波[7]等。此類方法未考慮圖像退化的原因,因此去霧后會丟失大量圖像細(xì)節(jié)[8]。圖像復(fù)原方法首先建立圖像退化數(shù)學(xué)模型,并據(jù)此進(jìn)行逆變換獲取無霧圖像,此類方法從圖像降質(zhì)的本質(zhì)出發(fā),去霧后不易產(chǎn)生信息丟失,處理結(jié)果更加逼近清晰圖像[5]。文獻(xiàn)[9]對眾多戶外清晰圖像進(jìn)行統(tǒng)計分析,由此總結(jié)得到了暗通道先驗(yàn)原理,同時聯(lián)合大氣散射物理模型設(shè)計出簡單高效的單一圖像去霧算法,但去霧后明亮區(qū)域存在失真現(xiàn)象。文獻(xiàn)[10]通過容差策略可以有效抑制圖像中明亮區(qū)域的失真問題,但其他區(qū)域會出現(xiàn)誤補(bǔ)償問題。文獻(xiàn)[11]引入引導(dǎo)濾波算法來解決處理結(jié)果中細(xì)節(jié)缺失的問題,同時提高了算法效率,但處理結(jié)果中的明亮區(qū)域仍存在失真現(xiàn)象。文獻(xiàn)[12]首先識別有霧圖像中的天空區(qū)域,并對其透射率進(jìn)行修正,但處理效率低下,且存在天空區(qū)域誤識別的問題。文獻(xiàn)[13]引入混合暗通道來克服處理結(jié)果中明亮區(qū)域暗通道原理失效的問題。
針對以上問題,本文將傳統(tǒng)暗通道去霧算法進(jìn)行改進(jìn),并結(jié)合自適應(yīng)容差策略實(shí)現(xiàn)圖像去霧。首先,根據(jù)圖像尺寸得到3種最小值濾波窗口尺寸r1、r2、r3,利用3種不同尺寸的最小值濾波器分別計算暗通道圖和透射率估計。接著,對3種不同濾波器尺寸下的透射率估計展開有效融合,得到多尺度透射率圖。引導(dǎo)濾波器使得處理后圖像與引導(dǎo)圖像的邊緣保持一致,有效增強(qiáng)透射率估計的邊緣、紋理等細(xì)節(jié)信息。自適應(yīng)容差策略可以依據(jù)有霧圖像中明亮區(qū)域的尺寸獲得相應(yīng)的容差參數(shù),補(bǔ)償明亮區(qū)域的透射率估計,有效抑制了明亮區(qū)域處理后存在失真的問題。最后,對上述處理結(jié)果的亮度和對比度分別進(jìn)行補(bǔ)償完成圖像去霧。
大氣散射物理模型用來刻畫有霧圖像的形成過程和原理,被廣泛應(yīng)用于圖像去霧領(lǐng)域[14-15],具體表示為:
其中,I(x)是實(shí)際有霧圖像;A是大氣光值;J(x)是待復(fù)原的無霧圖像;t(x)是透射率,表示光線從對象傳到觀察者期間未被散射的成分。公式(1)中,J(x)t(x)是直接衰減項,表示光線在傳輸期間的輻射或衰減分量;A(1-t(x))稱為大氣光成像,由大氣散射現(xiàn)象引起,易造成圖像顏色偏差。
由大氣散射物理模型可以看出,圖像去霧的本質(zhì)是根據(jù)獲取的有霧圖像及強(qiáng)有力的先驗(yàn)知識,準(zhǔn)確估計A和t(x),進(jìn)而獲得復(fù)原效果較好的J(x)。
暗通道先驗(yàn)原理認(rèn)為無霧圖像(不包含明亮區(qū)域)的大多數(shù)局部區(qū)域中,最少會有一個顏色通道的亮度趨向于零[9]。其數(shù)學(xué)表述為:
文獻(xiàn)[9]中,He等人假設(shè)單幅圖像的A值是確定常量,在Ω(x)鄰域內(nèi)的透射率t(x)也是常數(shù),記為(x)。在A已知的情況下,先后計算公式(1)等號兩邊中RGB三通道的最小值和局部最小值,變形后獲得透射率粗估計:
實(shí)際生活中,即便是陽光明媚的午后,大氣里仍然會不可避免地夾雜一些雜質(zhì)。同時,霧是人體獲取圖像景深的要素,所以在式(4)中添加約束參數(shù)θ,控制去霧程度,去霧同時留有少許覆蓋在遠(yuǎn)景的微量霧氣,讓處理復(fù)原圖像更加真實(shí),具體表述為:
其中,透射率約束參數(shù)θ取值范圍為(0,1)。將式(5)直接代入式(1)實(shí)現(xiàn)圖像去霧。在式(5)中,當(dāng)t(x)取值逼近0時,去霧圖像整體白場過度,幾乎為噪聲,因此設(shè)置透射率最小值t0,要求透射率值不小于t0,一般取0.1,透射率表達(dá)式修正為:
用式(6)計算得到的透射率估計,其中有較為明顯的塊效應(yīng),容易引起復(fù)原圖像邊緣模糊。因此,He等利用軟摳圖[16]、引導(dǎo)濾波[11]對式(5)中的透射率圖進(jìn)行細(xì)化,得到了更好的去霧圖像。
暗通道原理中最小值濾波窗口尺寸的選取對去霧效果有重要影響,文獻(xiàn)[9]首先對輸入圖像進(jìn)行尺寸歸一化處理,然后采用固定尺寸的濾波窗口獲得透射率估計。在實(shí)際圖像處理技術(shù)的應(yīng)用中,不同系統(tǒng)對輸入圖像的大小要求往往不同,且變換范圍較大。若濾波窗口尺寸設(shè)置太大,則鄰域內(nèi)有暗通道的幾率更大。然而在圖像的景深突變區(qū)估計的透射率有明顯的塊效應(yīng),易引起復(fù)原圖像中白邊缺陷。若濾波窗口尺寸設(shè)置太小,則在該鄰域內(nèi)出現(xiàn)暗通道的幾率很小,造成去霧圖像中出現(xiàn)明顯的色彩偏移。在天空、白云等圖像中明亮區(qū)域,像素點(diǎn)各顏色通道強(qiáng)度都很大,因此暗通道原理失效,導(dǎo)致所得透射率偏小,去霧圖像出現(xiàn)明顯失真現(xiàn)象。
在暗通道原理中引入軟摳圖機(jī)制,雖然實(shí)現(xiàn)了透射率的優(yōu)化處理,有效避免了復(fù)原圖像的白邊缺陷,但算法運(yùn)算量和復(fù)雜度迅速增大,算法效率無法保證。結(jié)合引導(dǎo)濾波來細(xì)化透射率圖,雖然對原始傳輸圖進(jìn)行保邊平滑,但固定的正則化參數(shù)會造成復(fù)原圖像產(chǎn)生光暈效應(yīng)。
本文提出了一種改進(jìn)的多尺度暗通道去霧算法,并結(jié)合引導(dǎo)濾波和自適應(yīng)容差策略,實(shí)現(xiàn)了更為高效的圖像去霧。首先,根據(jù)輸入圖像尺寸選取3種不同大小的濾波窗口,計算得到3種不同尺度的透射率粗估計,并進(jìn)行線性擬合得到多尺度透射率粗估計;然后,采用引導(dǎo)濾波處理多尺度透射率粗估計,計算輸出細(xì)化后的多尺度透射率估計;最后,引入自適應(yīng)容差策略來修正明亮區(qū)域的多尺度透射率估計。
在傳統(tǒng)的暗通道去霧算法中,最小值濾波窗口尺寸單一,而濾波窗口的大小與去霧圖像的質(zhì)量緊密相關(guān)。本設(shè)計根據(jù)輸入圖像尺寸計算得到3種不同的濾波窗口尺寸,并分別計算相應(yīng)的透射率估計。本文采用線性擬合方法,計算得到多尺度透射率估計。本文選取的3種窗口尺寸分別為:
式中,H和W分別為圖像的高度和寬度。在3種不同窗口尺寸下,由式(2)分別計算其對應(yīng)暗通道圖。然后,分別帶入式(5)計算3種不同窗口下的透射率t1(x)、t2(x)和t3(x)。根據(jù)式(8)展開線性擬合獲得多尺度透射率粗估計t(x),具體表述為:
其中,ω為調(diào)節(jié)因子,設(shè)計中選取ω1=ω2=ω3=13。透射率結(jié)果如圖1所示。
圖1 不同濾波窗口下的透射率估計Fig.1 Transmittance estimation under different filter windows
由圖1實(shí)驗(yàn)結(jié)果可知,圖1(b)中濾波窗口尺寸過大,透射率估計存在塊效應(yīng);圖1(a)中濾波窗口尺寸過小,造成透射率估計整體色調(diào)偏暗,多尺度融合可以有效避免以上問題,同時圖1(c)中為固定尺寸的濾波窗口,保證了透射率圖的整體有效性。
文獻(xiàn)[9]在暗通道圖內(nèi)獲取強(qiáng)度最大的0.1%像素,并在原圖像對應(yīng)像素點(diǎn)上挑選亮度最大的像素值就是大氣光值A(chǔ)。本文以此為基礎(chǔ),分別計算Jdark1(x)、Jdark2(x)、Jdark3(x)的大氣光值A(chǔ)1、A2和A3,并以其均值作為本文算法的大氣光值A(chǔ)。
多尺度透射率與單一窗口透射率相比,其穩(wěn)健性得到較大改善,然而多尺度透射率圖的邊緣細(xì)節(jié)有著明顯不足。引導(dǎo)濾波在平滑圖像的同時可以有效保持圖像邊緣細(xì)節(jié),且計算速度快,因此采用引導(dǎo)濾波對多尺度透射率進(jìn)一步細(xì)化。引導(dǎo)濾波的核心是局部線性關(guān)系假設(shè)模型:
式中,q與I的梯度呈線性關(guān)系,其中I是引導(dǎo)圖像,q是濾波輸出圖像,ωk是以像素k為中心r為半徑的方形窗口,ak和bk是方形窗口下的線性系數(shù),通常該系數(shù)由最小代價函數(shù)E(ak,bk)獲得:
式中,ε為正則化參數(shù),可以防止線性系數(shù)ak過大。利用線性回歸求解代價函數(shù),可以得到線性系數(shù):
其中,uk和σ2k分別為引導(dǎo)圖I在窗口ωk中的均值和方差,|ω|是窗口ωk的像素數(shù)目,pˉk是在方形窗口內(nèi)輸入圖像p的均值。因?yàn)槊總€像素點(diǎn)i都會出現(xiàn)在具有不同中心點(diǎn)的不同窗口內(nèi),而每個窗口對應(yīng)的ak和bk不同,因此將所有與像素點(diǎn)i相關(guān)的線性系數(shù)進(jìn)行算術(shù)平均,得到引導(dǎo)濾波的最終結(jié)果,具體表示為
算法中,將原圖的灰度化處理結(jié)果作為引導(dǎo)圖I,多尺度透射率圖的引導(dǎo)濾波處理結(jié)果如圖2所示。
圖2 引導(dǎo)濾波前后的透射率圖Fig.2 Transmittance maps before and after guided filtering
在圖像的明亮區(qū)域中暗通道原理不適用,因此本文采用自適應(yīng)容差策略對明亮區(qū)域的透射率做出補(bǔ)償,且容差參數(shù)隨著圖像中天空區(qū)域的大小自適應(yīng)地調(diào)整,而其他區(qū)域則保持原透射率不變[17]。因此,該算法既可以對復(fù)原圖像中明亮區(qū)域的透射率進(jìn)行補(bǔ)償,又保證了非明亮區(qū)域的透射率不被誤補(bǔ)償或過補(bǔ)償,較好地克服了去霧圖像中明亮區(qū)域失真問題,獲得處理效果更好的復(fù)原圖像。
首先,定義容差調(diào)節(jié)圖Mapc(x)如下:
式中,Ic(x)是實(shí)際有霧圖像的一個顏色通道;對應(yīng)圖像的明亮區(qū)域;α與像素被判定為明亮區(qū)域的概率有關(guān),稱為調(diào)節(jié)因子,當(dāng)α=1時像素被判為明亮區(qū)域的概率最?。沪?0時原圖本身被認(rèn)為是明亮區(qū)域,本文設(shè)置α=0.95。
定義容差參數(shù)K為:
式中,Scnum是Sclight中不為0的元素數(shù)目,即被判定為明亮區(qū)域的像素總數(shù),Ic(x)num是輸入圖像的像素總數(shù)。K選取過大易造成非天空區(qū)域被誤判為天空區(qū)域,使得透射率不準(zhǔn)確,因此為K設(shè)定上限值,避免非天空區(qū)域的透射率被誤補(bǔ)償。經(jīng)過多次實(shí)驗(yàn)本文設(shè)置容差參數(shù)的上限值為0.3。
透射率補(bǔ)償機(jī)制為:
式中,tnext(x)是輸出的修正透射率,將滿足|IA|<K的部分判定為圖像中明亮區(qū)域,并對此區(qū)域透射率進(jìn)行修正;反之透射率保持不變。
有霧情況下,光線被大氣中的顆粒物吸收和散射,使得有霧圖像中像素點(diǎn)亮度相較晴朗天氣中更大,造成復(fù)原圖像的整體亮度偏暗,所以,需要對上述結(jié)果做出色彩補(bǔ)償。本設(shè)計在Hue、Saturation、Value(HSV)模型中,通過調(diào)整S和V分量,實(shí)現(xiàn)去霧圖像的顏色補(bǔ)償。
為說明算法的有效性,將本文算法與經(jīng)典算法應(yīng)用于多種圖像的仿真實(shí)驗(yàn),從主觀和客觀兩個維度展開論述。本文仿真實(shí)驗(yàn)的軟件環(huán)境為64位Matlab R2018b,運(yùn) 行CPU是Inter(R)Core(TM)i5-7300HQ@2.50 GHz,內(nèi)存為8G,顯卡為4G。
透射率約束參數(shù)θ用來控制圖像去霧程度,θ數(shù)值越小表示保留的霧氣越多。為了使復(fù)原圖像更加真實(shí),一般只需留有少量遠(yuǎn)景霧分量,通常設(shè)置θ=0.95[9]。ω為多尺度融合調(diào)節(jié)因子,取值大小反映了不同尺度窗口對透射率圖的影響程度,值越大說明該尺寸下的透射率圖對多尺度透射率的貢獻(xiàn)越大,本文選取ω1=ω2=ω3=13。引導(dǎo)濾波窗口半徑r與有霧圖像尺寸有關(guān),本文選取r=4(r1+r2+r3)/3。正則化參數(shù)ε是一個微小的值[12],一般在(0,0.01]范圍內(nèi)濾波效果較好,本文設(shè)置ε=10-6。
在保持其他網(wǎng)絡(luò)參數(shù)不變的情況下,分別采用多尺度透射率與8×8單一尺寸透射率實(shí)施圖像去霧實(shí)驗(yàn),透射率估計如圖3(a)所示,復(fù)原圖像如圖4(b)所示。對引入自適應(yīng)容差機(jī)制實(shí)施透射率補(bǔ)償和無透射率補(bǔ)償進(jìn)行圖像去霧實(shí)驗(yàn),無補(bǔ)償透射率估計和復(fù)原圖像如圖3(b)、圖4(c)所示,本文算法的透射率估計和去霧結(jié)果如圖3(c)和圖4(d)所示。
圖3 不同算法的透射率估計Fig.3 Transmittance estimation for different algorithms
圖4 不同算法的去霧圖像Fig.4 Defogged images with different algorithms
以上結(jié)果表明,在引入多尺度透射率后,透射率估計更加細(xì)致,復(fù)原圖像中色彩更加真實(shí),細(xì)節(jié)更加清晰。在引入自適應(yīng)容差透射率修復(fù)機(jī)制后,降低了天空等明亮區(qū)域的透射率偏差問題,避免了復(fù)原圖像中天空區(qū)域失真問題,復(fù)原圖像的視覺效果更好。
將本文所提去霧算法與多尺度暗通道去霧算法(算法1)、文獻(xiàn)[9]和文獻(xiàn)[11]算法分別應(yīng)用于相同帶霧圖像進(jìn)行仿真實(shí)驗(yàn)。其中,算法1對比本文算法未引入自適應(yīng)容差機(jī)制,其他網(wǎng)絡(luò)參數(shù)設(shè)置相同。分別對沒有天空區(qū)域的圖像圖5(a1)、有少量天空區(qū)域的圖像圖5(a2)、有較多天空區(qū)域的圖像5(a3)和有大量天空區(qū)域的圖像5(a4)進(jìn)行仿真驗(yàn)證,實(shí)驗(yàn)結(jié)果如圖5所示。對包含大量天空區(qū)域的廣州塔圖像圖6(a1)和CCTV大樓圖像圖6(a2)進(jìn)行去霧實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖6所示。
圖5 不同場景下去霧效果Fig.5 Defogged images in different scenes
圖6 大量天空區(qū)域場景下不同算法的去霧效果Fig.6 Defogged images of different algorithms in scenes with a large number of sky
實(shí)驗(yàn)結(jié)果表明,以上算法在一定程度上都實(shí)現(xiàn)了圖像去霧復(fù)原,但去霧效果不同。文獻(xiàn)[9]算法處理結(jié)果中白邊缺陷明顯;文獻(xiàn)[11]算法處理結(jié)果中天空處通常會有失真問題;算法1和本文算法沒有出現(xiàn)失真,但相較于其他算法,本文算法在景深突變部分過渡更加自然,色彩更加真實(shí),復(fù)原質(zhì)量更高。
本文采用信息熵、峰值信噪比(Peak Signal to Noise Ratio,PSNR)、平均梯度、結(jié)構(gòu)相似性指數(shù)(Structural Similarity Index,SSIM)和處理時間多種指標(biāo)論證算法有效性。其中,信息熵說明了圖像具有的信息量,越大表示處理結(jié)果中有用信息越多,復(fù)原質(zhì)量越優(yōu)秀[18];平均梯度說明了圖像的細(xì)節(jié)質(zhì)量,越大對應(yīng)圖像的細(xì)節(jié)輪廓越清楚,算法的細(xì)節(jié)保持特性越優(yōu)秀[19];PSNR為信號最大值的平方與處理前后圖像的均方誤差之比,再取對數(shù),越大表明處理結(jié)果的失真越??;SSIM從亮度、對比度和結(jié)構(gòu)三維度刻畫平均圖像相似性,取值在[0,1]之間,值越大表示處理后失真度越小。
表1、表2和表3數(shù)據(jù)表明,在不含、含少量和含較多天空區(qū)域的情況下,本文算法復(fù)原的圖像PSNR有較大提高,說明該算法能有效抑制圖像失真;本文算法的信息熵最高,說明處理后圖像含有更多有用信息;同時,本文算法的平均梯度相對比較高,表明圖像中細(xì)節(jié)相對清晰,因此處理結(jié)果更加逼近相同場景下的無霧圖像,整體質(zhì)量更佳。
表1 圖5(1)各算法的客觀評價Tab.1 Objective evaluation for Fig.5(1)
表2 圖5(2)各算法的客觀評價Tab.2 Objective evaluation for Fig.5(2)
表3 圖5(3)各算法的客觀評價Tab.3 Objective evaluation for Fig.5(3)
表4、表5和表6中數(shù)據(jù)表明,在含大量天空區(qū)域情況下,本文算法與文獻(xiàn)[9]算法復(fù)原圖像的信息熵和平均梯度相當(dāng),表明處理結(jié)果中有更多有用信息,細(xì)節(jié)更清晰;同時,本文算法的處理結(jié)果中PSNR和SSIM指標(biāo)分別提高了3 dB和0.1左右,表明該算法處理結(jié)果中結(jié)構(gòu)信息保留更加完好,更接近于同場景下的無霧圖像。
表4 圖5(4)各算法的客觀評價Tab.4 Objective evaluation for Fig.5(4)
表5 圖6(1)去霧算法的客觀評價Tab.5 Objective evaluation for Fig.6(1)
表6 圖6(2)去霧算法的客觀評價Tab.6 Objective evaluation for Fig.6(2)
本文針對天空等明亮區(qū)域中暗通道無效及傳統(tǒng)暗通道算法易出現(xiàn)白邊缺陷的問題,提出一種基于圖像尺寸的多尺度暗通道算法,并結(jié)合自適應(yīng)容差策略實(shí)現(xiàn)圖像去霧。該算法采用由圖像尺寸確定的不同尺寸濾波窗口計算透射率估計,并進(jìn)行線性擬合,獲得魯棒性和適應(yīng)性更好的多尺度透射率圖,并采用引導(dǎo)濾波進(jìn)一步精細(xì)化處理,獲得更為精準(zhǔn)的透射率圖,克服了處理結(jié)果中的白邊問題。采用自適應(yīng)容差策略,對明亮區(qū)域的透射率做出補(bǔ)償,避免了明亮區(qū)域處理后的失真現(xiàn)象。實(shí)驗(yàn)結(jié)果表明,采用不同算法對不含和少量天空區(qū)域的圖像去霧,信息熵提高約0.2 bit/symbol,平均梯度提高約0.5,PSNR提高約8 dB;對較多和大量天空區(qū)域圖像去霧,PSNR提高約3 dB,SSIM提高約0.1。本文結(jié)果實(shí)現(xiàn)了去霧圖像細(xì)節(jié)清晰,明亮區(qū)域去霧效果良好,整體視覺效果更好等要求。