專利名稱:一種實時公交車客流量統(tǒng)計的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于模式識別技術(shù)領(lǐng)域,具體涉及一種實時公交車客流量統(tǒng)計的方法。
背景技術(shù):
隨著我國經(jīng)濟(jì)的快速發(fā)展,對交通運(yùn)輸?shù)母鞣N需求明顯增長,交通運(yùn)輸與社會經(jīng) 濟(jì)生活的聯(lián)系越來越緊密,因此,研究如何對公共交通設(shè)施實施有效監(jiān)測、如何為公共交通 調(diào)度提供有效數(shù)據(jù),從而減少公交車的使用,提高道路交通的安全性,因此開發(fā)能夠改善當(dāng) 前行車環(huán)境的車載移動增值業(yè)務(wù)成為我國經(jīng)濟(jì)社會和諧發(fā)展的迫切需求,公交車客流量統(tǒng) 計就是其中之一。公交公司通過實時的獲得該路段在此段時間內(nèi)的客流量的多少可以更加 合理的進(jìn)行公交車的合理調(diào)度,另一方面公交廣告投資商也可以據(jù)此對投放的公交廣告的 受眾進(jìn)行詳細(xì)分析,進(jìn)而調(diào)整廣告投資策略以期將其廣告收益最大化。 人體目標(biāo)的檢測識別、跟蹤以及流量統(tǒng)計等問題是計算機(jī)視覺領(lǐng)域的一個研究熱
點(diǎn),它具體涉及到了運(yùn)動目標(biāo)檢測和運(yùn)動目標(biāo)跟蹤。 在計算機(jī)視覺領(lǐng)域中,經(jīng)典的運(yùn)動目標(biāo)檢測方法包括 (1)幀間差分法該方法是一種對連續(xù)的相鄰兩幀圖像采用基于像素的時間 差分并且閾值化來提取圖像中的運(yùn)動區(qū)域的方法(參考J.B.Kim, H. J. Kim. Efficient region-based motion segmentation for video monitoringsystem[J].Pattern Recognition Letters, 2003, 24 :113 128)。該方法對動態(tài)環(huán)境有一定的適應(yīng)性,但一般 不能提取出所有相關(guān)的特征像素點(diǎn),運(yùn)動時目標(biāo)體內(nèi)部容易產(chǎn)生空洞,并且對于光線強(qiáng)烈 變化的場景該方法容易產(chǎn)生很多噪聲; (2)背景建模該方法能夠自適應(yīng)的建立輸入場景背景圖像的模型,利用當(dāng)前 輸入圖像與背景模型做差分和閾值化運(yùn)算即可檢測出輸入圖像中的前景目標(biāo)(參考 Stauffer C, Grimson W. E丄Adaptive background mixturemodels for real—time tracking, in Proceedings. 1999 IEEE Computer SocietyConference on Computer Vision and Pattern Recognition(Cat. No PR00149) IEEE Comput. Soc. Part Vol. 2,1999.)。該 方法可以獲得較完整的目標(biāo)特征數(shù)據(jù),對于無光照變化或光線變化緩慢的場景有較好的適 用性。但是對于動態(tài)場景或者存在劇烈的光照變化的場景,該方法則比較敏感,同時該算法 運(yùn)算量較大,難以保證檢測的實時性; (3)光流法該方法利用運(yùn)動估計進(jìn)行分割和跟蹤運(yùn)動目標(biāo),采用運(yùn)動目標(biāo) 隨時間變化的光流特性,從而有效地提取和跟蹤運(yùn)動目標(biāo)。光流場的計算一直以來都 是計算機(jī)視覺領(lǐng)域的 一 個研究重點(diǎn),其中最為經(jīng)典的算法是L-K (Lucas&Kanade)法和 H_S (Horm&Schunck)法。(參考B. K. P. Hornand B. G. Schunck. Determining optical flow. AI Memo 572. Massachusettslnstitue of Technology,1980.禾口Lucas B and Kanade T. An Iterative ImageRegistration Technique with an Application to Stereo Vision. Proc. Of 7thlnternational Joint Conference on Artificial Intelligence(IJCAI), pp. 674-679.)。光流法的優(yōu)點(diǎn)是能檢測出獨(dú)立運(yùn)動的對象,而且不需要預(yù)先知道場景的任
5何信息。但是由于噪聲、多光源、陰影、透明性和遮擋性等原因,使得計算出的光流場分布不 是十分可靠和精確。同時光流場的計算也十分耗時。 近年來,又有學(xué)者提出了基于某些高級圖像特征的人體目標(biāo)檢測方法,其中 以Navneet Dalai和Bill Triggs提出的采用圖像的梯度方向直方圖(Histograms of Oriented Gradient :H0G)特征進(jìn)行人體檢測最引人注目(參考N. Dalai and B. Triggs. Histograms of oriented gradients for h咖andetection. Coference on Computer Vision and Pattern Recognition (CVPR) , 2005.),利用HOG特征進(jìn)行人體檢測具有極強(qiáng) 的魯棒性。很快就有學(xué)者對此方法進(jìn)行了改進(jìn),他們采用梯度方向直方圖和局部二值模式 (Local BinaryPatterns丄BP,參考T. 0jala, M. Pietik .. ainen, and T. M .. ae即..a .. a, "Multiresolution Gray-Scale and Rotation Invariant Texture Classification withLocal Binary Patterns, ,, IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 24, no. 7, pp. 971-987,2002.)有效的解決了人體部分被遮擋時的檢 測問題(參考X. Wang, T. X. Han, and S. Yan. An H0G-LBP human detector withpartial occlusion handling. In IEEE International Conference on ComputerVision,2009.)。
另一方面,計算機(jī)視覺領(lǐng)域中經(jīng)典的運(yùn)動目標(biāo)跟蹤算法包括卡爾曼濾波 (參 考Kalman, R. E. 1960. "A New Approach to Linear Filtering andPrediction Problems, ,,Transaction of the ASME-Journal of BasicEngineering, pp. 35_45(March 1960).)、粒子濾波跟蹤(參考Vo B. , Singh S. , and Doucet A. , Sequential Monte Carlo Implementation of the PHD Filter forMulti—target Tracking,In Proceedings of International Conference onlnformation Fusion, 2003, 792-799.) 以及均值平 移算t去足艮蹤(參考Comaniciu, D. , Ramesh, V. , and Meer, P. , Real—Time Tracking of Non_Rigid Objects usingMean Shift. In IEEE Conference on Computer Vision and PatternRecognition, 2000, Vol. 2,142—149.)。 基于此,本發(fā)明提供了一種實時公交車客流量統(tǒng)計的方法,屬于實時多目標(biāo)檢測 與跟蹤及運(yùn)動目標(biāo)行為分析的算法,具有統(tǒng)計精度高,魯棒性好,對算法處理平臺要求低等 特點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明提供了一種實時公交車客流量統(tǒng)計的方法,通過對訓(xùn)練樣本集進(jìn)行訓(xùn)練學(xué)
習(xí)得到二類目標(biāo)線性分類器,并采用了多尺度分析的技術(shù)檢測視頻圖像中存在的乘客目 標(biāo),再綜合相關(guān)目標(biāo)跟蹤算法實現(xiàn)對乘客目標(biāo)的精確定位跟蹤。最后分析乘客目標(biāo)的運(yùn)動 軌跡來判斷乘客的上、下車行為,實現(xiàn)精確的客流統(tǒng)計計數(shù)。 采用的具體技術(shù)方案為 —種實時公交車客流量統(tǒng)計方法,包括目標(biāo)檢測、目標(biāo)跟蹤和目標(biāo)行為分析及客
流統(tǒng)計計數(shù)三個步驟,其特征在于。
在所述的目標(biāo)檢測步驟中,包括以下過程 (1)訓(xùn)練二類目標(biāo)線性分類器預(yù)先從捕獲的公交車客流視頻圖像數(shù)據(jù)中人工采 集多種不同尺度的只包括乘客人頭信息的圖像作為正樣本集合,采集對應(yīng)尺度的不包括人 頭信息的圖像作為負(fù)樣本集合,正樣本集合和負(fù)樣本集合構(gòu)成訓(xùn)練樣本集,分別提取訓(xùn)練
6樣本集中任一個訓(xùn)練樣本的梯度方向直方圖(HOG)和局部二值模式(LBP)直方圖,二者組 成該訓(xùn)練樣本的特征向量f,訓(xùn)練樣本集中所有訓(xùn)練樣本的特征向量組成樣本特征集,采用 線性支撐向量機(jī)(SVM)對樣本特征集進(jìn)行訓(xùn)練學(xué)習(xí),得到二類目標(biāo)線性分類函數(shù)即二類目 標(biāo)線性分類器; (2)目標(biāo)檢測采用具有所述多個不同尺度的搜索窗口在輸入視頻圖像任一幀It
中進(jìn)行遍歷搜索,即提取當(dāng)前搜索位置在每種尺度下對應(yīng)的搜索窗口所覆蓋圖像區(qū)域的由
梯度方向直方圖和局部二值模式直方圖組成的特征向量,將所述特征向量分別輸入上述二
類目標(biāo)線性分類器得到分類分值,不同尺度的搜索窗口對應(yīng)的分類分值中最大的分類分值
如果大于目標(biāo)分類閾值,則判定當(dāng)前搜索位置為目標(biāo)區(qū)域,其尺度為最大分類分值對應(yīng)的
搜索窗口的尺度,將該目標(biāo)區(qū)域信息存入檢測目標(biāo)隊列heacLlist中,遍歷所有搜索位置
即得到It中所有新檢測到的目標(biāo); 在所述目標(biāo)跟蹤步驟中,包括以下過程 (3)記跟蹤目標(biāo)隊列為peopleJist,判斷其是否為空,如果為空,則將上述檢測 目標(biāo)隊列heacLlist中的所有目標(biāo)作為新進(jìn)入場景中的目標(biāo)壓入跟蹤目標(biāo)隊列people— list中,并直接跳轉(zhuǎn)到步驟(8),如果不為空,則轉(zhuǎn)入步驟(4); (4)虛警刪除根據(jù)虛警刪除機(jī)制,刪除跟蹤目標(biāo)隊列people—list中的虛警目 標(biāo),其中,所述虛警刪除機(jī)制包括(A)目標(biāo)的位置位于圖像的邊緣,(B)目標(biāo)的滯留時間達(dá) 到預(yù)設(shè)值的上限,(C)目標(biāo)允許的消失時間達(dá)到預(yù)設(shè)值的上限,(D)目標(biāo)已用于了客流統(tǒng)計 計數(shù), 若跟蹤目標(biāo)隊列people—list中的目標(biāo)滿足所述虛警刪除機(jī)制中任何之一,則該 目標(biāo)為虛警目標(biāo),刪除該虛警目標(biāo),更新跟蹤目標(biāo)隊列people—list; (5)灰度互相關(guān)關(guān)聯(lián)匹配跟蹤將檢測目標(biāo)隊列head—list與虛警刪除后的跟蹤
目標(biāo)隊列people—list按照一定的關(guān)聯(lián)規(guī)則進(jìn)行灰度互相關(guān)關(guān)聯(lián)匹配跟蹤, 其中,所述的關(guān)聯(lián)規(guī)則為兩級級聯(lián)準(zhǔn)則,即在只有滿足第一級準(zhǔn)則的條件下才可
進(jìn)入第二級處理,第一級準(zhǔn)則為只有當(dāng)兩個目標(biāo)分別位于彼此的鄰域內(nèi)才認(rèn)為它們可能有
關(guān)聯(lián);第二級準(zhǔn)則為第一級中可能相互關(guān)聯(lián)的目標(biāo)間的相似度滿足預(yù)設(shè)條件則認(rèn)為它們已
經(jīng)正確的匹配上了,具體關(guān)聯(lián)匹配過程為 假設(shè)people_list中存在m個目標(biāo),head_list中存在n個目標(biāo),用akl表示 people—list中的任一 目標(biāo)k和head—list中的任一 目標(biāo)1之間的相似度,用dkl表示 people_list中的該任一目標(biāo)k和head_list中的該任一 目標(biāo)1的中心點(diǎn)之間的歐式距 離,將該任一目標(biāo)k或任一目標(biāo)l所屬圖像區(qū)域即目標(biāo)區(qū)域的二維點(diǎn)集R二 {It(a, b): ai《a《《b《b2}轉(zhuǎn)換為按行順序存儲的一維向量X,其中a,b為It中任一像素點(diǎn) It (a, b)的位置,a代表列的位置,b代表行的位置,ai, a2分別為It中的目標(biāo)區(qū)域的最左邊 列和最右邊列的位置坐標(biāo),h分別為It中的目標(biāo)區(qū)域的最下邊行和最上邊行的位置坐
標(biāo),記向量X的均值為^[X] 二!S^,x。為向量x中任一元素,N為向量X的長度,也就是
目標(biāo)區(qū)域的總像素數(shù),N = (a2_ai+l) X (Wl);
定義相似度函數(shù)如下
<formula>formula see original document page 8</formula> 其中M為向量Xk和&的有效長度,M = min (Nk, N》,表示取Nk, N丄中的較小者,Nk, K分別為people—list中的目標(biāo)k和head—list中的目標(biāo)1所屬目標(biāo)區(qū)域轉(zhuǎn)換后得到的向 量Xk和^的長度,仏3是預(yù)設(shè)的目標(biāo)鄰域范圍,XkJ L分別為向量Xk和^中任一元素, 據(jù)此得到people—list和head—list隊列間的相似度關(guān)聯(lián)矩陣
<formula>formula see original document page 8</formula> 當(dāng)people_list中的目標(biāo)k和head_list中的目標(biāo)1之間的相似度akl同時滿足 如下兩個預(yù)設(shè)條件 akl = min{akl ak2 L an) ato} , akl = min(au a21 L a(m—1):L aml}, 則認(rèn)為heacLlist中的目標(biāo)l與people_list中的目標(biāo)k相匹配,更新people_
list中目標(biāo)k的相應(yīng)信息;若akl不滿足上述兩個預(yù)設(shè)條件,則分如下兩種情況分別處理
(A)head—list中的目標(biāo)l與people—list中的目標(biāo)k不匹配,則people_list中的目標(biāo)k
進(jìn)一步轉(zhuǎn)入步驟(6)進(jìn)行搜索跟蹤;(B)在people—list中的目標(biāo)k與head—list中的目
標(biāo)1不匹配,則head—list中的目標(biāo)1作為新進(jìn)入場景中的目標(biāo)壓入跟蹤隊列people—list
中; (6)對peopleJist中不是新進(jìn)入場景中的目標(biāo)采用均值平移算法進(jìn)行搜索跟 蹤,將peopleJist中的目標(biāo)在It—工幀中的位置作為在It中進(jìn)行均值平移搜索的初始位置, 通過迭代搜索確定該目標(biāo)在It中的可能位置,為It的前一幀圖像;
(7)經(jīng)過步驟(6)之后,針對peopleJist中不是新進(jìn)入場景中的目標(biāo),分如下兩 種情況分別確定該目標(biāo)的最終跟蹤結(jié)果 (A)該目標(biāo)在heacLlist中沒有檢測目標(biāo)與之相匹配,那么均值平移算法搜索跟 蹤的位置信息即作為該目標(biāo)在輸入視頻圖像It中的最終跟蹤結(jié)果; (B)該目標(biāo)在head—list中有檢測目標(biāo)與之相匹配,那么現(xiàn)在它就存在兩個可能 的位置一個是灰度互相關(guān)關(guān)聯(lián)匹配跟蹤的得到的位置,一個是均值平移算法搜索跟蹤的 位置,通過如下的準(zhǔn)則從二者中確定最佳的跟蹤結(jié)果 (Bl)該目標(biāo)在heacLlist中與之相匹配的檢測目標(biāo)的分類分值大于預(yù)設(shè)值,則直 接將這個檢測目標(biāo)的相關(guān)信息作為該目標(biāo)在It中的最終跟蹤結(jié)果,而拋棄均值平移算法搜 索跟蹤的結(jié)果; (B2)該目標(biāo)在head—list中與之相匹配的檢測目標(biāo)的分類分值小于上述預(yù)設(shè)值, 則需要按照步驟(5)所述的相似度計算方法,分別計算該目標(biāo)與灰度互相關(guān)關(guān)聯(lián)匹配跟蹤 結(jié)果和均值平移算法搜索跟蹤結(jié)果的相似度,把對應(yīng)相似度較小者的跟蹤結(jié)果作為該目標(biāo) 在It中的最終搜索跟蹤結(jié)果; 這樣people—list中所有目標(biāo)都實現(xiàn)了跟蹤定位,并清空heacLlist。
在目標(biāo)行為分析和客流量統(tǒng)計計數(shù)步驟中,包括以下過程 (8)目標(biāo)行為分析和客流量統(tǒng)計計數(shù)判斷跟蹤目標(biāo)隊列people—list中是否有 滿足計數(shù)規(guī)則的目標(biāo),若有則更新客流量統(tǒng)計數(shù)據(jù)。。 其中,所述的計數(shù)規(guī)則為目標(biāo)在進(jìn)入場景時的圖像中的初始位置和其在It中的 位置之間的距離大于預(yù)設(shè)值,則為下車;目標(biāo)在It中的位置與其在進(jìn)入場景時的圖像中的 初始位置之間的距離大于預(yù)設(shè)值,則為上車。 本發(fā)明提供的方法可以為公交公司實現(xiàn)公交車智能調(diào)度、公交車移動傳媒廣告受 眾分析等提供細(xì)粒度的可靠依據(jù),具有很高的實用價值。
圖1為本發(fā)明整體流程圖;
圖2白天客流統(tǒng)計示意圖;
圖3夜晚客流統(tǒng)計示意具體實施例方式
下面結(jié)合附圖和具體實施例對本發(fā)明作詳細(xì)描述。 圖1為本實施例的實施流程圖,包括目標(biāo)檢測、目標(biāo)跟蹤和目標(biāo)行為分析及客流 統(tǒng)計計數(shù)三個步驟,本實施例在分析輸入視頻圖像It時,只利用了圖像的亮度信息(即灰 度圖像)。 在目標(biāo)檢測步驟中,包括以下過程 l,訓(xùn)練二類目標(biāo)線性分類器預(yù)先從捕獲的公交車客流視頻圖像數(shù)據(jù)中人工采集 多種不同尺度的只包括乘客人頭信息的圖像作為正樣本集合,采集對應(yīng)尺度的不包括人頭 信息的圖像作為負(fù)樣本集合,正樣本集合和負(fù)樣本集合共同構(gòu)成了訓(xùn)練樣本集。分別計算 訓(xùn)練樣本集中任一個訓(xùn)練樣本的梯度方向直方圖(Histograms of Oriented Gradient: HOG)和局部二值模式(Local Binary Patterns :LBP)直方圖,二者聯(lián)合起來作為描述該單 個樣本的形狀及紋理信息的特征向量f,訓(xùn)練樣本集中所有訓(xùn)練樣本的特征向量組成樣本 特征集,采用線性支撐向量機(jī)(Support Vector Machine :SVM)對樣本特征集進(jìn)行訓(xùn)練學(xué) 習(xí),得到二類目標(biāo)(人頭/非人頭)線性分類函數(shù)(也稱作線性分類器)。二類目標(biāo)線性
分類器的判別函數(shù)形式為g(/) = Z A +6 ,其中Wi和b為訓(xùn)練學(xué)習(xí)結(jié)果,Wi為每一維
特征向量fi對應(yīng)的權(quán)重系數(shù),n為f的維數(shù),g(f)為分類器輸出的分類分值,通常g(f) > 0表示與特征向量f相對應(yīng)的樣本為正樣本,g(f) < 0表示與特征向量f相對應(yīng)的樣本為 負(fù)樣本。下面來說明本實施例中是如何計算樣本的特征向量的(目標(biāo)檢測時按同樣的方法 提取搜索區(qū)域的特征向量)
1)梯度方向直方圖(HOG) 所謂描述圖像區(qū)域形狀信息的梯度方向直方圖就是統(tǒng)計該圖像區(qū)域中所有點(diǎn)的 梯度幅值在梯度方向上的統(tǒng)計分布情況,該統(tǒng)計的主要思想是先分別計算圖像區(qū)域中每個 像素點(diǎn)的梯度幅值和梯度方向,再把整個圖像區(qū)域分割成很多連續(xù)的小區(qū)域(把它稱之為 cell),每個cell的梯度方向直方圖匯集了位于cell內(nèi)的所有像素的梯度幅值在梯度方向上的分布情況,通常再將相鄰的多個cell匯聚成一個大塊(稱之為block,block之間可以 有重疊),把該block中所包含cell的梯度方向直方圖順次拼接起來,再作歸一化處理即可 得到該block的梯度方向直方圖。最后將整個圖像區(qū)域中包含的所有block的梯度方向直 方圖依次連接起來即得到了該圖像區(qū)域的梯度方向直方圖。 本領(lǐng)域中現(xiàn)有的計算圖像梯度的梯度算子有多種,本實施例中計算圖像梯 度采用的梯度算子水平方向為[-l,0,l],垂直方向為[-l,O,l]T,實驗證明選用該算 子計算圖像梯度時目標(biāo)檢測的性能最佳。據(jù)此,輸入視頻圖像It中點(diǎn)(i, j)的水 平方向上梯度值為grad(i) = It(i+1, j)-It(i-l, j),垂直方向上梯度值為grad(j)
=It(i, j+l)_It(i, j-l),則該點(diǎn)的梯度幅值為graJ(/,/^^graJ(/)2+graJC02或 者grad(i, j) = |grad(i) | + |grad(j) I 。同時該點(diǎn)的梯度方向計算方法為orien (i, j) = tan—乂grad(j)/grad(i))/Ji X180,再將orien (i, j)換算到區(qū)間
, 即可得到像素點(diǎn)(i, j)在本實施例中所采用的梯度方向9 (i, j),具體換算方法為
<formula>formula see original document page 10</formula>其中,orien(i, j)為計算梯度方向時
<formula>formula see original document page 10</formula>
的中間結(jié)果,i, j表示圖像的第i行和第j列。 [OO52] 2)局部二值模式(LBP) 局部二值模式算子是一種非參數(shù)的灰度范圍內(nèi)的紋理度量,其紋理分布F可假設(shè) 為是局部區(qū)域內(nèi)像素點(diǎn)灰度的聯(lián)合分布密度F = f (g。, g。,. . . , gP—》,其中g(shù)。對應(yīng)圖像局部 鄰域中心像素點(diǎn)的灰度值,gi(i =0,P-1)對應(yīng)于P個等距離分布于以中心像素為圓心、半 徑為R的圓周上的像素點(diǎn)的灰度值,P為LBP編碼的碼長。 一般定義F = f (s (g。-g。),...,
s(gP—「g》),其中f(x)為分布函數(shù),々)=^^,再為每個s(gi-g》分配一個權(quán)值2i,則
<formula>formula see original document page 10</formula>
可以得到一個唯一的LBP編碼丄5P^ -^)7 , LBPP,K表示半徑為R,碼長為P位的
z.=0
LBP碼值。分別以輸入視頻圖像It中每個像素點(diǎn)為圓心,進(jìn)行上述操作后即可得到It重新 編碼后的LBP圖像,計算LBP圖像的直方圖即為It的LBP直方圖。 本實施例中設(shè)定的半徑R > l,P > 8,并將圖像區(qū)域分為了若干個小區(qū)域,分別計 算每個子區(qū)域經(jīng)LBP編碼后的LBP直方圖,再將它們順次連接起來即得到了描述圖像區(qū)域 紋理分布信息的LBP直方圖。
3)線性支撐向量機(jī)(SVM) SVM學(xué)習(xí)算法是利用結(jié)構(gòu)風(fēng)險最小化的原則來尋找把兩類物體分開的最優(yōu)分類 線。最優(yōu)分類線就是使得兩類樣本無錯誤地分開且使得兩類的分類間隔最大的分類線。 設(shè)線性可分樣本集為(Xi, y》,i = 1, L, n, x e Rd, y G {-1, +1}是類別標(biāo)號,n為樣本個 數(shù),Rd表示d維實數(shù)空間。則在d維空間中SVM學(xué)習(xí)得到的線性判別函數(shù)的一般形式為
<formula>formula see original document page 10</formula>,最優(yōu)分類面方程為^>,",+6 = 0,g(x) 〉0表示樣本x屬于一類,g(x)
< 0表示樣本x屬于另一類,其中,Wi為訓(xùn)練學(xué)習(xí)得到的權(quán)重系數(shù),b為訓(xùn)練學(xué)習(xí)得到的一個常數(shù)項。 2,目標(biāo)檢測采用具有所述多個不同尺度的搜索窗口在輸入視頻圖像任一幀It中 進(jìn)行遍歷搜索,按照步驟1中所述的方法提取當(dāng)前搜索位置分別在每種尺度下對應(yīng)的搜索 窗口所覆蓋圖像區(qū)域的梯度方向直方圖和局部二值模式直方圖,得到描述該圖像區(qū)域的形 狀和紋理分布信息的特征向量將對應(yīng)的特征向量分別輸入分類器得到相應(yīng)的分類分值,不 同尺度搜索窗口對應(yīng)的分類分值中最大的分類分值如果大于目標(biāo)分類閾值(一般設(shè)為o 到5之間),則判定當(dāng)前搜索位置為目標(biāo)區(qū)域,其尺度為最大分類分值對應(yīng)的搜索窗口的尺 度,將該目標(biāo)區(qū)域信息存入檢測目標(biāo)隊列head—list中,然后改變搜索位置,繼續(xù)搜索。全 圖搜索完畢之后,即可得到It中所有新檢測到的目標(biāo)。
在目標(biāo)跟蹤步驟中,包括以下過程 3,記跟蹤目標(biāo)隊列為people—list,判斷其是否為空,如果為空,則將上述檢測目 標(biāo)隊列heacLlist中的所有目標(biāo)作為新進(jìn)入場景中的目標(biāo)壓入跟蹤目標(biāo)隊列people—list 中,直接跳轉(zhuǎn)到第8步。如果不為空,則轉(zhuǎn)入第4步。 4,虛警刪除根據(jù)虛警刪除機(jī)制,刪除當(dāng)前跟蹤隊列people—list中的虛警目標(biāo)。 本發(fā)明定義的虛警刪除機(jī)制包括(l)目標(biāo)的位置已位于圖像的邊緣;(2)目標(biāo)的滯留時間 已達(dá)到預(yù)設(shè)值的上限;(3)目標(biāo)的消失時間已達(dá)到預(yù)設(shè)值的上限;(4)目標(biāo)已經(jīng)用于了客流 統(tǒng)計計數(shù)。若目標(biāo)滿足這其中任何條件之一,則刪除該目標(biāo),再更新跟蹤目標(biāo)隊列people— list。 5,灰度互相關(guān)關(guān)聯(lián)匹配跟蹤將檢測目標(biāo)隊列head—list與虛警刪除后的跟蹤目 標(biāo)隊列people—list進(jìn)行灰度互相關(guān)關(guān)聯(lián)匹配跟蹤。 本發(fā)明定義的關(guān)聯(lián)規(guī)則包含了兩級級聯(lián)準(zhǔn)則(所謂兩級級聯(lián)是指只有滿足第一 級準(zhǔn)則的條件下才可進(jìn)入第二級處理),第一級為目標(biāo)間的距離,規(guī)定只有當(dāng)兩個目標(biāo)的中 心點(diǎn)分別位于彼此的鄰域之內(nèi)(以目標(biāo)中心點(diǎn)為圓心,一定預(yù)設(shè)值為半徑的圓形圖像區(qū)域 稱之為該目標(biāo)的鄰域,該預(yù)設(shè)值稱為鄰域大小)才認(rèn)為它們可能有關(guān)聯(lián);第二級為可能相 互關(guān)聯(lián)的目標(biāo)間的相似度,若其相似度滿足預(yù)設(shè)條件則認(rèn)為它們已經(jīng)正確的匹配上了。
具體關(guān)聯(lián)匹配過程如下 假設(shè)people_list中存在m個目標(biāo),head_list中存在n個目標(biāo),用akl表示 people—list中的任一 目標(biāo)k和head—list中的任一 目標(biāo)1之間的相似度,用dkl表示 peop 1 e_l ist中的目標(biāo)k和head_l ist中的目標(biāo)1的中心點(diǎn)之間的歐式距離,其中k和1分 別表示隊列peopleJist和heacLlist中目標(biāo)的索引值。為描述方便將目標(biāo)所屬圖像區(qū)域 (即目標(biāo)區(qū)域)的二維點(diǎn)集R二 {It(a,b) :^《a《a2A《b《bJ轉(zhuǎn)換為按行順序存儲 的一維向量X,其中a,b為It中任一像素點(diǎn)It(a,b)的位置,a代表列的位置,b代表行的位 置,& a2分別為It中的目標(biāo)區(qū)域的最左邊列和最右邊列的位置坐標(biāo),lv b2分別為It中的
目標(biāo)區(qū)域的最下邊行和最上邊行的位置坐標(biāo),記向量乂的均值為£[1] = !|>£ ,^為向量
X中任一元素,N為向量X的長度,也就是目標(biāo)區(qū)域的總像素數(shù),N = (a2_ai+l) X (b2-b一l)。
根據(jù)上述關(guān)聯(lián)規(guī)則的兩級級聯(lián)準(zhǔn)則,本實施例定義了如下的相似度函數(shù)<formula>formula see original document page 12</formula> 其中M為向量Xk和&的有效長度,M = min (Nk, N》,表示取Nk, &中的較小者,Nk, K分別為people—list中的目標(biāo)k和head—list中的目標(biāo)1所屬目標(biāo)區(qū)域轉(zhuǎn)換后得到的向 量Xk和^的長度,仏3是預(yù)設(shè)的目標(biāo)鄰域大小,XkJ L分別為向量Xk和^中任一元素。 akl的定義說明當(dāng)people—list中的目標(biāo)k和head—list中的目標(biāo)1彼此位于對方的鄰域 之內(nèi)時,其相似度為向量Xk和XJ余去均值后在有效長度上的絕對值距離,否則其相似度設(shè) 為無窮大。顯然a^值越小說明兩個目標(biāo)越相關(guān)。據(jù)此得到people—list和heacLlist隊 列間的相似度關(guān)聯(lián)矩陣
a<formula>formula see original document page 12</formula> 當(dāng)people_list中的目標(biāo)k和head_list中的目標(biāo)1之間的相似度akl同時滿足 如下兩個預(yù)設(shè)條件 akl = min{akl ak2 L an) ato} , akl = min(au a21 L a(m—1):L aml},
則認(rèn)為heacLlist中的目標(biāo)l與people—list中的目標(biāo)k相匹配,更新people_ list中目標(biāo)k的相應(yīng)信息;若akl不滿足上述兩個預(yù)設(shè)條件,則分如下兩種情況分別處理 (A)head—list中的目標(biāo)l與people—list中的目標(biāo)k不匹配,則people_list中的目標(biāo)k 進(jìn)一步轉(zhuǎn)入步驟6進(jìn)行搜索跟蹤;(B)在people—list中的目標(biāo)k與head—list中的目標(biāo)1 不匹配,則head—list中的目標(biāo)1作為新進(jìn)入場景中的目標(biāo)壓入跟蹤隊列people—list中; 至此完成了 people—list中目標(biāo)的灰度互相關(guān)關(guān)聯(lián)匹配跟蹤。 6,對peopleJist中不是新進(jìn)入場景中的目標(biāo)進(jìn)行搜索跟蹤。本領(lǐng)域中現(xiàn)有常規(guī) 跟蹤技術(shù)包括卡爾曼濾波、粒子濾波以及均值平移算法。本實施例選用了均值平移算法進(jìn) 行搜索跟蹤,將peopleJist中的目標(biāo)在It—工幀中的位置作為在It中進(jìn)行均值平移算法搜 索的初始位置,通過迭代搜索確定該目標(biāo)在It中的可能位置。 7,經(jīng)過步驟6之后,針對people—list中不是新進(jìn)入場景中的目標(biāo),本實施例分如 下兩種情況分別確定該目標(biāo)的最終跟蹤結(jié)果 (A)該目標(biāo)在heacLlist中沒有檢測目標(biāo)與之相匹配,那么均值平移算法搜索跟 蹤的位置信息即作為該目標(biāo)在輸入視頻圖像It中的最終跟蹤結(jié)果; (B)該目標(biāo)在head—list中有檢測目標(biāo)與之相匹配,那么現(xiàn)在它就存在兩個可能 的位置一個是灰度互相關(guān)關(guān)聯(lián)匹配跟蹤的得到的位置,一個是均值平移算法搜索跟蹤的 位置,本發(fā)明定義了如下的準(zhǔn)則從二者中確定最佳的跟蹤結(jié)果(B1)該目標(biāo)在heacLlist 中與之相匹配的檢測目標(biāo)的分類分值大于預(yù)設(shè)值(一般要高于目標(biāo)檢測的分類分值,比 如目標(biāo)分類分值取3,那么該預(yù)設(shè)值可取4),則直接將這個檢測目標(biāo)的相關(guān)信息作為該目 標(biāo)在It幀中的最終跟蹤結(jié)果,而拋棄均值平移算法搜索跟蹤的結(jié)果;(B2)該目標(biāo)在heacL list中與之相匹配的檢測目標(biāo)的分類分值小于上述預(yù)設(shè)值,則需要按照步驟5所述的相似度計算方法,分別計算該目標(biāo)與灰度互相關(guān)關(guān)聯(lián)匹配跟蹤結(jié)果和均值平移算法搜索跟蹤結(jié) 果的相似度,把對應(yīng)相似度較小者的跟蹤結(jié)果信息作為該目標(biāo)在It幀中的最終搜索跟蹤結(jié) 果。這樣peopleJist中所有目標(biāo)都實現(xiàn)了跟蹤定位,并清空heacLlist。
在目標(biāo)行為分析和客流量統(tǒng)計計數(shù)步驟中,包括以下過程 8,目標(biāo)行為分析和客流量統(tǒng)計計數(shù)判斷跟蹤目標(biāo)隊列people—list中是否有滿 足計數(shù)規(guī)則的目標(biāo),若有則更新客流量統(tǒng)計數(shù)據(jù)。計數(shù)規(guī)則具體為目標(biāo)在進(jìn)入場景時的圖 像中的初始位置和其在It中的位置之間的距離大于預(yù)設(shè)值,則為下車;目標(biāo)在It中的位置 與其在進(jìn)入場景時的圖像中的初始位置之間的距離大于預(yù)設(shè)值,則為上車。
從圖2和圖3可以看出,本實施例中由于公交車門位于圖像的上部分,且圖像坐標(biāo) 系中垂直方向上坐標(biāo)值從上往下遞增,而乘客的上下車行為基本約束在垂直方向上,所以 最簡單的分析方式就是僅計算目標(biāo)進(jìn)入場景時刻的初始位置和目標(biāo)當(dāng)前時刻的位置在垂 直方向上的距離,若初始位置垂直方向坐標(biāo)小于當(dāng)前時刻的位置垂直方向坐標(biāo),且二者間 的距離大于設(shè)定閾值(具體可根據(jù)圖像大小來設(shè)定,本發(fā)明采用的圖像大小為352*288,一 般設(shè)定閾值為20-50即可),則認(rèn)為乘客的行為為上車,更新上車人數(shù);若初始位置垂直方 向坐標(biāo)大于當(dāng)前時刻的位置垂直方向坐標(biāo),且二者間的距離大于設(shè)定閾值,則認(rèn)為乘客的 行為為下車,更新下車人數(shù)。即實現(xiàn)了公交車客流量的統(tǒng)計,如圖2和圖3所示,其中圖2 所示的為白天上車門客流統(tǒng)計情況,圖3所示的為夜間上車門客流統(tǒng)計情況。
權(quán)利要求
一種實時公交車客流量統(tǒng)計方法,包括目標(biāo)檢測、目標(biāo)跟蹤和目標(biāo)行為分析及客流統(tǒng)計計數(shù)三個步驟,其特征在于。在所述的目標(biāo)檢測步驟中,包括以下過程(1)訓(xùn)練二類目標(biāo)線性分類器預(yù)先從捕獲的公交車客流視頻圖像數(shù)據(jù)中人工采集多種不同尺度的只包括乘客人頭信息的圖像作為正樣本集合,采集對應(yīng)尺度的不包括人頭信息的圖像作為負(fù)樣本集合,正樣本集合和負(fù)樣本集合構(gòu)成訓(xùn)練樣本集,分別提取訓(xùn)練樣本集中任一個訓(xùn)練樣本的梯度方向直方圖(HOG)和局部二值模式(LBP)直方圖,二者組成該訓(xùn)練樣本的特征向量f,訓(xùn)練樣本集中所有訓(xùn)練樣本的特征向量組成樣本特征集,采用線性支撐向量機(jī)(SVM)對樣本特征集進(jìn)行訓(xùn)練學(xué)習(xí),得到二類目標(biāo)線性分類函數(shù)即二類目標(biāo)線性分類器;(2)目標(biāo)檢測采用具有所述多個不同尺度的搜索窗口在輸入視頻圖像任一幀It中進(jìn)行遍歷搜索,即提取當(dāng)前搜索位置在每種尺度下對應(yīng)的搜索窗口所覆蓋圖像區(qū)域的由梯度方向直方圖和局部二值模式直方圖組成的特征向量,將所述特征向量分別輸入上述二類目標(biāo)線性分類器得到分類分值,不同尺度的搜索窗口對應(yīng)的分類分值中最大的分類分值如果大于目標(biāo)分類閾值,則判定當(dāng)前搜索位置為目標(biāo)區(qū)域,其尺度為最大分類分值對應(yīng)的搜索窗口的尺度,將該目標(biāo)區(qū)域信息存入檢測目標(biāo)隊列head_list中,遍歷所有搜索位置即得到It中所有新檢測到的目標(biāo);在所述目標(biāo)跟蹤步驟中,包括以下過程(3)記跟蹤目標(biāo)隊列為people_list,判斷其是否為空,如果為空,則 將上述檢測目標(biāo)隊列head_list中的所有目標(biāo)作為新進(jìn)入場景中的目標(biāo)壓入跟蹤目標(biāo)隊列people_list中,并直接跳轉(zhuǎn)到步驟(8),如果不為空,則轉(zhuǎn)入步驟(4);(4)虛警刪除根據(jù)虛警刪除機(jī)制,刪除跟蹤目標(biāo)隊列people_list中的虛警目標(biāo),其中,所述虛警刪除機(jī)制包括(A)目標(biāo)的位置位于圖像的邊緣,(B)目標(biāo)的滯留時間達(dá)到預(yù)設(shè)值的上限,(C)目標(biāo)允許的消失時間達(dá)到預(yù)設(shè)值的上限,(D)目標(biāo)已用于了客流統(tǒng)計計數(shù),若跟蹤目標(biāo)隊列people_list中的目標(biāo)滿足所述虛警刪除機(jī)制中任何之一,則該目標(biāo)為虛警目標(biāo),刪除該虛警目標(biāo),更新跟蹤目標(biāo)隊列people_list;(5)灰度互相關(guān)關(guān)聯(lián)匹配跟蹤將檢測目標(biāo)隊列head_list與虛警刪除后的跟蹤目標(biāo)隊列people_list按照一定的關(guān)聯(lián)規(guī)則進(jìn)行灰度互相關(guān)關(guān)聯(lián)匹配跟蹤,其中,所述的關(guān)聯(lián)規(guī)則為兩級級聯(lián)準(zhǔn)則,即在只有滿足第一級準(zhǔn)則的條件下才可進(jìn)入第二級處理,第一級準(zhǔn)則為只有當(dāng)兩個目標(biāo)分別位于彼此的鄰域內(nèi)才認(rèn)為它們可能有關(guān)聯(lián);第二級準(zhǔn)則為第一級中可能相互關(guān)聯(lián)的目標(biāo)間的相似度滿足預(yù)設(shè)條件則認(rèn)為它們已經(jīng)正確的匹配上了,具體關(guān)聯(lián)匹配過程為假設(shè)people_list中存在m個目標(biāo),head_list中存在n個目標(biāo),用akl表示people_list中的任一目標(biāo)k和head_list中的任一目標(biāo)l之間的相似度,用dkl表示people_list中的該任一目標(biāo)k和head_list中的該任一目標(biāo)l的中心點(diǎn)之間的歐式距離,將該任一目標(biāo)k或任一目標(biāo)l所屬圖像區(qū)域即目標(biāo)區(qū)域的二維點(diǎn)集R={It(a,b)a1≤a≤a2,b1≤b≤b2}轉(zhuǎn)換為按行順序存儲的一維向量X,其 中a,b為It中任一像素點(diǎn)It(a,b)的位置,a代表列的位置,b代表行的位置,a1,a2分別為It中的目標(biāo)區(qū)域的最左邊列和最右邊列的位置坐標(biāo),b1,b2分別為It中的目標(biāo)區(qū)域的最下邊行和最上邊行的位置坐標(biāo),記向量X的均值為 xc為向量X中任一元素,N為向量X的長度,也就是目標(biāo)區(qū)域的總像素數(shù),N=(a2-a1+1)×(b2-b1+1);定義相似度函數(shù)如下其中M為向量Xk和Xl的有效長度,M=min(Nk,Nl),表示取Nk,Nl中的較小者,Nk,Nl分別為people_list中的目標(biāo)k和head_list中的目標(biāo)l所屬目標(biāo)區(qū)域轉(zhuǎn)換后得到的向量Xk和Xl的長度,th3是預(yù)設(shè)的目標(biāo)鄰域范圍,Xkr和Xlr分別為向量Xk和Xl中任一元素,據(jù)此得到people_list和head_list隊列間的相似度關(guān)聯(lián)矩陣當(dāng)people_list中的目標(biāo)k和head_list中的目標(biāo)l之間的相似度akl同時滿足如下兩個預(yù)設(shè)條件akl=min{ak1 ak2 L ak(n-1) akn},akl=min{a1l a2l L a(m-1)l aml},則認(rèn)為head_list中的目標(biāo)l與people_list中的目標(biāo)k相匹配,更新people_list中目標(biāo)k的相應(yīng)信息;若akl不滿足上述兩個預(yù)設(shè)條件,則分如下兩種情況分別處理(A)head_list中的目標(biāo)l與people_list中的目標(biāo)k不匹配,則 people_list中的目標(biāo)k進(jìn)一步轉(zhuǎn)入步驟(6)進(jìn)行搜索跟蹤;(B)在people_list中的目標(biāo)k與head_list中的目標(biāo)l不匹配,則head_list中的目標(biāo)l作為新進(jìn)入場景中的目標(biāo)壓入跟蹤隊列people_list中;(6)對people_list中不是新進(jìn)入場景中的目標(biāo)采用均值平移算法進(jìn)行搜索跟蹤,將people_list中的目標(biāo)在It-1幀中的位置作為在It中進(jìn)行均值平移搜索的初始位置,通過迭代搜索確定該目標(biāo)在It中的可能位置,It-1為It的前一幀圖像;(7)經(jīng)過步驟(6)之后,針對people_list中不是新進(jìn)入場景中的目標(biāo),分如下兩種情況分別確定該目標(biāo)的最終跟蹤結(jié)果(A)該目標(biāo)在head_list中沒有檢測目標(biāo)與之相匹配,那么均值平移算法搜索跟蹤的位置信息即作為該目標(biāo)在輸入視頻圖像It中的最終跟蹤結(jié)果;(B)該目標(biāo)在head_list中有檢測目標(biāo)與之相匹配,那么現(xiàn)在它就存在兩個可能的位置一個是灰度互相關(guān)關(guān)聯(lián)匹配跟蹤的得到的位置,一個是均值平移算法搜索跟蹤的位置,通過如下的準(zhǔn)則從二者中確定最佳的跟蹤結(jié)果(B1)該目標(biāo)在head_list中與之相匹配的檢測目標(biāo)的分類分值大于預(yù)設(shè)值,則直接將這個檢測目標(biāo)的相關(guān)信息作為該目標(biāo)在It中的最終跟蹤結(jié)果,而拋棄均值平移算法搜索跟蹤的結(jié)果;(B2)該目標(biāo)在head_list中與之相匹配的檢測目標(biāo)的分類分值小于上述預(yù)設(shè)值,則需要按照步驟(5)所述的相似度計算方法,分別計算該目標(biāo)與灰度互相關(guān)關(guān)聯(lián)匹配跟蹤結(jié)果和均值平移算法搜索跟蹤結(jié)果的相似度,把對應(yīng)相似度較小者的跟蹤結(jié)果作為該目標(biāo)在It中的最終搜索跟蹤結(jié)果; 這樣people_list中所有目標(biāo)都實現(xiàn)了跟蹤定位,并清空head_list。在目標(biāo)行為分析和客流量統(tǒng)計計數(shù)步驟中,包括以下過程(8)目標(biāo)行為分析和客流量統(tǒng)計計數(shù)判斷跟蹤目標(biāo)隊列people_list中是否有滿足計數(shù)規(guī)則的目標(biāo),若有則更新客流量統(tǒng)計數(shù)據(jù)。其中,所述的計數(shù)規(guī)則為目標(biāo)在進(jìn)入場景時的圖像中的初始位置和其在It中的位置之間的距離大于預(yù)設(shè)值,則為下車;目標(biāo)在It中的位置與其在進(jìn)入場景時的圖像中的初始位置之間的距離大于預(yù)設(shè)值,則為上車。 FDA0000019927430000031.tif,FDA0000019927430000032.tif,FDA0000019927430000033.tif
全文摘要
本發(fā)明提供了一種實時公交車客流量統(tǒng)計的方法,該方法采用了機(jī)器學(xué)習(xí),多目標(biāo)檢測與跟蹤以及目標(biāo)行為分析等方法,屬于模式識別技術(shù)領(lǐng)域。具體為通過分析視頻圖像中乘客人頭的形狀、紋理信息實現(xiàn)乘客目標(biāo)的檢測(采用梯度方向直方圖表征其形狀信息、局部二值模式直方圖表征紋理信息),然后采用灰度互相關(guān)關(guān)聯(lián)匹配跟蹤和均值平移算法搜索跟蹤相結(jié)合的目標(biāo)跟蹤策略實現(xiàn)對乘客的精確定位,最后通過分析客的運(yùn)動軌跡,判斷乘客的行為特征實現(xiàn)公交車客流量的精確統(tǒng)計。實踐表明,本發(fā)明提供的方法可以為公交公司實現(xiàn)公交車智能調(diào)度、公交車移動傳媒廣告受眾分析等提供細(xì)粒度的可靠依據(jù),具有很高的實用價值。
文檔編號G07C9/00GK101794382SQ20101012267
公開日2010年8月4日 申請日期2010年3月12日 優(yōu)先權(quán)日2010年3月12日
發(fā)明者劉樂元, 唐奇玲, 李馳, 桑農(nóng), 王強(qiáng), 王海, 羅大鵬, 陳景東, 高常鑫, 黃朝露 申請人:華中科技大學(xué)