楊良義,謝 飛,陳 濤
(1.重慶西部汽車試驗場管理有限公司, 重慶 401122;2.中國汽車工程研究院股份有限公司, 重慶 401122)
隨著社會的快速發(fā)展,交通問題已成為制約城市發(fā)展的關鍵因素之一。為解決道路交通問題,智能交通系統(tǒng)已成為新的研究熱點,其中車輛排隊長度檢測已成為關鍵技術之一。在車輛排隊長度檢測中,與傳統(tǒng)的車輛檢測方法相比,基于視頻圖像處理方法的車輛檢測技術可以獲取更多的信息,對車輛檢測和跟蹤也更加方便[1]。此外,在城市交叉路口,由于受天氣、人流、光照等多種因素的干擾,且車輛排隊存在相互遮擋的情況,很難從整體圖像中將單個車輛分割出來,所以一般不采用圖像識別中的模型識別方法[2]。
本文采用一種基于單目視覺識別的車輛排隊檢測技術,該技術包括車輛移動檢測、車輛存在檢測、車輛排隊檢測及長度計算3個部分。車輛移動檢測采用3幀差檢測方法,具有辨識精度高、運算相對簡單等優(yōu)勢。車輛存在檢測采用基于數(shù)學形態(tài)學的邊緣檢測方法,以解決傳統(tǒng)檢測對噪聲過敏的問題,該方法既能有效地濾除噪聲,又能相對完整地保留圖像中細節(jié)信息,可較好地實現(xiàn)檢測要求。對于車輛排隊檢測與長度計算,借助移動檢測窗算法可辨識出車輛排隊相關信息,再采用滅點原理和攝像機參數(shù)標定方法獲取攝像機內(nèi)外參數(shù),最后基于小孔成像原理,按照車輛隊列在圖像坐標與世界坐標的轉(zhuǎn)換關系,就可實現(xiàn)從像素距離到物理距離的轉(zhuǎn)換。實驗結果表明:該方法能有效提高了檢測的準確性,取得了令人滿意的檢測效果。
本文采用移動檢測窗法對車輛排隊長度進行檢測,其中每個窗口的檢測又分為車輛移動檢測和車輛存在檢測。
目前在車輛移動中常用的檢測方法大體有3種[3]。
1) 背景減除方法
背景減除方法是一種對當前圖像與背景圖像進行差分處理以檢測運動區(qū)域的技術,其優(yōu)點在于能快速、準確地檢測出運動物體,因其只需要將當前幀圖像與固定背景幀圖像相減,所以在獲得的差分圖像中只含有當前幀中的運動物體,因此檢測獲得的運動物體位置很準確。然而,該算法的前提是在圖像中只存在所要檢測的運動物體,而不存在其他運動物體。顯然,自然環(huán)境存在大量運動的物體,它們的存在會嚴重干擾圖像處理的準確性,所以背景減除法的不足之處是很容易受環(huán)境的影響,在非受控環(huán)境下需要加入背景圖像更新機制,即必須不斷地更換參考幀,且不適用于攝像頭運動或者背景灰度變化很大的情況。
2) 時間差分方法
時間差分法又稱相鄰幀差法,該方法基于像素的時間差分,是一種在連續(xù)的圖像序列中采用閾值化以提取圖像中運動區(qū)域的方法。其優(yōu)勢在于對動態(tài)環(huán)境有較強的自適應性,其缺陷是特征點的搜集不完全,很容易在運動實體內(nèi)部產(chǎn)生空洞現(xiàn)象。常見的方法有2幀差法、3幀差法,其檢測運動物體的流程如圖1所示。
圖1 時間差分法檢測流程
3) 光流方法
該方法借助運動目標的光流特性提取和跟蹤運動目標。代表性的算法是8參數(shù)匹配法,其最大優(yōu)勢是可獲取運動物體的細節(jié)運動信息,以便后續(xù)處理中運動信息的估計與跟蹤。值得注意的是,該方法運算復雜、計算量大,很少用于對實時性要求高的視頻檢測領域。其特點是不考慮特征匹配問題,在實際應用中可減少難度。因該方法涉及偏微分運算,且抗噪性能比較差,很少在視頻檢測領域應用。
除以上方法外,還有運動向量檢測方法,該方法能消除背景中的振動像素,其缺陷是難以精確地辨識出運動對象。
經(jīng)過對比,時間差分方法可滿足交叉路口車輛排隊長度檢測需求,因此本文采用3幀時間差分方法對車輛移動進行檢測。其原理是在3幀連續(xù)的圖像中,對1、2幀以及2、3幀分別進行差分運算。在運算過程中,因未變化區(qū)域與運動變化區(qū)域服從不同的統(tǒng)計規(guī)律,可設置變化檢測門限,對差分圖像分別做運動變化檢測和連通域識別。然后將獲得的圖像做去噪和空域識別,并進行相與運算[4]。最后基于物體自身的灰度信息恢復真正的運動圖像。該方法運算相對簡單,比較適用于交叉路口車輛排隊長度的實時檢測。
邊緣是圖像最基本的特征,是圖像分割及圖像理解的重要依據(jù)。由于圖像邊緣常被噪聲干擾,鑒于噪聲和邊緣都屬于圖像高頻信號,在濾除噪聲的同時,也破壞了圖像的邊緣,因此傳統(tǒng)經(jīng)典的邊緣檢測方法一般利用梯度極大值或2階導數(shù)過零值來檢測圖像邊緣,但其算子都對噪聲敏感,在處理含噪聲圖像時效果不太理想[5]。
本文采用一種基于數(shù)學形態(tài)學的邊緣檢測方法,其基本思想是采用具有一定形態(tài)的結構元素去量度、提取圖像中對應的形狀以識別目標。本質(zhì)上就是物體形狀集合與結構元素之間的相互作用,因其對邊緣方向不敏感,可在很大程度上抑制噪聲,從而檢測出真正的邊緣。該方法既能有效地濾除噪聲,又能保留圖像中原有的細節(jié)信息,因此具有較好的邊緣檢測效果[6]。
本文采用移動檢測窗算法[7]進行車輛排隊檢測。當1個檢測窗從隊頭向隊尾移動時,伸縮窗的長度可設置為視頻圖像中1輛車的長度,由于距離關系,可適度調(diào)節(jié)伸縮窗的長度。實驗結果證明:該調(diào)節(jié)對檢測結果并無太大的影響。
定義:Km為檢測窗內(nèi)運動像素數(shù)與像素總數(shù)的比值;Ke為檢測窗內(nèi)邊緣像素數(shù)與像素總數(shù)的比值;Yn為窗口標號;Tm和Te為分別為Km和Ke的閾值。
計算當前檢測窗Km、Ke,在T幀連續(xù)圖像中,若Km大于閾值Tm或者Km小于閾值Tm且Ke小于閾值Te,則Yn(t)=Yn(t-T)-1;在T幀連續(xù)圖像中,若Km小于閾值Tm且Ke大于閾值Te,則Yn(t)=Yn(t-T)+1,否則Yn(t)=Yn(t-T)。其中,Tm可取為0.1, 第1個檢測窗的Te取為0.1, 下一個檢測窗的Te是上一個的1.1倍,但Te值不得超過0.5,T可在15~20取值。
攝像機標定包括攝像機集合模型設置與攝像機標定2個步驟。攝像機集合模型決定了三維空間里的點和二維圖像中點的相互對應關系,即建立一個能反映攝像機獲取圖像的集合模型,通過建立集合模型求解出攝像機參數(shù)。攝像機參數(shù)標定一般采用滅點標定法。
如圖2所示,在透視投影中,一束平行于投影面的平行線的投影可以保持平行,而不平行于投影面的平行線的投影會聚集到一個點,這個點稱為滅點(vanishing point)。滅點可以看作是無限遠處的一點在投影面上的投影。
以下根據(jù)滅點的特征屬性標定攝像機內(nèi)外參數(shù):
1) 平行于同一平面(非成像平面)的直線形成的所有滅點共線;
2) 相機光心與滅點的連線與形成該滅點的空間平行線平行;
3) 空間3條兩兩正交的直線之間形成的滅點其相關的單位向量也兩兩正交;
4) 空間3條兩兩相交的直線形成的滅點組成的三角形,其重心為相機光軸與成像平面的交點;
5) 滅點的坐標變換與平移矩陣無關。
確定滅點有多種方法: Barnard[8]在1983年首先提出了基于高斯球的滅點表達方法;E.Lutton等[9]在此基礎上通過Hough變換確定滅點;加拿大的John C H等[10]通過兩幅影像中滅點的不變特性將真滅點與自然交叉點區(qū)分開來。
由于交通路面存在多種特殊線標,如斑馬線、車道線等,這些線標一般為平行且長度一定的線段,因此本文采用基于平行線滅點原理的方法標定攝像機參數(shù),通過路面原有且相互平行的車道線以標定攝像機參數(shù)。
如圖3所示,空間內(nèi)兩對平行線,其中AB∥CD,AD∥BC,O為攝像機光心,P為投影中心,|OP|長度為相機焦距f。多邊形abcd為空間中平行四邊形ABCD的成像圖形,兩平行線ad和bc、ab和dc在圖像坐標系下分別相交于Fu、Fv兩點,根據(jù)滅點原理可知Fu、Fv為2個滅點。過P點作直線FuFv的垂線PPuv,垂足為Puv,連接O與Puv。根據(jù)滅點屬性2可得OFu⊥OFv,由于OP垂直于成像平面且PPuv⊥FuFv,可以得到OPuv⊥FuFv。
圖3 平行線滅點形成示意圖
由勾股定理可知,在△OPPuv有
因為三角形△OPPuv與△OFuFv相似,由此可以計算出OPuv:
從上述圖像信息中可以得到點P、Fu、Fv和Puv im的坐標及|FvPuv|、|PuvFu|、|PvPuv|的長度,因此可以計算得到相機的焦距。
根據(jù)成像原理,世界坐標與像素坐標轉(zhuǎn)換為攝像機的旋轉(zhuǎn)矩陣??紤]實際攝像機安裝的特殊性,攝像機安裝光軸平行于車道線,攝像機無旋轉(zhuǎn)角和偏斜角,只存在傾斜角。因此,世界坐標系中的距離到像素坐標中的距離可以根據(jù)小孔成像原理計算得到。圖4為攝像機成像示意圖。
圖4中:O為攝像機光心所在位置;P為光心在圖像平面的投影;攝像機焦距f=|OP|;紅色帶箭頭線表示光軸方向;h為攝像機安裝高度;C為攝像機光心在車道平面的投影;A點為車隊長度檢測起始點;A′為車道起始位置在圖像中的成像點;B點為車隊長度檢測起始點;B′為車道起始位置在圖像中的成像點。
根據(jù)上述圖像信息可以獲取A′、B′、P的像素坐標,進而將PA′、PB′像素距離轉(zhuǎn)換為實際距離,在△OA′B′中可以得到角∠A′OB′(P點在A′、B′之間的情況下):
∠A′OB′=α1+α2=
(1)
(2)
在△OCA和△OCB中可以得到:
(3)
(4)
又因有式(5)成立,即
|AB|=|CB|-|CA|=
tan(α1+α2+β)·h-|CA|
(5)
再將式(2)~(4)代入式(5)中,可以得到式(6)。
|AB|=tan(α1+α2+β)·h-|CA|=
(6)
式(6)中:f根據(jù)攝像機標定結果得到;|PA′|、|PB′|可以根據(jù)圖像像素坐標位置換算得到;|CA|可以根據(jù)實際測量獲得;h為攝像機光心距車道平面的高度。
實驗場地為中國汽車工程研究院園區(qū)內(nèi)的某一個交叉路口,選擇其中某個路段測試其攝像機檢測效果。車輛排隊長度檢測中最重要的檢測目標為車頭與車尾,為此定義車道停車線為車隊的起始位置,如圖5所示。鑒于測試條件限制,在此僅選擇一輛車輛進行車輛排隊測試,并定義該車輛為車隊的尾車,于是檢測出該車距停車線的位置即可檢測出車隊長度。
圖5 車輛排隊長度檢測
實驗所用的視頻源為十字路口的監(jiān)控畫面,該攝像機安裝高度為6 m,攝像機光心到車道停車線的實際距離為28.7 m,經(jīng)過前期的攝像機標定,測得該攝像機焦距為11.59 mm。車輛從路口遠處向攝像機處不斷行駛,行駛過程中記錄車輛??课恢门c停車線的距離,多次測量記錄實際車輛排隊長度。再基于OpenCV圖像處理平臺,通過圖像處理技術識別車輛位置,并利用本文所述的車輛排隊長度計算方法計算出車輛到停車線的距離,從而獲得車輛排隊長度。
多次測量得到的檢測結果與實際結果對比如表1所示。
表1 實驗測試與實際結果對比
由圖6可知:測量絕對誤差隨著實際距離增大而增大,究其原因在于:攝像機遠處端像素距離所對應的實際距離逐漸增大,一般而言,實際測量距離越遠,圖像識別誤差越大。因此,圖6所示結果符合實際情況。
表1的實測數(shù)據(jù)也驗證了車輛排隊長度檢測方法所得到的測量結果是在允許誤差范圍內(nèi)的。
圖6 實際車隊長度與檢測結果對比
借助3幀差法和形態(tài)學邊緣檢測法,首先對圖像中的車輛排隊信息進行了有效提取,然后采用基于滅點原理的攝像機標定方法獲取了攝像機參數(shù),再利用小孔成像原理實現(xiàn)了對車輛排隊長度的計算。經(jīng)過實驗驗證,本文算法的計算誤差均在允許范圍之內(nèi)。實驗研究結果表明:本文提出的檢測方法是合理與可行的。
[1] 楊德亮,辛樂,陳陽舟,等.基于復式伸縮窗的車輛排隊與消散快速檢測算法[J].公路交通科技,2011,28(4):105-111.
[2] 沈振乾,苗長云,張芳.基于視覺的路口車輛排隊長度檢測方法[J].計算機工程,2014,40(4):218-222.
[3] 項昀.基于移動檢測的運動物體識別技術的研究[D].北京:北京交通大學,2007.
[4] 郝麗敏.基于數(shù)字圖像處理的智能交通控制系統(tǒng)的研究[D].武漢:武漢理工大學,2012.
[5] 曾俊.圖像邊緣檢測技術及其應用研究[D].武漢:華中科技大學,2011.
[6] 鄧彩霞,王貴彬,楊鑫蕊.改進的抗噪形態(tài)學邊緣檢測算法[J].數(shù)據(jù)采集與處理,2013,28(6):739-745.
[7] 楊永輝,黃磊,劉昌平.基于視頻分析的車輛排隊長度檢測[J].計算機應用研究,2011,28(3):1037-1041.
[8] BAMARD S.Interpreting perspective images[J].Artificial Intelligence,1983,21:435-462.
[9] LUTTON E,MAITRE H,LOPEZ-KRABE J.Contribution to the determination of vanishing points using hough transform[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1994,16(4):430 -438.
[10] LEUNG J C,NCLEAN H.Vanishing Point Matching[C]//Image Processing 1996.Proceedings International Conference.Lausanne:[s.n.],1996.