摘要:在智能車比賽中,攝像頭組肯定要遇到的問題是圖像存在梯形失真,若選用廣角鏡頭,還會存在桶形失真。解決這兩種幾何失真將對后面的處理提供方便。本文介紹了作者所在車隊的攝像頭標定技術。此方法簡單實用,值得借鑒。
關鍵詞:智能車;飛思卡爾;梯形失真;桶形失真;幾何標定;透視變換:廣角鏡頭
引言
本文以飛思卡爾智能車大賽為背景,使用飛思卡爾(Freeseale)生產(chǎn)的16位微控制器Mc9s12Xs128作為控制核心,制作一個能巡線快速行駛的攝像頭小車。由于攝像頭光軸與地面呈一定夾角,于是其成像存在梯形失真;為了擴大視野,廣角鏡頭越來越為很多隊伍所采用,于是又存在桶形失真。這兩種失真,是每個采用廣角鏡頭的攝像頭隊伍都要遇到的問題。很多隊伍都回避這個問題,直接采用圖像預處理后的像素點進行控制。但若將像素點轉換為實際物理坐標,無疑更直觀,對程序的編寫或建模帶來很大的方便,并且本文提出的這個方法,可有效解決這兩種失真,實際操作并不復雜。

備隊解決方案綜述
文獻[1]提出的方法是:可以通過對于每行提取的道路位置通過一個線性修正來消除梯形失真,可通過實驗的方式確定線性補償?shù)南禂?shù)。但是該實驗方法比較繁雜,并且不能消除桶形失真。
文獻[2]制作了一個圖像標定板、如圖1所示。
其原理是:圖1(a)中陰影部分是車體放置的位置。在標定板上等間距地貼了許多黑線,給標定板拍照后,就可以知道實際中的位置與圖像中的位置的相互關系。這個方法由于黑線有一定寬度,所以會存在較大誤差。


文獻[3]采用非均行采集的方案。所謂非均行采集是與均行采集對應的。在均行采集中,AD模塊所采集的行均勻分布于攝像頭輸出的圖像中。而非均行采集則是指,AD模塊所采集的行按某種規(guī)則非均勻地分布在原始圖像中,而這種規(guī)則是保證采集得到的圖像在縱向上(小車中軸方向)與現(xiàn)實景物不畸變。然后再確定每一行的橫向畸變系數(shù)。
如圖2所示,非均行采集時,遠處采得密。近處采得稀。由于攝像頭安裝方式在實驗時會經(jīng)常變動,以確定最佳俯角和最佳高度,每當變動就需要重新標定。這個方案就不大方便了。文獻[4]建立了一個光路幾何模型圖,如圖3所示。
實驗方案:量取攝像頭架固定螺釘?shù)母叨菻與攝像頭中心相對于豎直桿的偏轉角度(俯角)θ。由于光學中心的計算完全由這兩個數(shù)據(jù)及近端距固定桿的距離S(即測量保險杠距固定桿的距離S0和近端距保險杠距離S'相加得到,也可直接在實驗板上測量由近端黑線到攝像頭固定桿的距離s)確定,因此要做到越精確越好。由。點做垂線長度為H至點A,做水平線AB,截取AD長為s,DB過O點做與垂直線成e的射線交AB于c,過D做DE垂直于OC,并使oc為DE的垂直平分線,連接BE并延長,交oc與o’,則o’為光學中心。從圖上能算得o’距底邊距離為H’,俯角不變。
將實驗板垂直放置,做出邊長為A1的正方形標定區(qū)域,即圖3中的DE平面,將攝像頭水平對向實驗板中心c,攝像頭架固定螺釘距實驗板距離為H1。讀出標定實驗板上特征點的相應像素點。可以得到圖4中(X,y)與像素點(u,V)的關系(U為行數(shù),V為列數(shù))。
由于實驗平面與真實視野平面之間是純幾何關系,因此這部分轉換函數(shù)關系可以用幾何推導。其公式較復雜,在這里不一一列出。
其公式最大的弊端在于有很多sin()、cos()等三角函數(shù)運算,但單片機做這種運算會花費大量時間,所以本應盡量避免出現(xiàn)三角函數(shù)、開方等運算。而且,若采用廣角鏡頭或攝像頭架得較低時:B點將會距A點很遠而找不到B點。所以該方法也不具通用性。實驗本身也比較復雜。
文獻[5]采用的實驗方法是:事先在一塊白板上畫一系列小的正方格,正方格越小,精度越高。然后標定中心黑粗線,用來確定賽車的擺放位置和圖像的中心。如圖s所示。之后可以直接讀出各特征點相應的像素坐標,建立對應關系。
該實驗方案很直觀,但其操作未必簡便。因為攝像頭視野較廣,所需矯正網(wǎng)絡也較大,在其上畫方格線很難保證絕對水平或垂直。
文獻[6]根據(jù)幾何數(shù)學建模,得出攝像頭獲取圖像的成像坐標與景物實際的世界坐標的關系。
