何偉鑫,鄧建球,逯 程,叢林虎
(海軍航空大學 岸防兵學院, 山東 煙臺 264001)
目標檢測技術(shù)是當前深度學習以及圖像處理領(lǐng)域的研究熱點,將目標檢測技術(shù)應(yīng)用于彈庫人員的識別,能夠在輔助人員對彈庫目標進行管控的同時將人工智能技術(shù)應(yīng)用于彈庫管理,是目前我軍信息化、智能化建設(shè)的主流。
近年來,深度學習技術(shù)在目標檢測領(lǐng)域得到了廣泛的應(yīng)用,已成為從圖像中提取特征的有效方法?;谏疃葘W習的目標檢測具有豐富的特征以及強大的特征表達能力。它們還結(jié)合了傳統(tǒng)的手工制作特征功能[1]?,F(xiàn)有的基于深度學習的目標檢測方法一般可以分為兩類,即基于區(qū)域建議的目標檢測以及基于回歸的目標檢測[2]。
目前,基于區(qū)域建議的經(jīng)典目標檢測方法包括基于區(qū)域建議的卷積神經(jīng)網(wǎng)絡(luò)(R-CNN)[3]、空間金字塔池網(wǎng)絡(luò)(SPP-net)[4]、Fast R-CNN[5]、FsterR-CNN[6]和基于區(qū)域的完全卷積網(wǎng)絡(luò)(R-FPN)[7]。然而,區(qū)域建議的實現(xiàn)過程效率低下,無法實現(xiàn)實時性。R-CNN根據(jù)區(qū)域建議算法獲得潛在目標位置,首先從每個候選區(qū)域中提取特征,然后輸入卷積神經(jīng)網(wǎng)絡(luò),最后通過支持向量機對它們進行評估(SVM)[8]。通過共享卷積,R-CNN的計算成本顯著降低[9]。SPP和Fast R-CNN均需減少訓練時間,然而,耗時的提案計算是阻止其提升性能的一個瓶頸[10]。為此,提出了一種區(qū)域建議網(wǎng)絡(luò)(RPN)[11],它與目標檢測網(wǎng)絡(luò)共享圖像卷積特征,是一種能有效預(yù)測不同尺度和長寬比區(qū)域的全卷積網(wǎng)絡(luò)(FCN)。Faster R-CNN是將RPN和Fast R-CNN融合到一個網(wǎng)絡(luò)中,與檢測網(wǎng)絡(luò)共享卷積特征而發(fā)展起來的。在測試時,它通過使用非常深的網(wǎng)絡(luò)和共享卷積來實現(xiàn)幾乎實時的速率,并且可以端到端地訓練它,以生成檢測方案[12]。
典型的基于回歸的目標檢測模型是YOLO[13]和SSD[14]。作為一個單一的神經(jīng)網(wǎng)絡(luò),YOLO非常簡單,它可以同時預(yù)測目標框坐標和類別概率,其將YOLO幀檢測看作一個回歸問題,實現(xiàn)了簡單的端到端目標檢測,具有較高的效率。此外,YOLO比其他實時檢測算法具有更高的平均精度(mAP)[15]。2016年,YOLOv2[16]被提出,2018年,YOLOv3[17]也被提出。YOLOv3比之前的版本有更高的精確度,而且速度仍然很快。SSD采用單一的深度神經(jīng)網(wǎng)絡(luò)對目標進行檢測,在訓練過程中每個目標只需要輸入圖像和其真實值?;谇跋蚓矸e網(wǎng)絡(luò),SSD生成一個固定大小的檢測框集合以及類別概率的分數(shù)。在非最大抑制步驟之后,SSD產(chǎn)生最終檢測結(jié)果[18]。然而,YOLOv3和SSD在小目標檢測方面都沒有好的表現(xiàn),原因是深層卷積層沒有足夠的目標信息進行學習[19]。
研究引入聚合通道算法(ACF)以及Soft-NMS算法,對YOLOv3算法進行改進,旨在使得模型提高對目標較小的行人的檢測準確性。利用ACF算法提取圖像中的潛在區(qū)域,而后將潛在區(qū)域傳入已改進Soft-NMS算法的YOLOv3網(wǎng)絡(luò),最后將檢測結(jié)果映射回原網(wǎng)絡(luò)得出最終檢測結(jié)果。實驗結(jié)果表明,研究提出的YOLOv3算法具有較高的檢測精度,是提高目標檢測精度的有效途徑。
YOLOv3是一種具有深層卷積結(jié)構(gòu)的目標檢測算法,該算法使用DarkNet53作為特征提取網(wǎng)絡(luò),然后利用k-means聚類獲得anchor box來預(yù)測bounding box。每個bounding box的4個坐標(tx,ty,tw,th)值及其置信度得分、概率值直接通過回歸運算從輸入圖像輸出。
在訓練階段,從特征提取網(wǎng)絡(luò)輸出13*13、26*26、52*52三個特征圖。以13*13的特征圖為例,將特征圖劃分為13*13網(wǎng)格。每個網(wǎng)格負責檢測目標,預(yù)測結(jié)果為:
bx=σ(tx)+Cx
by=σ(ty)+Cy
bw=pwetw
bh=pheth
(1)
式(1)中:(Cx,Cy)表示cell左上角的坐標;(pw,ph)分別表示anchor box的寬度和高度;(tx,ty,tw,th)是網(wǎng)絡(luò)預(yù)測的4個偏移坐標。利用sigmoid函數(shù)處理偏移值,可以有效保證目標中心在網(wǎng)格單元內(nèi)執(zhí)行預(yù)測。圖1為邊界框位置與大小的計算示意圖。
圖1 邊界框位置與大小的計算示意圖
YOLOv3的損失函數(shù)公式為公式(2),其由三部分組成:第一部分(第一項、第二項)表示坐標預(yù)測誤差、第二部分(第三項、第四項)表示置信度誤差,第三部分(第五項)表示分類誤差。
(2)
(3)
聚合通道特征(ACF)算法[20]把不同通道特征進行聚合,得到聚合特征。將不同通道的特征進行聚合,使得聚合得到的特征信息可以提高對物體特征的表現(xiàn)效率。輸入待檢圖,相應(yīng)的通道特征表示為:
C=Ω(I)→C1=∑(C)
(4)
式(4)中:Ω為特征變換函數(shù);C1表示聚合特征;C為特征;∑表示將特征進行聚合。
灰度圖像C=I,最簡單的特征通道即為灰度,其步驟為:輸入待測圖像I,得到梯度方向直方圖、顏色以及梯度幅值特征金字塔的計算結(jié)果,然后將所提取的3種特征結(jié)合為ACF,接著采用決策樹為弱分類器訓練Boosting分類器,于是得到初始檢測的輸出。
ACF使用的通道特征為:3通道LUV顏色通道,6通道梯度方向直方圖,1通道梯度幅度,進行聚合獲得聚合特征F,于是F的通道數(shù)目為10。使用f算子進行濾波,減少噪聲干擾。劃分F得到4*4的小塊,對每塊進行像素求和,接著繼續(xù)使用f算子濾波。對圖像特征金字塔[21]展開計算時,把圖像進行分組,分配到金字塔層,每組金字塔特征僅計算一層,其余經(jīng)該層采樣獲得,提高了時效。使用Boosting分類器以及使用的弱分類器是決策樹,對INRIA2017進行訓練,得出結(jié)果。
為了使YOLOv3模型具備更高的檢測精度,對原算法做出修改,主要包括以下工作:
原始的ACF方法在某些檢測問題上取得了良好的性能。本研究中,我們探索了ACF在Region proposal提取中的新用途。直接利用ACF對目標進行檢測,得到的結(jié)果可能僅包含目標的一部分或者誤報。為了解決這個問題,研究提出了RPACF區(qū)域提議生成方法。RPACF并非如其余多數(shù)區(qū)域提案一樣,直接使用生成的Region proposal進行分類,而是生成包含潛在目標的大型潛在區(qū)域,用于后續(xù)的深度網(wǎng)絡(luò)[22]。使用這種方法,可以避免僅包含部分目標的區(qū)域。RPACF實現(xiàn)如圖2所示。
圖2 RPACF區(qū)域建議方法
檢測過程中,ACF執(zhí)行初步檢測功能,但并非像傳統(tǒng)ACF根據(jù)置信度來排列ACF邊界框。由ACF檢測到的一個目標可能會有幾個不同的bounding box,或者有的目標被漏檢導致出現(xiàn)誤報,且有些目標的bounding box之間的距離較近或者部分重疊,于是將這些bounding box進行合并。圖3直觀地展示了這一過程。使用xmin,ymin表示2個框中x,y坐標的最小值。于是得:
(5)
(6)
式(5)、(6)中: (xb1,yb1)和(xb2,yb2)是2個邊界框左下角的坐標;(wb1,hb1)和(wb2,hb2)代表2個邊界框的寬度和高度。將2個邊界框在x,y軸上合并,合并后的大邊界框的左下角坐標以及右上角坐標分別為:
(xmin-20,ymin-20)(max{xb1+wb1,xb2+wb2}+20,
max{yb1+hb1,yb2+hb2}+20)
兩坐標加減20的原因是減小目標存在部分未被包含在框內(nèi)的情況,用(xb,yb)代表合并邊界框的右上角點。而(wb,hb)代表合并邊界框的寬度和高度。將2個邊界框合并為一個可能包含一個或多個目標的大邊界框。這些合并的邊界框擴展為潛在區(qū)域和后續(xù)網(wǎng)絡(luò)的輸入。如果檢測的結(jié)果存在2個邊界框以上重疊,則根據(jù)橫坐標的先后順序,取前2個進行合并;然后以新的邊界框再與其余邊界框進行比較。
圖3 邊界框合并示意圖
還存在另一種情況就是,2個邊界框間距大于設(shè)定的閾值,表示這些框所檢測的目標非同一個對象,無需進行合并。在這種情況下,邊界框可能包含整個目標,也可能只包含目標的一部分,或者僅僅是背景。為了得到更好的檢測和定位,將這些邊界框傳長寬均上下左右擴充20像素大小,然后送至YOLOv3網(wǎng)絡(luò)待進一步檢測,這樣可以提升目標的大小占比,以便獲得更好的檢測效果。比如檢測的框大小為160*180,則送入后續(xù)網(wǎng)絡(luò)的大小則為200*220。bounding box合并實例如圖4所示。
圖4 bounding box合并實例
Fast R-CNN使用Selective Search(SS)方法來生成bounding box。通過實驗表明,F(xiàn)aste R-CNN處理1 920*1 080大小的圖片檢測較慢。因此,不適合目標檢測中的潛在區(qū)域提取。Faster R-CNN中的候選區(qū)域提取方法(例如RPN網(wǎng)絡(luò))生成并選擇邊界框,這些邊界框用于回歸和分類。高分辨率的輸入圖像(1 920*1 080)和較大的對象尺寸范圍(彈庫空間大、檢測目標面積范圍差距較大),卷積網(wǎng)絡(luò)的特征圖可能會丟失一些細節(jié),從而難以檢測到較小的目標。因此,RPN不適合檢測高分辨率圖像中的小尺寸物體。
與RPN不同,本研究的方法僅生成可能出現(xiàn)目標的潛在區(qū)域,然后將這些潛在區(qū)域發(fā)送到Y(jié)OLOv3網(wǎng)絡(luò)進行檢測。研究從潛在區(qū)域提取特征,而非提取特征以生成潛在區(qū)域。RPACF的作用就是減少后續(xù)YOLOv3的檢測范圍,提高目標大小的占比。研究沒有直接將ACF用作區(qū)域提議方法,因為ACF檢測方法通常會生成邊界框超過實例的一半。實驗表明[23],誤檢率達到17%。如果將這些邊界框發(fā)送到Y(jié)OLOv3網(wǎng)絡(luò),則誤檢率不會低于17%。但是,研究提出的RPACF方法可以包含100%的目標,這樣可以保證比較好的檢測結(jié)果。此外,每個圖像在CPU上生成潛在區(qū)域僅需花費0.16 s(1 920×1 080),從而確保較快的檢測速度。因此,我們提出的RPACF方法比其他方法更適合提取高分辨率圖像的潛在區(qū)域。
非極大值抑制算法(NMS),當前在很多計算機視覺任務(wù)中均廣泛應(yīng)用,其算法流程如下:
步驟1將所有boundingbox按照得分進行排序,取最高分對應(yīng)框記為bi;
步驟2依次選取剩余框依次與得分最高的框進行iou(交并比)計算,如果iou大于設(shè)定閾值,則刪除,如式(7)所示;
步驟3在剩下的框中選擇新的bi,重復(fù)步驟2,最后剩下的都認為是最優(yōu)的目標檢測框。
(7)
式(7)中:Nt為設(shè)定閾值;Si為第i個預(yù)測框?qū)?yīng)的得分;M為選定bi。iou計算公式為:
(8)
式(8)中:A為bi的面積;B為Bj面積。但是,使用該NMS算法容易造成漏檢情況的產(chǎn)生。如圖5所示,實線以及虛線兩種檢測框均為預(yù)測結(jié)果,但是按照傳統(tǒng)的NMS算法,將會剔除虛線框,從而造成漏檢的產(chǎn)生?;谶@種情況,提出對于交并比較大的預(yù)測框,不是直接對其進行剔除,而是減少它的置信度的改進方法,即應(yīng)用Soft-NMS替代NMS。
Soft-NMS的特點為可按照目前分數(shù)遞歸對其進行重評,而不是粗暴得進行置零,這樣就可以避免同類物體重疊度角度較高時產(chǎn)生漏檢的情況,同時利用該算法無須對模型進行重新訓練,不會增加訓練開銷,其算法流程為:
步驟1根據(jù)class對boundingbox進行分組;
步驟2對每一class中所有bounding進行得分排序;
步驟3選擇得分最高的框,記作bi;
步驟4依次求出剩余框與bi之間的iou,若大于設(shè)定閾值Nt,則根據(jù)式(8)降低其得分;將bi放入新的集合D={ }中;
步驟5在剩下的框中選擇新的bi,重復(fù)步驟4,最后剩下的都認為是最優(yōu)的目標檢測框。
步驟6設(shè)置閾值Nd,當降低得分后的框的新得分小于Nd時,刪除該框。
本文算法采用Soft-NMS中的高斯函數(shù):
(9)
式(9)中,σ為常數(shù)。Soft-NMS改變傳統(tǒng)NMS對交并比較高的檢測框直接去除的做法,以降低其置信度的做法進行替換,使得其存在繼續(xù)進行比較的可能性,從而減小了正確的檢測框被誤刪的幾率,能夠提升了檢測平均精度[24]。
后期的檢測結(jié)果以RPACF提取的潛在區(qū)域為基礎(chǔ),結(jié)果需要映射回原始圖像。在后續(xù)YOLOv3網(wǎng)絡(luò)可能對同一對象生成多個邊界框。為了將檢測結(jié)果映射回原圖像以及解決這一問題,設(shè)計包含本文第3節(jié)提出的Soft-NMS和映射的后處理過程。
YOLOv3檢測過后可能會出現(xiàn)多個重疊的檢測,一個目標可能有很多與之關(guān)聯(lián)的邊界框,因此使用本研究改進的Soft-NMS算法對邊界框進行選擇,得出準確的邊界框。YOLOv3得到的邊界框坐標是基于潛在區(qū)域的,而潛在區(qū)域從原始圖像中獲取,為了得到最終的檢測結(jié)果,需要將邊界框從潛在區(qū)域映射到原始圖像中。潛在區(qū)域邊界框坐標與原始圖像最終坐標的關(guān)系為:
xb=xbp+xpo-20
(10)
yb=ybp+ypo-20
(11)
式中(10)、(11)中:(x,y)表示x和y坐標;下標b用于原始圖片邊界框;下標bp表示潛在區(qū)域中的邊界框;下標po用于原始圖像中的潛在區(qū)域。當它們映射到原始圖像時,邊框的寬度,高度和類別不變,因此得到最終的檢測結(jié)果。
實驗在Ubuntu16.04系統(tǒng)下進行,CPU:酷睿i5-8400 2.80GHz,顯卡為GTX1060,顯存為6GB,計算機內(nèi)存為16G;使用MATLAB、C語言以及Python 3.6,同時配套OpenCV、TensorFlow等模塊來支持實驗的進行。
在本實驗中,聚合通道特征使用MATLAB工具箱所提供,并對其進行修改,以實現(xiàn)研究所要求的檢測框合并為潛在區(qū)域的目標。同時,對某部彈藥保障大隊正在忙碌工作狀態(tài)下的彈庫進行人員數(shù)據(jù)集的采集,該數(shù)據(jù)集具有彈庫面積大、工作人員著裝均比較單調(diào)(部隊制服)、人員存在被彈品部分遮擋等特點,同時數(shù)據(jù)集保持在光照相同以及所有數(shù)據(jù)集圖片皆為彈庫場景,采集時,彈庫均開大燈,采集時間對于數(shù)據(jù)集無影響。數(shù)據(jù)集共含圖片1 400張,分辨率大小為1 920*1 080,以8比2的比例劃分訓練集以及測試集,并將其標定為VOC格式。其中大部分圖片均包含多個人員目標,且因為彈庫面積較大,人員大小不一,圖片中部分人員遠離攝像頭,目標極小。實驗過程中采用在線數(shù)據(jù)增強的方式對數(shù)據(jù)集進行擴充。訓練圖片之前,會先對圖片進行隨機的數(shù)據(jù)增強:旋轉(zhuǎn)、剪切、翻轉(zhuǎn)以及平移等,因為彈庫的光照是保持穩(wěn)定的,因此不需對光照變化進行處理。
研究使用ACF算法對含有目標的潛在區(qū)域進行了提取,為確保所提方法的有效性,與傳統(tǒng)的ACF算法進行對比。圖6(公開放映的圖片)表示用傳統(tǒng)ACF對圖片進行檢測的輸出結(jié)果,可以得出傳統(tǒng)的ACF并不能較好地獲得所有目標結(jié)果。
圖6 ACF檢測示意圖
圖7為使用了本研究提出的合并候選框方式對檢測邊界框進行合并后的結(jié)果是示意圖。
圖7 合并邊界框
從圖7可以看出,合并后的大邊界框,可以將圖中的所有目標均包含在內(nèi),于是將該大邊界框作為潛在區(qū)域,傳入后續(xù)的YOLOv3網(wǎng)絡(luò)進行進一步的檢測。
圖8為傳統(tǒng)YOLOv3算法對該圖進行檢測的結(jié)果,從圖8可以看出,該圖并不能較好地將圖中的所有目標識別出來。將來自RPACF提取出來的潛在區(qū)域傳入YOLOv3網(wǎng)絡(luò)進行檢測,得出檢測結(jié)果如圖9所示。
圖8 傳統(tǒng)YOLOv3檢測示意圖
圖9 改進YOLOv3檢測示意圖
從圖9可以得出,研究提出的基于ACF提取候選區(qū)域的方法可以使得檢測結(jié)果優(yōu)于傳統(tǒng)的YOLOv3網(wǎng)絡(luò)。
表1為RPACF-YOLOv3與其他算法的檢測精度對照表,從表1可以得出RPACF-YOLOv3優(yōu)于其他比較的方法。這一優(yōu)勢主要有以下原因:首先,RPACF可以生成包含100%目標的潛在區(qū)域;生成過程中將高分辨率圖像分割成較小的潛在區(qū)域,從而可以有效避免YOLOv3在高分辨率圖像上的性能較差的問題。其次,關(guān)于細分小尺寸圖像,RPACF-YOLOv3可以進行精細檢測,實現(xiàn)較高的平均精度。第三,設(shè)計的后處理方法旨在選擇最合適的bounding box并將它們映射到原始圖像。
表1 各算法精度
研究提出的Soft-NMS替換其NMS算法,其程序?qū)崿F(xiàn)如圖10所示。
程序修改后,由于非極大值抑制算法沒有涉及到未知參數(shù)需要進行更新,因此改進非極大值抑制算法后的YOLOv3模型不需進行訓練即可直接進行測試,表2為其測試結(jié)果。
通過表2數(shù)據(jù)可得,改進非極大值抑制算法后,算法對彈庫人員目標識別的AP有明顯提高,因為在實際的彈庫工作中,存在工作人員重合的情況較多,因此,可以得出本研究提出的改進非極大值抑制方法對彈庫工作人員的檢測精度優(yōu)于傳統(tǒng)的YOLOv3算法。
圖10 NMS改進程序?qū)崿F(xiàn)
表2 兩種NMS結(jié)果
提出了一種基于ACF提取潛在區(qū)域以及Soft-NMS的YOLOv3改進算法,利用ACF算法對圖片進行候選區(qū)域的快速提取,根據(jù)bounding box之間的距離利用合并算法合并相應(yīng)的bounding box為潛在區(qū)域。處理完畢后的潛在區(qū)域傳送至后續(xù)網(wǎng)絡(luò)進行進一步檢測,將檢測結(jié)果利用Soft-NMS以及映射程序映射回原圖像。
本研究提出的改進方法使得YOLOv3的檢測精度比傳統(tǒng)YOLOv3在彈庫工作人員圖像數(shù)據(jù)集上面的AP高5.54%。