戢凱,王曉峰
(上海海事大學(xué)信息工程學(xué)院,上海 201306)
最近幾年,自然環(huán)境愈發(fā)惡劣,霧霾天氣頻發(fā),這在影響人們正常生產(chǎn)生活的同時(shí),也對(duì)自然景觀取景后圖像的可視性和可理解性造成嚴(yán)重的削弱作用,自然環(huán)境有霧狀態(tài)下的取景作為情況之一更是不可避免。因此,去霧算法研究成為近幾年圖像處理領(lǐng)域的熱點(diǎn)問(wèn)題,且具有重要意義。
隨著國(guó)內(nèi)外學(xué)者的持續(xù)研究,提出了多種霧天圖像去霧方法。方法主要分為兩類(lèi):基于圖像增強(qiáng)的方法和基于圖像復(fù)原的方法[1]。第一類(lèi)方法中比較典型的有直方圖均衡算法[2]、Retinex方法[3]和Fattal方法等。這類(lèi)方法從人類(lèi)的視覺(jué)感知入手,增強(qiáng)有霧圖像的對(duì)比度或矯正圖像中的顏色從而增強(qiáng)圖像的可視性。該類(lèi)方法未從根本上去霧,因此去霧效果不明顯。第二類(lèi)方法通過(guò)建立大氣散射物理模型,對(duì)有霧圖像從物理成因的角度進(jìn)行建模,通過(guò)求模型的逆過(guò)程來(lái)還原無(wú)霧圖像。求大氣散射模型的逆過(guò)程屬于病態(tài)問(wèn)題的求解,因此基于概率統(tǒng)計(jì)獲取無(wú)霧圖像先驗(yàn)信息的方法成為該類(lèi)方法處理圖像去霧問(wèn)題的主要手段,并且用這種方法取得了較好的圖像復(fù)原效果。例如,文獻(xiàn)[5]提出暗通道先驗(yàn)知識(shí)去霧,該方法直接從單幅有霧圖像中獲取介質(zhì)傳輸圖,通過(guò)求解有霧圖像成像的逆過(guò)程去霧,達(dá)到了對(duì)一般場(chǎng)景的較好的去霧效果,但該方法存在著對(duì)天空區(qū)域的不適用性和圖像邊緣的光暈效應(yīng)缺陷。文獻(xiàn)[6]考慮到同幅有霧圖像的景深信息和顏色信息,解決了暗通道去霧中的光暈效應(yīng);文獻(xiàn)[7]用引導(dǎo)濾波的方法替代文獻(xiàn)[5]中的軟摳圖算法細(xì)化介質(zhì)傳輸圖,但細(xì)化后的透射率不夠準(zhǔn)確,仍會(huì)出現(xiàn)光暈效應(yīng);文獻(xiàn)[8]受暗通道先驗(yàn)去霧的啟發(fā),運(yùn)用流水線作業(yè)方式計(jì)算介質(zhì)傳輸圖,根據(jù)圖像邊緣信息對(duì)介質(zhì)傳輸圖作選擇,提高了圖像去霧的效率,但仍會(huì)出現(xiàn)光暈效應(yīng)和天空區(qū)域圖像失真現(xiàn)象。
針對(duì)上述文獻(xiàn)中圖像去霧算法存在的天空區(qū)域圖像失真問(wèn)題,本文提出融合暗通道先驗(yàn)和顏色衰減先驗(yàn)的去霧算法。先利用局部標(biāo)準(zhǔn)差函數(shù)和自適應(yīng)閾值大津算法分割出原圖像的天空區(qū)域和非天空區(qū)域,然后針對(duì)不同區(qū)域選擇相應(yīng)方式獲取介質(zhì)傳輸圖,對(duì)分割邊緣的介質(zhì)傳輸圖用均值濾波方法作平滑,最后對(duì)去霧后的圖像作亮度增強(qiáng)處理。并且提出用天空區(qū)域的方差值和來(lái)衡量本文算法在解決天空區(qū)域失真問(wèn)題的效果,理論分析和實(shí)驗(yàn)結(jié)果表明,本算法在一定程度上解決了暗通道先驗(yàn)去霧算法在天空區(qū)域的色彩失真問(wèn)題,具有更好的去霧效果和更大的適用性。
計(jì)算機(jī)視覺(jué)研究領(lǐng)域中,廣泛被用于霧霾圖像的物理模型[8]是:
式中,I(x,y)表示有霧圖像,J(x,y)表示待恢復(fù)圖像,A表示取景環(huán)境中的大氣光值,t(x,y)為相應(yīng)(x,y)處的介質(zhì)傳輸圖,又稱(chēng)透射率,且該值與圖像像素點(diǎn)對(duì)應(yīng)的景深存在關(guān)系[9]:
式(2)顯示有霧圖像的介質(zhì)傳輸圖與景深呈指數(shù)相關(guān)關(guān)系,如果景深值d(x,y)已知,即可求得介質(zhì)傳輸圖td(x,y)。從單幅有霧圖像中恢復(fù)出無(wú)霧圖像的過(guò)程即是運(yùn)用此式從I(x,y)中算得J(x,y)的值。由于A,t未知,因此由物理模型得到無(wú)霧圖像的恢復(fù)過(guò)程屬于病態(tài)問(wèn)題的求解。
文獻(xiàn)[5]通過(guò)統(tǒng)計(jì)大量無(wú)霧圖像,發(fā)現(xiàn)自然景觀圖像中非天空或非大片白色區(qū)域的像素點(diǎn)中,總有一些像素點(diǎn)在某個(gè)通道的值很小且接近于0,即對(duì)于無(wú)霧圖像J,其暗通道定義為:
根據(jù)(3)式,對(duì)(1)式作變形和取最小值處理:
文獻(xiàn)[9]通過(guò)統(tǒng)計(jì)大量有霧圖像,發(fā)現(xiàn)其像素的亮度和飽和度變化與圖像場(chǎng)景中霧氣的濃度有關(guān)系,由于大氣環(huán)境中霧的疊加效應(yīng),霧濃度間接反映了圖像場(chǎng)景中的景深信息,景深越大的地方,疊加的霧層越多,霧濃度越大,因此,有霧圖像像素亮度和飽和度與霧濃度的關(guān)系可轉(zhuǎn)化為亮度和飽和度與景深的關(guān)系。圖1(c),(d)分別顯示了霧天圖像像素點(diǎn)的亮度值和飽和度值隨圖像場(chǎng)景景深的變化關(guān)系。
文獻(xiàn)[9]提出,有霧圖像的亮度與飽和度的差值與景深呈線性關(guān)系,其表達(dá)式為:
其中,i(x,y)為像素點(diǎn)(x,y)處的亮度值,s(x,y)為像素點(diǎn)(x,y)處的飽和度值,θx為系數(shù),取值分別為θ0=0.121779,θ1=0.959710,θ2=-0.780245,由此式可知,獲得有霧圖像的亮度值和飽和度值之后,即可求得景深值。
圖1 輸入圖像,圖像亮度、飽和度隨景深的變化關(guān)系
文獻(xiàn)[5]中暗通道先驗(yàn)去霧方法在天空和大片白色區(qū)域出現(xiàn)顏色失真問(wèn)題,這說(shuō)明在該區(qū)域暗通道先驗(yàn)知識(shí)去霧方法不適用,受顏色衰減先驗(yàn)的啟發(fā),在包含大片白色的天空區(qū)域,用顏色衰減先驗(yàn)矯正暗通道先驗(yàn)獲取到的介質(zhì)傳輸圖。由文獻(xiàn)[9]可知,有霧圖像的亮度與飽和度的差值與景深呈線性關(guān)系,具體表現(xiàn)如圖1(b)所示,分析該變化曲線可知:景深值較大時(shí),線性關(guān)系明顯。統(tǒng)計(jì)大量包含天空區(qū)域的有霧圖像,發(fā)現(xiàn)在同幅有霧圖像中,天空所在的大片白色區(qū)域往往在景深較大的地方。因此,在天空或大片白色區(qū)域,由較為明顯的線性關(guān)系獲得更為準(zhǔn)確的景深值d(x,y),通過(guò)式(2)景深與介質(zhì)傳輸圖的關(guān)系,即可求得更準(zhǔn)確的介質(zhì)傳輸圖。因此用顏色衰減先驗(yàn)矯正暗通道先驗(yàn)在天空區(qū)域的介質(zhì)傳輸圖,增強(qiáng)了暗通道先驗(yàn)估計(jì)出的介質(zhì)傳輸圖的準(zhǔn)確性,從而解決暗通道先驗(yàn)去霧在天空區(qū)域的色彩失真問(wèn)題。
為防止兩種不同方式獲取的介質(zhì)傳輸圖的差異造成的去霧后圖像失真,在兩種方法獲得的介質(zhì)傳輸圖的鄰接像素點(diǎn)處,用均值濾波的方法作平滑。然后根據(jù)大氣物理模型求得去霧圖像,最后,結(jié)合人眼視覺(jué)對(duì)圖像亮度更敏感原理,增強(qiáng)去霧后圖像的亮度值,得到最終的去霧后圖像,改進(jìn)的算法流程圖如圖2所示。
圖2 改進(jìn)算法流程圖
在有霧圖像的天空區(qū)域用顏色衰減先驗(yàn)矯正暗通道先驗(yàn)獲取到的介質(zhì)傳輸圖,需要在有霧圖像中分割出天空區(qū)域。在大量包含天空區(qū)域的有霧圖像中,其天空區(qū)域呈灰白色,色彩變化幅度小、平滑,各像素點(diǎn)顏色值之間的差值??;而非天空區(qū)域,受自然景觀或人文景觀的影響,色彩變化幅度大,各像素點(diǎn)顏色值之間的差值大。因此,基于此差異,結(jié)合天空區(qū)域一般在圖像頂部的先驗(yàn)規(guī)律,本文算法對(duì)有霧圖像各個(gè)通道各列的像素點(diǎn)值用局部標(biāo)準(zhǔn)差值函數(shù)自上到下算得該通道各列各像素點(diǎn)的標(biāo)準(zhǔn)差值,為了使分割更為精確,計(jì)算標(biāo)準(zhǔn)差值時(shí)選擇最小的1×2的滑動(dòng)窗口,對(duì)三通道各列像素點(diǎn)的標(biāo)準(zhǔn)差值做累加處理,而后用自適應(yīng)閾值大津算法求得有霧圖像各列像素點(diǎn)的分割閾值,分別用各列的閾值對(duì)相應(yīng)列做天空區(qū)域和非天空區(qū)域的分割,以此得到分割出天空區(qū)域和非天空區(qū)域的整體圖像。對(duì)室外有霧圖像作天空區(qū)域的分割實(shí)驗(yàn),其效果如圖3所示。
圖3 天空分割效果圖
圖3(a)為原包含天空區(qū)域的有霧圖像,圖3(b)為在像素點(diǎn)列上使用局部標(biāo)準(zhǔn)差值函數(shù)和自適應(yīng)閾值大津算法后的分割效果圖像,圖3(c)為按閾值在像素點(diǎn)各列上自上到下分割天空區(qū)域的最終效果圖,其中圖像上方白色區(qū)域即為天空區(qū)域,顯示本文算法中的天空區(qū)域分割方法能夠有效地對(duì)有霧圖像的天空區(qū)域做分割,且新提出的對(duì)像素點(diǎn)各列使用最大津閾值分割算法而后拼接的分割方式,提高了分割的效率,且分割效果良好。
在有霧圖像景深較低的非天空區(qū)域,暗通道先驗(yàn)去霧算法表現(xiàn)良好,在有霧圖像的天空區(qū)域,基于暗通道先驗(yàn)獲取到的介質(zhì)傳輸圖不夠準(zhǔn)確,引發(fā)了天空色彩失真現(xiàn)象。為糾正這一不良現(xiàn)象,用顏色衰減先驗(yàn)獲取到的介質(zhì)傳輸圖td(x,y)矯正天空區(qū)域的介質(zhì)傳輸圖 ts(x,y),其公式:
其中,td(x,y)由(2)式介質(zhì)傳輸圖與景深的指數(shù)相關(guān)關(guān)系求得,(2)式中的d(x,y)由(6)式顏色衰減先驗(yàn)?zāi)P偷玫?,ts(x,y)由(5)式暗通道先驗(yàn)?zāi)P退愕谩?/p>
式(1)中A指的是取景環(huán)境中的大氣光值,由(1)式求取無(wú)霧圖像,需要準(zhǔn)確估算出值A(chǔ)。文獻(xiàn)[10]選取有霧圖像亮度值在整個(gè)圖像前0.1%的對(duì)應(yīng)的得像素點(diǎn)作為大氣光值。顯然該方法容易受到圖像中亮光源或者相關(guān)取景對(duì)象的影響,造成大氣光的估計(jì)值偏大,從而使最終去霧效果的變差。文獻(xiàn)[12]采用四叉樹(shù)方法估計(jì)大氣光值A(chǔ),這在一定程度上避免了大氣光值受局部亮光源的影響。結(jié)合本文算法中的天空區(qū)域分割,受四叉樹(shù)估計(jì)大氣光值的啟發(fā),在天空分割的基礎(chǔ)上,尋找亮度值排在天空部分前0.1%對(duì)應(yīng)像素點(diǎn)作為大氣光值的估計(jì)。本文對(duì)大氣光值估計(jì)的效果與文獻(xiàn)[11]中估計(jì)大氣光值的方法作對(duì)比,實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 大氣光值的估計(jì)
圖 4中(a)為原圖,(b)中紅色區(qū)域?yàn)槲墨I(xiàn)[11]方法獲取的大氣光值所在的區(qū)域,顯然該方法受到了圖像中亮度值較大的取景對(duì)象的影響,(c)中紅色區(qū)域?yàn)楸疚姆椒ǐ@取大氣光值的區(qū)域,實(shí)驗(yàn)結(jié)果顯示本文對(duì)大氣光值的估計(jì)比文獻(xiàn)[11]中的方法更準(zhǔn)確,避免了在有霧圖像中亮光源的干擾,可獲得更準(zhǔn)確的大氣光值估計(jì)。
運(yùn)用概率統(tǒng)計(jì)的方法獲得有霧圖像對(duì)應(yīng)的先驗(yàn)信息t(x,y)和A后,即可運(yùn)用(1)式恢復(fù)無(wú)霧圖像J(x,y)。最后,運(yùn)用人體視覺(jué)對(duì)亮度信息有更強(qiáng)的敏感度,增強(qiáng)去霧后圖像的亮度值,獲得最終的無(wú)霧圖像。
用大量包含天空區(qū)域的有霧圖像對(duì)本文算法的效果進(jìn)行測(cè)試,圖像來(lái)源于文獻(xiàn)[5]、[8]、[10]等使用過(guò)的圖像。實(shí)驗(yàn)所用電腦的配置為:Intel Core i3-3110(CPU@2.4GHz),4.00GB RAM,軟 件 環(huán) 境 為MATLAB R2012A。對(duì)本文算法的去霧效果分別從主觀定性對(duì)比分析、客觀天空區(qū)域方差值和運(yùn)行時(shí)間三個(gè)角度進(jìn)行評(píng)價(jià)。
本文算法測(cè)試了大量圖像。鑒于篇幅限制,這里僅展示對(duì)文獻(xiàn)[5]、[8]、[10]中的有霧圖像的去霧效果,且與原文獻(xiàn)中方法的去霧效果作對(duì)比,實(shí)驗(yàn)結(jié)果如圖5所示。
從實(shí)驗(yàn)結(jié)果可以看到,文獻(xiàn)[5]的基于暗通道先驗(yàn)的方法去霧效果明顯,尤其是在景深較低的非天空區(qū)域,達(dá)到了較好的細(xì)節(jié)保持效果;在大片白色或天空區(qū)域,文獻(xiàn)[5]中的去霧算法出現(xiàn)了顏色失真和邊緣光暈的現(xiàn)象。文獻(xiàn)[8]中復(fù)用暗通道先驗(yàn)知識(shí)結(jié)合邊緣信息去霧,一定程度上解決了光暈現(xiàn)象,但是無(wú)法解決天空色彩失真的弊端,且文獻(xiàn)[8]選擇不同精度的介質(zhì)傳參數(shù)圖,這使基于暗通道先驗(yàn)去霧在天空部分的顏色失真現(xiàn)象更加明顯,如圖5(c)各圖像的天空區(qū)域所示。由圖5(d)的各圖像可知,本文融合顏色衰減先驗(yàn)和暗通道先驗(yàn)知識(shí)去霧算法整體的去霧效果較好,去霧后的圖像色彩自然;在景深較低的非天空區(qū)域,保留了暗通道先驗(yàn)去霧的細(xì)節(jié)保持優(yōu)良的特點(diǎn);在大片白色的天空區(qū)域,本文引入的基于顏色衰減先驗(yàn)去霧方法,有效地解決了暗通道先驗(yàn)算法造成的色彩失真問(wèn)題。如圖4 所示,與圖 5(b)、5(c)的圖像對(duì)比,本文方法去霧后的圖像圖5(d)天空區(qū)域色彩更加自然。
本文算法針對(duì)暗通道先驗(yàn)去霧方法在天空區(qū)域造成的色彩失真問(wèn)題提出解決方案。通過(guò)觀察大量使用暗通道方法去霧后的圖像得知,去霧后天空部分色彩失真主要表現(xiàn)為出現(xiàn)明顯的色彩不平滑現(xiàn)象,如圖5所示,(2)、(3)、(4)、(5)四幅圖像中的(b)(c)列暗通道去霧效果,這違反了天空區(qū)域顏色變化幅度小、色彩平滑的先驗(yàn)規(guī)律,而本文的算法對(duì)有霧圖像去霧后,天空區(qū)域依然較為平滑。因此,結(jié)合本算法中的天空區(qū)域分割,提出分別對(duì)使用兩種方法去霧后圖像的天空部計(jì)算方差值和方法,計(jì)算時(shí)使用3×3的滑動(dòng)窗口,來(lái)量化本文解決天空部分色彩失真的效果。實(shí)驗(yàn)結(jié)果如表1所示。
表1 各方法在天空區(qū)域圖像的方差值對(duì)比(值保留整數(shù)部分)
由表1可知,原圖像天空區(qū)域色彩方差值較?。晃墨I(xiàn)[5]的去霧方法造成了天空區(qū)域色彩方差值大幅度的提升,這驗(yàn)證了暗通道先驗(yàn)去霧方法造成的天空的色彩失真問(wèn)題;文獻(xiàn)[8]在天空區(qū)域的色彩方差值與文獻(xiàn)[5]在同一個(gè)數(shù)量級(jí)上,證明該方法也無(wú)法解決天空色彩失真問(wèn)題;本文方法處理后的去霧圖像在天空區(qū)域的方差值較原圖像大,但是與文獻(xiàn)[5]和文獻(xiàn)[8]的去霧效果對(duì)比,本文方法在天空區(qū)域的方差值有大幅度的下降,這驗(yàn)證了本文算法有效解決了暗通道去霧算法在天空區(qū)域出現(xiàn)的色彩失真問(wèn)題。
在大量圖像去霧算法的實(shí)際運(yùn)用中,不僅需要去霧效果優(yōu)良,還要不破壞算法的實(shí)時(shí)性。因此,為驗(yàn)證本文算法的有效性,從運(yùn)行時(shí)間的角度對(duì)本文算法作定量分析。實(shí)驗(yàn)結(jié)果如表2所示。
由表2可知:文獻(xiàn)[5]中的算法耗時(shí)最長(zhǎng),文獻(xiàn)[8]的耗時(shí)最短,文獻(xiàn)[8]采用流水線的方式計(jì)算介質(zhì)傳輸圖,這大大節(jié)省了去霧算法的運(yùn)行時(shí)間。本文算法耗時(shí)與文獻(xiàn)[8]中的去霧方法耗時(shí)稍長(zhǎng),本文算法引入天空區(qū)域分割,引入的針對(duì)像素點(diǎn)列的最大津閾值分割算法作區(qū)域分割提高了使用該算法求全局閾值的運(yùn)算速度,算法運(yùn)行時(shí)間雖有延長(zhǎng),但并未破壞實(shí)時(shí)性要求,且在一定程度上解決了暗通道先驗(yàn)去霧方法中的天空區(qū)域色彩失真問(wèn)題,因此本算法在實(shí)際生產(chǎn)生活中具有更大的使用價(jià)值。
表2 各方法的運(yùn)行效率對(duì)比(單位:s)
本文提出了一種融合暗通道先驗(yàn)和顏色衰減先驗(yàn)的去霧算法。該算法在列上用最大津閾值分割算法對(duì)有霧圖像的天空區(qū)域作分割;對(duì)分割后的天空區(qū)域的去霧,用顏色衰減先驗(yàn)矯正暗通道先驗(yàn)獲得介質(zhì)傳輸圖;對(duì)暗通道先驗(yàn)去霧算法中大氣光值的估計(jì)容易受到人工光源或取景對(duì)象影響的弊端,本文結(jié)合天空區(qū)域分割,在天空區(qū)域求得大氣光值;最后通過(guò)求大氣物理模型的逆過(guò)程來(lái)還原無(wú)霧圖像。
實(shí)驗(yàn)結(jié)果表明,本文算法在不大量增加運(yùn)行時(shí)間、保持去霧算法實(shí)時(shí)性的同時(shí),保留了暗通道去霧算法對(duì)較低景深圖像的細(xì)節(jié)保持功能,解決了暗通道先驗(yàn)去霧算法中天空色彩失真問(wèn)題,提高了算法的去霧效果和適用性。但本文提出的基于局部標(biāo)準(zhǔn)差值函數(shù)的天空分割方法存在分割不精確確問(wèn)題,這使得天空區(qū)域的邊緣仍然會(huì)有少量顏色失真,如何更快速準(zhǔn)確的分割出天空區(qū)域,徹底避免失真現(xiàn)象,是下一步需要研究的方向。