施澤浩,趙啟軍
(四川大學(xué) 計(jì)算機(jī)學(xué)院 視覺合成圖形圖像技術(shù)國防重點(diǎn)實(shí)驗(yàn)室,四川 成都 610065)
在邁向更為復(fù)雜的圖像理解中,需要的不僅是圖像里有什么物體,更需要知道物體的具體位置,因此目標(biāo)檢測就顯得尤為重要[1]。相比于特定目標(biāo)的檢測,如人臉檢測、行人檢測、車輛檢測,通用目標(biāo)檢測需要檢測的物體類別眾多,類別之間距離大,難度大大增加,以至于傳統(tǒng)的滑動窗口加分類器的一般檢測流程難以駕馭。近年來,深度學(xué)習(xí)[2]不斷在圖像識別上取得突破,受到國內(nèi)外研究人員的高度關(guān)注。自2013年以來深度學(xué)習(xí)開始應(yīng)用到目標(biāo)檢測領(lǐng)域。相比于圖像識別任務(wù),目標(biāo)檢測任務(wù)更為復(fù)雜。首先,一幅圖像中通常不只一個目標(biāo)出現(xiàn)。其次,目標(biāo)檢測需要精確的包圍框(bounding box)定位目標(biāo)并對其進(jìn)行分類。現(xiàn)有基于卷積神經(jīng)網(wǎng)絡(luò)[3]的目標(biāo)檢測算法普遍網(wǎng)絡(luò)結(jié)構(gòu)臃腫,要實(shí)際應(yīng)用還需克服速度慢、模型參數(shù)巨大等不足。為此,提出一種基于全卷積結(jié)構(gòu)的目標(biāo)檢測算法。
早期的HOG+SVM或者DPM等傳統(tǒng)算法[4-8],都是采用手工設(shè)計(jì)特征、滑動窗口加簡單分類器的設(shè)計(jì),在行人檢測、人臉檢測等單目標(biāo)檢測中效果較好,但是對多目標(biāo)檢測則比較局限。卷積神經(jīng)網(wǎng)絡(luò)由于其強(qiáng)大的表達(dá)能力,近年來在目標(biāo)檢測領(lǐng)域表現(xiàn)大大超越了傳統(tǒng)算法?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法可以分為兩大類,一類是基于可能區(qū)域,另一類是基于直接回歸。
2013年Girshick R等提出基于可能區(qū)域的RCNN算法[9],先采用其他算法提取可能的目標(biāo)區(qū)域,再用卷積網(wǎng)絡(luò)對每個區(qū)域進(jìn)行特征提取與邊框回歸,由于可能區(qū)域數(shù)目較大,每個區(qū)域都需要進(jìn)行一次前向傳播,算法效率十分低下。2015年Girshick R等針對RCNN的這一缺點(diǎn),提出了Fast RCNN[10],使用感興趣區(qū)域池化層(ROI pooling),在特征圖(feature map)上對每個區(qū)域進(jìn)行特征選擇,得到統(tǒng)一長度的特征后合并,統(tǒng)一送入后續(xù)網(wǎng)絡(luò)。2015年Ren S等提出了Faster RCNN[11],進(jìn)一步將可能區(qū)域的提取集成到網(wǎng)絡(luò)中,設(shè)計(jì)了預(yù)定義框(anchor)機(jī)制,使得檢測任務(wù)變成端到端,不需要額外的可能區(qū)域的提取過程。
2016年Redmon J等提出了基于回歸的YOLO算法[12],針對基于可能區(qū)域的方法速度慢這一問題,采用回歸的方法,直接回歸出目標(biāo)的BBox與類別,犧牲了一部分精度,但是速度更快。由于使用了全連接層輸出預(yù)測結(jié)果,YOLO模型的參數(shù)巨大。
2015年Long J等提出基于全卷積網(wǎng)絡(luò)的圖像分割算法[13],證明了全卷積網(wǎng)絡(luò)在圖像分割中的有效性。
基于可能區(qū)域的方法精度較高,但是網(wǎng)絡(luò)復(fù)雜臃腫,速度慢?;谥苯踊貧w的方法雖然犧牲了部分精度,但是速度快,更能滿足實(shí)際應(yīng)用的實(shí)時性需求。文中提出的算法是采用直接回歸的方法,不同于YOLO的是采用了全卷積結(jié)構(gòu),減小了模型的參數(shù)量和過擬合的風(fēng)險,同時借鑒了Faster RCNN的anchor機(jī)制,設(shè)計(jì)了一個多任務(wù)的損失函數(shù),減小直接回歸的難度。
算法采用基于回歸的方法,直接以圖像為輸入,通過優(yōu)化給定的目標(biāo)函數(shù),網(wǎng)絡(luò)可以預(yù)測輸出圖像中目標(biāo)的類別與BBox,是一種端到端的結(jié)構(gòu)。這種結(jié)構(gòu)的主要優(yōu)點(diǎn)是速度快。
不同于YOLO的是用卷積層代替全連接層做預(yù)測輸出。如圖1(a),YOLO采用全連接層(FCDet層)進(jìn)行回歸預(yù)測,通過對下層信息的融合直接輸出目標(biāo)的BBox和類別信息。而文中算法采用anchor機(jī)制,用卷積層(ConvDet層)輸出目標(biāo)信息,如圖1(b)。
卷積神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)的一種,在圖像領(lǐng)域具有廣泛的應(yīng)用。一般的卷積神經(jīng)網(wǎng)絡(luò)包括卷積層、池化層、全連接層。而全卷積網(wǎng)絡(luò),只包含卷積層和池化層。全卷積網(wǎng)絡(luò)的優(yōu)點(diǎn)包括:
圖1 模型對比
(1)全連接層對特征圖上每個像素點(diǎn)同等對待,提取了全圖信息,包括背景信息。而全卷積的特征圖上每個像素只提取了其對應(yīng)的圖像感受野內(nèi)的信息,減少了無關(guān)背景的干擾。
(2)全連接層參數(shù)多,而卷積層參數(shù)少,不容易過擬合。
(3)全卷積網(wǎng)絡(luò)能適應(yīng)不同的輸入大小。
預(yù)定義框機(jī)制是在卷積輸出的特征圖上的每個像素位置上設(shè)置一組不同大小、不同長寬比的預(yù)定義框,如圖2所示。通過選擇與目標(biāo)IOU最大的一個預(yù)定義框進(jìn)行目標(biāo)函數(shù)優(yōu)化。ConvDet層將在每個像素位置同時輸出各個預(yù)定義框的位置和尺寸的調(diào)整量(δx,δy,δw,δh),是否含有目標(biāo)的分?jǐn)?shù)Score,還有屬于各個類別的概率Class。最后通過非極大值抑制(non-maximum suppression)得到最終的目標(biāo)檢測框。文中算法通過對訓(xùn)練集的標(biāo)簽框做K均值聚類(k-means clustering)得到9個預(yù)定義框。
圖2 預(yù)定義框機(jī)制
算法的損失函數(shù)是一個多任務(wù)損失函數(shù),包括邊框回歸、anchor得分回歸,還有分類的交叉熵?fù)p失。
(1)
Lbbox部分處理邊框回歸。其中,λbbox是該部分損失的權(quán)重系數(shù);Nobj是出現(xiàn)的目標(biāo)個數(shù);K是anchor的個數(shù);Ik∈{0,1}指示了與目標(biāo)IOU最大的anchor,只取IOU最大的anchor參與loss計(jì)算;X是一個四維向量(δx,δy,δw,δh),是anchor的修正量。
實(shí)驗(yàn)采用VOC2007和VOC2012目標(biāo)檢測數(shù)據(jù)庫[14],含有二十類物體。VOC數(shù)據(jù)庫分為訓(xùn)練集、驗(yàn)證集和測試集,只允許用訓(xùn)練集和驗(yàn)證集做訓(xùn)練,不允許使用外部數(shù)據(jù)。訓(xùn)練集總共有16 541張圖片,并在VOC2007的測試集上進(jìn)行測試。
IOU(intersection over union,交并比),AP(average precision,平均準(zhǔn)確率),mAP(mean average precision,平均準(zhǔn)確率均值)是評價目標(biāo)檢測算法的三個主要參數(shù)。IOU表示目標(biāo)的檢測框與目標(biāo)的標(biāo)簽框交面積與并面積的比率。AP和mAP的計(jì)算公式如下:
(2)
(3)
其中,b為檢測框;bgt為標(biāo)簽框;N為測試集的標(biāo)簽框總數(shù);C為類別數(shù)20。
在VOC2007測試集上的測試結(jié)果見表1??梢?,文中算法的速度約是Faster RCNN的7.5倍,平均準(zhǔn)確率和速度均超過了基于回歸框架的YOLO。檢測結(jié)果見圖3。
表1 實(shí)驗(yàn)結(jié)果
Faster RCNN與YOLO的網(wǎng)絡(luò)結(jié)構(gòu)均采用了全連接層,其中全連接層分別占了約80%與72%的參數(shù)。而文中算法采用全卷積結(jié)構(gòu),模型約為Faster RCNN的四分之一,YOLO的十分之一,僅為103 MB。表2對比了各個算法的模型大小。
表2 模型大小
圖3 部分檢測結(jié)果
為解決現(xiàn)有目標(biāo)檢測算法模型參數(shù)大、速度慢等缺點(diǎn),提出一種基于全卷積網(wǎng)絡(luò)的目標(biāo)檢測算法。該算法利用預(yù)定義框機(jī)制,用卷積層代替全連接層進(jìn)行結(jié)果預(yù)測,大大降低了模型參數(shù)數(shù)目,提高了檢測效率。下一步的工作可以設(shè)計(jì)更佳精簡的基礎(chǔ)網(wǎng)絡(luò),進(jìn)一步提高模型的預(yù)測速度。
參考文獻(xiàn):
[1] 尹宏鵬,陳 波,柴 毅,等.基于視覺的目標(biāo)檢測與跟蹤綜述[J].自動化學(xué)報,2016,42(10):1466-1489.
[2] 孫志軍,薛 磊,許陽明,等.深度學(xué)習(xí)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2012,29(8):2806-2810.
[3] 李彥冬,郝宗波,雷 航.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)應(yīng)用,2016,36(9):2508-2515.
[4] 趙麗紅,劉紀(jì)紅,徐心和.人臉檢測方法綜述[J].計(jì)算機(jī)應(yīng)用研究,2004,21(9):1-4.
[5] 賈慧星,章毓晉.車輛輔助駕駛系統(tǒng)中基于計(jì)算機(jī)視覺的行人檢測研究綜述[J].自動化學(xué)報,2007,33(1):84-90.
[6] 李文波,王立研.一種基于Adaboost算法的車輛檢測方法[J].長春理工大學(xué)學(xué)報:自然科學(xué)版,2009,32(2):292-295.
[7] FELZENSZWALB P, GIRSHICK R, MCALLESTER D,et al.Visual object detection with deformable part models[C]//Computer vision & pattern recognition.Washington,DC,USA:IEEE Computer Society,2010:2241-2248.
[8] 曾接賢,程 瀟.結(jié)合單雙行人DPM模型的交通場景行人檢測[J].電子學(xué)報,2016,44(11):2668-2675.
[9] GIRSHICK R,DONAHUE J,DARRELL T,et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Computer vision and pattern recognition.Washington,DC,USA:IEEE Computer Society,2014:580-587.
[10] GIRSHICK R.Fast R-CNN[C]//International conference on computer vision.Washington,DC,USA:IEEE Computer Society,2015:1440-1448.
[11] REN S,HE K,GIRSHICK R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[C]//Proceedings of the 28th international conference on neural information processing systems.Cambridge,MA,USA:MIT Press,2015:91-99.
[12] REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:unified,real-time object detection[C]//IEEE conference on computer vision and pattern recognition.Washington,DC,USA:IEEE Computer Society,2016:779-788.
[13] LONG J,SHELHAMER E,DARRELL T.Fully convolutional networks for semantic segmentation[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2017,39(4):640-651.
[14] EVERINGHAM M,VAN GOOL L,WILLIAMS C K I,et al.The PASCAL visual object classes challenge[J].International Journal of Computer Vision,2010,88(2):303-338.
[15] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[EB/OL].(2014-04-10)[2017-06-13].https://arxiv.org/abs/1409.1556.
[16] HE K,ZHANG X,REN S,et al.Deep residual learning for image recognition[C]//Computer vision and pattern recognition.Washington,DC,USA:IEEE Computer Society,2016:770-778.