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