胡 葵,章東平 ,楊 力
(中國計(jì)量大學(xué) 信息工程學(xué)院,浙江 杭州 310018)
行人檢測是計(jì)算機(jī)視覺領(lǐng)域的一個(gè)研究熱點(diǎn),在輔助駕駛、智能監(jiān)控等領(lǐng)域有著非常廣泛的應(yīng)用. 行人檢測的目的是判斷圖片或者視頻中是否存在行人,如果有行人則框出其所在位置.行人檢測技術(shù)具有很大的挑戰(zhàn)性和提升空間,因?yàn)樾腥四繕?biāo)比人臉目標(biāo)有更大幅度的姿態(tài)變化,而且在視頻或者圖片中不同行人尺寸跨度較大.現(xiàn)實(shí)場景中行人所在背景不同、關(guān)照強(qiáng)度不同、服飾裝扮的多樣性、姿態(tài)的多樣性等,使得高檢測精度的實(shí)時(shí)行人檢測非常困難.
2003年Viola和Jones[1]提出利用Harr特征用于行人檢測,在INRIA行人數(shù)據(jù)集上達(dá)到了80%的檢測率.2005年Dalar和Triggs[2]提出了梯度方向直方圖HOG(Histograms of Oriented Gradients)特征描述算子,同時(shí)利用支持向量機(jī)SVM(Support Vector Machines)作為分類器的行人檢測方法,目前HOG特征仍然是傳統(tǒng)行人檢測方法中檢測效果最好的單特征.Benenson等[3]指出在2014年以前的十年來行人檢測上的大多改進(jìn)和提升主要是由于特征的選擇和組合.由于基于滑動模板的行人檢測大多采用密集采樣的方式,然后在每個(gè)規(guī)模的采樣圖像上計(jì)算梯度直方圖等特征,這種方法龐大的計(jì)算量影響了行人檢測的速度.為解決這個(gè)問題,Dollar等人在2014年提出了快速特征金字塔[4]的方法,對原始圖像進(jìn)行稀疏采樣,計(jì)算原圖的特征作為基準(zhǔn)特征,鄰近尺度的特征使用冪指定律近似計(jì)算,從而很大地提升了行人檢測速度.
傳統(tǒng)的行人檢測器大多采用滑動窗口法,但是這種方法會產(chǎn)生大量的窗口而使檢測耗時(shí)長,隨著大規(guī)模訓(xùn)練數(shù)據(jù)的增加,計(jì)算機(jī)性能的提升,特別是圖形處理單元GPU(Graphic Processing Unit)性能的提升,使得基于深度學(xué)習(xí)的行人檢測方法成為可能. 2014年Ross Girshick[5]創(chuàng)造性地提出了RCNN(region with CNN feature)的目標(biāo)檢測方法,首先用Selective Search[6]方法在圖像上生成1 000~2 000個(gè)候選區(qū)域并通過卷積神經(jīng)網(wǎng)絡(luò)提取特征,特征向量用支持向量機(jī)類,最后邊框回歸(Bouding Box Regression)確定目標(biāo)位置,后來Ross Girshick等人在此基礎(chǔ)上提出各種改進(jìn),例如Fast-RCNN[7]用soft-max分類器取代SVM分類器,F(xiàn)aster-RCNN[8]在Fast-RCNN的基礎(chǔ)上提出區(qū)域提議網(wǎng)絡(luò)PRN(Region Proposal Network)的概念, 解決了Fast-RCNN生成提議窗口(proposal)慢的問題;然而Zhang[9]等人指出Faster-RCNN 在行人檢測數(shù)據(jù)集上檢測效果并不好, 因?yàn)樵诂F(xiàn)實(shí)場景中有時(shí)候行人的尺寸比較小,例如車載攝像頭采集的作為輔助駕駛應(yīng)用平臺的KITTI[10]數(shù)據(jù)集,因?yàn)镵ITTI數(shù)據(jù)集里行人尺寸跨度很大,圖片通過Faster-RCNN的RoI(Region-of-Interest)池化層后特征圖的分辨率太低,造成了行人檢測和精確定位的困難.Zhang 等在更大尺寸的淺層上提取特征,以此提高提取特征的區(qū)分能力,并采用級聯(lián)的BF (Boosted Forest),執(zhí)行有效的負(fù)樣本挖掘,但是還是不能做到實(shí)時(shí)的行人檢測.
現(xiàn)實(shí)場景中由于攝像頭高度、拍攝角度、行人與攝像頭距離變化等等因素,拍攝到的行人的尺寸變化很大,這樣就給行人檢測帶來了困難.對于解決圖像中行人尺寸多變檢測難的問題,可以對圖像進(jìn)行采樣,這樣做的缺點(diǎn)是計(jì)算量大.也可以對濾波器(滑動窗口)進(jìn)行尺度的采樣,這樣做的缺點(diǎn)是降低了檢測精度.有一些方法采取折中的方法實(shí)現(xiàn)速度和精度的權(quán)衡,如改變以前密集采樣圖像或?yàn)V波器的方法,同時(shí)稀疏采樣圖像和濾波器, 另一種經(jīng)典的方法是圖像特征金字塔[4],稀疏采樣輸入圖像,計(jì)算特征圖(feature map),中間規(guī)模特征圖用插值法逼近. 深度學(xué)習(xí)中也有一些解決目標(biāo)多尺度的問題,RGB等人在Faster-RCNN目標(biāo)檢測方法提出了區(qū)域提議網(wǎng)絡(luò)的概念,利用三種不同尺度(面積){1282,2562,5122}和三種不同比例{1∶1,1∶2,2∶1}的錨(anchor),這些不同的錨可以應(yīng)用于不同目標(biāo)尺寸,部分解決了圖像檢測中目標(biāo)多尺寸的問題.但是因?yàn)槎鄠€(gè)池化層的使用,導(dǎo)致最后卷積層后的特征圖的分辨率比輸入圖小得多. 這就使得檢測小目標(biāo)很困難,因?yàn)榈头直媛实奶卣鲌D中,代表小目標(biāo)的細(xì)節(jié)特征很弱.
在一些行人尺寸跨度很大的數(shù)據(jù)集上Faster-RCNN檢測方法對行人的檢測效果并不理想,例如,行人尺寸多變、姿態(tài)各異的KITTI數(shù)據(jù)集. 圖1是Faster-RCNN在KITTI數(shù)據(jù)集的一張圖片上檢測行人的效果圖,可以看出遮蔽很多的行人和遠(yuǎn)處的尺寸小的行人都漏檢了.
本文提出一種行人檢測方法,在Faster-RCNN的檢測結(jié)構(gòu)的基礎(chǔ)上作一些變化.首先在不同分辨率的特征圖上檢測行人,即從第三個(gè)卷積層到第五個(gè)卷積層后的特征圖上分別提取感興趣區(qū)域,匯總感興趣區(qū)域并通過分類器檢測行人.因?yàn)榈途矸e層得到的特征圖有小的感受野[11],同樣面積的響應(yīng)區(qū)域?qū)?yīng)更小的目標(biāo),更利于檢測小目標(biāo).高卷積層因?yàn)榻?jīng)過了多個(gè)最大池化層作用,圖像分辨率降低,特征圖有大的感受野傾向于檢測大目標(biāo). 并且在低卷積層并聯(lián)一個(gè)小卷積核的卷積層,這樣可以增加小目標(biāo)的細(xì)節(jié)特征,更有利于檢測小目標(biāo). 如圖2是本文多尺度行人檢測方法在KITTI數(shù)據(jù)集的圖片上的檢測效果,與圖1的Faster-RCNN目標(biāo)檢測方法的檢測結(jié)果相比,檢測同一張圖片時(shí),本文方法將遮蔽很多和小尺寸的行人都檢測出來了,效果明顯優(yōu)于Faster-RCNN目標(biāo)檢測方法.
圖1 Faster-RCNN檢測實(shí)例Figure 1 Detection instance of Faster-RCNN
圖2 多尺度行人檢測實(shí)例Figure 2 Detection instance of multi-scale pedestrian detection
本文提出的多尺度行人檢測方法主要是在不同卷積層添加了幾個(gè)檢測分支,在不同檢測分支層同時(shí)檢測行人目標(biāo).這樣就充分利用了不同卷積層得到的特征圖分辨率不同的特性,低卷積層分辨率高,有利于檢測小目標(biāo),高卷積層感受野大,有利于檢測大目標(biāo). 為了進(jìn)一步檢測小尺寸的行人,我們另外在低卷積層并聯(lián)一個(gè)小卷積核的卷積層,這樣可以在低分辨率的特征圖中增加小目標(biāo)的細(xì)節(jié)特征,增加檢測出小尺寸行人目標(biāo)的可能.即在低卷積層并聯(lián)一個(gè)3×3或5×5的卷積層有利于提取細(xì)節(jié)特征,更有利于檢測小目標(biāo). 因?yàn)樯衔闹刑岬降腇aster-RCNN目標(biāo)檢測方法是針對多目標(biāo)的檢測方法,所以生成提議窗口的錨的比例為{1∶1,1∶2,2∶1},而現(xiàn)實(shí)視頻圖片中行人的寬高比一般不高于2∶1,為滿足檢測出不同尺寸比例的行人目標(biāo)的要求,利用這一行人的固有特性. 將錨(anchor)的比例分為三種{1∶2,4∶9,2∶3},這樣可以與行人尺寸更匹配,更有利于對行人這一特定目標(biāo)的檢測,多尺度行人檢測方法網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 多尺度行人檢測網(wǎng)絡(luò)結(jié)構(gòu)Figure 3 Network structure of multi-scale pedestrian detection
由圖3的行人檢測網(wǎng)絡(luò)結(jié)構(gòu)圖可知,一張三通道的輸入圖片依次經(jīng)過五個(gè)包括卷積、池化等非線性單元,圖中Conv、Maxpool、ROI_pool、Fc(Full Connection)分別表示卷積、最大池化、感興趣池層、全連接層,圖片經(jīng)過這些層得到特征,最后得到分類的結(jié)果(class)和邊框bbox(bounding box).不同于Faster-RCNN只在最后一次卷積層生成的特征圖上提取感興趣區(qū)域的方法,我們在第三個(gè)卷積層Conv3_3(前面3代表第三個(gè)卷積層,后面3代表卷積核大小為3×3,其它卷積層類似)后面的特征圖上就開始提取感興趣區(qū)域.這樣原圖只經(jīng)過了前面兩個(gè)最大池化層,得到的特征圖比第五層特征圖分辨率高,更利于尺寸小的行人的檢測和定位. 因?yàn)楦偷木矸e層不能將行人的高層抽象融入特征圖,所以我們沒有從Conv2_5卷積層開始檢測. 我們還采用類似于googlenet[12]并聯(lián)的網(wǎng)絡(luò)結(jié)構(gòu),即用不同尺度的卷積核并聯(lián),增加了網(wǎng)絡(luò)寬度,從而實(shí)現(xiàn)了對多尺度特征的利用. 然而,使用很大尺寸的卷積核將增加網(wǎng)絡(luò)的大小,并導(dǎo)致計(jì)算復(fù)雜度的增加. 所以我們只在第二個(gè)卷積層并聯(lián)一個(gè)3×3的小卷積核到卷積五層,這樣增加了卷積五層的細(xì)節(jié)特征,增加最后一層行人檢測和定位性能,并且計(jì)算量適中,檢測速度和檢測精度得到了很好的權(quán)衡.
(1)
式(1)中每層分類和回歸的聯(lián)合損失函數(shù)為
(2)
(3)
式(3)中
(4)
聯(lián)合公式(1)、(2)、(3)、(4)我們可以通過使(1)中的L(W)最小求得最優(yōu)權(quán)值參數(shù).這樣可以得到最接近標(biāo)簽的預(yù)測置信度和邊框位置,判斷行人并在圖片中框出行人,同時(shí)得到一個(gè)可以用來檢測行人的行人檢測模型.
KITTI數(shù)據(jù)集數(shù)據(jù)集包含7 481張訓(xùn)練圖片和7 581張測試圖片,分為8類目標(biāo),只有車、行人和自行車三類有足夠多樣本做檢測評估,且這三類按大小和遮蔽分為容易、中等、難三個(gè)等級. 因?yàn)闇y試集沒有標(biāo)簽,我們采用分離驗(yàn)證的方法[14],將7 481張訓(xùn)練圖片分為3 712張訓(xùn)練集圖片和3 769張驗(yàn)證集圖片,訓(xùn)練集圖片用來訓(xùn)練網(wǎng)絡(luò)模型,驗(yàn)證集圖片用以評估模型檢測性能. 我們在驗(yàn)證集圖片上測試模型檢測性能,F(xiàn)aster-RCNN和本文方法的精度-召回率曲線如圖4.
為了進(jìn)一步比較不同網(wǎng)絡(luò)的行人檢測性能,本實(shí)驗(yàn)還做了以下比較,在只多層檢測、只并聯(lián)卷積層以及改變并聯(lián)卷積核大小對檢測精度和檢測速度的影響,實(shí)驗(yàn)結(jié)果如表1.
圖4 精度-召回率曲線對比Figure 4 Comparision of Precision-Recall curve
網(wǎng)絡(luò)結(jié)構(gòu)時(shí)間/(s·frame-1)容易中難Faster-RCNN278.1365.8261.09Faster-RCNN+并聯(lián)卷積層(1×1卷積核)2.2179.1165.4360.95Faster-RCNN+并聯(lián)卷積層(3×3卷積核)2.2578.5265.5660.85Faster-RCNN+多層檢測1.7678.8168.3064.96Faster-RCNN+多層檢測+并聯(lián)卷積層(1×1卷積核)1.8278.7268.5263.40Faster-RCNN+多層檢測+并聯(lián)卷積層(3×3卷積核)1.8478.9170.3166.40Faster-RCNN+多層檢測+并聯(lián)卷積層(5×5卷積核)2.0578.2371.6565.48
在圖4的PR曲線中,以召回率(Recall)為x軸,精度(Precision)為y軸. 召回率是指測試集中的行人有多少被檢測出來了,而精度指檢測為行人的樣例中有多少是正確的. PR曲線反映了分類器對正例的識別準(zhǔn)確率和對正例的覆蓋率之間的權(quán)衡,我們希望召回率高的同時(shí)精度也高,所以曲線越凸代表檢測器的性能越好. 圖4中空心圓、實(shí)心圓和三角形分別表示容易、中等、難三個(gè)等級的曲線,實(shí)線是本文的多尺度檢測方法.虛線是Faster-RCNN檢測方法,可以看出多尺度檢測方法性能更好,從紅色曲線看出雖然大尺寸行人居多的容易等級檢測效果提升不多,但是中小尺寸行人居多的中等和難等級性能提升明顯.為進(jìn)行數(shù)據(jù)精確的對比,我們等距離在召回率區(qū)間內(nèi)取11個(gè)值,將對應(yīng)精度求和取平均得到平均精度. 圖4左下角是檢測得到的平均精度,等級前的F和M分別表示Faster-RCNN方法和本文的多尺度行人檢測方法,可以看出本文方法在容易、中等、難等級上檢測精度分別提升0.78%、4.49%、5.31%. 說明本文提出的行人檢測方法可以提高小尺寸的行人的檢測率.
從表1的各種網(wǎng)絡(luò)結(jié)構(gòu)的檢測精度和運(yùn)行時(shí)間可以看出,僅僅在Faster-RCNN方法的基礎(chǔ)上并聯(lián)一個(gè)卷積層并不能提高行人檢測精度,反而會減慢檢測速度;因?yàn)椴⒙?lián)卷積層加大了運(yùn)算量,在Faster-RCNN方法的基礎(chǔ)上加上檢測層后可以在中等,難等級的行人上明顯提高一些檢測精度,速度也有所提高,從2 s每幀提高到1.76 s每幀. Faster-RCNN方法加上檢測分支的基礎(chǔ)上并聯(lián)一個(gè)卷積層進(jìn)一步提升檢測精度,盡管檢測速度可能略有下降. 并聯(lián)卷積核尺寸越大,檢測速度下降越明顯,從表1最后的三種結(jié)構(gòu)中可以看出,在并聯(lián)3×3的卷積核時(shí),檢測精度較高,在KITTI數(shù)據(jù)集容易、中等、難三個(gè)等級上分別達(dá)到了78.91%、70.31%、66.40%,也就是圖4中我們提出的多尺度方法. 如果在實(shí)際應(yīng)用中更注重檢測速度,可以在采用Faster-RCNN方法的基礎(chǔ)上加多層檢測的網(wǎng)絡(luò)結(jié)構(gòu),這樣就可以在精度較好情況下進(jìn)行快速的行人檢測.
本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的多尺度行人檢測方法,分析了在Faster-RCNN方法的基礎(chǔ)上增加檢測層、并聯(lián)卷積層和改變卷積核尺寸對行人檢測性能的影響. 在KITTI數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明該方法可以實(shí)現(xiàn)較好的行人檢測效果. 多檢測層充分發(fā)揮了各層對不同尺寸行人的檢測優(yōu)勢,并聯(lián)一個(gè)小的卷積核可以提高行人檢測性能,增加檢測出小尺寸行人的可能. 但是提出的方法仍然不能實(shí)現(xiàn)實(shí)時(shí)檢測,對遮蔽較大的行人存在漏檢.接下來的任務(wù)是繼續(xù)優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)和算法,以實(shí)現(xiàn)更好的檢測效果.
[1] VIOLA P, JONES M. Robust real-time face detection[C]//InternationalJournalofComputerVision.Cambridge: IEEE CVPR, 2004, 57(2):137-154.
[2] DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]//IEEEConferenceonComputerVisionandPatternRecognition. Boston: IEEE CVPR, 2005: 886-893.
[3] BENENSON R, OMRAN M, HOSANG J, et al. Ten years of Pedestrian detection, what have we learned?[C]//europeanconferenceoncomputervision. German:IEEE, 2014: 613-627.
[4] DOLLAR P, APPEL R, BELONGIE S, et al. Fast feature pyramids for object detection[J].IEEETransactionsonPatternAnalysis&MachineIntelligence,2014, 36(8): 1532-1545.
[5] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//IEEEConferenceonComputerVisionandPatternRecognition.Boston: IEEE CVPR, 2014: 580-587.
[6] UIJLINGS J, SANDE K E, GEVERS T, et al. Selective search for object recognition[J].InternationalJournalofComputerVision,2013, 104(2): 154-171.
[7] GIRSHICK R. Fast R-CNN[C]//InternationalConferenceonComputerVision. New York: IEEE Computer Society, 2015: 1440-1448.
[8] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J].IEEETransactionsonPatternAnalysisandMachineIntelligence, 2015,39(6):1137-1149.
[9] ZHANG L, LIN L, LIANG X. Is faster R-CNN doing well for pedestrian detection?[C]//EuropeanConferenceonComputerVision.Boston: IEEE CVPR, 2016:443-457.
[10] GEIGER A. Are we ready for autonomous driving? The KITTI vision benchmark suite[C]//IEEEConferenceonComputerVisionandPatternRecognition. Boston: IEEE Computer Society, 2012:3354-3361.
[11] OLSHAUSEN B A, FIELD D J. Emergence of simple-cell receptive field properties by learning a sparse code for natural images[J].Nature, 1996, 381(6583): 607-609.
[12] SZEGEDY C, LIU W, JIA Y Q, et al. Going deeper with convolutions[C]//IEEEConferenceonComputerVisionandPatternRecognition. Boston: IEEE CVPR, 2015:1-9.
[13] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J].ComputerScience, 2014:1-14.
[14] CHEN X, KUNDU K, ZHU Y, et al. 3D object proposals for accurate object class detection[C]//NeuralInformationProcessingSystems. Cambridge: IEEE CVPR, 2015: 424-432.