將該圖像幀存入數(shù)組M0VingImageS[i] [j]中,以準備做后續(xù)的圖像識別與處理。
[0106]第二步、多目標的跟蹤與統(tǒng)計計數(shù)
[0107]根據(jù)讀取的視頻圖像,設定好ROI檢測區(qū)域,將其橫坐標的最小和最大值保存到變量xin和xout中,并選擇有運動目標出現(xiàn)的連續(xù)圖像幀,依次保存在數(shù)組MovingImages [i] [j]中,讀取該數(shù)組中的圖像序列的第一幀目標圖像,將其記為多目標跟蹤統(tǒng)計計數(shù)的當前幀圖像,然后按照以下步驟根據(jù)人頭頂?shù)囊曨l圖像進行客流量的在線識別計數(shù),將計數(shù)結(jié)果存儲到計數(shù)變量PersonIn和PersonOut中,分別記錄進入和離開的目標數(shù)量,計數(shù)變量初始值設為O。本例中,設置xin = 40,xout = 100。
[0108]I)啟動進出兩個計數(shù)器,并規(guī)定沿X正方向為進,X反方向為出。
[0109]2)對獲得的當前幀目標圖像二值化后,選用合適的結(jié)構(gòu)算子對其進行形態(tài)學腐蝕,以去除偽目標(即非頭部圖像),取得只含有運動目標連通區(qū)域的二值圖像。
[0110]3)遍歷該二值圖像,獲取各個目標連通域Area [n] [i]的特征值,并存入相應的鏈表中,其參數(shù)包括:圖像和目標索引Num和Index,目標質(zhì)心的橫坐標X,縱坐標Y,對應原圖像目標區(qū)域的灰度平均值Gray,目標區(qū)域矩形包圍窗口的長度Length和寬度Width,目標區(qū)域的面積大小Space,如圖4所示,兩個目標的質(zhì)心坐標分別為:(83.8530,90.2874)、(118.8503,33.7245);平均灰度分別為:85.9029,77.204 ;目標包圍窗口分別為:30*29、34*27 ;目標區(qū)域面積大小分別為:762、755。
[0111]4)根據(jù)獲得的目標Area[n][i]特征值,基于Kalman濾波預測下一幀圖像中目標連通域Area [n+1] [i]的質(zhì)心運動位置p (xi,yi)和區(qū)域。
[0112]5)采集下一幀圖像,對其進行步驟I)的操作。
[0113]6)同第二步的步驟2)。
[0114]7)根據(jù)改進的代價函數(shù),在當前幀圖像的Kalman預測搜素區(qū)域匹配下一幀圖像各目標連通域,計算當前幀目標Area[n][i]與下一幀圖像對應搜索區(qū)域內(nèi)所有目標的代價函數(shù)值,并找出其中最小值(假設與下一幀目標Area[n+l][j]代價函數(shù)值最小)。
[0115]8)計算目標Area [n] [i] Area [n+1] [j]的質(zhì)心距離d,并與距離限定值dO作比較。若d彡d0,則目標Area [n+1] [j]為目標Area [n] [i]的后續(xù),用目標Area [n+1] [j]的特征值替代目標Area [n] [i]的值,并對該目標Area [n+1] [j]做標記,建立目標鏈。
[0116]9)若d>d0,則目標Area[n][i]在下一幀中沒有后續(xù)目標,該目標可能離開圖像觀測窗口或者暫時靜止,需判斷目標Area[n] [i]的質(zhì)心坐標:
[0117]當X < xin時,如果該目標Area [n] [i]運動軌跡的第一個質(zhì)心橫坐標Xl < xin,則說明該目標一直在預留區(qū)內(nèi)徘徊,任何計數(shù)器不計數(shù);如果Xl>xin,則說明目標離開跟蹤窗口,方向為出,出計數(shù)器PersonOut加I,并清除目標鏈Area[n] [i]。
[0118]當X>xout時,如果該運動目標軌跡第一個質(zhì)心坐標橫坐標Xl彡xout,任何計數(shù)器不計數(shù);如果Xl〈xout,則說明該目標進入跟蹤窗口,方向為進,進計數(shù)器PersonIn加1,并清除目標鏈Area [n] [i];
[0119]當xin〈X〈xout,則說明目標Area[n] [i]在檢測區(qū)內(nèi)運動,其最后運動的方向不明,保留其特征值,等待下一幀中該目標的跟蹤。若下一幀中有匹配目標,則按上述步驟建立目標鏈,否則作為干擾,丟棄。
[0120]10)所有被跟蹤目標進行匹配后,驗證當前幀中所有目標是否被跟蹤。若存在未被跟蹤的目標,則判斷其質(zhì)心橫坐標是否滿足:x ( Xin或者X>xout,滿足則是有新目標出現(xiàn),為其建立新的目標鏈,設置特征值;不滿足則可能為干擾,丟棄,如圖5所示。本例中,兩目標在下一幀中匹配目標的特征值:質(zhì)心坐標分別為:(80.7355,91.3539)、(116.1797,34.5599);平均灰度分別為:86.9632,77.7487 ;目標包圍窗口分別為:31*29、35*28 ;巨標區(qū)域面積大小分別為:760、768。
[0121]11)每幀圖像中所有目標識別計數(shù)結(jié)束后,即可計算當前進計數(shù)器PersonIn和出計數(shù)器的差值PersonOut的差值,賦給變量CustomCounting,即為當前客流量的統(tǒng)計結(jié)果。本例中當前幀的 PersonIn = 2,PersonOut = 0,CustomCounting = 2-0 = I。
[0122]識別匹配結(jié)果在原圖中顯示,如圖6所示,當前幀圖像的目標識別計數(shù)結(jié)束。
[0123]按照步驟I)?10)依次對每幀的目標進行識別和自動計數(shù),直到該圖像數(shù)組MovingImages [i] [j]中的圖像全部處理完畢,將各時刻兩個計數(shù)器PersonIn和PersonOut的值及其差值CustomCounting存入數(shù)據(jù)庫,即可對客流量進行統(tǒng)計分析。本例中,最終客流量統(tǒng)計值為CustomCounting = 572,所用的一段視頻中,識別計數(shù)過程中某兩目標在檢測區(qū)域各幀圖像中的特征量如圖7所示,根據(jù)識別得到的數(shù)據(jù)重現(xiàn)該兩目標質(zhì)心和目標包圍窗口運動軌跡分別如圖8和圖9。
[0124]應當理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進或變換,而所有這些改進和變換都應屬于本發(fā)明所附權(quán)利要求的保護范圍。
【主權(quán)項】
1.一種基于圖像信息的客流量識別統(tǒng)計方法,其特征在于,包括以下步驟: 1)確定目標檢測區(qū)域;設置目標圖像檢測區(qū)域ROI的四個參數(shù):RO1.X代表檢測區(qū)域ROI左上角點的X軸坐標,R01.Y代表檢測區(qū)域ROI左上角點的y軸坐標,RO1.Width代表檢測區(qū)域ROI的寬度,RO1.Height代表檢測區(qū)域ROI的高度; 2)確定目標檢測區(qū)域沒有待檢測目標存在時的背景圖像; 3)對采集的視頻圖像的每幀圖像進行處理,將存在運動目標的圖像幀按順序存入數(shù)組中; 4)判斷數(shù)組中的圖像幀是否連續(xù),根據(jù)判斷結(jié)果對數(shù)組中的圖像幀進行分塊; 5)對分塊后的圖像幀進行統(tǒng)計計數(shù),確定進出的客流量。
2.根據(jù)權(quán)利要求1所述的客流量識別統(tǒng)計方法,其特征在于,所述步驟2)中確定背景圖像的方法為:采用多幅圖像平均法,對多幀原始圖像疊加求取平均值,獲取目標不存在時視頻圖像的背景圖像。
3.根據(jù)權(quán)利要求1所述的客流量識別統(tǒng)計方法,其特征在于,所述步驟3)中對采集的視頻圖像的每幀圖像進行處理為增強圖像處理,具體為:對幀圖像進行二值化和距離變換后,再通過均值濾波或亞取樣,得到當前幀圖像的增強圖像。
4.根據(jù)權(quán)利要求3所述的客流量識別統(tǒng)計方法,其特征在于,所述步驟3)中采集的視頻圖像的每幀圖像是否存在運動目標的判定方法如下: 3.1)將采集到的視頻圖像的幀圖像進行分塊處理,將第i幀圖像記為當前幀圖像,然后選定目標圖像檢測區(qū)域ROI ; 3.2)將第i幀圖像與處理過的第1-Ι幀圖像進行差分,將選定的目標圖像檢測區(qū)域ROI的差值記為Nz; 3.3)將運動檢測差值Nz與設定的報警最小元素數(shù)量限定值N 0#比較:若N z< N 0,則沒有運動存在;若Nz^ N^,則有運動存在,保留當前幀圖像; 3.4)對當前幀圖像和背景圖像^進行差分,將選定的目標圖像檢測區(qū)域ROI的差值記為Nb; 3.5)將目標檢測差值Nb與設定的報警最小元素數(shù)量限定值N ^’作比較=SNbCNc/,則沒有待檢測目標存在;若Nb> N 0?,則報警存在運動的目標,然后將存在運動目標的當前幀圖像存入數(shù)組MovingImages [i] [j]中; 3.6)遍歷所有幀圖像,按順序保存所有有運動目標存在的幀圖像,存入數(shù)組MovingImages [i] [j]中。
5.根據(jù)權(quán)利要求3所述的客流量識別統(tǒng)計方法,其特征在于,所述步驟4)中判斷數(shù)組中的圖像幀是否連續(xù)采用以下方法: 4.1)從數(shù)組中依次取幀圖像,對當前幀目標圖像進行基于差分法的自適應背景分割,將獲得的運動區(qū)域圖像進行二值化,用2X2結(jié)構(gòu)算子對目標圖像的二值圖像進行形態(tài)學腐蝕,以去除偽目標(即非頭部圖像),再通過形態(tài)學膨脹還原實際目標的大小,獲得只含有運動目標連通域的二值圖像; 4.2)遍歷只含有運動目標連通域的二值圖像,獲取各個目標連通域Area[n][i]的特征值,存入相應的鏈表中;其中,特征值參數(shù)包括:圖像索引Num,目標索引Index,目標質(zhì)心的橫坐標X和縱坐標Y,對應原圖像目標區(qū)域的灰度平均值Gray,目標區(qū)域矩形包圍窗口的長度Length和寬度Width,目標區(qū)域的面積大小Space ; 4.3)根據(jù)獲得的目標連通域Area[n][i]的特征值,用Kalman濾波來預測下一幀圖像中目標連通域Area [n+1] [i]的質(zhì)心運動位置p(xi,yi)的搜索區(qū)域; 4.4)計算下一幀圖像的目標連通域Area[n+1][i]的特征值 4.5)在當前幀圖像的Kalman預測搜素區(qū)域匹配下一幀圖像各目標連通域,計算當前幀目標連通域Area [n] [i]與下一幀圖像對應搜索區(qū)域內(nèi)所有目標連通域的代價函數(shù)值,并找出其中最小值; 4.6)計算目標連通域Area [n] [i]和下一幀圖像對應搜索區(qū)域任一目標區(qū)域Area [n+1] [j]的質(zhì)心距離d,并與質(zhì)心距離限定值dO作比較: 若d彡dO,則目標連通域Area[n+1] [j]為目標連通域Area[n] [i]的后續(xù),用目標連通域Area[n+1] [j]的特征值替代目標連通域Area[n] [i]的值,并對目標連通域Area[n+1][j]做標記,建立目標鏈; 若d > dO,則目標連通域Area[n] [i]在下一幀中沒有后續(xù); 4.7)根據(jù)判斷結(jié)果對數(shù)組中的圖像幀進行分塊。
6.根據(jù)權(quán)利要求5所述的客流量識別統(tǒng)計方法,其特征在于,所述步驟5)中,對分塊后的圖像幀進行統(tǒng)計計數(shù),具體方法如下: 5.1)將目標圖像檢測區(qū)域ROI的橫坐標的最小值和最大值分別保存到對應的變量xin和XOUt中,然后讀取數(shù)組MovingImages [i] [j]中的第一幀原始圖像序列,記為多目標跟蹤統(tǒng)計計數(shù)的當前幀目標圖像; 5.2)定義計數(shù)變量PersonIn和PersonOut,分別記錄進入和離開的目標數(shù)量,初始化設置為0,并規(guī)定沿X軸正方向為進,逆X軸