朱 浩,李慶武,2,糜靖峰,周 妍,2
(1.河海大學(xué)物聯(lián)網(wǎng)工程學(xué)院,常州213022;2.常州市傳感網(wǎng)與環(huán)境感知重點實驗室,常州213022)
在霧天情況下,由于場景的能見度降低,導(dǎo)致圖像對比度低、顏色特征衰減、整體模糊、細(xì)節(jié)不清晰,無法滿足室外視頻工作系統(tǒng)對圖像清晰度的要求,所以降低霧氣對圖像產(chǎn)生的影響,是很必要的圖像處理步驟。
目前,對于霧天圖像的處理算法主要分為兩類:基于圖像處理的霧天圖像增強(qiáng)算法和基于物理模型的霧天圖像復(fù)原算法[1]。圖像增強(qiáng)算法能有效提高對比度,突出細(xì)節(jié),但是沒有考慮到霧天圖像中景深的多樣性,因而有時無法得到很好的效果?;谖锢砟P偷膱D像復(fù)原算法針對性強(qiáng),得到的結(jié)果自然,能夠取得較為理想的去霧效果。
由于霧是跟場景深度有關(guān)的一個量,因此基于物理模型的單幅圖像去霧實際上是一個欠約束問題。在先驗假設(shè)基礎(chǔ)上,單幅圖像的去霧算法有了很大進(jìn)展[2]。其中 He Kai- ming[3]等人提出的暗通道先驗假設(shè)算法取得了很好效果,但其優(yōu)化透射圖的計算復(fù)雜、耗時較長,無法滿足實時性要求。
針對以上問題,文中在Tarel[4]單幅圖像去霧算法基礎(chǔ)上采用函數(shù)構(gòu)造的方法精確計算透射圖,該透射圖在天空等白色區(qū)域也有準(zhǔn)確的結(jié)果,同時,根據(jù)人眼視覺特性對處理后的圖像進(jìn)行亮度調(diào)整,整體算法在保證去霧質(zhì)量的前提下,實現(xiàn)了速度提升。
在計算機(jī)視覺和計算圖形學(xué)中,對霧天圖像的描述采用McCartney[5]于1975年提出的大氣散射模型,該模型描述如下:
式(1)中,x表示二維空間位置,I(x)為霧天圖像,J(x)為期望的去霧圖像,A是天空光亮度,t(x)是介質(zhì)透射率,由于透射率隨像素的位置而變化,因此后文稱為透射圖(Transmission Map)。
暗通道先驗假設(shè)基于對無霧自然場景的一個觀察統(tǒng)計信息:在絕大多數(shù)戶外無霧圖像的局部區(qū)域內(nèi),至少存在一些像素,其一個通道的強(qiáng)度值很低[6]。對于任意圖像,其暗通道先驗通過式(2)描述。
其中,Jc是J顏色通道,Ω(x)是以x為中心的分塊。當(dāng)圖像J是不含霧的自然場景圖像時,除去天空區(qū)域以外,Jdark值接近于0。
對于霧天圖像,可以從暗通道先驗處理后的結(jié)果中得到初始透射圖t~和天空光亮度值A(chǔ)。由于暗通道處理時使用了分塊計算,即認(rèn)為分塊中的大氣透射率為定值,這使得初始透射圖t~存在嚴(yán)重的分塊現(xiàn)象,不能很好地保留原始圖像的邊緣特性。為了得到更加精確的透射圖 t,He使用了 Levin等人[7]提出的Soft Matting方法,將透射圖的優(yōu)化過程轉(zhuǎn)化為最小化代價函數(shù)過程,如公式(3)所示。
式中,第一項為平滑項,第二項為數(shù)據(jù)項,通過λ來改變權(quán)重,L為Matting Laplacian矩陣[8]。得到優(yōu)化后的透射圖t,結(jié)合計算出的天空光亮度A和霧天圖像I,便可以求出期望的去霧圖像J。
算法舍棄了He采用的Soft Matting方法計算透射圖,在Tarel中值濾波算法的基礎(chǔ)上,采用函數(shù)構(gòu)造的方式得到更加準(zhǔn)確的透射圖,該透射圖在天空區(qū)域也適用,對暗通道去霧處理之后的圖像根據(jù)人眼視覺特性進(jìn)行亮度調(diào)整。具體流程如圖1所示。
圖1 去霧算法流程圖
根據(jù)大氣散射模型提供的公式(1)得到準(zhǔn)確的透射率如公式(4)所示。
采用暗通道先驗假設(shè)計算得到的透射率t'(x)如公式(5)所示。
其中暗通道處理采用的是Tarel中值濾波算法,該算法簡單快速,可以很好地保持圖像邊緣,但是在天空區(qū)域,Jdark(x)并不約等于0,故采用式(5)計算得到的透射圖是不準(zhǔn)確的。蔣建國等人提出了一種設(shè)定閾值、分段計算透射圖的算法[9]。該算法設(shè)定的閾值不能滿足所有圖像精確分離出天空和非天空區(qū)域的要求,而且也沒有考慮到非天空區(qū)域采用暗通道計算得到的透射圖不準(zhǔn)確的問題。
文中的設(shè)想是:在Idark(x)/A項之前乘以一個w(x)函數(shù)來近似(4)式中的(I(x)-J(x))/(A-J(x))項。其中,w(x)要滿足的條件有:①在暗原色圖像灰度值小的部分,由于J(x)經(jīng)過暗通道處理接近0,t'(x)和t(x)差值很小,故w(x)趨于1;②在暗原色圖像灰度值接近大氣光強(qiáng)的部分(天空部分),t'(x)比t(x)大得多,故w(x)趨于0;③w(x)在暗原色圖像低灰度值部分變化梯度較小,在高灰度值部分變化梯度較大。根據(jù)以上要求,文中構(gòu)造出來的w(x)函數(shù)表達(dá)式如式(6)所示。
w(x)函數(shù)曲線如圖2所示。
基于函數(shù)構(gòu)造的透射圖估計操作具體步驟如下:
(1)根據(jù)式(2)得到暗原色圖像,計算大氣光值A(chǔ)。大氣光值的計算,文中采用的方法是:統(tǒng)計直方圖中灰度值最大的五個值像素點個數(shù)的總和,用這五個值像素灰度值的總和除以這五個值像素個數(shù)總和得到大氣光值A(chǔ)。這種方法相對于取暗原色圖像中的最大值點更加準(zhǔn)確,避免了選取亮度最大的像素點是圖像中白色物體而導(dǎo)致錯誤的A值。
圖2 函數(shù)曲線圖
(2)對暗原色圖像使用中值濾波平滑。
式(7)中,s是濾波矩形塊大小,文中采用15×15的矩形。然后考慮到有較好對比度的紋理區(qū)域可能沒有霧,這部分就不需要做去霧處理,因此用P(x)減去Jdark(x)的局部標(biāo)準(zhǔn)差。
式(8)中,通過對|P(x)-Jdark(x)|執(zhí)行中值濾波來估計Jdark(x)的局部標(biāo)準(zhǔn)差,這樣可以保證標(biāo)準(zhǔn)差估計的魯棒性。
(3)為了得到適用于天空區(qū)域以及更加準(zhǔn)確的透射函數(shù),需要在中值濾波后的透射圖中加入w(x)項,最終的透射圖計算公式如式(9)所示。
將計算得到的透射圖t(x),大氣光值A(chǔ),原始有霧圖像I(x)帶入式(10)計算去霧圖像。
其中,t0取0.1,是為了給遠(yuǎn)景圖像保留一些霧氣,同時也避免分母為0。
計算得到的去霧圖像整體亮度偏暗,需要進(jìn)行亮度調(diào)整。人眼的視覺特性是對于亮度變化敏感,敏感度隨著亮度值的增加成正比增加。故可以在直方圖上通過擴(kuò)大低亮度部分的范圍、壓縮高亮度部分的范圍的方式來使低亮度部分細(xì)節(jié)變得清晰,而高亮度部分雖然范圍被壓縮,但是由于人眼敏感度增加的原因,并不會太大的影響圖像質(zhì)量。采用對數(shù)函數(shù)為拉伸主體函數(shù)是為了滿足人眼主觀視覺特性[10]。拉伸函數(shù)如式(11)所示。
其中,k從2到n-1,n為直方圖中不為0的灰度值個數(shù)。
為了保證顏色不失真,文中根據(jù)式(11)對去霧處理后圖像各個像素點在RGB三通道中的最大值所構(gòu)成的矩陣L(x)進(jìn)行直方圖拉伸,再采用式(12)進(jìn)行顏色恢復(fù)。
其中L'(x)為直方圖拉伸后的矩陣,Lc(x)為去霧圖像 r,g,b三通道分量。
為了驗證算法的有效性和實時性,采用Matlab R2010a 在 Centrino 2,2.00GHz,1.99GB 內(nèi)存的 PC上對數(shù)百幅霧天圖像進(jìn)行了處理,并且與He、Tarel的算法進(jìn)行了主觀和客觀比較,其中客觀比較采用圖像去霧算法清晰化[11]評價指標(biāo)。圖3-4分別給出了多種算法去霧效果圖示例。
圖3 幾種去霧算法效果圖對比
圖4 幾種去霧算法效果圖對比
從圖3到圖4的一系列圖像可以看出,Tarel算法處理后的圖像去霧不徹底,圖像整體偏白;文中算法和He的算法去霧效果最為接近,但是在細(xì)節(jié)上保留的更多。下面通過圖5來主要比較He算法和文中算法去霧效果。
圖5 He算法和文中算法去霧效果圖對比
從圖5中可以看出,文中算法去霧效果圖和He的算法效果圖相比,遠(yuǎn)處天空部分不夠清晰,但在中間山坡和近處土壤部分,細(xì)節(jié)更多;同時,能夠保持顏色的不失真。
圖3-4的客觀評價采用CNC清晰化指標(biāo),其值越大,對應(yīng)圖像的去霧效果越好。CNC的計算公式如式(13)所示。
其中,n(x)、n(y)、n1、n2、圖像色彩自然度(CNI)、圖像色彩豐富度(CCI)的計算參考文獻(xiàn)[12]。CNC的計算結(jié)果如表1所示。
表1 三種去霧算法的評價指標(biāo)值
從CNC評價指標(biāo)可以看出各種算法差距不大。文中算法相對于He算法在CNC評價值上大一點,原因是文中算法在所選圖像的細(xì)節(jié)清晰度上面要優(yōu)于He的算法。
此算法相對于He算法的主要優(yōu)勢還在于大幅度縮短了計算時間、降低了計算復(fù)雜度。由于舍棄了摳圖算法,而采用中值濾波加上函數(shù)構(gòu)造的方式計算透射圖,使得算法實時性有了很大提高。對于一幅432×283大小的bmp格式圖像,文中算法在以上所說配置的電腦上采用Matlab平臺運(yùn)行時間為3.622s,而采用 He的算法所需時間為54.431s。對于大一點的圖像,如450×600大小的bmp格式圖像,文中算法需要6.471s,而 He的算法則需要295.478s。
為了對霧天退化圖像進(jìn)行去霧處理,文中提出了一種改進(jìn)的暗通道去霧算法。與已有的單幅圖像去霧算法相比,文中算法簡單快速,大幅度提高了實時性、降低了對硬件內(nèi)存的要求,而且去霧后圖像細(xì)節(jié)清晰,顏色鮮艷,因此具有更為廣泛的應(yīng)用空間。
[1]郭璠,蔡自興,謝斌,等.圖像去霧技術(shù)研究綜述與展望[J].計算機(jī)應(yīng)用,2010,30(9):2417 -2421.
[2]劉楠,程詠梅,趙永強(qiáng).基于加權(quán)暗通道的圖像去霧方法[J].光子學(xué)報,2012,41(3):320 -325.
[3]HE K,SUN J,TANG X.Single image haze removal using dark channel prior[C].IEEE Conference on Computer Vision and Pattern Recognition,Miami,USA:IEEE Press,2009:1956-1963.
[4]TAREL J.Fast Visibility Restoration from a Single Color or Gray Level Image[C].IEEE Conference on Computer Vision,2009:2201 -2208.
[5]McCartney E J.Optics of Atmosphere Scattering by Molecules and Particles[M].New York John Wiley and Sons,1976:23-32.
[6]嵇曉強(qiáng),戴明,孫麗娜,等.暗原色先驗圖像去霧算法研究[J].光電子·激光,2011,22(6):926 -930.
[7]LEVIN A,LISCHINSKI D,WEISS Y.A closed - from solution to natural image matting[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2008,30(2):228-242.
[8]胡偉,袁國棟,董朝,等.基于暗通道優(yōu)先的單幅圖像去霧新方法[J].計算機(jī)研究與發(fā)展,2010,47(12):2132-2140.
[9]蔣建國,侯天峰,齊美彬.改進(jìn)的基于暗原色先驗的圖像去霧算法[J].電路與系統(tǒng)學(xué)報,2011,16(2):7-12.
[10]諶琛,李衛(wèi)軍,陳亮,等.一種自適應(yīng)的仿生圖像增強(qiáng)方法 LDRF算法[J].智能系統(tǒng)學(xué)報,2012,7(5):1-6.
[11]郭璠,蔡自興.圖像去霧算法清晰化效果客觀評價方法[J].自動化學(xué)報,2012,38(9):1410 -1419.
[12]Huang K Q,Wang Q,Wu Z Y.Natural color image enhancement and evaluation algorithm based on human visual system[J].Computer Vision and Image Understanding,2006,103(1):52-63.