本發(fā)明涉及計算機多媒體技術(shù)領(lǐng)域,特別涉及一種基于深度學(xué)習的行人檢測方法及檢測裝置。
背景技術(shù):
相關(guān)技術(shù)中,利用背景建模和統(tǒng)計學(xué)習的行人檢測方法在特定條件下可能取得較好的行人檢測效率或精確度,但這兩種方法都還不能滿足實際應(yīng)用中的要求。其中,背景建模方法普遍比較復(fù)雜,導(dǎo)致不能滿足實際應(yīng)用中實時檢測的需要,而基于統(tǒng)計學(xué)習的方法由于分類器訓(xùn)練比較復(fù)雜,尤其是樣本量大時難以訓(xùn)練出通用的行人檢測分類器,且分類器的訓(xùn)練時間開銷極大,如果能提前檢測出視頻內(nèi)容中的一些關(guān)鍵區(qū)域,然后提高在這些關(guān)鍵區(qū)域上行人檢測的準確度,將能夠在時間效率和檢測精度上均獲得提升。
因此,如何更好地利用視頻數(shù)據(jù)本身特征,在行人檢測過程中減少對視頻數(shù)據(jù)的重復(fù)處理,提升關(guān)鍵區(qū)域檢測精度和關(guān)鍵區(qū)域上行人檢測精度,仍需要進一步的研究。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本發(fā)明的一個目的在于提出一種基于深度學(xué)習的行人檢測方法,該方法可以提高檢測的精確度,且提高檢測效率,簡單易實現(xiàn)。
本發(fā)明的另一個目的在于提出一種基于深度學(xué)習的行人檢測裝置。
為達到上述目的,本發(fā)明一方面實施例提出了一種基于深度學(xué)習的行人檢測方法,包括以下步驟:獲取視頻數(shù)據(jù);根據(jù)所述視頻數(shù)據(jù)定位多個可能存在行人的關(guān)鍵區(qū)域;通過深度卷積神經(jīng)網(wǎng)絡(luò)對所述多個可能存在行人的關(guān)鍵區(qū)域進行多次迭代,得到調(diào)整和過濾后的行人特征,以判斷關(guān)鍵區(qū)域中是否有行人;如果所述關(guān)鍵區(qū)域中有行人,則輸出每一個行人檢測結(jié)果的邊界框和置信度。
本發(fā)明實施例的基于深度學(xué)習的行人檢測方法,通過深度卷積神經(jīng)網(wǎng)絡(luò)對多個可能存在行人的關(guān)鍵區(qū)域進行多次迭代,從而得到調(diào)整和過濾后的行人特征,實現(xiàn)提升關(guān)鍵區(qū)域檢測效果和關(guān)鍵區(qū)域中行人檢測效果,有效滿足真實應(yīng)用場景需要的高清視頻實時行人檢測的目的,不但提高檢測的精確度,而且提高檢測效率,簡單易實現(xiàn)。
另外,根據(jù)本發(fā)明上述實施例的基于深度學(xué)習的行人檢測方法還可以具有以下附加的技術(shù)特征:
進一步地,在本發(fā)明的一個實施例中,所述深度卷積神經(jīng)網(wǎng)絡(luò)包括多個卷積層、Roi采樣層、全連接層和回歸擬合層,以對所述視頻數(shù)據(jù)中輸入圖片的多個關(guān)鍵區(qū)域進行統(tǒng)一采樣和規(guī)范化的特征表示,并且對預(yù)測區(qū)域與標注數(shù)據(jù)進行回歸擬合,以得到用于區(qū)域邊界框的調(diào)整偏置。
進一步地,在本發(fā)明的一個實施例中,所述深度卷積神經(jīng)網(wǎng)絡(luò)的損失函數(shù)為:
L(p,u,tu,v)=Lcls(p,u)+λ[u≥1]Lloc(tu,v),
其中,Lcls表示關(guān)于行人及輔助類類別的損失函數(shù),Lloc表示關(guān)于判斷邊界框位置的損失函數(shù),u表示對象類別,v表示對象邊界框,p表示輔助類別的離散概率分布,tu表示行人對象邊界框的預(yù)測結(jié)果,λ表示損失函數(shù)中的超參數(shù)。
進一步地,在本發(fā)明的一個實施例中,在定位所述多個關(guān)鍵區(qū)域時,將每一個關(guān)鍵區(qū)域賦予一個初始類別,所述類標確定方式為:
其中,表示在第s次迭代中第i個訓(xùn)練區(qū)域的位置,Gi表示與所在的圖片上所有標注的目標檢測區(qū)域,表示圖像上原始劃分的第i個訓(xùn)練區(qū)域,其中,在每一次迭代s中,將調(diào)整擬合回歸其被確定的類標在每一次迭代中的擬合目標為:
其中,S*表示總的迭代次數(shù)。
進一步地,在本發(fā)明的一個實施例中,所述深度卷積神經(jīng)網(wǎng)絡(luò)在多次迭代訓(xùn)練過程中的目標函數(shù)為:
其中,ti(s)表示第i次迭代中關(guān)于Bi的區(qū)域預(yù)測結(jié)果,表示擬合目標。
為達到上述目的,本發(fā)明另一方面實施例提出了一種基于深度學(xué)習的行人檢測裝置,包括:獲取模塊,用于獲取視頻數(shù)據(jù);定位模塊,用于根據(jù)所述視頻數(shù)據(jù)定位多個可能存在行人的關(guān)鍵區(qū)域;判斷模塊,用于通過深度卷積神經(jīng)網(wǎng)絡(luò)對所述多個可能存在行人的關(guān)鍵區(qū)域進行多次迭代,得到調(diào)整和過濾后的行人特征,以判斷關(guān)鍵區(qū)域中是否有行人;輸出模塊,在所述關(guān)鍵區(qū)域中有行人時,用于輸出每一個行人檢測結(jié)果的邊界框和置信度。
本發(fā)明實施例的基于深度學(xué)習的行人檢測裝置,通過深度卷積神經(jīng)網(wǎng)絡(luò)對多個可能存在行人的關(guān)鍵區(qū)域進行多次迭代,從而得到調(diào)整和過濾后的行人特征,實現(xiàn)提升關(guān)鍵區(qū)域檢測效果和關(guān)鍵區(qū)域中行人檢測效果,有效滿足真實應(yīng)用場景需要的高清視頻實時行人檢 測的目的,不但提高檢測的精確度,而且提高檢測效率,簡單易實現(xiàn)。
另外,根據(jù)本發(fā)明上述實施例的基于深度學(xué)習的行人檢測裝置還可以具有以下附加的技術(shù)特征:
進一步地,在本發(fā)明的一個實施例中,所述深度卷積神經(jīng)網(wǎng)絡(luò)包括多個卷積層、Roi采樣層、全連接層和回歸擬合層,以對所述視頻數(shù)據(jù)中輸入圖片的多個關(guān)鍵區(qū)域進行統(tǒng)一采樣和規(guī)范化的特征表示,并且對預(yù)測區(qū)域與標注數(shù)據(jù)進行回歸擬合,以得到用于區(qū)域邊界框的調(diào)整偏置。
進一步地,在本發(fā)明的一個實施例中,所述深度卷積神經(jīng)網(wǎng)絡(luò)的損失函數(shù)為:
L(p,u,tu,v)=Lcls(p,u)+λ[u≥1]Lloc(tu,v),
其中,Lcls表示關(guān)于行人及輔助類類別的損失函數(shù),Lloc表示關(guān)于判斷邊界框位置的損失函數(shù),u表示對象類別,v表示對象邊界框,p表示輔助類別的離散概率分布,tu表示行人對象邊界框的預(yù)測結(jié)果,λ表示損失函數(shù)中的超參數(shù)。
進一步地,在本發(fā)明的一個實施例中,在定位所述多個關(guān)鍵區(qū)域時,將每一個關(guān)鍵區(qū)域賦予一個初始類別,所述類標確定方式為:
其中,表示在第s次迭代中第i個訓(xùn)練區(qū)域的位置,Gi表示與所在的圖片上所有標注的目標檢測區(qū)域,表示圖像上原始劃分的第i個訓(xùn)練區(qū)域,其中,在每一次迭代s中,將調(diào)整擬合回歸其被確定的類標在每一次迭代中的擬合目標為:
其中,S*表示總的迭代次數(shù)。
進一步地,在本發(fā)明的一個實施例中,所述深度卷積神經(jīng)網(wǎng)絡(luò)在多次迭代訓(xùn)練過程中的目標函數(shù)為:
其中,ti(s)表示第i次迭代中關(guān)于Bi的區(qū)域預(yù)測結(jié)果,表示擬合目標。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為根據(jù)本發(fā)明實施例的基于深度學(xué)習的行人檢測方法的流程圖;
圖2為根據(jù)本發(fā)明一個實施例的基于深度學(xué)習的行人檢測方法的原理示意圖;
圖3為根據(jù)本發(fā)明一個實施例的卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)示意圖;
圖4為根據(jù)本發(fā)明一個實施例的基于深度學(xué)習的行人檢測方法的檢測結(jié)果示意圖;
圖5為根據(jù)本發(fā)明實施例的基于深度學(xué)習的行人檢測裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
下面在描述根據(jù)本發(fā)明實施例提出的基于深度學(xué)習的行人檢測方法及檢測裝置之前,先來簡單描述一下準確檢測行人的重要性。
目前,行人檢測技術(shù)在諸多現(xiàn)實場景中有著廣泛的應(yīng)用:智能輔助駕駛,智能監(jiān)控,行人分析以及智能機器人等領(lǐng)域。隨著智能輔助駕駛及智能機器人的飛速發(fā)展,行人檢測技術(shù)近年來進入了一個快速的發(fā)展階段,但也有很多問題還有待解決,這其中主要是大規(guī)模視頻數(shù)據(jù),尤其是大規(guī)模高清監(jiān)控視頻數(shù)據(jù)或行車記錄視頻中關(guān)于行人檢測的效率和精度之間的權(quán)衡。
比較經(jīng)典的行人檢測方法大致可以分為兩類:基于背景建模的行人檢測方法和基于統(tǒng)計學(xué)習的行人檢測方法。基于背景建模的行人檢測方法是首先利用背景建模的方法,提取視頻畫面中前景運動的目標,在目標區(qū)域內(nèi)進行特征抽取及分類器學(xué)習,進而判斷其中是否包含行人。僅對背景基本能保持不變的監(jiān)控視頻而言,其中會出現(xiàn)由于光照的變化導(dǎo)致的圖像色度等的變化,基于背景建模的方法很難處理這種由于環(huán)境變化而帶來的視頻內(nèi)容變化對行人檢測所產(chǎn)生的影響。而在手持攝像機拍攝的視頻或者行車記錄設(shè)備等拍攝的視頻中,背景可能會隨攝像機的移動產(chǎn)生變化,這種情況下基于背景建模的行人檢測方法極容易失效。此外,當視頻中行人或一些干擾對象,如樹葉等出現(xiàn)比較密集時,會對背景造成較大的遮擋,為背景建模帶來極大的困難,而且背景中可能會出現(xiàn)一些物體的改變,比如停車場中車輛的移動等。如果這些情況下的背景信息不能及時被校正,那么背景建模的失效會直接導(dǎo)致行人檢測的低準確率?;诮y(tǒng)計學(xué)習的行人檢測方法是另外一類常用的行人檢測方法,具體來說這類方法依據(jù)大量的樣本構(gòu)建行人檢測分類器,通過對樣本的特征提取和分類器訓(xùn)練來實現(xiàn)行人檢測。常用的特征主要包括目標的顏色直方圖、邊緣紋理信息等,常用的分類器主要包括神經(jīng)網(wǎng)絡(luò)、支持向量機,其中目前圖像識別與分類領(lǐng)域運用得最廣泛的是卷積神經(jīng)網(wǎng)絡(luò)。同基于背景建模的方法一樣,基于統(tǒng)計學(xué)習的行人檢測方法也還存在著一些難以解決的問題,比如在視頻內(nèi)容中,行人距離攝像機距離的遠近造成行 人尺度變化很大;且行人在視頻數(shù)據(jù)中所表現(xiàn)出來的姿勢、穿著也各不一樣;視頻拍攝時光照條件等環(huán)境因素的變化也會給行人檢測帶來極大的不方便。而基于統(tǒng)計學(xué)習的方法在通過訓(xùn)練分類器達到較高的檢測精度的同時,也受到自身固有弊端的不利影響,比如在視頻數(shù)據(jù)中抽取的特征的有效性在很大程度上影響著后面的分類器訓(xùn)練和最終的行人檢測效果,而分類器的訓(xùn)練也受到訓(xùn)練樣本的極大影響。在實際應(yīng)用中,分類器訓(xùn)練一般采用離線訓(xùn)練的方式,即先選取實際應(yīng)用中的部分樣本訓(xùn)練出一個分類器,然后應(yīng)用到后續(xù)的檢測任務(wù)中,而樣本選擇本身就是一個難以評估與優(yōu)化的問題,離線分類器訓(xùn)練中使用的樣本基本無法涵蓋到真實應(yīng)用場景中的所有情況,在遇到新的場景時分類器的應(yīng)用可能會失效。近年來,隨著神經(jīng)網(wǎng)絡(luò)在圖像、音頻分類與識別領(lǐng)域的良好表現(xiàn),針對圖像分類與識別任務(wù)進行優(yōu)化的卷積神經(jīng)網(wǎng)絡(luò)方法開始被廣泛地應(yīng)用到圖像分類、視頻事件檢測等任務(wù)中,卷積神經(jīng)網(wǎng)絡(luò)在一定程度上克服了深度神經(jīng)網(wǎng)絡(luò)方法中網(wǎng)絡(luò)參數(shù)過多,訓(xùn)練過程漫長且訓(xùn)練不易收斂的問題,但針對具體任務(wù)如何設(shè)計高效且簡潔的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)仍是當前大規(guī)模多媒體數(shù)據(jù)檢索與識別中的一個重要問題。
本發(fā)明正是基于上述問題,而提出了一種基于深度學(xué)習的行人檢測方法與一種基于深度學(xué)習的行人檢測裝置。
下面參照附圖描述根據(jù)本發(fā)明實施例提出的基于深度學(xué)習的行人檢測方法及檢測裝置,首先將參照附圖描述根據(jù)本發(fā)明實施例提出的基于深度學(xué)習的行人檢測方法。
圖1是本發(fā)明實施例的基于深度學(xué)習的行人檢測方法。
如圖1所示,該基于深度學(xué)習的行人檢測方法包括以下步驟:
在步驟S101中,獲取視頻數(shù)據(jù)。
在步驟S102中,根據(jù)視頻數(shù)據(jù)定位多個可能存在行人的關(guān)鍵區(qū)域。
可以理解的是,如圖2所示,由于一般進行行人檢測時視野中出現(xiàn)的行人數(shù)目有限,為了在保證檢測精度的條件下大大提高檢測過程運行效率,以滿足實際應(yīng)用需求,本發(fā)明實施例的方法首先將圖片劃分為若干區(qū)域(數(shù)目可視具體應(yīng)用場景而定),每一個區(qū)域當成一個可能出現(xiàn)行人的感興趣區(qū)域。
在步驟S103中,通過深度卷積神經(jīng)網(wǎng)絡(luò)對多個可能存在行人的關(guān)鍵區(qū)域進行多次迭代,得到調(diào)整和過濾后的行人特征,以判斷關(guān)鍵區(qū)域中是否有行人。
也就是說,如圖2所示,通過設(shè)計針對行人檢測應(yīng)用場景的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并利用合適的訓(xùn)練數(shù)據(jù)以及對應(yīng)的損失函數(shù)(Loss Function),對卷積神經(jīng)網(wǎng)絡(luò)模型參數(shù)進行訓(xùn)練,實現(xiàn)從視頻圖像幀到行人檢測感興趣區(qū)域(Region of Interest,RoI)及行人邊界框(Bounding Box)的直接輸出,下面將進行詳細贅述。
具體地,卷積神經(jīng)網(wǎng)絡(luò)由于其較傳統(tǒng)神經(jīng)網(wǎng)絡(luò)參數(shù)數(shù)目更少,特征抽取更為完備, 因而被大量用于圖像視頻等可視數(shù)據(jù)的處理中,本發(fā)明實施例同樣采用的是針對行人檢測設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)。通過對這一網(wǎng)絡(luò)進行訓(xùn)練,可以由視頻的圖像幀直接得到行人檢測結(jié)果,包括對視頻圖像幀中是否出現(xiàn)行人進行判斷,且在有行人時,輸出關(guān)于每一個行人檢測結(jié)果的邊界框及置信度等相關(guān)信息。
需要說明的是,如圖2所示,在本發(fā)明實施例中,在保證行人檢測和相關(guān)輸出結(jié)果精確度的同時,本發(fā)明實施例通過預(yù)先在圖片上劃分感興趣區(qū)域避免使用不同尺度的滑動窗口對圖像進行遍歷,考慮到主要使用的卷積神經(jīng)網(wǎng)絡(luò)的運行效率,保證了行人檢測過程的準確與高效。
因此,本發(fā)明實施例有效地借助深度學(xué)習的思想,并使用深度學(xué)習領(lǐng)域適合圖像處理的卷積神經(jīng)網(wǎng)絡(luò),通過精心設(shè)計卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)并學(xué)習網(wǎng)絡(luò)參數(shù),可以由視頻圖像幀直接獲得行人檢測的輸出結(jié)果。同時,通過預(yù)先選取行人檢測感興趣區(qū)域減少對圖像區(qū)域的重復(fù)處理,保證了網(wǎng)絡(luò)運行的效率,提高行人檢測處理速度。從標準數(shù)據(jù)集實驗結(jié)果來看,本發(fā)明實施例的基于深度學(xué)習的行人檢測方法具有精確度高、實時性強、易于移植到其它應(yīng)用場景等特點,能滿足實際應(yīng)用場景的需求。
下面對深度卷積神經(jīng)網(wǎng)絡(luò)進行詳細描述。
其中,在本發(fā)明的一個實施例中,深度卷積神經(jīng)網(wǎng)絡(luò)包括多個卷積層、Roi采樣層、全連接層和回歸擬合層,以對視頻數(shù)據(jù)中輸入圖片的多個關(guān)鍵區(qū)域進行統(tǒng)一采樣和規(guī)范化的特征表示,并且對預(yù)測區(qū)域與標注數(shù)據(jù)進行回歸擬合,以得到用于區(qū)域邊界框的調(diào)整偏置。
可以理解的是,如圖3所示,第一步,構(gòu)造網(wǎng)絡(luò)結(jié)構(gòu)。其中,由于在對視頻進行處理時,往往相當于直接對視頻的圖像幀進行處理,而圖像一般被表示為像素的向量,如今隨著視頻采集過程中清晰度的提升,高清視頻圖像幀會被表示成一個很長的向量。在傳統(tǒng)深度學(xué)習方法使用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,由于網(wǎng)絡(luò)各層之間的節(jié)點采用全連接的方式,如果直接用來進行圖像處理會導(dǎo)致參數(shù)數(shù)目過多,無法對網(wǎng)絡(luò)參數(shù)進行訓(xùn)練,因而為了將深度學(xué)習方法應(yīng)用到圖像處理中,必須減少神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的參數(shù)個數(shù)以加快速度,這就推動了卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展。
卷積神經(jīng)網(wǎng)絡(luò)主要通過兩種方式來減少參數(shù)數(shù)目,其一是局部感知野,在圖像處理研究中可以發(fā)現(xiàn),圖像的空間聯(lián)系表現(xiàn)為局部像素聯(lián)系較為緊密,而距離較遠的像素可能表現(xiàn)出的相關(guān)性較弱。因而,在設(shè)計神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)時,網(wǎng)絡(luò)中每個神經(jīng)元沒必要對全局圖像進行感知,只需要對圖像的某一局部區(qū)域進行感知,然后在神經(jīng)網(wǎng)絡(luò)后期,即比較高層的網(wǎng)絡(luò)結(jié)構(gòu)中將圖像的這些局部信息綜合起來得到圖像的全局信息。其二是參數(shù)共享,又稱權(quán)值共享,在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,每個神經(jīng)元的參數(shù)需要分別進行訓(xùn)練,而卷積神經(jīng)網(wǎng)絡(luò)中引入了權(quán)值共享的思想,這樣更進一步地壓縮了網(wǎng)絡(luò)中的參數(shù)個數(shù)。權(quán)值共享是指在某 一個具體的網(wǎng)絡(luò)層,每一個神經(jīng)元對應(yīng)的網(wǎng)絡(luò)參數(shù)都是統(tǒng)一的,基于局部感知的設(shè)定,每個神經(jīng)元對應(yīng)的參數(shù)都可以認為是該層對應(yīng)的特征抽取方式,且特征抽取網(wǎng)與神經(jīng)元對應(yīng)的局部感知野無關(guān),在卷積神經(jīng)網(wǎng)絡(luò)中,每個神經(jīng)元對應(yīng)的參數(shù)被稱為卷積核。卷積神經(jīng)網(wǎng)絡(luò)中局部感知野和參數(shù)共享的設(shè)定大大減少了網(wǎng)絡(luò)訓(xùn)練過程中的參數(shù),保證了網(wǎng)絡(luò)訓(xùn)練和運行的效率,同時為了保證較完備的特征抽取,在卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中一般采取多卷積核及多層卷積的設(shè)計。多卷積核是為了保證在每一個卷積層中特征抽取盡可能充分,而由于一個單獨的卷積層學(xué)習到的特征是局部的,因此會采用多層卷積的方式來獲得關(guān)于圖像更加全局的特征,且多層卷積后一般會接上全連接層將特征變換為向量的形式。
如圖3所示,在本發(fā)明的實施例中,使用如圖所示的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),將輸入圖片劃分為若干區(qū)域后,經(jīng)過若干卷積層,通過對這些感興趣區(qū)域進行統(tǒng)一采樣,然后經(jīng)過全連接層得到規(guī)范化的特征表示,之后通過對預(yù)測區(qū)域與標注數(shù)據(jù)進行回歸擬合,得到對行人邊界框的調(diào)整偏置,且調(diào)整偏置向量將會應(yīng)用到輸入的區(qū)域邊界框上。
進一步地,第二步,獲取訓(xùn)練數(shù)據(jù)。其中,雖然卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)深度神經(jīng)網(wǎng)絡(luò)相比參數(shù)數(shù)量已大大減少,但由于其網(wǎng)絡(luò)層數(shù)多,結(jié)構(gòu)復(fù)雜,其中的參數(shù)規(guī)模仍然十分龐大。因此,如果從隨機初值開始對深層卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練時,需要有準確可靠且規(guī)模龐大的訓(xùn)練數(shù)據(jù)。針對行人檢測任務(wù),圖像訓(xùn)練數(shù)據(jù)中不僅需要包含每一幅圖像中是否包含行人的判斷,還需要在標注確定有行人時,同時給出行人的邊界框,這樣給行人檢測的卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)準備帶來了極大的挑戰(zhàn)。為了提高訓(xùn)練數(shù)據(jù)準備的效率,減少在網(wǎng)絡(luò)訓(xùn)練過程中的開銷,本發(fā)明主要采用兩種方法來實現(xiàn)以較小規(guī)模的訓(xùn)練數(shù)據(jù)集對網(wǎng)絡(luò)參數(shù)進行訓(xùn)練。其一是借助現(xiàn)有公開的網(wǎng)絡(luò)結(jié)構(gòu)及參數(shù),在ImageNet LSVRC和MicrosoftCOCO等大型比賽中,都設(shè)定了對象檢測的任務(wù),即需要在大規(guī)模圖像數(shù)據(jù)中識別出指定的若干類別的對象。許多參賽隊伍公開發(fā)布其在對象檢測任務(wù)中取得較好效果的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及對應(yīng)網(wǎng)絡(luò)參數(shù),本發(fā)明通過借助這些公開發(fā)布的網(wǎng)絡(luò)結(jié)構(gòu)并針對行人檢測任務(wù)對網(wǎng)絡(luò)結(jié)構(gòu)進行修改,然后使用預(yù)先訓(xùn)練好的網(wǎng)絡(luò)參數(shù)對未做修改的層進行初始化,接著使用針對行人檢測任務(wù)準備的訓(xùn)練數(shù)據(jù)對修改后的網(wǎng)絡(luò)參數(shù)進行調(diào)整和重新訓(xùn)練,減少在訓(xùn)練過程中需要重新修改的網(wǎng)絡(luò)參數(shù),加快網(wǎng)絡(luò)訓(xùn)練過程。其二是對現(xiàn)有的訓(xùn)練數(shù)據(jù)進行變化補充訓(xùn)練數(shù)據(jù),具體而言,對每一個具有行人標注的樣本,通過對其進行相關(guān)的平移、旋轉(zhuǎn)等幾何變換及改變亮度、色度等模擬環(huán)境變化來產(chǎn)生新的標注樣本,這樣可以用來擴充訓(xùn)練樣本數(shù)據(jù),在訓(xùn)練網(wǎng)絡(luò)參數(shù)時保證卷積神經(jīng)網(wǎng)絡(luò)可以對各種不同環(huán)境條件和姿勢的行人特征進行檢測。
例如,使用的訓(xùn)練數(shù)據(jù)可以來源于CaltechPedestrian公開數(shù)據(jù)集,其中包含了六個不同的訓(xùn)練數(shù)據(jù)集合,每個訓(xùn)練集合包含6-13個一分鐘時長的視頻序列。此外,在設(shè)計卷積神 經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)時,為了減少在行人檢測過程中對外觀類似對象的誤檢,在最終網(wǎng)絡(luò)輸出中添加了若干輔助類別,這部分的訓(xùn)練數(shù)據(jù)可以來源于ImageNetLSVRC比賽中的訓(xùn)練數(shù)據(jù)。
進一步地,在本發(fā)明的一個實施例中,深度卷積神經(jīng)網(wǎng)絡(luò)的損失函數(shù)為:
L(p,u,tu,v)=Lcls(p,u)+λ[u≥1]Lloc(tu,v),
其中,Lcls表示關(guān)于行人及輔助類類別的損失函數(shù),Lloc表示關(guān)于判斷邊界框位置的損失函數(shù),u表示對象類別,v表示對象邊界框,p表示輔助類別的離散概率分布,tu表示行人對象邊界框的預(yù)測結(jié)果,λ表示損失函數(shù)中的超參數(shù)。
進一步地,在本發(fā)明的一個實施例中,在定位多個關(guān)鍵區(qū)域時,將每一個關(guān)鍵區(qū)域賦予一個初始類別,類標確定方式為:
其中,表示在第s次迭代中第i個訓(xùn)練區(qū)域的位置,Gi表示與所在的圖片上所有標注的目標檢測區(qū)域,表示圖像上原始劃分的第i個訓(xùn)練區(qū)域,其中,在每一次迭代s中,將調(diào)整擬合回歸其被確定的類標在每一次迭代中的擬合目標為:
其中,S*表示總的迭代次數(shù)。
進一步地,在本發(fā)明的一個實施例中,深度卷積神經(jīng)網(wǎng)絡(luò)在多次迭代訓(xùn)練過程中的目標函數(shù)為:
其中,ti(s)表示第i次迭代中關(guān)于Bi的區(qū)域預(yù)測結(jié)果,表示擬合目標。
具體地,第三步,構(gòu)造損失函數(shù)。針對行人檢測設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包含兩個并列的輸出,其中一個直接輸出每一個感興趣區(qū)域(RoI)關(guān)于行人、背景及若干輔助類別的離散概率分布p=(p0,…,pK),其中K為除背景以外類別個數(shù);另外一個輸出是對于檢測出的行人對象邊界框的預(yù)測結(jié)果,其中x,y,w,h分別表示預(yù)測出的邊界框在圖片上的橫向位置、縱向位置、邊界框?qū)挾?、邊界框高度,均以像素作為計量單位。對于?xùn)練數(shù)據(jù)集中的每一個圖像幀,其中包含多個對象區(qū)域的標注,每一個對象區(qū)域均包含對象類別u和對象邊界框v。為了對網(wǎng)絡(luò)參數(shù)進行訓(xùn)練,本發(fā)明針對行人檢測任務(wù)使用如下?lián)p失函數(shù):
L(p,u,tu,v)=Lcls(p,u)+λ[u≥1]Lloc(tu,v),
其中,Lcls是關(guān)于行人及輔助類類別的損失函數(shù),Lloc是關(guān)于判斷邊界框位置的損失函數(shù),對網(wǎng)絡(luò)參數(shù)進行訓(xùn)練的目標是最小化損失函數(shù)值。本發(fā)明實施例在訓(xùn)練過程中,對行人類別及每一個輔助類別,Lcls使用對數(shù)損失函數(shù):
Lcls(p,u)=-logpu,
Lloc對于每一個類別u,其定義在關(guān)于每一個類別u,邊界框標注v=(vx,vy,vw,vh)及邊界框預(yù)測結(jié)果上。當u=0時,其表示的是背景類別,故[u≥1]當u≥1時值為1,否則為0,表示僅考慮除背景以外的類別。Lloc定義為:
其中,
其是一種L1歸一化方法,比在一些其它的卷積神經(jīng)網(wǎng)絡(luò)方法,如R-CNN和SPPnet中使用的L2歸一化方法對于離群值能保持更強的不變性,更加魯棒。
損失函數(shù)中的超參數(shù)λ用來均衡類別預(yù)測損失函數(shù)和對象位置預(yù)測損失函數(shù),本發(fā)明在對卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練時,首先將所有邊界框標注vi進行標準正態(tài)分布歸一化,即均值為0標準差為1。然后在所有不同配置的實驗中均使用λ=1的設(shè)置。
為了去除在網(wǎng)絡(luò)訓(xùn)練過程中需要人為確定感興趣區(qū)域這一耗時步驟,本發(fā)明實施例在將圖片放入卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練前,首先將圖片按一定規(guī)則劃分為若干不重疊的矩形區(qū)域。在劃分區(qū)域時可以使用任意的方式,比如按尺寸比例劃分等,如圖2中就是將圖片劃分為四個同樣大小的區(qū)域。每一個劃分出的區(qū)域會被賦予一個初始類標,類標確定方式為:
其中,是在第s次迭代中第i個訓(xùn)練區(qū)域的位置,Gi是與所在的圖片上所有標注的目標檢測區(qū)域,即該圖像上原始劃分的第i個訓(xùn)練區(qū)域。在每一次迭代s中,本發(fā)明實施例提出的網(wǎng)絡(luò)都將調(diào)整擬合回歸其被確定的類標在每一次迭代中的擬合目標為:
其中,S*為總的迭代次數(shù)。
因此,在本發(fā)明實施例提出的多次迭代的卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中的目標函數(shù)可以表示為:
其中,ti(s)為第i次迭代中關(guān)于Bi的區(qū)域預(yù)測結(jié)果,為其擬合目標Φ(ti(s),G(ti(s)),s)。
綜上,整個卷積神經(jīng)網(wǎng)絡(luò)的損失函數(shù)已經(jīng)被確定,可以采用合適的方式對卷積神經(jīng)網(wǎng)絡(luò)進行參數(shù)調(diào)整或重新訓(xùn)練。
進一步地,第四步,訓(xùn)練網(wǎng)絡(luò)參數(shù)。其中,在確定網(wǎng)絡(luò)損失函數(shù)之后,可以使用現(xiàn)有深度學(xué)習工具Caffe對網(wǎng)絡(luò)進行參數(shù)調(diào)整與重新訓(xùn)練,在訓(xùn)練過程中可以交替訓(xùn)練預(yù)測網(wǎng)絡(luò)和類別預(yù)測網(wǎng)絡(luò)或直接使用端對端的方式,即從圖片到最終的行人檢測結(jié)果,進行訓(xùn)練,訓(xùn)練后的網(wǎng)絡(luò)可以直接用于對視頻圖像幀中的行人進行檢測。
最后,第五步,產(chǎn)生檢測結(jié)果。綜上所述,訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)可以從圖像幀直接輸出行人檢測結(jié)果及檢測出的行人所在區(qū)域。由于在網(wǎng)絡(luò)中直接添加了感興趣區(qū)域的預(yù)測,避免了滑動窗口或人為指定感興趣區(qū)域所產(chǎn)生的大量重復(fù)運算,網(wǎng)絡(luò)運行效率大大提升,可以滿足實際行人檢測應(yīng)用需要,如圖4所示,其為某行車拍攝視頻圖像幀中的行人檢測結(jié)果,其中,行人檢測示例中包含輔助類別。
在步驟S104中,如果關(guān)鍵區(qū)域中有行人,則輸出每一個行人檢測結(jié)果的邊界框和置信度。
即言,通過利用卷積神經(jīng)網(wǎng)絡(luò)對這些區(qū)域進行不斷調(diào)整和過濾,最終實現(xiàn)行人檢測結(jié)果的輸出,具有如下優(yōu)點:
1)通過使用多次迭代的卷積神經(jīng)網(wǎng)絡(luò)直接從視頻圖像幀中抽取行人特征,對行人特征進行有效理解,能夠識別不同姿勢、不同尺度的行人,極大程度減少傳統(tǒng)方法中環(huán)境變化等因素對檢測效果帶來的負面影響,提升行人檢測的精確度。
2)通過對圖片進行區(qū)域劃分以及在網(wǎng)絡(luò)運行過程中對可能存在行人的感興趣區(qū)域進行篩選,避免傳統(tǒng)方法需要預(yù)先獲取感興趣區(qū)域或者通過在圖像上使用滑動窗口對每個窗口進行判斷等帶來的大量重復(fù)計算,極大提高了網(wǎng)絡(luò)運行效率,可以滿足實際應(yīng)用場景的需求。
3)通過在網(wǎng)絡(luò)訓(xùn)練時使用輔助類標的思想,對一些傳統(tǒng)方法極難分辨的對象進行單獨建模,減少訓(xùn)練過程中難以判斷的負例帶來的干擾,進一步提升了網(wǎng)絡(luò)訓(xùn)練的有效性和行人檢測的精確度。
舉例而言,通過在行人檢測領(lǐng)域的標準數(shù)據(jù)集Caltech Pedestrian、ETH上的實驗,本發(fā)明實施例的方法表現(xiàn)出了有效性。具體來說,在Caltech Pedestrian數(shù)據(jù)集中,包含6個訓(xùn)練數(shù)據(jù)集和5個測試數(shù)據(jù)集,每個包含6-13個一分鐘時長的視頻序列,視頻序列每一幀上都有關(guān)于每一個行人的標注。在ETH數(shù)據(jù)集中包含三個視頻數(shù)據(jù)集,按實驗標準配置劃分訓(xùn)練集和數(shù)據(jù)集。在多組不同實驗配置取得的實驗結(jié)果中取效果最佳的輸出作為最終實驗輸出,本發(fā)明提出的方法最終在兩個數(shù)據(jù)集的標準配置下分別 取得了32.82%和38.17%的準確率,效果優(yōu)異,且在Caltech Pedestrian和ETH上平均能達到18幀每秒的處理速度,可以滿足實際應(yīng)用需求。
根據(jù)本發(fā)明實施例的基于深度學(xué)習的行人檢測方法,通過深度卷積神經(jīng)網(wǎng)絡(luò)對多個可能存在行人的關(guān)鍵區(qū)域進行多次迭代,從而得到調(diào)整和過濾后的行人特征,實現(xiàn)提升關(guān)鍵區(qū)域檢測效果和關(guān)鍵區(qū)域中行人檢測效果,其中,利用深度學(xué)習的方法,主要是通過構(gòu)造并訓(xùn)練針對行人檢測應(yīng)用場景的深度卷積神經(jīng)網(wǎng)絡(luò),在大規(guī)模的監(jiān)控或行車記錄等視頻數(shù)據(jù)中,首先高效率且較精準地定位出可能存在行人的關(guān)鍵區(qū)域,然后精確判斷關(guān)鍵區(qū)域中是否存在行人,來取得高精確度的行人檢測效果,以滿足現(xiàn)實場景中的行人檢測應(yīng)用對時間效率和檢測精度的要求,有效滿足真實應(yīng)用場景需要的高清視頻實時行人檢測的目的,不但提高檢測的精確度,而且提高檢測效率,簡單易實現(xiàn)。
其次參照附圖描述根據(jù)本發(fā)明實施例提出的基于深度學(xué)習的行人檢測裝置。
圖5是本發(fā)明實施例的基于深度學(xué)習的行人檢測裝置的結(jié)構(gòu)示意圖。
如圖5所示,該基于深度學(xué)習的行人檢測裝置10包括:獲取模塊100、定位模塊200、判斷模塊300和輸出模塊400。
其中,獲取模塊100用于獲取視頻數(shù)據(jù)。定位模塊200用于根據(jù)視頻數(shù)據(jù)定位多個可能存在行人的關(guān)鍵區(qū)域。判斷模塊300用于通過深度卷積神經(jīng)網(wǎng)絡(luò)對多個可能存在行人的關(guān)鍵區(qū)域進行多次迭代,得到調(diào)整和過濾后的行人特征,以判斷關(guān)鍵區(qū)域中是否有行人。在關(guān)鍵區(qū)域中有行人時,輸出模塊400用于輸出每一個行人檢測結(jié)果的邊界框和置信度。本發(fā)明實施例的裝置10可以提升關(guān)鍵區(qū)域檢測效果和關(guān)鍵區(qū)域中行人檢測效果,實現(xiàn)滿足真實應(yīng)用場景需要的高清視頻實時行人檢測的目的,不但提高檢測的精確度,而且提高檢測效率,簡單易實現(xiàn)。
進一步地,在本發(fā)明的一個實施例中,深度卷積神經(jīng)網(wǎng)絡(luò)包括多個卷積層、Roi采樣層、全連接層和回歸擬合層,以對視頻數(shù)據(jù)中輸入圖片的多個關(guān)鍵區(qū)域進行統(tǒng)一采樣和規(guī)范化的特征表示,并且對預(yù)測區(qū)域與標注數(shù)據(jù)進行回歸擬合,以得到用于區(qū)域邊界框的調(diào)整偏置。
進一步地,在本發(fā)明的一個實施例中,深度卷積神經(jīng)網(wǎng)絡(luò)的損失函數(shù)為:
L(p,u,tu,v)=Lcls(p,u)+λ[u≥1]Lloc(tu,v),
其中,Lcls表示關(guān)于行人及輔助類類別的損失函數(shù),Lloc表示關(guān)于判斷邊界框位置的損失函數(shù),u表示對象類別,v表示對象邊界框,p表示輔助類別的離散概率分布,tu表示行人對象邊界框的預(yù)測結(jié)果,λ表示損失函數(shù)中的超參數(shù)。
進一步地,在本發(fā)明的一個實施例中,在定位多個關(guān)鍵區(qū)域時,將每一個關(guān)鍵區(qū)域賦予一個初始類別,類標確定方式為:
其中,表示在第s次迭代中第i個訓(xùn)練區(qū)域的位置,Gi表示與所在的圖片上所有標注的目標檢測區(qū)域,表示圖像上原始劃分的第i個訓(xùn)練區(qū)域,其中,在每一次迭代s中,將調(diào)整擬合回歸其被確定的類標在每一次迭代中的擬合目標為:
其中,S*表示總的迭代次數(shù)。
進一步地,在本發(fā)明的一個實施例中,深度卷積神經(jīng)網(wǎng)絡(luò)在多次迭代訓(xùn)練過程中的目標函數(shù)為:
其中,ti(s)表示第i次迭代中關(guān)于Bi的區(qū)域預(yù)測結(jié)果,表示擬合目標。
需要說明的是,前述對基于深度學(xué)習的行人檢測方法實施例的解釋說明也適用于該實施例的基于深度學(xué)習的行人檢測裝置,此處不再贅述。
根據(jù)本發(fā)明實施例的基于深度學(xué)習的行人檢測裝置,通過深度卷積神經(jīng)網(wǎng)絡(luò)對多個可能存在行人的關(guān)鍵區(qū)域進行多次迭代,從而得到調(diào)整和過濾后的行人特征,實現(xiàn)提升關(guān)鍵區(qū)域檢測效果和關(guān)鍵區(qū)域中行人檢測效果,其中,利用深度學(xué)習的方法,主要是通過構(gòu)造并訓(xùn)練針對行人檢測應(yīng)用場景的深度卷積神經(jīng)網(wǎng)絡(luò),在大規(guī)模的監(jiān)控或行車記錄等視頻數(shù)據(jù)中,首先高效率且較精準地定位出可能存在行人的關(guān)鍵區(qū)域,然后精確判斷關(guān)鍵區(qū)域中是否存在行人,來取得高精確度的行人檢測效果,以滿足現(xiàn)實場景中的行人檢測應(yīng)用對時間效率和檢測精度的要求,有效滿足真實應(yīng)用場景需要的高清視頻實時行人檢測的目的,不但提高檢測的精確度,而且提高檢測效率,簡單易實現(xiàn)。
在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“長度”、“寬度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”“內(nèi)”、“外”、“順時針”、“逆時針”、“軸向”、“徑向”、“周向”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。
此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
在本發(fā)明中,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”、“固定”等術(shù)語應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或成一體;可以是機械 連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通或兩個元件的相互作用關(guān)系,除非另有明確的限定。對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
在本發(fā)明中,除非另有明確的規(guī)定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接觸,或第一和第二特征通過中間媒介間接接觸。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或僅僅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或僅僅表示第一特征水平高度小于第二特征。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié)合和組合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。