崔浩,艾海濱,張力,孫鈺珊,趙棟梁
(1.蘭州交通大學(xué) 測繪與地理信息學(xué)院,蘭州 730070;2.中國測繪科學(xué)研究院,北京 100036;3.甘肅省地理國情監(jiān)測工程實驗室,蘭州 730070;4.自然資源部第三地形測量隊,哈爾濱 150025)
航空影像具有分辨率高、獲取成本低、反應(yīng)速度快的特點,在測繪、軍事偵察、國土資源管理等各個領(lǐng)域得到廣泛的應(yīng)用。航空影像質(zhì)量的好壞對天氣的依賴性較高,霧霾天氣下空氣中的懸浮粒子會使景物反射的光線發(fā)生散射,同時散射的環(huán)境光被傳感器接收,造成影像清晰度降低。因此面對國內(nèi)長時間、大范圍的霧霾天氣,設(shè)計一種針對航空影像的去霧算法就顯得特別迫切。
目前,影像去霧的方法、三類。第一類是基于影像增強(qiáng)的方法。Kim等人采用直方圖均衡化的方法提高影像清晰度[1-2]。Seow使用同態(tài)濾波的方式對影像進(jìn)行增強(qiáng)[3]。Tan提出對影像進(jìn)行自適應(yīng)對比度拉伸[4]。郭璠等則通過對影像進(jìn)行多尺度Retinex處理以提高影像的清晰度[5-6]。上述方法在某些情況下可以取得較好的效果,但由于處理效果不穩(wěn)定,對同一測區(qū)不同影像可能得到清晰度不同的處理結(jié)果,因此無法滿足航空影像的應(yīng)用需求。第二類方法則利用同一場景的多張影像實現(xiàn)影像的恢復(fù)。Narasimhan等通過收集不同天氣下的影像進(jìn)行分析處理得到清晰的影像[7]。Namer等采用偏振片獲取不同偏振程度的影像,進(jìn)而對影像進(jìn)行去霧處理[8-10]。上述方法可以取得一定的去霧效果,但這類方法要求同一位置的多張影像,一般的航空攝影不能滿足該要求,因此不具有可行性。第三類是基于物理模型的去霧方法,這類方法以大氣物理模型為基礎(chǔ),通過某種手段獲取影像景深信息,進(jìn)而獲得退化模型的參數(shù),反演出無霧影像。Mccartney等分析了光線在大氣中的傳輸機(jī)理提出大氣物理模型,為影像去霧提供了理論基礎(chǔ)[11-12]。Oakley假定圖像中的大氣光是個常數(shù),給出了大氣光的估計方法[13]。Kopf提出通過已有場景的紋理推算得到影像場景的深度信息[14]。Oakley使用雷達(dá)測定場景的精確景深[15]。Narasimhan則使用多張不同角度影像重構(gòu)場景的三維信息,以此得到場景景深[16-17],理論上該方法可以得到較好的效果,但存在成本過高、實用性不強(qiáng)的問題。何凱明等人提出一種暗原色先驗原理,通過提取影像暗通道估算其景深[18],該方法是圖像去霧領(lǐng)域的重要進(jìn)展,眾多學(xué)者提出對該方法的改進(jìn)策略。孫抗提出采用雙邊濾波代替原文的精細(xì)化方法[19]。何凱明本人又提出使用導(dǎo)向濾波實現(xiàn)場景的精細(xì)化[20]。
在遙感領(lǐng)域,關(guān)于遙感影像的去霧同樣引起了廣泛的關(guān)注。嵇曉強(qiáng)提出獲取影像的最暗像素對航空影像去霧后再進(jìn)行增強(qiáng)的方法可以取得一定效果[21],但航空影像可能存在噪點干擾,可能導(dǎo)致獲取的暗像素不準(zhǔn)確。王敬東等提出使用Kueahara濾波器優(yōu)化大氣耗散函數(shù)以保護(hù)影像紋理信息[22],隆嬌則使用高斯濾波器對大氣耗散函數(shù)進(jìn)行優(yōu)化[23],上述兩種方法均是對暗通道圖精細(xì)化方法的改進(jìn)。楊靖宇提出對航空影像分塊,求取各塊暗原色值以模擬影像的透射率變化[24],但該方法需要人為設(shè)定閾值剔除暗原色失效區(qū)域,無法實現(xiàn)自動化。
綜上可知,目前基于暗原色先驗的去霧方法是影像去霧領(lǐng)域的主流研究思路,該理論來自于統(tǒng)計知識,對于普通的戶外場景影像可以取得較好的處理效果,但航空影像相對普通戶外影像存在其特殊性。本文在充分分析了航空影像成像過程和影像內(nèi)容的基礎(chǔ)上提出對航空影像透射率全局估計和局部優(yōu)化的方法,并進(jìn)行了大量的試驗以驗證該算法的有效性。
McCartney提出的大氣傳輸模型在影像去霧領(lǐng)域得到廣泛應(yīng)用,該模型由衰減項和大氣光模型兩部分組成,前者表示光線從物體到傳感器傳播過程的直接衰減,后者表示周圍環(huán)境中的大氣光對傳感器的影響。其數(shù)學(xué)描述如下:
I(x)=J(x)t(x)+A·(1-t(x))
(1)
式中:I(x)表示帶霧的原始圖像;J(x)表示去霧后的清晰圖像;t(x)表示大氣傳輸中的透射率;J(x)t(x)表示目標(biāo)景物的直接衰減;A表示大氣光,A·(1-t(x))表示大氣光經(jīng)過衰減到達(dá)傳感器的能量。透射率t(x)可表示如下:
t(x)=e-βd(x)
(2)
式中:β為大氣散射系數(shù);d(x)表示場景深度。
何凱明等對5 000多張去除天空的戶外影像統(tǒng)計分析得到一條物理規(guī)律,即在無霧圖像的局部圖像塊內(nèi)存在這樣一些像素,它們至少在RGB顏色空間的某一個顏色通道的灰度值非常低,這種規(guī)律被稱為暗原色先驗。對于一幅圖像局部區(qū)域的暗原色可以定義為:
(3)
式中:Jc是圖像J中R、G、B3個通道的某個通道;Ω(x)是以像素x為中心的一個局部圖像塊;Jdark表示圖像的暗原色,根據(jù)暗原色先驗理論則有Jdark趨向于0,即:
Jdark(x)→0
(4)
(5)
根據(jù)暗原色先驗理論有:
(6)
(7)
對公式(1)變形可得
(8)
(9)
式中:t(x)是影像透射率;t0是透射率閾值(一般設(shè)為0.1)。大氣光A根據(jù)影像的暗通道圖中最亮0.1%像素對應(yīng)源影像的最大亮度值確定。
一般地,在航空攝影過程中載荷平臺的飛行航高變化較小,對地觀測過程鏡頭基本是正攝向下,因此,地形的起伏和地物高度變化相對航高可認(rèn)為是微小量,即整張航空影像的景深近似一致,因此可認(rèn)為整張影像透射率近似一致。另外,航空影像一般拍攝于厚云層之下,影像中不存在云朵等非地面高亮物體的干擾?;诖?,本文提出對航空影像透射率全局估計的算法策略,以達(dá)到影像整體去霧的效果。
航空影像拍攝內(nèi)容幾乎涵蓋了自然界所有的可見地物,但并不是所有的地物都符合暗原色先驗原理。典型的符合暗原色先驗的地物主要包括:(1)陰影。如建筑物、車輛、樹木或者巖石等的陰影。(2)色彩鮮艷的物體。比如綠色的樹木、彩色的汽車等。(3)暗色調(diào)物體。比如石頭,濕潤的土壤等。另一部分地物完全不符合暗原色先驗原理,較為典型的有水泥馬路、屋頂、陽光照射下的巖石等高亮地物。因此按地物呈現(xiàn)的色調(diào)是否符合暗原色先驗原理,可將影像中的地物分為兩大類:
F=f(P1,P2)
(10)
式中:P1表示符合暗原色先驗的地物;P2表示不符合暗原色先驗的地物。二者是一種相對的關(guān)系,沒有明確的分界線,在不同的外部條件下臨界點附近的某些物體可以發(fā)生轉(zhuǎn)化。對于P2,由于其暗通道灰度值較高,利用暗原色先驗原理對這部分地物進(jìn)行透射率估計得到的值偏低,因此對影像透射率整體估計時需要將這部分地物剔除。
如圖1所示,為對航空影像色階、亮度和曲線手動調(diào)整得到不同清晰度的影像,以此模擬不同霧霾濃度下的航空影像,分別提取其暗通道,并繪制對應(yīng)灰度直方圖??砂l(fā)現(xiàn)隨著影像清晰度的提高,其暗通道圖的灰度范圍明顯增大。這是由于在光照條件良好的天氣條件下P1部分,如陰影呈現(xiàn)更暗的趨勢,顏色鮮艷的地物如綠色的植被、彩色的屋頂?shù)葧尸F(xiàn)更為鮮艷的色彩,造成這部分地物的暗通道灰度值減??;與此同時P2部分地物如裸露的水泥地面、柏油馬路等的暗通道灰度值卻沒有明顯減小,如表1所示為對局部區(qū)域灰度均值的統(tǒng)計結(jié)果,表明影像中P1和P2兩類地物的暗通道灰度值有明顯分離的趨勢。另外,航空影像覆蓋范圍有限,影像中的地物種類有限,如圖1(a),P1主要為植被,P2主要為水泥地面、馬路等,因此兩類地物內(nèi)部又有一定的相似性、聚類性。
圖1 不同清晰度影像及其暗通道圖
灰度值統(tǒng)計影像1影像2影像3A191.07187.59184.41B125.0290.1649.15C134.10102.0962.60
Otsu是一種基于全局的二值化方法,該方法以最大類間方差為判別標(biāo)準(zhǔn)搜索影像的灰度分割閾值,將影像分割為前景和背景兩部分,與P1、P2的聚類特性相一致。根據(jù)暗原色先驗原理影像像素透射率與其暗通道灰度值成反比,如公式(7),因此,影像透射率圖同樣有分離、聚類特性,本文采用Otsu法對影像透射率圖自動分割以剔除影像中透射率過低的地物,實現(xiàn)影像透射率全局估計。
本文算法主要包括以下步驟:(1)對源影像勻光處理,使影像的霧霾分布均勻化。(2)透射率全局估計。獲取影像透射率圖,采用Otsu法對其分割透,剔除影像中透射率估計偏低的部分,估計影像的全局透射率T。(3)優(yōu)化透射率圖。對局部透射率優(yōu)化調(diào)整,得到影像透射率圖。(4)利用大氣物理模型恢復(fù)得到清晰的影像。算法流程如圖2所示。
圖2 算法流程圖
對航空影像透射率整體估計的前提是影像中各區(qū)域霧霾分布濃度一致,在城區(qū)等平原地區(qū)基本可以滿足該要求,但山區(qū)、丘陵地帶霧氣分布并不均勻,一般的山谷中霧的濃度要高于山頂,如果直接進(jìn)行全局處理會造成霧濃度高的區(qū)域去霧不徹底,形成殘留。因此,本文首先利用MASK勻光算法對源影像勻光處理[25],以達(dá)到鍋底效應(yīng)去除、陰影區(qū)域亮度補(bǔ)償和霧霾濃度分布均勻化的效果。
(11)
(12)
則類間方差為可表示為
(13)
最佳閾值k*選取原則為:
(14)
如圖3為對影像的透射率圖Otsu分割的結(jié)果。影像1是典型的村鎮(zhèn)場景,對應(yīng)的分割影像中水泥馬路和廠區(qū)被完整剔除。影像2是山區(qū)影像,影像中大部分裸露的巖石部分被剔除,而陰影和綠色植被區(qū)域得到的保留。影像3為無植被覆蓋的戈壁,經(jīng)分割處理,影像中裸露的道路和居民地等區(qū)域被剔除。影像4是較為典型的城市影像,經(jīng)分割影像中建筑物陰影和綠色植被覆蓋區(qū)域得到保留,上述分割結(jié)果表明了該分割策略的有效性。
圖3 Otsu法對透射率圖分割
實現(xiàn)影像整體去霧的關(guān)鍵在于對影像全局透射率的準(zhǔn)確估計。剔除影像透射率圖中不符合暗原色先驗的部分后,計算剩余部分的均值,如公式(15),得到透射率估計值t1,該值反映了影像的整體透射率情況,將其作為全局透射率的下限,同時獲取透射率圖中的最大灰度值t2,該值反映了影像透射率的最大值,將其作為全局透射率的上限。影像的全局透射率T由t1,t2共同確定,如公式(17),其中參數(shù)q控制影像的全局透射率。為使影像保留一定的深度感,需要保留少量的霧。因此,一般的將q設(shè)為0.8,實際應(yīng)用中可將其作為可調(diào)參數(shù),允許人工干預(yù)。
(15)
t2=min (P1)
(16)
T=q×t1+(1-q)×t2
(17)
由于影像的透射率T是整體估計得到的,因此影像中會有一部分區(qū)域的透射率比該值大,如果直接用透射率T對其處理,會導(dǎo)致這部分區(qū)域像素色彩過飽和。本文對透射率大于T的部分及其周圍一定半徑的像素進(jìn)行小半徑的均值濾波處理,如下式所示,使透射率大于T的部分與周圍像素過渡平滑,以此實現(xiàn)對影像透射率的優(yōu)化,如圖4為優(yōu)化后的透射率圖及其局部放大圖,可以發(fā)現(xiàn)影像的透射率過渡平滑。
t=T(f(x,y)≥T)
(18)
(19)
式中:s表示均值濾波窗口的尺寸;Ω(x,y)為像素(x,y)的s×s領(lǐng)域窗口內(nèi)的像素,一般將濾波窗口設(shè)置為15×15。
圖4 優(yōu)化后透射率圖
本文用Visual C++編寫程序進(jìn)行試驗,為驗證該算法的通用性,選取村鎮(zhèn)、山區(qū)、戈壁、城市等各種常見場景的航空影像進(jìn)行試驗,受篇幅限制這里僅展示4個典型場景的影像,將原算法和本文算法處理效果進(jìn)行對比,并從主觀和客觀兩方面對影像的處理效果進(jìn)行評價分析。
1)主觀評價。本文將直接利用暗原色先驗算法處理結(jié)果與本文算法處理效果進(jìn)行了對比,并且統(tǒng)計了影像對應(yīng)的亮度直方圖,如圖5所示。影像1包含道路、房屋和植被等,原算法處理后影像的道路、房屋等區(qū)域嚴(yán)重的過飽和,本文算法處理后對這些區(qū)域的亮度保持較好。對比其直方圖形狀,本文算法處理后影像的直方圖波峰個數(shù)以及直方圖形式與原影像直方圖相似性更高,表明本文算法處理后對于影像紋理的保護(hù)較好;對于影像2,由于原算法對裸露的巖石等區(qū)域透射率估計不準(zhǔn)確,導(dǎo)致處理后的影像存在較為嚴(yán)重的色彩畸變,相對的本文算法處理后影像不存在過的飽和的現(xiàn)象;影像3中沒有植被覆蓋,原算法處理后影像中道路和院落區(qū)域色調(diào)偏暗,而本文算法處理后影像的整體性、一致性較好;對于影像4,直接用原算法處理后影像的色彩的層次性較差,對應(yīng)的其亮度直方圖的形狀變形嚴(yán)重,說明其紋理損壞較為嚴(yán)重,而本文算法處理后影像的色彩過渡自然,層次清晰,對影像中地物的色彩保護(hù)較好。
圖5 算法效果對比
2)定量評價。為對算法的處理效果進(jìn)行定量評價,本文統(tǒng)計了影像的均值、標(biāo)準(zhǔn)差、平均梯度、信息熵和影像SIFT特征點的數(shù)量等作為對比的指標(biāo),如表2所示。其中均值表示影像的整體亮度,經(jīng)過去霧處理后影像的亮度均值明顯減小,原算法處理后影像的亮度要小于本文算法,這是由于原算法對影像某些區(qū)域去霧過度造成某個通道灰度值為0導(dǎo)致的;標(biāo)準(zhǔn)差反映了影像紋理的清晰度,經(jīng)本文算法處理后影像標(biāo)準(zhǔn)差大于原算法處理結(jié)果,表明本文算法處理后影像清晰度較高;平均梯度也是一種清晰度評價指標(biāo),這里采用Tenengrad梯度法計算影像的梯度,整體上本文算法處理后影像的梯度相對原算法有小幅提升;信息熵反映了影像中信息的豐富程度,本文算法處理后影像的信息熵有顯著提高;SIFT特征提取算法是一種經(jīng)典的特征點提取算法,影像特征點的數(shù)量可以反映影像細(xì)節(jié)特征的豐富程度,特征點數(shù)量對影像后期的匹配有非常大的影響,由表2可知本文算法提取特征點的數(shù)量多于原算法。經(jīng)觀察表中大部分?jǐn)?shù)據(jù)符合上述預(yù)期,但個別數(shù)據(jù)出現(xiàn)反常現(xiàn)象,比如影像3亮度均值出現(xiàn)反常,這可能是由于影像3中地物類型較為單一,本算法計算得到的透射率大于影像中大部分像素的透射率,因此本文算法去霧效果要強(qiáng)于原算法。影像2平均梯度、影像3信息熵出現(xiàn)反常,這是可能是由于原算法對影像中裸露巖石部分的透射率計算過高,在影像反算的過程中造成這部分地物紋理的破壞,進(jìn)而產(chǎn)生了新的紋理造成的。影像4原算法計算得到的SIFT特征點個數(shù)小于原影像可能是由于原算法對于高亮建筑物透射率估計過高,造成影像中建筑物過飽和,細(xì)節(jié)丟失。但整體而言本文算法處理后影像的各項統(tǒng)計指標(biāo)相對于原影像有明顯提高,并且對紋理的保護(hù)較好。綜上表明,對于各種典型場景,本文算法處理后有較好的統(tǒng)計特性,驗證了該算法的有效性和通用性。
表2 影像信息統(tǒng)計表
一個測區(qū)的正射影像往往是由多張航空影像鑲嵌而成,因此對于測區(qū)級航空影像不僅要求單張影像的去霧還要求整個測區(qū)影像去霧效果一致。通過上述算法可以實現(xiàn)對測區(qū)內(nèi)單張航空影像透射率的估計,這里對所有影像的全局透射率T進(jìn)行最小二乘運(yùn)算得到測區(qū)對應(yīng)的最優(yōu)透射率,進(jìn)而實現(xiàn)對整個測區(qū)影像的整體去霧。如圖6所示,該測區(qū)包含73張航空影像,對測區(qū)影像透射率最小二乘估計得到透射率為0.24,以此為測區(qū)所有影像的透射率T對影像進(jìn)行去霧處理。
圖6 最小二乘估計測區(qū)透射率
圖7是本文算法與直接運(yùn)用暗原色先驗去霧方法的對比效果,可以發(fā)現(xiàn)原算法處理后影像明顯過飽和而本文算法處理后影像視覺效果較好,測區(qū)內(nèi)影像的去霧效果一致,沒有給影像鑲嵌帶來色差等負(fù)面影響。
圖7 測區(qū)影像去霧效果對比
針對暗原色先驗去霧算法不適用于航空影像的問題,本文結(jié)合航空影像的成像特點和景物內(nèi)容特征,提出對影像透射率全局估計、局部優(yōu)化的方法。試驗結(jié)果表明該算法處理后影像清晰度明顯提高且不會對影像的紋理產(chǎn)生破壞,可以實現(xiàn)航空影像霧霾自動去除。并且對測區(qū)級航空影像的去霧提出解決方案,可以保證測區(qū)影像去霧效果的一致性。