黃 咨 劉 琦 陳致遠 趙宇明
(上海交通大學(xué)電子信息與電氣工程學(xué)院系統(tǒng)控制與信息處理教育部重點實驗室 上海 200240)
?
一種用于行人檢測的隱式訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型
黃咨劉琦陳致遠趙宇明
(上海交通大學(xué)電子信息與電氣工程學(xué)院系統(tǒng)控制與信息處理教育部重點實驗室上海 200240)
摘要行人檢測已經(jīng)成為社會各領(lǐng)域里的熱門研究課題之一。卷積神經(jīng)網(wǎng)絡(luò)CNNs(Convolutional neural networks)良好的學(xué)習(xí)能力使其學(xué)習(xí)得到的目標(biāo)特征更自然,更有利于區(qū)分不同目標(biāo)。但傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型需要對整體目標(biāo)進行處理,同時要求所有訓(xùn)練樣本預(yù)先正確標(biāo)注,這些阻礙了卷積神經(jīng)網(wǎng)絡(luò)模型的發(fā)展。提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的隱式訓(xùn)練模型,該模型通過結(jié)合多部件檢測模塊降低計算復(fù)雜度,并采用隱式學(xué)習(xí)方法從未標(biāo)注的樣本中學(xué)習(xí)目標(biāo)的分類規(guī)則。還提出一種兩段式學(xué)習(xí)方案來逐步疊加網(wǎng)絡(luò)的規(guī)模。在公共的靜態(tài)行人檢測庫INRIA[1]上的試驗評測中,所提模型獲得98%的檢測準確率和95%的平均準確率。
關(guān)鍵詞行人檢測隱式訓(xùn)練部件檢測卷積神經(jīng)網(wǎng)絡(luò)
0引言
隨著過去幾十年經(jīng)濟的飛速發(fā)展,行人檢測逐漸成為包括國防軍事、社會安全、公共交通、互聯(lián)網(wǎng)發(fā)展和商業(yè)應(yīng)用等各領(lǐng)域的一個熱點課題。大量的研究都對行人檢測產(chǎn)生了濃厚而熱忱的興趣[2,3]。然而,行人具有各種不同的面部容貌、身體形態(tài)、皮膚顏色、服裝、光亮和遮擋等多變因素,行人所處的場所環(huán)境也繽紛復(fù)雜,使得基于計算機視覺的行人檢測面臨巨大的挑戰(zhàn)。
當(dāng)前比較常見的檢測模型常常對應(yīng)用環(huán)境提出很多嚴格的假設(shè)性要求,如小尺度、小角度的變化等,這些約束條件在現(xiàn)實應(yīng)用中很難得到滿足。此外,這些模型通常采用復(fù)雜的人工特征提取方法來獲得原始輸入中和目標(biāo)有關(guān)的表達信息,并在提取的和目標(biāo)有關(guān)的特征信息上學(xué)習(xí)分類器,如類Haar+AdaBoost、HoG+SVM等。然而,這些基于人工特征提取方法的檢測模型在很大程度上依賴于特定的檢測任務(wù),對于不同身體形態(tài)的行人目標(biāo),需要設(shè)計者仔細思考如何去提取其特征,模型的最終識別效果也深受設(shè)計者們是否有充足的相關(guān)經(jīng)驗的影響。這些缺點阻礙了傳統(tǒng)檢測模型進一步獲得更符合行人特性的特征描述。
在過去的幾十年中,機器學(xué)習(xí)在模式識別和目標(biāo)檢測中扮演越來越重要的角色。如何讓計算機更自然地模擬人類提取特征的過程去獲得圖像的信息?這個問題已經(jīng)成為了模式識別和檢測領(lǐng)域研究的一個熱點課題。在2006年,Hinton教授在Science上發(fā)表的《降低神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)維度》文章[4],再次證明了多層人工神經(jīng)網(wǎng)絡(luò)所擁有優(yōu)秀的學(xué)習(xí)能力。通過多層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)得到的目標(biāo)特征更自然,更有利于區(qū)分不同目標(biāo)。卷積神經(jīng)網(wǎng)絡(luò)CNNs是一種將多層人工神經(jīng)網(wǎng)絡(luò)和卷積運算相結(jié)合的新型網(wǎng)絡(luò)。它可以識別各種各樣的目標(biāo)模式并對一定尺度的扭曲和形變有良好的魯棒性?;谶@些優(yōu)點,很多據(jù)此提出的檢測方法或模型在各種目標(biāo)識別中都獲得了不錯的結(jié)果。然而,傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型只能針對整個目標(biāo)區(qū)域進行處理,其通常應(yīng)用于數(shù)字、字母等結(jié)構(gòu)較簡單的對象的目標(biāo)檢測中。對于一些結(jié)構(gòu)復(fù)雜的檢測目標(biāo),如行人、大型動物等,模型通常需要非常多的中間隱藏節(jié)點,從而使得整個學(xué)習(xí)過程的運算量十分巨大,訓(xùn)練周期相當(dāng)漫長。其次,傳統(tǒng)模型只能進行有監(jiān)督的學(xué)習(xí),即所有的訓(xùn)練標(biāo)簽都需要事先正確標(biāo)注。雖然在大部分情況下標(biāo)注正樣本的標(biāo)簽相對簡單,但標(biāo)注負樣本是一個非常主觀的任務(wù),負樣本的類型很難事先確定。
因此,本文提出一種建立在卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)上的新型目標(biāo)檢測模型。該模型通過結(jié)合部件檢測模塊,將目標(biāo)切分成多個不同的部件分別進行檢測,減少了模型訓(xùn)練和檢測期間的運算量。本文還提出了一種隱式訓(xùn)練方法,該方法可以訓(xùn)練本文模型從未標(biāo)注的樣本中確定隱藏變量的標(biāo)簽,進而學(xué)習(xí)目標(biāo)的分類規(guī)則。最后,本文還采用了兩段式學(xué)習(xí)方案逐步疊加網(wǎng)絡(luò)的規(guī)模,提高了誤差信息在本文模型中反向傳遞的有效性,加強了模型參數(shù)的自適應(yīng)學(xué)習(xí)能力。
1相關(guān)工作和本文貢獻
1.1相關(guān)工作
在過去的幾十年里,人們做了大量的工作來設(shè)計特征描述和提取的方法。Papageorgiou等[5]描述了基于類Haar特征的行人檢測方法。Dahal等[2]采用方向梯度直方圖HOG(Histograms of oriented gradients)特征來檢測人。Lowe等[6]介紹了尺度不變特征轉(zhuǎn)換SIFT(Scale-invariant feature transform),用來提取圖片中特殊的不變特征。Dollár等[7]研究了行人檢測領(lǐng)域里積分通道特征(Integral channel features)的表現(xiàn)。當(dāng)前常見的檢測方法使用上述的特征描述和提取方法來獲得目標(biāo)的特征信息,并在此基礎(chǔ)上通過學(xué)習(xí)得到一個可訓(xùn)練的分類器。Papageorgiou等[5]描述了基于多項式支持向量機SVM的目標(biāo)檢測器。Viola等[8]將類Haar特征和AdaBoost分類器結(jié)合起來用來檢測移動的人。Mikolajczyk等[9]基于類尺度不變特征轉(zhuǎn)換方向特征建立了部件檢測器,并結(jié)合了AdaBoost分類器。Han等[10]提出的基于方向梯度直方圖和支持向量機的兩段式人和車檢測模型。
上述基于人工特征提取的建模方法在很多檢測領(lǐng)域都取得了不錯的效果,然而這些方法也存在著諸多的不足之處。首先,人工特征提取方法需要設(shè)計者掌握足夠的特征提取原理,要求設(shè)計者擁有比較高的學(xué)術(shù)理論和實際經(jīng)驗。其次,人工特征提取方法自身也有一定的局限性,如類Haar特征計算量大并且對復(fù)雜目標(biāo)的描述效果不佳;尺度不變特征轉(zhuǎn)換要求檢測目標(biāo)要有足夠的紋理信息,否則容易發(fā)生錯配的情況;方向梯度直方圖只適用于無遮擋的檢測問題,很難滿足實際檢測任務(wù)的需要。最后,基于人工特征提取的建模方法把特征提取和學(xué)習(xí)分類兩個過程分隔開來。雖然學(xué)習(xí)分類過程中的分類器具有一定的泛化性和可學(xué)習(xí)性,但其輸入的特征向量卻是手工選擇的并且已經(jīng)固化的。如果特征提取過程中提取的特征向量對目標(biāo)的描述不夠好,那些丟失的有用信息再也無法從后續(xù)的學(xué)習(xí)分類過程中恢復(fù)出來。
最近,深度學(xué)習(xí)領(lǐng)域的興起,使得人們逐漸發(fā)現(xiàn)將簡單處理后的圖像交由計算機學(xué)習(xí)得到的目標(biāo)特征不僅更符合對目標(biāo)特性的描述,還避免了人工提取方法存在的大量冗余信息。LeCun等[11]驗證了在二維圖形中卷積神經(jīng)網(wǎng)絡(luò)的表現(xiàn)優(yōu)于其他所有技術(shù),并且在MNIST數(shù)據(jù)庫上獲得了巨大的成功。Nowlan等[12]描述了在視頻處理方法里用卷積神經(jīng)網(wǎng)絡(luò)定位手的位置。Garcia等[13]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測方法,對各種面部模式擁有良好的魯棒性。Osadchy等[14]給出了一種基于能量的人臉檢測模型,該模型采用卷積神經(jīng)網(wǎng)絡(luò)在低維流形上匹配人臉圖像。Krizheysky等[15]在LSVRC-2010 ImageNet訓(xùn)練集上的實驗證實了卷積神經(jīng)網(wǎng)絡(luò)降低了目標(biāo)的錯分率。Ouyang等[16]也把卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于一個聯(lián)合深度模型中來檢測行人。然而對于復(fù)雜目標(biāo)的檢測,卷積神經(jīng)網(wǎng)絡(luò)模型也存在著運算量大、無法處理無標(biāo)注樣本等諸多不足。
1.2本文貢獻
本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的新型行人檢測模型,主要關(guān)注以下工作:
1.2.1部件檢測
對于復(fù)雜目標(biāo)的檢測,其部件形態(tài)才是檢測的重要線索。如對于行人,其頭、肩、腿等部件,才是檢測的關(guān)鍵點[17],并能為進一步的遮擋問題提供了可行的處理方案。因此,本文模型結(jié)合了多個部件檢測子,將目標(biāo)切分成上半身和下半身兩個部件分別進行檢測,從而縮減了網(wǎng)絡(luò)的中間層規(guī)模,減少了模型訓(xùn)練和檢測期間的計算量。這兩部分部件將在最終的分類層里融合起來組成對行人的整體特征描述。
1.2.2隱式訓(xùn)練
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型采用監(jiān)督學(xué)習(xí)方法,需要正確標(biāo)注所有訓(xùn)練樣本的標(biāo)簽。然而通常情況下,負樣本很難預(yù)先確定部件的位置分類等信息,使得為負樣本設(shè)置了多重分類的檢測模型難以在實際場景中得到很好的訓(xùn)練。本文采用了隱式訓(xùn)練的相關(guān)方法,可以使本文模型能夠進行某種程度的無監(jiān)督學(xué)習(xí),能從未標(biāo)注的樣本中學(xué)習(xí)目標(biāo)的分類規(guī)則,挖掘出更多對目標(biāo)檢測有幫助的信息,從而改善模型在目標(biāo)檢測上的表現(xiàn)。
1.2.3兩段式學(xué)習(xí)
對于傳統(tǒng)的多層人工神經(jīng)網(wǎng)絡(luò),隨著網(wǎng)絡(luò)深度的不斷增加,在反向傳播過程中網(wǎng)絡(luò)高層的誤差將越來越難以有效地傳遞到底層,這在很大程度上限制了模型參數(shù)的自適應(yīng)學(xué)習(xí)能力。為了克服這個問題,本文提出的模型采用兩段式學(xué)習(xí)方案逐步疊加網(wǎng)絡(luò)模型的規(guī)模。其中第一階段隱式訓(xùn)練三層部件確定所有樣本的部件標(biāo)簽,第二階段通過添加一層最終分類層生成四層全局模型,最后經(jīng)過訓(xùn)練得到模型最終的參數(shù)和樣本最終的分類。
2隱式訓(xùn)練CNN模型
2.1模型結(jié)構(gòu)
本文提出的隱式訓(xùn)練CNN模型如圖1所示。這是一個由三層部件模型和一層最終分類層組成的四層模型。三層部件模型類似于典型的五層卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):兩層卷積層、兩層子采樣層和一層輸出層——部件分類層P3。P3一共有六個檢測子,其中四個主要用于檢測隱式訓(xùn)練的負樣本。最終輸出層O4是一個和P3全連接的分類層。在整個學(xué)習(xí)過程中采用兩段式的訓(xùn)練策略,先訓(xùn)練三層部件模型,再訓(xùn)練四層整體模型。當(dāng)訓(xùn)練整體模型時,上半身圖像和下半身圖像需要成對輸入。
圖1 隱式訓(xùn)練CNN模型
2.1.1第一階段訓(xùn)練(部件模型)
第一階段訓(xùn)練是訓(xùn)練三層部件模型。對于行人檢測,模型輸入是上半身圖像、下半身圖像和背景圖像。這些圖像已經(jīng)從原圖像中裁剪完畢并且尺寸統(tǒng)一為28×28。在訓(xùn)練過程中,輸入圖像先被一組5×5的濾波器卷積得到C1層的輸出,再經(jīng)過子采樣為12×12的低維特征圖像得到S1層輸出。然后在C2層到S2層再重復(fù)一遍卷積和子采樣并獲得4×4的中維特征,最后計算分值得到輸出部件評分。
與已有的五層卷積神經(jīng)網(wǎng)絡(luò)相比,本文模型在P3層有六個部件檢測子,其中四個部件檢測子主要用來檢測負樣本的信息,也即對負樣本采用了多重分類的策略,如圖1中P3層的深色圓圈所示。這種安排更充分地利用了負樣本包含的信息,目的是為了降低模型分類的“第一類”錯誤率和“第二類”錯誤率。此外本文引入了負樣本隱式訓(xùn)練的方法,使得模型可以無監(jiān)督地學(xué)習(xí)負樣本的分類。由于不可能(或很難)獲得負樣本各部件的正確評分,對于多重負樣本目標(biāo)來說,隱式訓(xùn)練方法是一個非常關(guān)鍵的地方。在訓(xùn)練過程中,本文采用如下公式來更新負樣本多重目標(biāo)的損失函數(shù):
L(Yneg,E(W,Yneg,X))=minL(y,E(W,y,X))y∈Yneg
(1)
能量函數(shù)[18]E(W,Y,X)衡量了在參數(shù)集W下,輸入X和分類集Y的隸屬關(guān)系。損失函數(shù)L(Y,E(W,Y,X))計算了能量函數(shù)E(W,Y,X)和期望目標(biāo)Y之間的偏差值。Yneg表示Y的負分類集。經(jīng)過反向傳播后,新目標(biāo)Ynew的選擇如下所示:
Ynew=argminE(W,Y,X)
(2)
可以把Yneg看作一個過渡目標(biāo),每個訓(xùn)練周期里都會對其進行更新。Yneg的最終目的是為了獲得Y的最佳目標(biāo)。當(dāng)?shù)谝浑A段訓(xùn)練全部完成后就得到了可以把輸入圖像精確歸類為各部件評分的三層部件模型。
2.1.2第二階段訓(xùn)練(整體模型)
在第一階段訓(xùn)練完成后,下一步就是訓(xùn)練四層整體模型。整體模型和部件模型很相似,除了它多了一個額外的輸出層O4。O4是一個和P3全連接的最終分類層,其主要功能是累加P3層的部件評分并輸出最終的分類結(jié)果(如告訴我們一張輸入圖像在何種程度上屬于行人/非行人)。
在第二階段訓(xùn)練中,本文用第一階段訓(xùn)練好的三層模型參數(shù)來初始化四層整體模型。這非常有吸引力,能讓整體模型獲得非常好的初始化值,O4的輸入數(shù)據(jù)已經(jīng)是歸類好的部件評分。當(dāng)傳統(tǒng)的模型分離了特征提取和模式分類,我們的模型仍然采用了整體的反向傳播,這意味著在第二階段訓(xùn)練時,低層次的參數(shù)仍然是可訓(xùn)練的。即使第一階段獲得的參數(shù)不夠好,模型在第二階段訓(xùn)練時可以繼續(xù)調(diào)整這些參數(shù)。值得注意的是,與部件模型使用28×28的上下半身圖像不同,整體模型使用56×28的輸入圖像。每張圖像先被分割為兩張28×28的圖像,然后成對輸入到模型中。在O4層,這對圖像的12個部件評分值根據(jù)權(quán)值累加起來得到最終的輸出。
2.2前向傳播
卷積神經(jīng)網(wǎng)絡(luò)由Hubel和Wiesel在生物學(xué)的發(fā)現(xiàn)[19]引申而來,是一種特殊的多層神經(jīng)網(wǎng)絡(luò)。由于其包含的感受野、權(quán)值共享和子采樣,卷積神經(jīng)網(wǎng)絡(luò)可以識別豐富的模式并對一定程度的扭曲變換擁有一定的魯棒性。我們的模型同樣基于卷積神經(jīng)網(wǎng)絡(luò),因此前向傳播和卷積神經(jīng)網(wǎng)絡(luò)很相似。
2.2.1卷積層
在卷積神經(jīng)網(wǎng)絡(luò)中,卷積可以看作是從原始圖像中提取特征。在卷積層,輸入圖像被一個可訓(xùn)練的核卷積來得到輸出。我們對輸出用激活函數(shù)來轉(zhuǎn)換,以此使模型獲得非線性特性并把輸出限制在給定的范圍內(nèi),公式如下:
(3)
(4)
2.2.2激活函數(shù)
激活函數(shù)是一種非線性函數(shù),它為模型提供了非線性特性。它還可以用來歸化輸出(或輸入)來把輸出(或輸入)限制在給定的范圍內(nèi)。一個通用的激活函數(shù)是Sigmoid函數(shù)f(x)=1/(1+e-x),這是一個值域為(0, 1) 單調(diào)遞增函數(shù)。本文模型采用了文獻[20]提到的函數(shù):
(5)
與Sigmoid函數(shù)相比,此雙曲正切函數(shù)擁有兩個主要優(yōu)勢:其一,此函數(shù)是一個原點對稱函數(shù),它產(chǎn)生的平均輸出接近于零,這可以改善訓(xùn)練過程中的收斂性;其二,當(dāng)輸入恰好為-1或+1時,此函數(shù)的輸出也為-1或+1,這非常適合于標(biāo)記為-1或+1的二值訓(xùn)練目標(biāo)。
2.2.3子采樣層
子采樣層生成輸入數(shù)據(jù)的下采樣版本[21]。子采樣主要是在二維空間里進行池化(Pooling)操作。具體來說,就是根據(jù)特征矩陣所處的空間位置,按塊分割特征,并在小塊中計算新的特征值。池化方法主要有兩種,最大值池化和均值池化。本文采用了最大值池化,即選擇每個小塊里的最大值作為新特征:
(6)
在卷積神經(jīng)網(wǎng)絡(luò)中,子采樣扮演了很重要的角色。它大大減少了隱層(輸入層和輸出層之間的中間層)所包含的節(jié)點數(shù),降低了計算復(fù)雜度,還使得模型對一定程度的扭曲和形變擁有了魯棒性。
2.2.4全連接層
在多層網(wǎng)絡(luò)中,全連接層通常出現(xiàn)在最后幾層[21]。它的主要功能是把二維特征降維到一階輸出。全連接層的結(jié)構(gòu)類似于卷積層,它們的不同之處在于全連接層把所有特征值拼接成一個長向量并與權(quán)值相乘,而卷積層直接用權(quán)值進行卷積運算。全連接層的具體計算公式如下:
(7)
2.3后向傳播
后向傳播算法是神經(jīng)網(wǎng)絡(luò)中的一種監(jiān)督學(xué)習(xí)算法。由于其原理簡單,計算高效,因此被廣泛使用。后向傳播的主要思想是根據(jù)模型的實際輸出值與期望分類目標(biāo)值之間的差值來反復(fù)調(diào)整模型的權(quán)值和偏差。當(dāng)差值小于一個特定的值后,就自然獲得了使真實模型分類的G(W,X)接近期望目標(biāo)集Y的參數(shù)集W。在行人檢測階段,本文用經(jīng)訓(xùn)練后的推理函數(shù)G(W,X)來推斷輸入數(shù)據(jù)的分類。
2.3.1損失函數(shù)
為了評價能量函數(shù)的好壞,需要一種方法來測量模型的實際輸出值G與期望目標(biāo)集Y之間的差值,這就是損失函數(shù)。損失函數(shù)可以看作是對某個輸入的錯誤分類的懲罰。出色的損失函數(shù)應(yīng)當(dāng)給正確分類最低的分值,并給其他錯誤分類更高的分值。損失函數(shù)有很多種,如能量損失、廣義感知損失、廣義邊際損失(例如平方指數(shù)損失[22])和負對數(shù)似然損失[20]。每種損失函數(shù)都在某種或某些情況下有著良好的表現(xiàn)。本文簡單選取均方差的能量損失函數(shù):
(8)
式中,n為輸入的訓(xùn)練樣本個數(shù)。訓(xùn)練的最終目的就是找到使損失函數(shù)L最小的參數(shù)集W,從而讓模型的實際輸出G盡可能符合預(yù)期輸出Y。
2.3.2參數(shù)更新
之前討論過,訓(xùn)練的一般問題是找到最小化損失函數(shù)的辦法。一個簡單和可行的方法是基于梯度的學(xué)習(xí)算法。事實上,基于梯度的學(xué)習(xí)算法被認為是多層感知器上最高效的反向?qū)W習(xí)算法[23]。其最基本的思想是梯度可以高效地從高層傳播到低層。在最簡單的情況下,權(quán)值參數(shù)集W和偏差參數(shù)集b的更新公式如下:
(9)
(10)
式中,η為學(xué)習(xí)速率的標(biāo)量常數(shù)。本文模型采用了文獻[20]中提到的動量方法來加速收斂,公式如下:
(11)
(12)
式中,μ表示動量項目。這個增加的項目降低了高曲率方向上的步進,從而間接增加了低曲率方向的學(xué)習(xí)速率[24]。
2.3.3學(xué)習(xí)率
學(xué)習(xí)速率η的選擇是一個啟發(fā)式的問題,它取決于具體的任務(wù)并極大依賴于人們的經(jīng)驗。在大部分情況下,學(xué)習(xí)速率是一個常量、變量或是對角矩陣。一般的處理方法是采用隨時間下降的學(xué)習(xí)率[25],如下所示:
(13)
式中,c是初始速率,d是衰減常量,t是迭代周期的序數(shù)。如果采用LeNet-5模型[11],一個推薦的學(xué)習(xí)速率如表1所示。
表1 LeCun 的LeNet-5模型的學(xué)習(xí)率
本文模型采用了一個較大初始值的學(xué)習(xí)率,并且該學(xué)習(xí)率會根據(jù)本次和前一次的損失函數(shù)的差值來自適應(yīng)下降,公式如下:
(14)
3實驗和評估
本文模型的評估基于INRIA人類數(shù)據(jù)庫[1],這個數(shù)據(jù)庫包含了各種不同姿態(tài)和背景的站立著的行人圖像。
在訓(xùn)練階段,實驗使用訓(xùn)練集中全部2416張訓(xùn)練正樣本,并從原始訓(xùn)練負樣本中隨機采樣了12 180張負樣本。所有正負樣本大小都被裁剪為128×64,并在輸入到模型前壓縮為56×28。對于第一階段訓(xùn)練,輸入圖像被裁剪為28×28(上半身和下半身),如圖2所示;第二階段訓(xùn)練采用整張56×28圖像作為輸入。
圖2 INRIA數(shù)據(jù)庫的訓(xùn)練正樣本的一些例子
注:第一排每張圖像大小為56×28,隨后被分為兩張28×28的圖像
在測試階段,實驗使用測試集中全部1126張測試正樣本,并隨機采樣10 000張背景圖像作為測試負樣本。實驗還使用Si等[26]提供的評估工具計算平均準確率,并采用DET曲線[27],即漏檢率相對于單位窗口的第一類錯誤率FPPW(False positives per window)的對數(shù),來直觀地評價行人檢測的表現(xiàn)。DET曲線越低代表檢測效果越好。
3.1總體表現(xiàn)
在總體表現(xiàn)上,本文模型(簡記為L-CNN)與結(jié)合方向梯度直方圖和支持向量機檢測模型[2](簡記為HoG+SVM),混合圖像模板模型[26](簡記為HIT)和基于LeNet5結(jié)構(gòu)的傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型[11](簡記為CNN)進行比較。
實驗結(jié)果如圖3所示。由圖可得,本文提出的L-CNN模型的總體表現(xiàn)優(yōu)于其他三種模型,尤其在10-7~10-5FPPW 區(qū)域內(nèi),L-CNN的漏檢率遠低于另外三種模型。同時,L-CNN的檢測平均準確率達到了95.38%,分別比HIT、HoG+SVM和CNN高3.7%、2.1%和1.6%。L-CNN對行人目標(biāo)獲得了98%的檢測準確率。
圖3 INRIA數(shù)據(jù)庫上的總體表現(xiàn)
3.2擴展實驗
本節(jié)實驗測試L-CNN模型采用的訓(xùn)練策略對行人檢測表現(xiàn)的影響效果。首先,為了測試兩段式學(xué)習(xí)方案對目標(biāo)檢測模型的影響效果,模型省略了L-CNN模型中的三層部件模型訓(xùn)練過程,直接進行四層全局模型的學(xué)習(xí)訓(xùn)練。這個模型標(biāo)記為L-CNN(One Stage)。
其次,為了測試隱式訓(xùn)練對目標(biāo)檢測模型的影響效果,模型省略了L-CNN模型中隱式更新部件標(biāo)簽的步驟。由于無法得知負樣本部件的真實標(biāo)簽,因此對負樣本部件采用隨機的分類目標(biāo)標(biāo)簽。這個模型標(biāo)記為L-CNN(No Latency)。
實驗結(jié)果如圖4所示。無論是L-CNN(One Stage)模型的DET曲線還是L-CNN(No Latency)模型的DET曲線都要比L-CNN高出很多,在FPPW全范圍域上漏檢率都有了明顯上升;從平均準確率也可以看出,L-CNN(One Stage)和L-CNN(No Latency)的平均準確率分別比L-CNN低了2.43%和2.75%,從而驗證了兩段式學(xué)習(xí)方案和隱式訓(xùn)練方案都能在一定程度上改善目標(biāo)檢測模型的檢測表現(xiàn)。
圖4 INRIA數(shù)據(jù)庫上的擴展實驗表現(xiàn)
4結(jié)語
本文介紹了一種基于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)的隱式訓(xùn)練的行人檢測模型。該模型采用部件檢測模塊,將目標(biāo)切分成多個不同的部件分別進行檢測,在很大程度上縮減了檢測模型結(jié)構(gòu)的規(guī)模,減少了模型訓(xùn)練和檢測階段的計算量。本文還提出了一種隱式訓(xùn)練方法,使模型能夠從未標(biāo)注的樣本中學(xué)習(xí)目標(biāo)的分類規(guī)則,挖掘出更多對目標(biāo)檢測有幫助的信息,改善模型在目標(biāo)檢測上的表現(xiàn)。最后,本文還采用了兩段式學(xué)習(xí)方案,其中第一階段隱式訓(xùn)練三層部件確定所有樣本的各個部件的標(biāo)簽值;第二階段通過添加一層最終分類層生成四層全局模型;最后經(jīng)過訓(xùn)練得到模型最終的參數(shù)和樣本最終的分類。這個方案克服了多層人工神經(jīng)網(wǎng)絡(luò)中隨著網(wǎng)絡(luò)深度的不斷增加誤差將越來越難以有效地傳遞到底層的問題。本文最后通過一系列實驗驗證了本文提出的模型在行人檢測任務(wù)中的效用和優(yōu)越。
參考文獻
[1] Dalal N.INRIA Person Dataset[CP/OL].http://pascal.inrialpes.fr/data/human/.
[2] Dalal N,Triggs B.Histograms of oriented gradients for human detection[C]//Computer Vision and Pattern Recognition,2005.CVPR 2005.IEEE Computer Society Conference on.IEEE,2005,1:886-893.
[3] Dollar P,Wojek C,Schele B,et al.Pedestrian detection:An evaluation of the state of the art[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2012,34(4):743-761.
[4] Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[5] Papageorgiou C,Poggio T.A trainable system for object detection[J].International Journal of Computer Vision,2000,38(1):15-33.
[6] Lowe D G.Distinctive image features from scale-invariant keypoints[J].International journal of computer vision,2004,60(2):91-110.
[7] Dollár P,Tu Z,Perona P,et al.Integral Channel Features[C]//British Machine Vision Conference(BMVC),2009,2(3):5.
[8] Viola P,Jones M J,Snow D.Detecting pedestrians using patterns of motion and appearance[C]//Computer Vision,2003.Proceedings.Ninth IEEE International Conference on.IEEE,2003:734-741.
[9] Mikolajczyk K,Schmid C,Zisserman A.Human detection based on a probabilistic assembly of robust part detectors[C]//Computer Vision-ECCV 2004.Springer Berlin Heidelberg,2004:69-82.
[10] Han F,Shan Y,Cekander R,et al.A two-stage approach to people and vehicle detection with hog-based svm[C]//Performance Metrics for Intelligent Systems 2006 Workshop.2006:133-140.
[11] Lecun Y,Bottou L,Bengio Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[12] Nowlan S J,Platt J C.A convolutional neural network hand tracker[J].Advances in Neural Information Processing Systems,1995,8(1):901-908.
[13] Garcia C,Delakis M.Convolutional face finder:A neural architecture for fast and robust face detection[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2004,26(11):1408-1423.
[14] Osadchy M,Cun Y L,Miller M L.Synergistic face detection and pose estimation with energy-based models[J].The Journal of Machine Learning Research,2007,8(1):1197-1215.
[15] Krizhevsky A,Sutskever I,Hinton G E.Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems,2012:1097-1105.
[16] Ouyang W,Wang X.Joint deep learning for pedestrian detection[C]//Computer Vision (ICCV),2013 IEEE International Conference on. IEEE,2013:2056-2063.
[17] Sabzmeydani P,Mori G.Detecting pedestrians by learning shapelet features[C]//Computer Vision and Pattern Recognition,2007.CVPR’07.IEEE Conference on.IEEE,2007:1-8.
[18] Lecun Y,Chopra S,Hadsell R,et al.A tutorial on energy-based learning[J].Predicting structured data,2007,1(1):191-246.
[19] Hubel D H,Wiesel T N.Receptive fields and functional architecture of monkey striate cortex[J].The Journal of physiology,1968,195(1):215-243.
[20] Lecun Y A,Bottou L,Orr G B,et al.Efficient backprop[M]//Neural networks:Tricks of the trade.Springer Berlin Heidelberg,2012:9-48.
[21] Bouvrie J.Notes on convolutional neural networks[J].Notes on convolutional neural networks,2006,1(1):1.
[22] Lecun Y,Huang F.Loss functions for discriminative training of energy-based models[C]//Artificial Intelligence and Statistics(AIStats),2005:120-122.
[23] Lecun Y.A theoretical framework for back-propagation[J].A theoretical framework for back-propagation,1988,1(1):1.
[24] Wiegerinck W,Komoda A,Heskes T.Stochastic dynamics of learning with momentum in neural networks[J].Journal of Physics A:Mathematical and General,1994,27(13):4425.
[25] Theano Development Team.Multilayer Perceptron[CP/OL].http://deeplearning.net/tutorial/mlp.html.
[26] Si Z,Zhu S C.Learning hybrid image templates (hit) by information projection[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2012,34(7):1354-1367.
[27] Martin A,Doddington G,Kamm T,et al.The DET curve in assessment of detection task performance[R].National Inst of Standards and Technology Gaithersburg MD,1997.
A LATENT TRAINING MODEL OF CONVOLUTIONAL NEURAL NETWORKS FOR PEDESTRIAN DETECTION
Huang ZiLiu QiChen ZhiyuanZhao Yuming
(KeyLaboratoryofSystemControlandInformationProcessing,MinistryofEducationofChina,SchoolofElectronInformationandElectricalEngineering,ShanghaiJiaoTongUniversity,Shanghai200240,China)
AbstractPedestrian detection has become one of the hot research topics in various social fields. Convolutional neural networks have excellent learning ability. The characteristics of targets learned by these networks are more natural and more conducive to distinguishing different targets. However, traditional convolutional neural network models have to process entire target. Meanwhile, all the training samples need to be pre-labelled correctly, these hamper the development of convolutional neural network models. In this paper, we propose a convolutional neural network-based latent training model. The model reduces the computation complexity by integrating multiple part detection modules and learns the targets classification rules from unlabelled samples by adopting a latent training method. In the paper we also propose a two-stage learning scheme to overlay the size of the network step by step. Evaluation of the tests on public static pedestrian detection dataset, INRIA Person Dataset[1], demonstrates that our model achieves 98% of detection accuracy and 95% of average precision.
KeywordsPedestrian detectionLatent trainingPart detectionConvolutional neural networks
收稿日期:2014-11-25。國家自然科學(xué)基金項目(61175009);上海市產(chǎn)學(xué)研合作項目(滬CXY-2013-82)。黃咨,碩士生,主研領(lǐng)域:深度學(xué)習(xí),行人檢測。劉琦,碩士生。陳致遠,碩士生。趙宇明,副教授。
中圖分類號TP183
文獻標(biāo)識碼A
DOI:10.3969/j.issn.1000-386x.2016.05.037