摘 要: 針對城市道路交通流量檢測中的實(shí)時(shí)性和準(zhǔn)確性的要求,在背景差分的基礎(chǔ)上提出了一種改進(jìn)的基于虛擬窗口檢測的方法。通過獲取前景目標(biāo)盡量少的幀圖像,快速建立虛擬窗口的初始背景模型,并實(shí)時(shí)更新背景;將Sobel邊緣檢測算法引入前景目標(biāo)檢測,從而快速檢測出前景目標(biāo)變化的完整區(qū)域,提高檢測的準(zhǔn)確率;再使用基于HSV色彩空間直方圖勢函數(shù)去除陰影算法,進(jìn)一步去除前景目標(biāo)中的陰影區(qū)域,有效地保留了真實(shí)的運(yùn)動目標(biāo)區(qū)域;最后統(tǒng)計(jì)交通車流量,可結(jié)合其他信息(如紅綠燈狀態(tài))做出該路段相應(yīng)的交通流狀況判斷。通過實(shí)驗(yàn)結(jié)果證明,所提出的檢測算法可有效應(yīng)用于視頻交通車流量檢測中。
關(guān)鍵詞: 交通檢測;虛擬窗口;背景差分法;去除陰影;Sobel算子
0 引言
交通車流量檢測是智能交通(Intelligent Transportation System,ITS)的一個(gè)重要研究課題,是進(jìn)行車流量預(yù)測和當(dāng)前路段車流量狀況判斷的基礎(chǔ)。由于傳統(tǒng)的檢測方法存在維護(hù)不方便、檢測時(shí)間長、獲取信息單一等問題,使其使用范圍受到限制。隨著計(jì)算機(jī)技術(shù)和圖像處理信息檢測技術(shù)的發(fā)展,目標(biāo)檢測在刑偵、ITS、遙感等各方面得到了廣泛的應(yīng)用。當(dāng)前車輛檢測的主要算法有:光流法[1]、圖像差分法(包括幀間差分法[2]、背景差分法[3])?;诠饬鞣ǖ母櫛O(jiān)測可以精確地檢測出運(yùn)動目標(biāo),但由于其運(yùn)算時(shí)間長,難以滿足實(shí)時(shí)性的應(yīng)用要求,受噪聲影響較大,從而很少實(shí)際使用。幀間差分法是將視頻序列中的圖像進(jìn)行相鄰幀或多幀間差分運(yùn)算檢測出運(yùn)動前景區(qū)域,對光照強(qiáng)度、天氣變化不敏感,但在大多數(shù)情況下難以獲得完整的運(yùn)動目標(biāo)。背景差分法通過當(dāng)前幀和背景圖像做差的運(yùn)算,可以獲得較為完整的運(yùn)動目標(biāo),但需要獲取實(shí)時(shí)準(zhǔn)確的背景。在交通監(jiān)控中,攝像頭通常是被固定在道路正前斜上方的支架上,所拍攝到的圖像并不是完全靜止不動的,如數(shù)枝搖晃、大型車輛經(jīng)過時(shí)帶來的明顯震動以及周圍建筑物的影子等,這些都應(yīng)該被歸入到背景當(dāng)中去。
針對以上方法的優(yōu)缺點(diǎn),本文采用背景差分法檢測出運(yùn)動前景區(qū)域,然后與輪廓檢測相結(jié)合獲取完整的目標(biāo)輪廓,再采用陰影去除算法去除目標(biāo)中的陰影部分,最后用自適應(yīng)閾值算法更新背景與判決閾值獲取前景目標(biāo)。本文中的大部分計(jì)算都只對選定的虛擬窗口的圖像進(jìn)行處理,從而實(shí)現(xiàn)快速有效的交通車輛流量檢測。
1 選取虛擬窗口
當(dāng)車輛行駛到交通路口時(shí),每輛車都會選擇各自需要的車道行駛,因此可以在每個(gè)車道上設(shè)置檢測虛擬窗口。根據(jù)攝像機(jī)安裝的位置和角度,以及實(shí)際拍攝視頻圖像的大小范圍,選取位置、大小合適的虛擬窗口,保證選取的區(qū)域方向盡量與車輛行駛方向垂直。一般都把虛擬窗口的位置選在每幀圖像靠近下方位置,車輛在此區(qū)域互相之間的距離相對較大,不會出現(xiàn)車輛遮擋的問題。虛擬窗口的高度一般選5到10個(gè)像素,寬度盡量覆蓋整個(gè)車道,本文每個(gè)車道最下方的第一個(gè)窗口取10個(gè)像素高度,再在每個(gè)車道上方超過一輛車左右的位置選取的第二個(gè)窗口取7個(gè)像素高度。每個(gè)車道上有兩個(gè)虛擬檢測窗口,一方面可以減小檢測誤差、提高檢測準(zhǔn)確率,另一方面也可以結(jié)合紅綠燈的狀態(tài)判斷當(dāng)前該路段的交通擁堵情況。虛擬窗口的選取如圖1所示。
2 窗口背景初始化及更新
2.1 背景模型初始化
背景差分法的背景模型有人為給出、基于統(tǒng)計(jì)建立模型[4]等方式。手動給出要求在人觀測到?jīng)]有前景車輛經(jīng)過時(shí)獲取當(dāng)前圖像為背景。這種方式不但會帶來成本投入增加,而且在大多數(shù)時(shí)間很難準(zhǔn)確觀測到直接的背景。而基于統(tǒng)計(jì)建立背景模型的方式就顯得更具方便、快捷的優(yōu)勢。在實(shí)際監(jiān)控中,每個(gè)前景目標(biāo)只能在監(jiān)控畫面中存在有限的時(shí)間,在視頻序列幀圖像中造成差異較大的像素點(diǎn)主要是由運(yùn)動目標(biāo)引起的。因而在利用統(tǒng)計(jì)平均模型法簡單、計(jì)算速度快的優(yōu)點(diǎn)之上,盡量選取無運(yùn)動目標(biāo)的窗口圖像建立背景模型,不僅計(jì)算時(shí)間短,而且初始化背景質(zhì)量高,與真實(shí)的背景差異小。虛擬窗口背景模型初始化的步驟如下:
(1)選取視頻序列前面一定幀數(shù)量n(一般不小于100)對應(yīng)虛擬窗口圖像進(jìn)行背景建模。
?。?)先對每幀圖像進(jìn)行預(yù)處理[5],再進(jìn)行Sobel[6]輪廓提取并優(yōu)化處理。
(3)如果包含輪廓的最小矩形大于整個(gè)虛擬窗口的1/8,則認(rèn)為該幀圖像無前景目標(biāo),標(biāo)記為1,否則為0。
flagi=1 Sobeli>T0 Sobeli≤T (0<i≤n)(1)
其中,flagi是第i幀圖像的標(biāo)記;Sobeli是第i幀圖像的輪廓圖最小矩形大小,是虛擬窗口大小的1/8。
?。?)當(dāng)式(1)中i取到n時(shí),如果標(biāo)記為0的幀數(shù)不小于n/3,對所有標(biāo)記為0的圖像求均值作為初始化的背景模型,否則對所有n幀圖像求平均作為初始化的背景模型。
其中,B0(x,y)是初始化的背景模型,Pi(x,y)是第i幀圖像在點(diǎn)(x,y)處的像素值,N0是標(biāo)記為0的總幀數(shù)。
2.2 背景模型更新
由于受到外界天氣、光線等因素的影響,背景圖像是不斷緩慢變化的,有時(shí)還會出現(xiàn)例如經(jīng)過灑水車造成的突變,所以需要背景模型能夠?qū)崟r(shí)更新,提供可靠的背景圖像。本文采用改進(jìn)的遞歸算法更新背景,遞歸算法的計(jì)算公式為:
其中,Bi(x,y)是當(dāng)前背景,Bi-1(x,y)是上一幀背景,Ii是當(dāng)前幀圖像,是學(xué)習(xí)率。當(dāng)?琢取值過大會使更新速率過快,部分前景也會被誤判為背景;當(dāng)取值過小會導(dǎo)致更新速率太慢,不能提供有效的實(shí)時(shí)背景圖像。由此可見,如果取值不合適就會嚴(yán)重影響車輛檢測的準(zhǔn)確度,通過多次試驗(yàn)取得最佳經(jīng)驗(yàn)值為0.05~0.1。
改進(jìn)新算法的基本思想是:當(dāng)檢測到車輛經(jīng)過時(shí),仍然使用上一幀的背景,在沒有檢測車輛時(shí)一直更新背景,同時(shí)更新背景的學(xué)習(xí)率和有車輛經(jīng)過時(shí)前景判斷閾值。具體步驟如下:
?。?)初始化各個(gè)參數(shù),獲取當(dāng)前(i)幀和上一(i-1)幀窗口圖像,并進(jìn)行預(yù)處理。
?。?)計(jì)算當(dāng)前幀和上一幀圖像的均值currMean、LastMean,并取它們差值的絕對值abs(currMean-LastMean)。
?。?)學(xué)習(xí)率更新0.05+abs(currMean-LastMean)/1000.0,這樣就有效地縮小了建模背景與真實(shí)背景之間的差距。
(4)當(dāng)檢測到車輛而背景沒有更新時(shí),為了判別出更高質(zhì)量的前景目標(biāo),相應(yīng)的閾值調(diào)整為大律法[7](Ostu)閾值。
?。?)最終的背景更新算法計(jì)算公式為:
Bi(x,y)=Bi-1(x,y)
?。?)如果程序沒有結(jié)束,i自增1,返回到步驟(1)繼續(xù)執(zhí)行直到結(jié)束。
3 前景目標(biāo)檢測
3.1 邊緣算法比較
為了獲得較為完整的前景目標(biāo),可以利用邊緣檢測算法來獲取目標(biāo)輪廓。不同的邊緣檢測算法處理后的結(jié)果有很大的差異,常用的邊緣檢測算法有Sobel算法、Robert算法、Laplace算法、Prewitt算法等[8-10]。本文采用Sobel算法,其基本原理是:邊緣的灰度函數(shù)是一個(gè)一次函數(shù)y=kx,對該函數(shù)求一階導(dǎo)數(shù)得到的斜率k是一個(gè)常數(shù),而非邊緣的一階導(dǎo)數(shù)則為零,這樣通過求一階導(dǎo)數(shù)就可以判斷圖像的邊緣了。但是,由于實(shí)際應(yīng)用到圖像中沒一個(gè)準(zhǔn)確的函數(shù)可以求導(dǎo),就采用一個(gè)3×3的窗口來對中間像素點(diǎn)進(jìn)行近似求導(dǎo)。Sobel算子有兩個(gè),一個(gè)是水平邊緣檢測,另一個(gè)是垂直邊緣檢測。兩個(gè)算子如下所示:
其中,Gx表示水平方向上的梯度,Gy表示水垂直向上的梯度。
在虛擬窗口檢測的方法中,窗口與車輛運(yùn)動方向垂直,而且車體本身的邊緣主要在相對水平和垂直方向上,因此可以較好地檢測出前景目標(biāo)。將原始圖像與4種檢測結(jié)果進(jìn)行對比,如圖2所示,通過觀察可以發(fā)現(xiàn)Sobel算法能夠較好地檢測出前景目標(biāo)的邊緣信息。
3.2 HSV色彩空間直方圖去除陰影
陰影是由于物體遮擋住了光線傳播,不能穿過不透明的物體而形成亮度較暗的區(qū)域,也就是人們常說的影子。這種現(xiàn)象尤其在天氣較好的早晨和傍晚會造成物體旁邊出現(xiàn)較大的陰影區(qū)域。在目標(biāo)檢測領(lǐng)域,陰影常常會被誤判為運(yùn)動目標(biāo),因此消除陰影是必須要面臨的一個(gè)問題。在總結(jié)前人研究成果的基礎(chǔ)上,本文發(fā)現(xiàn)可利用HSV色彩空間[11]飽和度在陰影區(qū)和非陰影區(qū)變化微小的特點(diǎn),結(jié)合直方圖勢函數(shù)[12]獲取無陰影的前景目標(biāo)。算法具體步驟如下:
?。?)獲取當(dāng)前幀圖像并轉(zhuǎn)化到HSV色彩空間,取出飽和度分量,計(jì)算其直方圖函數(shù)。
去除陰影的前景目標(biāo)如圖3所示。
3.3 交通流量檢測
每個(gè)車道上的檢測窗口都在同一水平線上,每輛車只能通過一個(gè)檢測窗口,如果同時(shí)通過兩個(gè)窗口,則在一般情況下是一個(gè)窗口檢測到得多,另一個(gè)檢測到得少,只有檢測到多的窗口才計(jì)數(shù),另一個(gè)窗口忽略計(jì)數(shù)。每個(gè)窗口會出現(xiàn)兩種檢測結(jié)果:(1)檢測到車輛;(2)沒檢測到車輛。將前一幀檢測結(jié)果與當(dāng)前幀檢測結(jié)果進(jìn)行比較得到以下幾種結(jié)論:從(1)到(2)表示車輛進(jìn)入檢測區(qū);從(2)到(2)表示車輛還沒離開檢測區(qū);從(2)到(1)表示車輛離開檢測區(qū);從(1)到(1)表示無車輛進(jìn)入檢測區(qū)。每個(gè)虛擬窗口的檢測流程如圖4所示。
結(jié)合紅綠燈的狀態(tài)和每個(gè)車道上的第二個(gè)檢測窗口的檢測結(jié)果,可以做出相應(yīng)的判斷:當(dāng)綠燈亮?xí)r,每個(gè)車道上的兩個(gè)檢測窗口檢測到車輛,并且在一定時(shí)間內(nèi)沒有計(jì)數(shù)的窗口超過一定數(shù)量就可判斷該路段現(xiàn)在處于擁堵狀態(tài);或者將檢測計(jì)數(shù)結(jié)果與該路段的吞吐量相比較也可做出相應(yīng)的交通狀況判別。
4 實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證本文算法的有效性,實(shí)驗(yàn)選取了一段有明顯陰影的交通監(jiān)控視頻,分別在有去除陰影算法和沒有去除陰影算法的情況下進(jìn)行檢測對比。以第46、47幀和第366幀圖像左下角虛擬窗口為例進(jìn)行檢測,結(jié)果如圖5所示,檢測結(jié)果的上圖是沒有去除陰影算法的檢測結(jié)果,下圖是本文有去除陰影算法的檢測結(jié)果。
對比第46、47幀圖像的檢測結(jié)果,本文算法可以有效地去除陰影區(qū)域。在第366幀圖像的監(jiān)測區(qū)域中,全部檢測區(qū)域被大型車輛的陰影覆蓋,同時(shí)又有小型車輛從陰影區(qū)經(jīng)過,本文算法也能很好地檢測出前景目標(biāo),并去除了陰影區(qū),滿足了交通流量對檢測準(zhǔn)確性的要求。不同多車道檢測結(jié)果如表1所示。從表1的結(jié)果可以看出本文檢測算法的準(zhǔn)確率可達(dá)97%以上,能夠滿足檢測系統(tǒng)的準(zhǔn)確性要求。
5 結(jié)論
本文采用只對虛擬窗口內(nèi)圖像處理的算法,在具體算法上快速建立背景模型,并實(shí)時(shí)更新后,結(jié)合背景差分法和Sobel邊緣檢測算法提取出前景目標(biāo),再用去除陰影算法得到的前景與其融合得到更準(zhǔn)確的前景目標(biāo)區(qū)域。而且大多數(shù)運(yùn)算是在灰度圖的基礎(chǔ)上進(jìn)行的,只針對有效的信息進(jìn)行處理,這樣就大大加快了計(jì)算速度,使檢測系統(tǒng)的準(zhǔn)確性和實(shí)時(shí)性都有明顯的改善,在ITS中將會有一定的實(shí)用性。但是陰影去除在虛擬窗口更窄的情況下檢測效果會變得不理想,還需進(jìn)一步研究,有望實(shí)現(xiàn)更復(fù)雜的功能。
參考文獻(xiàn)
[1] WIXSON L. Detecting salient motion by accumulating directionally-consistent flow[J]. IEEE ransaction on Pattern Analysis and Machine Intelligence,2000,22(8):774-780.
[2] TSAI D M, LAI S C. Independent component analysis based background subtraction for indoor surveillance[J].IEEE Transactions on Image Processing,2009,18(1):158-160.
[3] 王靜,保文星.一種基于差分算法的視頻運(yùn)動目標(biāo)檢測技術(shù)[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26,(12):68-70.
[4] KATO J, WATANABE T, TOGA S, et al. An HMM/MRF-based stochastic framework for robust vehicle tracking[J]. IEEE Transactions on Intelligent Transportation Systems, 2004, 5(3):142-154.
[5] GONZALEZ R C, WOODS R E. 數(shù)字圖像(第二版)[M].阮秋琦,阮宇智,譯.北京:電子工業(yè)出版社,2007.
[6] 付光遠(yuǎn).一種基于Sobel分解算子的圖像邊緣檢測并行算法[J].微電子學(xué)與計(jì)算機(jī),2006(9):132-134.
[7] Zhu Qidan, Jing Liqiu, Bi Rongsheng. One-dimensional threshold average decomposition for two-dimensional Ostu algorithm[J]. Proceedings of 2010 Chinese Control and Decision Conference, 2010(10):2783-2788.
[8] Zhang Lei, BAO P. Edge detection by scale multiplication in wavelet domain[J]. Pattern Recognition Letters,2002(23):1771-1784.
[9] 鄭瑩,孫燮華.圖像邊緣檢測Laplace算子的改進(jìn)[J].沈陽建筑大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,21(3):268-271.
[10] Zhang Renyan, Zhao Guoling, Su Li. A new edge detectionmethod in image processing[C]. Proceedings of IEEE International Sympo sium on Communications and Information Technology, 2005:445-448.
[11] 張麗,李志能.基于陰影檢測的HSV空間自適應(yīng)背景模型的車輛追蹤檢測[J].中國圖象圖形學(xué)報(bào)(A輯),2003,8(7):778-782.
[12] 陳云彪,鄭賢超.運(yùn)動目標(biāo)去除陰影的跟蹤[J].電子世界,2014(6):252-253.