智能交通系統(tǒng)中運動汽車快速檢測算法的實現(xiàn)
引言
隨著經(jīng)濟的發(fā)展,我國的機動車輛數(shù)量急劇增加,給管理帶來了巨大的壓力,在信息化為主要特征的今天,迫切要求利用現(xiàn)代物聯(lián)網(wǎng)技術(shù)更好地為交通運輸服務(wù),構(gòu)建智能交通系統(tǒng),讓交通模式變得更加智能化、更加安全、高效、節(jié)能。而對運動汽車的檢測是智能交通系統(tǒng)中的重要環(huán)節(jié),同時它也是以后進行汽車跟蹤和識別的基礎(chǔ)。
從監(jiān)控網(wǎng)絡(luò)中得到的視頻序列,一般都是經(jīng)過編碼器壓縮后進行傳輸和存儲的。如果經(jīng)過反變換后在像素域?qū)λM行處理,會增加處理難度,也不符合快速、實時的要求。另一方面,經(jīng)過視頻壓縮以后的碼流本身就是對其中的運動物體的描述,如運動矢量信息、殘差信息等,這使得在壓縮域進行運動物體檢測成為可能。本文就是通過壓縮碼流處理來實現(xiàn)對運動汽車的快速檢測。
1 算法實現(xiàn)
本文提出的基于壓縮域內(nèi)的智能交通系統(tǒng)中運動汽車的快速檢測算法,是直接從壓縮域碼流中提取運動矢量場,再對運動矢量場進行累積、去噪、補償?shù)忍幚?在得到可靠的運動矢量場后,再利用人和汽車運動矢量的差異去掉碼流中的非汽車部分,最后利用改進型區(qū)域增長算法檢測出汽車對象(速度快的車和速度慢的車)。其系統(tǒng)算法框圖如圖1所示。
2 運動矢量處理
因為碼流講究的是壓縮效率而不是估計的準(zhǔn)確性,因此,運動矢量并不能代表真實的運動情況,這其中含有許多噪聲和偽運動矢量。所以,在進行運動對象提取之前,必須盡可能的將這么些不利于提取結(jié)果的運動矢量濾除。本文使用一種時域和空域相結(jié)合的運動矢量預(yù)處理方法。
首先,在時域上對多幀運動矢量求平均值來消除一些隨機噪聲和偽運動矢量。即:
本文對p64碼流(352X288,130幀)視頻圖像進行了處理,處理之前,一幀圖像的運動矢量如圖2所示,經(jīng)過時域和空間域處理后的運動矢量如圖3所示。
3 提取運動目標(biāo)
從圖2和圖3可以看出,其大部分噪聲和偽運動矢量已經(jīng)去除,但是還沒有除去人的部分,為此,可以利用汽車和人的運動矢量差異來去除人的部分,本文主要利用了人和汽車運動矢量方向的不一樣。由于汽車一般是在水平運動,運動矢量的角度不大,而人在上坡或下坡會有垂直運動,所以運動矢量的角度比汽車大。計算出各個運動矢量的角度后,即可制定判斷準(zhǔn)則:
利用這種方法,就可以把絕大部分屬于人的運動矢量給去除掉。
4 改進的區(qū)域增長算法
經(jīng)過上述處理后,往往還會殘留部分非車的運動矢量,像騎自行車或騎摩托車的人為了完全分開這些不需要的運動矢量,利用汽車運動矢量的特點,本文采用了改進型區(qū)域增長算法,也稱為三角形區(qū)域增長算法。先選擇種子點,種子點應(yīng)滿足前后左右四個運動矢量和自身不為零值,然后進行種子點的向前、向后檢測,再統(tǒng)計與它連續(xù)的非零運動矢量的個數(shù),并設(shè)置閾值。若個數(shù)小于閾值,則認(rèn)為是非車運動矢量而不考慮,否則認(rèn)為與種子點連續(xù)的向前、向后、上一行、下二行所包括的區(qū)域均有汽車運動矢量區(qū)域。具體算法為:
這樣,經(jīng)過處理后,碼流中就基本只有運動汽車的運動矢量了,實驗結(jié)果如圖4所示。之后還可以進一步通過K-means聚類算法來識別不同運動速度的汽車。
5 結(jié)論
基于壓縮域運動汽車提取算法,在計算復(fù)雜度和計算速度方面都比基于像素域的算法有較大的優(yōu)勢,但分割的精確度不夠高。目前,針對精度問題提出的解決方案是以時間換取精度,通過解碼運動區(qū)域,在像素域完成邊緣檢測,以求達到更好的分割效果。在MPEG壓縮域中,可供利用的主要信息是運動矢量和DCT系數(shù),進一步分析這兩者的特性,充分利用其提供的信息來提高對象分割的精確度是一個值得研究的方向。