, ,
(1.江蘇開放大學(xué) 信息與機(jī)電工程學(xué)院,南京 210017;2.南京信息工程大學(xué) 電子與信息工程學(xué)院,南京 210017)
行人檢測(cè)技術(shù)是通過模式識(shí)別方法, 從視頻序列或者靜態(tài)圖像中判斷是否存在行人, 并對(duì)行人進(jìn)行定位[1]。行人檢測(cè)技術(shù)在安保領(lǐng)域、無(wú)人駕駛領(lǐng)域、機(jī)器視覺領(lǐng)域以及多媒體分析領(lǐng)域等具有廣泛的應(yīng)用前景[2-3]。
行人檢測(cè)系統(tǒng)性能指標(biāo)主要包括檢測(cè)精度和檢測(cè)速度, 其中, 檢測(cè)精度主要由特征提取準(zhǔn)確度決定, 檢測(cè)速度主要由分類算法復(fù)雜度決定[4]。為提高行人檢測(cè)的準(zhǔn)確度, 2005年, Navneet Dalal和Bill Triggs首次提出了HOG特征[5], 同時(shí)利用SVM分類器對(duì)HOG特征進(jìn)行分類。由于HOG能較好表征人體邊緣, 并且對(duì)光照和微小形變不敏感, 該方法較好解決了行人檢測(cè)技術(shù)的準(zhǔn)確度問題, 成為當(dāng)前行人檢測(cè)技術(shù)研究熱點(diǎn)。但是, 由于HOG特征是高維特征, 在分類階段引入較大計(jì)算量, 影響行人檢測(cè)速度。以大小為64*128的圖像為例, 根據(jù)文獻(xiàn)[6]算法參數(shù)計(jì)算得到的HOG特征為3780維。如此高維特征在分類器訓(xùn)練和識(shí)別中必然引入較大計(jì)算量, 導(dǎo)致在行人檢測(cè)階段速度較慢。因此, 有必要研究提高行人檢測(cè)速度的快速算法。一種思路是對(duì)提取特征降維, 從而減少分類階段的計(jì)算量。另一種思路是尋找速度更佳分類算法, 從而提升檢測(cè)速度[7]。為此, 本文提出一種基于HOG特征和Adaboost分類器的快速行人檢測(cè)方法。在HOG特征的基礎(chǔ)上, 首先利用PCA降維方法對(duì)HOG特征降維, 在保持特征信息基礎(chǔ)上, 減少特征維度, 最后使用Adaboost構(gòu)建強(qiáng)分類器進(jìn)行分類。即便采用了降維、快速算法等技術(shù)對(duì)行人檢測(cè)進(jìn)行優(yōu)化, 但實(shí)際應(yīng)用過程了任然不能滿足海量數(shù)據(jù)實(shí)時(shí)處理的要求。
針對(duì)目前行人檢測(cè)技術(shù)運(yùn)算量大、實(shí)時(shí)性差等不足, 本文提出了一種Hadoop云平臺(tái)下基于梯度直方圖(HOG)特征和Adaboost算法的快速行人檢測(cè)方法。該方法首先利用云計(jì)算模式提取圖片的HOG特征, 然后利用PCA方法對(duì)提取特征降維, 最后使用Adaboost算法構(gòu)建分類器對(duì)降維特征進(jìn)行分類。利用不同場(chǎng)景照片對(duì)本文方法進(jìn)行實(shí)驗(yàn), 仿真結(jié)果表明, 在保持較高檢測(cè)準(zhǔn)確度前提下, 采用Hadoop云計(jì)算的檢測(cè)速度比傳統(tǒng)的基于HOG特征行人檢測(cè)算法提高將近5倍, 有效提高檢測(cè)算法的實(shí)時(shí)性。
為了能夠使本文提出的行人檢測(cè)方法可以在Hadoop平臺(tái)有效實(shí)現(xiàn), 文章采用了圖像的處理接口HIPI ( Hadoop Image Processing Interface), 為了實(shí)現(xiàn)圖像數(shù)據(jù)的輸入和輸出。而Hadoop技術(shù)在最初就是用來(lái)處理文本數(shù)據(jù)時(shí), 一般會(huì)把輸入的數(shù)據(jù)劃分成多個(gè)大小相同的獨(dú)立數(shù)據(jù)塊, 但是這些并不適用于本文的海量圖像處理, 而且會(huì)破壞圖像的完整性。所以本文為了能有效的對(duì)海量圖像進(jìn)行行人目標(biāo)檢測(cè), 文章在原有Hadoop基礎(chǔ)上進(jìn)行大量的創(chuàng)新, 使其輸入的圖像是完整的, 且每個(gè)數(shù)據(jù)塊大小適中。
文章首先把一些圖像小文件組合成為圖像大文件的方法, 使用CombineFilelnputFormat接日, 以此來(lái)實(shí)現(xiàn)了多個(gè)圖像小文件打包并合并到一個(gè)圖像文件SequenceFile中, 并且不改變?cè)械拿總€(gè)圖像小文件結(jié)構(gòu), 每一條圖像小文件為記錄存放在SequenceFile中生成鍵值對(duì)(
HOG特征核心思想是利用邊緣方向密度分布表征目標(biāo)的形狀, 即利用圖像的局部梯度方向表征目標(biāo)的整體特征。
HOG 特征的提取主要包括字塊劃分、梯度計(jì)算、梯度投影及HOG 特征向量收集等4個(gè)步驟。具體算法流程如圖1所示。
圖1 HOG特征提取流程
如圖1所示, 首先將輸入圖像劃分為不同的子塊(Block), 然后每個(gè)Block再劃分為若干個(gè)單元(Cell)。為了提高HOG算子在不同場(chǎng)景的魯棒性, 每個(gè)Block有一定重疊。然后利用梯度算子計(jì)算每個(gè)Cell中像素的梯度, 并在每個(gè)Cell內(nèi)對(duì)計(jì)算梯度進(jìn)行投影和歸一化, 得到梯度方向直方圖。其中, 梯度計(jì)算公式如公式(1)~(3)所示, 梯度投影過程實(shí)質(zhì)是將梯度方向空間劃分為若干個(gè)等分, 將所有各個(gè)像素的梯度方向投影到劃分好的梯度方向空間中。最后梯度方向直方圖歸一化, 并將所有Cell的歸一化梯度直方圖連接在一起, 最終形成HOG特征。
dx(x,y)=I(x+1,y)-I(x-1,y)
(1)
dy(x,y)=I(x,y+1)-I(x,y-1)
(2)
(3)
其中:I(x,y)為像素值。
在得到HOG特征后, 由于特征維度較高, 如直接利用該特征分類計(jì)算量較大, 影響行人檢測(cè)速度, 因此, 本文利用主成分分析算法(PCA)降維技術(shù)對(duì)HOG特征降維。
(4)
A= [aij],1≤i≤p,1≤j≤p
(5)
(6)
cor(Fi,Fj)=0
(7)
var(Fi)>var(Fj),i (8) 其中,cor(Fi,Fj)表示變換后特征的相關(guān)系數(shù), var(Fi)表示變換后特征的方差。由于信息的測(cè)量標(biāo)度一般用方差表示, 變量的方差越大, 表征其含有信息量越大。因此, 通過PCA算法后的特征向量, 從前往后所含信息量逐步減少且互不相關(guān)。選取前面若干個(gè)變量作為主成分, 當(dāng)主成分中信息量得到原始信息量的95%以上, 即可較好地表征原始特征。對(duì)于降維后的特征向量, 使用Adaboost算法構(gòu)建強(qiáng)分類器, 進(jìn)行分類。 Adaboost是一種迭代算法, 其核心思想是針對(duì)同一個(gè)訓(xùn)練集訓(xùn)練不同的弱分類器, 然后把這些弱分類器集合起來(lái), 構(gòu)成一個(gè)更強(qiáng)的最終分類器(強(qiáng)分類器)。 假設(shè)樣本集為X{xk},k=1,2,3,...,N, 類別空間集為Y{yk},k=1,2,3,...,N, Adaboost算法具體流程如下: 1)初始化樣本權(quán)重。對(duì)于所有樣本賦予相同的權(quán)值, 如公式(9)所示: (9) (10) 其中,I(Fi(xk))定義為: 根據(jù)分類誤差ei, 計(jì)算若分類器Fi的權(quán)重αi, 如公式(11)所示: (11) (12) 其中:Zk為規(guī)范化因子, 其計(jì)算如公式(13)所示: (13) 3)當(dāng)滿足一定的迭代次數(shù)或分類誤差ei為零時(shí), 結(jié)束迭代, 得到最終的強(qiáng)分類器G(x), 如公式(14)所示。ei能否為0?根據(jù)誤差定義可以為0. (14) 其中:M為迭代次數(shù)。 Adaboost算法能夠?qū)W(xué)習(xí)得到的弱分類器的錯(cuò)誤進(jìn)行適應(yīng)性調(diào)整, 降低了錯(cuò)誤較大的弱分類器權(quán)重, 從而最終能構(gòu)建分類能力較強(qiáng)的分類器。 本文在訓(xùn)練弱分類器階段, 使用了決策樹分類器。最終利用Adaboost算法得到強(qiáng)分類器, 實(shí)現(xiàn)對(duì)場(chǎng)景圖片進(jìn)行快速行人檢測(cè)。 本文首先基于輸入的行人圖片, 根據(jù)一定的比例縮放, 提取其HOG特征, 其中, 得到的HOG特征為3780維, 經(jīng)過PCA降維后, 得到維度為808維。降維后的HOG特征, 以決策樹作為弱分類器, 通過訓(xùn)練集數(shù)據(jù)利用Adaboost算法構(gòu)建強(qiáng)分類器, 從而實(shí)現(xiàn)對(duì)行人圖片實(shí)現(xiàn)分類。 實(shí)驗(yàn)使用NICAT與MIT兩個(gè)數(shù)據(jù)集圖片來(lái)組成訓(xùn)練集。NICAT數(shù)據(jù)庫(kù)是目前規(guī)模較大的靜態(tài)圖像行人數(shù)據(jù)庫(kù),25551張含單人的圖片,5207張高分辨率非行人圖片,數(shù)據(jù)庫(kù)中已分好訓(xùn)練集和測(cè)試集,方便不同分類器的比較;MIT數(shù)據(jù)庫(kù)共924張行人圖片,但只含正面和背面兩個(gè)視角。本文也采用了開源的一些手工標(biāo)注了的互聯(lián)網(wǎng)圖片作為樣本庫(kù)。由于包含人體的正樣本數(shù)量遠(yuǎn)遠(yuǎn)小于對(duì)背景區(qū)域隨機(jī)產(chǎn)生的負(fù)樣本數(shù)量,這種情況訓(xùn)練的模型效果并不好。本文將采用文獻(xiàn)[8]提出的方法選擇具有代表性的負(fù)樣本,同時(shí)也去除僅有平滑區(qū)域的負(fù)樣本。訓(xùn)練集中正樣本數(shù)量12 679,負(fù)樣本數(shù)量13 991,其中所有樣本都尺度歸一化為64×128。 為了評(píng)估本文提出算法的性能,測(cè)試集選擇國(guó)際上廣泛使用且非常具有挑戰(zhàn)的行人檢測(cè)公共測(cè)試數(shù)據(jù)集INRIA數(shù)據(jù)庫(kù)??偣策x擇有820張圖像,包含不同光照,分辨率,姿態(tài)下的行人。 為驗(yàn)證算法的有效性, 在Hadoop云平臺(tái)環(huán)境下搭建實(shí)驗(yàn)仿真平臺(tái), 分別使用經(jīng)典算法和本文算法進(jìn)行實(shí)驗(yàn)對(duì)比。在Linux平臺(tái)下,采用1個(gè)主節(jié)點(diǎn)和20個(gè)工作節(jié)點(diǎn)組成一個(gè)云計(jì)算,其中20個(gè)工作節(jié)點(diǎn)的配置相同,選擇文獻(xiàn)[9]的圖像分類算法進(jìn)行對(duì)比實(shí)驗(yàn),采用正確檢測(cè)率、識(shí)別時(shí)間等指標(biāo)對(duì)檢測(cè)結(jié)果進(jìn)行衡量。HOG特征采用積分圖技術(shù)快速計(jì)算,其最優(yōu)參數(shù)的設(shè)置參考文獻(xiàn)[10]所示。AdaBoost級(jí)聯(lián)分類器采用的開源模型,其參數(shù)設(shè)置保持一致。 為了定性分析本文所提出的算法的行人檢測(cè)性能,分別使用傳統(tǒng)的基于HOG特征的行人檢測(cè)方法和本文方法對(duì)樣本集訓(xùn)練和測(cè)試, 測(cè)試階段分別計(jì)算兩種方法的檢測(cè)率、漏檢率、虛檢率和平均識(shí)別時(shí)間, 實(shí)驗(yàn)結(jié)果見表1。 表1 行人檢測(cè)試驗(yàn)結(jié)果 從仿真結(jié)果可以看出, 本文算法在檢測(cè)率、漏檢率、虛檢率指標(biāo)基本與傳統(tǒng)方法持平, 但是檢測(cè)速度比傳統(tǒng)方法提高了將近倍, 這較好的提高了行人檢測(cè)算法的實(shí)用性和實(shí)時(shí)性。 為驗(yàn)證算法的實(shí)用性, 利用兩種方法對(duì)幾種經(jīng)典場(chǎng)景下的行人照片進(jìn)行檢測(cè), 檢測(cè)結(jié)果如圖2所示。值得注意的是,本文提出的算法具有強(qiáng)垂直邊緣(與人類肢體相似)的物體更有可能誤認(rèn)為人體,如圖2(a)路邊豎立的架子;另一方面,本文提出的模型對(duì)攜帶行李、衣著寬松等情況的檢測(cè)效果也相當(dāng)理想,說(shuō)明在壓縮后的特征能保留最強(qiáng)特征,濾除干擾因素,提升檢測(cè)精度。 圖2 實(shí)際場(chǎng)景下行人檢測(cè)性能對(duì)比 如圖2所示, (a)~(c)為傳統(tǒng)方法行人檢測(cè)結(jié)果, (d)~(e)為本文方法檢測(cè)結(jié)果。從圖中可以看出, 對(duì)于幾種經(jīng)典場(chǎng)景, 在檢測(cè)準(zhǔn)確方面, 兩種方法均能有效識(shí)別行人;在檢測(cè)速度方面, 傳統(tǒng)方法檢測(cè)時(shí)間在秒以上, 本文方法識(shí)別時(shí)間在一秒以內(nèi), 本文方法比傳統(tǒng)方法提高了倍多, 仿真結(jié)果充分證明了本文方法的有效性。 HOG特征算子能較好表征行人邊緣特征, 在行人檢測(cè)中廣泛應(yīng)用。針對(duì)由于HOG特征算法維度較高而導(dǎo)致的計(jì)算量復(fù)雜問題, 本文提出了Adaboost分類器的快速行人檢測(cè)方法, 在提取圖像的HOG特征基礎(chǔ)上, 使用PCA降維方法對(duì)HOG特征降維, 再利用Adaboost分類器對(duì)降維特征分類。利用INRIA行人數(shù)據(jù)庫(kù)對(duì)本文方法和傳統(tǒng)的基于HOG特征的行人檢測(cè)方法進(jìn)行仿真驗(yàn)證,利用不同場(chǎng)景照片對(duì)本文方法進(jìn)行實(shí)驗(yàn)。仿真結(jié)果表明, 在保持較高檢測(cè)準(zhǔn)確度前提下, 采用Hadoop云計(jì)算的檢測(cè)速度比傳統(tǒng)的基于HOG特征行人檢測(cè)算法 提高將近五倍, 有效提高檢測(cè)算法的實(shí)時(shí)性。 參考文獻(xiàn): [1] Nguyen D T, Li W Q, Ogunbona P O. Human detection from images and videos: A survey[J]. Pattern Recognition, 2016, 51:148-175. [2] 張 陽(yáng).復(fù)雜交通場(chǎng)景中基于視頻的行人檢測(cè)與跟蹤若干關(guān)鍵問題研究[D].廣州:華南理工大學(xué), 2013. [3] Wang Z, Cao X B, Yang P K. Transfer Learning for Pedestrian Detection [J]. Neurocomputing, 2013, 100(1) : 51-57. [4] 蘇松志, 李紹滋, 陳淑媛,等.行人檢測(cè)技術(shù)綜述[J].電子學(xué)報(bào), 2012,40(4):814-820. [5] Enzweiler M, Gavrila D M. Monocular pedestrian detection:survey and experiments [J]. IEEE Trans Pattern Anal. Mach. Intell. 2009, 31(12):2179-2195. [6] Dalal N, Triggs B. Histograms of oriented gradients for human detection[J]. IEEE Conference on Computer Vision & Pattern Recognition. 2005:556-893. [7] 王 旋, 陳 忻, 劉 巍,一種適用于并行運(yùn)算處理的實(shí)時(shí)高動(dòng)態(tài)范圍圖像合成算法研究[J].影像科學(xué)與光化學(xué), 2015,33(4):330-335. [8] 蘇奇全, 賈宏光, 朱明超,等.基于遞推閉環(huán)子空間辨識(shí)的自適應(yīng)預(yù)測(cè)控制方法[J].信息與控制, 2015, 44(2):22-26. [9] 徐勝軍,韓九強(qiáng),趙 亮,等.用于圖像分割的局部區(qū)域能量最小化算法[J].西安交通大學(xué)學(xué)報(bào),2011,45(8):7-12. [10] Wang X, Han T X, Yan S. An HOG-LBP human detector with partial occlusion handling[A]. Proc. ICCV[C]. 2009:32-39.1.4 Adaboost算法
2 實(shí)驗(yàn)分析
2.1 實(shí)驗(yàn)數(shù)據(jù)集
2.2 實(shí)驗(yàn)環(huán)境及其參數(shù)設(shè)置
2.3 定性定量分析
3 結(jié)術(shù)語(yǔ)