本發(fā)明涉及數(shù)字圖像處理技術(shù)領(lǐng)域,更具體地,涉及一種融合臉部檢測與跟蹤的汽車乘員計(jì)數(shù)方法。
背景技術(shù):
現(xiàn)有的人數(shù)統(tǒng)計(jì)方法不計(jì)其數(shù),它們均有其特定的應(yīng)用場合:
(1)基于人體形狀建模的人數(shù)統(tǒng)計(jì)方法[1-3],基本思想是根據(jù)人體結(jié)構(gòu)的知識(shí)構(gòu)造參數(shù)模型從而實(shí)現(xiàn)行人目標(biāo)的檢測計(jì)數(shù),如wu和nevati[4]提出的描述人體局部形狀的edgelet特征,用adaboost學(xué)習(xí)頭、軀干、腿和整個(gè)人體四個(gè)部分檢測器,形成一個(gè)聯(lián)合概率模型,結(jié)果顯示檢測準(zhǔn)確率在誤報(bào)率為10-4時(shí)達(dá)98%。這類方法依賴于人體可見且人體軀干特征明顯的場景如大型廣場、街道等。
(2)利用人頭頂部類圓的成像特點(diǎn)[5]或相對(duì)剛性的頭肩部位[6]來檢測并統(tǒng)計(jì)行人,如zeng等[7]對(duì)lbp進(jìn)行多個(gè)尺度的區(qū)域劃分,然后用hog和lbp進(jìn)行組合提取行人頭肩特征,得到高維的特征降維后進(jìn)行人體檢測,在誤報(bào)率為10-4時(shí)檢測準(zhǔn)確率為89%。這類方法專注于攝像頭俯拍的場景如公交車、地鐵上下車門處。
(3)基于統(tǒng)計(jì)回歸的人數(shù)統(tǒng)計(jì)[8-9],其原理是提取圖像的低層特征,并通過適當(dāng)?shù)幕貧w方法將其映射到統(tǒng)計(jì)人數(shù),如覃勛輝等[10]人用圖像中行人身高作為尺度基準(zhǔn)將圖像分成多個(gè)子圖像塊,并根據(jù)子圖像塊的人群密度采用兩種核函數(shù)的支持向量回歸機(jī)建立輸入特征和子圖像塊人數(shù)的關(guān)系。實(shí)驗(yàn)顯示在統(tǒng)計(jì)擁擠人群時(shí)其相對(duì)誤差小于10%。這類方法一般不注重個(gè)體,往往用來做人數(shù)的粗略統(tǒng)計(jì)。
國內(nèi)外許多學(xué)者對(duì)臉部檢測方面的研究也進(jìn)行了不懈的探索。目前主流的臉部檢測方法主要是基于統(tǒng)計(jì)模型的檢測方法,此類方法將臉部區(qū)域看作一類模式,使用大量的“臉部”與“非臉部”樣本訓(xùn)練、構(gòu)造分類器,通過判別圖像中所有可能區(qū)域?qū)儆谀念惸J絹韺?shí)現(xiàn)臉部的檢測。常見的方法有神經(jīng)網(wǎng)絡(luò)法[11]、支持向量機(jī)法[12]以及boosting法[13]。神經(jīng)網(wǎng)絡(luò)法主要利用神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)功能,使訓(xùn)練一個(gè)系統(tǒng)獲得臉部模式的復(fù)雜類條件密度成為可行,但該方法將臉部圖像作為一個(gè)一維矢量輸入,輸入節(jié)點(diǎn)十分龐大,網(wǎng)絡(luò)訓(xùn)練時(shí)間長;支持向量機(jī)法通過特定的映射,將輸入矢量映射到高維特征空間中,從而將臉部檢測轉(zhuǎn)為二次規(guī)劃問題,該類方法能夠很好地解決神經(jīng)網(wǎng)絡(luò)方法中模型選擇和過學(xué)習(xí)等問題,但需要較多的支持向量,算法速度慢,難于實(shí)際應(yīng)用。boosting是一種分類器融合算法,其中的adaboost算法[14]通過將一些弱分類器組合成一個(gè)強(qiáng)分類器,有效地將神經(jīng)網(wǎng)絡(luò)中的自適應(yīng)特性與支持向量機(jī)算法的高效特性結(jié)合起來,在準(zhǔn)確率和實(shí)時(shí)性兩個(gè)方面均滿足了實(shí)際應(yīng)用的需求,是目前普遍應(yīng)用的方法。
為適應(yīng)更復(fù)雜的挑戰(zhàn),有學(xué)者引入了臉部跟蹤技術(shù)以提高算法的魯棒性:foresti等人[15]利用臉部膚色和輪廓搜索候選臉部,再用pca進(jìn)行模式匹配確認(rèn)。該方法的跟蹤準(zhǔn)確率高、耗時(shí)少;梁路宏等人[16]利用前一幀的臉部檢測結(jié)果預(yù)測當(dāng)前幀中臉部可能的尺度與位置范圍,在限定的范圍內(nèi)采用模板匹配與人工神經(jīng)網(wǎng)分類的方法定位臉部,從而實(shí)現(xiàn)快速而可靠的臉部跟蹤。xielu等人[17]利用局部不變特征的算法跟蹤公交車上的乘客,在相互遮擋、光照變化明顯的場景下均取得良好的跟蹤效果。目前來說,沒有一個(gè)能夠應(yīng)用于所有場景的臉部跟蹤算法,因此,需要針對(duì)不同應(yīng)用場合的應(yīng)用特點(diǎn)選擇合適的臉部跟蹤算法。
總的來說,現(xiàn)有的關(guān)于視頻人數(shù)統(tǒng)計(jì)技術(shù)的研究都是針對(duì)特定場景如出入口通道、公交車、大型廣場等,然而,對(duì)于汽車內(nèi)部內(nèi)這類光照變化頻繁、乘員姿態(tài)多變、攝像機(jī)視野范圍有限的場景,在乘客計(jì)數(shù)方面仍存在大量的技術(shù)難點(diǎn)有待攻克。
參考文獻(xiàn):
[1]bertozzim,broggia,fasciolia,etal.pedestriandetectionfordriverassistanceusingmultiresolutioninfraredvision[j].ieeetransactionsonvehiculartechnology,2004,53(6):1666-1678.
[2]zhaot,nevatiar,wub.segmentationandtrackingofmultiplehumansincrowdedenvironments.[j].ieeetransactionsonpatternanalysis&machineintelligence,2008,30(7):1198-211.
[3]ramanand,forsythda,zissermana.trackingpeoplebylearningtheirappearance.[j].ieeetransactionsonpatternanalysis&machineintelligence,2007,29(1):65-81.
[4]wub,nevatiar.detectionofmultiple,partiallyoccludedhumansinasingleimagebybayesiancombinationofedgeletpartdetectors[c]//tenthieeeinternationalconferenceoncomputervision.ieeecomputersociety,2005:90-97vol.1.
[5]caiz,yuzl,liuh,etal.countingpeopleincrowdedscenesbyvideoanalyzing[c]//ieee,conferenceonindustrialelectronicsandapplications.2014:1841-1845.
[6]chenl,wuh,zhaos,etal.head-shoulderdetectionusingjointhogfeaturesforpeoplecountingandvideosurveillanceinlibrary[c]//ieeeworkshoponelectronics,computerandapplications.ieee,2014:429-432.
[7]zengc,mah.robusthead-shoulderdetectionbypca-basedmultilevelhog-lbpdetectorforpeoplecounting[j].2010:2069-2072.
[8]fradih,dugelayjl.towardscrowddensity-awarevideosurveillanceapplications[j].informationfusion,2015,24(c):3-15.
[9]王強(qiáng),孫紅.基于像素統(tǒng)計(jì)和紋理特征的人群密度估計(jì)[j].電子科技,2015,28(7):129-132.
[10]覃勛輝,王修飛,周曦,等.多種人群密度場景下的人群計(jì)數(shù)[j].中國圖象圖形學(xué)報(bào),2013,18(4):392-398.
[11]葉學(xué)義,陳雪婷,陳華華,等.級(jí)聯(lián)型p-rbm神經(jīng)網(wǎng)絡(luò)的人臉檢測[j].中國圖象圖形學(xué)報(bào),2016,21(7):875-885.
[12]鄭青碧.基于圖像的人臉檢測方法綜述[j].電子設(shè)計(jì)工程,2014,22(8):108-110.
[13]朱文球,羅三定.基于級(jí)聯(lián)式boosting方法的人臉檢測[j].計(jì)算機(jī)應(yīng)用,2005,25(9):2128-2130.
[14]violap,jonesm.fastandrobustclassificationusingasymmetricadaboostandadetectorcascade[j].advancesinneuralinformationprocessingsystems,2002,14:1311--1318.
[15]forestigl,michelonic,snidarol,etal.facedetectionforvisualsurveillance[c]//internationalconferenceonimageanalysisandprocessing,2003.proceedings.2003:115-120.
[16]梁路宏,艾海舟.基于人臉檢測的人臉跟蹤算法[j].計(jì)算機(jī)工程與應(yīng)用,2001,37(17):42-45.
[17]xiel,jinzg,yingyu.passengerdetectionandtrackingalgorithmbasedonvehiclevideosurveillance[j].journalofcomputerapplications,2014.
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為解決以上現(xiàn)有技術(shù)的缺陷,提供了一種融合臉部檢測與跟蹤的汽車乘員計(jì)數(shù)方法,該方法將adaboost臉部檢測算法與kalman濾波跟蹤算法進(jìn)行有效結(jié)合,實(shí)現(xiàn)對(duì)圖像序列中乘員臉部的連續(xù)檢測,從而準(zhǔn)確計(jì)數(shù)的目的,與現(xiàn)有技術(shù)相比,該方法能夠克服因乘客姿態(tài)變化造成的尺度變化、角度變化以及短時(shí)遮擋等問題,使用效果良好。
為實(shí)現(xiàn)以上發(fā)明目的,采用的技術(shù)方案是:
一種融合臉部檢測與跟蹤的汽車乘員計(jì)數(shù)方法,包括以下步驟:
s1.對(duì)于車載攝像頭拍攝的圖像序列,首先采用adaboost臉部檢測算法檢測并獲取乘員臉部在當(dāng)前幀圖像的位置;
s2.使用kalman濾波跟蹤算法對(duì)乘員臉部在下一幀圖像的位置進(jìn)行預(yù)測;
s3.使用adaboost臉部檢測算法在下一幀圖像預(yù)測的位置對(duì)乘員臉部進(jìn)行檢測;
s4.通過步驟重復(fù)執(zhí)行s2、s3實(shí)現(xiàn)對(duì)乘員臉部連續(xù)的跟蹤;
s5.統(tǒng)計(jì)跟蹤的乘員臉部的數(shù)量,從而得到汽車內(nèi)的乘員數(shù)量。
優(yōu)選地,所述adaboost臉部檢測算法檢測乘員臉部的具體過程如下:
s11.提取臉部haar-like特征及非臉部的haar-like特征,形成多個(gè)訓(xùn)練集;
s12.對(duì)多個(gè)訓(xùn)練集進(jìn)行n輪訓(xùn)練,并在每輪訓(xùn)練分別選取相應(yīng)的弱分類器;
s13.將n輪訓(xùn)練選取的弱分類器根據(jù)不同的權(quán)值組合起來,得到強(qiáng)分類器:
其中,wi(x)為第i輪訓(xùn)練得到的弱分類器,αi為該分類器的權(quán)重;
s14.根據(jù)步驟s11~s13的方法得到正臉分類器s1(x)和側(cè)臉分類器s2(x),將正臉分類器s1(x)和側(cè)臉分類器s2(x)組合起來得到臉部分類器s(x):
s(x)=s1(x)+s2(x);
s15.使用臉部分類器s(x)進(jìn)行乘員臉部的檢測。
優(yōu)選地,所述乘員臉部用矩形框表示;步驟s15中,若檢測的兩個(gè)或兩個(gè)以上的乘員臉部之間存在重疊,則計(jì)算重疊面積的大小;若計(jì)算的數(shù)值大于設(shè)定的閾值,則判別為重復(fù)檢測;此時(shí)保留面積最大的矩形框,而將重疊的其余矩形框刪除。
優(yōu)選地,所述kalman濾波跟蹤算法對(duì)乘員臉部在下一幀圖像的位置進(jìn)行預(yù)測的具體過程如下:
s21.首先建立起乘員臉部的狀態(tài)方程和觀測方程:
狀態(tài)方程:
xk=axk-1+wk
觀測方程:
zk=hxk+vk
其中xk-1表示乘員臉部在當(dāng)前幀圖像的狀態(tài),xk表示乘員臉部在下一幀圖像的狀態(tài);a表示乘員臉部從當(dāng)前狀態(tài)到下一幀狀態(tài)的轉(zhuǎn)移矩陣,h表示觀測矩陣,wk表示隨機(jī)噪聲向量,vk表示觀測噪聲向量;
s22.令wk、vk符合高斯白噪聲的過程,兩者的概率密度函數(shù)是均值為零的高斯函數(shù)且相互獨(dú)立,它們的方差分別為qk和rk,則wk~(0,qk),vk~(0,rk);
s23.令狀態(tài)向量(px,py,vx,vy)表示xk-1,(px,py)表示乘員臉部在x軸和y軸上的位置,(vx,vy)表示乘員臉部在x方向和y方向的速度;定義觀測向量zk=(wx,wy);(wx,wy)表示乘員臉部在下一幀圖像的位置;
s24.初始化轉(zhuǎn)移矩陣a:
其中t表示兩幀之間的時(shí)間差;
s24.根據(jù)狀態(tài)方程和觀測方程之間的關(guān)系,得到觀測矩陣h為:
s25.由于隨機(jī)噪聲向量wk和觀測噪聲向量vk被假設(shè)為0均值的高斯白噪聲,所以其協(xié)方差矩陣分別為:
s26.利用遞推的方法,根據(jù)最小誤差估計(jì)準(zhǔn)則來對(duì)乘員臉部在下一幀圖像的位置進(jìn)行預(yù)測,建立以下五個(gè)方程:
(1)狀態(tài)向量預(yù)報(bào)方程:
(2)狀態(tài)向量協(xié)方差預(yù)報(bào)方程:
p'k=apk-1at+qk-1(2)
(3)卡爾曼加權(quán)矩陣(或增益矩陣):
kk=pk'ht(hpk'ht+rk)-1(3)
(4)狀態(tài)向量更新方程:
(5)狀態(tài)向量協(xié)方差更新方程:
pk=(i-kkh)pk'(5)
其中
s27.kalman濾波跟蹤算法通過(1)獲得先驗(yàn)估計(jì),然后根據(jù)(2)、(3)、(4)、(5)對(duì)先驗(yàn)估計(jì)進(jìn)行矯正從而獲得最優(yōu)估計(jì),最優(yōu)估計(jì)值則為預(yù)測值。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
(1)組合基于adaboost的正臉分類器和側(cè)臉分類器進(jìn)行人臉臉部檢測,加之以適當(dāng)?shù)囊?guī)則判斷是否重復(fù)檢測,提高算法檢測的準(zhǔn)確性。
(2)將人臉臉部檢測與kalman濾波跟蹤算法進(jìn)行有效結(jié)合,提高算法魯棒性。
附圖說明
圖1為方法的流程示意圖。
圖2為臉部檢測階段的示意圖。
圖3為臉部跟蹤階段的示意圖。
具體實(shí)施方式
附圖僅用于示例性說明,不能理解為對(duì)本專利的限制;
以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步的闡述。
實(shí)施例1
本發(fā)明提供的方法利用車載攝像頭下人臉可見這一特點(diǎn),提出了一種融合臉部檢測與跟蹤的汽車乘員計(jì)數(shù)方法。該方法首先采用adaboost臉部檢測算法對(duì)乘員臉部進(jìn)行初步檢測,接著融合kalman濾波跟蹤算法跟蹤對(duì)檢測到的乘員臉部進(jìn)行跟蹤,最后每10幀輸出一次計(jì)數(shù)結(jié)果。算法整體框架如圖1所示,下面將對(duì)方法的關(guān)鍵步驟展開詳細(xì)講述。
一、臉部檢測階段:
小汽車內(nèi)監(jiān)控?cái)z像頭拍攝的場景模式為水平拍攝,能夠拍攝到乘員的臉部。基于此,乘員檢測階段假設(shè):檢測到有人臉臉部存在,則視其為乘員;乘員數(shù)與人臉臉部數(shù)相同。因此,利用臉部檢測算法來實(shí)現(xiàn)乘員檢測。算法流程圖如圖2所示。具體實(shí)現(xiàn)為:
s11.提取臉部haar-like特征及非臉部的haar-like特征,形成多個(gè)訓(xùn)練集;
s12.對(duì)多個(gè)訓(xùn)練集進(jìn)行n輪訓(xùn)練,并在每輪訓(xùn)練分別選取相應(yīng)的弱分類器;
s13.將n輪訓(xùn)練選取的弱分類器根據(jù)不同的權(quán)值組合起來,得到強(qiáng)分類器:
其中,wi(x)為第i輪訓(xùn)練得到的弱分類器,αi為該分類器的權(quán)重;
s14.根據(jù)步驟s11~s13的方法得到正臉分類器s1(x)和側(cè)臉分類器s2(x),將正臉分類器s1(x)和側(cè)臉分類器s2(x)組合起來得到臉部分類器s(x):
s(x)=s1(x)+s2(x);
s15.使用臉部分類器s(x)進(jìn)行乘員臉部的檢測。從輸入圖像序列的每一幀圖像中以滑窗的方式提取被檢測子窗口的haar-like特征值,和分類器的特征值比較,以此來判斷輸入圖像是否為人臉,最后得到圖像中人臉臉部的位置。
由于利用組合臉部分類器在實(shí)際檢測過程中難免會(huì)出現(xiàn)重復(fù)檢測的情況,因此判別是否重復(fù)檢測的步驟必不可少。本發(fā)明的判斷規(guī)則為:將乘員臉部用矩形框表示,若檢測的兩個(gè)或兩個(gè)以上的乘員臉部之間存在重疊,則計(jì)算重疊面積的大??;若計(jì)算的數(shù)值大于設(shè)定的閾值,則判別為重復(fù)檢測;此時(shí)保留面積最大的矩形框,而將重疊的其余矩形框刪除。
二、臉部跟蹤階段
臉部跟蹤階段對(duì)檢測到的人臉臉部進(jìn)行后續(xù)跟蹤,能夠克服檢測過程中因光線變化、乘員姿態(tài)變化導(dǎo)致丟失面部信息的困難??紤]到乘員在乘車過程中姿態(tài)不會(huì)發(fā)生突變,本發(fā)明的跟蹤機(jī)制如圖3所示。即:根據(jù)從當(dāng)前幀中量測到的臉部位置,利用kalman濾波跟蹤算法對(duì)當(dāng)前幀中人臉臉部的位置、速度等進(jìn)行估計(jì),同時(shí)可以利用這個(gè)估計(jì)值對(duì)人臉臉部在下一幀中的位置做出預(yù)測;若當(dāng)前幀中人臉臉部信息丟失,則調(diào)用上一幀預(yù)測的結(jié)果作為當(dāng)前幀的觀測值更新卡爾曼濾波器。
kalman濾波跟蹤算法的具體流程如下:
s21.首先建立起乘員臉部的狀態(tài)方程和觀測方程:
狀態(tài)方程:
xk=axk-1+wk
觀測方程:
zk=hxk+vk
其中xk-1表示乘員臉部在當(dāng)前幀圖像的狀態(tài),xk表示乘員臉部在下一幀圖像的狀態(tài);a表示乘員臉部從當(dāng)前狀態(tài)到下一幀狀態(tài)的轉(zhuǎn)移矩陣,h表示觀測矩陣,wk表示隨機(jī)噪聲向量,vk表示觀測噪聲向量;
s22.令wk、vk符合高斯白噪聲的過程,兩者的概率密度函數(shù)是均值為零的高斯函數(shù)且相互獨(dú)立,它們的方差分別為qk和rk,則wk~(0,qk),vk~(0,rk);
s23.令狀態(tài)向量(px,py,vx,vy)表示xk-1,(px,py)表示乘員臉部中心點(diǎn)在x軸和y軸上的位置,(vx,vy)表示乘員臉部在x方向和y方向的速度;定義觀測向量zk=(wx,wy);由于視頻連續(xù)兩幀的時(shí)間差很小,可以認(rèn)為在連續(xù)兩幀中人臉臉部的運(yùn)動(dòng)速度是勻速的。
s24.初始化轉(zhuǎn)移矩陣a:
其中t表示兩幀之間的時(shí)間差;
s24.根據(jù)狀態(tài)方程和觀測方程之間的關(guān)系,得到觀測矩陣h為:
s25.由于隨機(jī)噪聲向量wk和觀測噪聲向量vk被假設(shè)為0均值的高斯白噪聲,所以其協(xié)方差矩陣分別為:
s26.利用遞推的方法,根據(jù)最小誤差估計(jì)準(zhǔn)則來對(duì)乘員臉部在下一幀圖像的位置進(jìn)行預(yù)測,建立以下五個(gè)方程:
(1)狀態(tài)向量預(yù)報(bào)方程:
(2)狀態(tài)向量協(xié)方差預(yù)報(bào)方程:
p'k=apk-1at+qk-1(2)
(3)卡爾曼加權(quán)矩陣(或增益矩陣):
kk=pk'ht(hpk'ht+rk)-1(3)
(4)狀態(tài)向量更新方程:
(5)狀態(tài)向量協(xié)方差更新方程:
pk=(i-kkh)pk'(5)
其中
s27.kalman濾波跟蹤算法通過(1)獲得先驗(yàn)估計(jì),然后根據(jù)(2)、(3)、(4)、(5)對(duì)先驗(yàn)估計(jì)進(jìn)行矯正從而獲得最優(yōu)估計(jì),最優(yōu)估計(jì)值則為預(yù)測值。
顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對(duì)本發(fā)明的實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無需也無法對(duì)所有的實(shí)施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。