馮源 肖志峰
(武漢大學(xué)測繪遙感信息工程國家重點實驗室,湖北 武漢 430079)
飛機目標型號識別是遙感影像目標識別中的一個重要分支,在遙感影像的軍民應(yīng)用領(lǐng)域有著廣泛運用。近年來,得益于深度學(xué)習(xí)算法和影像處理技術(shù)的飛速發(fā)展,飛機目標型號識別技術(shù)有了長足進步,但仍然有較大的提升空間。
遙感影像中影響飛機型號識別精度的因素有很多 :影像噪聲、背景復(fù)雜、旋轉(zhuǎn)角度過大、形狀相似、細分類數(shù)據(jù)缺乏等等。為解決這些問題而誕生的研究數(shù)不勝數(shù),其中較具代表性的方法可以分成兩大類:端到端識別和雙階段識別。端到端識別往往通過搭建深度神經(jīng)網(wǎng)絡(luò)直接對飛機圖像實現(xiàn)分類。Diao 等首次使用深度置信網(wǎng)絡(luò)解決飛機識別問題,但僅能在小范圍型號中保持較高精度[1]。Fu 等提出了多類激活映射方法,能夠充分利用飛機結(jié)構(gòu)特征[2]。Yi 等關(guān)注飛機的局部和多級特征,將多級注意力機制引入類型識別網(wǎng)絡(luò)[3]。
端到端方法有一個共同的缺點——無法確保訓(xùn)練集以外飛機型號的識別精度。因此,雙階段識別方法應(yīng)運而生。雙階段識別往往通過特征提取和型號分類兩個階段實現(xiàn)識別。在型號分類器的選擇上,輕量化且高效的機器學(xué)習(xí)方法備受青睞。但在特征提取器上經(jīng)歷了從Hu 矩[4]、傅里葉描述子[5]、SIFT[6]等傳統(tǒng)人工特征到基于深度學(xué)習(xí)特征的演變。傳統(tǒng)人工特征因為缺乏對噪聲和復(fù)雜背景的魯棒性而被淘汰,基于深度學(xué)習(xí)的特征在最近十年逐步成為研究熱點。Zhao等開了運用關(guān)鍵點檢測思想解決飛機細粒度識別的先河,其方法改善了以往方法的數(shù)據(jù)敏感性問題[7]。后續(xù)的研究基于關(guān)鍵點檢測思想做了許多嘗試,進一步表明通過關(guān)鍵點檢測預(yù)測坐標和方向可以輔助分割模型提取精確的飛機輪廓[8]。Zhang 等使用生成對抗網(wǎng)絡(luò)從無類型標注數(shù)據(jù)集學(xué)習(xí)關(guān)鍵點特征表示飛機[9]。雖然這些方法均在不同程度上緩解了數(shù)據(jù)敏感性問題,但是在面對困難樣本和繁多型號時仍然有不小的改進空間。
為了解決上述問題,本文在現(xiàn)有基于關(guān)鍵點檢測的飛機識別方法上更進一步。首先搭建了一個融合熱力圖回歸和坐標回歸的飛機關(guān)鍵點檢測模型,設(shè)計鄰域回歸模塊以限制離群點。隨后,提出了一種結(jié)構(gòu)知識驅(qū)動的飛機型號識別方法,從精確的關(guān)鍵點坐標出發(fā)提取結(jié)構(gòu)特征,實現(xiàn)飛機目標細粒度識別。實驗表明,該方法兼具精度和可靠性,在低數(shù)據(jù)量下仍能保持較好表現(xiàn)。
基于關(guān)鍵點檢測思想的識別方法一般需要根據(jù)識別目標的特點,人為設(shè)計關(guān)鍵點分布方案,賦予各個關(guān)鍵點具體的語義特征。此前一些運用關(guān)鍵點檢測思想的飛機識別方法往往僅定義較少數(shù)量的關(guān)鍵點,或?qū)⑸倭筷P(guān)鍵點作為細粒度識別的輔助手段[7-9]。與這些方法不同的是,本文將關(guān)鍵點作為飛機型號識別的主要依據(jù)。而在眾多飛機型號中,存在許多細節(jié)上形態(tài)較為相似的型號,應(yīng)用少量關(guān)鍵點無法體現(xiàn)結(jié)構(gòu)上的細微差別,難以區(qū)分此類型號。為此,本文基于飛機結(jié)構(gòu)特點,定義足夠數(shù)量的關(guān)鍵點以保留飛機結(jié)構(gòu)細節(jié)特征,設(shè)計了如圖1 所示的適應(yīng)主流飛機型號的87 點關(guān)鍵點分布方案。
圖1 87點飛機關(guān)鍵點分布方案
考慮到主流飛機型號的結(jié)構(gòu)特點,本文劃分了四個主要的飛機結(jié)構(gòu):機身、機翼、翼上發(fā)動機、尾翼。在確保關(guān)鍵點能夠描述結(jié)構(gòu)細節(jié)的前提下,各個飛機結(jié)構(gòu)包含的關(guān)鍵點按照如下分配,其中存在部分點同時從屬于多個結(jié)構(gòu):
機身:點0-8,33-37,50-54,79-86;
機翼:點8-29,58-79;
翼上發(fā)動機:點9-23,64-78;
尾翼:點37-50。
部分飛機型號存在相當大的結(jié)構(gòu)差異,以發(fā)動機布置方式為例,有翼上、機身等多種形式,發(fā)動機數(shù)量則有雙發(fā)、四發(fā)、六發(fā)等,僅僅憑借少量關(guān)鍵點難以實現(xiàn)此類結(jié)構(gòu)差異的區(qū)分[7]。為此,本文著重增加了關(guān)鍵點的數(shù)量,使關(guān)鍵點定義能夠適應(yīng)多種飛機型號的結(jié)構(gòu)差異情況,對于發(fā)動機布置方式和數(shù)量都有較強的適應(yīng)性(如圖2 所示)。相比以往關(guān)鍵點定義方法,這種自適應(yīng)性也保證了本文方法能夠描述更多的飛機結(jié)構(gòu)細節(jié)特征。
圖2 關(guān)鍵點定義對不同飛機型號的適應(yīng)
通過檢測具有結(jié)構(gòu)語義特征的關(guān)鍵點提取飛機結(jié)構(gòu),需要構(gòu)建飛機關(guān)鍵點檢測模型?;谧鴺嘶貧w和基于熱力圖回歸是關(guān)鍵點檢測的兩大主流方法?;谧鴺嘶貧w的方法直接預(yù)測關(guān)鍵點坐標,速度快但精度有限;基于熱力圖回歸的方法通過多通道的熱力圖預(yù)測關(guān)鍵點所在位置的概率,間接預(yù)測關(guān)鍵點位置,精度較高但速度慢,且存在部分點嚴重偏離附近點的離群點問題??紤]到以上方法的特點,本文結(jié)合坐標回歸和熱力圖回歸的優(yōu)勢,添加鄰域回歸模塊,設(shè)計了如圖3 所示的飛機關(guān)鍵點檢測模型。
圖3 中,檢測模型采用經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)ResNet-101[10]作為主干網(wǎng)絡(luò),提取輸入飛機圖像的特征信息。特征信息分別經(jīng)過熱力圖回歸模塊、坐標回歸模塊以及領(lǐng)域回歸模塊輸出最大概率網(wǎng)格、相對網(wǎng)格原點的偏移坐標X,Y 和鄰近關(guān)鍵點的偏移坐標Xi,Yi。熱力圖回歸模塊采用N 通道1×1 卷積,將原始輸入圖像劃分為7×7 個尺寸相同的正方形網(wǎng)格,通過熱力圖預(yù)測每個網(wǎng)格中某一關(guān)鍵點的出現(xiàn)概率,從而大致預(yù)測關(guān)鍵點位置。其中,N 為關(guān)鍵點總數(shù),本文中N=87。
與先前研究中的許多熱力圖回歸關(guān)鍵點檢測網(wǎng)絡(luò)不同,該網(wǎng)絡(luò)的熱力圖預(yù)測僅需劃分較為稀疏的網(wǎng)格,減小了計算量,在低分辨率的熱力圖上實現(xiàn)快速的網(wǎng)格級關(guān)鍵點位置預(yù)測。坐標回歸模塊采用2N 通道1×1 卷積,在熱力圖預(yù)測概率最大的網(wǎng)格基礎(chǔ)上,預(yù)測關(guān)鍵點相對于該網(wǎng)格坐標原點的偏移坐標,得到關(guān)鍵點的確切位置,在部分遮擋情況下仍具備較好的輪廓聯(lián)想能力。鄰域回歸模塊采用2N×M 通道1×1 卷積,讓待預(yù)測關(guān)鍵點鄰近的關(guān)鍵點參與對該關(guān)鍵點的位置預(yù)測,輸出鄰近關(guān)鍵點相對于該關(guān)鍵點所在網(wǎng)格坐標原點的位置偏移,從而達成對該關(guān)鍵點的位置約束,減輕與周圍點嚴重偏離的離群點現(xiàn)象。其中,M 為參與計算的鄰近關(guān)鍵點數(shù)量,本文取M=40,那么每個關(guān)鍵點的位置會被它距離最近的40 個點所約束。輸出網(wǎng)格和坐標后,模型將計算損失,以損失的加權(quán)和作為網(wǎng)絡(luò)訓(xùn)練的優(yōu)化目標,其損失函數(shù)見下式[11]:
式中,LH、LC和LN分別表示熱力圖回歸、坐標回歸和鄰域回歸的損失,βC和βN分別表示坐標回歸和鄰域回歸的損失權(quán)重,本文取經(jīng)驗值βC=0.1,βN=0.1。Sijk和是關(guān)鍵點在單個網(wǎng)格上歸一化后的概率真實值和預(yù)測值;oijkl和是關(guān)鍵點與其所在網(wǎng)格坐標原點的歸一化后的偏移真實值和預(yù)測值;nijkml和和是鄰近關(guān)鍵點與單個預(yù)測關(guān)鍵點所在網(wǎng)格坐標原點的歸一化后的偏移真實值和預(yù)測值。Sijk=1意味著只讓實際具有關(guān)鍵點的網(wǎng)格參與計算。
最后,在熱力圖輸出的具有最大概率的網(wǎng)格中,網(wǎng)絡(luò)將對應(yīng)的坐標偏移換算成實際關(guān)鍵點坐標。該坐標與鄰近點預(yù)測的坐標偏移在經(jīng)過直接的平均融合后,將作為模型的預(yù)測關(guān)鍵點坐標。
1.3.1 基于結(jié)構(gòu)顯著差別的離散特征過濾
目前全球飛機型號種類繁多,比較不同型號間飛機結(jié)構(gòu)細微差異是一個計算量較大的過程,將輸入飛機圖像與所有型號進行比較顯然是不現(xiàn)實的,會造成計算資源和時間上的浪費。經(jīng)過對大量飛機型號的比較分析,本文認為在遙感影像下,飛機結(jié)構(gòu)具有三個較為顯著的離散判別特征 :機翼有無、發(fā)動機位置分布、發(fā)動機數(shù)量,透過它們可以反映不同型號間結(jié)構(gòu)的顯著差別。根據(jù)這些特征,本文設(shè)計了如下的顯著差別判別方式:
式中,Aw和Af分別表示飛機單側(cè)機翼面積和機身面積,Ae1和Ae2分別表示機翼上靠近機身側(cè)的第一個發(fā)動機和第二個發(fā)動機的面積。這些面積可由關(guān)鍵點檢測模型預(yù)測的關(guān)鍵點坐標通過向量積算法求得。Twf表示翼身面積比閾值,Tew表示發(fā)動機機翼面積比閾值,Tee表示發(fā)動機間面積比閾值,這三個閾值需要根據(jù)具體研究的飛機樣本量和型號人為確定。本文在充分比較數(shù)據(jù)集中各型號的三個面積比值后,取經(jīng)驗值Twf=0.01,Tew=0.01,Tee=3。
經(jīng)過上述離散特征過濾,模型可以通過預(yù)測的關(guān)鍵點坐標快速劃分固定翼飛機和直升機、翼吊式和尾吊式飛機、雙發(fā)和四發(fā)以上飛機等類別,實現(xiàn)粗粒度的型號類別劃分,以緩解型號繁多導(dǎo)致的識別低效率問題。
1.3.2 融合全局和部件結(jié)構(gòu)連續(xù)特征的模板匹配
模板匹配是一種在目標細粒度識別中得到廣泛運用的算法,能夠檢測出輸入圖像和模板圖像的細節(jié)差別。本文識別模型將部件輪廓視作飛機結(jié)構(gòu)的連續(xù)性特征,融合飛機全局和部件結(jié)構(gòu)相似度,采用模板匹配方法實現(xiàn)結(jié)構(gòu)連續(xù)特征的相似度計算,具體計算方式如下:
式中,SA表示總和相似度,p 表示參與模板匹配計算的部件總數(shù)。SG和Si分別表示全局相似度和各部件相似度,使用相關(guān)系數(shù)算法計算:
式中,,Tx',y'和Tx'',y''表示模板圖像中某個像素灰度值和其他像素灰度值。。Ix',y'和Ix'',y''表示輸入圖像中某個像素灰度值和其他像素灰度值。w 和h 代表模板圖像寬高,輸入圖像須調(diào)整大小與之保持一致。
通過結(jié)構(gòu)連續(xù)特征相似度計算,識別模型可以從型號知識庫中找出與輸入飛機形態(tài)無論是全局還是各部件都最為相似的飛機型號,從而實現(xiàn)細粒度的飛機型號識別。
根據(jù)飛機型號先驗知識,本文搜集整理了一個具有手工標注關(guān)鍵點和型號分類的數(shù)據(jù)集。數(shù)據(jù)集中含有798 張帶有關(guān)鍵點和型號標注的飛機樣本,其中,606 張用作訓(xùn)練集,192 張用作驗證集,以及2291 張僅含型號標注的樣本用作測試集。
數(shù)據(jù)集的部分來源于aircraft-16[3]、MTARSI[12]和FAIR1M[13],其余部分在Google Earth,高分- 5 和高分- 7 的0.5m 至1.2m 分辨率下的遙感影像中搜集而成。所有關(guān)鍵點標簽均嚴格參照本文提出的87 點飛機關(guān)鍵點分布方案進行標注。數(shù)據(jù)集包括24 類飛機型號,因此命名為Type-24,圖4 展示了數(shù)據(jù)集中的一部分樣本。
圖4 數(shù)據(jù)集Type-24中的部分樣本
在數(shù)據(jù)集訓(xùn)練集的關(guān)鍵點標注基礎(chǔ)上,本文制作了如圖5 所示的飛機全局模板和部件模板用于識別模型的模板匹配。
圖5 由訓(xùn)練集生成的全局和部件模板
圖5 中,黑色模板表示飛機全局模板,橙色表示飛機機身,綠色表示機翼。在本文實驗中,參與模板匹配的部件總數(shù)p=2,匹配時僅考慮機身和機翼的部件結(jié)構(gòu)連續(xù)特征。
本節(jié)實驗驗證了關(guān)鍵點檢測模型的效果。606張訓(xùn)練集圖像和192 張驗證集圖像經(jīng)過7 次Copy-Paste[14]擴充,以及36 次隨機旋轉(zhuǎn)、裁剪和透視變換等數(shù)據(jù)擴充,最終得到將近200000 張圖像用于模型訓(xùn)練,50000 張用于模型驗證。本文的關(guān)鍵點檢測模型在4 張NVIDIA Tesla V100 顯卡上進行訓(xùn)練,將batch size 設(shè)置為32,將learning rate 設(shè)置為0.0001,模型輸入圖像尺寸為224×224,共迭代100個epoch。模型的部分關(guān)鍵點檢測結(jié)果如圖6 所示,在驗證集上的損失loss 為0.0075,說明本文關(guān)鍵點檢測方法具有較高的精度。
圖6 驗證集上部分關(guān)鍵點檢測結(jié)果
本節(jié)實驗在測試集上進行關(guān)鍵點檢測,將關(guān)鍵點預(yù)測坐標輸入識別模型驗證本文識別方法的有效性。本文方法的型號識別總體精度可達73.11%,識別結(jié)果的混淆矩陣如圖7 所示。
圖7 識別結(jié)果的混淆矩陣
圖7 中,型號2、4、13、14、15、16 的識別表現(xiàn)不佳,主要原因是訓(xùn)練集在這些型號上尚缺少數(shù)據(jù)量;從圖5 可以看出,型號4 在形態(tài)上與型號20、23 較為相似,也可能在一定程度上影響了識別精度;型號10、19 和21 由于形態(tài)特殊,識別精度較高。
本節(jié)設(shè)計了兩組實驗分別測試在刪去模型中部分模塊和刪減部分訓(xùn)練集數(shù)據(jù)量的情況下,本文方法受到的影響。前者還與全連接的ResNet-101 網(wǎng)絡(luò)直接型號分類的效果進行了比較,總體精度和耗時對比如表1 所示。實驗表明,部件模板匹配的加入有助于彌補全局模板匹配的準確率缺陷,但對模型速度有一定影響。而離散特征過濾模塊則能夠減小計算量,有效提升模型速度,還對識別精度有一定改善。
表1 具備不同模塊的模型消融實驗結(jié)果
第二組實驗結(jié)果如表2 所示,表明本文方法在缺乏訓(xùn)練數(shù)據(jù)時仍然具備可用性。結(jié)合表1 可以看出,本文方法在訓(xùn)練集數(shù)據(jù)量減半的情況下仍優(yōu)于在完整訓(xùn)練集下訓(xùn)練的ResNet-101 全連接型號識別模型。
表2 削減訓(xùn)練集數(shù)據(jù)量對識別效果的影響
為解決廣泛存在的數(shù)據(jù)依賴性和敏感性問題,本文提出了一種結(jié)構(gòu)知識驅(qū)動的遙感影像飛機型號識別方法,使用改進的關(guān)鍵點檢測模型提取飛機結(jié)構(gòu)特征,通過離散特征過濾和連續(xù)特征相似度計算實現(xiàn)細粒度型號識別。型號識別和消融實驗表明,本文提出的關(guān)鍵點檢測和全局部件融合匹配的識別流程充分利用了飛機結(jié)構(gòu)特征,能夠有效提高飛機型號識別精度;離散特征過濾的方法在提高識別效率的同時,也在一定程度上提升了識別精度。