劉翠響,張 莎,王寶珠,袁香偉
河北工業(yè)大學電子信息工程學院,天津 300401
隨著信息技術的快速發(fā)展,高樓大廈的逐漸增多,航拍圖像已成為獲取地面信息的重要來源之一.但近年來,由于環(huán)境污染的加重,許多航拍圖像受到霧霾的影響,造成所拍攝的景物辨識度下降、細節(jié)不明顯和色彩度低等現(xiàn)象,致使目標識別、土地測繪、災情勘探、遙感定位等系統(tǒng)受到影響[1].妥善解決霧霾天氣條件下的航拍圖像的快速去霧問題具有現(xiàn)實意義.現(xiàn)有的圖像去霧算法主要分為兩種:一種是圖像增強方法,即強調(diào)有用信息,抑制無用信息,但該方法因未考慮霧的成像模型,去霧效果欠佳;另一種是圖像復原方法,即通過研究霧圖的形成原理,從成像模型上進行去霧處理,該方法在實踐中應用更廣.目前采用圖像復原去霧的算法已有很多成果.FATTAL[2]提出基于統(tǒng)計學的去霧方法,但該方法需充足的色彩信息和顏色的變化; 2011年,HE等[3]提出暗原色先驗理論,但該方法僅對一張圖像去霧,低估了物體的透射率,且復雜度高;隨后,HE等[4]提出導向濾波器算法,能快速保留邊緣信息,且可以優(yōu)化透射率;2015年,HE等[5]又提出快速導向濾波器概念,采用該方法進行圖像去霧,處理速度加速10倍的同時,處理效果幾乎無可見退化;KIM等[6-7]采用了四叉樹搜索的算法來精確估計大氣光;王殿偉等[8-9]針對明亮區(qū)域內(nèi)色彩失真問題對透射率進行自適應校正;張江鑫等[10]提出了圖像分塊處理算法,降低了復雜度;汪云飛等[11]提出基于超像素的均值-均方差暗通道算法,提高了在霧較濃時圖像的可見性;王澤勝等[12]采用自適應色階調(diào)整對暗通道進行改進;余朋等[13]提出改進的異質(zhì)大氣光估計和非線性顏色衰減先驗模型;郭翰等[14]對暗原色理論和導向濾波算法中的可調(diào)參數(shù)進行討論;SINGH等[15]采用改進的聯(lián)合三邊過濾器來估計大氣光.這些算法都只是針對單一問題的改進,本研究通過綜合優(yōu)化暗通道先驗、四叉樹結構搜索和快速導向濾波算法,達到同時對暗通道優(yōu)化、大氣光優(yōu)化估計和透射率優(yōu)化的效果.
文獻[1]提出一個霧天成像模型:
I(x)=J(x)t(x)+A(1-t(x))
(1)
其中,x為像素點的坐標;I(x)為有霧圖像;J(x)為所求的無霧圖像;A為大氣光值;t(x)為透射率,計算式為
t(x)=e-βd(x)
(2)
其中,β為大氣散射系數(shù);d(x)為場景深度.如果對現(xiàn)有的有霧圖像剔除環(huán)境光部分,并進行補償,可得到無霧圖像.
HE等[3]觀察了大量的戶外圖像,并通過實驗分析,提出暗原色先驗理論,即在大多數(shù)非天空的局部區(qū)域中包含一些像素,這些像素至少在1個顏色通道中強度非常小.據(jù)統(tǒng)計,圖像的暗通道可表示[3]為
(3)
其中,Jc為圖像的每個顏色通道;Ω(x)為以像素x為中心的窗口;y為圖像的像素點.
暗通道先驗理論[3]指出
Jdark→0
(4)
因此,根據(jù)式(1)和式(4)可推導出透射率的預估值為
(5)
實際上,即便沒有霧,空氣中也存在一些粉塵顆?;蛩蚨斜匾谌レF時保留一定程度的霧,即需在式(5)中引入一個因子ω, 一般取值約為0.95,則式(5)修正為
(6)
由式(1),可用I、t和A解出J為
(7)
但是,當透射率t很小時,會使J嚴重受到噪聲的影響,因此需設定一個閾值t0, 使t≥t0, 一般取t0=0.1或0.2, 則最終所求圖像J為
(8)
2013年,HE等[4]提出導向濾波器來對暗通道進行改進.導向濾波器旨在保持邊緣信息的同時降低時間復雜度,它需要一個導向圖,使濾波器能夠辨識出圖像邊緣,同時盡量減少輸出圖像的誤差.
圖1 導向濾波示意圖[4]Fig.1 (Color online) Guide filter[4]
假設導向圖像I和濾波輸出q之間存在一種局部線性關系,則定義導向濾波器為
qi=akIi+bk, ?i∈ωk
(9)
其中,i為像素的平面坐標;Ii為i坐標對應的導向圖像;qi為i坐標對應的濾波輸出圖像;ak和bk是以像素k為中心的窗口ωk的線性關系系數(shù).為使輸出圖像最優(yōu),ak和bk需滿足如式(10)的價值函數(shù).
(10)
這里,ε為防止ak過大的正規(guī)化參數(shù);pi為濾波輸入圖像.用線性回歸求得最優(yōu)解為
(11)
(12)
因為一個像素可能會被多個窗口包含,所以要具體求某一點的輸出值時,只需將所包含該點的線性函數(shù)值取平均
(13)
文獻[3]算法去霧效果可達到大部分的去霧要求,但其實時性和精確性還有可提升空間[11].采用不同的Matlab的編程方法去實現(xiàn)如式(3)的暗通道,達到的去霧結果也會有差別.現(xiàn)有文獻多是先對圖像進行擴展,再用min(min())語句實現(xiàn),這種方式確實能達到去霧效果,但其并未遵從式(3)的實際意義.本研究按照暗通道的物理意義進行編程,首先求出每個像素顏色(rgb)通道中的最小值,再將該值存放到一幅和原始有霧圖像大小相同的灰度圖中,最后對此灰度圖進行最小值濾波[16].圖2是采用文獻[3]算法和采用本研究提出的去霧方法的結果對比,由圖2可見,采用本研究方法所得顏色和清晰度均較好.
圖2 兩種暗通道優(yōu)化對比Fig.2 (Color online) Comparison of dark channel optimization results
為更客觀地比較兩種方法的效果,本研究在Matlab平臺下,分別分析采用這兩種方法得到的去霧圖像的對比度、峰值信噪比和執(zhí)行時間,結果如表1.由表1可見,本研究方法在清晰度方面雖然僅略高于文獻[3],但耗時卻縮短了78%.
表1 采用兩種不同暗通道方法進行去霧優(yōu)化的效果評價Table 1 Evaluation of the effects of defogging optimization using two different dark channel methods
以前,大氣光A的估計值大多由圖像中最亮的顏色決定,這是因為大量的霧霾可能會產(chǎn)生一個發(fā)白(或發(fā)亮)的顏色,但此情況下,有些顏色比大氣光更亮的物體(如白色汽車或建筑物)將被選中,導致不應作為大氣光參考值的結果被選作大氣光的估計值[7].HE算法[3-5]中大氣光A借助暗通道來優(yōu)化其估計值,首先對經(jīng)過暗通道的圖像按亮度大小進行排序,并選取其前0.1%的像素,然后在待去霧圖像中找到相應的具有最高亮度的像素值作為大氣光值.這種基于暗通道優(yōu)先的簡單方法,雖然比原始算法的魯棒性更好,但運算量大.為保證該算法的魯棒性,同時減少運算量,本研究采用基于四叉樹子空間劃分的層次搜索方法[6].
四叉樹是一種劃分空間的高效方法,基本思想是將空間遞歸劃分為不同層次的樹結構.圖3為基本的四叉樹結構圖,將已知范圍的空間等分成4個子空間,若達到要求則停止,否則繼續(xù)將子空間分成4個空間,如此遞歸,直至樹的層次達到一定深度或者滿足某種要求后停止分割.
圖3 基本的四叉樹示意Fig.3 Basic quadtree diagram
圖4 采用四叉樹方法進行大氣光估計Fig.4 (Color online) Atmospheric light estimation using quadtree method
采用式(6)計算透射率的預估值,所得透射率圖會過于粗糙.為取得更精細的透射率圖,文獻[5]提出快速導向濾波算法.快速導向濾波算法的具體步驟與導向濾波基本相同:① 對濾波圖像和導向圖像進行二次采樣;② 計算局部線性系數(shù),方法跟導向濾波一樣,這里不再贅述.接下來對所得系數(shù)進行過采樣;③ 使用過采樣后的系數(shù)與導向圖像計算輸出圖像,方法與導向濾波相同(具體過程請掃描文末二維碼).
本研究將基于暗通道規(guī)律的快速去霧、大氣光的優(yōu)化獲取和透射率的快速優(yōu)化算法整合處理,實現(xiàn)航拍有霧圖像的優(yōu)化去霧,再與HE算法及只改變單個部分的方法進行實驗對比和分析.
從360圖片網(wǎng)(http://image.so.com)搜索“霧霾航拍圖”,找到受霧霾影響的帶有顏色信息的建筑物航拍圖像進行實驗,來驗證算法的有效性.本研究使用Matlab語言,分別對暗通道算法、只改進暗通道、只優(yōu)化大氣光、只優(yōu)化透射率和本研究算法進行實驗效果對比.從圖5(a)可見,霧霾下的部分景象比較模糊,以致細節(jié)不清,且色彩信息出現(xiàn)偏移.從去霧后的效果圖(圖5(a)—(f))可見,所有算法都能達到較好的去霧效果,圖像清晰度和對比度均有所提高,并還原了景物的色彩,但采用其他優(yōu)化算法所得圖像多少有一些失真,景物的線條銳度過高,而采用本研究算法所得圖像狀況則比較好,且景物顏色較亮,視覺效果較佳.
為進一步驗證本研究算法的有效性,分別對采用不同優(yōu)化算法后的圖片的對比度、峰值信噪比和耗時指標進行量化分析,結果如表2.
表2 采用不同優(yōu)化算法的去霧效果評價
圖5 霧霾航拍圖像的去霧效果圖Fig.5 (Color online) Defogging effect pictures of smoggy aerial images
從表2可見,單獨優(yōu)化某一項指標,所得圖像的對比度均有所提高,表明去霧后的圖像更清晰,細節(jié)更清楚,顏色也比較飽和;但采用本研究算法,所得對比度比其他優(yōu)化算法至少提高了11.57%,峰值信噪比至少增加了1.88%,而耗時比單一優(yōu)化算法至少縮短了37.49%,表明實時性提高了至少2倍.
為驗證本研究算法的可行性和普適性,本研究又從360圖片網(wǎng)下載雨天有雨且有建筑物的霧天圖像和雪天有雪有建筑物有霧的圖像,并分別對它們進行去霧實驗,結果請掃描文末二維碼.由附加材料圖2可見,本研究算法失真較小,亮度較高,可更清晰地看到湖中的雨滴和遠處的亭子.由附加材料圖3可見,其他算法對右邊邊緣顏色恢復過重,而本研究算法效果要好很多且整體比較明亮,可清楚看到花園中的小路.
分別分析這些圖片的對比度、峰值信噪比和耗時,結果如表3和表4.由表3和表4可見,本研究算法對于雨天有霧天氣和雪天有霧天氣都同樣適用,得到的去霧圖像清晰度高且用時短.通過實驗結果分析可得,本研究算法不僅適用于霧霾天氣情況下的去霧,對雨天和雪天所產(chǎn)生的朦朧天氣同樣適用.
表3 雨天去霧效果評價
表4 雪天去霧效果評價
為驗證本研究算法更加適用于受環(huán)境或抖動影響的航拍圖像,選擇了一幅霧霾天氣下的航拍圖像,同時采用多尺度Retinex算法,直方圖去霧算法和本研究算法進行去霧實驗,結果如圖6.由圖6可見,圖6(b)多尺度Retinex算法達到了去霧效果,對比度也較高,但整體亮度較暗;圖6(c)直方圖去霧算法有一定的去霧效果,但清晰度并不高;圖6(d)本研究算法的去霧效果明顯,且整體亮度較亮,色彩恢復度也較好.
為表示本研究算法對航拍圖像的適用性,采用對比度、峰值信噪比和執(zhí)行時間對這3種算法進行量化對比分析,結果如表5.由表5可見,采用多尺度Retinex算法和直方圖去霧算法的執(zhí)行時間比采用本研究算法快了近2倍,但他們對應的對比度和峰值信噪比均比本研究算法低,即清晰度遜于本研究算法.然而,去霧的本質(zhì)就是要求圖像的清晰度,所以采用本研究算法比采用兩種常規(guī)去霧算法更適于航拍圖像.
表5 不同算法的去霧效果評價
圖6 不同去霧算法的結果圖Fig.6 (Color online) Results of different dehazing algorithms
針對航拍圖像受環(huán)境特點和處理圖像的實時性要求,本研究提出適用于航拍圖像的實時去霧的整合算法.分別選取霧霾航拍圖像、雨天有霧圖像和雪天有霧圖像進行實驗,來驗證本研究算法的可行性和普適性,并選用多尺度Retinex算法和直方圖去霧算法與本研究算法進行對比實驗,驗證本研究算法對航拍圖像的適用性.但是,研究仍有一些問題沒有很好的解決,如對于大片空白區(qū)域,會出現(xiàn)一定的色彩失真;對大火航拍圖像的實驗效果并不理想.今后將針對這些問題進行深入研究.