在現(xiàn)代交通管理和道路規(guī)劃中,交通流量和通行車輛的類型、速度是重要的參數(shù)。自動獲取這些數(shù)據(jù)的方法大致可以分為兩類:一類是利用壓電、紅外、環(huán)形磁感應(yīng)線圈等傳感器獲得車輛本身的參數(shù),這類方法跟蹤識別率較高,但是容易損壞,安裝也不方便;還有一類就是基于圖像處理和模式識別的方法,克服了前面一類方法的局限,由于圖像處理識別技術(shù)的進步和硬件性價比的大幅提高,有一定實用價值的系統(tǒng)已經(jīng)出現(xiàn)。這些系統(tǒng)的使用證明:圖像處理識別車型的方法日趨成熟,環(huán)境適應(yīng)能力較強,能長期穩(wěn)定工作,但是計算量大,識別正確率不如感應(yīng)線圈、激光讀卡等方法高。本文的研究屬于后者,利用安裝在高處的單個靜止攝像頭監(jiān)視路面,利用運動分割與模型匹配的方法,檢測并統(tǒng)計多車道的車流信息。
整個識別過程分三步:分割、跟蹤和車型判定。運動目標(biāo)的分割常采用幀差法。在監(jiān)控場合,攝像頭大多是固定的,背景基本沒有變化或者變化緩慢,可以從圖像序列中逐漸取出背景圖像,然后利用幀差法檢測出目標(biāo)區(qū)域,同時還可以檢測靜止目標(biāo)。由于識別過程中利用二值邊緣圖像,所以本文在圖像分割中對輸入圖像進行了梯度二值化處理。三維空間和二維圖像平面之間映射關(guān)系的確定,采用基于針孔模型的攝像機定標(biāo)來計算。對目標(biāo)區(qū)域的跟蹤,采用了區(qū)域特征向量的匹配跟蹤方法,減小了運算量。由于圖像處理的方法很難提取輪數(shù)、軸距等車輛本身參數(shù),所以在圖像車型識別中一般都采用三維模型在圖像上投影和車輛邊緣相匹配的方法。
1 背景重建和圖像分割
由于攝像頭固定,背景變化緩慢,因此,可以利用圖像序列逐漸恢復(fù)出背景圖像。其基本原理是:對每一個像素進行監(jiān)控,如果在較長時間內(nèi)灰度不發(fā)生明顯變化,則認(rèn)為該像素屬于背景區(qū)域,將該像素灰度值復(fù)制到背景緩沖區(qū),否則屬于前景區(qū)域。由于光照以及車輛陰影等影響,采用這種方法恢復(fù)出來的背景圖像存在較大噪聲。因此在實驗中對原始輸入圖像進行了梯度二值化處理,然后進行背景重建。這樣可以減小陰影的干擾,加快背景重建速度。由于識別是利用邊緣信息,所以梯度化對后面的識別過程沒有影響。
在得到背景邊界圖像后,利用幀差法可以分割出感興趣的目標(biāo)。但是,如果目標(biāo)區(qū)域和背景邊界重合(值都為“1”),相減之后該目標(biāo)區(qū)域被錯誤判定為背景區(qū)域 (值為“0”)。為了減小錯誤判決區(qū)域,本文在分割時參考了相鄰兩幀的二值化幀差fdmask,判決準(zhǔn)則如下:如果fdmask中某像素為“0”,則輸入圖像和背景圖像相應(yīng)像素相減;否則直接復(fù)制輸入圖像中相應(yīng)的像素值。分割結(jié)果經(jīng)過噪聲消除、形態(tài)學(xué)平滑邊界、種子填充、區(qū)域標(biāo)記等后續(xù)處理,就分離出了目標(biāo)。
2 攝像機定標(biāo)
在模型匹配中,需要從二維圖像恢復(fù)目標(biāo)三維信息,同時將三維模型投影到圖像平面上,因此必須計算三維空間到圖像平面的投影關(guān)系矩陣。這個過程就是攝像機定標(biāo)。本文采用基于針孔模型的攝像機定標(biāo)方法,其基本原理是利用給定的一組三維世界的點坐標(biāo)和這些點在圖像中的坐標(biāo),求解線性方程組,計算透視投影矩陣中的各個元素。透視投影矩陣如下:
其中u,v)是圖像坐標(biāo),(w,w,w)是三維坐標(biāo),M為投影矩陣,c為三維空間中點到攝像機鏡頭的矢量在主光軸上的投影距離。要求解M的各個元素,根據(jù)文獻介紹需要6個點的投影關(guān)系組成12階的方程組,通常方程組不獨立,沒有唯一解,采用近似計算的誤差較大。在(1)式基礎(chǔ)上經(jīng)過變形,將12階方程分拆成三個4階方程組,只需要利用4個點的投影關(guān)系,方程組的階次也只有4階,可以有效避免出現(xiàn)奇異矩陣,求出唯一解。由式(1)可以得出:
另外,除了4組點的坐標(biāo)之外,還需測定鏡頭主光軸的水平垂直傾角。
3 車輛的跟蹤和分類
在區(qū)域分割后,接下來進行區(qū)域跟蹤,利用相鄰兩幀的區(qū)域匹配從而在圖像序列中建立目標(biāo)鏈,跟蹤目標(biāo)從進入監(jiān)視范圍到駛離監(jiān)視范圍的整個過程。首先要確定匹配準(zhǔn)則。常用的圖像匹配方法有 Hausdorff 距離匹配法和圖像互相關(guān)。這兩種方法都需要逐個像素的計算。為了減小計算量,采用區(qū)域特征跟蹤法。目標(biāo)區(qū)域的特征包括區(qū)域形心坐標(biāo)、區(qū)域包圍矩形、區(qū)域運動速度及運動方向和區(qū)域面積。本文匹配準(zhǔn)則采用了兩個假定:同一目標(biāo)所對應(yīng)區(qū)域在相鄰兩幀中面積相近;同一目標(biāo)在前一幀中的區(qū)域形心加上運動速度所得到的形心預(yù)測值與后一幀中區(qū)域形心距離相近。跟蹤過程如下:
(1)將第一幀的各個區(qū)域當(dāng)作不同的目標(biāo),對各個目標(biāo)區(qū)域啟動目標(biāo)鏈。
(2)根據(jù)判決準(zhǔn)則,如果某目標(biāo)鏈中的區(qū)域在當(dāng)前幀找到了匹配區(qū)域,則用找到的匹配區(qū)域特征更新該目標(biāo)鏈中的區(qū)域特征。
(3)如果在形心預(yù)測值所在位置,當(dāng)前幀區(qū)域和目標(biāo)鏈中區(qū)域面積相差很大,則可以認(rèn)為發(fā)生了合并或者分裂現(xiàn)象。對目標(biāo)鏈中的區(qū)域包圍矩形,在本幀查找該矩形覆蓋了幾個區(qū)域,如果多于一個區(qū)域,則認(rèn)為發(fā)生了分裂現(xiàn)象。對分裂現(xiàn)象出現(xiàn)的新區(qū)域,啟動新的目標(biāo)鏈。同理,對于本幀區(qū)域的包圍矩形,查找該矩形覆蓋了幾個目標(biāo)鏈中的區(qū)域,如果多于一個,則認(rèn)為發(fā)生了合并現(xiàn)象,利用合并區(qū)域啟動新的目標(biāo)鏈,同時終止那些被合并區(qū)域的目標(biāo)鏈。
(4)對于目標(biāo)鏈中的區(qū)域,如果在本幀沒有與之相匹配的區(qū)域存在,則認(rèn)為發(fā)生了消失現(xiàn)象。目標(biāo)鏈并不立即終止,只有在經(jīng)過數(shù)幀仍沒有找到匹配之后,才終止該目標(biāo)鏈。
(5)查找本幀是否還存在新進入的區(qū)域,如果存在,則啟動新的目標(biāo)鏈。
采用這種方法可以快速跟蹤圖像序列中的目標(biāo),同時得到車輛在監(jiān)視范圍的平均速度。在計數(shù)時,只有目標(biāo)在連續(xù)數(shù)幀里出現(xiàn)才認(rèn)為是一個真正的目標(biāo)區(qū)域,只有目標(biāo)在連續(xù)數(shù)幀都沒有出現(xiàn)才認(rèn)為消失,因此可以消除那些暫時消失引起的計數(shù)錯誤。
車輛分類是個很復(fù)雜的問題。圖像處理方法要獲取輪數(shù)、軸距等車輛本身參數(shù)比較困難,因此圖像識別車型通常采用模型匹配方法。現(xiàn)有的研究大多是先抽取馬輛的幾條直線邊緣,然后用線條和模型邊緣匹配。由于在圖像中抽取直線本身的計算量相當(dāng)大,所以本文沒有抽取車輛邊緣直線,而是直接利用了Canny邊緣檢測的整體結(jié)果與模型相匹配。Canny邊緣與模型邊緣之間存在較大的形變,Hausdorff距離匹配對形變不敏感,所以采只Hausdorff距離作為匹配準(zhǔn)則是很適宜的。
||bj-ai||(A,B)被稱為從A到B的有向Hausdorff 距離,它反映了A到B的不匹配程度。h(B,A)的意義與h(A,B)相似。在具體計算Hausdorff 距離時,通常采用距離變換的方法。車型分類步驟如下:
(1)在分割結(jié)果的基礎(chǔ)上,對目標(biāo)區(qū)域進行Canny算子邊緣檢測,僅僅處理分割出的目標(biāo)區(qū)域的邊緣,減小了運算量。
(2)對Canny邊緣,采用串行距離變換,得到距離邊換圖像。距離變換圖像的每個像素灰度值等于該像素到目標(biāo)邊緣的最近距離。
(3)對各分割目標(biāo),恢復(fù)車輛的三維信息,只計算長度和寬度。由于二維圖像平面上一點對應(yīng)了攝像機坐櫥中不同深度的一系列點,所以在從圖像上一點恢復(fù)到該點在世界坐標(biāo)中的信息時,首先要給定該點在世界坐標(biāo)中一個分量以減少不確定度(這樣恢復(fù)出來的數(shù)值有些誤差,通常給出Z方向高度值Zw)。
(4)在計算目標(biāo)區(qū)域長度和寬度的同時,可以求出車輛底盤形心在地面上的位置(X,Y),根據(jù)速度方向判斷車輛在地面上的角度α。利用車輛本身的三維模型數(shù)據(jù)以及(X,Y,α),通過式(1)透視投影,消隱處理,可以確定車輛模型在圖像平面上的投影。
(5)當(dāng)目標(biāo)進入指定區(qū)域后,以模型投影圖像為核板,將投影圖像在距離變換圖像上移動,在每一個位置,求出模型投影圖像下距離變換圖像被模型輪廓線覆蓋的像素值之和,以這個和值作為在該位置當(dāng)前模型與實際車輛的匹配程度。將當(dāng)前模型在各位置所得匹配程度的最小值作為當(dāng)前模型與車輛的實際匹配程度,該最小值除以模型輪廓線的像素數(shù)目,即該模型與車輛之間的Hausdorff距離。對各種模型,分別求出它們與車輛之間的Hausdorff距離,取其中最小值對應(yīng)的那種模型即為車型識別結(jié)果。實驗過程中為了減小計算量,搜索方法采用了三步搜索法。
4 實驗結(jié)果
本實驗所采用的352x288視頻圖像,來自采用單千固定CCD攝像機于杭州天目山路拍攝的交通場景片斷。主要算法在Trimedial300 DSP上用C語言實現(xiàn),在圖像分割過程中進行了較多的梯度、降低噪聲、填充和標(biāo)記運算,平均處理一幀大約耗時0.3s。算法流程的全過程如圖1所示。
實驗證明,抽取背景和當(dāng)前幀之間進行差異檢測,分割較為準(zhǔn)確。對于比較淡的陰影,用梯度二值化方法可以部分消除陰影影響。由于只監(jiān)視邊緣變化部分,背景重建速度比直接利用灰度圖像重建背景快很多,干擾也較小。梯度二值化處理之后重建背景只需150-200幀,而不經(jīng)過梯度二值化處理在上千幀之后仍然沒有較好的背景,并且點狀噪聲和云霧狀模糊比較嚴(yán)重。
跟蹤計數(shù)的結(jié)果表明,利用形心和面積作為特征,可以快速跟蹤圖像序列中的目標(biāo),計數(shù)正確率可達95%。計數(shù)誤差主要在于遮擋引起的分裂合并處理不能完全如實反映目標(biāo)的運動,把合并區(qū)域當(dāng)作新出現(xiàn)的區(qū)域。如果合并區(qū)域再次分裂,分裂出來的區(qū)域就會被當(dāng)作新區(qū)域,造成計數(shù)偏大。為了簡化跟蹤算法,實驗僅在相鄰兩幀之間進行跟蹤匹配,這樣處理分裂合并的能力并不強,如果在多幀之間進行跟蹤,效果會好一些,但是算法比較復(fù)雜。
對于大小相差懸殊的車輛,如公共汽車和轎車,根據(jù)長度、寬度信息就很容易分別開來,根本不用進行后面的模型匹配。所以本文試驗主要針對了街道上常見的大小相差不太大的車輛,將它們分成了轎車、輕卡和面包車。試驗證明:直接利用Canny邊緣,根據(jù)Hausdorff距離匹配可以有效地對車型加以判別。由于沒有逐條抽取邊緣直線來與模型輪廓線匹配,計算量大為減小,算法實現(xiàn)簡單。由于轎車的外形大小變化相對較小,識別正確率最高,可達90%;輕型卡車次之;面包車的識別率最低,大約50-60%,錯誤部分主要被識別成轎車,主要原因是面包車的大小相差很大,模型匹配方法的一個不足也在于此。要提高識別率,模型細分是必需的工作。本試驗中攝像頭安裝在街道的前方,由于車輛最顯著的外形特征在于側(cè)輪廓,所以如果攝像頭安裝在街道旁邊拍撼車輛的側(cè)面圖像,可以認(rèn)為識別效果應(yīng)該會更好一些:另外,Canny算子的邊緣效果不是很好,噪聲比較大,也影響了判決結(jié)果。如果采用Hough變換抽取車輛邊緣的直線,計算量較大。如果陰影比較嚴(yán)重,還需要進行專門的去陰影處理。這些都是下一步工作要解決的問題。
責(zé)任編輯:gt
-
傳感器
+關(guān)注
關(guān)注
2551文章
51104瀏覽量
753614 -
攝像頭
+關(guān)注
關(guān)注
60文章
4841瀏覽量
95704
發(fā)布評論請先 登錄
相關(guān)推薦
評論