王慶峰,張全法,李 煥,任朝棟
(鄭州大學(xué) 物理工程學(xué)院,鄭州 450001)
基于單目視覺的車輛監(jiān)控系統(tǒng)應(yīng)用的標(biāo)定方法有一維標(biāo)定方法和二維標(biāo)定方法.由于一維標(biāo)定方法僅能測(cè)量?jī)牲c(diǎn)之間的縱向距離,只可以用來檢測(cè)交通流量[1].若要通過車輛識(shí)別與跟蹤技術(shù)檢測(cè)各種違章行為如違章調(diào)頭,則必須進(jìn)行二維標(biāo)定,即確定圖像上的點(diǎn)在二維路面坐標(biāo)系里的坐標(biāo).由于實(shí)際應(yīng)用中需要監(jiān)控的路口或路段很多,不同路口或路段的監(jiān)控區(qū)域在形狀、大小等方面各不相同,而監(jiān)控范圍又非常大,導(dǎo)致標(biāo)定參照物的制作、運(yùn)輸和擺放等都存在困難,那些應(yīng)用于其他領(lǐng)域、需要特制標(biāo)定參照物的小范圍標(biāo)定算法是不適用的[2-5].文獻(xiàn)[6]介紹的二維標(biāo)定算法通過自動(dòng)識(shí)別高速公路車行道分界線來推導(dǎo)云臺(tái)攝像機(jī)的參數(shù),雖然不需要特制的標(biāo)定參照物,但是不適用于非結(jié)構(gòu)化的城市道路,而且仍然需要通過復(fù)雜的算法來確定攝像機(jī)參數(shù),具有很難保證解的唯一性和穩(wěn)定性、受圖像噪聲影響大等缺點(diǎn).為此,本文提出一種新的二維標(biāo)定算法,不需要特制的標(biāo)定參照物,也不需要確定攝像機(jī)參數(shù),既適用于城市道路,又具有算法簡(jiǎn)單、操作方便、標(biāo)定范圍大、標(biāo)定速度快等特點(diǎn),在實(shí)際應(yīng)用中獲得了較好的效果.
為了方便討論,利用一幅在交通路口拍攝的圖像建立圖像坐標(biāo)系OXY和路面坐標(biāo)系oxy,如圖1所示.OXY為平面直角坐標(biāo)系,任意像素在其中的坐標(biāo)用(X,Y)表示.oxy近似為平面直角坐標(biāo)系,因?yàn)橐话闱闆r下監(jiān)控區(qū)域可以近似為平面,任意像素在其中的坐標(biāo)用(x,y)表示.這里取y軸與一條車行道分界線重合,x軸與之垂直.假定攝像機(jī)的光軸與x軸垂直,并且X軸與x軸平行.
圖1 圖像坐標(biāo)系和路面坐標(biāo)系
根據(jù)成像原理推導(dǎo) x、y與X、Y的關(guān)系時(shí),x、y皆為X、Y的二元非線性函數(shù),而且包含難以確定的攝像機(jī)內(nèi)部、外部參數(shù)[7].為此,基于針孔成像模型在圖1中繪制了幾條直線,它們?cè)诼访孀鴺?biāo)系里的關(guān)系為:os、gr、fd 、ac 四者相互平行 ,os、gr 之間的距離等于fd、ac之間的距離,并且都等于人行橫道線寬度;bt、cs類似于ao,也分別與車行道分界線重合,三者相互平行,并且ao、bt之間的距離等于bt、cs之間的距離.通過觀察它們?cè)趫D像坐標(biāo)系里的位置,發(fā)現(xiàn)利用變量分離法可以簡(jiǎn)化這種關(guān)系.
首先,Y坐標(biāo)相同的像素的y坐標(biāo)也相同,而Y坐標(biāo)不同的像素所代表的y方向增量dy不同.因此可用一個(gè)與X無關(guān)的非線性函數(shù)y=f(Y)來描述各像素的y坐標(biāo)與Y坐標(biāo)之間的關(guān)系.f(Y)為Y的非線性函數(shù)這種關(guān)系,是由成像原理造成的.
其次,X坐標(biāo)相同的像素的x坐標(biāo)一般不同,X坐標(biāo)不同的像素的x坐標(biāo)可能相同,而Y坐標(biāo)不同的像素所代表的x方向增量dx不同.這使得可以用一個(gè)與Y無關(guān)的非線性函數(shù)x=fM(X)來描述Y坐標(biāo)為M的像素行上各像素的x坐標(biāo)與X坐標(biāo)之間的關(guān)系,其中M=0,1,…,N-1,N 為圖像Y 軸方向像素?cái)?shù).M必須有N個(gè)不同的取值,否則無法實(shí)現(xiàn) fM(X)的變量分離,從而不利于求解x.fM(X)并非必須為X的非線性函數(shù),因?yàn)樵卺樋壮上衲P拖耏坐標(biāo)相同的像素所代表的dx相同,采用非線性函數(shù)是為了在一定程度上彌補(bǔ)這種模型忽略鏡頭畸變的不足.
根據(jù)級(jí)數(shù)理論,無論非線性函數(shù)y=f(Y)多么復(fù)雜,當(dāng)|Y|<1時(shí)都可以用下面的多項(xiàng)式來逼近它:
式中:n為多項(xiàng)式階數(shù);a0,a1,…,an為待定系數(shù),當(dāng)攝像機(jī)調(diào)試好后為常數(shù),可以通過標(biāo)定確定,相對(duì)于通過標(biāo)定確定攝像機(jī)內(nèi)部、外部參數(shù)來說要簡(jiǎn)單得多.
一般情況下,增大n有利于提高逼近精度.但是n越大,待定系數(shù)越多,所需標(biāo)定數(shù)據(jù)也越多,標(biāo)定操作也越復(fù)雜.考慮到測(cè)量車輛位置時(shí)引起誤差的主要因素是車身高度與陰影等,太高的逼近精度意義不大,所以n不必取得很大.通過嘗試和比較,發(fā)現(xiàn)取n=3即可滿足要求.此時(shí)式(1)變?yōu)椋?/p>
確定式(2)中各待定系數(shù)的方法有最小二乘法、神經(jīng)網(wǎng)絡(luò)法和解方程組法等.前2種方法都需要m>4組標(biāo)定數(shù)據(jù),并且m越大越有利于減小標(biāo)定數(shù)據(jù)之誤差的影響,但是標(biāo)定操作也越復(fù)雜.由于標(biāo)定誤差不是測(cè)量誤差的主要來源,并且標(biāo)定數(shù)據(jù)時(shí)可以比較精確地人工測(cè)量圖像上兩點(diǎn)之間的實(shí)際距離,從而使標(biāo)定數(shù)據(jù)的誤差比較小,所以采用第三種方法,此時(shí)只需要m=4組標(biāo)定數(shù)據(jù).實(shí)驗(yàn)證明,這樣做能夠滿足要求.
假設(shè)有 4組標(biāo)定數(shù)據(jù)(yi,Yi),i=1 ,2,3,4,代入式(2)可得關(guān)于 a0,a1,…,an的線性方程組 :
利用程序求解方程組(3)很容易,不再贅述.而一旦解得 a0,a1,…,an,即可利用式(2)由圖像坐標(biāo)系里的Y坐標(biāo)求取路面坐標(biāo)系里的y坐標(biāo).若攝像機(jī)參數(shù)發(fā)生了變化,重新進(jìn)行標(biāo)定也很方便.
至于 x=fM(X)的確定,與上述過程類似,只不過對(duì)于每個(gè)M,都需要m=4組標(biāo)定數(shù)據(jù).
根據(jù)上述分析可知,只要知道了4個(gè)像素的Y坐標(biāo)與y坐標(biāo),就可以通過求解線性方程組確定 f(Y);而要確定 fM(X),則需要在每行像素上都知道4個(gè)像素的X坐標(biāo)與x坐標(biāo).這正好可以利用交通標(biāo)線來解決.利用人行橫道線、虛車行道分界線等可確定f(Y),因?yàn)榻o定它們的端點(diǎn)到 x軸距離的人工測(cè)量值后,這些點(diǎn)的y坐標(biāo)與Y坐標(biāo)皆屬已知.利用平行于y軸的車行道分界線與車行道邊緣線等可確定fM(X),因?yàn)榻o定它們到y(tǒng)軸距離的人工測(cè)量值后,其上所有像素的x坐標(biāo)皆屬已知、X坐標(biāo)皆屬可求.不過為了提高確定各種交通標(biāo)線的可靠性,應(yīng)采用人工指定的方法而不采用文獻(xiàn)[8]介紹的自動(dòng)識(shí)別法,因?yàn)槌鞘械缆飞宪囆械婪纸缇€可能不是直線并且虛實(shí)不定,車行道分界線間距與人行橫道線寬度不是常數(shù),各種交通標(biāo)線可能殘缺不全,及其他原因.
在圖像上利用交通標(biāo)線繪制坐標(biāo)系之后,確定f(Y)的過程如下:
(1)在圖像上利用交通標(biāo)線繪制3條與x軸平行、到x軸距離不為0且各不相同的直線,以便調(diào)整其上下位置.調(diào)整好后,輸入它們到 x軸距離的人工測(cè)量值即3個(gè)y值,由程序根據(jù)它們?cè)趫D像坐標(biāo)系里的位置求出3個(gè)Y值.再根據(jù)x軸在圖像坐標(biāo)系里的位置求出第4個(gè)Y值,而其y值為0.于是得到4組標(biāo)定數(shù)據(jù).
(2)取Ymax為稍大于|Yi|中最大值的數(shù)的整數(shù),將Yi/Ymax作為新的Yi,實(shí)現(xiàn)對(duì)標(biāo)定數(shù)據(jù)Yi的歸一化,i=1 ,2 ,3 ,4.
(3)將歸一化后的標(biāo)定數(shù)據(jù)代入式(3),解方程組得到 aj,j=0 ,1 ,2 ,3.
(4)進(jìn)行反歸一化,將 aj/Yjmax作為待定系數(shù)aj,j=0 ,1 ,2 ,3.
確定 fM(X)的過程與上述過程的主要區(qū)別在于:需要在圖像上利用交通標(biāo)線繪制3條到y(tǒng)軸距離不為0且各不相同的直線,并且仔細(xì)調(diào)整它們的端點(diǎn),使其在路面坐標(biāo)系里與y軸平行;還需要輸入它們到y(tǒng)軸距離的人工測(cè)量值即3個(gè)x值.對(duì)于每行像素,皆需由程序根據(jù)所繪直線在圖像坐標(biāo)系里的方程求出3個(gè)X值,并根據(jù)y軸在圖像坐標(biāo)系里的方程求出x=0的像素的X坐標(biāo)即第4個(gè)X值,而第4個(gè) x的值為0,從而得到4組標(biāo)定數(shù)據(jù).對(duì)于每行像素,皆需解方程組,所得待定系數(shù)各不相同.
利用型號(hào)為SONYH3的數(shù)碼相機(jī)拍攝了一段AVI格式的視頻用于實(shí)驗(yàn),圖像大小為640×480像素,相機(jī)高度約170cm.所用計(jì)算機(jī)的CPU為Pentium系列處理器,主頻1.70GHz;程序用VC6.0編寫.路面坐標(biāo)系如圖 2所示.用于確定 f(Y)的3條縱向標(biāo)定線如圖3所示,用卷尺測(cè)得它們到 x軸的距離分別為 300cm 、600cm、920cm.用于確定 fM(X)的3條橫向標(biāo)定線如圖4所示,用卷尺測(cè)得它們到y(tǒng)軸的距離分別為140cm、300cm、400cm.需要說明的是,程序中繪制各種線條時(shí),線條寬度僅1個(gè)像素;為了便于觀察,這里把線條描繪成了較粗的形狀.若不考慮界面操作耗時(shí),縱向、橫向標(biāo)定耗時(shí)均在1s之內(nèi),非???
圖4 橫向標(biāo)定線
為了評(píng)價(jià)標(biāo)定精度,在不同位置設(shè)置標(biāo)識(shí)物,用卷尺測(cè)量其路面坐標(biāo)的實(shí)際值,將鼠標(biāo)移動(dòng)到標(biāo)識(shí)物上,由程序根據(jù)鼠標(biāo)在圖像上的位置計(jì)算路面坐標(biāo)的測(cè)量值,結(jié)果如表1所示.表1中ex、ey分別表示橫向、縱向相對(duì)誤差.可以看出,標(biāo)定精度能夠滿足實(shí)際應(yīng)用的要求.
表1 路面坐標(biāo)測(cè)量結(jié)果
在設(shè)計(jì)的車輛監(jiān)控系統(tǒng)中應(yīng)用了上述標(biāo)定算法.該系統(tǒng)首先對(duì)二值化的背景差分圖像進(jìn)行車輛識(shí)別,再進(jìn)行交通參數(shù)計(jì)算和違章判定等.對(duì)于識(shí)別出的車輛,它可以給出其在路面坐標(biāo)系或圖像坐標(biāo)系里占據(jù)的矩形區(qū)域,分別如圖 5、圖 6所示(圖像經(jīng)過了裁剪).若未經(jīng)標(biāo)定,在圖像坐標(biāo)系里欲求取圖6所示矩形很容易,欲求取圖5所示四邊形(在路面坐標(biāo)系中為矩形)卻很困難,因?yàn)楸仨殞?duì)車輛輪廓數(shù)據(jù)進(jìn)行大量的復(fù)雜運(yùn)算.而經(jīng)二維標(biāo)定后,在路面坐標(biāo)系里求取圖5所示矩形則非常容易.顯然,由圖5所示矩形確定車輛的位置,要比根據(jù)圖6所示矩形確定車輛的位置更為準(zhǔn)確.另外,若不進(jìn)行二維標(biāo)定,也無法比較不同位置車輛的大小和左右關(guān)系.
不過,僅根據(jù)標(biāo)定結(jié)果對(duì)交通參數(shù)與違章行為進(jìn)行非常準(zhǔn)確的計(jì)算與判定尚存在一定的困難,其中主要原因在于車身、底盤高度及車身、底盤陰影的影響,需要采取進(jìn)一步的措施.例如,估計(jì)車速時(shí),根據(jù)車輛離攝像機(jī)最近端的位置,并采用文獻(xiàn)[9]中的方法,在消除陰影時(shí)保留車輛底部的暗影來減小底盤高度的影響(如圖5所示);檢測(cè)是否越過中心黃色雙實(shí)線時(shí),將攝像機(jī)安裝到其上方,并使其圖像盡量與Y軸平行.
利用單目視覺二維標(biāo)定算法可以對(duì)車輛監(jiān)控系統(tǒng)進(jìn)行二維標(biāo)定,從而可以通過車輛跟蹤實(shí)現(xiàn)各種違章判定.這種算法利用了監(jiān)控現(xiàn)場(chǎng)廣泛存在的交通標(biāo)線作為標(biāo)定參照物,通過求解線性方程組建立路面坐標(biāo)與圖像坐標(biāo)之間的關(guān)系來避免求取攝像機(jī)參數(shù),具有標(biāo)定速度快、標(biāo)定范圍大、操作方便、算法簡(jiǎn)單、標(biāo)定精度高等特點(diǎn).將這種算法應(yīng)用到設(shè)計(jì)的車輛監(jiān)控系統(tǒng),在現(xiàn)場(chǎng)測(cè)試中獲得了較好的效果.
[1]張潔穎,王生進(jìn),丁曉青.基于視頻圖像處理的交通流檢測(cè)系統(tǒng)[J].電視技術(shù),2008,32(6):68-70.
[2]謝勇輝,王從軍,黃樹槐.實(shí)現(xiàn)計(jì)算機(jī)視覺標(biāo)定自動(dòng)化的一種新技術(shù)[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,32(8):13-15.
[3]李良福,陳衛(wèi)東,馮祖仁,等.目標(biāo)跟蹤與定位中的視覺標(biāo)定算法研究[J].應(yīng)用光學(xué),2008,29(4):481-487.
[4]李小峰,李峰.單目攝像機(jī)標(biāo)定方法的研究[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(15):229-232.
[5]王蓓蓓,王向軍,張召才.基于虛擬直線的單目視覺坐標(biāo)測(cè)量模型研究[J].傳感器與微系統(tǒng),2009,28(10):20-22.
[6]李勃,陳啟美.基于監(jiān)控視頻的運(yùn)動(dòng)車輛行為分析算法[J].儀器儀表學(xué)報(bào),2006,27(s3):2118-2120.
[7]邱茂林,馬頌德,李毅.計(jì)算機(jī)視覺中攝像機(jī)定標(biāo)綜述[J].自動(dòng)化學(xué)報(bào),2000,26(1):43-55.
[8]楊喜寧,段建民,高德芝,等.基于改進(jìn) Hough變換的車道線檢測(cè)技術(shù)[J].計(jì)算機(jī)測(cè)量與控制,2010,18(2):292-294.
[9]任朝棟,張全法,李煥,等.快速消除車輛陰影的多閾值圖像分割法[J].應(yīng)用光學(xué),2010,31(6):961-964.