李鋒 張朝霖
摘? 要: 戶(hù)外攝影成像質(zhì)量常常受霧霾等能見(jiàn)度低的天氣影響,為了提高霧天的成像質(zhì)量,提出了一種基于鄰域窗口濾波——NWF(Neighborhood Window Filtering)的圖像去霧算法。在大氣散射模型下使用暗原色統(tǒng)計(jì)先驗(yàn),大氣透射率和暗通道有關(guān),直接使用暗通道估計(jì)出的大氣透射率結(jié)果粗糙,還原的圖像邊緣有光暈看起來(lái)不夠真實(shí)。針對(duì)這一問(wèn)題設(shè)計(jì)了一種簡(jiǎn)單高效的鄰域窗口濾波器從八個(gè)鄰域方向上計(jì)算切尾均值自適應(yīng)選擇出最佳的方向來(lái)提取精細(xì)的大氣透射率圖,該方法不僅能平滑塵霧濃度圖,又能從根本上保留紋理信息。結(jié)合大氣散射模型使用具有更多紋理邊緣信息的的透射率圖,最后可以還原出一幅更加真實(shí)的去霧圖片。實(shí)驗(yàn)結(jié)果表明,該方法相比于傳統(tǒng)的導(dǎo)向?yàn)V波及雙邊濾波的去霧方法更加簡(jiǎn)單,效果明顯。
關(guān)鍵詞: 去霧;鄰域窗口濾波;切尾均值;暗通道;大氣散射模型
中圖分類(lèi)號(hào): TP391.41? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? DOI:10.3969/j.issn.1003-6970.2020.10.028
本文著錄格式:李鋒,張朝霖. 基于鄰域窗口濾波的圖像去霧[J]. 軟件,2020,41(10):114119
【Abstract】: The quality of outdoor photography imaging is often affected by weather with low visibility such as haze. In order to improve the imaging quality of foggy days, this paper proposes an image defogging algorithm based on Neighborhood Window Filtering (NWF). This method is based on the atmospheric scattering model and the dark channel prior technique, and uses a neighborhood window filter with smooth texture preservation function to restore high-quality pictures. The feature of edge-preserving filtering using the domain window filter can extract more transmittance maps with texture edge information from the dark channel prior model. Combined with the physical model of atmospheric scattering, it can finally restore a high-quality defogging picture. The experimental results show that the method is simpler and more effective than traditional guided filtering and bilateral filtering defogging methods, and the effect is obvious.
【Key words】: Defogging; Neighborhood window filtering; Trimmed mean; Dark channel; Atmospheric Scattering model
0? 引言
當(dāng)空氣中存在著許多懸浮物如塵埃、煙、水霧等時(shí)無(wú)論是人肉眼觀察還是拍攝獲取的圖像,總是存在能見(jiàn)度和對(duì)比度下降的問(wèn)題。這種降質(zhì)退化的圖像對(duì)我們后續(xù)的監(jiān)控、識(shí)別、跟蹤等實(shí)際應(yīng)用場(chǎng)景帶來(lái)了困難,因此對(duì)霧天成像去霧算法的研究是十分有意義和實(shí)用價(jià)值的。
針對(duì)霧天圖像存在嚴(yán)重降質(zhì)的現(xiàn)象,1999年,Srinivasa G. Narasimhan[1]等人通過(guò)建立數(shù)學(xué)模型,解釋了霧天圖像的成像過(guò)程以及霧天圖像包括的各個(gè)要素。2009年何凱明等人[2]提出一種新的先驗(yàn)統(tǒng)計(jì)理論——暗通道先驗(yàn),使用該方法估計(jì)大氣的透射率和大氣光強(qiáng)值,實(shí)現(xiàn)降質(zhì)圖像的除霧。2010年何凱明等人[3]等人提出一種基于導(dǎo)向?yàn)V波器的去霧算法精細(xì)了透射率圖,使還原的圖像更加真實(shí),2014年王一帆[4]等人基于雙邊濾波的圖像去霧,提高去霧的實(shí)時(shí)性。2017年陳高科[5]等人提出結(jié)合透射率和大氣光改進(jìn)的暗原色先驗(yàn)去霧算法。2017年董宇飛[6]等人提出基于導(dǎo)向圖優(yōu)化的單幅圖像深度去霧算法。2019年劉萬(wàn)軍[7]等人提出融合GF-MSRCR和暗通道先驗(yàn)的圖像去霧算法。
1? 算法設(shè)計(jì)
1.1? 大氣散射模型
大氣散射模型中指出引起探測(cè)系統(tǒng)成像結(jié)果降質(zhì)的主要原因有兩種:一是目標(biāo)反射光受大氣中懸浮粒子的吸收和散射作用,造成目標(biāo)反射光能量的衰減,導(dǎo)致探測(cè)系統(tǒng)的成像結(jié)果亮度降低,對(duì)比度下降;二是太陽(yáng)光等環(huán)境光受大氣中散射介質(zhì)的散射作用形成背景光,通常這部分背景光強(qiáng)度大于目標(biāo)光,因而造成探測(cè)系統(tǒng)的成像結(jié)果模糊不清,圖1直觀的展示霧天的成像模型。
公式1中是帶有衰減的實(shí)際拍攝的圖像,是理想條件下拍攝的圖像,是大氣的投射率,對(duì)應(yīng)的是衰減后的圖像,A是大氣光輻射強(qiáng)度,是表示大氣的散射強(qiáng)度。
1.2? 暗原色先驗(yàn)原理
對(duì)于沒(méi)有霧的圖片在絕大多數(shù)非天空的局部區(qū)域里,某些像素總會(huì)有至少一個(gè)顏色通道具有很低的值。其對(duì)于任意的輸入圖像J,其暗通道可以用下式表達(dá)
公式2中表示彩色圖像的每個(gè)通道,表示以像素x為中心的一個(gè)窗口。首先求出每個(gè)像素RGB分量中的最小值,存入一副和原始圖像大小相同的灰度圖中,然后再對(duì)這幅灰度圖進(jìn)行最小值濾波。
就是大氣透射率的預(yù)估值。
從暗通道圖中按照亮度的大小取前0.1%的像素在這些位置中,在原始有霧圖像I中尋找對(duì)應(yīng)的具有最高亮度的點(diǎn)的值,作為A值
1.3? 基于鄰域窗口濾波的去霧算法
在基于暗通道先驗(yàn)原理直接估計(jì)的大氣透射率結(jié)果比較粗糙,還原的圖像邊緣有光暈圖像看起來(lái)也不夠真實(shí),針對(duì)這一問(wèn)題需要使用具有平 滑功能又具備保留邊緣增強(qiáng)紋理信息[8]的濾波器來(lái)提取精細(xì)的大氣透射率圖,但是常見(jiàn)的圖像濾波器大多數(shù)是各向同性濾波(例如簡(jiǎn)單平滑或高斯平滑)而言,它們對(duì)待噪聲和邊緣信息都采取一致的態(tài)度。結(jié)果,噪聲被濾除的同時(shí),圖像中具有重要地位的邊緣、紋理和細(xì)節(jié)也同時(shí)被抹平了。這是因?yàn)闉V波器使用了全窗口回歸,把窗的中心位置放在待處理像素的位置。即便是用非線性各向異性加權(quán),仍然無(wú)法杜絕沿著圖像邊緣的擴(kuò)散,只是沿著邊緣的擴(kuò)散比較大,而沿著法線的擴(kuò)散還是比較小,也是擴(kuò)散,這是傳統(tǒng)方法不保邊的本質(zhì)原因。
如圖2所示,全窗口回歸方式以c為中心窗口落在平緩的區(qū)域,效果會(huì)比較好,但是如圖3窗口落在階躍跳變區(qū)域上a、b兩點(diǎn)會(huì)對(duì)本不屬于自己平面的值進(jìn)行計(jì)算,造成真實(shí)平面的濾波偏差。
以圖3階躍跳變邊緣[9]建模分析,使用表示強(qiáng)度值,該圖所示的函數(shù)是連續(xù)的,但不可微。因?yàn)閺?qiáng)度在各個(gè)位置不一樣,我們令“a–”和“a+”分別表示a點(diǎn)的左極限和右極限,其中有圖可知存在邊緣跳躍所以,這兩個(gè)區(qū)域的泰勒展開(kāi)是不同的:
因此,任何位置“a–”的近似值必須來(lái)自a點(diǎn)的左側(cè)區(qū)域,而位置“a+”的近似值都必須自a點(diǎn)的右區(qū)域。
所以如果一個(gè)像素點(diǎn)處于圖像中的邊緣位置,那么濾波的時(shí)候就應(yīng)該把濾波器的邊緣和該像素點(diǎn)對(duì)齊,而不是像傳統(tǒng)的全窗口濾波器那樣,這樣可以使用半窗口濾波[10],把濾波器的中心和該像素點(diǎn)對(duì)齊在除去噪聲的同時(shí),也會(huì)將圖像中具有重要地位的邊緣、紋理和細(xì)節(jié)也被一同消除了。
為了解決這種濾波偏差常見(jiàn)的解決辦法是使用具有保邊濾波的算法如雙邊濾波器[11]或者導(dǎo)向?yàn)V波器[12],但是這兩中算法比較復(fù)雜。
本文在側(cè)窗口濾波[13]的基礎(chǔ)上使用消除干擾的切尾均值尋找鄰域最佳方向,使用最佳窗口濾波來(lái)去除帶質(zhì)圖片。該方法使用非全窗口回歸的半窗口回歸,即選取與中心像素點(diǎn)接近的鄰域進(jìn)行濾波操作。
如圖4中,以像素點(diǎn)c為中心半徑為r的八個(gè)與之相鄰的區(qū)域(上、下、左、右、左上、左下、右上、右下方向),計(jì)算這個(gè)八個(gè)區(qū)域的切尾均值去除噪點(diǎn)的干擾,并與中心點(diǎn)c計(jì)算歐式距離。在相同平面的,八鄰域的切尾平均數(shù)和原始值距離代表中心點(diǎn)與八鄰域的相似程度,若不在一個(gè)平面則和中心點(diǎn)相差比較大。選取差值最小的方向做為最佳方向,并取該方向上的窗口進(jìn)行平滑濾波。
(1)鄰域窗口濾波算法步驟:
計(jì)算目標(biāo)像素點(diǎn)八鄰域上的切尾均值可以更好的消除除噪點(diǎn)干擾,是窗口大小為的八鄰域里的像素點(diǎn)
(2)基于鄰域窗口濾波去霧具體步驟如下
① 首先對(duì)輸入帶霧圖像進(jìn)行鄰域窗口濾波實(shí)現(xiàn)平滑和紋理信息加強(qiáng)。鄰域域?yàn)V波函數(shù)
② 由鄰域?yàn)V波公式可得濾波后的,由式(7)提出暗通道則
③ 在暗通道中統(tǒng)計(jì)出前0.1%亮度最高的像素點(diǎn),然后在由帶霧圖像I中尋找出暗通道里面統(tǒng)計(jì)出的最高亮度點(diǎn)所對(duì)應(yīng)的像素的極小值作為大氣光A
④ 通過(guò)式(9)和式(17)可得粗估大氣透射率
⑤ 再將粗估透射率圖再進(jìn)行一次鄰域?yàn)V波得到平滑且邊界加強(qiáng)的精細(xì)估計(jì)的透射率
⑥ 最后由式10還原出去霧的圖片
2? 實(shí)驗(yàn)結(jié)果和分析
在對(duì)帶霧圖像I進(jìn)行鄰域?yàn)V波器時(shí),八鄰域窗口為3*3大小。實(shí)驗(yàn)平臺(tái)使用的時(shí)Intel i5 1.8 GHz 8GB RAM windows10電腦,實(shí)驗(yàn)軟件環(huán)境使用的時(shí)python3.7和opencv3。
2.1? 去霧效果分析
實(shí)驗(yàn)采用常用的去霧效果測(cè)試圖片,圖片來(lái)源He[2]、He[3]使用的是640*480大小的圖片,如圖5-8所示,。復(fù)原對(duì)比He算法[3]、基于雙邊濾波的圖像去霧算法[4],實(shí)驗(yàn)參數(shù)設(shè)置如表1所示。
2.1.1? 去霧效果評(píng)估標(biāo)準(zhǔn)
為了更加客觀的評(píng)估不同算法的去霧效果,可以從圖像的紋理、圖像的信息含量、圖像的對(duì)比度三個(gè)方向上去衡量[14],繼而引入圖像的信息熵、圖像的標(biāo)準(zhǔn)差和圖像的平均梯度去定量分析對(duì)比。
(1)圖像信息熵,圖像所含信息量多少的一種評(píng)估量,數(shù)字越大表示信息含量越大反之越小。其數(shù)學(xué)公式如下
(2)圖像標(biāo)準(zhǔn)差,可以反映圖片的對(duì)比度的量,
數(shù)字越大表示圖片對(duì)比度越好。其數(shù)學(xué)公式如下
(3)圖像的平均梯度,表示圖像的紋理細(xì)節(jié)清晰
程度,數(shù)字越大表明圖片紋理細(xì)節(jié)越清晰。其數(shù)學(xué)公式如下
2.1.2? 去霧視覺(jué)效果對(duì)比
圖9列出帶霧原圖Cones、Pumpkin、Aerial及Houses在不同去霧算法處理后的視覺(jué)效果圖。
2.1.3? 客觀數(shù)據(jù)分析
圖10列出了列出帶霧原圖Cones、Pumpkin、Aerial及Houses在不同去霧算法處理后的直方圖統(tǒng)計(jì)信息。
圖10中我們可以清晰的看出原圖的三個(gè)通道的信息量是最豐富的也說(shuō)明存在霧霾導(dǎo)致其像素范圍比較廣,而在三種算法的過(guò)濾下的去霧圖像中直方圖統(tǒng)計(jì)的數(shù)據(jù)中均有體現(xiàn)出與帶霧霾圖片直方圖統(tǒng)計(jì)數(shù)據(jù)有明顯的信息丟失,這也反映出三種算法的數(shù)據(jù)過(guò)濾和數(shù)據(jù)保留效果。但是單純對(duì)比三種算法去霧后的直方圖數(shù)據(jù)是很難定量的對(duì)比出算法去霧效果的。但是我們可以簡(jiǎn)單的從這三種算法的直方圖中看出在圖Cones中三種算法去霧后的直方圖形狀基本相同,而在后三張圖片中每個(gè)算法去霧后的直方圖表現(xiàn)較大的差異。
為了更加客觀的對(duì)這三種算法進(jìn)行評(píng)估,表2列出了不同算法處理后的圖片的標(biāo)準(zhǔn)差、平均梯度、信息熵的信息對(duì)比。
表2中我們可以通過(guò)對(duì)比三種算法去霧后的標(biāo)準(zhǔn)差、平均梯度及信息熵來(lái)評(píng)估每種算法的性能,在表中可以得出三種算法在信息熵這一項(xiàng)中和原圖對(duì)比有所減少,這反映出圖像信息在減少,體現(xiàn)出算法降質(zhì)去霧的本質(zhì),而三種算法在平均梯度這一評(píng)估標(biāo)準(zhǔn)上與原圖的平均梯度值相比有所增加,這反應(yīng)出三種算法在降質(zhì)的同時(shí)保留及加強(qiáng)紋理細(xì)節(jié)的特點(diǎn),但是在標(biāo)準(zhǔn)差中三種算法表現(xiàn)出不同情況,圖Pumpkin是帶有天空的圖片文獻(xiàn)[3]算法處理效果要好于后兩個(gè)算法。圖片平均梯度最小的Aerial中文獻(xiàn)[4]算法處理效果要好于其他兩個(gè)也體現(xiàn)出雙邊濾波是從空間及色彩兩個(gè)維度上考慮的。當(dāng)帶霧原圖平均梯度較大時(shí)即
紋理細(xì)節(jié)較為豐富時(shí)如圖Cones和圖House本文算法處理后的效果要好于文獻(xiàn)[3-4],在紋理細(xì)節(jié)越強(qiáng)的圖片中本文算法去霧后的效果越好,這也體現(xiàn)出鄰域窗口保留紋理濾波效果強(qiáng)的特點(diǎn)。
圖11單獨(dú)對(duì)比三種算法作用于平均梯度最大的House圖片上的透射率圖及效果圖。
在圖11中可以清晰對(duì)比出三種算法在圖House上的去霧效果,紅框單獨(dú)放大局部區(qū)域的透射率圖,可以清晰對(duì)比出三種算法在相同區(qū)域透射率圖紋理細(xì)節(jié)的不同。
為了更加客觀的比較三種算法的透射率圖,表3中列出了不同算法處理后的投射率圖的標(biāo)準(zhǔn)差及平均梯度,這兩個(gè)評(píng)估標(biāo)準(zhǔn)可以客觀的代表圖像的對(duì)比度及圖像的紋理細(xì)節(jié),可以從表中發(fā)現(xiàn)三個(gè)算法在平均梯度這一項(xiàng)中很接近,三種算法有具有保邊濾波的功能,三種算法能使的透射率圖的紋理信息得到保留加強(qiáng),但本文算法在平均梯度略好于前兩個(gè)算法,在濾波及加強(qiáng)紋理細(xì)節(jié)后也使得透射率圖的對(duì)比度也加強(qiáng)了。
3? 結(jié)語(yǔ)
通過(guò)分析基于暗通道先驗(yàn)的去霧算發(fā)需要精細(xì)化透射率圖來(lái)提高去霧效果,常見(jiàn)的經(jīng)典去霧算法常使用導(dǎo)向?yàn)V波及雙邊濾波,但是這兩種算較為復(fù)雜,本文從精細(xì)化透射率圖的角度上,提出一種新的濾波算法,該算法只需要對(duì)八個(gè)鄰域進(jìn)行切尾均值濾波選出最佳濾波方向即可。從實(shí)驗(yàn)結(jié)果分析本文算法具有較強(qiáng)的保留紋理及濾波的效果,特別是在紋理細(xì)節(jié)較為豐富的圖片上其去霧效果更佳。本文算法原理簡(jiǎn)單,實(shí)驗(yàn)效果明顯。
參考文獻(xiàn)
[1]S. K. Nayar and S. G. Narasimhan, “Vision in bad weather, ” in IEEE Intl Conf. Computer Vision, 1999.
[2]He K, Sun J, Tang X. Single image haze removal using dark channel prior[J]. IEEE transactions on pattern analysis and machine intelligence, 2010, 33(12): 2341-2353.
[3]He K, Sun J, Tang X. Guided image filtering[C]//European conference on computer vision. Springer, Berlin, Heidelberg, 2010: 1-14.
[4]王一帆, 尹傳歷, 黃義明, 等. 基于雙邊濾波的圖像去霧[J]. 中國(guó)圖象圖形學(xué)報(bào), 2014(3): 58-64.
[5]陳高科, 楊燕, 張寶山. 結(jié)合透射率和大氣光改進(jìn)的暗原色先驗(yàn)去霧算法[J]. 計(jì)算機(jī)應(yīng)用, 2017(5).
[6]董宇飛, 楊燕, 曹碧婷. 基于導(dǎo)向圖優(yōu)化的單幅圖像深度去霧算法 [J]. 計(jì)算機(jī)應(yīng)用, 2017(1): 268-272, 277共6頁(yè).
[7]劉萬(wàn)軍, 白宛司, 曲海成, et al. 融合GF-MSRCR和暗通道先驗(yàn)的圖像去霧[J]. 中國(guó)圖象圖形學(xué)報(bào), 2019(11): 1893- 1905.
[8]Gong Y, Sbalzarini I F. Curvature filters efficiently reduce certain variational energies[J]. IEEE Transactions on Image Processing, 2017, 26(4): 1786-1798.
[9]Koschan A, Abidi M. Detection and classification of edges in color images[J]. IEEE Signal Processing Magazine, 2005, 22(1): 64-73.
[10]Gong Y, Liu B, Hou X, et al. Sub-window box filter[C]// 2018 IEEE Visual Communications and Image Processing (VCIP). IEEE, 2018: 1-4.
[11]Tomasi C, Manduchi R. Bilateral filtering for gray and color images[C]//Sixth international conference on computer vision (IEEE Cat. No. 98CH36271). IEEE, 1998: 839-846.
[12]Kaiming He, Jian Sun, Xiaoou Tang. Guided Image Filtering[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2013, 35(6): 1397-1409.
[13]Yin H, Gong Y, Qiu G. Side window filtering[C]// Proceed ings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 8758-8766.
[14]李佳童, 章毓晉. 圖像去霧算法的改進(jìn)和主客觀性能評(píng)價(jià)[J]. 光學(xué)精密工程, 2017(3).