皮 駿,張志力,李 想,張春澤
1(中國民航大學 通航學院,天津 300300)
2(中國民航大學 航空工程學院,天津 300300)
3(天津訊聯(lián)科技有限公司,天津 310600)
隨著科技水平的提高,無人機(Unmanned Aerial Vehicle,UAV)在軍事領域發(fā)展迅猛,其在多次戰(zhàn)爭中立下顯赫戰(zhàn)功,成為戰(zhàn)場利器.此外,無人機更是憑借其體積小、靈活、用途廣泛等優(yōu)勢,逐漸進入民用市場,在災害檢測救援、農(nóng)業(yè)、地質勘探、測繪、治安反恐等領域都發(fā)揮著不可替代的作用,更加貼近生活的自拍、航拍都可以消費級無人機作為載體來完成.民用無人機火熱的同時,也給空域管理帶來新的挑戰(zhàn).目前無人機的實際監(jiān)管還存在很大的難點,如何保障空域安全和有效利用有限的空間資源、防止無人機違規(guī)飛行、降低違法行為的概率成為現(xiàn)階段亟待解決的問題.
無人機目標識別技術是反無人機系統(tǒng)的重要組成部分,包括無人機的分類和目標檢測,主要是將監(jiān)測系統(tǒng)所拍攝得到的圖像進行分析并加以處理,從中正確識別出無人機目標[1].近年來,隨著以深度學習為代表的人工智能方法在圖像識別領域的應用愈發(fā)成熟,大量的目標識別任務都采用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)來完成,與傳統(tǒng)機器學習方法相比其具有更強大的特征學習和特征表達能力[2].文獻[3]針對低空快速無人機,提出一種優(yōu)化YOLOv3 無人機識別模型,利用殘差網(wǎng)絡和多尺度融合的方式進行優(yōu)化,結果表明該方法的平均準確率高于原始方法,但在昏暗條件下的準確率還有待驗證.文獻[4]針對無人機目標較小時易受干擾的問題,提出一種基于多隱含層深度神經(jīng)網(wǎng)絡的弱小無人機檢測模型,完成對深度網(wǎng)絡模型的訓練和優(yōu)化,結果表明該模型具有良好的變尺度檢測能力和抗干擾效果.文獻[5]提出一種基于雙通道的快速低空無人機檢測算法,利用紅外和可見光無人機圖像同時輸入到殘差網(wǎng)絡中進行特征提取,利用多尺度預測網(wǎng)絡對無人機目標進行分類和位置回歸.文獻[6]通過搭建深度殘差網(wǎng)絡和預測網(wǎng)絡,提出一種基于紅外圖像的低空無人機檢測識別方法.
以上方法基本都是通過設計多通道、多尺度融合的神經(jīng)網(wǎng)絡模型來增強網(wǎng)絡的特征提取和抗干擾能力,而將注意力機制用于強化無人機特征提取的研究卻稍顯空白.傳統(tǒng)的CNN 模型在對圖像進行特征提取時,往往難以有效地將圖像主體特征與噪聲特征區(qū)分開來,而引入注意力機制,可以捕獲場景中目標對象的顯著性信息,增強其特征提取能力.2014年,Google Deep Mind團隊率先在循環(huán)神經(jīng)網(wǎng)絡模型上引入注意力機制完成多個物體的高效準確識別,驗證了注意力機制在圖像識別領域的有效性[7].褚晶輝等[8]針對表情特征易受干擾的問題,通過通道和空間注意力模型對特征元素進行加強或抑制,并證明了該方法的優(yōu)越性.如何將注意力機制與神經(jīng)網(wǎng)絡更為有效的結合,已經(jīng)成為深度學習各領域共同關注的問題.
基于以上背景,設計了一種UAV-CNN 模型對三類具有代表性的大疆無人機進行自動分類.該模型在AlexNet 網(wǎng)絡基礎上進行改進,通過調(diào)整模型層數(shù)、卷積核尺寸等多項參數(shù),以期獲得最適應無人機數(shù)據(jù)集的模型,并引入批歸一化和通道/空間注意力機制對模型進行優(yōu)化,抑制噪聲干擾,以提升模型的泛化性和特征提取能力,最終建立專門適用于無人機分類的神經(jīng)網(wǎng)絡模型.結果表明該模型在無人機數(shù)據(jù)集上具有較高的準確率和收斂速度,可實現(xiàn)針對大疆無人機的有效分類.
卷積神經(jīng)網(wǎng)絡是深度學習中最具代表性和應用最廣泛的結構之一,如圖1所示.經(jīng)過訓練的模型通過交替連接的卷積層和池化層,將輸入圖像轉換成一系列的特征圖,最后通過全連接層完成對圖像特征的分類表達.CNN 強大的特征表達能力也使其在中藥藥材識別[9]、醫(yī)療診斷[10]、青銅器銘文識別[11]、蟲害識別[12]等多方面的應用倍受到人們的關注.
1.1.1 卷積層
卷積層作用是對輸入圖像進行特征提取,其內(nèi)部包含多個卷積核,分別與輸入數(shù)據(jù)進行卷積運算,產(chǎn)生多個特征圖,并作為下一層網(wǎng)絡的輸入.卷積核和卷積層數(shù)的選擇一定程度上會影響網(wǎng)絡的性能,需要適當?shù)脑O計才能有效的避免過擬合和欠擬合.卷積運算的具體公式如式(1):
式(1)中,x表示接受區(qū)域為(M,N)的二維向量;ω表示長和寬分別為j、i的卷積核;b表示每個輸出特征映射所加的偏置項;yconv表示輸出的卷積結果;M表示二維向量的長,N為二維向量的寬;f表示激活函數(shù).
圖1 卷積神經(jīng)網(wǎng)絡基本結構
1.1.2 池化層
在卷積層對特征進行提取后,輸出的特征圖會進入池化層進行特征選擇和信息過濾,池化層不會引起額外的參數(shù),可以在保持特征尺度不變性的情況下,大大減少網(wǎng)絡的參數(shù).常見的池化方式有最大池化(max pooling)和均值池化(average pooling).以最大池化為例,其公式如式(2)所示:
式(2)中,fpool表示特征圖像最大池化結果.
批歸一化(Batch Normalization,BN)[13]是一種由Ioffe和Szegedy 提出的訓練優(yōu)化方法,其注意到中間協(xié)變量遷移,使得網(wǎng)絡訓練過程對參數(shù)初始值敏感,收斂速度變慢,把BN 作為神經(jīng)網(wǎng)絡的一部分,可以使每層的輸入有相同的、穩(wěn)定的分布.BN 簡單有效,合理配置可以有效提升網(wǎng)絡的訓練速度,并且可以在一定程度上提升網(wǎng)絡的準確率.
注意力機制(Attention Module,AM)是一種模擬人腦注意力機制而衍生出的模型,通過計算注意力的概率分布,來突出某些關鍵部分對輸出的影響.2017年,Hu 等[14]提出基于通道間權值的分配來實現(xiàn)通道間重要性選擇的算法SeNet,引起了人們對于通道注意力(Channel Attention Module,CAM)的關注.2018年,Woo 等[15]基于此提出卷積注意力模塊(Convolution Block Attention Module,CBAM),其在通道注意力基礎上,又加入空間注意力(Spatial Attention Module).CBAM 結構兼顧通道和空間的權值選擇,是一個較為輕量級的模塊,可以簡單的嵌入卷積神經(jīng)網(wǎng)絡模型中,優(yōu)化模型提取特征的能力.其結構如圖2所示.
1.3.1 通道注意力模型
通道注意力的作用是篩選出包含重要語義信息的特征通道.輸入的特征圖H×W×C(H表示特征圖的高度,W表示寬度,C表示通道數(shù))分別經(jīng)過最大池化和均值池化,得到兩個1×1×C的特征向量,將其輸入一個含有隱藏層的多層感知機中,最后將分別輸出的特征向量的元素對應求和,經(jīng)過Sigmoid 函數(shù)激勵后得到最后的通道注意力特征向量Mc.它可以理解為通道的權重,包含重要信息的通道會被賦予更大的權值.將通道注意力特征向量Mc與輸入特征圖對應相乘即可得到經(jīng)通道注意力模塊作用后的特征圖.其結構如圖3所示.
圖2 卷積注意力模塊結構
圖3 通道注意力模型
1.3.2 空間注意力機制
空間注意力的作用篩選出包含重要特征信息的空間位置.其在通道維度上分別做最大池化和均值池化,然后得到兩個H×W×1的特征圖,并將其串聯(lián)得到H×W×2的特征圖.再使用一個包含7×7×2×1 卷積核的卷積層進一步提取特征,經(jīng)Sigmoid 函數(shù)激勵得到空間注意力特征圖(如圖4).空間注意力特征圖可以理解為一個通道中每個像素區(qū)域的權值,包含重要信息的像素區(qū)域會被賦予更大的權重.將空間注意力特征圖Ms與輸入特征圖對應相乘,即可得到經(jīng)空間注意力模塊作用后的特征圖.
圖4 空間注意力模型
數(shù)據(jù)集采用自建的大疆無人機數(shù)據(jù)集,選取3 款典型的大疆無人機作為研究對象,分別為曉Spark 系列,精靈Phantom 系列,悟Inspire 系列,如圖5所示.圖像數(shù)量分別為543 張、550 張、495 張,總計1588 張.選取處于復雜背景下的無人機圖像,例如湖泊、叢林、巖石、荒漠、火山等,以增加了圖像的多樣性,更符合實際應用場景.將原圖像壓縮到227×227×3 像素,并將像素值歸一化到[0,1]之間,以便于模型的收斂.每類無人機圖片按照4:1的比例隨機劃分訓練集和測試集,其中訓練集共計1271 張,用于網(wǎng)絡訓練,測試集共317張,用于測試網(wǎng)絡性能.部分無人機數(shù)據(jù)集如圖6所示.
圖5 無人機型號
圖6 部分無人機數(shù)據(jù)集
實驗環(huán)境配置如下,硬件:CPU為Intel Core(TM)i5-8300H,內(nèi)存為16 GB,GPU為NVIDIA GTX 1050Ti,軟件:操作系統(tǒng)為Windows10 64 bit 版本,編程框架為基于Python的Tensorflow 框架,編譯軟件為Spyder.
由于CNN 本身的數(shù)學模型還沒有得到完善的數(shù)學驗證和解釋,學術界普遍采用以實驗效果為導向的研究方式.例如VGG的深層網(wǎng)絡結構、GoogLeNet中Inception 模塊以及ResNet的short connection 等方法對于網(wǎng)絡改善的有效性都是通過實驗證實的.因此本文設計多組對比實驗,分析不同模型結構對無人機目標分類效果的影響,并選取最優(yōu)結構.
模型設計思路源于AlexNet 模型,其針對大型目標分類任務,網(wǎng)絡結構深,模型復雜計算量大,考慮到無人機數(shù)據(jù)集樣本較少和實驗設備的限制,所以本文將在AlexNet 模型基礎上改進,探索適用于無人機數(shù)據(jù)集的模型.
實驗參數(shù)設置如下,學習率設為0.0001,Batch_Size為100,優(yōu)化器選擇Adam,損失函數(shù)選擇交叉熵(cross entropy),隨機失活(Dropout)率設為0.7,迭代250 次,取最后10 次迭代的平均值作為該模型的準確率,每個模型進行3 組實驗,取其平均值.實驗中將綜合考量模型的測試集準確率(test accuracy),訓練時間(times),準確率首次到達80%的迭代數(shù)(Epoch-80%),準確率首次到達90%的迭代數(shù)(Epoch-90%)以及準確率90%以上的迭代數(shù)占總迭代數(shù)的比率(rate)的平均值,來作為衡量網(wǎng)絡性能的參照標準.
實驗首先對卷積層數(shù)進行選取,在卷積層、池化層、全連接層堆疊的模型中分別搭建卷積核為3×3的不同層數(shù)(2 層、3 層、4 層、5 層)的網(wǎng)絡結構,并基于不同卷積層數(shù)設計的網(wǎng)絡分別進行3 組實驗,各項參數(shù)如表1所示.
表1 不同卷積層層數(shù)模型的各項參數(shù)
分析可知設計2 層卷積層時,由于模型所需訓練的參數(shù)較少,訓練速度快,但模型容量小,擬合能力不足,平均準確率僅85.90%.設計3 層卷積層時,平均準確率達到91.17%,且Epoch-80%和Epoch-90%的值較高,說明模型收斂速度較快,準確率90%以上迭代數(shù)的占比最高,說明模型穩(wěn)健性較好.設計4 層和5 層卷積層時,模型容量較大,參數(shù)較多,隨著訓練時間的增加,準確率反而呈現(xiàn)下降的趨勢.綜合考慮,后續(xù)的結構設計和優(yōu)化均建立在3 層卷積層的基礎上.
卷積核尺寸選取是另一個重要的關乎網(wǎng)絡性能的參數(shù).第2 組實驗在3 層卷積層的基礎上,設立3 種不同尺寸卷積核的模型.第1 種按照經(jīng)典AlexNet 網(wǎng)絡中卷積核由大到小的慣例,依次選擇9×9、5×5、3×3的卷積核.第2 種均選取5×5的卷積核,第3 種均選取3×3的卷積核,分別進行3 組實驗,各項參數(shù)如表2所示.
表2 不同卷積核尺寸模型的各項參數(shù)
分析可知卷積核尺寸均為3×3的模型具有最高的準確率,并且尺寸越大,模型的準確率越低,模型參數(shù)越復雜,所需的訓練時間也越長.第一個卷積層選用9×9 卷積核的模型,平均需要經(jīng)過92 次迭代才能達到80%的準確率,遠低于選擇小尺寸的卷積核.該結果也證實了采用較小卷積核的網(wǎng)絡可提取更加細致、深層次的無人機圖像特征,進而提高識別準確率,同時減少參數(shù).
第3 組實驗對每層卷積核數(shù)量進行選取,設置5 組對照實驗,結果表明卷積核數(shù)量對影響網(wǎng)絡的較為明顯,卷積核數(shù)量不足將導致網(wǎng)絡準確率低,而數(shù)量過多亦會導致準確率下降,適當?shù)木矸e核數(shù)量顯得尤為重要,卷積核數(shù)量分別選擇48,96,128 時,準確率最高.各項參數(shù)如表3所示.
表3 不同卷積核數(shù)量模型的各項參數(shù)
全連接層將池化層下采樣獲得的特征圖映射到樣本空間,將具有類別區(qū)分的局部信息組合分類,在這一層后,神經(jīng)元被壓平,最終形成3200 個神經(jīng)元.第4 組實驗探究全連接層層數(shù)對網(wǎng)絡性能影響,分別設置層數(shù)為一層、兩層或三層的全連接層.實驗發(fā)現(xiàn)全連接層數(shù)設置為2 層且神經(jīng)元個數(shù)為1200、100的網(wǎng)絡結構的準確率最高為91.17%,各項參數(shù)如表4所示.
第5 組實驗探究池化核對網(wǎng)絡的影響,典型的LeNet-5和VGG-16 網(wǎng)絡均采用k=2,s=2 大小的池化核,而AlexNet 網(wǎng)絡采用k=3,s=2 大小的池化核,其中k表示池化核或滑動窗口的大小,s表示滑動步長.實驗的各項參數(shù)如表5所示.
表4 不同全連接層層數(shù)和神經(jīng)元數(shù)目模型的各項參數(shù)
表5 不同池化方式模型的各項參數(shù)
分析可知選用最大池化的網(wǎng)絡的準確率比使用均值池化的網(wǎng)絡的準確率高1.2%左右,最大池化選取該區(qū)域內(nèi)最大的值,可以更好的保留圖像的紋理特征,均值池化是對區(qū)域內(nèi)所有不為零的像素值取平均,以此得到數(shù)據(jù)特征,該方法更好地保留了對圖像背景信息的提取.而不同池化核的影響更大,經(jīng)實驗證明不論是采用最大池化還是均值池化,采用3×3 池化核的網(wǎng)絡比2×2 卷積核的網(wǎng)絡準確率高4~5 個百分點,因此選用滑動窗口大小大于滑動步長產(chǎn)生的重疊池化,可以有效的提升網(wǎng)絡的分類能力.
綜合上述的實驗結果,設計一個10 層的CNN 模型,其中8 層為隱含層,包括3 層卷積層,3 層池化層,2 層全連接層.CNN 模型結構和參數(shù)如表6所示.
表6 CNN 模型結構和參數(shù)
2.3.1 BN 對模型優(yōu)化的影響
在AlexNet 網(wǎng)絡中使用了局部響應歸一化層(LRN)來增加網(wǎng)絡的泛化能力,但通過數(shù)據(jù)實際測試后發(fā)現(xiàn)對網(wǎng)絡性能并沒有太大的改善,反而增加了訓練時間.而BN 作為一種簡單有效的網(wǎng)絡優(yōu)化方法,可以對每一層的輸入數(shù)據(jù)做歸一化處理,穩(wěn)定其數(shù)據(jù)分布的同時,加速網(wǎng)絡的訓練,并允許梯度迭代的過程中使用更大的學習率,且不會引起梯度更新的發(fā)散.BN通過引入兩個可以和神經(jīng)網(wǎng)絡訓練參數(shù)一起訓練的參數(shù),很好的保留了神經(jīng)網(wǎng)絡的原始表達能力.因此引入BN 層對模型進行優(yōu)化,加入BN 層后模型如圖7所示.
圖7 優(yōu)化后的模型
2.3.2 注意力機制對網(wǎng)絡優(yōu)化的影響
由于無人機本身置于復雜環(huán)境中,與背景之間區(qū)分度較小以及部分圖像從視頻中截取而來像素較低,存在較大的噪聲干擾,二者都會影響網(wǎng)絡分類的效果.同時在網(wǎng)絡學習的過程中,隨著網(wǎng)絡層數(shù)的增加,這些噪聲像素在特征圖中的權值也會逐步增加,這將會對最終的分類結果有較大的影響,因此如何弱化噪聲干擾給網(wǎng)絡訓練帶來負面影響,是網(wǎng)絡優(yōu)化任務重點解決的問題.
對于眾多特征,并不是每一個特征層都能提取到有用的信息,而通道注意力的引入可以通過再學習的方式允許網(wǎng)絡進行特征信息的重新校準,使模型對包含重要特征信息的特征層賦予更大的權值,同時減小無關信息特征層的權值,幫助模型獲取表達能力更強的語義信息.空間注意力可以捕捉圖像中對于某一特定任務貢獻顯著的某些區(qū)域,忽略帶來負面效應的區(qū)域,有效的增強模型的擬合能力,提升分類效果.
因此在CNN 模型中引入卷積注意力模型,經(jīng)初步實驗分析將通道和空間注意力模型設置在卷積層和池化層中間可以取得最優(yōu)的效果,引入通道和空間注意力后的模型如圖7所示.
2.3.3 優(yōu)化結果分析
首先設置CNN 模型與引入CBAM的CNN 模型的對比實驗.為獲得更為合理、準確的比較結果,將迭代次數(shù)由250 增加至1000 次,使得模型可以充分訓練,通道注意力模型的壓縮比設置為8,其余實驗參數(shù)與前文所述一致.由于模型的準確率存在一定范圍內(nèi)的波動,因此取后100 次迭代的準確率的平均值作為模型最終的準確率.
本部分實驗首先分析引入CBAM 對模型的影響.分別對先前設計的普通的CNN 模型與基于CBAM的CNN 模型,應用無人機數(shù)據(jù)集進行訓練,然后將兩者的識別準確率進行比較.每次10 次迭代記錄其測試樣本的準確率,然后將記錄好的數(shù)據(jù)繪制成圖,即圖8所示的測試準確率(test accuracy)與迭代次數(shù)(epoch)關系圖.
曲線A 表示未經(jīng)CBAM 優(yōu)化的CNN 模型的識別準確率曲線,曲線B 表示經(jīng)CBAM 優(yōu)化后模型的識別準確率曲線.由圖8可以看出本文設計的模型收斂較快,在100 次迭代前后就可以達到90%的識別準確率,200 次迭代已經(jīng)可以基本收斂.說明本文設計的模型訓練效果較好,能夠快速達到較為理想的訓練狀態(tài).經(jīng)CBAM 優(yōu)化后的模型具有更好的平均準確率,可以達到92.13%,較優(yōu)化前提升1.19%.本文認為注意力機制的引入較好的增強了特征的判別性,起到了特征選擇的作用,提升了分類效果.
圖8 測試準確率與迭代次數(shù)關系圖
實驗的第二部分在引入CBAM的基礎上再引入批歸一化層(BN)對模型進行改進.實驗結果如圖9所示.曲線B 表示僅CBAM 優(yōu)化的模型的識別準確率曲線,曲線C 表示經(jīng)CBAM和BN 共同優(yōu)化后的模型的識別準確率曲線.
圖9 測試準確率與迭代次數(shù)關系圖
由圖9可以看出引入BN層后模型的收斂速度明顯加快,在獲得較高的準確率的基礎上,模型震蕩水平更小,說明模型更加穩(wěn)定.由表7可以看出經(jīng)CBAM和BN 共同優(yōu)化后的模型的準確率可以達到92.44%,較僅引入CBAM的模型又提升0.31%.
2.3.4 與其他卷積神經(jīng)網(wǎng)絡模型對比分析
采用不同的卷積神經(jīng)網(wǎng)絡模型對無人機數(shù)據(jù)集進行識別,實驗結果如表7所示,識別準確率曲線對比如圖10所示,可以看出本文提出的基于CBAM和BN的模型的最終準確率可以達到92.44%,較LeNet-5和AlexNet 模型分別提升了11.82%和20.78%,且收斂速度更快,參數(shù)量較經(jīng)典的AlexNet 模型大大減少.證明本文設計的模型更加適用于無人機目標的識別,可以滿足基本的大疆無人機圖像的識別需求.
表7 不同模型在無人機數(shù)據(jù)集上各項參數(shù)對比
圖10 不同模型在無人機數(shù)據(jù)集上識別準確率對比圖
本文設計了一個基于深度卷積神經(jīng)網(wǎng)絡的無人機目標分類模型,可以完成多款大疆無人機的分類任務.通過多組對比實驗選擇最適用于無人機數(shù)據(jù)的模型參數(shù),然后引入卷積注意力機制對網(wǎng)絡進行優(yōu)化,加強模型的特征提取能力,同時引入批歸一化層,加速網(wǎng)絡的訓練,提升模型穩(wěn)健性.實驗結果表明本文提出的方法適用于無人機數(shù)據(jù)集的目標分類,較LeNet-5和AlexNet模型分別提升了11.82%和20.78%,可以基本滿足實際場景中無人機目標分類的要求.但本文的數(shù)據(jù)集僅選擇了3 種型號的無人機,數(shù)量較少.后續(xù)將研究更深層次的模型上的多類型目標分類任務.