施澤浩
(四川大學(xué)計算機學(xué)院,成都 610065)
目標(biāo)檢測[1]算法是傳統(tǒng)的計算機視覺問題,主要任務(wù)是定位圖像上出現(xiàn)的目標(biāo),并對其進行分類。在邁向更為復(fù)雜的圖像理解中,目標(biāo)檢測至關(guān)重要,因為我們不僅需要知道圖像里有什么物體,更需要知道物體的位置。
傳統(tǒng)的目標(biāo)檢測算法,例如VJ人臉檢測算法,主要是基于滑動窗口和級聯(lián)分類器?;瑒哟翱诘拇笮∈枪潭ǖ?,意味著只能檢測固定大小的目標(biāo),基于滑動窗口不可避免的問題就是如何應(yīng)對不同尺度的目標(biāo)。一種有效的方法便是構(gòu)建圖像金字塔,將輸入圖片縮放成不同尺寸,在不同尺寸的輸入上進行滑動窗口操作,便能解決檢測不同尺度目標(biāo)的問題。近年來,深度學(xué)習(xí)不斷在圖像識別上取得突破,受到廣泛關(guān)注,自2013年起開始應(yīng)用到目標(biāo)檢測領(lǐng)域,并不斷刷新在各大目標(biāo)檢測數(shù)據(jù)庫上的成績。但是,基于深度學(xué)習(xí)的目標(biāo)檢測算法同樣面對著檢測不同尺度目標(biāo)的問題。如果直接將圖像金字塔用于基于深度學(xué)習(xí)的目標(biāo)檢測算法,意味著對每個尺寸的圖片都要經(jīng)過一次網(wǎng)絡(luò)的前向傳播,不僅要克服輸入圖像大小變化的問題,而且效率十分低下。為此本文設(shè)計了特征金字塔網(wǎng)絡(luò),只需一次前向傳播,便能特征金字塔網(wǎng)絡(luò)中完成對不同尺度目標(biāo)的檢測。
ResNet[2]是近年最有影響力的一個基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu),被廣泛應(yīng)用到計算機視覺的各項任務(wù)。本文采用Resnet-50作為基礎(chǔ)網(wǎng)絡(luò),并在其上搭建特征金字塔網(wǎng)絡(luò)。Res2,Res3,Res4,Res5 是 ResNet中的結(jié)構(gòu),P2,P3,P4,P5是搭建的特征金字塔??紤]到卷積神經(jīng)網(wǎng)絡(luò)在低層(Res2,Res3)擅長提取細粒度特征,對小目標(biāo)檢測比較重要,而在高層(P2,P3)擅長提取語義信息,對目標(biāo)的正確分類比較重要,將低層特征圖與高層特征圖逐像素相加,得到一個具有強語義信息又能提取細節(jié)位置信息的特征圖。
按照圖1所示的方式搭建網(wǎng)絡(luò),黑色實心箭頭為256個3×3卷積核的卷積層,空心箭頭為逐像素相加操作,融合高低層特征,得到 P2,P3,P4,P5四個針對不同尺度目標(biāo)的特征圖。整個網(wǎng)絡(luò)結(jié)構(gòu)清晰,在各個深度學(xué)習(xí)框架中都容易實現(xiàn)。
在得到的特征金字塔上面,我們采用Faster R-CNN[3]中的預(yù)定義框機制。在特征金字塔的每個特征圖上的每個像素位置上設(shè)置一組不同大小,不同長寬比的預(yù)定義框,如圖2。虛線框為預(yù)定義框,網(wǎng)絡(luò)通過預(yù)測對預(yù)定義框的調(diào)整得到實線框,即目標(biāo)的位置。
圖1
圖2
通過選擇與目標(biāo)IOU(交并比)最大的一個預(yù)定義框進行目標(biāo)函數(shù)優(yōu)化,分類用交叉熵損失,邊框回歸用光滑L1損失。在每個像素位置同時輸出各個預(yù)定義框的位置和尺寸的調(diào)整量,是否含有目標(biāo)的分數(shù),還有屬于各個類別的概率。排除包含目標(biāo)分數(shù)低于一定閾值的預(yù)定義框,最后通過非極大值抑制得到最終的目標(biāo)檢測框。整個檢測過程只需要一次前向傳播,大大提高了檢測效率。
為了驗證特征金字塔網(wǎng)絡(luò)的有效性,我們用ResNet50作為基準(zhǔn)進行對比,在PASCAL VOC進行實驗,測試在相同預(yù)測框數(shù)目下對不同大小目標(biāo)的召回率。
PASCAL VOC[4]目標(biāo)檢測數(shù)據(jù)庫含有20類物體,分為訓(xùn)練集,驗證集和測試集。只允許使用訓(xùn)練集和驗證集做訓(xùn)練,不允許使用外部數(shù)據(jù)。實驗算法在VOC 2007,VOC 2012訓(xùn)練集和驗證集上做訓(xùn)練,總共16541張圖片,并在VOC 2007測試集上做測試。
實驗評價主要基于目標(biāo)召回率,相同預(yù)測框數(shù)目下召回率越高越好。實驗結(jié)果表明,基于特征金字塔網(wǎng)絡(luò)的目標(biāo)檢測算法對目標(biāo)召回率,大大超過基準(zhǔn)算法,見表1。目標(biāo)大小用目標(biāo)包圍框的面積的開方表示,可以看到,基于特征金字塔網(wǎng)絡(luò)的目標(biāo)檢測算法在各個預(yù)測框數(shù)目下都有很好的表現(xiàn),對小目標(biāo)的召回率尤其突出。
表1
本文提出了基于特征金字塔網(wǎng)絡(luò)的目標(biāo)檢測算法,借鑒了傳統(tǒng)目標(biāo)檢測算法檢測不同尺度目標(biāo)的思路,主要解決了現(xiàn)有基于深度學(xué)習(xí)的目標(biāo)檢測算法檢測不同尺度目標(biāo)與檢測效率之間的矛盾。算法將傳統(tǒng)圖像金字塔統(tǒng)一到深度學(xué)習(xí)框架中,融合高低層特征,極大得提高了現(xiàn)有算法檢測不同尺度目標(biāo)的能力,同時大大提高檢測效率。同時,該網(wǎng)絡(luò)結(jié)構(gòu)簡潔清晰,在各個深度學(xué)習(xí)框架中都容易實現(xiàn),具有一定的工程應(yīng)用價值。
[1]尹宏鵬,陳波,柴毅,等.基于視覺的目標(biāo)檢測與跟蹤綜述[J].Acta Automatica Sinica,2016,42(10):1466-1489.
[2]He K,Zhang X,Ren S,et al.Deep Residual Learning for Image Recognition[C].IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas:IEEE Computer Society,2016:770-778.
[3]Ren S,He K,Girshick R,et al.Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2015,PP(99):1-1.
[4]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.