吳 浩,胡永祥
(湖南工業(yè)大學(xué) 計算機學(xué)院,湖南 株洲 412000)
基于視頻的夜間車輛檢測
吳 浩,胡永祥
(湖南工業(yè)大學(xué) 計算機學(xué)院,湖南 株洲 412000)
由于夜間道路情況復(fù)雜,光照條件差,使得夜間車輛檢測成為車輛檢測技術(shù)的難點。提出一種基于視頻的夜間車輛檢測方法,首先通過圖像處理的基本方法提取車前燈,然后通過對圖像遍歷以及遍歷后縮小范圍再遍歷來對車燈進行定位,最后根據(jù)同一車輛兩端車燈位置特征進行車燈的匹配。這種方法有效避免了對含有四個車前燈車輛的重復(fù)檢測,以及不同車輛車燈之間的誤匹配。
車輛檢測;視頻;車燈檢測
隨著計算機視覺技術(shù)的飛速發(fā)展,基于智能視頻監(jiān)控技術(shù)[1]的自動全天候進行實時分析報警的優(yōu)勢日益明顯,使其在智能交通系統(tǒng)[2]、平安城市建設(shè)、航道管理和商業(yè)監(jiān)控等領(lǐng)域普遍應(yīng)用,其中在智能交通系統(tǒng)中的應(yīng)用尤為突出。
基于視頻的智能交通系統(tǒng)中車輛檢測技術(shù)[3]是最關(guān)鍵的環(huán)節(jié),路況分析、車輛計數(shù)、無人駕駛、車輛測速和智能停車等都必須進行車輛檢測。由于道路情況的復(fù)雜多變、光照條件的變化以及天氣的多變,都給車輛檢測技術(shù)帶來巨大的挑戰(zhàn)。白天,光照條件較好,陰影問題和遮擋問題是其中的難點。在夜間,難點主要在于光線不足、光源相對較弱、遮擋問題以及背景和車輛對比度非常低。
目前,對夜間車輛檢測的研究并不多,文獻[4]提出聯(lián)合時空信息的夜間車輛提取方法,這種方法使用幀差法提取運動區(qū)域,均值平滑濾波去除噪聲,Otsu尋找分割閾值,最后提取運動車輛。這種方法比較局限于運動車輛,不能對靜止車輛進行檢測。文獻[5]分為充足照明和低照度兩種情況來檢測車輛,充足照明情況下使用梯度濾波去除地面反光,再用幀間差分檢測運動區(qū)域,低照度下還引入先驗知識檢測車前燈,但是該方法局限于運動車輛。文獻[6]采用一種隔幀幀差和相鄰幀差相結(jié)合的一種累積幀差的方法來檢測夜間車輛。使用梯度濾波來消除路面對車燈的反光,使用連通域閾值的方法去噪,同樣局限于運動車輛檢測[7]。文獻[8]使用了HLEPT算法[9],這種算法既可以進行車的提取,又可以進行車燈配對跟蹤。文獻[10]通過二值化的方法對車前燈進行分割,并根據(jù)車燈的面積、車燈之間的距離以及車燈的長寬等條件進行匹配,這種方法忽略了并排行駛車輛車燈近似,符合判斷條件產(chǎn)生的誤判。文獻[11]引入改進的Boosting模糊算法,也是一種檢測車燈的方法。通過SIFT方法[12]和融合多特征方法提取車燈特征,再通過改進的Boosting算法[13]進行加權(quán)投票,最后根據(jù)燈光顏色、運動信息以及車燈空間進行匹配。
本文主要研究四個車前燈車輛的檢測以及并排行駛相似車輛誤檢率的降低,該方法主要包括車燈的提取和車燈的匹配。首先通過預(yù)處理以及車燈間的距離提取出同一車輛兩端的車燈,然后再根據(jù)同一車輛兩端車燈位置特征進行車燈的匹配。實驗結(jié)果表明,這種方法誤檢率較低。
由于夜間車輛與背景對比度低,因此很難根據(jù)車輛整體的外形檢測出車輛,車前燈在夜間照度高,較為明顯且穩(wěn)定性很好,所以可以根據(jù)車前燈來檢測車輛。
首先將每一幀圖像轉(zhuǎn)化為灰度圖像,再通過對圖像的二值化處理將車燈從灰度圖像中分割出來,二值化的公式為:
(1)
公式(1)中f(x,y)表示灰度圖像中(x,y)處的灰度值,T為設(shè)置的二值化閾值,即若灰度圖像中(x,y)處灰度值大于T,則在分割后圖像中令其灰度值為255,反之令其灰度值為0。通過實驗發(fā)現(xiàn),當T的值設(shè)置較大時,會將一些車燈照明效果不佳的車輛誤判為背景,且T越大誤判率越高;而若T的值設(shè)置較小,就不會對車輛造成誤判,但是受車燈光在地面產(chǎn)生的反射影響,且T越小影響越大。所以需要多次實驗選擇比較適中的T值。如圖1所示,圖1(a)為原圖,圖1(b)即為二值化處理后的圖像。
圖1 車前燈提取
由圖1(b)可見,二值圖像中車燈周圍存在一些噪聲,為了去除二值圖像中產(chǎn)生的噪聲,還應(yīng)對圖像進行腐蝕操作,圖1(c)即為腐蝕操作的結(jié)果圖像,由圖可見,二值圖像中的噪聲明顯減少,但是車燈區(qū)域變小,為了后期的車燈匹配,本文又對其進行了膨脹操作,結(jié)果如圖1(d)所示。
處理后的圖像上方即攝像頭遠處車燈燈光造成的反射依舊存在,但是離攝像頭距離較近的部分反射已經(jīng)完全去除,所以本文設(shè)置圖像的下面部分作為檢測區(qū)域,來進行車燈的檢測匹配,其他區(qū)域不再考慮,這樣不僅可以避免反射的問題,還可以提高運行速率。這里將檢測區(qū)域的垂直距離設(shè)置為一輛車的長度,因為配合下文的檢測區(qū)域內(nèi)的車燈匹配,必須保持同一車道內(nèi)最多同時出現(xiàn)一輛車的車前燈。檢測區(qū)域劃分結(jié)果如圖1(e)所示,這樣車燈就可以成功地從圖像中提取出來了。
車燈分割出來后,需要對車燈進行定位,為后續(xù)的車燈匹配做準備工作。傳統(tǒng)的定位方法一般是尋找分割后車燈的輪廓,然后再根據(jù)尋找到的輪廓,計算出輪廓的最小外接矩形,這樣就可以定位出單個車燈。但是部分車輛夜晚開啟四個車前燈,傳統(tǒng)方法會定位出四個車燈,匹配后就會造成車輛的重復(fù)檢測。所以本文使用了一種新的定位方法來定位車燈,在定位四車燈車輛時會將同一側(cè)上下兩個車燈定位在一起,這樣匹配后就不會造成車輛的重復(fù)檢測。
首先對圖像遍歷,為了避免過多的重復(fù)計算,并不需要對圖片中每個點進行計算,水平方向和豎直方向每隔一個固定值計算一次灰度值。每當計算出的灰度值為255時,即判斷其為車燈上的一點。然后以該點為中心,周圍固定大小的正方形區(qū)域進行遍歷,尋找正方形區(qū)域中所有灰度值為255的點,取其中的最小橫坐標、最大橫坐標、最小縱坐標以及最大縱坐標。如圖2所示,設(shè)點A為初次遍歷得到的灰度值為255的點,對周圍正方形區(qū)域進行遍歷,最后得到X1,X2,Y1,Y2,則可以取(X1,Y2)和(X2,Y1)兩點作為矩形對角點,進行定位。
對于正方形區(qū)域大小的設(shè)置,從兩方面考慮,一是不能夠?qū)⑧徑囕v車燈或者同一車輛另一側(cè)車燈包含進來,二是在開啟四車燈的車輛中,必須能夠完全包含一側(cè)的兩個車燈。如圖2所示,B點周圍的正方形區(qū)域即圖中B點周圍的虛線框,不能夠包含到左邊車燈任何一點,但必須將下方車燈完全包含,這樣才能避免車輛的重復(fù)檢測。兩車并排行駛時,兩車之間必須留有一定的車距,而且必須大于某個值,本文將最小車距稱為安全距離,如圖2中,X2X3即為安全距離,所以正方形區(qū)域的1/2邊長必須小于X2X3,還要求B點周圍的正方形區(qū)域要將C點所在車燈完全包含進來,然而不會包含到左邊車輛的車燈,C點周圍的正方形區(qū)域能夠?qū) 點所在車燈完全包含進來。
圖2 車燈的定位
圖3 定位結(jié)果
圖3即為定位的結(jié)果圖,圖中可以看出,檢測區(qū)域的車燈都被定位出來了,且四車燈車輛與兩車燈車輛的定位結(jié)果達到了預(yù)期的效果,為下一步車燈的匹配做好了準備。
車燈定位后,需要對其進行匹配,使得同一車輛車燈配對到一起,從而檢測出該車輛。在匹配過程中,還需要考慮一些特殊情況引起的誤匹配和無法匹配,比如摩托車等其他車輛車燈對車燈匹配造成的影響,由于攝像頭角度問題導(dǎo)致的同一車輛兩端車燈的大小形狀不一致問題,同排車輛車燈大小形狀相似帶來的誤匹配等問題。本文主要通過車燈的外部形態(tài)特征、車燈的位置以及設(shè)置車道來對車燈進行匹配??紤]到摩托車等只含單個車燈車輛的干擾以及汽車一端車燈不亮的概率較低,所以不對單個車燈的車輛進行檢測處理。
以檢測區(qū)域矩形的左下角為原點,水平方向為X軸,垂直方向為Y軸,建立坐標系,如圖4所示,則車燈匹配必須滿足一下所有條件:
(1)同一車輛兩端的車燈幾乎處于同一縱坐標上,但是由于攝像頭位置以及車輛行駛不可能達到絕對地平行于Y軸,因此兩車燈定位矩形的對角點縱坐標之差的絕對值必須都小于一個定值b,若b偏大,會造成不同車輛車燈的無匹配,若b偏小,會造成同一車輛車燈無法匹配,通過實驗可以得到這個定值b,如圖4(a)所示。
(2)
(2)同一車輛兩端車燈橫向距離也應(yīng)該在一個范圍內(nèi),距離太小和距離很大都不能判定為同一車輛的兩個車燈,不能進行匹配,如圖4(a)所示。
(3)
通過對檢測區(qū)域的車輛取樣,測出車前兩燈距離,最后可以得到min和max的值。
(3)如果兩輛車的車燈相似度很高,而且并排行駛,很容易同時符合條件(1)和條件(2),造成兩車之間的誤匹配。如圖4(a)所示, 車燈I和車燈II很容易配對成功,檢測為一輛車,從而形成誤檢。對于這種情況,選擇了設(shè)置車道的檢測方法,車道根據(jù)視頻的角度采用手動添加的方法,攝像頭固定,這種方法還分為無車輛變道和有車輛變道兩種情況。
①如果在檢測區(qū)域內(nèi)沒有車輛變道,如圖4(a)所示,將檢測區(qū)域劃分為3個車道,分別為車道ABCD、CDEF、EFGH,車燈I和車燈II為不同車輛車燈,分別在三個車道內(nèi)進行條件(1)和條件(2)的判別匹配,這樣車燈I和車燈II就不會進行匹配。
圖4車燈匹配模式
②如果在檢測區(qū)域有車輛發(fā)生變道,如圖4(b)所示,車燈III和車燈IV為同一車輛兩端的車燈,但是在不同的車道,①的方法是無法進行匹配的。所以這里引入虛擬的車道IJKL和KLMN,由于之前將檢測區(qū)域的寬度設(shè)置為一輛車的長度,所有一個車道最多只能有一輛車通過。首先對車道ABCD、CDEF以及EFGH進行判斷,設(shè)置flag,flag1,flag2都為0,若車道ABCD有車,則設(shè)標志flag為1;若車道CDEF有車,則設(shè)標志位flag1為1;若車道EFGH有車,則設(shè)標志位flag2為1。
若flag+flag1=0,則說明車道ABCD和車道CDEF都沒有車輛通過,即可啟用車道IJKL,就可以判斷車道ABCD和車道CDEF之間有無變道車輛。
若flag1+flag2=0,則說明車道CDEF和車燈EFGH都沒有車輛通過,即可啟用車道KLMN,就可以判斷車道CDEF和車道EFGH之間有無變道車輛。
通過這種方法,車燈III和車燈IV就可以完成配對,即可檢測出該車輛。
本文使用了夜晚九點左右的單方向三車道道路監(jiān)控視頻作為實驗視頻,對于由于攝像頭角度問題不能完全出現(xiàn)在檢測區(qū)域的車輛進行了人工計數(shù),計算各種情況的準確率。
如圖5即為實驗結(jié)果截圖,檢測區(qū)域中的矩形即為設(shè)置的車道,圖5(a)中為三輛車進入檢測區(qū)域被檢測出來,圖5(b)中檢測到四車燈車輛。根據(jù)實驗條件,選取靜止車輛30輛、運動車輛100輛、開啟四車燈車輛50輛、開啟兩車燈車輛100輛進行實驗,表1為對誤檢率、丟失率以及準確率的統(tǒng)計。
圖5 實驗結(jié)果圖
靜止車輛運動車輛合計兩車燈四車燈合計誤檢率/%6.6723.08142丟失率/%3.3311.54222準確率/%90.009795.38979496
本文提出的車輛夜間檢測算法包含了車燈的提取以及車燈的匹配,本文方法檢測對象可以是運動車輛也可以是靜止車輛,可以精確地檢測出兩車燈車輛以及四車燈車輛,雖然沒有進行跟蹤,但是通過設(shè)置車道的檢測方法,可以避免車輛的誤檢,具有較低的誤檢率和丟失率。
[1] 黃凱奇,陳曉棠,康運峰,等.智能視頻監(jiān)控技術(shù)綜述[J].計算機學(xué)報,2015,38(6):1093-1118.
[2] 陸化普,李瑞敏.城市智能交通系統(tǒng)的發(fā)展現(xiàn)狀與趨勢[J].工程研究——跨學(xué)科視野中的工程,2014,6(1):6-22.
[3] 張暉,董育寧.基于視頻的車輛檢測算法綜述[J].南京郵電大學(xué)學(xué)報,2007,27(3):88-94.
[4] 李熙瑩,唐佳林,羅東華.聯(lián)合時空信息的夜間運動車輛提取算法[J].計算機應(yīng)用與軟件,2010,27(10):126-127,198.
[5] 陳柏生.基于圖像處理的夜視車輛檢測[J]. 微型機與應(yīng)用, 2012, 31(5):36-38.
[6] 李從生,柏軍,周廣綠.基于幀差法的夜間城市道路車輛檢測[J].制造業(yè)自動化,2011,33(2):212-214.
[7] 譚榮偉,雷蘊奇,陳柏生.夜間運動車輛檢測[J].計算機工程與應(yīng)用,2005,41(13):227-228.
[8] Wan Weibing, Fang Tao, Li Shuguang. Vehicle detection algorithm based on light pairing and tracking at nighttime[J].Journal of Electronic Imaging,2011,20(4):1-10.
[9] Wu Haitao, Hong Huo, Tao Fang, et al. Nighttime video vehicle detection in complex environment[J]. Application Research of Computers, 2007,435(3):927-939.
[10] Zhou Shifu, Li Jianxiong, Shen Zhenqian, et al.A night time application for a real-time vehicle detection algorithm based on computer vision[J].Research Journal of Applied Sciences ,Engineering and Technology,2013,5(10):3037-3043.
[11] 朱韶平.基于改進Boosting算法的夜間運動車輛檢測[J].寧夏大學(xué)學(xué)報,2014,35(1):28-32.
[12] KE Y, SUKTHANKAR R. PCA-SIFT: a more distinctive representation for local image descriptors[J]. 2004, 2(2):506-513.
[13] SCHAPIRE R E. The boosting approach to machine learning: an overview[M]. Nonlinear Estimation and Classification. New York: Springer, 2003.
Nighttime vehicle detection based on video
Wu Hao, Hu Yongxiang
(School of Computer Science, Hunan University of Technology, Zhuzhou 412000, China)
Because of the complexity of the road conditions and the poor lighting at night, the vehicle detection at night time is a difficulty for vehicle detection technology. So a nighttime vehicle detection algorithm based on video is proposed. Firstly, the headlights are segmented by the basic method of image processing, and then the headlights are located by traversing the entire image. Finally, the headlights are matched by the position feature of headlights. The method avoids the duplicate detection on vehicle which contains four headlights, and reduces the error matching between different vehicle headlights.
vehicle detection; video; headlight detection
TP391
A
10.19358/j.issn.1674- 7720.2017.20.016
吳浩,胡永祥.基于視頻的夜間車輛檢測[J].微型機與應(yīng)用,2017,36(20):54-56,60.
2017-04-21)
吳浩(1991-),通信作者,男,在讀碩士研究生,主要研究方向:圖像處理。E-mail:wuhaoycth@sina.com。
胡永祥(1973-),男,博士,副教授,主要研究方向:圖像處理。