王建華,徐貴力,糜長軍,趙 敏,田裕鵬,王 彪,徐培智
(1.江蘇省交通科學研究院股份交科院,江蘇南京 211112;2.南京航空航天大學自動化學院,江蘇南京 210016)
隨著交通運輸業(yè)的快速發(fā)展,汽車數(shù)量的急劇增加,各種車輛違章行為層出不窮,車輛壓黃線屬于一種嚴重的交通違章行為,用視頻的方法檢測車輛壓黃線具有一定的實用價值。文中針對這個問題,提出了一種基于計算機視覺的車輛壓線檢測方法。
圖像預處理是視頻圖像處理的第一步,它是將輸入的圖像進行濾波去除噪聲,增強圖像的過程。經(jīng)過圖像的灰度化、二值化、中值濾波后可以使得感興趣的區(qū)域可視化效果得到改善,有利于對圖像的進一步處理。
邊緣檢測的基本思想首先是利用邊緣增強算子,突出圖像中的局部邊緣,然后定義像素的“邊緣強度”,通過設置閾值的方法提取邊緣點集。常用的檢測算子有Roberts算子、Sobel算子、Canny算子、拉普拉斯算子。經(jīng)實驗對比后發(fā)現(xiàn)使用Canny算子的邊緣提取效果優(yōu)于其他算子,因此文中在黃線提取中使用了Canny算子[1]。
判斷車輛是否壓線,要預先確定黃線的位置。文中采用Hough變換[2]進行直線提取,即通過圖像信息來自動獲取直線位置。
Hough變換是利用圖像的全局特性而直接檢測目標輪廓,將圖像的邊緣像素連接起來的常用方法。在預先知道區(qū)域形狀的條件下,利用Hough變換可以方便地得到邊界曲線而將不連續(xù)的邊緣像素點連接起來。Hough變換的基本思想是利用點、線的對偶性。圖像變換前在圖像空間,變換后在參數(shù)空間。在圖像空間XY中,所有通過點(x,y)的直線一定滿足方程
式中,p為斜率;q為截距。如果將x,y看成參數(shù),它又代表參數(shù)空間PQ中通過點(p,q)的一條直線。圖像XY中通過點(xi,yi)和(xj,yj)的直線上的每一點都對應參數(shù)空間中的每一條直線,而這些直線相交于(p',q'),(p',q')恰好就是圖像XY中過點(xi,yi)和(xj,yj)的直線的參數(shù)。由此可知,在圖像空間中同一條直線上的點對應在參數(shù)空間里是相交的直線,當給定圖像空間中一些邊緣點時,就可通過Hough變換確定連接這些點的直線方程。
常用的運動目標提取算法有幀間差法、背景差分法、背景模型法以及在這些基本算法基礎上提出的很多改進算法。其中,背景差分法主要應用于攝像機固定,背景圖像相對靜止的條件下,選取一幀圖像作為背景圖像,計算當前圖像與背景圖像的差來實現(xiàn)運動目標的檢測
其中,R(i,j)為待測的運動目標;F(i,j)為視頻序列圖像;G(i,j)為背景圖像。
文中以固定道路交通視頻為基礎進行研究,滿足使用背景差分法的條件,因此選用背景差分法來提取目標車輛。背景差分法的優(yōu)點是位置精確、運算速度快,不足之處是對環(huán)境光線的變化比較敏感,在非受控環(huán)境下需要加入背景圖像進行更新。目前主要的背景更新算法有圖像序列平均法[3-4]、IIR 濾波器法[5-6]等。
為更明顯地表示車輛的位置,文中采用矩形框對車輛區(qū)域進行標記。首先采用圖像分割技術將車輛從圖像中分割出來。圖像分割的定義為:令集合R代表整個圖像區(qū)域,對R的分割可看作將R分為N個滿足以下條件的非空子集R1,R2,…,RN。
(2)對于所有的i,j,當i≠j時,滿足Ri∩Rj= ?。
(3)對i=1,2,…,N,有P(Ri)=TRUE。
(4)對于i≠j,有P(Ri∪Rj)=FALSE。
(5)對i=1,2,…,N,Ri是連通的區(qū)域。
其中,P為對所有集合Ri中元素的邏輯謂詞,?則代表空集。文中使用大津法作為閾值分割法。大津法(Ostu)是大津于1979年提出,對圖像I,記T為前景與背景的分割閾值,前景點數(shù)占圖像比例為w0,平均灰度為u0;背景點數(shù)占圖像比例為w1,平均灰度為u1。圖像的總平均灰度為uT=w0×u0+w1×u1。從最小灰度值到最大灰度值遍歷T,當T使方差值σ2=w0×(u0-uT)2+w1×(u1-uT)2最大時,T即為分割的最佳閾值。方差是灰度分布均勻性的一種度量,方差值越大,說明構成圖像的兩部分差別越大,當部分前景錯分為背景或部分背景錯分為前景都會導致兩部分差別變小,因此使方差最大的分割意味著錯分概率最小。直接用大津法計算量較大,因此在實現(xiàn)時采用等價公式σ2=w0×w1×(u0-u1)2。完成車輛分割后,再進行圖像形態(tài)學處理,進而完成矩形框標記。
選取固定攝像機獲取的一段城市道路交通視頻作為研究對象。首先采用圖像分割技術,只選取黃線附近的大致區(qū)域,得到檢測帶,從而減少數(shù)據(jù)量,提高處理速度。實際情況中,由于光線影響以及人為劃定的黃線存在偏差,會造成圖像中的黃線不一定為嚴格意義上的直線。在用Hough變換標定黃線時會造成圖1右側所示的情況:兩條黃線并非完整直線,而是由直線段連接而成。通過連接距離最遠的端點即可得到道路中兩條黃線。而Hough變換后,就可以得到所有線段的端點,即用十字標出的端點。再用Matlab在圖中標定出黃線的位置[7],如圖1所示。
圖1 壓黃線車輛檢測示意圖
圖1(b)中兩條直色線即為用上述方法標定的黃線。黃線標定后,這兩者之間即為黃線區(qū)域,通過判斷這個區(qū)域內(nèi)是否有車輛,即可判斷是否有車輛壓線,達到檢測目的。由圖可以看出,圖中有車輛存在壓黃線的行為。確定黃線位置后,需要在圖中用矩形框標出車輛位置,圖2為車輛分割結果,圖3即為處理結果。
圖2 車輛分割結果
圖3 車輛標記
通過這個方法可以達到判斷車輛壓線的目的,并且算法簡單有效。但與此同時,由于實際車輛行進中車距較小,車輛之間存在遮擋現(xiàn)象,在分割以及標記中容易把幾輛連在一起的車誤判為一輛,對車輛的判斷和跟蹤造成影響,這也將是后續(xù)研究中需要解決的問題。
文中提出車輛壓線的檢測方法,可以比較準確地實現(xiàn)運動目標的檢測、分割、以及壓線的判斷,從整體效果看,基本滿足使用要求。
[1]CANNY J.A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[2]ILLNGWORTH J,KITTLER J.A survey of the hough transform[J].Computer Vision,Graphics and Image Processing,1988,44(1):87-116.
[3]JUNG Y K,HO Y.Traffic parameter extraction using videobased vehicle tracking[C].Proceeding of IEEE/I EEJ/JSAI International Conference on Intelligent Transportation Systems,1999:764-769.
[4]KAMIJO,MATSUSHITA,IKEUCHI K,et al.Traffic monitoring and accident detection at intersections[C].Proceeding of IEEE/IEEJ/J SAI International Conference on Intelligent Transportation Systems,1999:703-708.
[5]STAUFFER C,GRIMSON W E L.Learning patterns of activity using real-time tracking[J].IEEE Trans.PAMI,2000,22(8):747-757.
[6]崔錦泰.小波分析導論[M].西安:西安交通大學出版社,1997.
[7]王家文,李仰軍.Matlab 7.0圖形圖像處理[M].北京:國防工業(yè)出版社,2006.