于新莉, 宋 妍, 楊 淼, 黃 磊, 張艷杰
(1.中國地質(zhì)大學(武漢)地理與信息工程學院,武漢 430074; 2.國家衛(wèi)星海洋應用中心,北京 100081)
船舶產(chǎn)業(yè)為海洋資源開發(fā)、國防建設(shè)等提供幫助[1],在維護海洋權(quán)益、探索海洋資源等多個領(lǐng)域承擔著重要角色,得到世界各國尤其是沿海地區(qū)和國家的重視[2]。結(jié)合衛(wèi)星遙感圖像成像范圍廣、重訪周期短等優(yōu)點,提取造船企業(yè)位置,對修復沿岸生態(tài)環(huán)境、保護水域環(huán)境以及促進船舶產(chǎn)業(yè)的協(xié)調(diào)發(fā)展具有現(xiàn)實意義。
與自然景物圖像相比,衛(wèi)星遙感數(shù)據(jù)具有尺度大、場景復雜等特點。針對遙感數(shù)據(jù)中復雜場景識別問題,部分學者結(jié)合卷積神經(jīng)網(wǎng)絡(luò),運用多示例、多標簽[3]等思想提取場景的多語義、多尺度特征,取得了良好的效果[4-7]。空間分布也作為重要特征應用于場景識別中,多項研究表明充分利用場景的空間布局信息能提高場景識別的準確性[8-12]。但此類方法需要對場景進行多次空間劃分,可能導致大型地物被過度分割產(chǎn)生特征丟失的情況,降低了識別準確性[13]。
船企作為衛(wèi)星影像中的一種具有高階語義特性的復雜場景,常規(guī)遙感分類識別方法無法充分利用船企場景特征,難以取得理想的結(jié)果。本文綜合了船企的多尺度、多語義特征及空間關(guān)系特征進行船企場景充分表達,提出了一種結(jié)合空間約束的卷積神經(jīng)網(wǎng)絡(luò)多模型多尺度的船企場景識別方法。
利用卷積神經(jīng)網(wǎng)絡(luò)識別船企前應先掌握船企的圖像特征,建立船企解譯標志、統(tǒng)計船企內(nèi)部地物空間特征并了解船企分布情況,為后續(xù)樣本集的制作、識別算法的研究提供參考。
分析船企在遙感影像上的特征表現(xiàn),如圖1,船企內(nèi)部可以分為船塢(臺)、船只和廠房,解譯標志見表1。
圖1 船企內(nèi)部結(jié)構(gòu)圖Fig.1 Internal structure diagram of the shipbuilding enterprise
表1 船企內(nèi)部解譯標志Tab.1 Interpretation marks within the shipbuilding enterprise
根據(jù)船企解譯標志、船企空間分布知識[2]和中國船舶工業(yè)年鑒資料[14],基于資源三號衛(wèi)星遙感影像進行全國船企矢量提取。進一步,依據(jù)船企矢量提取結(jié)果,對船企內(nèi)部地物的面積和地物之間的空間距離進行統(tǒng)計。
1)船企建設(shè)面積統(tǒng)計。船企面積分布差異較大,最大的船企面積達6.8×106m2,而最小的船企面積小于1×104m2,占地面積在7×105m2以下的船企數(shù)目占85%。
2)內(nèi)部地物占地面積統(tǒng)計。對船塢(臺)、廠房、船只3類重要船企內(nèi)部地物進行分析與統(tǒng)計: 其中船塢(臺)占地面積在5×104m2以內(nèi)的占97%; 在5×104~1×105m2之間的為3%。廠房面積在5×104m2以內(nèi)占97%,而5×104~1×105m2之間為3%。
3)內(nèi)部地物空間距離統(tǒng)計。船塢(臺)是船企內(nèi)最核心的地物,能夠反映船企的生產(chǎn)能力,是船企解譯中具有唯一性的判別標志。因此,本文在建立內(nèi)部地物空間關(guān)系時,以船塢(臺)為基準,對船塢(臺)與船只,船塢(臺)與廠房的質(zhì)心間的距離進行近鄰分析,計算廠房、船只與船塢(臺)質(zhì)心之間的最近距離。
船塢(臺)與廠房距離小于400 m的占93%,距離大于400 m占比7%; 船塢(臺)與船只之間的距離小于400 m的占92%,距離大于400 m的占8%。
本文選用經(jīng)典殘差網(wǎng)絡(luò)(ResNet)作為基準網(wǎng)絡(luò)。殘差學習單元(圖2)分為兩個分支,分別為殘差函數(shù)F(x)和輸入的恒等映射x,經(jīng)過殘差學習后的期望輸出為H(x)=F(x)+x,該段網(wǎng)絡(luò)需要學習的目標函數(shù)即為F(x)=H(x)-x。這種近路連接的方式在一定程度上降低了學習難度,不需要引入其他參數(shù)增加網(wǎng)絡(luò)訓練的計算負擔,同時可以讓梯度信息被有效利用和傳播下去,較好地避免了網(wǎng)絡(luò)層數(shù)越來越深帶來的梯度彌散現(xiàn)象[15]。
圖2 殘差學習單元Fig.2 Residual learning unit
船企內(nèi)部地物之間分布密集,且形狀不規(guī)則,因此不同類別樣本存在重疊和相似。多個具有相似特征的樣本一起訓練時,會產(chǎn)生特征競爭現(xiàn)象,導致公用特征被某一類別獨占,特征難以被充分利用,無法達到預期的類別檢測效果。
本文提出多模型多尺度船企場景識別方法。該方法基于全局尺度場景樣本訓練得到船企場景模型,在局部尺度下,分別采用船塢(臺)樣本、船只樣本和廠房樣本單獨訓練多個對象模型,對同一場景采用訓練后的多個模型進行檢測,避免類別得分被平均而導致漏檢,如圖3所示。
圖3 多模型檢測流程Fig.3 Multi-model detection process
本文采用全局尺度模型進行船企場景初檢測,獲取船企候選區(qū)域,并在候選區(qū)域內(nèi)開展局部對象檢測,得到各局部對象的粗略位置和語義標簽。為提升場景識別的準確性,結(jié)合弱監(jiān)督學習方法精化船塢(臺)、船只和廠房在圖像中的位置分布,計算各地物間的空間距離。最終結(jié)合多尺度模型檢測結(jié)果、局部對象標簽組合方式以及空間距離條件進行船企場景的綜合識別。
2.3.1 全局尺度初檢測
為縮小船企檢測范圍,首先基于全局尺度船企場景模型在研究區(qū)進行初步滑窗檢測,獲取船企候選區(qū)域(圖4)。
(a) 全局初檢 (b) 初檢細節(jié)展示 (c) 局部對象檢測 (d) 局部對象檢測結(jié)果圖4 多模型多尺度船企識別流程Fig.4 Multi-model and multi-scale shipbuilding enterprise recognition process
2.3.2 局部尺度精檢測
在全局尺度初檢測的基礎(chǔ)上,將場景切割為多個局部圖像塊,以此為依據(jù)開展局部尺度精檢測(如圖4(c)所示,分別沿著圖中箭頭方向進行滑窗檢測)。最后提取出船塢(臺)、船只、廠房對象的局部圖像塊(如圖4(d)所示,紅色框為船塢(臺),黃色框為廠房,藍色框為船只)。此時,船企可視為由多個局部圖像塊的標簽所組成的高階語義場景。
2.3.3 空間距離約束
將船企內(nèi)部地物空間距離作為約束條件進一步提高船企場景的識別精度。為了獲得較為精確的空間距離,應獲取船企內(nèi)部對象的位置信息。目前采用卷積神經(jīng)網(wǎng)絡(luò)獲取位置信息的成熟算法主要基于強監(jiān)督學習思想[16],需要提前大量標注目標位置的訓練樣本。但對于船企這一復雜人工岸線,其具有語義豐富、內(nèi)部構(gòu)造復雜、地物邊界不清晰、形狀不規(guī)則等特點,為船企場景樣本加上范圍和位置標注框的人力成本較高且具有主觀性。如果標注者缺乏船企場景的專家知識,則難以保證目標框選的準確性?;诖筇崛〉膶嶋H需求以及樣本標注的困難性,考慮到方法的適用性和實用性,強監(jiān)督學習的目標檢測并不是最合適的方法。
本文采用弱監(jiān)督學習中的不精確監(jiān)督方法[17],用圖像級別標注的樣本,借助卷積神經(jīng)網(wǎng)絡(luò)深層特征的定位特性提取目標大致位置。采用梯度加權(quán)類激活映射[18](Grad-CAM)可視化每類對象的像素級位置?;谏顚犹卣鲌D的定位特性,Grad-CAM的每個特征圖對指定類別的權(quán)重計算見公式(1):
(1)
式中:z為該特征圖中像元數(shù)量;yc為對應類別c的分數(shù);Aijk為第k個特征圖中(i,j)所在位置的像素值;z=m×n,1
(2)
Grad-CAM的優(yōu)點在于可以不改變網(wǎng)絡(luò)結(jié)構(gòu)來實現(xiàn)可視化,且應用十分便捷,可以直接擴展到任意訓練完成的卷積神經(jīng)網(wǎng)絡(luò)中,對網(wǎng)絡(luò)的訓練過程沒有要求。
基于深層網(wǎng)絡(luò)的定位特性和Grad-CAM方法將對象所在的大致像素位置提取出來,開展空間距離約束。具體過程如圖5所示,左圖為船企初步識別結(jié)果。對其內(nèi)部對象進行檢測,分別檢出廠房(紅色框)、船塢(臺)(藍色框)、船只(綠色框),對檢測出的局部對象進行可視化,獲取類別響應區(qū)域中紅色像元所在位置,據(jù)此進行船企內(nèi)部不同地物的空間約束。
圖5 局部對象空間關(guān)系約束Fig.5 Local object spatial relationship constraints
結(jié)合場景多尺度標簽得分、局部對象標簽組合、局部對象空間距離約束3個決策條件對船企場景進行綜合評判,并提取滿足3類條件的區(qū)域,具體為:
1)多尺度標簽得分。通過調(diào)低船企場景置信度閾值盡可能提取候選場景以避免漏檢,實驗中該閾值設(shè)置為0.8。設(shè)置較高的局部對象檢測閾值進一步減少局部對象錯檢,實驗中該閾值為0.95。置信度高于兩種閾值的區(qū)域,符合船企場景的多尺度標簽得分條件。
2)局部對象標簽組合條件。局部對象組合方式會為場景分配不同類別標簽,只有當場景內(nèi)同時存在船塢(臺)、船只和廠房標簽,認為其滿足船企標簽組合條件。
3)局部對象空間距離約束條件。計算船塢(臺)-船只和船塢(臺)-廠房的空間距離,依據(jù)船企內(nèi)部地物空間統(tǒng)計規(guī)律,當面積和地物之間的距離結(jié)果符合時,則認為滿足對象空間距離條件。
實驗中計算機軟硬件參數(shù)為: CPU為i7-8700,顯卡為RTX2070,操作系統(tǒng)為Ubuntu16,框架為Pytorch1.1.0,編程語言為Python。
長江沿岸是我國船企集群程度最高的區(qū)域,因此,選擇我國長江流域江蘇段(范圍E118°27′~121°57′,N31°38′~32°22′,總面積6 307 km2)為第一個實驗區(qū); 采用2018年資源三號融合后正射影像進行船企識別。為進一步驗證方法的適用性,依據(jù)空間分辨率2 m左右的衛(wèi)星影像,分別在日本和韓國選取造船業(yè)發(fā)達的區(qū)域進行識別實驗。日本研究區(qū)為造船業(yè)較為發(fā)達的長崎縣和愛媛縣周邊部分區(qū)域。其中,長崎縣區(qū)域(簡稱日本研究區(qū)一)位于E129°42′~130°1′,N32°39′~33°7′; 愛媛縣區(qū)域(簡稱日本研究區(qū)二)位于E132°54′~133°45′,N33°53′~34°21′。2個研究區(qū)總占地面積為5 472 km2。韓國研究區(qū)為木浦市和巨濟市周邊區(qū)域。木浦市區(qū)域(簡稱韓國研究區(qū)一),位于E126°13′~126°30′,N34°33′~34°55′; 巨濟市區(qū)域(簡稱韓國研究區(qū)二),位于E128°24′~129°3′,N34°47′~35°12′。韓國2個研究區(qū)總占地面積為3 738 km2。
船企場景識別流程如圖6所示,接下來對船企場景識別的整個實驗流程進行介紹。
圖6 船企場景識別流程Fig.6 Scene recognition process of shipbuilding enterprise
首先進行樣本集制作,充分利用現(xiàn)有基準數(shù)據(jù)集AID[19],NWPU-RESISC45[20],選擇常見土地覆蓋類型作為背景負樣本。采用兩類衛(wèi)星遙感數(shù)據(jù)(資源三號和Google Earth 2 m分辨率遙感影像),依靠人工目視解譯識別船企并制作船企正樣本,包含全局船企場景樣本、局部船塢(臺)、廠房、船只樣本。船企樣本集制作充分考慮全國不同地區(qū)、不同格局、不同規(guī)模的船企的差異性,依據(jù)各地物大小不一,制作的樣本大小不同,在輸入網(wǎng)絡(luò)時,進行處理,大小統(tǒng)一為224×224。樣本數(shù)量如表2所示。對待檢測試驗區(qū)影像進行預處理,由于船企位于水陸交界區(qū)域,因此依據(jù)水邊線進行緩沖區(qū)提取,剔除影像中大部分陸地區(qū)域。
表2 樣本數(shù)量Tab.2 Number of samples
1)樣本劃分與增強。樣本的選取需要保證訓練樣本的數(shù)量,同時應考慮不同地域樣本的差異性和多樣性。為識別江蘇省船企,訓練模型時采用除江蘇省外的全國船企樣本集。國內(nèi)外船企廠區(qū)內(nèi)部地類具有高度相似性,因此為識別日本和韓國船企,訓練模型時采用全國船企樣本。在劃分訓練和測試樣本時,按照8∶2的比例隨機劃分。對樣本進行了隨機翻轉(zhuǎn)和隨機旋轉(zhuǎn)操作,并進行色調(diào)變化調(diào)整。
2)網(wǎng)絡(luò)訓練參數(shù)設(shè)置與結(jié)果。基礎(chǔ)網(wǎng)絡(luò)采用ResNet50,通過對在ImageNet數(shù)據(jù)集上訓練收斂的ResNet50網(wǎng)絡(luò)進行微調(diào)更新網(wǎng)絡(luò)相關(guān)參數(shù)。運用基于動量的隨機梯度下降方法,動量因子0.9,批處理大小為64,訓練過程中迭代次數(shù)為200,采用交叉熵損失函數(shù)。學習率初始設(shè)置為0.000 1,并根據(jù)迭代次數(shù)和接近收斂程度調(diào)整學習率,每次調(diào)整將學習率減小10倍。表3為網(wǎng)絡(luò)訓練收斂后,船企場景、船塢(臺)、廠房、船只4類地物的分類精確度、召回率、漏警率和虛警率結(jié)果。
表3 網(wǎng)絡(luò)訓練結(jié)果Tab.3 Network training results (%)
通過訓練獲得4類模型: 船企場景模型、船塢(臺)模型、船只模型和廠房模型。采用上述多個模型進行船企多模型多尺度檢測,并采用弱監(jiān)督學習的方法計算場景內(nèi)部地物之間的空間距離,結(jié)合多個約束條件進行船企場景的綜合評判與識別。圖7—9為不同實驗區(qū)的檢測過程和結(jié)果。具體步驟如下: 依據(jù)1.2節(jié)的分析結(jié)果,采用2 m分辨率遙感影像進行船企識別時,將船企全局場景檢測框長度設(shè)置在400~600像素之間; 局部對象檢測框長度設(shè)置在100~200像素之間。為避免圖像塊切割導致場景特征被破壞,將滑窗移動步長設(shè)置的較小(長度約為局部對象檢測框的1/3)。采用非極大值抑制方法將大面積重復的檢測框刪除。最后,采用結(jié)合場景多尺度檢測標簽得分、對象多標簽組合方式和對象空間距離約束進行船企場景綜合判別。
(a) 區(qū)域一全局檢測結(jié)果 (b) 區(qū)域一局部檢測結(jié)果 (c) 區(qū)域一綜合判別結(jié)果
(d) 區(qū)域二全局檢測結(jié)果 (e) 區(qū)域二局部檢測結(jié)果 (f) 區(qū)域二綜合判別結(jié)果圖7 江蘇省研究區(qū)域結(jié)果展示Fig.7 Display of the results of the study area in Jiangsu Province
(a) 全局檢測結(jié)果 (b) 局部檢測結(jié)果 (c) 綜合判別結(jié)果圖8 日本研究區(qū)域結(jié)果展示Fig.8 Display of results of the study area in Japan
(a) 全局檢測結(jié)果 (b) 局部檢測結(jié)果 (c) 綜合判別結(jié)果圖9 韓國研究區(qū)域結(jié)果展示Fig.9 Display of results of the study area in Korea
目前多種基礎(chǔ)網(wǎng)絡(luò)如AlexNet[21]及VGG16[22]等均可以應用在本文的框架中,為了驗證ResNet50基礎(chǔ)網(wǎng)絡(luò)在船企識別中的有效性,分別采用AlexNet和VGG16網(wǎng)絡(luò)模型作為基礎(chǔ)網(wǎng)絡(luò),使用本文方法對江蘇省船企進行識別,模型訓練和檢測參數(shù)設(shè)置根據(jù)實際情況微調(diào),以達到最優(yōu)效果。識別結(jié)果的精確度、召回率、虛警率和漏警率如表4所示。可以看出,AlexNet和VGG16基礎(chǔ)網(wǎng)絡(luò)識別結(jié)果的虛警率較高,對船企和其他沿江目標的區(qū)分能力有限,識別效果不如ResNet50網(wǎng)絡(luò)模型。
表4 基于不同基礎(chǔ)網(wǎng)絡(luò)模型的江蘇省船企識別結(jié)果Tab.4 Recognition results of shipbuilding enterprises in Jiangsu Province based on different basic network models (%)
以ResNet50作為基礎(chǔ)網(wǎng)絡(luò),使用本文方法識別出的江蘇省船企分布如圖10所示,區(qū)域內(nèi)共識別出121個船企,其中正檢105個,錯檢16個,漏檢18個船企。識別結(jié)果細節(jié)見表5。
圖10 江蘇省船企分布的最終識別結(jié)果Fig.10 Final recognition results of the distribution of shipbuilding enterprises in Jiangsu Province
表5 江蘇省船企識別結(jié)果細節(jié)展示Tab.5 Detailed results in Jiangsu Province
進一步分析,發(fā)現(xiàn)正確識別結(jié)果主要包含大中型船企以及特征較為明顯的小型船企和灘涂船企; 錯檢結(jié)果主要為港口和沿海工廠; 漏檢主要為特征不顯著的中小型和灘涂船企。
4.2.1 日本研究區(qū)域
日本研究區(qū)一船企識別結(jié)果如圖11(a)所示,共檢出5處船企場景,其中4處為正檢場景,1個為錯檢場景。日本研究區(qū)二識別結(jié)果如圖11(b)所示,共檢出17個檢測框,其中16個為正檢,1個為錯檢,并存在3處漏檢。對日本2個研究區(qū)船企整體識別結(jié)果進行統(tǒng)計,日本實驗區(qū)船企識別的精確度為91%,召回率為87%,虛警率為9%,漏警率為13%,證明制作的船企樣本數(shù)據(jù)集和多模型多尺度方法應用于日本區(qū)域依然有效。表6中顯示日本研究區(qū)識別結(jié)果示例,漏檢一個大型和兩個小型船企,發(fā)生錯檢為沿海工廠和港口。
(a) 區(qū)域一 (b) 區(qū)域二圖11 日本研究區(qū)域的船企識別結(jié)果Fig.11 The recognition results of shipbuilding enterprises in Japan study area
表6 日本研究區(qū)船企識別結(jié)果細節(jié)展示Tab.6 Detailed display of recognition results of shipbuilding enterprises in Japanese research areas
4.2.2 韓國研究區(qū)域
韓國研究區(qū)識別結(jié)果如表7和圖12所示。研究區(qū)一共檢出6個正檢場景(圖12(a))。韓國研究區(qū)二共檢出16個為正檢場景,4個錯檢場景,存在2個漏檢船企(圖12(b))。韓國研究區(qū)船企的總體識別精確度為85%,召回率為92%。對識別結(jié)果分析得知,錯檢主要為港口,而漏檢主要為小型船廠。
表7 韓國研究區(qū)船企識別結(jié)果細節(jié)展示Tab.7 Detailed display of recognition results of shipbuilding enterprises in Korean research areas
(a) 區(qū)域一 (b) 區(qū)域二圖12 韓國研究區(qū)域的船企識別結(jié)果Fig.12 The recognition results of shipbuilding enterprises in Korea study area
通過對日韓研究區(qū)域船企識別的結(jié)果分析,可知本文方法可以較好地對日韓區(qū)域進行船企識別。漏檢和錯檢主要原因為: 船企內(nèi)部空間距離、廠房色調(diào)等方面與國內(nèi)存在差異,如國內(nèi)船企廠房主要為棕色、白色和藍色,而日本部分船企的廠房呈淺綠色; 同時,日韓研究區(qū)中少量船企建在島嶼上,空間布局較為獨特。
針對船企語義豐富、場景復雜的特點,本文充分利用了場景多尺度、多語義、空間布局信息,提出了一種結(jié)合空間距離約束的多模型多尺度船企場景識別方法。將該方法應用于國內(nèi)外研究區(qū)域進行船企識別,實驗結(jié)果證明了本文方法的可行性和有效性,提取的船企空間分布情況能夠為政府產(chǎn)能調(diào)控、產(chǎn)業(yè)布局提供宏觀決策依據(jù)。