人工智能技術與咨詢
來源:《圖學學報》。作者翟進有等
摘要:傳統目標識別算法中,經典的區域建議網絡(RPN)在提取目標候選區域時計算量大,時間復雜度較高,因此提出一種級聯區域建議網絡(CRPN)的搜索模式對其進行改善。此外,深層次的卷積神經網絡訓練中易產生退化現象,而引入殘差學習的深度殘差網絡(ResNet),能夠有效抑制該現象。對多種不同深度以及不同參數的網絡模型進行研究,將兩層殘差學習模塊與三層殘差學習模塊結合使用,設計出一種占用內存更小、時間復雜度更低的新型多捷聯式殘差網絡模型(Mu-ResNet)。采用Mu-ResNet與CRPN結合的網絡模型在無人機目標數據集以及PASCAL VOC數據集上進行多目標識別測試,較使用ResNet與RPN結合的網絡模型,識別準確率提升了近2個百分點。
關鍵詞:無人機;殘差網絡;級聯區域建議網絡;目標識別
卷積神經網絡屬于人工神經網絡的一個分支,目前國際上有關卷積神經網絡的學術研究進行的如火如荼,且該技術在計算機視覺、模式識別等領域成功得到應用[1-2]。卷積神經網絡的優點非常明顯,其是一種多層神經網絡,通過卷積運算和降采樣對輸入圖像進行處理,其網絡權值共享,可以有效減少權值數目,降低模型復雜度,且該網絡結構具有高度的尺度不變性、旋轉不變性等多種仿射不變性。
近兩年的ILSVRC (imagenet large scale visual recognition challenge)競賽中,在目標檢測、分類、定位等項目上前3名的獲獎者均使用了神經網絡的算法,如文獻[3]。在自主目標識別領域,基于機器學習的方法越來越展現出其強大的生命力,學習能力是智能化行為的一個非常重要的特征。隨著人工智能的發展,機器學習的方法以其強大的泛化能力,不斷在目標識別領域創造突破,也日漸成為計算機視覺各領域的研究主流。
深度卷積神經網絡[4-5]為圖像分類帶來了許多突破[6-7]。深層神經網絡以端到端的方式自然地集成了低、中、高級功能和類別[8],功能的“級別”可以通過堆疊層數(深度)來豐富。近年來,在十分具有挑戰性的ImageNet數據集上進行圖像分類取得領先的結果都是采用了較深的網絡。當更深的網絡能夠開始收斂時,就會暴露出退化的問題,隨著網絡深度的增加,精度達到飽和(這并不奇怪),然后迅速退化[9-11]。這種降級不是由過度設置引起的,是因在適當深度的模型中添加更多的層而導致了更高的訓練誤差。
1 深度殘差網絡搭建
1.1 深度卷積神經網絡
在2012年的ILSVRC圖像分類大賽上,KRIZHEVSKY等[4]提出了AlexNet這一經典的深度卷積神經網絡模型。AlexNet相較于淺層的卷積神經網絡模型,在性能上有了巨大的提升,而深層的網絡模型較淺層的網絡模型具有更大的優勢。VGG16網絡以及GoogleNet網絡不斷刷新著ILSVRC競賽的準確率。從LeNet,AlexNet至VGG16和GoogleNet,卷積神經網絡的層數在不斷加深。伴隨著網絡層數的加深,數據量以及運算量也在劇增。卷積模塊的數學表達為
(1)
其中,x為輸入信號;w為卷積核尺寸大小且Rs×k,Rn×m,,且n>m。卷積操作的核心是:可以減少不必要的權值連接,引入稀疏或局部連接,帶來的權值共享策略大大地減少參數量,相對地提升了數據量,從而可以避免過擬合現象的出現;另外,因為卷積操作具有平移不變性,使得學習到的特征具有拓撲對應性和魯棒性。
1.2 深度殘差學習機制
當卷積神經網絡層數過深,容易出現準確率下降的現象。通過引入深度殘差學習可以有效解決退化問題。殘差學習并不是每幾個堆疊層直接映射到所需的底層映射,而是明確地讓其映射到殘差層中[12]。訓練深層次的神經網絡是十分困難的,而使用深度殘差模塊搭建網絡可以很好地減輕深層網絡訓練的負擔(數據量)并且實現對更深層網絡的訓練[13]。殘差網絡的學習機制如圖1所示。
圖1 殘差網絡學習模塊
殘差學習模塊也是深度卷積神經網絡的一部分[12]。現假設殘差學習模塊的輸入為x,要擬合的函數映射即輸出為H(x),那么可以定義另一個殘差映射為F(x),且F(x)=H(x)–x,則原始的函數映射H(x)=F(x)+x。文獻[12]通過實驗證明,優化殘差映射F(x)比優化原始函數映射H(x)容易的多。F(x)+x可以理解為在前饋網絡中,主網絡的輸出F(x)與直接映射x的和。直接映射只是將輸入x原封不動地映射到輸出端,并未加入任何其他參數,不影響整體網絡的復雜度與計算量。殘差學習模塊的卷積層使用2個3×3卷積模塊,進行卷積運算[13-14]。引入了殘差學習機制的網絡依然可以使用現有的深度學習反饋訓練模式求解。
另一種3層殘差學習模塊,與2層不同的是第一個卷積層采用了1×1的卷積核,對數據進行降維,再經過一個3×3的卷積核,最后在經過一個1×1的卷積核還原。這樣做既保存了精度,又能夠有效地減少計算量,對于越深層次的網絡效果往往更好。圖2為3層殘差學習模塊,由于其是先降維再卷積再還原,這種計算模式對于越深層次的網絡訓練效果越好。
圖2 3層殘差學習模塊
1.3 搭建深度殘差網絡模型
本文設計出一種包含多條捷徑通道的多捷聯式殘差學習模塊,結合文獻[10]中2種殘差模塊的優勢,多捷聯式殘差模塊使用了5層的堆棧,由1個1×1的卷積層進行降維,再經過3個3×3的卷積層,最后經過一個1×1的卷積層還原。在第一個1×1的卷積層之前和第二個3×3的卷積層之后使用一條捷徑,第三個3×3的卷積層之前和最后一個1×1的卷積層之后使用一條捷徑,再將第一個1×1的卷積層之前和最后一個1×1的卷積層之后使用一條捷徑。通過設置多條捷徑減輕網絡的訓練難度,采用降維以卷積的方式減少訓練的時間復雜度。多捷聯式殘差模塊如圖3所示。
圖3 捷聯式殘差模塊
前三層卷積層定義為多捷聯式殘差模塊的第一級,后兩層網絡定義為第二級。現假設多捷聯式殘差模塊的輸入為x,第一級的殘差映射為F(x),要擬合的函數映射即第一級的輸出為H(x),則
F(x)=H(x)–x?(2)
第二級輸入函數為H(x)=F(x)+x。第二級殘差映射為T[H(x)],第二級的輸出Q(x),即
Q(x)=T[H(x)]+H(x)+x?(3)
Q(x)為多捷聯式殘差學習模塊的最終輸出,該模塊設置了多條捷徑,在深層的網絡中訓練更易收斂。
針對輸入為任意大小的多類別目標圖像,無人機(unmanned aerial vehicle,UAV)目標識別系統采用卷積神經網絡和殘差學習機制結合。采用五層殘差學習模塊搭建了多種不同深度的殘差網絡(multi-strapdown ResNet,Mu-ResNet)。
2 無人機目標識別算法
2.1 級聯區域搜素網絡
在Faster-RCNN算法出現之前,最先進的目標檢測網絡都需要先用區域選擇建議算法推測目標位置,例如SPPnet和Fast-RCNN雖然都已經做出來相應的改進,減少了網絡運行的時間,但是計算區域建議依然需要消耗大量時間。所以,REN 等[15]提出了區域建議網絡(region proposal network,RPN)用來提取檢測區域,其能和整個檢測網絡共享所有的卷積特征,使得區域建議的時間大大減少。
簡而言之,Faster-RCNN的核心思想就是RPN,而RPN的核心思想是使用CNN卷積神經網絡直接產生region proposal,使用的方法就是滑動窗口(只在最后的卷積層和最后一層特征圖上滑動),即anchor機制[15]。RPN網絡需要確定每個滑窗中心對應視野內是否存在目標。由于目標的大小和長寬比不一,使得需要多種尺度和大小的滑窗。Anchor給出一個基準窗的大小,按照不同的倍數和長寬比得到不同大小的窗[15]。例如,文獻[15]給出了3種面積{1282,2562,5122}以及3種比例{1∶1,1∶2,2∶1}共9種尺度的anchor,如圖4所示。
圖4 anchor示意圖
考慮到經典的RPN網絡搜索區域過多,提取目標候選區域時計算量大,導致時間復雜度較高。本文提出一種級聯區域建議網絡(cascade region proposal network,CRPN)的搜索模式,第一級CNN采用32×32的卷積核,步長為4,在W×H的特征圖上進行滑窗,得到檢測窗口。由于搜索區域尺度較小,通過第一級CRPN可以過濾掉90%以上的區域窗口,最后在采用非極大值抑制(non-maximum suppression,NMS)消除高重合率的候選區域,可大大減少下級網絡的計算量以及時間復雜度。
將32×32網絡最后得到的目標候選區域調整為64×64,輸入第二級CRPN,再濾掉90%的候選區域窗口,留下的窗口再經過NMS消除高重合率的候選區域。
最后將第二級CRPN輸出的候選區域調整為128×128,經過同樣的操作濾掉背景區域。最后通過NMS去除高度重合區域,最終得到300個矩形候選區域。CRPN模型如圖5所示。
圖5 級聯區域搜索網絡
經過級聯區域搜索網絡輸出的每一個位置上對應3種面積{1282,2562,5122}以及3種比例{1∶1,1∶2,2∶1}共9種尺度的anchor屬于目標前景和背景的概率以及每個窗口的候選區域進行平移縮放的參數。最后的候選區域分類層和窗口回歸層可采用尺寸為1×1的卷積層實現。
2.2 目標識別網絡數學模型
目標識別網絡的第一部分是以ResNet為模型提取特征圖作為RPN輸入。經過ResNet共享卷積層厚的特征為
(4)
其中,輸入圖像為,通過殘差網絡的共享卷積層實現特征提取,提取的特征(輸出)為,即有r個特征圖,其尺寸為u×v;待學習的參數(權重和偏置)記為。
通過共享卷積層提取特征圖之后,利用區域生成網絡實現候選目標區域的提取。對于區域生成網絡的訓練,是將一幅任意大小的圖像作為輸入,輸出則是候選目標(矩形)區域的集合,并且對每個(矩形)區域給出是否為目標的得分,即
(5)
其中,x為輸入的圖像信息;RPx為輸出;S為候選目標區域(矩形)個數;為判斷每個目標候選區域的得分,即
(6)
其中,P(objects)為該矩形框中是否有目標;P(classi/objects)為在有目標的情況下目標屬于第i類的概率;為該預測矩形框與真實目標邊框之間的交集與并集的比值。對于每一幅特征提取圖,選取得分大于0.7的kn個候選區域(矩形)作為正樣本,小于0.3的作為負樣本,其余的全部舍棄。
將區域生成網絡的輸出結合特征提取圖作為輸入,得到目標識別網絡的第二部分,即Fast-RCNN網絡。在共享卷積層后得到
(7)
這一層卷積網絡是利用特征圖Xpart1來生成更深一層特征Xpart2,其中待學習的網絡參數為θpart2。感興趣區域(region of interest,ROI)的池化層輸出為
(8)
其中,輸入為區域生成網絡得到的候選區域RPx和式(8)中的Xpart2,但是因為目標候選區域的尺寸大小不同,為了減少裁剪和縮放對信息造成的損失,引入單層空域塔式池化(spatial pyramid pooling,SPP)來實現對不同尺寸圖像的輸出。最后經過全連接層輸出為
?
(9)
輸出y包含目標區域位置和目標區域類別2部分。其中輸入為式(9)中的Xpart3和目標的總類別個數C以及對每一類所對應的目標區域進行精修的參數Refine(RPx),即目標矩形區域中左上標與長寬高等滑動窗的位移,其中c=1,2,···,C。對于每一幅輸入圖像,可能存在的目標區域個數為s=1,2,···,S。
3 目標檢測實驗
3.1 Cifar10
Cifar10數據集共有60 000張彩色圖像,每張圖像大小為32×32,分為10個類,每類6 000張圖。數據集中有50 000張圖像用于訓練,構成了5個訓練集,每一批包含10 000張圖;另外10 000張用于測試,單獨構成一批測試集。數據集和訓練集圖像的選取方法是從數據集10類圖像中的每一類中隨機取1 000張組成測試集,剩下的圖像就隨機排列組成了訓練集。訓練集中各類圖像數量可不同,但每一類都有5 000張圖。
本文以文獻[10]中的殘差網絡形式搭建多種不同深度的經典殘差網絡模型,而后又以本文提出的5層殘差模塊為基礎,搭建了22層、37層和57層的殘差網絡模型,最后將本文的不同ResNet模型網絡的分類效果與經典殘差網絡模型進行對比。
圖6是文獻[10]與本文設計的網絡性能對比圖。圖中ResNet網絡表示文獻[10]中的網絡,Mu-ResNet表示本文設計的網絡。隨著網絡深度的增加,訓練誤差均不斷減小,網絡性能變的更優。Mu-ResNet在22層時誤差高于ResNet,到37層時誤差低于ResNet,當繼續加深網絡至57層式,誤差下降近一個百分點。實驗結果表明,殘差網絡的收斂速度在迭代2 k以前較快,隨后減慢,在迭代3 k左右準確率快速下降,當到32 k時則開始收斂。
圖6 殘差網絡性能對比圖
圖7為本文搭建的3種不同深度的殘差網絡訓練cifar10的準確率,由圖可知深層次的Mu-ResNet-57準確率比Mu-ResNet-22高出了3個百分點。本文設計的網絡模型減少了內存、時間復雜度和模型大小,使得同樣深度的網絡具有更好的性能,且網絡性能在更深層的優化越明顯。
圖7 Mu-ResNet準確率曲線
通過cifar10實驗結果表明,本文提出的Mu-ResNet在目標分類上具有較好的效果。相比于經典殘差網絡不僅減少了內存、時間復雜度,在準確率上也有了一定的提升。從22、37、57層的Mu-ResNet準確率在不斷提升(圖6),且在訓練的過程中未觀察到退化現象,因此可從增加深度上顯著提高準確度。所有評估指標都體現了深度的好處。更深層的網絡能夠更好地提升Mu-ResNet的性能。
3.2 無人機目標識別
UAV執行目標識別任務主要包含飛機、行人、小汽車、大型公交車、船以及飛行的鳥等10類常見目標。數據源主要來源于ImageNet,各大開源數據庫以及通過UAV航拍的圖像共100 000張。其中將70 000張圖像作為訓練集,30 000張作為測試集。
為了研究不同性能參數的特征提取網絡對識別效果的影響,共搭建了3種不同深度的網絡進行性能測試。22、37、57層的ResNet分別為Mu-ResNet-22,Mu-ResNet-37以及Mu-ResNet-57。
為了進行橫向對比,將以上網絡與VGG16,ZF和經典殘差網絡結合經典區域搜索網絡進行性能比較。通過在UAV目標數據集上進行訓練,測試得到各網絡模型在測試集上的識別準確率以及檢測每張圖片的時間。
Mu-ResNet-57的識別準確率略高于ResNet-57,但檢測時間更少;Mu-ResNet-22和Mu-ResNet-37的整體性能也優于VGG16和ZF網絡。采用本文提出的5層殘差學習模塊搭建網絡模型能夠更有效地提高算法的性能,在計算時間和識別精度上都有所提升。
將ZF,VGG16,ResNet-57和Mu-ResNet-57結合CRPN,得到在UAV目標數據集上的召回率曲線。
當目標候選區域更少時,IOU更大,ResNet-57和Mu-ResNet-57的召回率較慢,當IOU在0.70~0.75區間內Mu-ResNet-57效果最好。在IOU過小(<0.60)時,提取候選區域過多,嚴重影響網絡的速度,在IOU過大(>0.80)時,提取候選區域過少,導致召回率較低。
在十萬張圖像的UAV數據集上,VGG16,ResNet-57和Mu-ResNet-57與經典區域搜索網絡和級聯區域搜素網絡相結合,對每一類目標的檢測準確率。RPN的proposal參數采用文獻[15]中效果最好的2 000。本文提出的CRPN中proposal參數取1 000。由表2可知,Mu-ResNet對airplane,human,automobile,truck的分類效果要優于VGG16和ResNet,對ship,bird,horse的分類效果要差于ResNet。而采用CRPN的性能整體要優于RPN。
通過以上實驗,綜合考慮檢測每幅圖像的時間以及檢測的準確率,采用5層殘差學習模塊搭建的57層Mu-ResNet結合CRPN在數據集上能達到90.40%的識別率且檢測每張圖像只需要0.093 s,故該網絡模型較適合用于UAV目標識別。
3.3 PASCAL VOC
PASCAL VOC 2007數據集作為經典的開源數據集,包含5 k訓練集樣本圖像和5 k測試機樣本圖像,共有21個不同對象類別。PASCAL VOC 2012數據集包含16 k訓練樣本和10 k測試樣本。本文使用VOC 2007的5 k和VOC 2012的16 k作為網絡的訓練集,使用VOC 2007的5 k和VOC 2012的10 k作為網絡的測試集。采用ZF,VGG16,文獻[10]中提出的ResNet和本文中搭建的Mu-ResNet-57模型分別與文獻[15]中的RPN和本文提出的CRPN結合,來評估網絡的平均檢測精度,在VOC 2007+2012數據集上檢測結果見表3。
將Mu-ResNet-57與CRPN結合在VOC2007+2012數據集上測試,準確率達到76.20%。采用較深層網絡ResNet-57和Mu-ResNet-57模型提取特征時,CRPN效果較RPN有所提升。而采用淺層網絡ZF和VGG16模型時,CRPN與RPN對結果影響基本無區別。
以New-ResNet-57結合CRPN進行測試的結果圖。對于飛機、汽車、行人、鳥類等目標的識別具有良好的效果,該網絡模型對大小不同的物體識別效果均較好,具有良好的適應性。
4 結束語
針對UAV目標識別的實時性與準確性要求,以卷積神經網絡為基礎,搭建了多種框架的ResNet模型進行訓練,并且通過比較各網絡的性能優劣,最終找到最適用于UAV目標識別的網絡。基于ResNet的目標識別算法,相較于傳統的目標識別算法可以避免人為提取目標特征而帶來的誤差,在識別精度上有了巨大的提升。對于復雜背景下的目標,ResNet的捷徑反饋機制能夠有效地降低網絡訓練的難度,使得更深層次的網絡依然能夠有效地訓練使用。使用ResNet的目標檢測應用于UAV目標識別中,通過準確率與檢測時間的綜合性能考慮要更優于傳統的深度卷積神經網絡。
然而本文所研究的目標數據集依然較少,在以后的研究中需要獲取更大、更多的UAV目標數據集,并且搭建更深層次、性能更優的網絡以及更高效的特征提取來提高目標檢測的準確率與檢測時間。
關注微信公眾號:人工智能技術與咨詢。了解更多咨詢!
編輯:fqj
評論
查看更多