王濤 呂鑫
(北京機(jī)械設(shè)備研究所,北京 100854)
目前“低慢小”航空器的檢測(cè)主要分為雷達(dá)探測(cè),光電探測(cè),射頻探測(cè)與聲波探測(cè)。由于目標(biāo)圖像信息較為充分可靠,因此常作為主要的判定依據(jù)。光電探測(cè)裝置結(jié)合全景凝視成像、可見(jiàn)光探測(cè)成像、紅外探測(cè)成像、激光測(cè)距等光電探測(cè)技術(shù)實(shí)現(xiàn)光電預(yù)警,多元傳感器特征信息融合,硬件上有效解決城市復(fù)雜環(huán)境下“低慢小”航空器的探測(cè)、發(fā)現(xiàn)和識(shí)別難的問(wèn)題[1-4]。
遠(yuǎn)距離的“低慢小”目標(biāo)成像像素有限,輪廓特征不明顯,傳統(tǒng)的圖像處理算法對(duì)“低慢小”目標(biāo)識(shí)別效果不理想[5-8]。本文以某項(xiàng)目的光電探測(cè)裝置為硬件載體,以某次目標(biāo)特性測(cè)試試驗(yàn)的圖像數(shù)據(jù)為樣本,介紹了淺層神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)圖像的預(yù)處理與圖像特征提取過(guò)程中的作用,并制作了淺層神經(jīng)網(wǎng)絡(luò)支持向量機(jī)(SVM)“低慢小”目標(biāo)訓(xùn)練集和測(cè)試集,設(shè)計(jì)了SVM 和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的分類器,并對(duì)兩種算法的正確識(shí)別概率進(jìn)行了比對(duì)。證明了SVM 與CNN 在“低慢小”目標(biāo)識(shí)別中具有重要應(yīng)用價(jià)值。
將多特征進(jìn)行融合,得到的特征向量為一個(gè)N 維的特征向量,表示為:(H1,H2,H3,H4,H5,H6,H7,F1,F2,F3,S),其中H1至H7為七個(gè)Hu 矩不變量,F(xiàn)1,F2,F3為三個(gè)仿射不變矩特征,S 為圓形度。
則特征向量表示為:
選取兩類“低慢小”目標(biāo)作為仿真樣本,分別是旋翼無(wú)人機(jī)(六翼或者四翼)、固定翼無(wú)人機(jī)兩類樣本,選取30 張“低慢小”圖片(旋翼無(wú)人機(jī)15 張,固定翼無(wú)人機(jī)15 張)提取特征向量F。對(duì)30 張“低慢小”圖像進(jìn)行圖像預(yù)處理,對(duì)目標(biāo)圖像進(jìn)行形態(tài)學(xué)操作、圖像分割和二值化操作,提取“低慢小”目標(biāo)的圓形度、Hu 不變量(7 個(gè))、仿射不變矩(3 個(gè)),制作成仿真樣本,其中,20 個(gè)樣本制作成訓(xùn)練集、10 個(gè)樣本制作成訓(xùn)練集,確定對(duì)目標(biāo)的識(shí)別正確率。
圖1 和圖2 分別為旋翼樣本和固定翼樣本,均為已經(jīng)二值化后的圖像。
圖1 旋翼無(wú)人機(jī)圖片樣本
圖2 固定翼無(wú)人機(jī)圖片樣本
提取11 類特征得到30 個(gè)樣本,如圖3 所示。
如圖3 所示:分別對(duì)11 個(gè)特征進(jìn)行特征提取,圓形度的取值范圍為0-1,符合算法要求;H 由于Hu 不變矩的高階特征往往數(shù)值很小,于是利用以10 為底的Log 函數(shù),將7 個(gè)數(shù)值很小的Hu 不變矩變換到(-10,0)的范圍內(nèi)。同時(shí),將旋翼無(wú)人機(jī)類別設(shè)為1.00,固定翼無(wú)人機(jī)類別設(shè)為2.00,即對(duì)支持向量機(jī)分類器的輸出值y 進(jìn)行設(shè)定。
圖3 30 個(gè)樣本特征值
利用Matlab 中l(wèi)ibsvm 庫(kù)設(shè)計(jì)二類支持向量機(jī)(svm)分類器,首先對(duì)11 類特征數(shù)據(jù)繪制項(xiàng)目序號(hào)與各類屬性的關(guān)系圖,如圖4 所示(樣本序號(hào)1~15 為旋翼無(wú)人機(jī),樣本序號(hào)16~30 為固定翼無(wú)人機(jī))。
從圖4(a)可以看出,旋翼無(wú)人機(jī)的圓形度特征較為明顯,分布集中;固定翼無(wú)人機(jī)圓形度特征分布較為分散,但是圓形度都大于旋翼無(wú)人機(jī)數(shù)據(jù)。從圖4(b)可以看出,旋翼無(wú)人機(jī)的Hu(1)特征分布集中,特征魯棒性較好;固定翼無(wú)人機(jī)的Hu(1)特征分布較為分散,魯棒性不是很好。隨機(jī)選取三分之二的數(shù)據(jù)作為訓(xùn)練集,三分之一的數(shù)據(jù)作為測(cè)試集,進(jìn)行svm 訓(xùn)練與測(cè)試,測(cè)試以及訓(xùn)練函數(shù)分別為svmtrain 與svmtest 函數(shù)。得到的分類結(jié)果如圖5 所示。通過(guò)圖5 可以看出,在測(cè)試了10 個(gè)樣本以后,得到分類正確率為70%,即10個(gè)樣本里有7 個(gè)樣本預(yù)測(cè)正確了,正確預(yù)測(cè)率較低,但是也在情理之中,探究分類正確率低的原因有以下幾個(gè)方面:a.樣本數(shù)據(jù)量過(guò)低:由于時(shí)間原因倉(cāng)促,而且野外實(shí)驗(yàn)采集的數(shù)據(jù)量較少,導(dǎo)致選取的有效數(shù)據(jù)過(guò)少,令在SVM 分類器分類過(guò)程中,迭代次數(shù)較少,模型的普遍適應(yīng)性較差;改進(jìn)措施:開(kāi)展多次野外實(shí)驗(yàn)增加實(shí)驗(yàn)樣本數(shù)據(jù),選取有效數(shù)據(jù)。b.樣本的預(yù)處理過(guò)程不夠精細(xì):在樣本的預(yù)處理過(guò)程中,由于圖像中的干擾目標(biāo)較多,導(dǎo)致在提取目標(biāo)輪廓以及邊緣檢測(cè)過(guò)程中,目標(biāo)輪廓提取或者邊緣檢測(cè)有缺失,不能提供較好的預(yù)處理樣本;改進(jìn)措施:精細(xì)化樣本預(yù)處理過(guò)程,完善提取目標(biāo)輪廓特征等步驟。c.特征選取不好:雖然選取的圖像特征具有某些方面的不變特征,但是幾類特征的選取與組合,卻不能較好的表現(xiàn)圖像目標(biāo),使得分類效果較差;改進(jìn)措施:選取更加有效的圖像特征。d.分類器參數(shù)設(shè)置不完善:SVM支持向量機(jī)的分類器參數(shù)設(shè)置不完善,使得分類效果變差;改進(jìn)措施:在樣本量充足的情況下,改變分類器參數(shù)值。
圖4(a) 樣本序號(hào)與特征圓形度關(guān)系圖
圖4(b) 項(xiàng)目序號(hào)與特征Hu(1)關(guān)系圖
圖5 SVM 支持向量機(jī)得到預(yù)測(cè)分類與實(shí)際分類的比較
卷積神經(jīng)網(wǎng)絡(luò)(CNN)在機(jī)器視覺(jué)方面對(duì)目標(biāo)識(shí)別具有非常大的優(yōu)勢(shì),一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)有效訓(xùn)練就可以完成大多數(shù)識(shí)別任務(wù)。
選用AlexNet 神經(jīng)網(wǎng)絡(luò)。實(shí)現(xiàn)AlexNet 的網(wǎng)絡(luò)較為復(fù)雜,數(shù)據(jù)處理的網(wǎng)絡(luò)層為:第1 層為卷積層,輸入值數(shù)據(jù)體的深度為3,輸出數(shù)據(jù)體的深度為64,卷積核的尺寸為11×11×3,此時(shí)使用了64 種卷積核,滑動(dòng)步長(zhǎng)為4,對(duì)邊緣進(jìn)行0 填充;卷積層的輸出值后邊接一個(gè)ReLU 激活函數(shù),進(jìn)行數(shù)據(jù)處理;激活函數(shù)后邊接上第二層池化層,選擇的池化方法為最大池化,核為3×3×1,滑動(dòng)步長(zhǎng)為2;池化層后邊接第2 個(gè)卷積層,輸入的數(shù)據(jù)深度為64,輸出數(shù)據(jù)深度為192,卷積核尺寸為11×11×64,此時(shí)使用了192 種卷積核,步長(zhǎng)為4,邊緣進(jìn)行0 填充,后邊接一個(gè)激活函數(shù)ReLU,隨后接第二個(gè)池化層,選用最大池化,核尺寸3×3×1,滑動(dòng)步長(zhǎng)為2;隨后接第3個(gè)卷積層,輸入數(shù)據(jù)深度為192,輸出深度為384,卷積核尺寸為3×3×192,此時(shí)使用了384 種卷積核,邊緣進(jìn)行0 填充;后邊接一個(gè)激活函數(shù)ReLU,隨后接第4 個(gè)卷積層,輸入深度為384,輸出深度為256,卷積核尺寸3×3×384,此時(shí)使用了256 種卷積核,邊緣進(jìn)行0 填充,后邊接一個(gè)ReLU 激活函數(shù)。再接第5 層卷積層,輸入深度為256,輸出深度為256,卷積核尺寸3×3×256,此時(shí)使用了256 種卷積核,邊緣進(jìn)行0填充,后邊接一個(gè)ReLU 激活函數(shù),再接第3 個(gè)池化層進(jìn)行最大池化,卷積核為3×3×1,步長(zhǎng)為2。最后進(jìn)行Dropout 后,接一個(gè)線性層,將尺寸為256*6*6 的數(shù)據(jù)變換為4096*1*1的長(zhǎng)度為4096 的向量。隨后再進(jìn)行Dropout,再接一個(gè)線性層,將長(zhǎng)度為4096 的向量線性變換為另一個(gè)長(zhǎng)度為4096 的向量,也叫全連接層。隨后進(jìn)行Dropout,輸出CNN 神經(jīng)網(wǎng)絡(luò)的輸出數(shù)據(jù),為大量長(zhǎng)度為4096 的向量。具體網(wǎng)絡(luò)見(jiàn)圖6。
圖6 AlexNet 網(wǎng)絡(luò)結(jié)構(gòu)
CNN 神經(jīng)網(wǎng)絡(luò)訓(xùn)練與測(cè)試含有“低慢小”目標(biāo)的可見(jiàn)光圖像的一般過(guò)程為:a.獲取可見(jiàn)光圖像,將含有“低慢小”目標(biāo)的可見(jiàn)光圖像經(jīng)過(guò)圖像切割,感興趣區(qū)域(ROI)選擇等方式,將圖像轉(zhuǎn)化為N×N×3 的樣本,N 由實(shí)際目標(biāo)所占像素確定,3 為代表彩色圖像的RGB 三通道,若為灰度圖像,就改為N×N×1。b.將圖像整理成樣本。c.確定網(wǎng)絡(luò)的損失函數(shù)與優(yōu)化方法。d.使用樣本訓(xùn)練神經(jīng)網(wǎng)絡(luò),并在其過(guò)程中,調(diào)節(jié)參數(shù),使識(shí)別正確率達(dá)到最大,并在測(cè)試集中進(jìn)行驗(yàn)證。
一個(gè)簡(jiǎn)單的三層神經(jīng)網(wǎng)絡(luò),需要傳遞進(jìn)去的參數(shù)包括:輸入的維度、第一層網(wǎng)絡(luò)的神經(jīng)元個(gè)數(shù),第二層網(wǎng)絡(luò)神經(jīng)元的個(gè)數(shù)、以及第三層網(wǎng)絡(luò)(輸出層)神經(jīng)元的個(gè)數(shù)。在建立的每層網(wǎng)絡(luò)的輸出部分添加激活函數(shù)。用到nn.sequential(),將網(wǎng)絡(luò)的層組合到一起,在最后一層輸出層不添加激活函數(shù)。同樣在網(wǎng)絡(luò)層中摻入批標(biāo)準(zhǔn)化,用于加快收斂速度,將批標(biāo)準(zhǔn)化放在全連接的后面,非線性層的前面。訓(xùn)練網(wǎng)絡(luò)設(shè)置步驟:a.PyTorch 神經(jīng)網(wǎng)絡(luò)框架,首先導(dǎo)入一些要用的神經(jīng)網(wǎng)絡(luò)框架的包,包括torch 框架、torchvision 包。b.定義一些超參數(shù),如batch-size、learning_rate 還有num_epoches等。c.對(duì)MNIST 數(shù)據(jù)集進(jìn)行預(yù)處理,將數(shù)據(jù)標(biāo)準(zhǔn)化,做的處理一般是數(shù)據(jù)減掉均值、再除以方差。d.下載并讀取數(shù)據(jù)集。e.導(dǎo)入網(wǎng)絡(luò),定義損失函數(shù)和優(yōu)化方法。f.訓(xùn)練網(wǎng)絡(luò)并且測(cè)試網(wǎng)絡(luò)。測(cè)試結(jié)果:利用PyCharm 軟件,利用PyTorch 神經(jīng)網(wǎng)絡(luò)框架,建立一個(gè)全連接的三層神經(jīng)網(wǎng)絡(luò)測(cè)試結(jié)果如圖7 所示。
圖7 PyCharm 軟件分類MNIST 數(shù)據(jù)庫(kù)及結(jié)果表示圖
如圖7 所示,在迭代次數(shù)逐漸減小時(shí),損失函數(shù)在隨機(jī)梯度下降函數(shù)的作用下,數(shù)值不斷減小,在經(jīng)過(guò)設(shè)定的迭代次數(shù)epoch 為1000 時(shí)停止,在測(cè)試集損失函數(shù)值為0.169810 時(shí),最終識(shí)別正確率達(dá)到了95.93%,能夠較好的實(shí)現(xiàn)分類識(shí)別任務(wù)。
本文介紹了淺層神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)圖像的預(yù)處理與圖像特征提取過(guò)程中的作用,并制作了淺層神經(jīng)網(wǎng)絡(luò)(HOG+SVM)訓(xùn)練集和測(cè)試集,得到“低慢小”目標(biāo)的Hu 矩和圓形度特征分布。設(shè)計(jì)了SVM 和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的分類器,對(duì)兩種算法的正確識(shí)別概率進(jìn)行了比對(duì),比對(duì)結(jié)果表明,采用卷積神經(jīng)網(wǎng)絡(luò)算法,可實(shí)現(xiàn)更高的目標(biāo)識(shí)別率。