汪成龍,陳廣財,陳治明
(惠州學院電子科學系,廣東 惠州 516007)
基于opencv的行人檢測方法
汪成龍,陳廣財,陳治明
(惠州學院電子科學系,廣東 惠州 516007)
行人檢測是機器視覺、圖像處理等領(lǐng)域中很多有關(guān)應用的關(guān)鍵技術(shù)之一,在安防監(jiān)控、無人汽車駕駛、機器人以及多媒體分析等方面具有廣泛的應用前景和潛在的經(jīng)濟價值,因此成為了近年來的研究熱點。本文介紹了基于opencv的行人檢測方法,利用開源的跨平臺計算機視覺庫opencv在Visual Studio進行開發(fā),調(diào)試及應用。通過提取行人的梯度方向直方圖(HOG)特征,并利用事先準備的樣本訓練出來線性支持向量機(SVM)分類器對提取的行人特征進行分類,建立一種基于梯度方向直方圖特征的行人檢測系統(tǒng)。實驗結(jié)果表明本設(shè)計符合要求,能夠有效地檢測出行人。
行人檢測;HOG特征;SVM分類器;opencv
據(jù)統(tǒng)計,截至到2014年末,中國民用汽車已到達14,598萬輛,同比增加15.2%,在這一年,交通事故涉及受傷人數(shù)達21,182人,死亡人數(shù)達58,523人。行人在交通事故中總是處在弱勢地位,非常容易受到機動車的傷害。因此,檢測行人方法規(guī)避交通事故的發(fā)生和人員傷亡已成為全社會迫切的問題域。
針對上面的問題國內(nèi)外專家學者花了大量精力進行研究,提出了很多比較優(yōu)秀的算法,但是還有很多典型的關(guān)鍵的問題沒有解決。其中國外Dalal等[1]首次提出了方向梯度直方圖(HOG)這種檢測算法;隨后Mu等[2]根據(jù)行人特點,參照Ojala提出的局部二元模式特征LBP衍生出兩個變種:Semantic-LBP(S-LBP)和Fourier LBP(F-LBP);國內(nèi)常好麗等[5]推出了一種單目視覺運動的行人檢測算法;而郭烈等[6]提出了一種基于Adaboost的算法來進行及時的行人檢測。
本文則通過在VS2010上配置的Opencv環(huán)境,采用基于HOG+SVM的行人檢測方法,建立行人檢測的模型,通過輸入預先準備的視頻序列,來實現(xiàn)檢測行人的功能。這可以很好為汽車檢測行人,減少汽車撞人的事故發(fā)生。
行人檢測模型的目的是定位視頻每一幀圖像中各個行人的空間位置。本文的檢測模型是行人整體的表觀特征描述的方法。如圖1:
圖1 技術(shù)流程圖
HOG(Histogram of Oriented Gradient,梯度方向直方圖)特征是用于計算機視覺和圖像處理進行目標檢測的一種特征描述子,主要對局部圖像的梯度方向次數(shù)或者信息進行計數(shù)。3.1 Gamma歸一化
輸入的檢測圖像由于光照等環(huán)境因素的影響,為能更有效的保存圖像亮度信息,需要對整個圖像進行歸一化。Gamma歸一化是對輸入圖片灰度值進行的非線性操作,使輸出圖片灰度值與輸入圖像灰度值呈指數(shù)關(guān)系:
其中指數(shù)?即為Gamma,本課題取值Gamma=1/ 2.2
將圖像橫縱坐標方向的梯度計算出來,并根據(jù)這個得到像素位置的梯度方向值;求導操作不但能夠刻畫邊緣,人影和一些紋理特征,還可以進一步降低光照的影響。圖像中像素點(x,y)的梯度為:
式中Gx(x,y),Gy(x,y),H(x,y)分別表示輸入圖像中像素點(x,y)處的水平方向梯度,垂直方向梯度和像素值。像素點(x,y)處的梯度幅值和梯度方向分別為:
Dalal等實驗表明,圖像平滑處理會使圖像的信號信息減少,影響人體檢測的檢測效果,導致錯誤率提高,因此只對圖像做灰度化處理。
3.3 構(gòu)建方向的直方圖
目前比較常用的HOG結(jié)構(gòu)有三種類型,分別是矩形HOG(R-HOG),圓形HOG和中心環(huán)繞形HOG,三者的單位都是塊(block)。鑒于矩形HOG的參考文獻較多,因此本文采用矩形HOG結(jié)構(gòu)類型。Dalal實驗表明,對于人體目標檢測0度到180度這種不看度數(shù)正負級的方向范圍可以獲得更好的效果。然后又將這個梯度分布均勻分為?個方向角度(orientation bins),每個方向角度范圍都會對應一個直方柱。直方圖如下:
圖2 0度~180度的梯度方向直方圖
3.4 block歸一化
因為局部光線的改變以及前景-背景對比度的變化,使得梯度強度的變化范圍非常大,所以必須對梯度強度做歸一化。歸一化可以進一步地對光線、陰影和邊緣進行壓縮。block歸一化有四種方法,分別是L2-norm、L1-norm、L1-sqrt、L2-Hys,歸一化的效果如下
圖3 Block歸一化的效果圖
通過對比可以發(fā)現(xiàn),L2-norm、L1-sqrt、L2-Hys效果是相差無幾的,L1-norm與前三者相對較差。因此在本文采取L2-Norm with Hysteresis threshold方法進行歸一化。
兩年前,我班轉(zhuǎn)來了一名特殊的孩子——小宇。他母親病逝,父親外出謀生,禍不單行,外公突遭事故痛失三指,撫養(yǎng)他的舅媽體弱多病,家中的頂梁柱舅舅又重病在身。在“童孫未解供耕織”的懵懂歲月里,他已飽嘗喪母之痛,留守之苦;在“忙趁東風放紙鳶”的無憂時光中,他已初見歲月艱辛,人情冷暖;在“溪頭臥剝蓮蓬”的童趣年華中,他已體驗囊中羞澀,生活不易。
4.1 設(shè)置訓練數(shù)據(jù)
在行人檢測領(lǐng)域的研究過程中,世界各地的研究者們?yōu)榱朔奖闫渌麑W者,將自己采集的行人圖像上傳到網(wǎng)絡(luò)上,建立起了可公開測試的行人數(shù)據(jù)庫,部分數(shù)據(jù)庫如下表所示:
表1 部分行人數(shù)據(jù)庫表
4.3 設(shè)置SVM的參數(shù)
在最簡單的情況下,如果訓練樣本擴散為兩個類,則其線性可分。然而,SVM還可以解決各種各樣的問題,比如,非線性可分數(shù)據(jù)的問題,可以使用一個內(nèi)核函數(shù)的支持向量機來提高樣本的維數(shù)。因此,在訓練svm分類器前必須定義一些參數(shù),而這些參數(shù)都存儲在類CvSVMParams的一個對象中。
5.1 實驗結(jié)果
視頻共有354幀,包含2010個行人。程序訓練模型為4000張正樣本,38000張負樣本,檢測出行人1823個,檢測率90.6%,每一幀的檢測時間約為1.5秒。
圖3 檢測效果
其中誤判行人72個,誤判率3.6%,誤判多為形似行人的影子,鏡子倒影及一些柱狀物
5.2 誤差分析
由實驗結(jié)果可知,檢測精度及誤判率基本達到實驗要求,但是檢測時間長,而且離市場的要求還有一定的差距,經(jīng)過分析,樣本數(shù)量以及正負樣本的比例問題和HOG龐大的計算量影響了實驗結(jié)果。
本文通過采用了基于HOG+SVM的行人檢測方法,建立行人檢測的模型,經(jīng)過多次試驗和推廣,測精度達到90.6%,而誤判率僅有3.6%,基本滿足設(shè)計要求。但是本文對于行人檢測的研究還不夠深入和完善,對于檢測精度還有提升空間,每一幀視頻圖像的處理時間也不盡理想。要取得一定的突破和成果,研究工作還有很長的路程要走。而今后,將會在以下兩個方面展開工作:
(1)嘗試在本課題檢測模型的基礎(chǔ)上結(jié)合跟蹤算法,對檢測出的行人進行跟蹤,避免檢測模型重復對檢測出的行人特征提取,從而大量減少檢測時間,加快檢測速度。
(2)采用多特征融合的方法提取行人特征,增強特征描述能力,使分類器能更容易地檢測出行人,從而提高行人檢測的檢測精度并降低誤檢率。
[1]DALAL N,TRIGG S B.Histograms of oriented gradients for human detection[C]∥In Proc.IEEE CVPR,2005,886-893.
[2]MU Y,YAN S,LIU Y,et al.Discriminative local binary patterns for pedestrian detection in personal album[C]∥In Proc.IEEE CVPR,2008.
[3]DOLLAR P,TU Z W,PERONA P,et al.Integral channel features[C]∥In Proc.BMVC,2009,1-11.
[4]WANTANBE T,Ito S,YOKOI K.Co-occurrence histo grams of or-I ented gradients for pedestrian detection[C]∥In Pro c.of The 3rd Pacific-Rim Symposium on Image and Video Technology,Tokyo,Japan,2009,37-47.
[5]常好麗,史忠科.基于單目視覺的運動行人檢測與跟蹤方法[J].交通運輸工程學報,2006(3):55-59.
[6]郭烈,王榮本,張明恒,金立生.基于Adaboost算法的行人檢測方法[J].計算機工程,2008(3):202-204.
[7]葉林,陳岳林,林景亮.基于HOG的行人快速檢測[J].計算機工程,2010(22):206-207.
【責任編輯:吳躍新】
The Pedestrian Detection Method Based On Opencv
WANG Cheng-long,CHEN Guang-cai,CHEN Zhi-ming
(Department of Electronics Engineering,Huizhou University,Huizhou 516007,Guangdong China)
Pedestrian detection is one of the key techniques of many related applications in the field of computer vision and image processing,which has wide application prospect and potential economic value in the security monitoring,unmanned driving cars,robots and multimedia analysis aspects.Thus,it has become research hot spot in recent years.This paper introduces the pedestrian detection method based on opencv,using open source computer vision library developed,debugged and applied in Visual Studio.The histogram of oriented gradient extracted from pedestrian will be classified by linear SVM classifier trained with samples prepared in advance.A pedestrian detection system based on HOG is constructed.Experimental results show that the design accords with the requirements and it can effectively detect the pedestrian.
pedestrian detection;HOG features;SVM classifier;opencv
TN957.52
A
1671-5934(2016)03-0055-03
2016-05-22
惠州市科技計劃項目(2015B010002008);廣東省普通高校青年創(chuàng)新人才項目(2015KQNCX156)
汪成龍(1986-),湖北荊州人,講師,博士,研究方向為機器研究。