嚴騰 張朝陽 李嬋 張向清
摘要:通過攝像機獲取視頻數據,利用運動目標檢測的原理,從交通視頻圖像中提取車輛目標。常用的運動目標檢測的方法:光流場、幀間差分、背景差分。本文使用背景差分中非常經典的CodeBook算法來實現運動車輛目標的提取。最后,在 VS2013 和 opencv2.3 的開發環境中實現了該檢測算法。
關鍵詞:視頻;圖像;車輛;目標檢測
1 常見的運動目標檢測算法
常用的運動目標檢測的方法:光流場、幀間差分、背景差分。下文將簡單介紹這幾種方法的實現思想。
1.1 幀間差分
相對于第一種方法幀間差分是一種相對簡單的方法。顧名思義,幀間差分是將相鄰兩幀或者多幀進行差分的方法,差分完成后將變化較大的部分標記為前景。設第k幀圖像的灰度值為fk(x,y),其中x和y表示圖像中像素的坐標。Mk(x,y)表示差分后的掩碼圖,T表示預先設定的閾值,那么差分過程可以表示為:
Mk(x,y)=
0.........if
fk+1(x,y)-fk(x,y) 1.........iffk+1(x,y)-fk(x,y) >=T 1.2 背景差分 背景差分與幀間差分相似,也是幀之間的差分。但是,背景差分所用的差分對象不是一般的幀,這個特殊幀是沒有要檢測運動目標的純背景幀,用包含運動目標的幀與之差分,得到的便是我們需要的前景目標。其差分過程同上述公式是一樣的,都需要設定一個閾值,用于區分像素灰度值突變的區域。 2 CodeBook算法介紹 現在我們來介紹 CodeBook 的建模過程。其基本思想是,在一個時間序列內,圖像中一點的像素值會處于一個波動狀態,即對于特定的點而言每一個時刻的像素值都和前一個時刻的像素值有差別,CodeBook 算法就是用一個碼本中的若干碼字來描述像素點在時間序列上的統計屬性。 算法過程描述如下: 設P={p1,p0,...,pk}是一幅圖像圖像素點x在k幀連續圖像序列中的取值,i為幀數標號,用C={c1,c2,...,cl}來描述x像素點的碼本,l為碼本中碼字的個數。 (1)設當前幀為第 i 幀,設 k 為學習建模時長,設碼本C 的長度為l 。 (2)如果C=φ,即l=0 ,那么給C碼本中新建一個碼字,并初始化,如下式所示: cl={lh,ll,pi,pi,i,0,1}。然后,l++,i++。(lh和ll分表表示該像素點位置出現過的最大值和最小值) (3)pi與碼本C中的所有碼字進行逐次匹配,如果對于其中一個碼字滿足關系:ll (4)如果(3)中pi與ci匹配成功,那么更新ci: ci={lh,ll,max(p,pi),min(p,pi),i,0,f++} 如果此處pi取為最大值或者最小值,那么,ll++或者lh++,以實現閾值的動態更新,更能滿足可提要求。這樣我們就成功得將一個像素點融合到該碼字中。 (5)如果(3)中的匹配過程沒有任何已有碼字與該像素點匹配,那么,按照(2)中的方法新建一個碼字。 (6)如果i 以上步驟我們實現了對一個像素點的建模,當然,對于其他像素點,用同樣的方法即可實現對整個圖像序列的背景建模。那么接下來獲取前景運動區域的方法同背景差分算法一樣。 3 實驗結果 4 結語 本文做的主要工作是利用 Codebook 算法實現了運動目標的分割,通過分割結果達到車輛目標的識別檢測。目前視頻的識別分割在智能能交通領域是研究熱點,應繼續結合熱點需求,完善算法的實用性。 參考文獻: [1]肖王新,張雪,黃衛.交通視頻圖像的多尺度自適應閥值邊緣檢測[J].土木工程學報,2003. 37(6):8994. [2]周欣.基于方向分形維的高速公路車輛邊緣檢測研究[J].2004,20(3):258262. [3]朱志剛,徐光佑,楊波.自動交通檢測系統的二維時空圖像方法.中國圖像圖形學報,1996.