盧凱旋,李國清,陳正超,昝露洋,李柏鵬,高建威
(1 中國科學院遙感與數(shù)字地球研究所, 北京 100094; 2 中國科學院大學資源與環(huán)境學院, 北京 100094; 3 河南省遙感測繪院, 鄭州 450003)
鋼鐵廠建造狀況主要依靠地方政府和企業(yè)的上報數(shù)據(jù),不排除存在虛報、瞞報、漏報的情況;同時,已經(jīng)取得的去產(chǎn)能成果尚需穩(wěn)固、防止反彈。因此,加強對鋼鐵廠的動態(tài)監(jiān)測,可為國家全面掌握鋼鐵行業(yè)現(xiàn)狀和去產(chǎn)能實施進程提供信息支撐。遙感作為一種非接觸的、遠距離的探測技術,具有監(jiān)測范圍廣、周期短、成本低等特點,可作為一種客觀地獲取鋼鐵產(chǎn)能變化情況的技術手段。隨著衛(wèi)星遙感的快速發(fā)展,利用衛(wèi)星遙感數(shù)據(jù)進行鋼鐵廠的高精度、高頻次監(jiān)測已經(jīng)成為可能。
深度學習是人工智能中機器學習發(fā)展的新階段[1],它利用數(shù)字計算機模型模擬人腦的多通路信息傳遞機制,實現(xiàn)輸入數(shù)據(jù)的分層表達和知識推理,有效地解決了對復雜對象特征的刻畫和復雜場景的關聯(lián)分析等問題,在計算機視覺、語音識別、自然語言處理等領域取得很多突破性進展和大量創(chuàng)新應用。對于場景復雜的高分辨率遙感影像,深度學習技術相對于傳統(tǒng)基于物理模型的信息提取技術,在效率和精度兩方面都具有不可比擬的技術優(yōu)勢[2]。將深度學習技術應用于大區(qū)域遙感影像的鋼鐵廠信息提取,可顯著提高鋼鐵廠點位識別和動態(tài)監(jiān)測的效率與自動化水平。
在深度學習方法中,卷積神經(jīng)網(wǎng)絡[3](convolutional neural networks,CNN)是一種高效的自動分層特性學習框架,它在對象檢測方面具有很大的潛力。近年來,卷積神經(jīng)網(wǎng)絡模型不斷完善,在目標檢測方面取得突破性進展,很多任務的精度已然超過人工識別精度,包括region-CNN(R-CNN)[4], spatial pyramid pooling convolutional networks (SPP-Net)[5]、fast R-CNN[6]、faster R-CNN[7]、you only look once (YOLO)[8]和single shot multibox detector(SSD)[9]等。R-CNN是第一個基于CNN的目標檢測方法,R-CNN代替?zhèn)鹘y(tǒng)目標檢測使用的滑動窗口+手工設計特征,設計了R-CNN框架,使得目標檢測取得巨大突破,并開啟了基于深度學習的目標檢測方法研究熱潮,但是R-CNN分多個階段訓練,繁瑣耗時。隨后提出的SPP-Net、Fast R-CNN和Faster R-CNN等方法是對R-CNN的改進,提高了目標檢測的速度和精度。但是它們都是基于候選區(qū)域的目標檢測算法,這類方法由于需要通過滑動窗口產(chǎn)生預選窗口,計算量比較大,無法達到實時的目標檢測。相比較而言,YOLO系列和SSD算法是基于回歸方法的目標檢測算法,這類方法使用回歸思想確定圖像中目標邊框及類別,大幅度提高了目標檢測速度。其中,SSD結(jié)合YOLO中的回歸思想和Faster R-CNN中的anchor機制,使用全圖各個位置的多尺度區(qū)域特征進行回歸,既保持了YOLO效率高的特性,也保證了窗口預測與Faster R-CNN同樣精準。
近幾年,遙感學者在針對自然圖像目標檢測算法的基礎上做了不同嘗試和改進。大量學者嘗試將針對RGB三波段真彩色自然圖像的神經(jīng)網(wǎng)絡引入遙感圖像領域,在目標探測方面的應用效果遠優(yōu)于傳統(tǒng)算法[10-14]。但是,不同于在地面上使用普通數(shù)碼相機在水平視角獲取的自然圖像,遙感影像由遙感器從衛(wèi)星或飛機對地面拍攝獲取,具有觀測尺度大、光照陰影差異大、地物場景復雜等特點,現(xiàn)有網(wǎng)絡模型對遙感圖像的理解和特征提取還存在明顯不足。遙感影像的特性導致遙感大數(shù)據(jù)的目標提取和自然圖像的目標提取完全不同,最突出的差異即對復雜目標的精確提取以及在大范圍場景的目標自動檢測。鋼鐵廠是集各種建筑和設施、自然地物為一體的復雜綜合體,規(guī)模大小不一,空間紋理、陰影、顏色、幾何特征等都千差萬別,其復雜程度遠遠超過人臉或者汽車等自然圖像目標,如圖1所示。從數(shù)量上來講,全國只有幾百個鋼鐵廠,極少量樣本為鋼鐵廠特征提取帶來了極大挑戰(zhàn)。面對綜合特征如此復雜且樣本不足的檢測目標,本文提出改進的SSD目標檢測網(wǎng)絡,使模型更加適用于鋼鐵廠檢測。
本文針對遙感影像和鋼鐵廠的特點,以SSD目標檢測網(wǎng)絡為基礎,提出融合多分支通路負樣本的SSD目標檢測網(wǎng)絡方法,通過maxout模塊突出難分負樣本特征,并提升網(wǎng)絡對無用特征的抵制效果。京津冀地區(qū)遙感影像鋼鐵廠提取的實驗結(jié)果表明,提出的方法有效減弱了混淆地物特征對鋼鐵廠識別的干擾,提取精度達到80%以上,相比政府部門公布的人工解譯數(shù)據(jù),此方法新檢測出47個鋼鐵廠。
選擇京津冀地區(qū)作為鋼鐵廠提取研究區(qū)域,如圖2所示。京津冀地區(qū)是中國政治文化中心和經(jīng)濟發(fā)展重點區(qū)域,總面積21.8萬km2,包含北京、天津、雄安新區(qū)等核心功能區(qū)。該地區(qū)土地緊缺且利用方式復雜多樣,人口稠密,環(huán)境容量有限。區(qū)域經(jīng)濟社會的良性發(fā)展,需要人和自然環(huán)境達成和諧統(tǒng)一,但頻發(fā)的霧霾污染事件已成為該區(qū)域經(jīng)濟社會進一步發(fā)展的重大障礙。鋼鐵行業(yè)是社會經(jīng)濟發(fā)展的重要組成部分,同時也是主要的大氣污染源之一。提高京津冀地區(qū)的鋼鐵廠監(jiān)測效率和精度,對于經(jīng)濟產(chǎn)業(yè)發(fā)展和環(huán)境保護都具有重要意義。
1.2.1 數(shù)據(jù)源
本文采用的數(shù)據(jù)源為國產(chǎn)高分一號(下稱GF-1)衛(wèi)星數(shù)據(jù)。GF-1衛(wèi)星是中國高分辨率對地觀測系統(tǒng)的第一顆衛(wèi)星,于2013年4月26日12時13分04秒由長征二號丁運載火箭成功發(fā)射。GF-1衛(wèi)星搭載2臺2 m分辨率全色/8 m分辨率多光譜相機,4臺16 m分辨率多光譜相機,寬幅多光譜相機幅寬達到800 km。
1.2.2 樣本與測試數(shù)據(jù)
以人工解譯的全國鋼鐵廠點位為基礎,總共獲得450個鋼鐵廠點位,其中京津冀地區(qū)118個鋼鐵廠,非京津冀地區(qū)存在332個鋼鐵廠點位。利用非京津冀地區(qū)的332個鋼鐵廠點位制作訓練樣本,樣本制作主要考慮以下因素:
1) 考慮到鋼鐵廠面積較大,一般鋼鐵廠的實際長寬達到1~3 km,為了在包含鋼鐵廠整體特征的情況下,保證鋼鐵廠紋理清晰、特征明顯,選取空間分辨率為2 m的GF-1影像,并且以鋼鐵廠坐標為中心點裁剪GF-1影像生成一系列2 500×2 500的樣本影像。
2) 考慮到鋼鐵廠局部特征(比如生產(chǎn)線設施、高架建筑等)的非典型性以及相互之間的差異性,選擇鋼鐵廠的整體特征作為檢測對象進行樣本標記,以最小外接矩形標記鋼鐵廠區(qū)域,避免多余背景對鋼鐵廠特征造成影響;
3) 考慮到鋼鐵廠從建造到投入生產(chǎn)隨時間變化顯著,特征具有較強的時間相關性,為了豐富訓練樣本的多樣性,利用2013—2017年5年間的多時相GF-1影像用于樣本標記。
基于以上原則,共制作1 329張鋼鐵廠訓練樣本,200張驗證樣本。京津冀地區(qū)的測試數(shù)據(jù)同樣為空間分辨率為2 m、切片大小為2 500×2 500的GF-1影像,總共19 192張,成像時間為2017年6月。
本文基于深度學習網(wǎng)絡提取京津冀地區(qū)的鋼鐵廠,過程如圖3所示。首先,對GF-1影像進行預處理;然后基于影像制備樣本,得到訓練集和驗證集,在訓練之前,基于SSD目標檢測網(wǎng)絡添加maxout模塊,構建面向鋼鐵廠提取的目標檢測網(wǎng)絡結(jié)構;最后,通過網(wǎng)絡訓練得到最優(yōu)檢測模型對京津冀地區(qū)進行鋼鐵廠檢測,得到該地區(qū)鋼鐵廠的分布與數(shù)量。
本文使用VGG16[15]作為特征提取的基礎網(wǎng)絡,VGG16網(wǎng)絡在計算機領域表現(xiàn)優(yōu)秀,主要用來提取目標的低層特征。VGG16的網(wǎng)絡層主要由卷積層、激活層以及池化層組成。卷積層用來抽象目標的特征,卷積核設為3,步長設為1,像素擴充設為1,用來保持卷積過后特征圖的圖像分辨率。激活層用來減少網(wǎng)絡參數(shù)的相互依存關系,緩解過擬合問題。池化層用來降低特征圖維度,減少數(shù)據(jù)量,使用的池化方法是最大池化,其中卷積核設為2,步長設為2,像素擴充設為0。隨著網(wǎng)絡的深入,每個網(wǎng)絡層生成的特征圖圖像分辨率逐漸降低,特征圖感受野越來越大。原始的SSD網(wǎng)絡在VGG16基礎上額外添加4個卷積層,加上VGG16的2個卷積層,總共生成6個卷積層,用于檢測不同尺度下的目標,稱為“預測層”。
圖3 京津冀地區(qū)鋼鐵廠提取流程Fig.3 Flow chart of steel plant extraction in Jing-Jin-Ji area
由于鋼鐵廠樣本較少,5年的多時相遙感GF-1數(shù)據(jù)雖然使樣本數(shù)量擴大5倍,同時SSD網(wǎng)絡的數(shù)據(jù)增強模塊也能大大增加樣本的多樣性,但樣本數(shù)依然遠遠不夠。鋼鐵廠要素繁雜,在正樣本不足的情況下,模型訓練過程中不能充分學習到屬于鋼鐵廠本身的特征。另外,遙感影像背景復雜導致大多數(shù)負樣本是簡單易分的,無法有效抵制干擾信息,這些因素會導致模型檢測出大量的非鋼鐵廠混淆地物。因此,在正樣本缺乏的情況下,增強負樣本即遙感背景的抵制效果,對于提升鋼鐵廠這類綜合復雜目標的檢測精度尤為重要。
基于以上考慮,本文在SSD網(wǎng)絡每個尺度預測層下增加maxout模塊,即將負樣本通路變成多分支結(jié)構,選取與鋼鐵廠特征混淆的負樣本輸入網(wǎng)絡和正樣本一起對模型進行強化訓練,從而解決負樣本誤報的問題以提高對鋼鐵廠的識別能力。
傳統(tǒng)SSD的預測層會產(chǎn)生大量先驗框,計算先驗框與真值的重疊度,根據(jù)重疊度大于閾值(0.5)來判斷該先驗框為正樣本,反之則為負樣本。然后計算負樣本的置信度損失,獲取置信度損失較大的一些負樣本,損失越大說明越難訓練,也就是尋找難分負樣本,最后計算正樣本的位置損失以及正負樣本的分類損失來確定最終的反傳損失。在這個過程中,maxout模塊的作用在于提供更多的負樣本通路選擇,通過eltwise max層獲取準確的難分負樣本,提升模型抑制無用特征的能力。根據(jù)以上原則,在原始SSD結(jié)構(圖4(a))上提出增加二分支(圖4(b))、三分支(圖4(c))、四分支(圖4(d))和五分支(圖4(e))負樣本通道的maxout模塊。
圖4 不同分支數(shù)的負樣本通道m(xù)axout模塊Fig.4 Negative sample channel maxout module with different numbers of branches
SSD網(wǎng)絡所包含的參數(shù)量非常大,使用少量的鋼鐵廠訓練樣本進行網(wǎng)絡初始化會導致網(wǎng)絡嚴重過擬合。由于遙感影像和普通圖像的顏色紋理等低層特征是比較相似的,于是遷移ILSVRC CLS-LOC數(shù)據(jù)集得到的預訓練模型VGG16用來提取樣本的低層特征,與隨機初始化的模型相比,預訓練模型不僅增加了模型的精度,也節(jié)省了訓練時間。
本研究中,使用SSD網(wǎng)絡前端的數(shù)據(jù)增強模塊,用于增加樣本的多樣性,減緩小樣本造成的過擬合現(xiàn)象。數(shù)據(jù)增強模塊包括顏色亮度飽和度變換、翻轉(zhuǎn)、隨機裁剪放大以及縮小等操作。數(shù)據(jù)增強后的圖片統(tǒng)一重采樣到1 024×1 024×3的大小,然后輸入到模型進行訓練,網(wǎng)絡模型通過反向傳播算法迭代更新每一層參數(shù)。目標檢測網(wǎng)絡參數(shù)設置如表1所示。在合理的范圍內(nèi),增大批處理參數(shù)batch_size可以提高內(nèi)存利用率,提高大矩陣乘法的并行化效率,考慮到輸入影像的尺寸和GPU的顯存大小,將batch size設為4;另外,基礎學習率base_lr設為0.001,最大迭代次數(shù)max_iter為100 k,gamma系數(shù)、動量momentum和權重衰減參數(shù)weight_decay分別設為0.1、0.9和0.000 5;學習率learning rate采用均勻分步更新策略,當?shù)螖?shù)低于40 000時,學習率為基礎學習率0.001;當?shù)螖?shù)大于40 000小于60 000時,學習率變?yōu)?.000 1;當?shù)螖?shù)高于60 000時,學習率設為0.000 01。
表1 網(wǎng)絡參數(shù)設置Table 1 Network parameter setting
本文訓練網(wǎng)絡模型的軟件框架為Caffe,硬件環(huán)境為4個12 G顯存的NVIDIA Titan XP GPU、CUDA2.0以及Intel Xeon E5 CPU,訓練10萬次需要48 h,得到充分訓練后的模型后再將其用于京津冀地區(qū)鋼鐵廠的檢測。
模型的精度評價方式是使用深度學習領域目標檢測網(wǎng)絡的常用指標:精度Precision、召回率Recall和F1分數(shù)等,分別定義如下:
(1)
(2)
(3)
式中:TP表示目標實質(zhì)為鋼鐵廠且被正確檢出,F(xiàn)P表示目標實質(zhì)不是鋼鐵廠但被錯誤檢出,F(xiàn)N表示目標實質(zhì)為鋼鐵廠但未被檢出。F1分數(shù)則是綜合考慮精度和召回率的性能指標。對于不同的置信度閾值,精度、召回率以及F1分數(shù)會隨之變化,本文以0.05的步長逐步增加置信度閾值(0.5~0.95),記錄模型在不同置信度閾值下的檢測性能。
使用同樣的數(shù)據(jù)(1 329張訓練樣本,200張驗證樣本)分別訓練未添加maxout模塊的原始SSD目標檢測模型以及分別添加二分支、三分支、四分支、五分支負樣本通道的maxout模塊的新SSD目標檢測模型,分析不同模型在鋼鐵廠上的檢測性能。
3.1.1 平均精度均值(mAP)
為降低其他因素的影響,除maxout模塊之外的網(wǎng)絡結(jié)構參數(shù)保持一致,通過GPU和Cuda訓練模型,迭代次數(shù)達到10萬次后停止,訓練過程中的mAP曲線如圖5所示。針對同一數(shù)據(jù)集,不同網(wǎng)絡在訓練過程中隨迭代次數(shù)變化的mAP不同,從結(jié)果來看,添加三分支負樣本通道的網(wǎng)絡準確度最高,在10萬次迭代后準確度上升到81.2%,分別比添加二分支、四分支和五分支負樣本通道的網(wǎng)絡精度高出5.7%、3.0%和5.3%。另外,未添加maxout模塊的原始SSD網(wǎng)絡最佳準確度為75.5%,低于添加maxout模塊的SSD網(wǎng)絡。
圖5 不同結(jié)構網(wǎng)絡訓練的mAP曲線Fig.5 The mAP curves of differently designed CNN architectures
3.1.2 驗證集精度、召回率和F1分數(shù)
不同的網(wǎng)絡模型經(jīng)過10萬次迭代訓練完成后,在不同置信度閾值(0.5~0.95)設置下,利用模型對驗證集中鋼鐵廠樣本進行檢測,通過檢測結(jié)果計算不同閾值下的精度、召回率和F1分數(shù)來比較不同模型的檢測性能。
精度、召回率和F1分數(shù)隨置信度閾值變化曲線分別如圖6(a)、6(b)、6(c)所示。從圖中可以看出,較低的置信度閾值,比如0.5,對應著高召回率和低精度;較高的置信度閾值,比如0.85,對應著低召回率和高精度。5種模型中,添加三分支負樣本通道的maxout模塊的網(wǎng)絡性能最佳,精度最高達到92.8%、召回率保持在97.7%以上、F1分數(shù)最高達到95.5%;添加二、四、五分支負樣本通道的maxout模塊的網(wǎng)絡性能其次,精度分別最高達到88.6%、92.2%、91.7%,召回率分別保持在97.0%、97.0%、97.0%,F(xiàn)1分數(shù)分別最高達到93.4%、94.5%、94.2%;未添加maxout結(jié)構的網(wǎng)絡性能最差,精度最高達到71.4%、召回率保持在96.3%以上、F1分數(shù)最高達到93.1%。
圖6 不同置信度閾值下的網(wǎng)絡性能Fig.6 Precisions, recall rate, and F1-scores at different confidence thresholds
綜上所述,添加maxout模塊的網(wǎng)絡比未添加的網(wǎng)絡在精度、召回率和F1分數(shù)上的表現(xiàn)都好得多,其中添加三分支負樣本通道的網(wǎng)絡性能最佳,而添加四分支負樣本通路的網(wǎng)絡比添加五分支負樣本通道的網(wǎng)絡性能稍微優(yōu)秀一點。通過給網(wǎng)絡添加其他不同數(shù)量分支負樣本進行實驗,實驗結(jié)果表明在當前樣本下,添加三分支負樣本通道的網(wǎng)絡性能最佳,同時在不斷增加分支的情況下,網(wǎng)絡的性能呈略微下降的趨勢。
結(jié)合實驗結(jié)果和maxout模塊增強難分負樣本特征的原理,可以得到,在正樣本數(shù)量有限的情況下,最佳的負樣本通道分支數(shù)量是有限制的。適當?shù)卦黾迂摌颖就ǖ婪种?,能有效突出難分負樣本特征,增強目標檢測網(wǎng)絡對無用特征的抵制效果,提升網(wǎng)絡對鋼鐵廠的檢測性能。但是,由于鋼鐵廠是一種具有復雜要素的綜合地物,不僅包含生產(chǎn)線設施等獨特特征,還包含容易與其他地物混淆的建筑物等特征。過度增加負樣本分支通道,會導致網(wǎng)絡對背景中與鋼鐵廠局部易混淆特征產(chǎn)生抵制,這會影響網(wǎng)絡對正樣本的局部特征判斷,從而造成檢測精度下降。
通過以上實驗,本文選擇檢測性能最好的目標檢測模型,即添加三分支負樣本通道的SSD網(wǎng)絡對京津冀地區(qū)進行鋼鐵廠檢測。檢測數(shù)據(jù)為GF-1遙感影像,空間分辨率為2 m,切片大小為2 500×2 500,總共19 192張,使用4個GPU能在2 h內(nèi)完成檢測任務。
在鋼鐵廠檢測的應用場景中,鋼鐵廠召回率的優(yōu)先級比精度更高,本文選擇較低的置信度閾值,將模型的置信度閾值設置為0.6進行檢測,最終得到京津冀鋼鐵廠的檢測結(jié)果如下:共檢測出205個鋼鐵廠,通過人工解譯誤判為40個,檢測精度達到80.5%。同時將結(jié)果與行業(yè)部門目視解譯京津冀地區(qū)118個鋼鐵廠點位進行對比,深度學習目標檢測模型在其基礎上新檢測出47個鋼鐵廠,如圖7(a)、7(b)所示。從京津冀地區(qū)的鋼鐵廠檢測實驗結(jié)果可知,增加maxout模塊的新目標檢測網(wǎng)絡檢測鋼鐵廠的精度達到80%以上。
圖7 京津冀鋼鐵廠檢測結(jié)果Fig.7 Detection results of steel plants in Jing-Jin-Ji area
本文通過分析遙感影像和鋼鐵廠特性,在SSD目標檢測網(wǎng)絡的基礎上添加maxout模塊,通過增加負樣本通道分支數(shù)加強網(wǎng)絡對無用特征的抵制作用,構建融合遙感特征的深度學習目標檢測網(wǎng)絡,大大提升了鋼鐵廠的檢測精度。同時,該網(wǎng)絡在京津冀地區(qū)的鋼鐵廠檢測任務中取得較好的效果,與人工解譯的鋼鐵廠結(jié)果相比,目標網(wǎng)絡檢測精度為80.5%,并且新檢測出47個鋼鐵廠。實驗證明利用深度學習方法在海量遙感影像數(shù)據(jù)中快速識別復雜度目標具備可行性??紤]到遙感影像中鋼鐵廠檢測的難度,本文提出的目標檢測方法對于提高大區(qū)域鋼鐵廠檢測的效率具有重要意義。同時,此方法可以推廣到與鋼鐵廠類似的其他“三高”(高污染、高耗能、高耗水)企業(yè)檢測任務中,進一步提升去產(chǎn)能監(jiān)控和環(huán)境保護力度。
由于鋼鐵廠的正樣本數(shù)量極少,只是增強負樣本的抵制作用無法更有效地提升該目標檢測網(wǎng)絡的精度。但是考慮到鋼鐵廠特征要素豐富,今后將主要針對鋼鐵廠本身的局部特征進行網(wǎng)絡結(jié)構優(yōu)化,進一步提升鋼鐵廠整體特征的識別精度。