曹 毓,馮 瑩,楊云濤,趙立雙,向仁強(qiáng),許 偉
(1.國防科學(xué)技術(shù)大學(xué)光電科學(xué)與工程學(xué)院,長沙 410073;2.第20軍炮兵旅,河南 確山 463200)
基于多傳感器信息融合的路面三維重建技術(shù)廣泛應(yīng)用于高速公路及機(jī)場跑道等路面損毀狀況的自動檢測領(lǐng)域。在道路快速維修能力建設(shè)中,毀傷程度評估是基礎(chǔ)中的基礎(chǔ)。傳統(tǒng)的道路毀傷評估主要依賴人工目視測量的方式來完成,精度低、速度慢。為此我們采用了一種自動測量方法:將單線式激光掃描儀安裝于車輛上,在車輛行駛過程中對路面進(jìn)行不間斷掃描,從而獲得道路三維形貌。
根據(jù)車輛運(yùn)動過程中對應(yīng)的三個歐拉角(航向角、俯仰角和橫滾角)性質(zhì)的不同,現(xiàn)有的角度測量傳感器可分為航向角傳感器(電子羅盤)和傾角傳感器,前者應(yīng)用于航向角的測量,后者可以用來測量相對于水平面的傾角變化量。理論計算和實驗證明:在實際應(yīng)用中由于車輛轉(zhuǎn)彎避障的需要,三個歐拉角中的航向角變化幅度較大,對路面三維重建效果影響也最大。目前廣泛應(yīng)用的航向角傳感器原理大都是基于地磁場方向來判斷角度變化量,因此它的精度不高,對使用環(huán)境的磁場穩(wěn)定性要求也較為苛刻。為此,我們結(jié)合使用相機(jī)和激光掃描儀,通過對一系列前視時序圖片中道路滅點(diǎn)坐標(biāo)的獲取來獲得車輛實時的航向角和俯仰角,以此為基礎(chǔ)來校正掃描儀得到的三維地形數(shù)據(jù),進(jìn)而準(zhǔn)確實現(xiàn)路面的三維形貌重建。實驗結(jié)果表明,通過定位圖像中滅點(diǎn)位置的方法獲得的實時姿態(tài)角精度高,校正后的路面三維形貌與真實的路面情況實現(xiàn)了較為準(zhǔn)確的吻合。
空間一組平行直線在圖像平面上所成的像僅有一個交點(diǎn),即滅點(diǎn)(又稱消失點(diǎn)),它蘊(yùn)含了直線的方向信息,對滅點(diǎn)進(jìn)行分析可以得到相機(jī)的角度姿態(tài)信息。因此,滅點(diǎn)估計在視覺導(dǎo)航[1-7]、三維重建[8]、相機(jī)定標(biāo)等方面都有廣泛的應(yīng)用,是計算機(jī)視覺和光學(xué)傳感領(lǐng)域內(nèi)一個重要的研究課題。
圖1給出了圖像坐標(biāo)系與世界坐標(biāo)系之間的關(guān)系示意圖[3]。
圖1 圖像坐標(biāo)系與世界坐標(biāo)系的關(guān)系示意圖
假設(shè)角度定位相機(jī)在世界坐標(biāo)系中的位置坐標(biāo)為(l,d,h),相機(jī)分辨率為m×n像素,視場角為 2α×2β 弧度,具體參數(shù)如圖2 所示[3]。
圖2 相機(jī)架設(shè)各參數(shù)示意圖
根據(jù)圖1和圖2的參數(shù)標(biāo)示,可以解算出世界坐標(biāo)系下的路面坐標(biāo)(x,y,0)與圖像坐標(biāo)系下的圖像坐標(biāo)(u,v)之間的關(guān)系,由式(1)給出[3-4],其中 γ為航向角,θ為俯仰角:
可以解出用路面坐標(biāo)(x,y,0)表示的圖像坐標(biāo)(u,v):
為得到世界坐標(biāo)系中前方無窮遠(yuǎn)點(diǎn)(即滅點(diǎn))在圖像坐標(biāo)系下的坐標(biāo),可令x→∞,則有:
從式(3)中可以發(fā)現(xiàn),在相機(jī)分辨率和視場角等內(nèi)參數(shù)一定的情況下,滅點(diǎn)的縱坐標(biāo)和橫坐標(biāo)分別與航向角γ和俯仰角θ線性相關(guān)。因此,通過實時查找滅點(diǎn)在圖像中的位置,可以很方便的計算出相機(jī)所對應(yīng)時刻的航向角和俯仰角。
式(3)可改寫為:
由式(4)可知,相機(jī)的視場角越小、分辨率越高,圖像中滅點(diǎn)的像素坐標(biāo)隨姿態(tài)角的變化越敏感,即小視場和高分辨率的相機(jī)可以對平臺的姿態(tài)角進(jìn)行高精度測量。但是視場角越小,拍攝區(qū)域也越小,在較大角度的姿態(tài)變化(如車輛大角度轉(zhuǎn)彎)時可能拍丟道路邊緣信息。因此若要保證大范圍高精度的平臺姿態(tài)角測量,則需使用大視場鏡頭或者組合多個相機(jī)同時采集前方圖像。
為檢驗理論分析結(jié)果,進(jìn)行了標(biāo)定相機(jī)姿態(tài)角與滅點(diǎn)位置關(guān)系的實驗。實驗過程如下:在道路遠(yuǎn)處中心與相機(jī)等高位置(即滅點(diǎn)處)設(shè)置一合作目標(biāo)。相機(jī)固定架設(shè)于經(jīng)緯儀上,以小角度分別沿水平和垂直方向轉(zhuǎn)動,每轉(zhuǎn)動一個角度拍攝一張照片,對這些照片利用模板匹配的方法查找到合作目標(biāo)中心在圖像中的坐標(biāo),這樣就建立了相機(jī)姿態(tài)角變化與滅點(diǎn)坐標(biāo)之間一一對應(yīng)的關(guān)系。實驗中通過經(jīng)緯儀對相機(jī)的姿態(tài)角進(jìn)行精確調(diào)節(jié),所用經(jīng)緯儀測角精度為1″。
實驗中所用相機(jī)為加拿大Point Grey公司的Flea2-14S3型黑白數(shù)字相機(jī),最大分辨率1 280×960像素。鏡頭參數(shù)為16 mm/F1.6,其視場角為16°×22.5°。對鏡頭標(biāo)定結(jié)果表明:當(dāng)相機(jī)的角度沿橫向或縱向每變化1'時,對應(yīng)圖像中滅點(diǎn)的坐標(biāo)沿橫向或縱向移動約1個像素。圖3給出了相機(jī)沿圖片中心橫向或縱向移動時,相機(jī)轉(zhuǎn)過角度和滅點(diǎn)坐標(biāo)改變值之間的關(guān)系。從圖中可以看出,標(biāo)定結(jié)果與理論計算結(jié)果吻合的很好,只是在鏡頭邊緣處出現(xiàn)了一定的偏差,這主要是由于鏡頭的稍許畸變造成的。
圖3 相機(jī)轉(zhuǎn)動角度和滅點(diǎn)坐標(biāo)偏離值對應(yīng)關(guān)系
為檢驗標(biāo)定結(jié)果并測試?yán)貌檎覉D像滅點(diǎn)法檢測姿態(tài)角的精度,隨機(jī)調(diào)節(jié)經(jīng)緯儀橫向與縱向角度拍攝了6張圖片,通過Hough變換查找道路邊緣線,進(jìn)一步求解出滅點(diǎn)像素坐標(biāo)并結(jié)合標(biāo)定結(jié)果內(nèi)插得出了平臺的姿態(tài)角,將該值與從經(jīng)緯儀讀出的角度值進(jìn)行對比,得到了測角精度。詳細(xì)的實驗數(shù)據(jù)如表1所示。
表1 角度計算值和實際值的對比分析結(jié)果
根據(jù)表1的實驗結(jié)果,可知利用查找圖像滅點(diǎn)法測角誤差一般不超過4',因此可以認(rèn)為通過對圖像作Hough變換找直線并求解滅點(diǎn)坐標(biāo),然后根據(jù)該坐標(biāo)反解平臺角度的精度是比較高的。產(chǎn)生誤差的原因主要有三點(diǎn):一是通過Hough變換解算出的滅點(diǎn)坐標(biāo)和實際滅點(diǎn)坐標(biāo)有偏差;二是相機(jī)初始化安裝時可能并未將光軸對準(zhǔn)正前方的滅點(diǎn)位置;三是鏡頭的微小畸變導(dǎo)致圖像滅點(diǎn)坐標(biāo)與平臺角度之間并非完全的線性關(guān)系,由此產(chǎn)生了測角誤差。
我們以實驗用手推車為運(yùn)載平臺,組合相機(jī)和激光掃描儀搭建了道路三維重建的原理驗證系統(tǒng)。系統(tǒng)工作前,先調(diào)整相機(jī)水平向前架設(shè),將相機(jī)光軸對準(zhǔn)前方道路滅點(diǎn),并牢牢固定以保證相機(jī)的穩(wěn)定。掃描儀以向下掃描的方式架設(shè)于相機(jī)下方,為避免掃描線被車輛自身遮擋,向前有一定的仰角。圖4給出了掃描儀和相機(jī)的詳細(xì)架設(shè)位置關(guān)系。系統(tǒng)中使用的相機(jī)和鏡頭參數(shù)與前述一致;掃描儀為德國SICK公司的單線式激光掃描儀LMS-291,它的最大角度分辨率為0.25°,最大測量距離80m,最大測量角度范圍180°。系統(tǒng)在工作過程中需解決相機(jī)與掃描儀同步數(shù)據(jù)采集控制的問題。
圖4 傳感器聯(lián)合架設(shè)位置關(guān)系
為驗證本文提出算法的有效性,選擇了一條平整的長直道路進(jìn)行實驗,如圖5所示。右圖即左圖進(jìn)行逆透視投影變換[3,15]變?yōu)楦┮晥D的結(jié)果。
圖5 實驗選擇的道路場景圖及俯視效果圖
從圖5中可清晰的看出該路段邊緣直線特征明顯。為檢驗系統(tǒng)的路面三維重建效果,詳細(xì)測量了道路的三維參數(shù):路面寬4.5 m,平整度良好,路面與一側(cè)人行道落差為0.118 m,道路邊緣線直線度良好。由于現(xiàn)有一般的航向角傳感器本身精度的限制,不足以直接驗證本文姿態(tài)角檢測算法的精度,因此我們利用了實際道路邊緣線為直線且路面與人行道有一定高差的道路三維特征,考察系統(tǒng)重建出的道路三維形貌對該特征的恢復(fù)程度,以此來評價本文算法的角度檢測精度和系統(tǒng)三維重建效果。
相機(jī)與掃描儀的數(shù)據(jù)采集和同步控制是在VC++6.0環(huán)境下編程實現(xiàn)的,掃描儀使用的是RS422串口,以500k波特率的速度傳輸數(shù)據(jù)。圖6給出了實驗過程中相機(jī)在不同時刻采集到的前視道路圖片,依次分別為圖片序列的第0幀、100幀、200幀和300幀圖像。
圖6 相機(jī)不同時刻采集到的道路前視圖片
得到多傳感器同步采集的數(shù)據(jù)以后,編程實現(xiàn)了數(shù)據(jù)的處理和三維重建。為得到圖片中滅點(diǎn)坐標(biāo),首先需要找到道路的兩條邊緣線。程序采用形態(tài)學(xué)算法結(jié)合Hough變換檢測出道路邊線[16],進(jìn)而計算出滅點(diǎn)坐標(biāo)并最終得到姿態(tài)角。為剔除圖片中的噪聲和雜散邊緣、強(qiáng)化道路邊緣線特征,將經(jīng)過濾波和邊緣檢測等步驟預(yù)處理的圖片分別使用不同的結(jié)構(gòu)元素進(jìn)行開運(yùn)算。初始的結(jié)構(gòu)元素1和結(jié)構(gòu)元素2分別被設(shè)定為斜率1和-1的直線結(jié)構(gòu)元素,用以檢測道路左邊線和右邊線。由于車輛轉(zhuǎn)彎等原因,道路兩條邊緣線在圖片中的斜率是時刻變化的,所以不能使用一成不變的結(jié)構(gòu)元素對圖片進(jìn)行開運(yùn)算??紤]到相機(jī)幀頻為每秒15幀,相鄰兩幅圖片中道路邊緣線斜率變化不大,因此可以根據(jù)Hough變換得到的道路邊緣線的斜率,實時更新對應(yīng)斜率的直線結(jié)構(gòu)元素,為下一張圖片的邊緣線準(zhǔn)確查找打下基礎(chǔ)。程序流程如圖7所示。
圖7 計算姿態(tài)角程序流程圖
根據(jù)以上算法,程序得到了整個實驗過程中航向角和俯仰角隨時間的變化關(guān)系,如圖8所示,從圖中可以看出,相對于航向角而言,俯仰角在整個過程中的變化幅度小,但變化頻率較高,這是由于車輛在推動過程中的震動造成的。
圖8 姿態(tài)角隨時間的變化關(guān)系
實驗中我們測量了小車的平均推行速度,在假定小車一直以勻速率運(yùn)動的前提下,我們由實時的航向角變化計算出了小車的運(yùn)行軌跡,如圖9所示。圖中看到,小車在前行過程中向道路右側(cè)橫向偏離了約1 m的距離。
圖9 車輛行駛軌跡
圖10為掃描儀點(diǎn)云數(shù)據(jù)按車輛運(yùn)動軌跡配準(zhǔn)原理圖,為躲避障礙物(如道路上的損毀部分),車輛選擇了曲線行駛繞過障礙物,為準(zhǔn)確獲取真實場景的三維重構(gòu)結(jié)果,掃描儀的每條掃描線必須依據(jù)車輛的實時位置、航向角在世界坐標(biāo)系下進(jìn)行修正,即依據(jù)車輛運(yùn)動軌跡對掃描儀數(shù)據(jù)進(jìn)行配準(zhǔn),以保證較為精確的獲得真實場景的三維重構(gòu)結(jié)果。
圖10 掃描儀點(diǎn)云數(shù)據(jù)按車輛運(yùn)動軌跡配準(zhǔn)原理圖
圖11給出了在沒有對掃描儀數(shù)據(jù)進(jìn)行角度姿態(tài)校正的時候重建出的道路三維形貌的俯視偽彩色圖,圖中的深色區(qū)域為路面,淺色區(qū)域為人行道。對比圖5可以看出,原本直線度良好的道路經(jīng)三維重建以后出現(xiàn)了明顯的扭曲失真,道路邊緣沿道路橫向的最大移位約為1 m,與車輛行駛時的最大橫向偏離距離相當(dāng)。
圖11 未進(jìn)行姿態(tài)校正前道路的三維重建結(jié)果俯視圖
圖12給出了經(jīng)角度姿態(tài)校正后的道路三維重建結(jié)果俯視圖,從圖中可以看出,失真現(xiàn)象得到了糾正,道路的直線特征被較好的還原出來,由重建結(jié)果的數(shù)據(jù)可得到道路邊緣線的移位小于5 cm,且道路各三維參數(shù)與實地測量值吻合的很好。因此可以認(rèn)為,由本文算法得到實時姿態(tài)角是準(zhǔn)確可靠的。
圖12 進(jìn)行姿態(tài)校正后道路的三維重建結(jié)果俯視圖
本文分析了一種應(yīng)用于道路三維重建的姿態(tài)角測量方法。實驗結(jié)果表明,在車輛出現(xiàn)一定的航向角和俯仰角變化的情況下,重建后的三維形貌準(zhǔn)確恢復(fù)出了實際的道路特征。在特定領(lǐng)域的應(yīng)用中,該方法是除了慣導(dǎo)系統(tǒng)和角度傳感器之外的另一種低成本高精度的姿態(tài)角測量方法。
需要說明的是,該方法的應(yīng)用領(lǐng)域存在一定的限制。例如當(dāng)?shù)缆窂澢鷩?yán)重以致不能保證路面較為平直的假設(shè)時,會導(dǎo)致滅點(diǎn)查找失敗的情況出現(xiàn);為保證車輛在以大的角度轉(zhuǎn)彎過程中不丟失圖像中的滅點(diǎn)信息,需要增加鏡頭視場角或者使用多臺相機(jī)多角度拍攝圖像。此外,受限于算法復(fù)雜度的影響,在CPU為Core2 Duo 2.8GHz的計算機(jī)平臺上,本方法目前的實時角度測量頻率僅達(dá)3 Hz~5 Hz。下一步的工作需要進(jìn)一步研究算法的優(yōu)化,從而提高實時測量頻率。
[1]毛可駿,周平,趙勻,等,基于機(jī)器視覺的自主插秧機(jī)導(dǎo)航信息的提取研究[J].農(nóng)機(jī)化研究,2009,5(5):63-66.
[2]Li Xu,Zhang Weigong,Bian Xiaodong.Research on Detection of Lane Based on Machine Vision[J].Journal of Southeast University(English Edition),2004,20(2):176-179.
[3]Massimo Bertozzi,Alberto Broggi.GOLD:A Parallel Real-Time Stereo Vision System for Generic Obstacle and Lane Detection[J].IEEE Transactions on Image Processing,1998,7(1):62-81.
[4]Massimo Bertozzi,Alberto Broggi,Alessandra Fascioli.Stereo Inverse Perspective Mapping:Theory and Applications[J].Image and Vision Computing,1998,16:585-590.
[5]李紅,柴洪林,彭嘉雄.基于滅點(diǎn)查找的無人機(jī)姿態(tài)角估計[J].華中科技大學(xué)學(xué)報,2007,35(6):4-7.
[6]劉士清,胡春華,朱紀(jì)洪.一種基于滅影線的無人直升機(jī)位姿估計方法[J].計算機(jī)工程與應(yīng)用,2004,(9):50-54.
[7]蔣剛毅,郁梅.基于滅點(diǎn)查找的車道狀態(tài)估計[J].電路與系統(tǒng)學(xué)報,2001,6(3):6-10.
[8]舒遠(yuǎn),談?wù)《Y儒.利用空間正交約束的相機(jī)自標(biāo)定和三維重建[J].西安交通大學(xué)學(xué)報,2005,39(2):138-141.
[9]榮瑞霞,歐龍,張麗娜,等.基于滅點(diǎn)理論的普通數(shù)碼相機(jī)標(biāo)定方法[J].工程地球物理學(xué)報,2007,4(2):152-156.
[10]張劍清,張勇,方芳.鉛垂線輔助城區(qū)航空影像的絕對定向[J].武漢大學(xué)學(xué)報·信息科學(xué)版,2007,32(3):197-200.
[11]馬琳,鄭南寧,李青,等.自主車輛視覺系統(tǒng)的攝像機(jī)動態(tài)自標(biāo)定算法[J].西安交通大學(xué)學(xué)報,2005,39(10):1072-1076.
[12]胡釗政,談?wù)?一種基于二滅點(diǎn)的攝像機(jī)自標(biāo)定新算法[J].空間電子技術(shù),2005,(1):42-46.
[13]李青,鄭南寧,張雪濤.用三線法標(biāo)定車載攝像機(jī)的外部參數(shù)[J].光電工程,2004,31(8):23-26.
[14]謝文寒,張祖勛,張劍清.一種新的基于滅點(diǎn)的相機(jī)標(biāo)定方法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2003,35(11):1384-1387.
[15]鄧劍文,安向京,賀漢根.基于道路結(jié)構(gòu)特征的自主車視覺導(dǎo)航[J].吉林大學(xué)學(xué)報,2004,22(4):415-419.
[16]朱彤,閻瑩,袁志業(yè).一種基于形態(tài)學(xué)變換的車道檢測方法[J].山東交通學(xué)院學(xué)報,2006,14(1):13-16.