針對目前武器裝備在檢測空中遠距離弱小目標、假目標、遮擋等情況中智能化程度不高問題,分析了卷積神經(jīng)網(wǎng)絡的工作方式以及其應用在目標檢測中的優(yōu)勢,討論了基于卷積神經(jīng)網(wǎng)絡的目標檢測算法在其它圖像檢測領(lǐng)域的應用情況及取得的最新成果,通過研究發(fā)現(xiàn)卷積神經(jīng)網(wǎng)絡利用其強大的特征學習能力使得檢測過程更為高效化、智能化,將其應用到導彈武器系統(tǒng)中是未來提升防空作戰(zhàn)效能的必然手段。
卷積神經(jīng)網(wǎng)絡; 檢測算法; 武器系統(tǒng); 目標檢測
傳統(tǒng)的目標檢測算法大多根據(jù)特定背景特定問題,利用先驗知識采取人工設計單種或多種特征的方法來實現(xiàn)對圖像中目標的檢測,這些方法不僅執(zhí)行速度低、計算量大,而且可移植性較差,對于復雜背景下的多種類、多姿態(tài)目標有著較差的適用性和魯棒性。卷積神經(jīng)網(wǎng)絡源起于Hubel等人在60年代對貓的大腦視覺皮層和視覺系統(tǒng)的研究,該研究提出了生物感受野(Receptive Field)這一觀點,研究人員設想將生物感受野的能力賦予計算機,讓計算機也能擁有類似于生物的視覺能力,可以對圖像中的多類目標進行自動搜索識別、定位和分類?;谶@一設想,F(xiàn)ukushima于80年代、Lecun于90年代分別提出了Neocognitron和LeNet-5神經(jīng)網(wǎng)絡模型,其中前者可以認為是卷積神經(jīng)網(wǎng)絡的首次實現(xiàn),而后者成功地將梯度反向傳播算法應用在模型的訓練過程中,成為當前卷積神經(jīng)網(wǎng)絡模型的奠基之作。
然而LeNet-5網(wǎng)絡模型主要是針對解決手寫數(shù)字識別問題提出來的,并且由于當時計算機技術(shù)的限制和卷積神經(jīng)網(wǎng)絡理論基礎(chǔ)不夠完善,LeNet-5模型總體來說泛化能力較弱,并不能很好地解決復雜圖像的識別與分類問題。直到2006年,多倫多大學教授Hinton及其學生在《Science》期刊上創(chuàng)造性地提出深度學習的思想,該思想主要闡釋了兩個重要觀點:1)含有多個隱層的神經(jīng)網(wǎng)絡在特征學習方面有著杰出的優(yōu)勢,能夠更抽象、更本質(zhì)地表達出原始輸入數(shù)據(jù),可有效解決識別或分類問題;2)通過實現(xiàn)“逐層初始化”方法,分級表達、解釋、和處理輸入的數(shù)據(jù)信息,可有效降低神經(jīng)網(wǎng)絡在訓練上的復雜度。同時隨著計算機技術(shù)和硬件設備的飛速發(fā)展,研究人員取代CPU在運算性能更佳的GPU上實現(xiàn)了卷積運算,使得網(wǎng)絡的計算能力得到極大的提高。自此,國內(nèi)外科研界和工業(yè)界掀起了對基于卷積神經(jīng)網(wǎng)絡的深度學習算法的研究熱潮。
在當今的大數(shù)據(jù)時代,卷積神經(jīng)網(wǎng)絡在圖像處理領(lǐng)域,如圖像識別、圖像分割、目標檢測與跟蹤等方面取得了許多突破性進展并發(fā)揮著不可替代的作用。就軍事領(lǐng)域而言,導彈武器系統(tǒng)面臨著日趨復雜的戰(zhàn)場環(huán)境和不斷升級的作戰(zhàn)方式,為達到作戰(zhàn)效果,導彈武器系統(tǒng)必須對目標實施快速搜索與識別,精確智能的探測與跟蹤,為后續(xù)的火力打擊提供重要支撐。近幾年來涌現(xiàn)的以檢測精度為代表的Faster R-CNN、R-FCN等算法,和以檢測速度為代表的SSD、YOLO等算法,這些基于深度學習的算法相比于傳統(tǒng)的檢測算法,不僅避免了對手工設計特征的依賴,而且使得檢測過程更為高效化和智能化。鄭昌艷等針對導彈武器系統(tǒng)攔截蛇形機動目標問題,提出了基于卷積神經(jīng)網(wǎng)絡的航跡模式識別方法,能夠?qū)Σ煌愋秃桔E圖像保持較高的識別率,提高系統(tǒng)魯棒性;馮小雨等在防空背景下針對特定任務,利用改進的Faster R-CNN算法對空中目標實現(xiàn)了遠超于傳統(tǒng)算法的檢測效果。因此將基于深度學習的目標識別、檢測技術(shù)應用到導彈武器系統(tǒng)中,是提升作戰(zhàn)效能的必要手段和技術(shù)發(fā)展的必然趨勢。
典型的卷積神經(jīng)網(wǎng)絡架構(gòu)通常由卷積層、池化層以及全連接層組成,圖1為一個簡化的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)圖。其中C1、C2 表示的是卷積層,S1、S2表示的是子采樣層。
圖1 卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)
卷積層即為特征提取層,其核心為若干個可以訓練學習的卷積核,首先原始輸入圖像與C1層的卷積核Wl(圖1所示為3個,l表示第l層)以及一個可加偏置bl進行卷積運算,由此得到特征映射圖,對特征映射圖上相鄰區(qū)域nxn個像素進行池化操作,常見的有最大池化和平均池化,該操作通過對特征圖降維,減少數(shù)據(jù)量從而節(jié)約訓練分類器時的計算資源,其次池化后的輸出具有平移不變性的特性,增強了網(wǎng)絡的魯棒性;池化后的特征圖經(jīng)過激活函數(shù)后在S1層獲得新的特征映射圖,常見的激活函數(shù)表達式及函數(shù)曲線圖如表1所示。新的特征映射圖再通過相同原理的C2層與S2層,最終的特征圖的像素值分別被柵格化,之后輸入到傳統(tǒng)的神經(jīng)網(wǎng)絡中訓練的為特征向量連接成的一維向量。
表1 常見的激活函數(shù)及其曲線圖
卷積神經(jīng)網(wǎng)絡的成功實現(xiàn)還得益于梯度反向傳播算法的提出和發(fā)展。輸入到神經(jīng)網(wǎng)絡中的圖像數(shù)據(jù)樣本x經(jīng)過訓練后得到的網(wǎng)絡輸出,記為yW,b(x),與樣本的實際真值之間會存在誤差,誤差在算法中逐層傳播,卷積神經(jīng)網(wǎng)絡的卷積核等參數(shù)通過有監(jiān)督的學習訓練,進行逐層更新。在網(wǎng)絡訓練中以代價函數(shù)P的大小來評判網(wǎng)絡訓練模型的優(yōu)劣程度,實際中為了防止過擬合現(xiàn)象,代價函數(shù)通常被定義為公式(1)。任意l層的卷積核Wl和偏置項bl都按照公式(2)的方法來進行更新。
LeNet-5網(wǎng)絡模型適用于識別手寫數(shù)字,但在解決復雜圖像的識別分類問題上存在明顯不足。在ILSVRC2012競賽中,Alex Krizhevsky等人提出了基于卷積神經(jīng)網(wǎng)絡的AlexNet深度學習模型,該模型最終的網(wǎng)絡結(jié)構(gòu)共包含8層(5層卷積層和3層全連接層),最后的分類層采用的是softmax函數(shù),同時采用新的非線性激活函數(shù)ReLU來抑制大的輸入導致的梯度消失問題并提高訓練速度,以及設計局部響應歸一化層、數(shù)據(jù)增強和采用dropout方法等手段提高網(wǎng)絡的泛化性能,抑制過擬合現(xiàn)象。AlexNet模型是深度學習在大規(guī)模圖像分類領(lǐng)域的首次應用,并在競賽中以顯著優(yōu)勢超過了第二名傳統(tǒng)分類算法的結(jié)果。但是AlexNet模型的卷積層為了在原始圖像上快速獲得特征映射圖,設計了大尺寸的卷積核(11x11),導致網(wǎng)絡訓練過程中丟失了很多細節(jié)特征,影響網(wǎng)絡的最終分類結(jié)果。
針對解決AlexNet模型的弊端,牛津大學的視覺幾何組在ILSVRC2014競賽中提出了VGGNet模型,該模型的最終版本有VGG16和VGG19兩種,圖2所示的為VGG16模型的網(wǎng)絡結(jié)構(gòu),由圖可以看出VGG16模型仿照AlexNet模型的5層卷積層將13層卷積層分為了五組,另外也包含3層全連接層,VGG19模型在后三組分別比VGG16模型多了一層卷積層。該模型相比于AlexNet主要有兩點改進:1)證明了使用多個小尺寸的卷積核(VGGNet模型中均采用3x3的卷積核)可以代替大尺寸的卷積核,而通過利用小尺寸卷積核適當增加網(wǎng)絡的深度可以取得更優(yōu)的分類結(jié)果;2)采用了多尺度訓練方法,增強了網(wǎng)絡對圖像縮放的不變性能力。
圖2 VGG16網(wǎng)絡結(jié)構(gòu)
VGGNet模型證明了隨著網(wǎng)絡深度的增加,網(wǎng)絡的學習能力也會得到相應提升,但是實驗證明僅通過對網(wǎng)絡簡單的堆疊來加深網(wǎng)絡會導致深層次網(wǎng)絡出現(xiàn)梯度消失現(xiàn)象,不能獲得理想的識別分類效果。在ILSVRC2015競賽中,冠軍由何凱明團隊首次提出的網(wǎng)絡層數(shù)超過一百層(實際為152層,目前已可達到1000層)的深度殘差網(wǎng)絡模型ResNet獲得,該模型設計的的核心結(jié)構(gòu)(圖3所示)通過恒等快捷連接方式很好的解決了梯度消失問題,從而保證了深層網(wǎng)絡良好的識別分類效果。
圖3 殘差網(wǎng)絡結(jié)構(gòu)
其它的典型的卷積神經(jīng)網(wǎng)絡模型還包括谷歌團隊設計的GoogLeNet模型、與密歇根大學聯(lián)合提出的TALNet模型,以及微軟亞洲研究院先后提出的SPPNet模型和PReLUNet模型。值得一提的是,在ILSVRC 競賽數(shù)據(jù)集的識別分類上,PReLUNet是第一個實現(xiàn)超越人眼識別率的網(wǎng)絡模型。目前研究人員也設計了一些專門應用在移動設備上的神經(jīng)網(wǎng)絡模型,例如MobileNet、ShuffleNet、PeleeNET等模型。
基于卷積神經(jīng)網(wǎng)絡的深度學習模型在圖像識別分類領(lǐng)域得到了成功應用并取得了令人矚目的成就,其在學習特征方面表現(xiàn)的優(yōu)異性能也吸引了目標檢測領(lǐng)域眾多研究人員的關(guān)注。第一個將卷積神經(jīng)網(wǎng)絡較好地應用在目標檢測領(lǐng)域的模型是Girshick等人于2014年提出的R-CNN模型,以平均準確率均值mAP為評估準則,該模型遠遠超過了以往的傳統(tǒng)檢測算法在標準PASCAL VOC數(shù)據(jù)集測試集上的檢測準確率,提高了將近20%。此后在R-CNN模型的基礎(chǔ)上,一系列優(yōu)秀的目標檢測模型相繼被提出,這些檢測模型大致可以分為基于候選區(qū)域網(wǎng)絡方法和基于回歸方法兩大類。
Faster R-CNN算法模型的提出依次經(jīng)歷了R-CNN、Fast R-CNN等多個算法模型的改進。R-CNN檢測算法模型與傳統(tǒng)檢測算法在進行圖像目標檢測時步驟相類似,主要分為三個階段,即首先在輸入樣本圖像上找尋可能存在目標的位置,稱為候選區(qū)域,這一階段常用的方法有selective search或edgebox方法;其次分別提取待分類候選區(qū)域的特征,這一階段完全利用卷積神經(jīng)網(wǎng)絡方法來實現(xiàn),是R-CNN檢測算法模型區(qū)別于傳統(tǒng)檢測算法的核心階段;最后一個階段是訓練SVM分類器對第二階段提取到的特征進行分類,以及利用邊框回歸算法修正坐標,保證目標的定位。由三個階段可以看出,R-CNN模型在實現(xiàn)圖像目標檢測過程中每個階段都使用了不同的方法,此外在第二階段中需要對每張樣本圖像中的所有候選區(qū)域都進行卷積操作提取特征,并且存儲特征供第三階段的SVM使用,帶來了訓練步驟復雜、占用空間內(nèi)存大等弊端,極大地限制了檢測模型的實時性需求。
2015年Girshick將R-CNN模型與何凱明等人提出的SPPNet思想相結(jié)合,提出了新的檢測模型Fast R-CNN,其網(wǎng)絡結(jié)構(gòu)如圖4所示。由圖4可知Fast R-CNN模型相比于R-CNN模型其核心過程在于感興趣區(qū)域(RoIs)思想以及softmax分類層、邊框回歸層的提出,而且整個過程只對每幅樣本圖像進行了一次卷積操作。每幅樣本圖像的感興趣區(qū)域由圖像的標注真值框和候選區(qū)域之間的IoU計算篩選得到,感興趣區(qū)域池化層借鑒SPPNet的空間金字塔池化層思想,不再嚴格規(guī)定輸入樣本圖像的尺寸規(guī)格,通過該池化層后任意尺寸的特征圖都被統(tǒng)一到相同的維數(shù)。Fast R-CNN模型的輸出結(jié)果由完全代替SVM的softmax分類層和邊框回歸層得到,這兩個全連接層分別計算的是目標所屬類別的概率值(包括前景概率值、背景概率值)和定位目標框的坐標值,同時還利用了一種融合分類任務損失和回歸任務損失的多任務損失函數(shù)方法對這兩個全連接層進行訓練,提高模型分類精度和修正目標框坐標值。Fast R-CNN模型將圖像的特征提取和定位檢測都直接通過卷積神經(jīng)網(wǎng)絡來實現(xiàn),使得模型的訓練和測試速度得到了顯著提升。
圖4 Fast R-CNN模型結(jié)構(gòu)
Fast R-CNN模型將R-CNN模型進行目標檢測過程的后兩個階段利用卷積神經(jīng)網(wǎng)絡實現(xiàn)了統(tǒng)一,但是在第一階段候選區(qū)域的選取上沒有給出更好的方法。因此2015年任少卿等人針對候選區(qū)域選取問題提出了RPN,即候選區(qū)域網(wǎng)路,也利用卷積神經(jīng)網(wǎng)絡的方法來生成候選區(qū)域,其結(jié)構(gòu)示意圖如圖5所示。其原理是在網(wǎng)絡模型最后的特征映射圖上添加一個尺寸為3x3的滑動窗,滑動窗的中心就是K個錨點框的中心,錨點框的尺度和長寬比不一,在特征映射圖上確定中心坐標、尺度和長寬比的錨點框,再映射回原始樣本圖像即可獲得候選區(qū)域??梢砸暈镽PN和Fast R-CNN模型相結(jié)合而成的Faster R-CNN模型在訓練過程中采用了一種多階段交替訓練的方法,從而實現(xiàn)了RPN和Fast R-CNN模型部分卷積層的權(quán)值參數(shù)共享。至此Faster R-CNN模型利用卷積神經(jīng)網(wǎng)絡實現(xiàn)了將目標檢測過程三個階段一體化的任務,在數(shù)據(jù)集上的測試結(jié)果表明Faster R-CNN模型在保證mAP得到提升的同時也基本滿足了目標實時性檢測的要求。
圖5 候選區(qū)域網(wǎng)絡結(jié)構(gòu)
諸如Faster R-CNN模型、解決目標遮擋問題的ION模型、實現(xiàn)多個卷積層特征圖融合的Hypernet模型等眾多目標檢測架構(gòu),其中應用的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)主要來自于對分類網(wǎng)絡模型AlexNet或VGGNet等的借鑒,均采用在最后卷積層池化層的末端添加若干層全連接層的方式。R-FCN模型則根據(jù)目標檢測需要定位目標位置的特點將ResNet改造成了一種全卷積網(wǎng)絡,即使用一層位置敏感卷積層來替換掉全連接層,繼而相應提出了位置敏感得分這一概念,旨在解決目標檢測過程中全連接層丟失目標精確位置信息的問題。
圖6 位置敏感池化
圖6給出的是R-FCN模型設計的位置敏感池化方式圖,該模型關(guān)鍵步驟是將經(jīng)RPN網(wǎng)絡選取的C+1類待檢測物體的每個感興趣區(qū)域劃分成kxk(文中k=3)塊小區(qū)域,每塊小區(qū)域?qū)繕说牟煌恢?,并計算不同位置可能屬于目標的相應分值,再通過一個類似于投票的過程,根據(jù)分數(shù)值高低來判斷目標所屬類別。由圖可以看出,R-FCN模型在實現(xiàn)分類的同時目標的位置信息也得到了很好的保留,有利于目標的檢測定位。
由谷歌團隊構(gòu)造的SSD檢測模型與上述幾種檢測模型的工作方式明顯不同,其模型架構(gòu)相比于VGG16基礎(chǔ)網(wǎng)絡是在最后一層卷積層的末端多添加了若干層不同尺度的特征層。
SSD模型完成檢測過程只需要樣本圖像和標注真值標簽這兩個部分的輸入,之后通過3x3卷積核的滑動在每層卷積層產(chǎn)生的特征圖的每個位置上畫默認邊界框,再對邊界框進行預測,其性質(zhì)與候選區(qū)域網(wǎng)絡的錨點框相一致。通過這樣的工作方式SSD模型產(chǎn)生了大量的負樣本邊界框,針對這一問題,SSD模型也采用了非極大值抑制方法以及難分樣本挖掘 (hard negative mining) 技術(shù)進行處理。從檢測流程總體來看,SSD模型使用了一種可稱為單神經(jīng)網(wǎng)絡多邊界框檢測(Single Shot MultiBox Detector)的方式直接完成候選區(qū)域選取和區(qū)域分類這兩個步驟的工作,因此大大縮短了檢測時間,該檢測模型完全能夠達到實時檢測的要求。目前SSD算法已經(jīng)被研究人員成功移植到iOS系統(tǒng)上并能流暢地運行,其在手機上的運行速度已經(jīng)超越了在一般計算機CPU上的運行速度。
YOLO模型全稱為You Only Look Once,意為只用看一眼物體即可將其識別出來,代表了極高的檢測速度。目前研究人員在YOLO模型基礎(chǔ)上主要設計出了三種改進版本,分別為YOLOv2模型、YOLO9000模型和YOLOv3模型,逐漸使目標檢測模型朝著更好更快更強的方向發(fā)展。
1)YOLO模型從一開始就是針對解決基于候選區(qū)域網(wǎng)絡模型的檢測速度欠缺問題而提出來的,該模型的網(wǎng)絡結(jié)構(gòu)是一個單純的卷積神經(jīng)網(wǎng)絡,在輸出層回歸邊界框位置及其所屬類別,參考的是GoogLeNet并進行了改造。模型關(guān)鍵思路是首先將輸入樣本圖像分割成7x7大小的子網(wǎng)格,待檢測物體由包含其中心點的子網(wǎng)格來進行預測,每個子網(wǎng)格負責輸出2個邊界框的中心點坐標(xcenter,ycenter)、寬、高以及置信度值,其中在訓練過程中中心點坐標需要相對于所屬子網(wǎng)格進行歸一化處理,寬、高需要相對于樣本圖像進行歸一化處理,置信度值則由(3)式計算得到,若有人工標注的真值框中心點落在該子網(wǎng)格中則Pr(object)為1,否則為0。此外每個子網(wǎng)格還需要對其分別所屬C類物體的概率值進行預測。
雖然YOLO模型的檢測速度遠遠高于基于候選區(qū)域網(wǎng)絡的檢測模型,但是其也存在定位誤差大和對密而小目標適用性較差的缺陷。
2)YOLOv2模型設計的基礎(chǔ)分類網(wǎng)絡是只包含卷積層和池化層的Darknet-19,該模型對YOLO的改進體現(xiàn)在以下幾個方面:①引入Batch Normalization方法,即在網(wǎng)絡當前層訓練前歸一化處理輸入到該層的數(shù)據(jù),加快模型收斂速度;②使用高分辨率輸入微調(diào)模型的分類網(wǎng)絡,在進行檢測任務時提高網(wǎng)絡對高分辨率輸入的適用性;③借鑒候選區(qū)域網(wǎng)絡錨點框思路來預測邊界框,提高模型召回率;④采用K-means聚類方法尋求更優(yōu)的初始化邊界框;⑤通過在網(wǎng)絡中添加passthrough層來結(jié)合不同分辨率的特征以獲得更加精細的特征信息;⑥多尺度訓練網(wǎng)絡,提高網(wǎng)絡對不同分辨率輸入的檢測魯棒性。
3) YOLO9000模型是與YOLOv2模型一同被提出來的,YOLO9000模型參考WordNet提出了 WordTree這一機制,將ImageNet數(shù)據(jù)集前9000個類別、COCO檢測數(shù)據(jù)集類別以及其它一些類別整合成了一個包括9418個類別的聯(lián)合數(shù)據(jù)集,之后用聯(lián)合數(shù)據(jù)集對模型進行訓練,整個過程也可以被稱為聯(lián)合訓練過程,YOLO9000模型可以看成是YOLOv2模型與聯(lián)合訓練方式的結(jié)合,其最突出的特點和優(yōu)勢是能夠?qū)Τ^9000類物體的數(shù)據(jù)集樣本圖像進行實時檢測。
4)YOLOv3模型的特征提取網(wǎng)絡結(jié)構(gòu)不僅綜合了YOLOv2和ResNet的特點,并且為了實現(xiàn)多尺度的預測而參考了特征金字塔網(wǎng)絡FPN的設計,由此構(gòu)造出一個包含53層卷積層的深層網(wǎng)絡結(jié)構(gòu)Darknet-53,此外YOLOv3模型還利用多個邏輯分類器來代替softmax進行分類以適用于復雜目標類別或多標簽分類。
基于深度學習的卷積神經(jīng)網(wǎng)絡模型在圖像分類領(lǐng)域取得的突出成就也促進了其在更具挑戰(zhàn)性的圖像檢測領(lǐng)域的迅猛發(fā)展和不斷進步,海量的數(shù)據(jù)和強大硬件設備的支撐是卷積神經(jīng)網(wǎng)絡能夠在圖像處理領(lǐng)域取得空前成功的重要基礎(chǔ)。就本文的介紹來看,基于深度學習的卷積神經(jīng)網(wǎng)絡模型沒有最好只有更好,因此其在某些方面仍然需要進行持續(xù)完善和改進:
(1)完備卷積神經(jīng)網(wǎng)絡的理論基礎(chǔ),對網(wǎng)絡表達的特征進一步解釋和優(yōu)化,提高檢測準確率;
(2)在保證準確率的前提下設計更優(yōu)更輕型的網(wǎng)絡模型,減少對強大硬件設備依賴的同時實現(xiàn)實時檢測,更好地應用于嵌入式設備中;
(3)使用巧妙的設計來減少模型運算的吞吐量,取得檢測準確率、速度以及內(nèi)存消耗之間的均衡。
除此之外提高模型的可編程性、能效和學習率等性能也是需要面臨的挑戰(zhàn),亟待解決。盡管如此,卷積神經(jīng)網(wǎng)絡依靠其巨大的潛力優(yōu)勢吸引著越來越多的學者對其進行探索和不斷拓展,可以預見的是卷積神經(jīng)網(wǎng)絡在未來的應用領(lǐng)域和發(fā)展前景必將更加廣闊。
引用格式: 姜曉偉,王春平,付強. 卷積神經(jīng)網(wǎng)絡及其在目標檢測中的應用[J]. 戰(zhàn)術(shù)導彈技術(shù), 2019, (1): 108-114+123.
本文選自《戰(zhàn)術(shù)導彈技術(shù)》2019年第1期
作者:姜曉偉,王春平,付強