王成鋼, 劉 海, 譚中慧
(中遠(yuǎn)海運(yùn)科技股份有限公司, 上海 200135)
隨著我國(guó)的車(chē)輛保有量不斷增加,道路交通管理水平不斷提升,道路交通參數(shù)調(diào)查方面的要求越來(lái)越高,其中測(cè)速是關(guān)鍵參數(shù)之一。目前應(yīng)用較為成熟的車(chē)速測(cè)量設(shè)備主要是傳統(tǒng)的地感線圈和微波車(chē)檢器,兩者均采用穩(wěn)定的有源信號(hào)作為觸發(fā)源,原理簡(jiǎn)單,信號(hào)穩(wěn)定,缺點(diǎn)在于:前者長(zhǎng)時(shí)間受車(chē)輛碾壓,容易損壞,使用壽命不長(zhǎng),且在運(yùn)行維護(hù)時(shí)需開(kāi)挖路面,難度大、成本高;后者易受鄰車(chē)的干擾,準(zhǔn)確性受制于交通流的復(fù)雜程度。諸多問(wèn)題隨著交通的不斷發(fā)展而日益凸顯。
近年來(lái),隨著視頻圖像處理技術(shù)的快速發(fā)展,許多學(xué)者開(kāi)始致力于研究基于視頻圖像技術(shù)的交通參數(shù)檢測(cè)方法[1],先后研究出虛擬線圈法和軌跡跟蹤法并將其運(yùn)用到車(chē)速測(cè)量中[2]。這2種方法可有效避開(kāi)傳統(tǒng)物理接觸式車(chē)速測(cè)量方法存在的問(wèn)題,安裝簡(jiǎn)單,維護(hù)方便,受交通流狀況的影響較小,但在車(chē)輛提取、目標(biāo)分割和穩(wěn)定性跟蹤等關(guān)鍵環(huán)節(jié)存在諸多技術(shù)瓶頸,檢測(cè)的準(zhǔn)確性和穩(wěn)定性均難以滿(mǎn)足實(shí)用要求。
為解決傳統(tǒng)測(cè)量方法、測(cè)速算法存在的問(wèn)題,引入圖像到距離二維映射和基于最小二乘法的測(cè)速擬合算法,通過(guò)將連續(xù)多幀目標(biāo)在視頻圖像中的像素空間位置轉(zhuǎn)換成時(shí)間序列上的距離空間位置,并對(duì)該組數(shù)據(jù)進(jìn)行最小二乘直線擬合,得到最佳的時(shí)間-位置直線,從而計(jì)算出目標(biāo)速度。該方法綜合利用多幀視頻數(shù)據(jù)和多個(gè)坐標(biāo)位置,采用直線擬合的方式,最大程度地剔除異常點(diǎn),有效提高車(chē)速測(cè)量的準(zhǔn)確性和抗干擾性。
a) 攝像機(jī)成像幾何模型
b) 路面關(guān)系對(duì)照?qǐng)D
通過(guò)將圖1a與圖1b相對(duì)比來(lái)分析該模型的抽象過(guò)程。圖1b中的N、M和F對(duì)應(yīng)的實(shí)際道路中的各基準(zhǔn)點(diǎn)手動(dòng)標(biāo)定,各點(diǎn)所處的空間位置與各點(diǎn)之間的區(qū)間長(zhǎng)度都是已知的,可清楚地看到m和n所代表的實(shí)際距離相等,這里假設(shè)該距離為A,則當(dāng)L變化時(shí)K也相應(yīng)發(fā)生變化,即求解函數(shù)關(guān)系L→K是求解最終映射關(guān)系的基礎(chǔ)。
在中間車(chē)道線上建立函數(shù)關(guān)系L→K,先求出中間車(chē)道線上每個(gè)像素對(duì)應(yīng)的實(shí)際距離。根據(jù)圖1a中的抽象模型得出L與K之間的函數(shù)關(guān)系如下。
(1)
(2)
(3)
(4)
通過(guò)該方法計(jì)算出中間車(chē)道上各點(diǎn)隨L變化對(duì)應(yīng)的距離K值,選擇中間車(chē)道最下端像素點(diǎn)對(duì)應(yīng)的位置為坐標(biāo)原點(diǎn),即可得到中間車(chē)道對(duì)應(yīng)像素的行與距離的映射關(guān)系模型為
S(i)=S0+K(i)
(5)
式(5)中:S(i)為中間車(chē)道上從下到上第i個(gè)像素點(diǎn)對(duì)應(yīng)的距離;S0為坐標(biāo)原點(diǎn)對(duì)應(yīng)的實(shí)際距離。
受攝像機(jī)架設(shè)角度和廣角成像曲面等諸多因素的影響,視頻圖像中豎直方向上處于同一行的像素對(duì)應(yīng)的實(shí)際距離各不相同。因此,若要準(zhǔn)確計(jì)算出任意目標(biāo)的空間位置,僅知道中間車(chē)道每個(gè)像素對(duì)應(yīng)的實(shí)際距離是不夠的,還需求出圖像上所有像素對(duì)應(yīng)的實(shí)際距離。
圖2為等距線示意。分別在中間車(chē)道線和右側(cè)車(chē)道線上標(biāo)定2組對(duì)應(yīng)坐標(biāo)點(diǎn),其中:左、右對(duì)應(yīng)2個(gè)坐標(biāo)點(diǎn)的連線垂直于道路,為道路橫向等距線;上、下相鄰2組標(biāo)定點(diǎn)之間的距離相等,為實(shí)際路面距離。假設(shè)p1(x1,y1)和p2(x2,y2)已知(見(jiàn)圖2a),要計(jì)算這2點(diǎn)對(duì)應(yīng)直線上的所有p(x,y),可通過(guò)計(jì)算p1(x1,y1)和p2(x2,y2)所在的直線上隨x變化的所有y值來(lái)確定所有具有相同實(shí)際距離的p(x,y)像素集,計(jì)算式為
(6)
a) 標(biāo)定直線上某點(diǎn)
b) 標(biāo)點(diǎn)直線以外等距線上某點(diǎn)
設(shè)圖像分辨率為X×Y,p1(x1,y1)、p2(x2,y2)、p3(x3,y3)和p4(x4,y4)為已知的手動(dòng)標(biāo)定點(diǎn),p5(x5,y5)為標(biāo)定點(diǎn)之外中間車(chē)道線上的某像素點(diǎn),p(x,y)為p5(x5,y5)所在等距線上右車(chē)道上的對(duì)應(yīng)點(diǎn)(如圖2b所示)。通過(guò)線性?xún)?nèi)插計(jì)算p(x,y)的坐標(biāo)位置,計(jì)算式為
(7)
用p5(x5,y5)和p(x,y)組成新的等距直線,根據(jù)式(6)即可計(jì)算出該等距線上其他各點(diǎn)的坐標(biāo)位置,從而確定等距線上各像素點(diǎn)的實(shí)際空間位置。
以此類(lèi)推,將p5(x5,y5)沿著中間車(chē)道從下到上以步長(zhǎng)1為單位滑動(dòng),依次確定圖像中Y條等距線上各坐標(biāo)點(diǎn)的空間位置,即可得到像素與距離的二維映射關(guān)系。
根據(jù)連續(xù)數(shù)幀目標(biāo)在圖像中的像素位置查詢(xún)像素-距離映射關(guān)系表,即可得到目標(biāo)在時(shí)間-距離坐標(biāo)系中的點(diǎn)位信息;根據(jù)該組數(shù)據(jù),按照偏差最小化原則進(jìn)行最小二乘法直線擬合,所得直線即為目標(biāo)速度關(guān)系直線,斜率為速度。
圖3為目標(biāo)定位[5],在圖像中的下方設(shè)置一條虛擬線圈,采用背景差法提取目標(biāo)在線圈處的二值化圖像,當(dāng)目標(biāo)車(chē)尾經(jīng)過(guò)虛擬線圈時(shí),計(jì)算目標(biāo)車(chē)尾的位置[6]。
設(shè)車(chē)尾穿過(guò)虛擬線圈時(shí)其正中間位置點(diǎn)的坐標(biāo)為p0(x0,y0),以該點(diǎn)為起始點(diǎn),沿車(chē)輛運(yùn)行方向劃定一塊帶狀區(qū)域,用于車(chē)尾跟蹤。采用灰度幀差法和直方圖統(tǒng)計(jì)法計(jì)算車(chē)尾的位置[7]?;叶葞罘ǖ臄?shù)學(xué)表達(dá)式為
(8)
式(8)中:Gi為跟蹤區(qū)域內(nèi)車(chē)道方向上第i個(gè)像素行的前一幀灰度和與當(dāng)前幀相應(yīng)像素灰度和之差;gfj為區(qū)域內(nèi)該像素行內(nèi)的第j個(gè)像素的前一幀灰度;gnj為第j個(gè)像素的當(dāng)前幀灰度;m表示跟蹤帶狀區(qū)域內(nèi)該像素行內(nèi)有2m個(gè)像素點(diǎn)[8]。連續(xù)跟蹤8幀,通過(guò)8個(gè)連續(xù)的灰度直方圖得到8個(gè)不同的車(chē)尾位置(見(jiàn)圖4)[9]。
a) 虛擬線圈
b) 目標(biāo)提取和車(chē)尾定位
a) 灰度值幀差直方圖序列及車(chē)尾定位
b) 車(chē)尾跟蹤序列
(9)
式(9)中:Hn={a0+a1x+…+anxn|a0,a1,…,an∈R}。所求曲線y=φ*(x)即為最小二乘解。若取Φ=Hn,則求得的擬合曲線y=φ*(x)稱(chēng)為多項(xiàng)式擬合曲線。得到多項(xiàng)式擬合的方程為
(10)
用最小二乘的原理分析距離和時(shí)間的(s,t)抽樣值,其函數(shù)關(guān)系式為
(11)
采用連續(xù)8幀視頻圖像進(jìn)行車(chē)尾定位和計(jì)算,時(shí)間跨度僅為320 ms。在這段時(shí)間內(nèi),設(shè)車(chē)輛的速度不變,s和t滿(mǎn)足線性關(guān)系s=vt+s0,即式(11)中的n=1,此時(shí)式(11)可轉(zhuǎn)換成
(12)
由于a0和a1分別表示起始距離和速度,因此直接用s0和v代替a0和a1,求解系數(shù)矩陣的內(nèi)積,將式(12)轉(zhuǎn)換成
(13)
取M=8,m=7,求解式(13)得
(14)
以Visual C++6.0為開(kāi)發(fā)工具,采用Windows應(yīng)用程序?qū)胃咚俟飞系?00萬(wàn)像素?cái)z像機(jī)進(jìn)行實(shí)地算法測(cè)試(見(jiàn)圖5)。
a) 車(chē)尾定位
b) 車(chē)尾跟蹤序列
分別在晴天、陰天和雨天等3種天氣狀況下的白天對(duì)算法進(jìn)行統(tǒng)計(jì)。平均誤差統(tǒng)計(jì)方程式為
(15)
式(15)中:Δ(v)為平均車(chē)速誤差;vi為算法測(cè)量車(chē)速;ai為雷達(dá)槍測(cè)量的實(shí)際車(chē)速。車(chē)速誤差統(tǒng)計(jì)結(jié)果見(jiàn)表1。
表1 車(chē)速誤差統(tǒng)計(jì)結(jié)果
由圖5和表1可知,算法的目標(biāo)定位準(zhǔn)確,車(chē)尾跟蹤效果較好,能較好地適應(yīng)各種天氣狀況,具有較好的穩(wěn)定性和魯棒性。
本文所述的基于視頻圖像的車(chē)輛測(cè)速算法利用視頻圖像與實(shí)際距離的對(duì)應(yīng)關(guān)系建立像素到距離的二維映射表,通過(guò)對(duì)車(chē)尾進(jìn)行定位和跟蹤獲取連續(xù)數(shù)幀視頻中車(chē)尾的位置,通過(guò)查詢(xún)映射關(guān)系表獲取車(chē)尾的實(shí)際位置,從而得到時(shí)間-距離坐標(biāo)系下目標(biāo)車(chē)輛的位置分布關(guān)系。根據(jù)該組數(shù)據(jù),采用最小二乘法擬合出最佳距離-時(shí)間坐標(biāo)系對(duì)應(yīng)直線,計(jì)算出的直線斜率即為所求目標(biāo)車(chē)速。該算法對(duì)攝像機(jī)的要求不高,對(duì)天氣的適應(yīng)性較好,采用多點(diǎn)擬合,準(zhǔn)確率高,具有較強(qiáng)的抗干擾性和魯棒性,具有較高的實(shí)用性和推廣價(jià)值。