郭怡文,袁飛虎
(武漢大學電子信息學院,武漢 430079)
智能交通系統ITS[1]是一種實時、高效、全方位的綜合交通運輸管理系統。車流量檢測作為其重要組成部分,為道路智能化信息管理調度與道路規劃建設提供依據。目前得益于人工智能計算機視覺技術和硬件技術的飛速發展,圖像和視頻技術已經廣泛應用于新一代智能交通系統中。國內常見的車流量檢測方法有超聲波檢測、環形感應圈檢測等主要方法。超聲波檢測精度不高,容易受車輛遮擋和行人的影響;環形感應圈檢測精度高,但要求設置于路面土木結構中,對路面有損壞,不便于施工和安裝。背景差分算法是一種基于視頻流的運動檢測技術,是一種結合數字圖像處理和模式識別的技術[2],其效率高、開發成本低、檢測準確率高;隨著計算機技術和多媒體技術的迅速發展,自動控制和多媒體技術的融入,其使用范圍將越來越廣泛。
背景差分的基本原理就是利用兩幀圖像之間的差來判斷物體的出現和運動,背景差分法用序列中的每一幀與一個固定的靜止參考幀(不存在任何運動物體)做圖像差[3]。這種方法的優點是位置精確、速度快,滿足實時處理的要求,因為它只需要獲取當前的一幅圖像。
背景差分方法檢測效果的好壞在很大程度上依賴于背景圖像的質量。背景圖像會隨著光照強度和方向的變化而緩慢變化。背景差分方法的優勢可以獲得完整的運動物體的外形,但關鍵在于找一個背景模型的自適應更新算法。在利用背景差分或幀間差分方法提取目標時,還必須選擇適當的閾值。閾值的選取對目標分割效果影響非常大,不適合的閾值很可能使整個系統無法實現預期的設計功能。背景更新、閾值選取是背景差分算法的關鍵技術[4]。
背景差分法是最常用、最有效的交通視頻處理模式,而背景估計正是背景差分法的基礎和核心環節。采用背景差分法進行運動檢測,先要對背景進行準確的估計,再用當前圖像和背景圖像進行差分運算,并對差分圖像進行區域分割,提取出運動區域。車輛交通序列圖像間具有很強的相關性,僅僅利用單幀的信息進行處理容易產生錯誤,更好的方法是聯合多幀的信息進行分析。基于這一思想,可以根據各個坐標處像素值在整個序列中的統計信息對運動場景的背景進行抽取。
背景估計有很多方法,本系統采用效果較好且效率相對較高的均值法,即任意像素點的背景信息由序列圖像中對應像素點顏色的均值來確定,如式(1)所示。


圖1 背景獲取隨N值變化的情況Fig.1 The effect of background acquisition
由圖1所示,N取值越大合成背景越好。但實際上隨著時間推移,光線不斷變化,再考慮到時間因素,N取100~200就比較合適了。
由于環境光線在不斷地變化,要準確檢測出運動車輛,需要及時對背景進行更新。獲得初始圖像以后,接下來就是在獲得初始圖像的基礎上進行背景更新。通過計算當前幀和背景幀的差值,得到當前背景差分圖像 DK(i,j),有:

對背景進行更新:

實驗證明:上式中α取0.1時效果比較好,即表明在新的背景中,原來的背景占有90%的比例,這一點也是符合實際的,背景之間的變化只能是漸變的,所以在相鄰的背景之間有著很大的相似性。利用上面這種動態的背景更新方法,可以獲得比較理想的結果[5]。這種方法雖然在開始時要損失一段時間,用中值法來進行背景抽取,但是在得到理想背景的條件下,用二值背景差分圖像來更新,可以減少計算量,確保系統的實時性。
對于不同光線背景下的差分圖像,用固定的閾值T去進行二值化顯然不能對每一幀圖像都達到很好的效果。希望得到的閾值不僅可以將目標從背景中分離出來,而且要能根據不同的圖像來智能地選取。1978年提出的Otus法以其計算簡單、穩定有效而一直廣為使用。由于車輛交通圖像內容不太復雜、灰度分布較集中,所以本系統采用了Otus閾值化技術,以簡化閾值的選取。Otus方法的基本思想:選取的最佳閾值T應當使得不同類間的分離性最好。
對于灰度級為0~255,M×N的一幅圖像,記f(i,j)為圖像點(i,j)處的灰度值。
Otus法具體步驟:
1)計算圖像的直方圖統計結果,得到灰度值為k的頻率PHS(k)為

2)計算圖像的灰度均值μT為

3)計算灰度類均值μ(S)和類直方圖之和ω(S)為

4)計算類分離指標σB為

最后,求出使σB達到最大的值s,則最佳閾值T=s。
如圖2所示的差分圖像經過計算得到的二值化處理的閾值為T=35。Otus法求閾值不管圖像的直方圖有無明顯的雙峰,都能得到較滿意的結果,這種方法是全局閾值自動選擇的最優方法。

圖2 Otus二值化方法處理效果圖Fig.2 The result of thresholding image using Otus
在采集到的視頻圖像幀中,在每條車道上人為地設置一條橫向或縱向的虛擬線,因為當有車經過虛擬線時,虛擬線上像素的亮度值會產生明顯變化,所以根據此變化量是否超過設定的閾值判斷此車道是否存在車輛。
檢測線的長度以及具體放置范圍應根據車流行駛軌跡的統計規律來確定。檢測線水平放置于圖像的中下部每個車道之上,如圖3中橫線所示,在此位置可以在一定程度上避免前車遮擋后車的問題。虛擬線的寬度設置為1個像素。由于攝像頭俯視路面的角度影響,即使不同車輛運動速度相同,其在視頻圖像中的移動速度也不相同。檢測線的長度設置為整個道路的寬度,這樣即可實現對于各個車道車流量的檢測。本系統中采取的是3條平行的檢測線,其中兩邊的兩條是主要部分,中間一條起輔助作用,設置如圖所示。兩邊兩條檢測線的距離要求大于一個車輛背窗的長度,小于最短車輛的長度,大于最小車距,每隔一段時間檢測一次。

圖3 檢測線設置Fig.3 Set of test line
當交通狀況較好,路面車輛較少的時候,每隔5幀檢測一次。若5幀內3條檢測線有兩條都檢測到有物體通過,則認為有車通過,通過檢測到橫向位置的不同即可判斷是哪個車道上的車。當交通擁擠,車輛行駛非常緩慢的時候,需相應降低本系統的檢測頻率,在此種條件下,檢測精度會有所下降。
本系統在Windows XP操作系統下,使用Visual C++6.0編程實現。
具體來說,系統包括以下幾個大的部分[6]。
1)圖像獲取。由CCD攝像機拍攝交通圖像,并由圖像采集卡進行模數轉換,存入計算機內存中。
2)設定虛擬檢測區域。根據攝像頭和地面的距離以及所成的角度合理設置虛擬檢測線圈的大小以及在圖像上的位置。
3)運動目標檢測。對存入內存的圖像進行獲取背景、預處理、二值化閾值分割和后處理,然后提取出車輛目標。
4)流量檢測。根據流量檢測的原理和判定標準來進行車流量的檢測。
5)背景更新。為了讓背景在系統整個工作過程中更好地適應光線變化,并且更新速度滿足實時性處理要求,強制性地使背景每隔一段時間重新進行一次獲取。可以根據統計信息,在每天車流量較小時重新開始獲取背景。
詳細的系統流程圖如圖4所示。

圖4 系統軟件設計流程圖Fig.4 Software flow chart
本系統軟件在Windows XP操作系統Visual Studio 6.0編譯環境下編譯調試,硬件配置為:雙核 CPU,2.1GHz主頻,4G內存。程序界面見圖5。

圖5 程序界面Fig.5 Software screenshot
將程序數車的結果和人工數車的結果進行比較,用漏檢率、虛警率、準確率作為指標來評價系統的性能,其各自定義如下:
漏檢率=系統漏檢車輛的數目/程序數車的總數量;
虛警率=系統多數車輛的數目/程序數車的總數量;
準確率=1-漏檢率-虛警率。
系統在不同天氣情況下測試了兩組數據:一組是陰天,車輛沒有陰影的影響;另外一組是晴天,車輛有陰影。每段視頻時間都為2 min。實驗測得數據如表1和表2所示。

表1 陰天實驗檢測數據Table 1 Experimental data on cloudy day

表2 晴天實驗檢測數據Table 2 Experimental data on sunny day
從以上實驗結果可以看出檢測系統的準確率較高,都在90%以上,陰天檢測時系統的準確率有所下降,主要是因為光線的原因,造成車輛目標的提取出現一些誤差。
本系統基于背景差分算法和虛擬檢測線實現檢測,方案簡單,成本較低,可用于嵌入式系統中。在計算機技術和人工智能技術越來越成熟的今天,視頻監控處理越來越多地運用于交通領域,相信本系統的優越性能在實現智能交通管制領域有著廣闊的用途。
[1]孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005.
[2]GONZALEZ R C.Digital image processing[M].Beijing:Publishing House of Electronics Industry,2003:1-27.
[3]ZHANG Juan,MAO Xiaobo,CHEN Tiejun.Survey of moving object tracking algorithm[J].Appliacation Research of Computers,2009,26(12):4407-4410.
[4]魯力.基于運動檢測的圖像監控系統研究與實現[D].長沙:國防科學技術大學,2007.
[5]王栓.基于差分圖像的多運動目標的檢測與跟蹤[J].中國圖像圖形學報,1999,4(6):470-475.
[6]潘秦華.車輛目標檢測和交通流量檢測系統的研究[D].西安:西安電子科技大學,2005.