馮昕晨 穆平安
摘 要:霧天環(huán)境一般會(huì)導(dǎo)致相機(jī)拍攝的圖像對(duì)比度下降、色彩失真。傳統(tǒng)暗通道先驗(yàn)去霧算法雖然可以估算霧天透射率并獲得較好的去霧效果,但仍然存在算法復(fù)雜度高、容易出現(xiàn)塊效應(yīng),以及明亮區(qū)域色彩偏離問(wèn)題。針對(duì)上述問(wèn)題提出一種改進(jìn)的去霧算法,該算法通過(guò)引入容差機(jī)制校正明亮區(qū)域的透射率,然后利用引導(dǎo)濾波進(jìn)一步細(xì)化透射率。實(shí)驗(yàn)結(jié)果表明,使用改進(jìn)后的算法可有效改善色彩偏離問(wèn)題,提高運(yùn)算速度。
關(guān)鍵詞:圖像去霧;暗原色先驗(yàn);引導(dǎo)濾波;容差機(jī)制
DOI:10. 11907/rjdk. 181898
中圖分類號(hào):TP317.4文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-7800(2019)002-0145-03
Abstract:In a foggy environment, images captured by the camera may cause a drop in contrast and color distortion. Although the traditional dark channel prior defogging algorithm can estimate the fog day transmittance and obtain better defogging effect, there is still a problem that the algorithm is high in complexity, prone to blockiness, and of bright area color deviation. In view of the above problems, this paper proposes an improved defogging algorithm, which corrects the transmittance of the bright area by introducing a tolerance mechanism, and then uses guide filtering to refine the transmittance. Experimental results show that the improved algorithm can effectively improve the color distortion and improve the speed of operation.
Key Words:image dehazing; dark channel prior; guided filter; tolerance mechanism
0 引言
在霧天條件時(shí),滲透在空氣中的霧與塵埃會(huì)模糊人們的視線,戶外景物的可見度大幅降低。此時(shí)在戶外獲得的圖像會(huì)嚴(yán)重退化,并且圖像對(duì)象的對(duì)比度與顏色等特征也將出現(xiàn)衰減,從而大大降低了圖像應(yīng)用價(jià)值[1]。因此,在圖像處理中應(yīng)用去霧技術(shù)有著重要意義。
目前,圖像去霧方法主要分為兩類:基于非物理模型的方法與基于物理模型的方法。前者主要通過(guò)圖像增強(qiáng)方法達(dá)到去霧目的,如:直方圖均衡化、Retinex 算法、同態(tài)濾波、小波變換等。該類方法在一定程度上可達(dá)到去霧效果,但可能會(huì)造成一定的信息損失;后者則是建立霧天成像的物理模型,并且利用一定先驗(yàn)知識(shí)對(duì)圖像進(jìn)行去霧。通過(guò)該方法恢復(fù)出的無(wú)霧圖像具有自然的視覺效果,且一般不會(huì)丟失信息。
Tan等[2]根據(jù)無(wú)霧圖像對(duì)比度高于有霧圖像的特點(diǎn),最大化地將圖像局部對(duì)比度復(fù)原,但復(fù)原圖像顏色通常過(guò)于飽和;Fattal[3]假設(shè)大氣的局部小范圍區(qū)域內(nèi)反射率恒定且為常數(shù),計(jì)算介質(zhì)透射率,最終復(fù)原出無(wú)霧圖像,但其前提假設(shè)限制了該方法應(yīng)用范圍;He等[4]通過(guò)大量實(shí)驗(yàn)研究提出暗原色先驗(yàn)規(guī)律,利用軟摳圖算法細(xì)化介質(zhì)透射率,最終獲得很好的去霧效果。但是軟摳圖方法會(huì)引入大量計(jì)算與存儲(chǔ)開銷,進(jìn)而影響算法處理速率,并且由于暗原色先驗(yàn)本身的局限性,使恢復(fù)圖像在明亮區(qū)域存在色彩失真現(xiàn)象。為此,本文提出使用引導(dǎo)濾波代替軟摳圖算法提高處理速度。同時(shí),針對(duì)明亮區(qū)域色彩失真問(wèn)題提出一種改進(jìn)方法,利用容差機(jī)制修正透射率,使復(fù)原圖像清晰、自然。
1 暗原色先驗(yàn)理論
1.1 大氣散射模型
在現(xiàn)有圖像去霧技術(shù)中,被廣泛應(yīng)用的自然模型為大氣散射模型,其描述了在霧霾與光照共同作用下的成像機(jī)制。如果太陽(yáng)光在物體表面形成反射光,反射光在通過(guò)霧霾過(guò)程中會(huì)發(fā)生散射,只有一部分能量能夠到達(dá)鏡頭。同時(shí),太陽(yáng)光也散射在懸浮粒子表面,形成攝像機(jī)接收的大氣光。因此,攝像頭中的成像可由兩部分組成,即透射的物體亮度與散射的大氣光照。
其中,[I(x)]為相機(jī)得到的圖片,即待去霧圖像;[J(x)]為物體反射光強(qiáng)度,即清晰無(wú)霧的圖像;[t(x)]是媒介透射率,即能順利透過(guò)霧霾到達(dá)攝像頭的比率;[A]是全局大氣光。由式(1)可知,目標(biāo)為從已有圖像中計(jì)算得到原始無(wú)霧圖像、透射率以及大氣光成分。
1.2 暗通道理論
在大多數(shù)非天空的局部區(qū)域,一些像素通常至少有一個(gè)顏色通道,并且數(shù)值非常低。也即是說(shuō),該區(qū)域光強(qiáng)度最小值是個(gè)非常小的數(shù)字。因此,對(duì)于任意輸入圖像[J(x)],暗通道可以表示為:
其中[Ω(x)]表示以[x]為中心的圖像窗口,[Jc(y)]表示RGB圖像某一點(diǎn)[y]的某一通道。[Jdark(x)]是無(wú)霧圖像[J]的暗通道。根據(jù)暗通道先驗(yàn)理論可得,對(duì)于[J]的非天空區(qū)域,[Jdark(x)]的值趨近于0。
1.3 粗透射率求解
從式(2)可以看出,無(wú)霧圖像的暗通道像素亮度很低,甚至接近于0。因此,這些暗像素可用于評(píng)估圖像部分受霧影響的程度,并估算透射率[t(x)]。根據(jù)基本代數(shù)知識(shí)可知,式(1)需要在先驗(yàn)信息基礎(chǔ)上才可求出定解,因此假定在每個(gè)窗口中的透射率[t(x)]為常數(shù),定義為[t(x)],并且假設(shè)A值已定。將式(1)變形為:
對(duì)等式(3)的兩邊執(zhí)行兩次最小值運(yùn)算,可得:
結(jié)合之前的暗原色理論,且[Ac]通常情況下為正數(shù),可得出:
將式(5)帶入式(4)中可得粗透射率:
然而,即使是晴天白云,空氣中也有一些顆粒,看遠(yuǎn)處物體仍然可以感受到霧的影響。另外,霧的存在可以讓人感受到景深效果。因此,在去霧過(guò)程中,有必要保留一定程度的霧,即引入一個(gè)在[0,1]之間的因子[ω]:
1.4 全局大氣光[A]估計(jì)
按照亮度大小,從霧化暗通道圖中提取前0.1%的像素,然后在這些位置中,從原始有霧圖像[I(x)]中找到對(duì)應(yīng)具有最大亮度的點(diǎn),將該值作為[A]值。
2 改進(jìn)算法
2.1 粗透射率修正
通過(guò)式(7)得到粗透射率后,可引入引導(dǎo)濾波進(jìn)行優(yōu)化。引導(dǎo)濾波器是一種局部線性圖像濾波器,相比于軟摳圖方法,其算法復(fù)雜度更低,并具有良好的邊緣保持性能。根據(jù)定義,可得到在大小為[wk]、以像素[k]為中心的窗口中,輸出圖像與引導(dǎo)圖的局部線性關(guān)系為:
其中[q]為輸出圖像,[I]為引導(dǎo)圖,[i]和[k]為像素索引,[a]、[b]為線性系數(shù)且在局部窗口[k]中為常數(shù)。對(duì)上式求導(dǎo)后可得[?q=a?I],從而確保了輸出圖像邊緣僅在引導(dǎo)圖像具有邊緣時(shí)存在。
為使輸出圖像與真實(shí)去霧圖像盡可能接近,并確定線性系數(shù)[a]和[b],需將運(yùn)算轉(zhuǎn)化為最優(yōu)化問(wèn)題,使下式值最?。?/p>
利用線性回歸可求解線性系數(shù)[(ak,bk)]:
其中[μk]和[σ2k]分別表示[I]在局部窗口[wk]中的均值與方差,[w]是窗口內(nèi)的像素?cái)?shù),[pk]是[p]在窗口中的均值。根據(jù)式(8)可得:
其中,[ai]、[bi]表示在局部窗口中的平均值。
假定引導(dǎo)圖像與濾波器輸入圖像相等,即[I=p],此時(shí)[(ak,bk)]可求得:
其中[μk]和[σ2k]分別表示[I]在局部窗口[wk]中的均值與方差,[ε]為調(diào)整參數(shù)。
當(dāng)[ε=0]時(shí),[ak=1],[bk=0],當(dāng)[ε>0]時(shí),有以下兩種情況:①當(dāng)像素[i]在高方差區(qū)域時(shí),有方差[σ2k>>ε],輸出像素值與輸入基本不變,輸出圖像保持了原有圖像的細(xì)節(jié);②當(dāng)像素[i]在高平滑區(qū)域時(shí),有方差[σ2k<<ε],輸出像素值是窗口內(nèi)像素的均值,輸出圖像的邊緣具有平滑的效果。即在高方差區(qū)域,保持值不變,在平滑區(qū)域,使用臨近像素平均值。
2.2 明亮區(qū)域優(yōu)化
暗原色先驗(yàn)的統(tǒng)計(jì)規(guī)律是通過(guò)實(shí)驗(yàn)觀察基于晴天的非天空區(qū)域無(wú)霧圖像,當(dāng)存在諸如天空或白色物體等大面積明亮區(qū)域時(shí),其像素值很大,很難找到像素值接近于零的暗原色點(diǎn),因此統(tǒng)計(jì)規(guī)律不成立。若不考慮假設(shè),根據(jù)式(3)推導(dǎo)出的準(zhǔn)確透射率應(yīng)為:
與式(6)相比可知,對(duì)于明亮區(qū)域,求得的透射率會(huì)偏小,從而導(dǎo)致復(fù)原后產(chǎn)生明顯色差。因此,需引入?yún)?shù)[K]調(diào)整每個(gè)像素對(duì)應(yīng)的透射率補(bǔ)償。若區(qū)域滿足[I-A
根據(jù)上述定義,得出修正后的透射率為:
3 實(shí)驗(yàn)結(jié)果
為了驗(yàn)證優(yōu)化算法,利用Matlab R2014a軟件在Win7系統(tǒng)中進(jìn)行仿真實(shí)驗(yàn)。仿真結(jié)果如圖1所示。對(duì)比圖1(c)與圖1(d),可以明顯看出優(yōu)化后的透射率圖具有更多細(xì)節(jié);對(duì)比圖1(e)與圖1(f),可看出利用本文算法去霧的圖像色彩更加柔和,并且在樹葉邊緣處明顯消除了塊效應(yīng)。
為驗(yàn)證本文算法能改善明亮區(qū)域的色彩偏移問(wèn)題,特選取包含天空的圖片,仿真結(jié)果如圖2所示。比較圖2(c)與圖2(d),可以清楚地看到,優(yōu)化后的透射率圖具有更多細(xì)節(jié);圖2(e)為He算法去霧后的復(fù)原圖,由于天空區(qū)域的透射率估計(jì)過(guò)小,復(fù)原后圖片引入了大量噪聲,且色調(diào)明顯偏暗;本文算法由于引入容差機(jī)制后修正了透射率,圖2(f)中天空部分明顯變亮,邊界也更加清晰。
為了客觀評(píng)價(jià)不同去霧方法的效果以及改進(jìn)后去霧方法的優(yōu)良特性,選擇PSNR峰值信噪比與運(yùn)行時(shí)間兩個(gè)指標(biāo)進(jìn)行評(píng)價(jià)。PSNR值越大,說(shuō)明復(fù)原后圖像失真越小;運(yùn)行時(shí)間越短,說(shuō)明算法實(shí)時(shí)性越好。去霧算法客觀指標(biāo)如表1所示。
4 結(jié)語(yǔ)
本文基于暗原色先驗(yàn)的去霧算法,針對(duì)明亮區(qū)域色彩失真問(wèn)題,引入容差機(jī)制修正其透射率,針對(duì)運(yùn)算速率低的問(wèn)題,采用暗原色與引導(dǎo)濾波相結(jié)合的方法,通過(guò)Matlab仿真,表明本文提出的改進(jìn)算法具有良好的去霧效果,能夠有效消除塊效應(yīng),提高運(yùn)算速度。去霧后圖像的主觀視覺效果與客觀評(píng)價(jià)都得到了明顯提升。
參考文獻(xiàn):
[1] 陳劍鵬, 畢篤彥, 張晟翀. 基于暗通道理論的快速單幅圖像去霧算法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2014, 35(6):2047-2051.
[2] TAN R T. Visibility in bad weather from a single image[C]. CVPR 2008: Proceedings of the 2008 IEEE Conference on Computer Vision and Pattern Recognition,2008:1-8.
[3] FATTAL R. Single image dehazing[J]. ACM Transactions on Graphics,2008,27(3): 1-9.
[4] HE K M, SUN J, TANG X O. Single image haze removal using dark channel prior [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2011,33(12): 2341-2353.
[5] 蔣建國(guó),侯天峰,齊美彬. 改進(jìn)的基于暗原色先驗(yàn)的圖像去霧算法[J]. 電路與系統(tǒng)學(xué)報(bào),2011,16(2):7-12.
[6] 王雪梅, 鞠銘燁. 基于暗通道先驗(yàn)的快速圖像去霧[J]. 科學(xué)技術(shù)與工程,2016,16(20):1437-1443.
[7] 李加元, 胡慶武, 艾明耀, 等. 結(jié)合天空識(shí)別和暗通道原理的圖像去霧[J].中國(guó)圖象圖形學(xué)報(bào), 2015, 20(4):514-519.
[8] 張晶晶,陳自紅,張徳祥,等. 基于暗原色先驗(yàn)原理的偏振圖像濃霧去除算法[J]. 計(jì)算機(jī)應(yīng)用,2015,35 (12):3576-3580.
[9] TAREL J P,HAUTIRE N. Fast visibility restoration from a single color or gray level image [C]. Proceedings of the 2009 IEEE 12th International Conference on Computer Vision,2009: 2201-2208.
[10] 張仁斌,李興興,夏宏麗. 基于景深的單幅圖像快速去霧算法[J]. 計(jì)算機(jī)工程,2014, 40(2):237-239.
[11] 盧鵬麗,張強(qiáng). 霧天圖像清晰化方法研究[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2013, 30(8): 178-180.
[12] NARASIMHAN S G,NAYAR S K. Contrast restoration of weather degraded images[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(6):713-724.
[13] 陳功,王唐,周荷琴. 基于物理模型的霧天圖像復(fù)原新方法[J]. 中國(guó)圖象圖形學(xué)報(bào),2008,13(5): 888-893.
[14] 吳迪,朱青松. 圖像去霧的最新研究進(jìn)展[J]. 自動(dòng)化學(xué)報(bào),2015,41(2):221-239.
[15] 孫偉,李大健,劉宏娟,等. 基于大氣散射模型的單幅圖像快速去霧[J]. 光學(xué)精密工程,2013,21(4):1040-1046.
[16] 李大鵬,禹晶,肖創(chuàng)柏. 圖像去霧的無(wú)參考客觀質(zhì)量評(píng)測(cè)方法[J]. 中國(guó)圖象圖形學(xué)報(bào),2011,16(9):1753-1757.
[17] 郭璠,蔡自興,謝斌,等. 圖像去霧技術(shù)研究綜述與展望[J]. 計(jì)算機(jī)應(yīng)用,2010,30( 9): 2417-2421.
[18] WANG G Y,REN G H,JIANG L H,et al. Single image dehazing? algorithm based on sky region segmentation[J]. Information Technology Journal,2013,12(6):1168 -1175.
[19] TRIPATHI A K,MUKHOPADHYAY S. Single image fog removal? using anisotropic diffusion[J]. IET Image Processing,2012,6(7): 966-975.
[20] 胡偉,袁國(guó)棟,董朝,等. 基于暗通道優(yōu)先的單幅圖像去霧新方法[J]. 計(jì)算機(jī)研究與發(fā)展,2010,47(12) : 2132-2140.
[21] 褚宏莉, 李元祥, 周則明, 等. 基于黑色通道的圖像快速去霧優(yōu)化算法[J]. 電子學(xué)報(bào),2013,41(4):791-797.
(責(zé)任編輯:黃 ?。?/p>