余東行,郭海濤,張保明,趙 傳,盧 俊
信息工程大學(xué),河南 鄭州 450001
遙感影像重點目標(biāo)的檢測和識別是遙感影像智能解譯的重要研究方向,具有重要的應(yīng)用價值[1]。在諸多地物目標(biāo)中,飛機作為一種重要的運輸載體和武器裝備,其在遙感影像上的快速檢測和識別具有重要的現(xiàn)實意義。由于遙感影像背景復(fù)雜,大范圍遙感影像的飛機目標(biāo)自動化檢測和識別還沒有得到很好的解決。
傳統(tǒng)的飛機目標(biāo)識別算法多是利用目標(biāo)在影像上的不變矩特征[2-3]、顏色和紋理特征[4-5]、輪廓和結(jié)構(gòu)特征[6-9]、詞袋特征[10-11]等,這些特征穩(wěn)健性較差,并且特征的提取通常在較為準(zhǔn)確的影像分割或輪廓提取的前提下進行,極易受影像質(zhì)量和人工建筑等地物的影響:當(dāng)影像質(zhì)量較差或飛機周圍背景復(fù)雜時,會直接導(dǎo)致影像欠分割或過分割,從而難以提取有效的特征,影響后續(xù)目標(biāo)檢測與識別的精度。此外,這些方法通常采用滑動窗口[4,10]、圖像分割[2,7,9]或者視覺顯著性檢測[12-14]來搜索目標(biāo),滑動窗口法存在大量冗余窗口,針對性差、耗時長,而圖像分割法和視覺顯著性檢測易受到其他地物干擾,難以適用于大范圍場景下的飛機目標(biāo)搜索。
近年來,深度學(xué)習(xí)特別是卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在計算機視覺領(lǐng)域取得了巨大進展,并廣泛應(yīng)用于人臉識別和自動駕駛等領(lǐng)域,將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于遙感影像目標(biāo)檢測和識別任務(wù)中,能夠顯著提高地物目標(biāo)檢測的實效性。目前基于卷積神經(jīng)網(wǎng)絡(luò)的遙感影像目標(biāo)檢測方法主要有兩種思路,一種是采取滑動窗口或顯著性檢測先對影像進行無監(jiān)督搜索,然后利用卷積神經(jīng)網(wǎng)絡(luò)對候選窗口提取特征并分類,最終實現(xiàn)目標(biāo)的識別[15-17]。相比采用傳統(tǒng)特征的方法,這種方法可以提高目標(biāo)檢測和識別的精度,但在候選目標(biāo)選取過程中,同樣避免不了檢測耗時和泛化性差的問題。另一種是對Faster RCNN(以下均簡寫為FRCNN)[18]、YOLO[19]等自然場景下較為成熟的目標(biāo)檢測算法加以改進,應(yīng)用于遙感影像目標(biāo)識別[1,20-23],這種方法速度快,精度也得到大幅提升,但要實現(xiàn)大范圍、多尺度和復(fù)雜背景下飛機目標(biāo)的高精度檢測仍有一定難度。直接將自然場景下的目標(biāo)檢測算法應(yīng)用于遙感影像目標(biāo)檢測任務(wù)中,必須考慮以下問題:①相對于自然場景影像,遙感影像具有一定的特殊性[15],如影像質(zhì)量受成像條件影響較大、背景復(fù)雜、空間范圍廣、分辨率低、目標(biāo)小且分散、目標(biāo)呈多方向性等特點;②高精度卷積神經(jīng)網(wǎng)絡(luò)普遍具有數(shù)十層甚至上百層[24-25],巨大的存儲和計算開銷依賴于高性能的硬件設(shè)備,不僅難以有效處理大幅遙感影像,還嚴(yán)重限制了在可移動設(shè)備(如無人機等)上的應(yīng)用;③深層卷積神經(jīng)網(wǎng)絡(luò)模型含有大量參數(shù),訓(xùn)練需要大量的標(biāo)注數(shù)據(jù),訓(xùn)練過程復(fù)雜且耗時,在數(shù)據(jù)較少情況下難以達到理想的檢測效果;④基于深度學(xué)習(xí)的目標(biāo)檢測算法針對常規(guī)自然場景影像而設(shè)計,算法的泛化性依賴于訓(xùn)練數(shù)據(jù)集,并且受限硬件設(shè)備的計算能力,這些算法通常是針對固定大小的圖像進行訓(xùn)練和檢測[20-23],如FRCNN等算法只能處理大小約為1000像素的圖像,YOLO算法需要將待檢測圖像統(tǒng)一縮放至448×448像素,SSD300[26]需要將圖像縮放至300×300像素,當(dāng)輸入圖像較大時,必須更改網(wǎng)絡(luò)結(jié)構(gòu)或?qū)Υ蠓跋襁M行切分,這顯然不能滿足遙感影像目標(biāo)檢測的通用性以及尺度自適應(yīng)性。
針對上述問題,本文提出了一種基于多尺度級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的遙感影像飛機目標(biāo)檢測方法,利用小尺度淺層全卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)大幅影像的快速遍歷和目標(biāo)搜索,利用較深層卷積神經(jīng)網(wǎng)絡(luò)對候選目標(biāo)進行級聯(lián)分類和精確定位。淺層全卷積神經(jīng)網(wǎng)絡(luò)能夠支持任意大小的圖像輸入,并且具有極強的速度優(yōu)勢,多個卷積神經(jīng)網(wǎng)絡(luò)的級聯(lián)判斷機制可以彌補單個神經(jīng)網(wǎng)絡(luò)在精度上的缺點,使得本文方法速度更快、精度更高,并且更利于在可移動設(shè)備上的移植和應(yīng)用。
遙感影像目標(biāo)檢測的難點在于,大幅影像上目標(biāo)搜索帶來的巨大計算量和多尺度目標(biāo)特別是小目標(biāo)難以準(zhǔn)確檢測,雖然FRCNN、SSD等算法針對多尺度目標(biāo)檢測問題采用了融合不同尺度的特征以及預(yù)設(shè)先驗框等方式,但這遠遠不能有效應(yīng)對大范圍多尺度的遙感影像。深層卷積神經(jīng)網(wǎng)絡(luò)在大幅影像上的計算量較大,并且小目標(biāo)經(jīng)過多層卷積與池化,難以提取到有效特征,漏檢率較高,這種漏檢在后處理很難得到彌補。采取級聯(lián)分類思想在一定程度上可以提高大幅影像目標(biāo)搜索的效率和目標(biāo)檢測的精度:先利用小型卷積神經(jīng)網(wǎng)絡(luò)在影像上進行初步目標(biāo)檢測,快速獲取所有可能的區(qū)域作為候選目標(biāo),再將候選區(qū)域映射到高分辨率影像上,利用更高精度的卷積神經(jīng)網(wǎng)絡(luò)進行目標(biāo)類別和位置級聯(lián)確定,從而最大程度降低虛警率,保留真正目標(biāo)。級聯(lián)分類的思想最早應(yīng)用于人臉檢測和識別[27]。文獻[28]設(shè)計了級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)用于人臉識別,文獻[29]設(shè)計多任務(wù)級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)模型(multi-task cascaded convolutional neural networks,MTCNN)用于人臉檢測和關(guān)鍵點定位。MTCNN模型摒棄了常規(guī)依靠增加卷積神經(jīng)網(wǎng)絡(luò)深度來提高人臉檢測精度的做法,而采用多個小尺度卷積神經(jīng)網(wǎng)絡(luò)以級聯(lián)的方式實現(xiàn)人臉檢測,模型具有穩(wěn)健性強、輕量化、可實時等特點。此外,MTCNN采用淺層全卷積神經(jīng)網(wǎng)絡(luò)對影像進行目標(biāo)搜索,能夠支持輸入任意大小的圖像,這為大幅遙感影像的目標(biāo)搜索和檢測問題提供了一個快速高效的解決方案。由于遙感影像上的飛機目標(biāo)具有多方向性且背景復(fù)雜多樣等特點,本文以MTCNN模型為基礎(chǔ),通過對其網(wǎng)絡(luò)結(jié)構(gòu)進行優(yōu)化,并設(shè)計了相應(yīng)的樣本選取和模型訓(xùn)練方法,可有效降低模型的虛警率,提升檢測效果。
MTCNN模型由3個不同尺度的小型卷積神經(jīng)網(wǎng)絡(luò)組成,如圖1所示,分別為PNet、RNet和ONet。PNet為區(qū)域建議網(wǎng)絡(luò),用來生成候選目標(biāo)。PNet是一個淺層的全卷積網(wǎng)絡(luò),包含3個卷積層和1個池化層,輸入圖像大小為12×12像素。由于全卷積神經(jīng)網(wǎng)絡(luò)不含全連接層,可以滿足任意大小的圖像輸入,因此可以實現(xiàn)大范圍遙感影像的目標(biāo)搜索。PNet本質(zhì)上是一種利用GPU加速的滑動窗口法,在選取候選窗口的同時對每個候選窗口進行分類判斷。相對于傳統(tǒng)滑動窗口法,可以極大減少耗時。與PNet結(jié)構(gòu)相似,RNet和ONet輸入圖像大小分別為24×24像素、48×48像素,網(wǎng)絡(luò)結(jié)構(gòu)更深,用于對PNet輸出的候選目標(biāo)進行級聯(lián)判斷,能夠?qū)崿F(xiàn)更為精確的目標(biāo)分類和定位。
圖1 MTCNN模型結(jié)構(gòu)Fig.1 The structure of MTCNN
通過試驗發(fā)現(xiàn),直接利用MTCNN模型檢測飛機目標(biāo),存在的大量誤檢目標(biāo)。誤檢目標(biāo)主要為長條形車輛、人工建筑物等,筆者將這類與飛機目標(biāo)在形狀、紋理、顏色等方面具有極大相似性、易被誤識別的地物稱難分負(fù)樣本(hard negative example)。檢測過程中出現(xiàn)誤檢測的主要原因有:①地物種類復(fù)雜多樣,而訓(xùn)練樣本不均衡,負(fù)樣本種類和數(shù)量遠遠大于正樣本,但大多數(shù)的負(fù)樣本為易分樣本,如空地、草地等。大量易分樣本的存在將會在訓(xùn)練過程中稀釋反向傳播的梯度,導(dǎo)致模型無法有效排除建筑物、車輛等更復(fù)雜的人工地物。②小型化卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在較少參數(shù)和不均衡訓(xùn)練數(shù)據(jù)的情況下必然導(dǎo)致難以有效區(qū)分難分負(fù)樣本。③不同于自然場景下的人臉,遙感影像為俯視圖,飛機呈多方向旋轉(zhuǎn),其表觀特征變化較大,淺層網(wǎng)絡(luò)難以準(zhǔn)確識別。
原始的MTCNN模型采用小型、淺層的常規(guī)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),雖然計算速度較快,但其網(wǎng)絡(luò)結(jié)構(gòu)簡單,卷積層所提取的特征信息表達能力不夠。此外,RNet和ONet在卷積層之后用于分類的全連接層參數(shù)多,模型易過擬合,導(dǎo)致泛化能力降低。加深網(wǎng)絡(luò)雖然可以在一定程度上提高其性能,但其參數(shù)將大大增加,同時其模型檢測速度也將顯著降低,而對網(wǎng)絡(luò)結(jié)構(gòu)上的優(yōu)化將有助于提升模型的整體性能。傳統(tǒng)卷積操作是對數(shù)據(jù)的廣義線性變換,對數(shù)據(jù)特征的抽象化水平較低。文獻[30]提出了一種更高效的卷積方式,即在卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中大量使用大小為1×1的卷積,如圖2所示,不僅能夠得到抽象性更高、泛化能力更強的特征,還能起到數(shù)據(jù)降維的作用,這種卷積方式已廣泛應(yīng)用于各種主流的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之中。此外,采用全局池化替代傳統(tǒng)CNN中的全連接層,可以減少網(wǎng)絡(luò)參數(shù)并降低過擬合的可能。
圖2 改進的卷積層結(jié)構(gòu)Fig.2 Improved convolutional layer
因此,本文在原始MTCNN模型的部分卷積層之后加入非線性多層感知器,并去除全連接層,以提高模型的性能,改進后的級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)模型如圖3所示。由于PNet是用于興趣區(qū)域的生成,網(wǎng)絡(luò)輸入的圖像較小(12×12像素),即使增加網(wǎng)絡(luò)的復(fù)雜度也難以提高精度,反而會降低整個模型的速度和效率,因此保留原始PNet結(jié)構(gòu),而在對RNet和ONet的每個卷積層之后加入一個1×1卷積層,并除去最后的全連接層。
每個子網(wǎng)絡(luò)同時包含目標(biāo)分類和邊界回歸兩個任務(wù),其多任務(wù)損失函數(shù)為
(1)
(2)
(3)
為了增加訓(xùn)練數(shù)據(jù)的數(shù)量和多樣性,將訓(xùn)練樣本劃分為4種類別:正樣本、負(fù)樣本、部分正樣本及難分負(fù)樣本。正樣本和負(fù)樣本用于優(yōu)化模型的分類損失函數(shù),正樣本和部分正樣本用于優(yōu)化模型的邊界回歸損失函數(shù)。正樣本、負(fù)樣本和部分正樣本的劃分根據(jù)交并比(intersection-over-union,IOU)的大小來確定。IOU是目標(biāo)檢測任務(wù)中用來衡量定位精度的概念,采用所預(yù)測的候選框與真實標(biāo)注框面積的交集與并集的比值,計算公式為
(4)
式中,gt、dt分別為目標(biāo)真實的邊界框和預(yù)測邊界框。訓(xùn)練樣本的選取采取滑動窗口法,即對訓(xùn)練影像建立金字塔,采用一定大小的滑動窗口選取影像上的區(qū)域,如圖4所示,并計算選擇的區(qū)域與標(biāo)注邊界框的IOU,IOU大于0.7的區(qū)域標(biāo)記為正樣本,小于0.3的區(qū)域標(biāo)記為負(fù)樣本,介于0.5和0.7之間的區(qū)域作為部分正樣本。由于卷積神經(jīng)網(wǎng)絡(luò)提取的特征具有抽象性,難分負(fù)樣本的判斷和選取難以采用人工選取的方式,而由MTCNN模型檢測結(jié)果中的誤檢目標(biāo)組成,見1.3節(jié)。
圖3 改進的級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Improve MTCNN
為了盡可能利用有限的標(biāo)注數(shù)據(jù)提高模型的泛化性能,將訓(xùn)練過程分為預(yù)訓(xùn)練和離線難分樣本訓(xùn)練兩個步驟,如圖5所示。在預(yù)訓(xùn)練階段,采用在線難分樣本挖掘[31](online hard example mining,OHEM)的策略,即在訓(xùn)練過程中,對每一個批量的數(shù)據(jù)計算得到的前向傳播損失排序,將損失最大的一定比例的樣本作為難分樣本;在反向傳播的過程中,只利用難分樣本的損失對神經(jīng)網(wǎng)絡(luò)模型的權(quán)重進行更新。由于遙感影像背景范圍廣、種類多樣,選取的樣本中真正的難分負(fù)樣本數(shù)量較少,因此在預(yù)訓(xùn)練階段,將在線難分樣本的比例設(shè)置為40%。利用預(yù)訓(xùn)練好的MTCNN模型對不同尺度的訓(xùn)練影像進行檢測,此時模型能夠有效區(qū)分簡單背景與飛機目標(biāo),將獲得的檢測結(jié)果結(jié)合標(biāo)注信息,除去真正的飛機目標(biāo),即可獲得大量的誤檢目標(biāo),這些誤檢的目標(biāo)即為難分負(fù)樣本。OHEM策略的依據(jù)是訓(xùn)練樣本包含了數(shù)量充足、種類豐富的負(fù)樣本和正樣本,在卷積神經(jīng)網(wǎng)絡(luò)的反向傳播過程中忽略部分易分樣本的梯度。在沒有人工干預(yù)的情況下,選取的樣本絕大多數(shù)為簡單易分樣本,大量易分樣本的存在導(dǎo)致模型在檢測過程中不能有效區(qū)分難分負(fù)樣本,這是導(dǎo)致虛警和誤檢的主要原因,將難分負(fù)樣本加入到訓(xùn)練數(shù)據(jù)中可以降低檢測的虛警率和誤檢率。因此,在離線難分樣本訓(xùn)練階段,針對不同尺度的網(wǎng)絡(luò)模型,對選取的正樣本、負(fù)樣本和部分正樣本均分別縮放至12×12像素和24×24像素,分別訓(xùn)練PNet和改進的RNet;將獲得的難分負(fù)樣本與正樣本、部分正樣本縮放至48×48像素重新訓(xùn)練改進的ONet。
檢測過程采取級聯(lián)檢測,如圖6所示,對影像建立金字塔,利用PNet對每一級影像檢測來獲取候選窗口。PNet本質(zhì)上是一種GPU加速的滑動窗口法,PNet在每一級影像上滑動的同時,并判斷該窗口屬于飛機目標(biāo)的概率,從而形成該級影像的概率圖;以概率大于0.5的像素為中心,選取大小為12×12像素的區(qū)域作為候選窗口。將每一級影像獲取的候選窗口映射到原始影像上,獲得目標(biāo)切片,并利用RNet進行分類和邊界回歸;此后,再將滿足一定閾值的窗口再次利用ONet進行分類和邊界回歸,從而得到最終的檢測結(jié)果。候選窗口選取過程中將產(chǎn)生大量重疊窗口,因此檢測過程中采取非極大值抑制(non-maximum suppression,NMS)的策略減少窗口冗余。
本文采用4個不同數(shù)據(jù)集中的影像進行試驗:UCAS-AOD[32]、RSOD[15]、DOTA[33]和自建數(shù)據(jù)集,分別記為數(shù)據(jù)集A-D,不同數(shù)據(jù)集的基本信息和示例分別如表1和圖7所示。UCAS-AOD和RSOD數(shù)據(jù)集的影像均為小范圍機場區(qū)域切片,其中UCAS-AOD數(shù)據(jù)集中影像重復(fù)率較大,飛機目標(biāo)尺寸較大,背景及其他人工地物干擾較?。籖SOD數(shù)據(jù)集影像具有一定傾角,成像質(zhì)量較差,且存在大量的密集小目標(biāo);DOTA和自建數(shù)據(jù)集均選取能夠覆蓋整個機場的大范圍遙感影像。利用數(shù)據(jù)集A中70%的影像訓(xùn)練,共選取正樣本30 000個,部分正樣本30 000個,負(fù)樣本90 000個;其余影像作為測試數(shù)據(jù),以檢驗?zāi)P蛯Σ煌直媛?、大小、質(zhì)量影像的泛化性和實用性。計算機配置i7-6900K,3.2 GHz,64 GB內(nèi)存,NVIDIA GTX1080TI,11 GB顯存,試驗環(huán)境為Ubuntu16.04和 TensorFlow。
表1 不同數(shù)據(jù)集的基本信息Tab.1 Brief information of datasets used
圖7 不同數(shù)據(jù)集下的影像示例Fig.7 Samples of four datasets
采用精確率(precision)和召回率(recall)作為評價指標(biāo),計算公式為
(5)
(6)
式中,TP為正確識別飛機目標(biāo)數(shù)量;FP為影像中誤檢目標(biāo)數(shù)量;FN為漏檢目標(biāo)數(shù)量。
為驗證本文所設(shè)計的級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)模型與訓(xùn)練方式的有效性,利用相同的訓(xùn)練和測試數(shù)據(jù),對比了5種基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測方法:SSD300、YOLOv2[34]、FRCNN、RetinaNet[35]和未作改進的MTCNN方法。SSD300采用VGG16[24]作為骨干網(wǎng)絡(luò),YOLOv2、FRCNN和RetinaNet采用ResNet50[25]作為骨干網(wǎng)絡(luò)。MTCNN和本文方法均能檢測任意大小的影像,而FRCNN等算法不能直接檢測很大的圖像,因此利用FRCNN等算法檢測數(shù)據(jù)集C和D時,分別采取512×512像素和1024×1024像素兩種切分方式。
2.2.1 檢測效果分析
利用5種算法對4個數(shù)據(jù)中的影像進行檢測,并根據(jù)檢測結(jié)果中的精確率和召回率繪制PR(precision-recall)曲線,如圖8所示。綜合4種數(shù)據(jù)集的檢測結(jié)果來看,SSD300性能最差,其原因主要有:①訓(xùn)練數(shù)據(jù)來自數(shù)據(jù)集A,數(shù)據(jù)集A的影像大小為1280×659—1372×940像素,訓(xùn)練SSD300時,圖像縮放過于劇烈,嚴(yán)重影響模型訓(xùn)練和檢測效果;②本文采取數(shù)據(jù)集A中的部分影像作為訓(xùn)練集,去測試其余3個數(shù)據(jù)集,不同數(shù)據(jù)集的影像在大小、分辨率差異較大,導(dǎo)致檢測結(jié)果下降;③SSD300采用的是VGG16模型作為骨干網(wǎng)絡(luò),VGG16本身模型泛化性較差。YOLOv2輸入圖像大小為448×448像素,對分辨率較低的數(shù)據(jù)集A和數(shù)據(jù)集B同樣難以有較大的精度提升;對于數(shù)據(jù)集C和數(shù)據(jù)集D中的影像,切分為512×512像素大小時,能夠取得80%以上的檢測精度,當(dāng)切分方式為1024×1024像素大小時,檢測精度劇烈下降。SSD300和YOLOv2檢測精度均弱于FRCNN和RetinaNet,這是其模型設(shè)計所決定的,端對端的檢測方式提高了檢測速度,但犧牲了精度,特別是弱化了對小目標(biāo)的檢測能力。在不同數(shù)據(jù)集下,F(xiàn)RCNN和RetinaNet算法能夠取得相對不錯的檢測效果,且RetinaNet優(yōu)于FRCNN。FRCNN和RetinaNet精度較高主要是由于采用區(qū)域建議的思想,并且采取訓(xùn)練圖像大小為1200×600像素,當(dāng)被檢測影像和訓(xùn)練影像的分辨率相接近時(數(shù)據(jù)集C和數(shù)據(jù)集D中1024×1024像素的切分方式),可以取得不錯的檢測結(jié)果,當(dāng)被檢測影像的分辨率提高時(數(shù)據(jù)集C和數(shù)據(jù)集D中512×512像素的切分方式),精度還能進一步提升。原始的MTCNN方法在不做任何改進的情況下,在4種數(shù)據(jù)集中均能夠取得高于FRCNN的精度,表明級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)得益于能夠?qū)φ跋襁M行多尺度遍歷和搜索,具有天然的精度優(yōu)勢。本文方法進一步提升了MTCNN方法的精度,特別是提高了對數(shù)據(jù)集B中質(zhì)量較差的影像和密集小目標(biāo)的檢測精度,除在數(shù)據(jù)集A中精度稍弱于RetinaNet,在其余數(shù)據(jù)集上明顯優(yōu)于RetinaNet。
為對比本文方法的改進效果,選取了4幅包含大量飛機目標(biāo)的測試影像,測試影像中的目標(biāo)具有小而密集分布、目標(biāo)與背景的區(qū)分度較差等特點,檢測效果如圖9所示,其中綠色、紅色、黃色方框分別代表正確檢測、漏檢和誤檢的飛機。原始的MTCNN存在較多的虛警和誤檢,過多的誤檢目標(biāo)造成視覺上的干擾,幾乎無法用于實際應(yīng)用,而本文方法采用了更高效的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練方式,提高了模型對目標(biāo)的特征表達和識別能力,在不同背景和影像質(zhì)量下均能取得較好的檢測效果。但同時也發(fā)現(xiàn),不管采取哪種方法,對于小于16×16像素的目標(biāo),仍然還難以有效檢測,這是所有方法在數(shù)據(jù)集B上精度較低的主要原因。圖10為大幅遙感影像的檢測結(jié)果,可以看出,飛機目標(biāo)相對整個影像較小,同一幅影像上的目標(biāo)具有尺度、方向上的多樣性,地物類型更加多樣和復(fù)雜,本文方法在大幅影像上具有優(yōu)異的檢測性能,對目標(biāo)的尺度變化、旋轉(zhuǎn)等情況下具有較強的穩(wěn)健性。
2.2.2 模型輕量化分析
目前,高精度的目標(biāo)檢測和識別算法通常依賴于深層卷積神經(jīng)網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)加深時,模型參數(shù)和計算量將顯著增加,對硬件設(shè)備的依賴程度也隨之增加。雖然對卷積神經(jīng)網(wǎng)絡(luò)模型小型化和輕量化的探索已有巨大的進展,如MobileNet[36]、ShuffleNet[37]等,但輕量化模型通常難以達到深層卷積神經(jīng)網(wǎng)絡(luò)模型的精度。由不同卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測算法的模型參數(shù)大小(如表2所示)可以看出,深層卷積神經(jīng)網(wǎng)絡(luò)模型動輒數(shù)百兆(MB),級聯(lián)小型卷積神經(jīng)網(wǎng)絡(luò)有著天然的輕量化優(yōu)勢,這意味著更加快速高效地處理影像以及在可移動平臺上的應(yīng)用。由于卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)極大地影響其運行速度,在不增加網(wǎng)絡(luò)層數(shù)的情況下,單純靠增加卷積層參數(shù)數(shù)量的方式不僅難以實現(xiàn)精度上的顯著提升,還大大增加了模型整體的參數(shù)量。本文方法對RNet和ONet采取了更高效的卷積結(jié)構(gòu)和訓(xùn)練方式,大大提升模型的性能,在能夠提高模型精度的同時,也減小了模型的參數(shù),從而在一定程度上大大降低了對硬件設(shè)備的依賴程度。
圖9 數(shù)據(jù)集A和B下的檢測結(jié)果Fig.9 Aircraft detection results on dataset A and B
圖10 本文方法在大幅影像上的飛機目標(biāo)檢測結(jié)果Fig.10 Aircraft detection results on large images
表2 模型大小對比Tab.2 Model size of different methods MB
注:模型大小為模型參數(shù)所保存的字節(jié)數(shù),加粗?jǐn)?shù)字表示本列最優(yōu)值,加橫線數(shù)字表示本列次優(yōu)值。
為比較不同方法檢測單張影像的用時,采取了1280×900像素和10 000×4000像素兩種大小的影像進行測試,不同方法用時統(tǒng)計如表3所示。RetinaNet和YOLOv2分別是目前公認(rèn)的高精度和快速的目標(biāo)檢測方法,在相同硬件設(shè)備的情況下,檢測速度依然慢于采用級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的方法。為了能夠檢測到未知分辨率影像上不同大小的目標(biāo),本文方法在檢測過程中,采取建立影像金字塔,對不同尺度上的影像進行檢測,這實際上是一種耗時的檢測方式,但依然可以在1280×900像素大小的影像上實現(xiàn)接近實時的檢測速度。對于大場景影像(10 000×4000像素)的目標(biāo)檢測來說,本文方法的速度優(yōu)勢更加明顯:MTCNN每一子模型存在較多的誤判,且子模型的復(fù)雜度依次增加,檢測同一切片的用時也是依次遞增,這大大增加了目標(biāo)在級聯(lián)判斷的數(shù)量和用時;本文方法模型性能更加高效,虛警目標(biāo)更少,大大節(jié)省了目標(biāo)識別的用時,將單張大幅影像的檢測時間降低了27.05%(從2.625 s降低至1.915 s)。此外,如若在獲知影像分辨率的情況下,有針對性地減少影像金字塔的冗余層級,檢測速度將進一步提升。
表3 檢測時間對比Tab.3 Time used on per image s
注:N/A表示不能直接檢測大幅影像,加粗?jǐn)?shù)字表示本列最優(yōu)值,加橫線數(shù)字表示本列次優(yōu)值。
2.2.3 模型遷移檢測結(jié)果
為了測試本文方法對不同類型飛機目標(biāo)檢測的效果,選取戴蒙斯空軍基地兩個區(qū)域的影像進行測試,測試區(qū)域共包含1389架密集分布、形狀完整的軍用飛機(戰(zhàn)斗機、轟炸機、運輸機等)。由圖11可知,軍用飛機形狀各異,人工設(shè)計的特征往往不具有較強穩(wěn)健性。本文訓(xùn)練數(shù)據(jù)(UCAS-AOD)均為民用客機影像,而軍用飛機與客機在形狀上具有一定的相似性,卷積神經(jīng)網(wǎng)絡(luò)模型具有優(yōu)異的特征提取能力,因此將客機樣本訓(xùn)練好的模型,直接用于軍用飛機的檢測。部分檢測結(jié)果如圖12所示,其中綠色、紅色、黃色方框分別代表正確檢測、漏檢和誤檢的飛機。本文方法正確檢測1309個,誤檢14個,漏檢80個,精確率為98.94%,召回率為94.24%,而其中漏檢的目標(biāo)大多數(shù)因為目標(biāo)排列過于密集,在非極大值抑制過程中兩個飛機目標(biāo)被認(rèn)為是同一個目標(biāo)。對軍用飛機的檢測結(jié)果驗證了本文方法具有較強的泛化性和實用性,不僅可以用于民用飛機目標(biāo)檢測,還可以在軍用飛機類型識別任務(wù)中,用于候選目標(biāo)的選取。
針對大范圍區(qū)域、復(fù)雜背景下遙感影像飛機目標(biāo)檢測的準(zhǔn)確性和實時性較低的問題,本文根據(jù)常規(guī)卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測算法的局限性和遙感影像目標(biāo)檢測任務(wù)的特殊性,提出了一種基于級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的飛機目標(biāo)檢測方法,顯著提高了模型對復(fù)雜地物的辨識能力。通過在不同的數(shù)據(jù)集上對比分析了目前部分主流目標(biāo)檢測算法,可以得出以下結(jié)論:①深層卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測能力依賴于測試影像與訓(xùn)練影像的一致性程度,測試數(shù)據(jù)與訓(xùn)練數(shù)據(jù)在影像質(zhì)量、大小及分辨率等方面差異較大時,模型泛化性將顯著降低;②深層卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測算法對遙感影像上密集小目標(biāo)檢測精度較低,處理大幅影像也必須進行切分,這種切分必然破壞目標(biāo)與影像的相對大小關(guān)系,也將影響檢測的精度,同時增加了后處理的復(fù)雜度;③本文采用的多尺度級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)不僅具有更高的精度,而且可以支持大幅影像的目標(biāo)檢測,檢測過程中采用金字塔多級檢測的方式,在一定程度上解決了大幅遙感影像、多尺度飛機目標(biāo)檢測的問題。需要說明的是,深層卷積神經(jīng)網(wǎng)絡(luò)是致力于解決多類目標(biāo)(數(shù)十類甚至數(shù)百類)的檢測問題,盡管僅從單類目標(biāo)的檢測精度、參數(shù)量多少和運行速度來對比深層卷積神經(jīng)網(wǎng)絡(luò)與級聯(lián)淺層卷積神經(jīng)網(wǎng)絡(luò)模型有失偏頗,但仍能從一個側(cè)面反映出針對特定任務(wù)或領(lǐng)域的目標(biāo)識別問題,級聯(lián)淺層卷積神經(jīng)網(wǎng)絡(luò)模型更簡單、參數(shù)更少、速度更快,在移動平臺的可移植性更強,具有不可忽視的優(yōu)勢。
目前,卷積神經(jīng)網(wǎng)絡(luò)模型在自動駕駛和人臉識別等領(lǐng)域應(yīng)用雖然已經(jīng)較為成熟,但由于深層卷積神經(jīng)的自身局限性和遙感影像的特殊性,探索能夠兼顧速度與精度、適用于遙感影像多類地物目標(biāo),特別是密集小目標(biāo)的檢測方法仍然任重而道遠。在后續(xù)工作中,將研究更為高效的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和目標(biāo)檢測的新方法,提高檢測器對地物目標(biāo)的泛化能力,以期實現(xiàn)大幅遙感影像上更多類別目標(biāo)的自動化檢測和識別。