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