


[摘要]在復雜交通場景下,針對運動車輛的特性,提出一種有效的識別和跟蹤方法。使用背景差分,將運動目標從背景中分離出來,并在前景圖像中對目標進行識別和標記,同時利用團塊跟蹤,對運動目標進行實時跟蹤。在VC編譯環境下使用Opencv開源庫函數進行仿真實驗,實驗結果表明本文方法效率高,跟蹤效果好。
[關鍵詞]Opencv 形態學處理 目標識別 目標跟蹤
中圖分類號:TP39 文獻標識碼:A 文章編號:1672-3791(2015)10(b)-0000-00
1 引言
運動目標的與跟蹤是應用視覺領域的一個重要的課題?,F實生活之中,大量的有意義的視覺信息包括在運動之中[1][2]。盡管人類視覺既能看見運動又能看見靜止的物體,但是在許多場合,如交通流量的檢測,重要場所的保安,航空和軍用飛機的制導,汽車的自動駕駛或輔助駕駛等,往往只對運動的物體感興趣,因此,研究運動目標的識別和跟蹤問題,有很大的理論意義和應用價值[3][4]。
OpenCV是一個針對于圖像、視頻處理的開源庫,它包含現有很多圖像處理理論的實現程序,可以很便捷的處理問題。研究人員可以更多地投入對算法的研究,然后利用OpenCV函數加以實現,不需要重新用c語言或者c++設計實現函數,從而可以大大縮減研發時間。
1.2 運動目標的識別
2.1 圖像預處理
將彩色視頻流轉換為灰度化視頻,提高處理速度。在RGB模型中, 時,則表示一種灰度圖像,灰度圖像每個像素只需一個字節存放灰度值(又稱強度值、亮度值),灰度范圍為0-255。在opencv中采用加權平均法處理圖像灰度化,加權平均法是指:根據重要性及其它指標,將三個分量以不同的權值進行加權平均。由于人眼對綠色的敏感最高,對藍色敏感最低,因此按下式對 三分量進行加權平均能得到較合理的灰度圖像。
(2.1)
在灰度化視頻中提取出背景圖像,同時通過滑動平均值算法對背景進行實時的更新,從而實現背景圖像實時更新,提高后續背景差分的準確性。差分算法,即將當前幀圖像與背景圖像進行差分,從而得到前景運動目標圖像(只有運動目標的圖像)。圖2.1中,右圖為提取出的初始化背景圖像,在背景更新過程中,更新后的背景將逐步接近真實的背景。
圖2.1 背景提取的效果圖(右圖為背景)
2.2 前景圖像優化
前景圖像由于種種原因往往會導致圖像受到各式各樣的噪聲影響,從而導致前景圖像中的運動目標形狀受到不同程度的影響,而且噪聲往往以孤立點的形式出現因此對前景圖像進行中值濾波處理,消除噪聲。中值濾波的原理是:對一個窗口W內的所有像素灰度值進行排序,取排序結果的中間值作為W中心點處像素的灰度值。用公式表示為
(2.2)
通常W內像素個數選為奇數,以保證有一個中心值。若W內的像素數選為偶數時,則取中間兩個值的平均值作為中值。
同時為了提高運動目標的可檢測性,需要對前景圖像進行二值化處理,并通過形態學處理(膨脹和腐蝕)斷開目標與目標之間的細小的相連。
數學上,膨脹定義為集合運算。A被B膨脹,記為 ,定義為
(2.3)
其中 為空集,B為結構元素。A被B膨脹是所有結構元素原點位置組成的集合,其中映射并平移后的B至少與A的某些部分重疊。
腐蝕“收縮”或“細化”二值圖像中的對象。像在膨脹中一樣,收縮的方式和程度由一個結構元素控制。圖2表明了腐蝕過程。
腐蝕的數學定義與膨脹相似,A被B腐蝕記為,定義為
(2.4)
換言之,A被B腐蝕是所有結構元素的原點位置的集合,其中平移的A被B的背景并不疊加。
2.3 在前景圖像中檢測運動目標
在上述兩步處理后,可以得到一幅只有運動目標的較為清晰的前景圖像。通過對整幅圖像的亮度檢測,可以在圖像中獲得各個團塊的數據,通過篩選,去除一些不符合要求的團塊,剩下的團塊即為目標。對目標團塊進行登記,提取他們的團塊中心值,而且根據團塊的大小制作標記框。這些中心值和標記框可以在原彩色視頻中表現出來,實現識別效果。
2.4 處理流程圖
圖2.2 處理流程圖
2.5 實際效果圖
圖2.3 實際效果圖
2.3 運動目標的跟蹤
3.1 跟蹤設計
在識別的基礎上,如果要想達到跟蹤的效果,需要對幀與幀之間運動物體的聯系進行判定,若當前幀的運動物體中心坐標與前一幀的物體中心坐標相差在一定數值范圍內并且目標具有相同屬性時,就可以判定當前幀的物體與前一幀的物體屬于同一個目標。以此為標準,對以下幀的運動物體進行判別,逐幀標記同一物體,實現物體的實時跟蹤。
3.2 跟蹤計數
對于每一個物體,都會進行標記一個ID。但物體離開監控區域時,算法會自動消除該ID,以及該ID所有的數據,釋放內存消耗量,避免無效數據影響算法效率。與此同時,該算法還提供一個計數器,當一個ID消除時,該計數器就累加1,并記錄消除時間,可以有效的知道在哪一時刻有多少個物體離開監控范圍??梢詾樵搮^域的需求提供一下數據的參考,例如:路況的擁堵情況。
3.3 處理流轉圖
圖3.1 處理流轉圖
3.4 效果圖
運動目標跟蹤效果如圖3.2所示。
圖3.2 效果圖
4 結論
從實驗結果可以看出,當場景較為空曠且運動物體的數量不多(一般不多于5個)的前提下,該算法可以很準確的將這些運動物體識別出來,同時根據幀與幀之間運動物體的變化位置(取中心點的坐標)是否符合判斷條件,來推斷當前幀物體與前一幀物體是不是為同一物體,也具有較高的準確度,對于運動物體可以實現跟蹤的目的。
在取得良好的效果同時,也發現了一些不足。
(1)監控范圍內有時會出現標記,但標記的位置是沒有運動目標的。原因是光線的突然增加,在前景圖像中出現白色斑塊,算法誤認為是運動目標,所以將其標記。
(2)在監控范圍內,出現有兩個運動物體,但標記框只有一個,而且包圍這兩個物體。原因是由于兩個物體距離過于接近,所以導致算法在運作的時候將兩個物體誤標記為同一個目標。
參考文獻:
[1] 朱娟娟,郭寶龍.《復雜場景中基于變塊差分的運動目標檢測》[J].光學精密工程,2011.1(1):183-191.
[2] 董安國,李聰,王丹丹.《基于修正相關系數的運動目標檢測》[J].計算機應用研究,2015.10(19):1-6.
[3]魏瑋,吳琪.《三幀結合改進高斯建模的運動目標檢測算法》[J].計算機工程與設計,2014.03(16):1-4.
[4] 王孝艷,張艷珠,董慧穎, 李媛, 李小娟.《運動目標檢測的三幀差法算法研究》[J].沈陽理工大學學報,2011.12(15) :2-5.