朱小平,付洋
(長安大學(xué) 信息工程學(xué)院,陜西 西安 710064)
視頻檢測技術(shù)在交通信息檢測中有著重要的應(yīng)用,主要利用圖像處理技術(shù)對獲取到的交通視頻圖像進行一系列處理,提取出有用的信息,完成交通參數(shù)、交通狀況和交通事件的檢測,是 ITS(Intelligent Transportation System)中的一個熱點研究方向。視頻檢測技術(shù)在攝影測量、計算機視覺等領(lǐng)域的應(yīng)用,一個基本的問題是攝像機的標(biāo)定問題。在實際的圖像視頻處理中為確定實際空間物體的三維坐標(biāo)與圖像上的對應(yīng)點的映射關(guān)系,需要通過建立相應(yīng)的幾何模型,求解幾何模型的參數(shù),幾何模型的參數(shù)就是攝像機參數(shù),這個參數(shù)的求解過程稱為攝像機的標(biāo)定[1]。在視頻檢測技術(shù)中,攝像機的標(biāo)定是最基礎(chǔ)的和最重要的一步,它的精度和準(zhǔn)確度直接影響后續(xù)工作的結(jié)果。因此提高攝像機標(biāo)定的準(zhǔn)確度和算法的簡潔度是研究工作的重點所在。
攝像機的標(biāo)定可以采取在特定的試驗條件下,基于形狀、尺寸已知的參照物,利用圖像變換和數(shù)學(xué)計算的方法來獲得攝像機的參數(shù),稱為傳統(tǒng)的攝像機標(biāo)定方法。此類標(biāo)定方法大體有以下幾種:利用最優(yōu)化算法的標(biāo)定方法,典型代表有攝影測量學(xué)中的傳統(tǒng)方法和線性變換法,這兩種方法是由Faig在文獻[2]和A bdel-Aziz在文獻[3]中提出;利用攝像機變換矩陣的標(biāo)定方法[4];考慮畸變補償?shù)膬刹椒╗5];雙平面方法[6];改進的張正友標(biāo)定法[2]等。這些方法利用特定的參照物獲得實際空間物體與圖像上對應(yīng)點的映射關(guān)系,算法簡單,但有一定的試驗條件要求。
此外還可以采取不依賴參照物,利用不同幀圖像上物體之間的對應(yīng)關(guān)系的方法進行標(biāo)定,即自標(biāo)定方法。主要有利用絕對二次曲線和極線變換性質(zhì)解Kruppa方程的攝像機自標(biāo)定方法[8];基于二次曲面的自標(biāo)定方法[9];基于主動視覺的攝像機自標(biāo)定技術(shù)[10]等。此類方法靈活實用,但精度有待進一步提高。
在以前這些方法的基礎(chǔ)上,現(xiàn)在有很多改進的方法,例如一種利用Hough變換提取矩形棋盤格的角點,求出攝像機參數(shù)初始值,運用Levenberg-Marquardt算法對初始解進行非線性迭代優(yōu)化[11]。一種以漸變圓形為特征的攝像機標(biāo)定模板的檢測算法[12]等。針對上述方法的特點,本文是在交通視頻檢測技術(shù)的實際應(yīng)用中提出的攝像機標(biāo)定問題,可以利用路面上標(biāo)線作為參照物,提供一種線性模型下的攝像機幾何標(biāo)定方法,該方法根據(jù)攝像機成像原理抽象出幾何模型,推算出圖像像素段變化時對應(yīng)的路面實際距離變化的函數(shù)關(guān)系式,從而建立視頻圖像像素行與路面實際距離的映射關(guān)系,然后采取多級求解的方法減小誤差,采用該方法不用考慮攝像機內(nèi)部參數(shù),幾何推導(dǎo)出外部參數(shù),該方法簡單易行,計算量小。
由公路路面上架設(shè)的攝像機采集到的視頻原圖像為基準(zhǔn),手動畫定至少3個點(文中選擇3個點進行說明),這些點的選取的條件是它們之間的距離在實際路面上是相等的。如圖1所示,3個點形成兩個像素段m和n,它們在實際路面上的距離是相等的。取n段的下端點分別向下和上延伸代表圖像上的像素段的變化,同樣的取m的上端點分別向下和上延伸代表圖像上的像素段的變化(如圖1中的L)。
圖1 參照物的選取Fig.1 Selection of reference
依據(jù)圖像變換的基礎(chǔ)知識再結(jié)合攝像機成像的原理抽象出圖像上像素距離與實際路面的距離之間的幾何模型,抽象出的幾何模型如圖2所示,其中①②③④代表視頻圖像上的4個不同的求解區(qū)域;m,n表示視頻圖像上的兩個像素段,這兩個像素段對應(yīng)的實際距離相等,假設(shè)都是A;在區(qū)域①里,L表示在視頻圖像上以n的下端點為基準(zhǔn)向下延伸的像素段;在區(qū)域②里,L表示在視頻圖像上以n的下端點為基準(zhǔn)向上延伸的像素段;在區(qū)域③里,L表示在視頻圖像上以m的上端點為基準(zhǔn)向下延伸的像素段;在區(qū)域④里,L表示在視頻圖像上以m的上端點為基準(zhǔn)向上延伸的像素段;K代表當(dāng)L移動時對應(yīng)的路面實際距離的變化量。如圖2可以清楚地看到m、n所代表的路面實際距離相等,L變化的同時K也跟著做相應(yīng)的變化,下面進行推導(dǎo)得到L和K的4個函數(shù)關(guān)系式。
如圖3是一維標(biāo)定算法的幾何推導(dǎo)圖。在視頻上找一個點M,M點所對應(yīng)的路面上的點為N,關(guān)鍵問題是找出視頻圖像中像素距離MD所對應(yīng)的實際距離NA。其中O點是攝像機的焦點,最下面的一條線(NC)是實際路面中的車道線,上面一條(MF)是攝像機拍攝的交通視頻圖像中對應(yīng)的車道線,4 條斜豎線(ON、OA、OB、OC)是攝像機光線,D、E、F 是選擇的3個點,n=DE,m=EF,它們對應(yīng)的實際路面分別是AB和BC,其中 AB=BC=h。做兩條輔助線:AG和NH,且AG和NH分別平行于MF。
已知條件為:
圖2 幾何模型Fig.2 Geometric model
DE、EF和 MD像素距離已知;AB=BC,并且都已知;MF∥NH∥AG(∥表示平行,△表示三角形,~表示相似)。求NA的實際距離。
圖3 幾何推導(dǎo)圖Fig.3 Fig of the geometric derivation
求解過程如下:
對于①區(qū)域的求?。?/p>
下面對這4個公式進行分析,它們都符合一個函數(shù)模式,即:
式(5)可以變形為:
當(dāng) c>0 時,式(6)的函數(shù)如圖 4(a)所示,當(dāng) c<0 時,式(6)的函數(shù)如圖 4(b)所示。 由圖 4 可見,式(6)的函數(shù)根據(jù) a、b、c的不同有極值,所以x不能無限地增大或減小,如果無限地增大或減小x實際求得的值可能和真實情況不相符。
圖4 (4)式函數(shù)Fig.4 Function image of(4)
a=2hm,b=mn+n·n,c=n-m,c>0,a/c=2hm/(n-m), 若 m<=n/3,則 a/c<=h,若 m>n/3,a/c>h,一般情況下 m>n/3,所以 a/c>h,當(dāng) L=n(m+n)/(3m-n)時,K=h。所以在區(qū)域①里 L 的取值范圍是(0,∞),函數(shù)是單調(diào)遞增的,函數(shù)值 K的范圍是(0,2hm/(n-m))。
同理可以分析式(2)、(3)和式(4),這里省略。 由此可見,如果只把一整幅視頻圖像劃分為4個區(qū)域,如圖2所示,那么有可能區(qū)域①的范圍過大,當(dāng)區(qū)域①的實際距離大于 a/c=2hm/(n-m)時,這時候用式(1)求解的結(jié)果有一定的誤差,因此實際應(yīng)用時將一整幅圖像劃分為多個遞推的四區(qū)域如圖5所示,以減少這些因為函數(shù)的極限問題帶來的誤差。
圖5 多個四區(qū)域標(biāo)示Fig.5 More than four labeling
在Visual C++6.0集成開發(fā)環(huán)境上進行軟件的編程實現(xiàn)上述的算法,得到試驗結(jié)果如下。
參看圖6,手動定位圖像上的14個點生成和分析映射關(guān)系。點0到點6,這7個點相鄰兩個點之間的實際距離都等于1 500 cm,點7到13這7個點之間的距離也是1 500 cm。(其中7到13為生成映射表所用的點,0到6為分析映射表誤差所使用的點)。
圖6 試驗標(biāo)定圖Fig.6 Diagram of the test calibration
下面所列為0到6這7個點y方向的值,也就是像素的行值。實驗數(shù)據(jù)如表1所示。
將整個圖像分為一個四區(qū)域求解基本的行到距離的映射表(實驗使用 11,12,13這 3個點生成),那么圖 6中手動定位的7個點在映射表中的映射距離值如表2所示(temp[]表示對應(yīng)于圖像上的每一行的實際距離,單位是cm)。
表1 手動定位的點Tab.1 Point of the manual position
表2 行到距離的映射表中的7個點值(一個四區(qū)域)Tab.2 Seven point value of line to distance in the mapping table(a four regional)
若采用多點遞推,利用點7到點13將整幅圖像劃分為多個四區(qū)域的temp表示圖像上每一行的實際距離,單位是cm,如表3所示。
表3 行到距離的映射表中的7個點值(多個四區(qū)域)Tab.3 Seven point value of line to distance in the mapping table(more than four regional)
下面用手動確定的這幾個點對這兩種結(jié)果進行比較和誤差說明:令 X1=56,X2=150,X3=187,X4=209,X5=222,X6=231,X7=236,Y(n)=|1 500-(temp[X(n+1)]-temp[X(n)])|,Y 表示手動確定的7個點之間的差值與理想值(1 500)之間的差值(其中n=1,2,3,4,5,6,單位為 cm),如圖 7 所示,a 表示一個四區(qū)域的Y值與n的關(guān)系曲線,b表示多個四區(qū)域的Y值與n的曲線。
下面對兩種情況下的方差進行計算,利用
圖7 對比圖Fig.7 Comparison chart
通過對圖7的分析可以得到以下幾點結(jié)論:
1)曲線b的值比曲線a的值小,即多個四區(qū)域的誤差比一個四區(qū)域的誤差小;
2)a、b曲線的值都大體呈現(xiàn)逐漸變大的趨勢,即靠近攝像機的一邊的誤差小,遠(yuǎn)離攝像機的一邊的誤差大;
3)因為 δa2>δ2b,得到多個四區(qū)域的結(jié)果的波動性小,精度更高。
綜述實驗結(jié)果可以看出靠近攝像機的一邊的誤差小,映射關(guān)系準(zhǔn)確。曲線b的結(jié)果小,方差小,所以多個四區(qū)域得到的一維表的精度高,可以避免函數(shù)極限問題帶來的很多誤差。
文中討論了一種線性模型下的攝像機標(biāo)定方法,并對此進行了實際的試驗,試驗結(jié)果較為準(zhǔn)確,能夠?qū)崿F(xiàn)圖像上像素行到實際路面距離之間的轉(zhuǎn)換關(guān)系,算法簡單,計算量小,適用于視頻交通系統(tǒng)中。在建立幾何模型時采取的是線性變換,有一定的誤差,在實際工程應(yīng)用中進行了一些修正,影響不大,但是在需要高精度的條件下,還需要進一步的改進。
[1]馬頌德,張正友.計算機視覺-理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.
[2]Faig W.Calibration of close-range photogrammetric systems:mathematical formulation.photogrammetric eng[J].Remote Sensing,1975,41(12):1479-1486.
[3]Abdel-Aziz Y I,Karara H M.Direct linear transformation into object space coordinates in Close-Range Photogrammetry[C]//Proc Symposium on Close-Range Photogrammetry,1971:1-18.
[4]Luh J Y,Klaasen J A.A three dimensional vision by off shelf system with multi-cameras[J].IEEE Trans PAMI,1985,7(1):35-45.
[5]TsaiRY.Anefficientand accuratecameracalibrationtechnique for 3D machine vision[C]//Proc CVPR’1986:364-374.
[6]Martins H A,Birk J R,Kelley R B.Camera models based no data from two calibration planes[J].Computer Graphics and Imaging Processing,1981(17):173-180.
[7]ZHANGZheng-you.A Flexible Camera Calibration by Viewing a Plane from Unknown Orientations[C]//Proceedings of 7th International Conferenceon Computer Vision,Corfu,1999:666-673.
[8]Moons T,Van GL,Proesmans M,et al.Affine reconst-ruction from perspective image pairs with a relative object-camera translation in between [J].IEEE Transaction on Pattern Analysisand Machine Intelligence,1996,18(1):77-83.
[9]Triggs B.Auto-calibration and absolute quadric[J].Proceedings of Computer Vision and Pattern Recognition,1997:604-614.
[10]Ma SD.Aself-calibration technique for activevision system[J].IEEE Trans Robotics and Automation,1996,12(1):114-120.
[11]孫杰,朱世強,賴小波.一種高效的視覺導(dǎo)航攝像機標(biāo)定方法[J].計算機工程,2010,36(21):212-216.SUN Jie,ZHU Shi-qiang,LAI Xiao-bo.An efficient visual navigation camera calibration [J].Computer Engineering,2010,36(21):212-216.
[12]梁力,尹東斐,王川.高精度攝像機標(biāo)定模板的設(shè)計及識別算法[J].西安交通大學(xué)學(xué)報,2011,45(4):82-85.LIANG Li,YIN Dong-fei,WANG Chuan.Design and recognition algorithms of high-precision camera calibration template[J].Newspaper of Xi’an Jiaotong University,2011,45(4):82-85.