況宗旭 李軍紅 何俊延 馬錦模 張逸帆
摘要:由于智能車視野范圍的要求,攝像頭一般要向下傾斜一定角度安裝,這種安裝方式會造成圖像畸變,得到的圖像不能反映路面的真實情況。本文分析圖像畸變的產生及對智能車控制的影響,提出采用“非均勻行采集”和“線性補償”的方法矯正攝像頭圖像畸變,并基于Opencv進行仿真實驗,且在智能小車上應用圖像矯正算法進行實車調試。實驗結果表明,根據矯正后的圖像信息識別路徑,能有效地避免智能車偏離導航線,提高智能車的控制精度和響應速度。
關鍵詞:圖像畸變;非均勻行采集;線性補償;智能小車
1緒論
利用攝像頭攝取道路圖像信息,識別路面引導線實現自主導航是現階段智能車較常用的導航方法。[1]攝像頭在拍攝圖像時,最理想的位置是垂直于拍攝平面,這樣才能保證圖像按幾何比例重現。由于智能車視野范圍的要求,攝像頭的安裝一般與拍攝平面成一定傾斜角度,這種角度的存在會造成圖像畸變。在這種情況下,直接利用目標引導線在圖像中的相對位置制定控制策略,會造成較大的誤差,甚至使小車嚴重偏離導航線。針對上述問題,本文采用“非均勻行采集”和“線性補償”的方法矯正攝像頭圖像畸變,根據矯正后的圖像信息進行路徑識別。仿真實驗和實車調試的結果表明,圖像畸變矯正為智能車控制策略的實現奠定了基礎,能有效提高智能車的控制性能。
2圖像畸變的產生及影響
2.1圖像畸變的產生
當攝像頭垂直安裝時,與向下傾斜一定角度安裝相比,獲得的視野范圍是最小的。因此,為了滿足車輛視野范圍的要求,攝像頭一般會向下傾斜一定角度。由于俯仰角不為零,攝像機的主光軸與所攝的路面不垂直,而像平面與攝像機主光軸垂直,根據幾何光學可知,圖像存在幾何圖像畸變。幾何圖像畸變主要分為兩個部分,包括橫向畸變和縱向畸變,[2]如下圖所示。
2.1.1橫向畸變
如圖1所示,在攝像頭垂直拍攝輸出的道路圖像中,兩條車道線是平行關系,當攝像頭向下傾斜拍攝,圖像中兩條車道線卻變為不平行,且橫向距離不斷被壓縮。這表明攝像頭對不同距離處的地平面進行了不同程度的橫向壓縮,而且距離越遠,壓縮越嚴重。
2.1.2縱向畸變
如圖1所示,道路中間的等間隔引導線在攝像頭垂直拍攝時表現為等間隔均勻分布,當攝像頭向下傾斜拍攝,引導線出現了不同程度的縱向壓縮,而且距離攝像頭越遠,壓縮越嚴重。
2.2圖像畸變對智能車控制的影響
采用“標識線圖像識別法”實現智能車軌跡跟蹤控制,一般是基于識別的路沿車道線,通過對左右邊界取中值,提取軌跡實際中線進行尋跡跟蹤。但是當圖像發生畸變時,車道線會出現變形,提取的軌跡中線會出現如圖2所示的“丟線”現象,得到的軌跡中線與實際中線相比出現較大偏差。
根據圖2的結果可知,對畸變的彎道圖像進行處理得到的軌跡中線與實際中線出現了較大的偏差,在進行方向控制時,以期望中線作為參考中線,由于實際中線出現偏移,輸出的控制量會出現錯誤。而且,在進行速度控制時也需要針對實際中線的相對位置制定相應策略,當實際中線出現偏離,智能車的速度控制也會出現較大誤差。
智能車圖像信息的底層處理是整個上層控制策略的基礎,[3]圖像的穩定性和準確性都決定著上層的方向控制和速度控制能否發揮作用,圖像畸變的產生對上層控制策略會產生許多諸如圖2所示的不良影響。在這種情況下,直接利用軌跡中線在圖像中的相對位置制定控制策略,會造成較大的誤差,甚至使小車嚴重偏離導航線。
3畸變圖像矯正方法
由于圖像畸變的存在,想要得到準確的圖像信息,需要將畸變圖像的圖像坐標矯正到世界坐標,[4]圖像矯正方法如圖3所示。
圖像的縱向畸變是一種非線性幾何畸變,本文采用非均勻行采集的方法,根據圖像數據縱向分布的密集程度,在攝像頭圖像采集模塊中進行非均勻行采樣。[2]圖像的橫向畸變是一種線性幾何畸變,本文采用線性補償的方法,對縱向畸變矯正后的圖像在圖像處理模塊中進行線性變換的處理。[2]
3.1縱向畸變矯正
縱向畸變矯正的方法有很多種,最常見的是公式法,計算出圖像坐標和世界坐標的映射函數,處理數據時按照函數進行還原。但是,還原函數一般都比較復雜,由于智能車處理器運算速度的限制,該畸變矯正方法往往不能滿足智能車實時控制的需求。為此,本文采用了“非均勻行采集”的方法來矯正縱向畸變。非均勻行采集是基于縱向畸變的特點來設計的,根據圖像數據縱向分布的密集程度進行非均勻采樣。由于縱向畸變表現為距離攝像頭越遠的區域壓縮越嚴重,數據分布越密集,在采樣時,對越遠的區域設置的采樣間隔越小,就能有效地補償圖像的縱向壓縮。非均勻行采集的示意圖如圖4所示:
采樣間隔長度y與采樣行數x的規則函數可以采用“擬合曲線法”來獲取。在路面設置等間隔的引導線,經攝像頭均勻行采集輸出后,等間隔的引導線會出現如圖1(b)所示的縱向壓縮。攝像頭輸出圖像的引導線間隔與引導線行數的關系函數就是采樣間隔長度y與采樣行數x的規則函數。輸出圖像的間隔與引導線行數的關系如表一所示:
根據擬合曲線可得采樣間隔長度y與采樣行數x的規則函數為y=0.1x2+0.08x+5。
3.2橫向畸變矯正
道路經圖像采集模塊進行非均勻行采樣后,輸出的圖像還存在橫向畸變。由于圖像橫向畸變是一種線性幾何畸變,只需要計算出圖像坐標和世界坐標的線性關系就可以實現圖像的畸變矯正。如圖6所示,梯形ABCD表示畸變圖像,EF為垂直穿過攝像頭主光軸的采集行(未發生橫向畸變)。
圖像橫向畸變矯正公式如下:
u=EF(EFAB)nNMN
式中,M為采集圖像的總行數,N為EF所在的行數,n為任意一行的行數,u為第n行的橫向長度。
4仿真分析與實物調試
4.1仿真結果與分析
本文基于開源計算機視覺庫OpenCV進行圖像畸變矯正仿真,在VisualStudio2013中配置OpenCV庫作為仿真環境,[5]應用“非均勻行采集”的方法矯正圖像縱向畸變,應用“線性補償”的方法矯正圖像橫向畸變。
畸變圖像來源于飛思卡爾智能車實驗室跑道的真實采樣,采用鷹眼攝像頭OV7725向下傾斜45°拍攝。仿真實驗中選取了直道、彎道、坡道、圓環等不同狀況下的圖像,采用“理論計算+試湊”的方法,調試出不同狀況下的實驗參數,直道下的仿真結果如下所示。其中圖7(a)為畸變圖像,圖7(b)為矯正后的圖像。
仿真結果表明,矯正后的圖像與畸變圖像相比,橫向變形和縱向壓縮都得到了有效改善,應用“非均勻行采集”和“線性補償”的方法能夠有效解決圖像縱向和橫向的畸變的問題。
4.2實物調試結果與分析
本文以飛思卡爾攝像頭四輪組智能小車作為實驗對象,配置C語言編譯器IAR為實驗環境,設計關于“非
均勻行采集”和“線性補償”的算法,利用校正后的圖像提取軌跡中線進行循跡導航。畸變圖像提取中線結果與矯正后的圖像提取中線結果分別如圖8(a)、圖8(b)所示。
實驗結果表明,采用矯正后的圖像提取中線明顯能有效避免提取的軌跡中線偏離實際中線,保障圖像的穩定性和準確性,確保上層方向和速度控制策略的實現。
5結語
本文研究了裝有攝像頭的智能車圖像矯正問題。由于攝像頭安裝的位置與地面會存在一定的傾斜角度,獲得的圖像會出現畸變,不能反映真實的路況。為了保證圖像信息的穩定性和準確性,真實反映道路實際情況,必須對畸變圖像進行矯正。本文分析了圖像畸變的產生及對智能車控制的影響,分別應用“非均勻行采集”和“線性補償”的方法矯正圖像的縱向和橫向畸變,并通過實驗得出了“非均勻行采集”的規則函數,且推導出了“線性補償”的矯正公式。經過一系列仿真及實物實驗表明,運用本文提出的圖像畸變矯正方法可以達到預期的目的,解決圖像畸變問題,減小或消除畸變圖像對智能車控制的影響。該算法能夠盡可能還原路況,在智能車導航和工業生產等方面具有一定得應用價值。
參考文獻:
[1]李旭.自主車輛多傳感器導航與橫向魯棒控制的研究[D].東南大學,2006.
[2]甄紅濤,齊曉慧,白勇博.智能車攝像頭圖像畸變矯正的研究[J].信息技術,2011,35(01):5255.
[3]鄒細勇.自主移動機器人的智能導航研究[D].浙江大學,2005.
[4]胡玲艷.智能車路徑識別中圖像信息的矯正[J].電子制作.2013.15.
[5]王福斌,李迎燕,劉杰,陳至坤.基于OpenCV的機器視覺圖像處理技術實現[J].機械與電子,2010(06):5457.
項目:本研究得到了南華大學大學生研究性學習和創新性實驗計劃項目(2017XJXZ008)的資助
*通訊作者:李軍紅(1971),男,湖南耒陽人,碩士,主要從事電力電子技術、電機控制、智能控制及應用等方面研究工作。