孫維廣 于子鈞
摘 要:對交通視頻中的車輛計數(shù)方法進(jìn)行了研究。首先采用背景更新的背景差分法獲得無運動目標(biāo)的背景,并采用幀差法檢測是否存在運動目標(biāo),以此作為背景更新的依據(jù)。然后當(dāng)前幀與背景圖像做差值,并進(jìn)行二值化提取運動目標(biāo)。對于光線較暗車輛目標(biāo)提取不完整和由于光照產(chǎn)生偽目標(biāo)的情況,采用一種基于虛擬的橫向檢測線和縱向檢測線相結(jié)合的檢測方法計數(shù)。實驗表明,本方法可較準(zhǔn)確的實現(xiàn)車輛計數(shù),并有較好的實時性。
關(guān)鍵詞:背景差分;二值化;車輛計數(shù);虛擬檢測線
中圖分類號:TP391.41 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2018)24-0118-04
Abstract: The vehicle counting method in traffic video is studied in this paper. Firstly, background subtraction method of background updating is used to obtain the background without moving objects, and frame difference method is used to detect the existence of moving objects, which is used as the basis of background updating. Then the difference between the current frame and the background image is done, and the moving object is extracted by binarization. In the case of incomplete extraction of dim vehicle targets and false targets due to illumination, a detection method based on the combination of horizontal detection lines and longitudinal detection lines is used to count the targets. The experiment results show that the method can realize vehicle counting accurately and has better real-time performance.
Keywords: background subtraction; binarization; vehicle counting; virtual detection line
1 概述
基于計算機(jī)視覺的車輛計數(shù)在智能交通領(lǐng)域有著重要的應(yīng)用價值,它可以作為相關(guān)部門的依據(jù)和參考,進(jìn)行更加科學(xué)有效的交通規(guī)劃和管理。例如,可以根據(jù)車流量等信息智能控制交通燈的持續(xù)時間,提高通行效率;可以對交通堵塞情況做出評估并預(yù)警等。為實現(xiàn)對車輛的準(zhǔn)確計數(shù),首先要將車輛較完整的檢測出來,本文采用背景更新的背景差分法進(jìn)行目標(biāo)提取,然后根據(jù)目標(biāo)的長度和寬度信息,采用一種基于橫向檢測線和縱向檢測線相結(jié)合的方法進(jìn)行車輛計數(shù)。
2 運動目標(biāo)檢測
基于運動分析的目標(biāo)檢測方法主要有光流場估計法,幀間差分法,背景差分法。光流場估計法的缺點是計算復(fù)雜度高,實時性差;幀間差分法的缺點是檢測到的目標(biāo)內(nèi)部容易產(chǎn)生較大的空洞,不利于后續(xù)根據(jù)目標(biāo)寬度、高度信息識別車輛進(jìn)行計數(shù);背景差分法的缺點是對光照和其它運動目標(biāo)的干擾比較敏感[1]。由于路面背景比較單一,本文選取的路段出現(xiàn)的目標(biāo)以機(jī)動車和少量非機(jī)動車為主,其它運動目標(biāo)較少,因此可以采用背景差分法進(jìn)行目標(biāo)檢測。
2.1 背景差分
背景差分法一般能夠得到較完整的運動目標(biāo),但背景對光照和場景的變化比較敏感,因此需要對背景進(jìn)行更新[2]。背景更新公式為
B(k+1)=(1-?琢)B(k)+?琢I(k) (1)
I(k)表示當(dāng)前輸入圖像,B(k+1)表示累加的圖像數(shù)據(jù),用來做背景。這里α為較小的值,用來調(diào)節(jié)背景更新速率。用當(dāng)前輸入圖像I(k)與背景B(k)做差后,再對其進(jìn)行二值化處理,運動區(qū)域就被提取出來。但當(dāng)場景中車輛由運動轉(zhuǎn)為靜止時,比如,紅燈停車時,此車輛會被計入背景,當(dāng)綠燈亮?xí)r,車輛開走,此時運用背景差分法會提取出偽目標(biāo)。文獻(xiàn)[3]采用了定時更新背景模型與實時更新背景模型結(jié)合方法獲得背景。通過判斷是否存在運動目標(biāo)來決定是否更新背景。本文也采用類似的方法進(jìn)行背景更新。通過計算相鄰幀或隔幀像素的變化來判斷是否存在運動目標(biāo),并設(shè)定一個像素變化的閾值。為了避免干擾并減小計算量,計算區(qū)域選在檢車線附近,如果此區(qū)域無運動車輛,即差值圖像像素?zé)o滿足閾值條件的變化,當(dāng)前幀圖像不計入背景,反之則計入背景。圖1為計算差值的視頻區(qū)域,圖2為相鄰幀做差值并二值化的效果,可見運動的車輛被檢測出來,而靜止的車輛并不會被檢測到。圖3為背景更新效果圖,場景內(nèi)沒有運動目標(biāo)。
2.2 二值化
當(dāng)前幀與背景做差后再對圖像進(jìn)行二值化處理,目標(biāo)就被提取出來。當(dāng)車輛灰度值與地面接近時,如果二值化閾值選取過高,則不能較完整地檢測車輛目標(biāo),但過低的閾值會產(chǎn)生噪聲,還會使陰影、地面反光等干擾增強(qiáng)。因此,合理的閾值選取對于后續(xù)車輛檢測具有重要意義。本文根據(jù)背景圖像的灰度值來獲知場景光線情況,以此來確定二值化閾值。當(dāng)白天陽光較好時,選取較大閾值,天色變暗時選取較低閾值。圖4、5為天色變暗時采用15作為二值化閾值的效果圖,圖7為陽光充足時采用25作為閾值時的效果。
2.3 形態(tài)學(xué)處理
當(dāng)目標(biāo)與地面灰度值接近時,二值化后的圖像會出現(xiàn)較多的孔洞,可能會導(dǎo)致后續(xù)車輛計數(shù)錯誤。本文利用形態(tài)學(xué)處理的方法消除較小的孔洞。首先對二值化后的圖像進(jìn)行膨脹操作,填充較小的孔洞,但這會使目標(biāo)變大,因此還要進(jìn)行腐蝕操作,恢復(fù)目標(biāo)的原始尺寸。
3 車輛計數(shù)
目前,基于計算機(jī)視覺的車流量檢測主要有虛擬檢測線法[4]和目標(biāo)跟蹤法[5]。其中基于虛擬檢測線的方法準(zhǔn)確率較高且易于實現(xiàn),其原理是:當(dāng)車輛進(jìn)入和離開橫向檢測線時,橫向檢測線上的像素值為較高值和較低值的交替變化,當(dāng)橫向檢車線出現(xiàn)高像素值到低像素值的跳變時,車輛計數(shù)值加一。文獻(xiàn)[6]、[7]的方法對于白天光線較好的情況效果較好。但當(dāng)天色較暗且車輛顏色與背景接近時,可能會出現(xiàn)目標(biāo)二值圖像有空洞或斷裂情況的情況,如圖5方框區(qū)域所示。其在橫向檢測線上像素值隨視頻幀數(shù)會出現(xiàn)高低值交替變化,示意圖如圖6所示。另外,陽光直射到車后部時,地面的反光會導(dǎo)致二值圖出現(xiàn)拖尾現(xiàn)象,如圖7方框區(qū)域所示。這兩種情況都可能會導(dǎo)致重復(fù)計數(shù)。因此,為了提高計數(shù)準(zhǔn)確率,本文采用一種基于橫向檢測線和縱向檢測線相結(jié)合的車輛檢測方法進(jìn)行計數(shù)。即在待檢測車道上設(shè)置一個虛擬的橫向檢測線和縱向檢測線,如圖8所示。本文僅以右側(cè)的兩個車道為例來進(jìn)行計數(shù)研究。
對于橫向檢測線上高像素值的判斷,本文采用的方法是:首先在橫向檢測線上取高度為4像素左右的矩形,向x軸做累加和求均值;再向y軸做累加和求均值,并設(shè)定閾值,如果滿足則認(rèn)為在橫向檢測線上出現(xiàn)了車輛。此閾值應(yīng)根據(jù)目標(biāo)寬度和橫向檢測線長度來確定。對于圖5和圖7的情形,本文的計數(shù)方法是:
(1)當(dāng)橫向檢測線上出現(xiàn)了從高到低的像素值變化時,在縱向檢測線上計算目標(biāo)長度,如果目標(biāo)長度超過閾值,計數(shù)值加一;如果目標(biāo)長度小于閾值,且與上一目標(biāo)離開橫向檢測線時間間隔滿足條件,則保留長度值,但不計數(shù)。
(2)讀取后續(xù)幀,當(dāng)橫向檢測線上再次出現(xiàn)高低像素變化時,計算目標(biāo)長度,如果大于閾值,計數(shù)值加一,上次保留的小目標(biāo)長度丟棄;如果小于閾值,且與上一目標(biāo)離開橫向檢測線的時間間隔滿足條件,則加上上次保留的小目標(biāo)長度,如果長度仍然小于閾值,則繼續(xù)執(zhí)行步驟(2)。
處理結(jié)果如圖9-圖12所示,圖9、10顯示左車道計數(shù)值由20增加到了21,其對應(yīng)的二值圖像為圖5;圖11、12的右車道計數(shù)值由8增加到了9,其對應(yīng)的二值圖為圖7??梢?,實現(xiàn)了正確計數(shù)。本文對同一路段采集的視頻進(jìn)行了車輛計數(shù)統(tǒng)計,如表1所示。準(zhǔn)確率達(dá)到了94%以上。
基于檢測線的車輛計數(shù)的特點是可以計算出一段時間內(nèi)通過此檢測線的車輛數(shù)目,要求檢測線上能出現(xiàn)高低像素的變化。如果交通擁堵,車速較慢時,會出現(xiàn)車輛首尾粘連的排隊情況。此時,橫向檢測線的位置選取及相機(jī)的角度將對計數(shù)結(jié)果產(chǎn)生較大影響。對于本文相機(jī)的位置和角度,橫向檢測線選取在圖像偏下方,即車輛剛進(jìn)入監(jiān)控區(qū)域的位置效果較好。
另外,如果要計算正在排隊的車輛數(shù)目,可以向縱向做投影計算車隊長度。對于固定場景,精度要求不高的情況下,可根據(jù)車隊的長度估算出此時排隊車輛的數(shù)目。
4 結(jié)束語
對交通視頻中的車輛計數(shù)進(jìn)行了研究,并針對天色變暗導(dǎo)致的車輛目標(biāo)提取不完整和由于光照產(chǎn)生偽目標(biāo)的情況提出了解決辦法。并利用VC++和OpenCV庫進(jìn)行了編程實驗,結(jié)果表明本方法能夠?qū)崟r有效的對車輛計數(shù)。但當(dāng)車速較慢,會出現(xiàn)多輛車輛粘連的情況;車輛變道時,車輛處于兩條橫向檢測線中間,都會影響計數(shù)的準(zhǔn)確性。另外,雨雪天氣、光線等因素,都會影響目標(biāo)檢測效果,可能會導(dǎo)致計算錯誤。因此,要適應(yīng)更復(fù)雜的情況需要做進(jìn)一步的研究。
參考文獻(xiàn):
[1]郝菲.智能監(jiān)控系統(tǒng)中運動目標(biāo)檢測跟蹤的研究[D].北京:北京交通大學(xué),2009,6:13-15.
[2]Dr Alan M. Mclvor. Background Subtraction Techniques[J]. IVCNZ00, Hamilton, NewZealand, 2000.
[3]楊大勇,楊建華,等.基于動態(tài)閾值的核密度估計前景檢測算法[J].計算機(jī)應(yīng)用,2015,35(7):2033-2038.
[4]常志國,李晶,等.基于視頻的車流量統(tǒng)計算法[J].計算機(jī)系統(tǒng)應(yīng)用,2016,25(7):187-191.
[5]唐雨操.基于車輛識別的車輛追蹤與計數(shù)[J].信息與電腦,2016,13:97-98.
[6]張韜.基于視頻的車流量檢測建模與分析[J].計算機(jī)與數(shù)字工程,2014,6(42):1075-1078.
[7]楊昌瑞.基于視頻圖像的車輛計數(shù)新方法[J].公路工程,2015,40(3):250-252.