顧 偉,李菲菲,陳 虬
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
行人檢測作為一個(gè)典型的目標(biāo)檢測問題,是近年來研究的熱點(diǎn)。行人檢測被廣泛應(yīng)用于智能交通、自動(dòng)駕駛、視頻監(jiān)控、行為分析等領(lǐng)域。行人檢測的目的是利用計(jì)算機(jī)視覺技術(shù)判斷圖像或視頻序列中是否存在行人并給予精確定位。目前,大部分行人檢測方法將行人檢測問題作為一個(gè)二分類問題,即判斷目標(biāo)圖像中的所有候選窗口是否為行人,然后進(jìn)行非極大值抑制。
目前行人檢測方法大致可以分為兩大類:傳統(tǒng)的機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)方法。傳統(tǒng)的機(jī)器學(xué)習(xí)特征是手工設(shè)計(jì)的特征,包括提取特征和使用分類器進(jìn)行分類兩個(gè)步驟。但是在行人檢測任務(wù)中,與分類器的選擇相比,特征的選擇更為重要。為了克服行人身體的形變性以及行人的外觀容易受到姿勢、穿著、光照變化和背景影響等問題,研究人員分別使用圖像的輪廓、紋理和顏色特征完成行人檢測任務(wù)。因此,Haar-like[1]、方向梯度直方圖(Histogram of Oriented Gradient,HOG)[2]、Shapelet[3]、本地二進(jìn)制模式(Local Binary Pattern,LBP)[4]、顏色自相似性特征 (Color Self Similarities,CSS)[5]與積分通道特征(Integral Channel Feature,ICF)[6]等特征成為了行人檢測任務(wù)中較為常見的機(jī)器學(xué)習(xí)特征。由于上述特征在行人檢測中具有良好表現(xiàn),研究者在原有特征的基礎(chǔ)上提出了FHOG(Felzenszwalb HOG)[7]、本地三單元模式(Local Ternary Pattern,LTP)[8]、有效局部二進(jìn)制模式(Significant Local Binary Pattern,SLBP)[9]、聚合通道特征(Aggregate Channel Feature,ACF)[10]、局部去相關(guān)通道特征(Locally Decorrelated Channel Feature,LDCF)[11]以及過濾通道特征(Filtered Channel Features,F(xiàn)CF)[12]等特征。
近年來,深度學(xué)習(xí)尤其是卷積神經(jīng)網(wǎng)絡(luò)在人臉識別、圖像分類、行人檢測等領(lǐng)域表現(xiàn)出較強(qiáng)的優(yōu)勢受到研究者的廣泛關(guān)注[13-16]。早期卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)比較簡單,例如經(jīng)典的LeNet-5模型[17],主要用于手寫體識別和圖像分類。手寫體識別和圖像分類是相對單一的計(jì)算機(jī)視覺應(yīng)用。隨著研究的不斷深入,特別是在2012年ILSVRC比賽中AlexNet模型[18]以遠(yuǎn)遠(yuǎn)超過第二名的識別率獲得冠軍后,卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用領(lǐng)域逐漸擴(kuò)大。卷積神經(jīng)網(wǎng)絡(luò)作為一種深度學(xué)習(xí)方法,通過建立深度神經(jīng)網(wǎng)絡(luò)而不是人工設(shè)計(jì)特征來模擬人腦的學(xué)習(xí)過程。該方法改變了傳統(tǒng)的機(jī)器學(xué)習(xí)且能夠獨(dú)立提取特征,達(dá)到了減少人工干預(yù)的目的。卷積神經(jīng)網(wǎng)絡(luò)接受灰度圖像或彩色圖像作為神經(jīng)網(wǎng)絡(luò)的輸入,具有連續(xù)的卷積層和可訓(xùn)練的權(quán)重。每個(gè)卷積層可以建立多個(gè)特征圖,通過不同的卷積核可得到不同特征的不同描述。
本文在傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型VGG19模型的基礎(chǔ)上,提出了一種結(jié)合傳統(tǒng)機(jī)器學(xué)習(xí)特征和深度學(xué)習(xí)特征的行人檢測模型—多通道特征模型。多通道特征模型由3個(gè)分支組成:非深度學(xué)習(xí)分支、整體分支和肢體分支。其中整體分支以及肢體分支是通過多層卷積通道特征得到的。為了通過有效的搜索方法來減輕使用卷積神經(jīng)網(wǎng)絡(luò)滑動(dòng)窗口窮舉搜索帶來的計(jì)算負(fù)擔(dān),并提高計(jì)算效率,本文使用了非深度學(xué)習(xí)分支。本文在多層卷積通道特征之前級聯(lián)了目前最先進(jìn)的非深度學(xué)習(xí)行人檢測器之一的LDCF行人檢測器。多層卷積通道特征將傳統(tǒng)的通道特征方法從基于HOG+LUV的特征擴(kuò)展到卷積特征映射,以有限的計(jì)算量增長為代價(jià)獲得性能提升。同時(shí),由于不同層的特性不同,這些層可以提供更豐富的特征提取。并且在多層卷積通道特征中利用兩個(gè)分支分別通過人體整體信息和人體部位的語義信息來檢測行人。在肢體分支中,肢體的語義信息可以通過長短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[23]相互通信。結(jié)合各分支的輸出,本文開發(fā)了一種強(qiáng)互補(bǔ)的行人檢測器。該檢測器具有較低的漏檢率和較高的定位精度,尤其適用于行人形變以及遮擋行人等情況下的檢測。
近年來在行人檢測方法的研究中,在傳統(tǒng)的機(jī)器學(xué)習(xí)特征方面HOG[2]、LBP[3]等特征起著非常重要的作用,尤其是方向梯度直方圖特征(HOG)[2]。HOG法利用圖像的局部方差來檢測行人,并使用線性支持向量機(jī)分類器達(dá)到了很好的分類效果。研究人員在HOG的基礎(chǔ)上通過級聯(lián)AdaBoost分類器,提出了ICF[6]。積分通道特征的具體過程如下:首從原始的RGB圖像中提取6個(gè)方向的HOG特征通道和LUV顏色通道;然后利用6個(gè)方向的HOG特征通道和LUV顏色通道訓(xùn)練AdaBoost分類器。為了進(jìn)一步加快檢測速度,研究人員提出了ACF[10],該方法可將圖像通道的采樣率降低4倍。由于通道特征在行人檢測的優(yōu)秀表現(xiàn),研究者們在ICF[6]之后,還提出了LDCF[11]、FCF[12]。LDCF[11]在ACF[10]的基礎(chǔ)上提出,其通過將pca-like濾波器與HOG+LUV圖像通道進(jìn)行卷積計(jì)算去相關(guān)通道特征。FCF[12]在HOG+LUV圖像通道的基礎(chǔ)上卷積過濾器 (例如隨機(jī)過濾器、棋盤格過濾器等)來生成候選特征池。結(jié)果表明,使用簡單的棋盤格過濾器就可以獲得很好的性能。ICF[6]、ACF[10]、LDCF[11]以及FCF[12]都使用相同的圖像通道(即HOG+LUV)作為圖像通道。
基于深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的方法在行人檢測方面[13-16]也取得了很大的成功。CNN模型的兩個(gè)特性在它的成功中發(fā)揮了關(guān)鍵作用:(1)特征表示是通過分層方式習(xí)得的,其代表能力隨卷積層深度的增加而增強(qiáng);(2)CNN特征具有良好的泛化能力。具體地說,深度CNN特征可以在不進(jìn)行微調(diào)的情況下轉(zhuǎn)移到一般的識別任務(wù)中。一般來說,使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行檢測首先需要生成候選對象窗口,然后使用訓(xùn)練好的CNN模型對這些窗口進(jìn)行分類。文獻(xiàn)[19]使用基于手工特征的方法提取候選行人建議窗口,然后將廣義CNN模型例如AlexNet以及ImageNet等用于行人檢測。使用手工特征例如邊緣特征[20]提取候選行人建議窗口在計(jì)算效率方面是十分有效的。文獻(xiàn)[15]使用最先進(jìn)的非深度學(xué)習(xí)分類器提取候選行人建議窗口,減少了候選行人建議窗口,在減小計(jì)算量的同時(shí)提高了檢測精度。文獻(xiàn)[21]通過引入與檢測網(wǎng)絡(luò)共享全圖像卷積特性的區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN),提出了Faster R-CNN。RPN是一個(gè)全卷積網(wǎng)絡(luò),其經(jīng)過端到端訓(xùn)練能夠快速生成高質(zhì)量的區(qū)域建議窗口,并能夠同時(shí)預(yù)測每個(gè)位置的對象邊界和對象得分。盡管基于CNN的行人檢測取得了成功,但仍有一定的改進(jìn)空間:首先,通過利用行人建議窗口的得分信息來提高檢測性能;其次,CNN的每一層都包含一些判別特征。本文在通道特征的基礎(chǔ)上將手工制作的通道特征替換為不同層的卷積通道特征。目前已經(jīng)有一些作品嘗試將CNN與流行的通道特征聯(lián)系起來,例如卷積通道特征(Convolutional Channel Features,CCF)[21]。CCF將預(yù)訓(xùn)練的CNN模型作為低層特征提取器,并且使用決策樹作為分類器。卷積通道特征結(jié)合了CNN的特征,傳統(tǒng)的通道特征相比,CCF具有更豐富的特征表示能力。然而卷積通道特征僅僅使用了一層低層卷積特征,忽略了CNN的每一層都包含一些判別特征尤其是CNN的深層卷積特征。此外,卷積通道特征并沒有使用通道特征快速的拒絕非行人檢測窗口,這樣會增加卷積通道特征方法的計(jì)算量。
本文在多特征融合的基礎(chǔ)上提出了一個(gè)多通道特征模型。多通道特征模型由非深度學(xué)習(xí)分支、整體分支以及肢體分支組成。為了通過有效的搜索方法減輕滑動(dòng)窗口窮舉搜索帶來的計(jì)算負(fù)擔(dān),提高計(jì)算效率,該模型使用了非深度學(xué)習(xí)分支。該模型所使用的非深度學(xué)習(xí)分支是LDCF行人檢測器。與僅僅使用LDCF行人檢測器完成行人檢測任務(wù)不同的是,本文在整體分支以及肢體分支之前級聯(lián)LDCF行人檢測器的目的是提供高質(zhì)量的行人候選窗口,而不是最終的行人檢測結(jié)果。因此,本文將行人檢測的得分值稍稍降低,即可得到更多的高質(zhì)量行人候選窗口,而在整體分支以及肢體分支中則使用是多層卷積通道特征。多層卷積通道特征將傳統(tǒng)的通道特征方法從基于HOG+LUV的特征擴(kuò)展到卷積特征映射,以有限的計(jì)算量增長為代價(jià)獲得性能提升。由于不同層的特性不同,這些層可以提供更豐富的特征提取。在多層卷積通道特征中本文分別利用兩個(gè)分支分別通過人體整體信息和人體部位的語義信息來檢測行人,其中肢體分支可以認(rèn)為是對于遮擋或者形變行人的再次檢測。因此,在肢體分支中,我們將一個(gè)行人候選窗口分為有重疊的3×3的區(qū)域,分別為左肩、頭、右肩、左臂、軀干、右臂、左腿、膝蓋以及右腿。在肢體分支中,我們將肢體的語義信息通過LSTM相互通信。在肢體分支中即使由于遮擋或者行人自身的形變導(dǎo)致行人某個(gè)部位的得分值很低也可以通過其他部位的得分值去增加此部分的得分值,從而讓行人候選窗口有更高的得分值。因此,結(jié)合各分支的輸出,本文開發(fā)的是一種強(qiáng)互補(bǔ)的行人檢測器,它具有較低的漏檢率和較高的定位精度,適用于行人形變以及遮擋行人。本文所使用的多通道特征模型示意圖如圖1所示。
圖1 多通道特征模型
整體分支由卷積特征提取部分和AdaBoost分類器兩部分組成。在卷積特征提取部分,由于較大的過濾器會丟失局部線索(例如,Edge Boxes[20]),使得卷積特征提取部分更適合表示整個(gè)圖像而不是小塊圖像。因此,本文選擇與卷積通道特征相同的預(yù)訓(xùn)練的VGG19模型作為卷積通道特征的提取器。在整體分支的卷積特征提取部分,本文通過從ImageNet數(shù)據(jù)集中預(yù)訓(xùn)練的VGG19網(wǎng)絡(luò)中提取多層卷積通道特征。多層卷積通道特征將傳統(tǒng)的通道特征方法從基于HOG+LUV的特征擴(kuò)展到多層卷積特征映射,以有限的計(jì)算量增長為代價(jià)獲得性能提升。雖然在僅選用某一層卷積特征作為通道特征中的卷積特征已經(jīng)達(dá)到了很好的特征表示,但是由于不同卷積層的特性不同,與僅使用某一層卷積特征,或者某一部分相似的卷積特征相比,使用多層大跨度的卷積特征可以提供更豐富的特征表示。由于在不同層的卷積特征圖大小并不一致,所以本文選擇在不同尺寸的特征圖中使用規(guī)定區(qū)域內(nèi)像素求和的方法提取卷積特征。在整體分支的AdaBoost分類器部分,本文采用1 000個(gè)深度為2的決策樹作為弱分類器。本文在INRIA數(shù)據(jù)庫中利用非深度學(xué)習(xí)分支和整體分支檢測行人,得到了表1中的數(shù)據(jù)。根據(jù)表1中的數(shù)據(jù),最終在整體分支中選擇了Conv4-4和Conv5-4作為整體分支的多卷積通道特征。
表1 整體分支中使用不同卷積通道效果對比
肢體分支主要由兩個(gè)部分組成:行人肢體得分圖生成部分和使用LSTM進(jìn)行肢體得分圖通信部分,詳細(xì)信息如圖2所示。
圖2 肢體分支原理圖
行人圖像中的遮擋問題以及姿勢形變是行人檢測中重要的問題。因此本文在多通道特征模型的基礎(chǔ)上提出了由部分檢測器組成的具有語義信息的行人肢體得分圖,并且利用語義信息進(jìn)行相互通信來解決這個(gè)問題。部件檢測器可以看作是使用分類器得到的部件網(wǎng)格特征,它將決定是否應(yīng)該將肢體信息不明確的候選窗口檢測為行人的窗口。如圖3所示,行人候選框被分為了幾個(gè)部分網(wǎng)格,且對于每個(gè)部分網(wǎng)格使用一個(gè)分類器檢測獲得一個(gè)檢測分?jǐn)?shù)。部分檢測器的所有置信度得分集合成肢體得分圖。因此,肢體得分圖可以顯示肢體的語義信息,并可估計(jì)肢體的可見性。該模型需要將卷積特征分成幾個(gè)部分網(wǎng)格,而Conv5-4由于特征圖較小無法提供豐富的特征表示,因此本文利用卷積層Conv3-3和Conv4-3得到一個(gè)大小為3×3的肢體得分圖。肢體得分圖具有較強(qiáng)的行人語義信息,例如右上角的網(wǎng)格表示右肩-頭部分,并且使用肢體得分圖進(jìn)行下一步通信。
圖4 肢體分支得分編碼
LSTM進(jìn)行肢體得分圖通信部分如圖4所示,為了得到不同的肢體語義信息進(jìn)行通信,本文對肢體部分得分圖進(jìn)行了排序。本文將肢體部分得分圖輸入LSTM時(shí)分別沿著左、右、上、下4個(gè)方向移動(dòng)肢體部分得分圖,對部件得分進(jìn)行編碼,并進(jìn)行語義交流。這樣就可以通過語義信息降低肢體得分較低部分的影響。例如,當(dāng)右手被遮擋或者姿勢的嚴(yán)重形變導(dǎo)致相應(yīng)的部位得分很低。然而,右肩和身體中間可見的部分可以傳遞信息來支持右手的存在。因此,身體部位的評分可以通過這種復(fù)雜的信息交流來提高。
3.1.1 INRIA數(shù)據(jù)集
INRIA行人數(shù)據(jù)集由文獻(xiàn)[1]提出,包含有正樣本2 416個(gè)和負(fù)樣本1 218個(gè)。由于INRIA數(shù)據(jù)集中負(fù)樣本與正樣本在圖片大小上存在著巨大的差距,為了使INRIA數(shù)據(jù)集更適合多通道特征的訓(xùn)練,本文在訓(xùn)練集的負(fù)樣本中隨機(jī)裁剪10個(gè)128×64像素的圖像作為訓(xùn)練集的負(fù)樣本,并且使用訓(xùn)練好的LDCF進(jìn)行檢測提取困難樣本,故本文使用訓(xùn)練集中負(fù)樣本的個(gè)數(shù)是12 326個(gè)。測試集包含了589個(gè)行人的288張大尺寸圖片。
3.1.2 Caltech行人數(shù)據(jù)集
加州理工學(xué)院的數(shù)據(jù)集是目前最流行的行人檢測數(shù)據(jù)集,其由大約10小時(shí)的視頻(大小為640×480像素)組成。這些視頻是從一輛行駛在正常城市交通中的汽車上拍攝的。該數(shù)據(jù)集包含11個(gè)視頻序列,每個(gè)視頻序列的大小約為1 GB。數(shù)據(jù)集中共有35萬個(gè)邊界框,約2 300個(gè)不同的行人。注釋包括邊界框和詳細(xì)的遮擋標(biāo)簽。將前6個(gè)視頻序列作為訓(xùn)練集,最后5個(gè)視頻序列作為測試集,并且在數(shù)據(jù)集中每30幀取一次。因此在Caltech行人數(shù)據(jù)集中訓(xùn)練集共有4 250幅圖像,測試集中共有4 024幅圖像。本文利用這些圖像進(jìn)行漏檢率(Miss Rate,MR)評價(jià)。
為驗(yàn)證本文算法對行人檢測的準(zhǔn)確率與可靠性,本文分別INRIA和Caltech行人數(shù)據(jù)集中將本文算法與傳統(tǒng)經(jīng)典算法VJ[24]、HOG[1]、ACF[10]、LDCF[11]、SPatialPooling[25]和SCCPriors[26]等多種行人檢測算法進(jìn)行檢測性能比較,并采用ROC(Receiver Operating Characteristic,ROC)曲線作為評估協(xié)議。ROC曲線的縱坐標(biāo)為漏檢率,即沒有檢測出的行人占行人總數(shù)的比重;橫坐標(biāo)為誤檢率,即每張圖片中被誤判為行人的數(shù)目。除此以外,本文使用和文獻(xiàn)[27]中相同的評估方法,通過使用不同算法的實(shí)際檢測對比圖來證明本文所提出方法的有效性。圖5顯示了INRIA數(shù)據(jù)集上的檢測結(jié)果,由圖可知本文所開發(fā)的多通道特征模型的誤檢率一直低于其他的算法。此外,在誤檢率為0.1也就是每10張圖片會出現(xiàn)一個(gè)誤檢窗口的情況下,本文的多通道特征模型的漏檢率為8.24%,與僅使用LDCF相比降低了5.55%,與其他算法相比也有明顯降低。
圖5 INRIA數(shù)據(jù)庫的結(jié)果
圖6顯示了VJ[24]、HOG[1]、ACF[10]、LDCF[11]、SPatialPooling[25]、SCCPriors[26]與本文的多通道特征模型在Caltech數(shù)據(jù)集上的檢測結(jié)果。當(dāng)誤檢率為0.1也就是每10張圖片會出現(xiàn)一個(gè)誤檢窗口的情況下,本文的多通道特征模型漏檢率為19.78%,與僅使用LDCF相比降低了5.02%,與其他算法相比也有明顯下降。
圖6 Caltech數(shù)據(jù)庫的結(jié)果
(a) (b)
(a) (b)
由圖7和圖8可以看出,本文所提出的模型與開發(fā)的行人檢測器具有較低的漏檢率和較高的定位精度,適用于行人形變以及遮擋行人。在INRIA和Caltech數(shù)據(jù)庫中,誤檢率為0.1時(shí),LDCF和本文所提出算法的對比如圖7和圖8所示,圖中左圖為LDCF的檢測結(jié)果,右圖為本文模型的檢測結(jié)果。在INRIA和Caltech數(shù)據(jù)庫中,本文所提出的模型都可以檢測出更多的行人,尤其是具有遮擋以及形變的行人。
本文在多特征融合的基礎(chǔ)上提出了一個(gè)由非深度學(xué)習(xí)分支、整體分支以及肢體分支組成的多通道特征模型。該模型通過非深度學(xué)習(xí)分支提取出數(shù)量少、質(zhì)量高的行人候選區(qū)域,減輕了滑動(dòng)窗口窮舉搜索帶來的計(jì)算負(fù)擔(dān),提高了計(jì)算效率。該方法根據(jù)多層卷積通道特征得到的整體分支以及肢體分支,分別通過人體整體信息和人體部位的語義信息來檢測行人。此模型分別在Caltech和INRIA數(shù)據(jù)集中進(jìn)行訓(xùn)練和檢測。實(shí)驗(yàn)結(jié)果表明,結(jié)合各分支的輸出,本文所開發(fā)的行人檢測器具有較低的漏檢率和較高的定位精度,適用于形變行人以及遮擋行人。
本文所提出的模型仍存在以下問題:(1)多通道特征模型的檢測速度有所下降。由于本文使用的是一個(gè)二段式的行人檢測方法,故與僅使用非深度學(xué)習(xí)模型相比增加了行人檢測的時(shí)間;(2)無法解決行人高度重疊的情況。多通道特征模型使用非深度學(xué)習(xí)分支提取行人待檢窗口,因此本文的方法尚無法解決當(dāng)檢測圖像中行人高度重疊的問題,降低了檢測效率。接下來,研究人員將針對這兩方面的缺陷進(jìn)行進(jìn)一步改進(jìn),以期獲得更好的行人檢測效果。