詹成祥, 孟慶巖, 安健健, 胡 蝶, 楊天梁
(1.中國地質(zhì)大學(xué)(北京)地球科學(xué)與資源學(xué)院, 北京 100083; 2.中國科學(xué)院空天信息創(chuàng)新研究院, 北京 100094;3.中國科學(xué)院空天信息創(chuàng)新研究院海南研究院, 三亞 572029; 4.三亞中科遙感研究所, 三亞 572029)
隨著深度學(xué)習(xí)的快速發(fā)展,遙感影像目標(biāo)檢測算法也在不斷更新,但目前目標(biāo)檢測算法大多針對(duì)良好天氣。受霧霾影響,遙感影像質(zhì)量下降,進(jìn)而影響遙感影像檢測效果[1-2]。飛機(jī)在民用與軍用領(lǐng)域都有重要作用,若出現(xiàn)霧霾天氣,則會(huì)影響檢測精度,進(jìn)而影響航空管制,故消除霧霾影響,提升遙感影像質(zhì)量,使其在良好天氣及霧天均能有較高的目標(biāo)檢測精度,具有重要意義[3-4]。
遙感目標(biāo)檢測是多年來廣泛研究的熱點(diǎn)[5],遙感目標(biāo)檢測就是識(shí)別出遙感影像中感興趣的目標(biāo),并用回歸算法標(biāo)記其位置[6],其模型算法可以分為兩大類,一類是單階段目標(biāo)檢測,即將分類與回歸放在一個(gè)網(wǎng)絡(luò)中完成,其優(yōu)勢是速度更快,經(jīng)典代表有SSD(single shot multibox detector)、YOLO(you only look once),另一類是兩階段目標(biāo)檢測,即將分類與回歸分兩部分進(jìn)行,經(jīng)典代表有R-CNN(region-based convolutional neural networks)、Fast-RCNN和Faster-RCNN[7-8]。
圖1 clear-SSD結(jié)構(gòu)Fig.1 The structure of clear-SSD
近年來,有較多研究使用單階段或兩階段模型進(jìn)行遙感影像目標(biāo)檢測,如王穎潔等[9]使用Faster-RCNN以及R-FCN(region-based fully convolutional networks)檢測儲(chǔ)油罐,李淑敏等[10]使用YOLO_V2模型和遷移學(xué)習(xí)對(duì)高分二號(hào)影像進(jìn)行目標(biāo)檢測,熊偉等[11]使用支持向量機(jī)模型對(duì)合成孔徑雷達(dá)影像進(jìn)行目標(biāo)檢測,Wang等[12]使用Faster-RCNN模型,檢測高分辨率影像中的艦船,Chen等[13]提出目標(biāo)熱圖網(wǎng)絡(luò)對(duì)高分辨率遙感影像進(jìn)行目標(biāo)檢測,但無論是深度學(xué)習(xí)還是傳統(tǒng)方法,都只針對(duì)良好天氣,沒有討論霧天對(duì)目標(biāo)檢測精度的影響。受大氣反射與散射干擾,遙感傳感器拍攝影像的清晰度降低,導(dǎo)致飛機(jī)目標(biāo)檢測精度下降,如何使飛機(jī)在良好天氣及霧天條件下均能有較優(yōu)的檢測精度,是目前尚未解決的問題。
而暗通道與同態(tài)濾波作為經(jīng)典清晰化算法,常用來恢復(fù)各種霧天影像,使其具有更優(yōu)的可辨性,進(jìn)而提高霧天影像目標(biāo)檢測精度。
現(xiàn)提出一種基于影像處理的clear-SSD模型,分別對(duì)良好天氣及霧天條件下的飛機(jī)進(jìn)行目標(biāo)檢測。模型訓(xùn)練完畢后,先對(duì)待檢測的遙感影像進(jìn)行清晰化處理,再檢測影像中的飛機(jī),對(duì)比不同清晰化算法對(duì)飛機(jī)目標(biāo)檢測精度的優(yōu)化效果,選取適用性最優(yōu)的清晰化算法嵌入SSD模型中,組成clear-SSD,使其在良好天氣以及霧天條件下均能取得較好的檢測效果,消除現(xiàn)有目標(biāo)檢測算法只能針對(duì)良好天氣影像檢測的弊端,提高模型適用性。
采用clear-SSD模型進(jìn)行實(shí)驗(yàn),該模型將影像清晰化算法與SSD目標(biāo)檢測算法有機(jī)結(jié)合,即在卷積神經(jīng)網(wǎng)絡(luò)前端設(shè)置影像清晰化算法,使輸入的霧天影像更清晰且不過多影響良好天氣影像的視覺效果。其中SSD模型由Liu等[14]在2016年提出,根據(jù)輸入影像的尺寸分為SSD-300和SSD-512,現(xiàn)采用SSD-512作為實(shí)驗(yàn)網(wǎng)絡(luò)。SSD提供的檢測框有多個(gè)尺度,可以有效檢測大小不同的物體。
clear-SSD以卷積網(wǎng)絡(luò)VGG16網(wǎng)絡(luò)為主干,并將輸出端的全連接層替換成卷積層,用來輸出回歸及分類特征,其結(jié)構(gòu)如圖1所示。
clear部分為清晰化算法,備選算法包括暗通道、高斯同態(tài)濾波以及線性同態(tài)濾波。對(duì)待檢測影像進(jìn)行清晰化處理,導(dǎo)入卷積神經(jīng)網(wǎng)絡(luò)提取特征,通過比較不同算法的處理效果,選擇適用性最優(yōu)的算法作為clear部分。
對(duì)于目標(biāo)檢測,SSD與其他模型不同,其定位特征由多個(gè)卷積層共同提供,包括4_3卷積塊以及7~12的卷積塊共7個(gè)模塊,每個(gè)模塊都提供不同數(shù)量的定位以及分類預(yù)測特征,最終得到影像中目標(biāo)地物的預(yù)測類別及位置。訓(xùn)練過程中,設(shè)置交并比閾值,將與標(biāo)簽框交并比大于閾值的預(yù)測框選出,即每個(gè)標(biāo)簽框可與多個(gè)預(yù)測框?qū)?yīng),反之每個(gè)預(yù)測框只能與單個(gè)標(biāo)簽框?qū)?yīng),選擇置信度最大的預(yù)測框與標(biāo)簽框相匹配計(jì)算損失函數(shù),由于目標(biāo)檢測包括分類與回歸兩部分,因此損失函數(shù)為分類損失與回歸損失的加權(quán)和:
(1)
式(1)中:L()表示整體損失;Lconf()表示分類損失;Lloc()表示定位損失;x為指示參數(shù);c表示類別置信度;l表示預(yù)測框的位置;g表示標(biāo)簽框位置;N表示標(biāo)簽框的數(shù)量;α為回歸損失對(duì)分類損失的加權(quán)值。
分類代價(jià)函數(shù)采用softmax損失,定位代價(jià)函數(shù)采用定位差值的平方經(jīng)L1平滑后的損失。
為準(zhǔn)確提取不同尺寸的目標(biāo),SSD根據(jù)不同卷積層提取不同尺度的高層與低層特征,不同層次的卷積層能提取不同大小的特征。由于提取的特征足夠多,預(yù)測框的數(shù)量也有很多且大多為負(fù)樣本,根據(jù)得分選擇部分負(fù)樣本參與訓(xùn)練,保證正負(fù)樣本比例為1∶3左右,使得訓(xùn)練更穩(wěn)定。
SSD模型能夠在保證目標(biāo)檢測精度的同時(shí)消耗更少的時(shí)間[15],因此選用SSD作為本文實(shí)驗(yàn)的目標(biāo)檢測網(wǎng)絡(luò)。
暗通道是He等[16]提出來的一種清晰化算法,該算法去霧效果顯著且計(jì)算量小,在對(duì)大量影像觀察后提出,幾乎所有良好天氣下的像素都有一個(gè)通道的值趨向于0,根據(jù)這一先驗(yàn)知識(shí)與大氣物理模型,提出暗通道清晰化算法,大氣物理模型為
I(x)=J(x)t(x)+A[1-t(x)]
(2)
式(2)中:I(x)為原始有霧影像;J(x)為待求無霧影像;t(x)為大氣透射率;A為大氣光值,其大小為原始影像對(duì)應(yīng)通道的最高值。暗通道用數(shù)學(xué)公式可表示為
(3)
式(3)中:Jdark(x)表示去霧影像暗通道理論值;Jc(y)表示去霧影像紅綠藍(lán)某一通道平面范圍內(nèi)的值;{r,g,b}分別表示影像的紅綠藍(lán)三個(gè)通道;Ω(x)表示以像素x為中心的一個(gè)窗口。
對(duì)式(2)兩端分別取兩次最小值,先于每個(gè)波段平面范圍內(nèi)取得最小值,再計(jì)算每個(gè)通道的最小值,即可滿足暗通道先驗(yàn)條件。利用暗通道趨于0的先驗(yàn)知識(shí)計(jì)算得到透射率為
(4)
式(4)中:ω為景深參數(shù),調(diào)節(jié)w可使去霧效果更自然。
通過導(dǎo)向?yàn)V波處理,將式(4)計(jì)算的透射率精細(xì)化,代入式(2)中,即可算出恢復(fù)后的無霧影像為
(5)
式(5)中:t0表示透射率下限。
王鋒等[17]基于暗通道先驗(yàn)知識(shí)有效復(fù)原近景霧霾圖像。緱新科等[18]基于暗通道理論優(yōu)化透射率,有效去除包含天空區(qū)域的霧天圖像。王嬌等[19]基于暗通道改進(jìn)出快速去霧算法,減少處理時(shí)間。由此可見,暗通道算法對(duì)遙感影像去霧有較好的效果。
由于霧在影像中對(duì)亮度的貢獻(xiàn)值變化緩慢,屬于低頻成分,因此將影像轉(zhuǎn)換到頻率域,壓縮低頻而拉伸高頻,即可達(dá)到去霧的效果。張文君等[20]基于同態(tài)濾波構(gòu)建去霧模型,提升了SPOT-5遙感影像質(zhì)量。李開偉等[21]基于同態(tài)濾波,實(shí)現(xiàn)無人機(jī)影像的清晰化處理。綜上可知,同態(tài)濾波對(duì)去霧也有不錯(cuò)的效果。
一幅灰度影像可以表示為照射分量與反射分量的乘積[22]:
f(x,y)=i(x,y)r(x,y)
(6)
式(6)中:f(x,y)為影像灰度;i(x,y)為照射分量,屬于低頻;r(x,y)為反射分量,屬于高頻。
先對(duì)式(6)兩端取對(duì)數(shù),將等式右邊的乘號(hào)轉(zhuǎn)換成加號(hào),以便進(jìn)行傅里葉變換到頻率域,其次使用濾波壓縮低頻成分而拉伸高頻成分,之后進(jìn)行傅里葉逆變換,最后取對(duì)數(shù),即可得到處理后的影像。使用高斯同態(tài)濾波與線性同態(tài)濾波分別進(jìn)行處理,并比較不同濾波處理對(duì)檢測精度的提升效果,圖2為同態(tài)濾波處理的流程圖。
圖2 同態(tài)濾波流程圖Fig.2 The flow chart of homomorphic filtering
2.2.1 高斯同態(tài)濾波
高斯同態(tài)濾波即用高斯濾波器進(jìn)行乘積操作,濾波器為
(7)
式(7)中:c表示形狀系數(shù),控制濾波形狀;D0表示截止頻率;D(u,v)表示濾波前圖像;H(u,v)表示濾波后圖像。
2.2.2 線性同態(tài)濾波
線性同態(tài)濾波即用線性濾波器進(jìn)行乘積操作,設(shè)置高頻與低頻兩個(gè)半徑,對(duì)低頻進(jìn)行壓縮,達(dá)到去霧效果,對(duì)高頻進(jìn)行拉伸,以突出地物邊緣信息,其濾波器為
(8)
式(8)中:r1表示低頻范圍閾值;r2表示高頻范圍閾值;a為壓縮系數(shù);b為拉伸系數(shù)。
線性同態(tài)濾波處理示意如圖3所示,將影像轉(zhuǎn)換到頻率域后,對(duì)中間區(qū)域的低頻成分進(jìn)行壓縮,對(duì)四周的高頻成分進(jìn)行拉伸。
圖3 線性同態(tài)濾波原理Fig.3 Principle of linear homomorphic filtering
開源的遙感影像目標(biāo)檢測數(shù)據(jù)集有很多,但都是基于良好天氣,為探究霧天對(duì)目標(biāo)檢測精度的影響以及提出改進(jìn)方法。選擇google earth高分辨率遙感影像,制作霧天及良好天氣下飛機(jī)目標(biāo)檢測數(shù)據(jù)集。實(shí)驗(yàn)區(qū)選取首都國際機(jī)場,獲取了360張像素大小為512×512左右的影像,其中良好天氣有330張,霧天有30張,將300張良好天氣影像作為訓(xùn)練數(shù)據(jù),良好天氣與霧天各30張作為測試數(shù)據(jù),影像分辨率達(dá)到0.5 m,數(shù)據(jù)示例如圖4所示,使用LabelImg標(biāo)注工具對(duì)影像中的飛機(jī)進(jìn)行標(biāo)注。
在本次實(shí)驗(yàn)中,使用tensorflow框架實(shí)現(xiàn)SSD目標(biāo)檢測算法,所有的計(jì)算均使用同一臺(tái)GPU服務(wù)器(顯卡:Nvidia TESLA C2050)進(jìn)行。首先設(shè)置SSD模型訓(xùn)練參數(shù):初始學(xué)習(xí)率為0.001,采用指數(shù)衰減,優(yōu)化器采用rmsprop,batch size為8,正負(fù)樣本比例為1∶3。將300張良好天氣影像導(dǎo)入模型中訓(xùn)練,模型在1 000步左右收斂,之后在3~6波動(dòng),訓(xùn)練到1 388步停止,損失函數(shù)的變化如圖5所示。
在本文實(shí)驗(yàn)中,目標(biāo)檢測部分選擇SSD單階段檢測算法,影像處理部分選擇暗通道算法、線性同態(tài)濾波以及高斯同態(tài)濾波,分別對(duì)霧天及良好天氣下飛機(jī)進(jìn)行目標(biāo)檢測,并對(duì)比以上3種清晰化算法對(duì)目標(biāo)檢測精度的提升效果,將平均精度(AP)作為評(píng)判標(biāo)準(zhǔn),其值是準(zhǔn)確率-召回率曲線(P-R曲線)的積分面積。
3.3.1 霧天目標(biāo)檢測結(jié)果
用訓(xùn)練好參數(shù)的SSD算法分別對(duì)未處理霧天影像及3種清晰化算法處理后的霧天影像進(jìn)行測試,結(jié)果如表1所示。可以看出,霧天對(duì)飛機(jī)目標(biāo)檢測精度有較大影響,而經(jīng)暗通道、高斯同態(tài)濾波及線性同態(tài)濾波處理后,對(duì)檢測精度有明顯提升作用,其中線性同態(tài)濾波提升效果最佳,相比較原始SSD檢測算法提高了0.505 9。
3種清晰化算法處理后霧天影像與原始霧天影像的P-R曲線如圖6所示,可以看出,高斯同態(tài)濾波與線性同態(tài)濾波具有較大的積分面積,能較好提高模型的檢測精度。
表1 霧天目標(biāo)檢測結(jié)果
圖6 清晰化算法處理后P-R曲線對(duì)比Fig.6 Comparison of P-R curves processed by the sharpening algorithm
圖7 飛機(jī)SSD檢測結(jié)果示例Fig.7 Example of SSD test results of the aircraft
為直觀展示3種清晰化算法的優(yōu)化效果,隨機(jī)選擇部分飛機(jī)目標(biāo)檢測效果圖,如圖7所示,由此可見,霧天條件對(duì)影像視覺效果干擾較大,導(dǎo)致3幅影像有兩幅影像中的飛機(jī)均未被SSD模型檢測到,而3種清晰化算法處理后影像中的飛機(jī)均能被良好檢測,其中,暗通道算法處理后的影像色調(diào)偏暗,而線性同態(tài)濾波與高斯同態(tài)濾波處理后的影像色調(diào)更自然。
3.3.2 模型的適用性分析
由上述研究可知,暗通道算法、線性同態(tài)濾波及高斯同態(tài)濾波均能提高霧天遙感影像目標(biāo)檢測精度,為驗(yàn)證clear-SSD具有適用性,使清晰化算法與SSD目標(biāo)檢測算法有機(jī)結(jié)合,則需考慮該清晰化算法對(duì)良好天氣下飛機(jī)檢測精度的影響。綜合模型對(duì)霧天及良好天氣影像目標(biāo)檢測精度,優(yōu)選最具適用性的清晰化算法。
分別對(duì)原始良好天氣影像及3種清晰化算法處理后良好天氣影像進(jìn)行測試,結(jié)果如表2所示,實(shí)驗(yàn)表明,原SSD算法對(duì)良好天氣下影像目標(biāo)具有較好檢測精度,而暗通道算法、線性同態(tài)濾波及高斯同態(tài)濾波對(duì)良好天氣下影像目標(biāo)檢測精度均有干擾,其中線性同態(tài)濾波影響更大。
表2 良好天氣目標(biāo)檢測結(jié)果
據(jù)統(tǒng)計(jì),北京地區(qū)霧霾天氣比例約為10%,良好天氣比例約為90%,則適用性精度可根據(jù)兩者加權(quán)計(jì)算,結(jié)果如表3所示,由此可見,暗通道算法與高斯同態(tài)濾波處理后檢測精度均比原始SSD高,分別提升了0.018 4與0.043。而線性同態(tài)濾波雖去霧效果最優(yōu),但對(duì)良好天氣影像干擾較大,導(dǎo)致適用性精度降低0.070 4。因此線性同態(tài)濾波不適合作為前端清晰化算法,而高斯同態(tài)濾波具有更優(yōu)的適用性。
表3 適用性精度
以飛機(jī)為例,探討霧天對(duì)遙感影像地物目標(biāo)檢測精度的影響,并提出有霧與無霧均能有效檢測目標(biāo)的clear-SSD模型,對(duì)比不同清晰化算法對(duì)精度提升的效果,研究發(fā)現(xiàn):影像經(jīng)高斯同態(tài)濾波處理后,其目標(biāo)檢測精度可達(dá)到0.984 3,相比原始精度提升0.043,具有最優(yōu)的處理效果,因此,選擇高斯同態(tài)濾波作為模型前端的影像處理部分組成clear-SSD模型。該模型不僅能檢測良好天氣下遙感影像地物目標(biāo),對(duì)霧天遙感影像目標(biāo)檢測同樣具有較高精度,使模型具有適用性,彌補(bǔ)目前遙感影像目標(biāo)檢測只針對(duì)良好天氣的不足。
對(duì)于在霧天提高遙感影像目標(biāo)檢測精度,研究還有一些不足的地方,有待在后續(xù)中進(jìn)一步探索:
(1)對(duì)于暗通道處理后有部分影像偏暗的問題,可以找到一種自適應(yīng)亮度調(diào)整算法,根據(jù)影像本身亮度大小來決定需增強(qiáng)的亮度,即可改善暗通道處理后地物目標(biāo)檢測精度,以及提高模型的適用性。
(2)對(duì)多區(qū)域多地物目標(biāo)進(jìn)行試驗(yàn),說明clear-SSD模型的魯棒性。