摘 要: 針對面向智能車輛研究的智能車仿真平臺的構(gòu)建問題,設(shè)計(jì)了一種智能仿真車,在研究智能車仿真平臺基本結(jié)構(gòu)的基礎(chǔ)上,詳細(xì)闡述了智能仿真車的軟硬件設(shè)計(jì);提出了一種基于霍夫變換的車道線識別方法,首先采用霍夫變換對車道線進(jìn)行檢測,之后使用多示例學(xué)習(xí)對車道線進(jìn)行跟蹤。實(shí)際應(yīng)用表明,該智能仿真車能夠滿足相關(guān)技術(shù)的研究需求,具備良好的有效性和穩(wěn)定性。
關(guān)鍵詞: 智能交通; 智能車輛; 仿真平臺; 車道線識別; 霍夫變換
中圖分類號: TN911.73?34; TP249 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)17?0124?04
0 引 言
近年來,因汽車的廣泛應(yīng)用而產(chǎn)生的各種交通問題日益增多,為了有效地解決各種交通問題,業(yè)界高度重視智能車輛的研究。智能車輛作為目前國內(nèi)外智能交通領(lǐng)域研究的熱點(diǎn)之一,其研究目的是希望通過綜合運(yùn)用各種先進(jìn)技術(shù)構(gòu)建包含信息感知、智能決策和多層次輔助駕駛等功能的綜合系統(tǒng),從而提升車輛的操縱水平,保障公路交通的安全運(yùn)行。然而通過在真實(shí)場景下構(gòu)建智能車對所研究的內(nèi)容進(jìn)行測試的方法存在成本高昂、安全性能較差、開發(fā)周期較長等缺點(diǎn),因此通過構(gòu)建智能車仿真平臺的方式進(jìn)行研究成為當(dāng)前智能車輛技術(shù)研究的一種重要手段[1]。
智能車仿真平臺是將典型交通場景和車輛按比例縮小,從而可以在近似真實(shí)環(huán)境中進(jìn)行大規(guī)模、重復(fù)性、多場景的實(shí)驗(yàn),具有性價(jià)比高、實(shí)驗(yàn)重復(fù)性強(qiáng)等優(yōu)點(diǎn)。一種典型的智能車仿真平臺系統(tǒng)原理圖如圖1所示,多輛微縮智能車行駛于仿真平臺沙盤道路上,車輛前部安裝有攝像機(jī)提取車道線、道路障礙物及道路標(biāo)志圖象,通過車輛內(nèi)部的無線通信模塊將采集的數(shù)據(jù)以及車輛的當(dāng)前位置數(shù)據(jù)上傳至智能車調(diào)度管理中心進(jìn)行解析、分析、決策,并根據(jù)決策結(jié)果向各微縮智能車發(fā)送命令,控制其正常運(yùn)行。因此智能車仿真平臺的開發(fā)主要包括了交通沙盤設(shè)計(jì)、智能仿真車設(shè)計(jì)和智能車調(diào)度控制系統(tǒng)設(shè)計(jì)三部分[2]。
基于上述背景及典型智能車仿真平臺,本文設(shè)計(jì)了一種智能仿真車,闡述了其硬件設(shè)計(jì)和軟件設(shè)計(jì)方案,重點(diǎn)介紹了智能仿真車正常運(yùn)行所依賴的車道線檢測跟蹤算法,該算法能夠保證智能仿真車在運(yùn)動過程中不偏離車道線。
1 智能仿真車硬件設(shè)計(jì)
本文設(shè)計(jì)的智能仿真車基于飛思卡爾KM系列微控制器實(shí)現(xiàn)[3],其硬件主要由圖像采集模塊、中央處理模塊、無線通信模塊和運(yùn)動控制模塊組成,具體硬件組成如圖2所示。智能仿真車主電源由7.2 V的鎳電池供電;使用USB 2.0免驅(qū)攝像機(jī)作為視頻采集模塊;采用Robot?LinkV4.0AR?B作為無線通信模塊,通過MFRC?522射頻模塊與RFID標(biāo)簽確定當(dāng)前車輛位置。車載攝像機(jī)獲得的視頻圖像數(shù)據(jù)分別傳送至無線模塊和微處理器。無線模塊將數(shù)據(jù)發(fā)給智能車調(diào)度管理中心;微處理單元將接收到的圖像數(shù)據(jù)進(jìn)行分析、處理,進(jìn)而使智能仿真車能夠?qū)崿F(xiàn)自主駕駛、避障與跟車的功能。在運(yùn)動過程中,仿真車上的MFRC?522射頻模塊與仿真沙盤道路上的RFID標(biāo)簽進(jìn)行交互,以確定當(dāng)前車輛的位置信息,并通過無線模塊智能車調(diào)度管理中心。
2 智能仿真車軟件設(shè)計(jì)
本文設(shè)計(jì)的智能仿真車軟件主要包含運(yùn)動控制模塊、無線傳輸模塊、圖像采集模塊、圖像處理模塊。上述模塊相互合作,共同控制智能仿真車的正常運(yùn)行。智能仿真車供電啟動后,各軟件模塊運(yùn)行具體過程如圖3所示。
其中對于無線模塊控制程序,首先判斷MFRC?522模塊檢測是否有RFID標(biāo)簽, 若有標(biāo)簽,則讀取當(dāng)前標(biāo)簽信息,計(jì)算當(dāng)前所處的位置,設(shè)置無線模塊的發(fā)送標(biāo)志位置位,發(fā)送數(shù)據(jù)給周圍車輛,同時(shí)根據(jù)定時(shí)器0,每隔1 s讀取無線模塊接收緩沖區(qū)是否有數(shù)據(jù),若有,則讀取緩沖區(qū)中其他車輛的信息與車道線曲率,計(jì)算周圍車輛到自身車輛的距離大小以及自身車輛距彎道的距離,控制智能仿真車加速或減速。
圖像處理模塊在系統(tǒng)初始化后,將車載攝像機(jī)采集到的圖像傳送至微控制器,從數(shù)據(jù)流中讀取出每幀圖像數(shù)據(jù),通過圖像預(yù)處理以及車道線處理等方法,提取出所采集的圖像中的車道線,計(jì)算車道線的偏差與曲率,并擬合出中線;通過障礙物識別算法從采集的圖像中判別前方是否存在障礙物,進(jìn)而改變舵機(jī)、電機(jī)的運(yùn)動狀態(tài),使得智能仿真車能夠沿仿真沙盤道路中線正常行駛。
3 基于Hough變換的車道線識別方法
為了使智能仿真車在道路沙盤中不偏離車道地正常運(yùn)行,仿真車微處理單元需要將前置攝像機(jī)實(shí)時(shí)傳送的圖像數(shù)據(jù)進(jìn)行分析、處理,根據(jù)圖像中車道線的顏色、形狀和紋理等特征,將車道線、前方障礙物等目標(biāo)與背景分離,從而獲得車道線的走向、車輛相對于車道線的位置等信息,并控制舵機(jī)和電機(jī)轉(zhuǎn)動,進(jìn)而使智能仿真車能夠?qū)崿F(xiàn)自主駕駛的功能[4?5]。
為了實(shí)現(xiàn)仿真車的無偏行駛,本文設(shè)計(jì)了一種車道線檢測方法,具體過程如圖4所示。首先對車載攝像機(jī)采集的車道線圖像進(jìn)行預(yù)處理,具體包括灰度處理、逆透視、邊緣特征提取、特征算子卷積濾波等,然后通過多示例學(xué)習(xí)目標(biāo)跟蹤算法[6]以及依據(jù)最小二乘法擬合出中線,實(shí)現(xiàn)車道線的提取,使其沿著中線實(shí)現(xiàn)車道的彎道與直道正確行駛,以實(shí)現(xiàn)在不同的環(huán)境下具有良好的穩(wěn)定性、魯棒性。
3.1 圖像預(yù)處理
本文采用智能仿真車采集的兩幅典型車道線圖像作為分析對象對上述過程進(jìn)行詳細(xì)說明。如圖5所示,兩幅圖像的分辨率為640×480,其中圖5(a)為典型彎道圖像,圖5(b)為典型直道圖像。由這兩幅典型車道線圖像可知,智能仿真車采集的不同位置的車道線圖像在形狀方面的表現(xiàn)特征不盡相同。
為了實(shí)現(xiàn)智能仿真車的穩(wěn)定行駛,一般設(shè)計(jì)車體重心較低,在此情況下為了使得車載攝像機(jī)具有良好的視野,本文將攝像機(jī)通過車載支架架起。這使得在智能仿真車的運(yùn)動過程中,常因?yàn)檐圀w的震動導(dǎo)致車載攝像機(jī)的位置發(fā)生一些變化,比如攝像機(jī)角度不正等,進(jìn)而造成所拍攝的道路圖像產(chǎn)生畸變。針對上述問題,本文采用逆透視標(biāo)定的方法對車載攝像機(jī)采集的車道線圖像進(jìn)行處理[7?8]。具體過程如下,如圖6所示,首先,在智能車所在的水平地面上建立坐標(biāo)系,以垂直于智能仿真車行駛的方向?yàn)閇x]軸,平行于智能仿真車行駛的方向?yàn)閇y]軸,在攝像機(jī)采集圖像的范圍內(nèi),選取一個(gè)矩形,記矩形縱向邊長為[H]且平行于[y]軸,橫向邊長為[W]且平行于[x]軸,選取矩形的四個(gè)點(diǎn)[M1,M2,][M3,M4]進(jìn)行標(biāo)記,使四個(gè)點(diǎn)全部顯示在圖像中。
計(jì)算該坐標(biāo)系中所標(biāo)定矩形的四個(gè)頂點(diǎn)的坐標(biāo),矩形右下角、左下角、右上角、左上角的坐標(biāo)分別為[M1(a,b),M2((a+W),b),][M3(a,(b+H)),][M4((a+W),(b+H)),][a]表示的是[x]軸偏移的距離,[b]表示的是[y]軸偏移的距離。
然后,建立圖像坐標(biāo)系,如圖7所示,以圖像的左上角為原點(diǎn),橫軸為[x]軸,縱軸為[y]軸,計(jì)算矩形在圖像中的坐標(biāo),坐標(biāo)分別為[m1(x1,y1),m2(x2,y2),m3(x3,y3),][m4(x4,y4),]其分別表示為矩形右下角、左下角、右上角、左上角。
最后通過OpenCV中GetPerspectiveTransform函數(shù),由四對點(diǎn)計(jì)算透射變換,得到3×3矩陣,并由該矩陣作為變換矩陣,使用函數(shù)WarpPerspective對圖像進(jìn)行逆透視變換處理,變換處理后的結(jié)果如圖8所示。將逆透視變換后得到的圖像,經(jīng)過形態(tài)學(xué)濾波、邊緣提取等方法,提取出車道線的邊緣,依據(jù)車道線的寬度,通過特征算子卷積濾波,去掉無關(guān)的噪聲,使圖像中的車道線更明顯。通過圖像預(yù)處理后,得到如圖9所示的卷積濾波圖像。
3.2 基于Hough變換的車道線處理
通過分析圖9所示的卷積濾波圖像可知,經(jīng)預(yù)處理后的圖像中的車道線并不連續(xù),因此需要對其進(jìn)行補(bǔ)全??紤]到Hough變換原理是從黑白圖像中檢測直線圓、橢圓、雙曲線、拋物線等[9?10],本文對濾波后的圖像作Hough變換,并將變換結(jié)果存入Hough變換累加器,設(shè)定閾值,并根據(jù)閾值大小將Hough變換累加器中累加值小于閾值的點(diǎn)清零,即認(rèn)為這些點(diǎn)并不對應(yīng)圖像域中的一條直線。然后查找Hough變換累加器中累加值最大的點(diǎn),記錄該點(diǎn)并將其鄰域清零;繼續(xù)查找并記錄下一個(gè)累加值最大的點(diǎn),直到累加器中所有的累加值都為零。這些記錄的點(diǎn)即對應(yīng)了檢測到的圖像中的直線,根據(jù)檢測到的點(diǎn)在圖像域中繪出直線,從而使不連續(xù)的車道線連接成一條線。經(jīng)Hough變換后的車道線圖像,如圖10所示。
由圖10(a)檢測得到的車道線圖像與圖8(a)逆透視圖像可以看出,在圖像處理過程中,部分車道線丟失,無法擬合中線。所以需要設(shè)計(jì)一種方法跟蹤車道線目標(biāo),從而擬合出當(dāng)前丟失的車道線。
本文采用多示例學(xué)習(xí)進(jìn)行車道線跟蹤,其原理是由當(dāng)前Hough變換的圖像作為示例,將含車道線的圖像集合作為正包,不含車道線的圖像集合作為負(fù)包,然后利用正、負(fù)包進(jìn)行分類器訓(xùn)練,找到下一幀中車道線最有可能出現(xiàn)的位置,具體步驟如下:
(1) 假設(shè)當(dāng)前采集的圖像為第[t]幀,并在第[t]幀中找到更小的圖像集合[Xm:]
[Xm=x:l(x)-lt 式中:[x]為包中圖像的個(gè)數(shù);[l(x)]為圖像塊[x]的坐標(biāo);[lt]為第[t]幀圖像中車道線的坐標(biāo)[(xt,yt);][XS]表示找到包中任意圖像的車道線坐標(biāo)與當(dāng)前圖像中車道線的坐標(biāo)距離小于[M]的圖像。 (2) 使用分類器,計(jì)算[Xm]中出現(xiàn)目標(biāo)(車道線)概率最大的圖像,并將它對應(yīng)的坐標(biāo)作為第[t+1]幀中車道線的位置[lt+1]: [lt+1=argmaxPy=1x] (2) (3) 在[lt+1]的鄰域內(nèi),找到兩個(gè)圖像集合,即正、負(fù)包,從而實(shí)現(xiàn)更新,如式(3),式(4)所示: [Xγ=x:l(x)-lt<γ] (3) [Xγ,β=x,γ 式中:[Xγ]為正包;[Xλ,β]為負(fù)包;[γ,β]分別為正、負(fù)包選擇的半徑。 根據(jù)上述方法,由第[t]幀的車道線位置[lt]預(yù)測出第[t+1]幀中車道線的位置[lt+1,]通過[lt,lt+1]兩個(gè)點(diǎn)確定車道線的方向。 如圖11所示,將霍夫變換后的圖像經(jīng)過目標(biāo)跟蹤算法的處理,將彎道沒有采集到的車道線用虛線模擬出車道線。將處理后的圖像,通過最小二乘法擬合出車道線的中線,并用虛線表示,結(jié)果如圖12所示,智能車依據(jù)中線在彎道與直道正確行駛。 4 結(jié) 語 無人駕駛技術(shù)及智能車輛是目前國內(nèi)外智能交通領(lǐng)域的重要研究熱點(diǎn)之一。在真實(shí)場景下進(jìn)行智能車輛的實(shí)驗(yàn)測試存在成本高昂、安全性能較差等缺點(diǎn),因此目前多通過構(gòu)建智能車仿真平臺的方式進(jìn)行研究。在上述背景下,本文針對智能車仿真平臺的使用需求設(shè)計(jì)了一種智能仿真車,詳細(xì)介紹了其軟硬件設(shè)計(jì)方法,重點(diǎn)研究了智能仿真車車道線識別問題,并提出了一種基于Hough變換的車道線識別方法。該智能仿真車在我校陜西省道路交通智能檢測與裝備工程技術(shù)研究中心建設(shè)的智能車仿真平臺中進(jìn)行了長時(shí)間的應(yīng)用,并依次開展了多項(xiàng)科學(xué)研究,驗(yàn)證了該仿真車設(shè)計(jì)的有效性和穩(wěn)定性。 參考文獻(xiàn) [1] 程結(jié)園,張濤.基于圖像處理的智能車輛系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2014,4(6):45?47. [2] 陸正辰.基于多縮微車的智能交通系統(tǒng)仿真平臺研究[D].上海:上海交通大學(xué),2013. [3] 冀勇鋼,張彥朋,鄭漢明.攝像頭識別的智能車硬件系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(10):136?138. [4] 王健,王潤民,惠飛,等.基于分裂合并算法的道路標(biāo)線分割方法研究[J].計(jì)算機(jī)應(yīng)用研究,2014,31(12):3880?3884. [5] ZHAO K, MEUTER M, NUNN C, et al. A novel multi?lane detection and tracking system [C]// Proceedings of 2012 Intelligent Vehicles Symposium. Alcala de Henres: IEEE, 2012: 1084?1089. [6] 彭爽,彭曉明.基于高效多示例學(xué)習(xí)的目標(biāo)跟蹤[J].計(jì)算機(jī)應(yīng)用,2015,35(2):466?469. [7] 賴智銘.適用于低分辨率的逆透視映射算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2013(10):3551?3555. [8] 文超.基于視覺的后方車輛檢測與跟蹤算法研究[D].長春:吉林大學(xué),2014. [9] 潘憶江,黃際彥,吳波,等.PCB中圓形圖像的自動光學(xué)檢測研究[J].現(xiàn)代電子技術(shù),2014,37(8):69?71. [10] 陸路,梁光明,丁建文.基于Hough變換的橢圓檢測改進(jìn)算法[J].現(xiàn)代電子技術(shù),2015,38(16):92?94.