【導(dǎo)讀】智能車(chē)環(huán)境感知系統(tǒng)的一個(gè)重要任務(wù)就是實(shí)時(shí)地提供車(chē)輛在行使過(guò)程中的位置信息。機(jī)器視覺(jué)因其有信號(hào)探測(cè)范圍寬、獲取信息完整、符合人類(lèi)認(rèn)知習(xí)慣、維護(hù)成本低、不產(chǎn)生環(huán)境污染等多優(yōu)點(diǎn),已在智能車(chē)環(huán)境感知系統(tǒng)中廣泛采用。
機(jī)器視覺(jué)車(chē)輛環(huán)境感知系統(tǒng)中的主要任務(wù)是完成道路及目標(biāo)的識(shí)別和跟蹤,為智能車(chē)行使提供必須的本車(chē)位置信息和周?chē)h(huán)境距離信息。
對(duì)于現(xiàn)實(shí)情況下的道路,一般可以將其分為兩大類(lèi),即:結(jié)構(gòu)化道路和非結(jié)構(gòu)化道路。結(jié)構(gòu)化道路上有明顯的道路
標(biāo)記,且這些標(biāo)記具有較強(qiáng)的幾何特征,道路路面主要是由這些標(biāo)記界分確定的,如高速公路上道路中間黃色的連續(xù)標(biāo)志線或白色的間斷標(biāo)志線以及兩旁白色的連續(xù)標(biāo)志線;非結(jié)構(gòu)化道路上沒(méi)有明顯的道路標(biāo)記,在二維圖像中道路路面與非路面主要依靠紋理與色彩而區(qū)分的,如沒(méi)有標(biāo)記的水泥路、野外土路或石板路等。
彎道圖像包含豐富的道路信息和環(huán)境信息,解釋了道路周?chē)鷪?chǎng)景。彎道檢測(cè)是從道路圖像中檢測(cè)出彎曲車(chē)道線的邊界,這也是對(duì)彎道理解的基礎(chǔ)。建立彎道模型;提取車(chē)道線像素點(diǎn);擬合車(chē)道線模型屬于目前較常采用的認(rèn)知方法,并在特定的結(jié)構(gòu)化道路體現(xiàn)出較好的檢測(cè)效果。文獻(xiàn)[6]介紹了彎道檢測(cè)在車(chē)道偏離預(yù)警、彎道限速以及彎道防碰撞預(yù)警等領(lǐng)域的應(yīng)用情況,并提出了彎道檢測(cè)應(yīng)該建立三維車(chē)道線模型,提高適用性。
均采用的Hough變換求出車(chē)道線直線方程,從而確定對(duì)應(yīng)直線段上的最低點(diǎn)和最高點(diǎn),然后根據(jù)相應(yīng)準(zhǔn)則判斷曲線道路的彎曲方向,最后分段擬合車(chē)道線的直線段和曲線段實(shí)現(xiàn)車(chē)道線的二維重建。
彎道檢測(cè)不僅需要識(shí)別出道路邊界線,還需要判斷道路彎曲方向,確定轉(zhuǎn)彎的曲率半徑。常用的車(chē)道檢測(cè)方法可分為2大類(lèi):基于道路特征和基于道路模型的方法。目前國(guó)外主要常用基于道路模型的方法,即將彎道檢測(cè)轉(zhuǎn)化為各種曲線模型中數(shù)學(xué)參數(shù)的求解問(wèn)題。省略彎道曲線模型建立和數(shù)學(xué)參數(shù)的復(fù)雜求解過(guò)程,本文采用立體視覺(jué)感知環(huán)境的三維信息,利用它的視差原理對(duì)所獲取室內(nèi)道路周邊環(huán)境圖像中角點(diǎn)特征的位置恢復(fù)其三維信息來(lái)判斷車(chē)體的彎道轉(zhuǎn)向和偏航角度。建立了視覺(jué)信息直接控制車(chē)體驅(qū)動(dòng)偏離角與偏離距離視覺(jué)伺服控制系統(tǒng),初步采用了BP控制策略,利用Simulink仿真環(huán)境實(shí)現(xiàn)了針對(duì)未知彎道曲率的智能車(chē)轉(zhuǎn)彎控制運(yùn)動(dòng)。
1 室內(nèi)道路環(huán)境信息的視覺(jué)感知
1.1 立體視覺(jué)系統(tǒng)模型
采用針孔成像模型將圖像中任何點(diǎn)的投影位置與實(shí)際點(diǎn)的物理位置建立連線關(guān)系,攝像機(jī)光心O與空間P點(diǎn)間的連線OP與圖像平面的交點(diǎn)即為圖像投影的位置(u,v)。用齊次坐標(biāo)和矩陣表示上述透視投影關(guān)系為:
本文采用的雙目平行相機(jī)的模型如圖1所示,C1與C2攝像機(jī)的焦距相等,各內(nèi)部參數(shù)也相等,而且兩個(gè)相機(jī)的光軸互相平行,x軸互相重合,y軸互相平行,因此,將第一個(gè)攝像機(jī)沿x軸平移一段距離b后與第二個(gè)攝像機(jī)完全重合。假設(shè)C1坐標(biāo)系為O1 x1 y1 z1,C2坐標(biāo)系為O2 x2 y2 z2,則在上述攝像機(jī)配置下,若任何空間點(diǎn)P的坐標(biāo)在C1坐標(biāo)系下為(x1),y1,z1,在C2坐標(biāo)系下為(x1)-b,y1,z1。由中心攝影的比例關(guān)系可得:
其中(u1,v1)、(u2,v2)分別為P1與P2的圖像坐標(biāo)。由P1與P2的圖像坐標(biāo)(u2,v2)、(u2,v2)可求出空間點(diǎn)P的三維坐標(biāo)(x1,y1,z1)。
1.2 室內(nèi)環(huán)境特征向量的提取與匹配
由于噪聲、光照變化、遮擋和透視畸變等因素的影響,空間同一點(diǎn)投影到兩個(gè)攝像機(jī)的圖像平面上形成的對(duì)應(yīng)點(diǎn)的特性可能不同,對(duì)在一幅圖像中的一個(gè)特征點(diǎn)或者一小塊子圖像,在另一幅圖像中可能存在好幾個(gè)相似的候選匹配。因此需要另外的信息或者約束作為輔助判據(jù),以便能得到惟一準(zhǔn)確的匹配。最近鄰法是一種有效的為每個(gè)特征點(diǎn)尋找匹配點(diǎn)的方法。最近鄰點(diǎn)被定義為與特征點(diǎn)的不變描述子向量之間的歐氏距離最短的點(diǎn)。
假定參考圖像P的SIFT特征點(diǎn)集合為:FP ={FP (1),F(xiàn)P (2),-,F(xiàn)P (m)},m為圖像P的特征點(diǎn)的個(gè)數(shù);待匹配圖像Q的特征點(diǎn)的個(gè)數(shù)為N,SIFT特征點(diǎn)集合為FQ ={FQ (1),F(xiàn)Q (2),-,F(xiàn)Q (m)}。當(dāng)在建立參考圖像中的特征點(diǎn)和待匹配圖像的特征篩選對(duì)應(yīng)匹配關(guān)系時(shí),應(yīng)按照?qǐng)D2所示的算法進(jìn)行對(duì)稱(chēng)性測(cè)試,只有當(dāng)兩個(gè)匹配集中的對(duì)應(yīng)點(diǎn)完全一致時(shí),才視為有效匹配。
SIFT特征向量生成后,利用特征點(diǎn)向量的歐式距離來(lái)作為兩幅圖像中特征點(diǎn)的相似性判定度量。最近鄰法是一種有效的為每個(gè)特征點(diǎn)尋找匹配點(diǎn)的方法。
最近鄰點(diǎn)被定義為與特征點(diǎn)的不變描述子向量之間的歐氏距離最短的點(diǎn)。對(duì)特征點(diǎn)集合FP中的每個(gè)點(diǎn),逐一計(jì)算其與特征點(diǎn)集合FQ中每個(gè)點(diǎn)的距離,得到特征點(diǎn)之間的距離集合D。將距離集合D中的元素進(jìn)行排序,得到最近鄰距離dmin和次近鄰距離dn–nim。SIFT算法通過(guò)判斷最近鄰和次近鄰距離的比值:
來(lái)區(qū)分正確匹配對(duì)和錯(cuò)誤匹配對(duì)。
對(duì)于正確的匹配對(duì),其最近鄰距離dmin要遠(yuǎn)遠(yuǎn)小于次近鄰距離dn-nim,即DistanceRatio-1;而錯(cuò)誤的匹配對(duì),由于特征空間的維數(shù)很高,其最近鄰距離dmin與次近鄰距離dn-nim差距不大,即DistanceRatio≈1。所以可取一個(gè)距離比閾值Threh∈(0,1)來(lái)區(qū)分正確匹配對(duì)和錯(cuò)誤匹配對(duì)。
1.3 運(yùn)動(dòng)估計(jì)
進(jìn)行特征點(diǎn)立體匹配和跟蹤匹配如圖2所示,對(duì)當(dāng)前時(shí)刻t獲得圖像對(duì)(ImgL1和ImgL2)進(jìn)行SIFT特征匹配之后獲得道路環(huán)境匹配特征點(diǎn)Ni個(gè),再對(duì)相鄰時(shí)刻t+1獲得的Ni+1個(gè)特征點(diǎn)計(jì)算歐式距離,尋找t與t+1時(shí)刻獲取圖像中相同的特征點(diǎn),得到一系列匹配點(diǎn)在車(chē)體運(yùn)動(dòng)前后的三維坐標(biāo)。
本文實(shí)驗(yàn)環(huán)境是在室內(nèi),在假定室內(nèi)環(huán)境為理想的水平面的基礎(chǔ)上,同一特征點(diǎn)三維坐標(biāo)中y坐標(biāo)保持基本不變,即車(chē)體運(yùn)動(dòng)參數(shù)僅在x-z坐標(biāo)平面內(nèi)發(fā)生變化。
圖3中點(diǎn)P(x1,y1,z1)為所提取環(huán)境特征點(diǎn),在t時(shí)刻立體匹配后得到其在攝像頭坐標(biāo)系下的三維坐標(biāo),由于攝像頭固定安裝在小車(chē)上,因此通過(guò)坐標(biāo)系的旋轉(zhuǎn)與平移變換可將點(diǎn)P的三維坐標(biāo)轉(zhuǎn)換到小車(chē)坐標(biāo)系ΣBt下表示。同理,t+1時(shí)刻所獲取的圖像中相同點(diǎn)P的(u,v)二維坐標(biāo)發(fā)生變化,經(jīng)坐標(biāo)轉(zhuǎn)換后可得到小車(chē)坐標(biāo)系ΣBt+1下表示。
小車(chē)t時(shí)刻位于位置A時(shí),特征點(diǎn)P在坐標(biāo)系ΣBt為參考位置的三維坐標(biāo)是[x1],y1,z1T,當(dāng)經(jīng)過(guò)t+1時(shí)刻后移動(dòng)到空間位置B時(shí),同一特征點(diǎn)P在以B為參考位置的三維坐標(biāo)為[x]t+1,yt+1,zt+1T,所以得到:
當(dāng)這些位置滿(mǎn)足3個(gè)及以上相同的匹配特征點(diǎn)時(shí),小車(chē)所在坐標(biāo)系間的平移與旋轉(zhuǎn)向量就可以通過(guò)以上方程獲得。
2 車(chē)體的轉(zhuǎn)彎控制
2.1 車(chē)體定位參數(shù)計(jì)算
環(huán)境特征點(diǎn)投影到車(chē)體坐標(biāo)系下表示后,即為所有的環(huán)境坐標(biāo)均統(tǒng)一在世界坐標(biāo)系下的表示。如圖4所示,其中小車(chē)前進(jìn)方向?yàn)閦w軸,xw水平垂直于zw,方向向右,其交點(diǎn)為原點(diǎn)Ow。直線為lmid為道路中間線,lmid與zw的夾角為φ,即為車(chē)輛的偏航角。點(diǎn)Ow到左車(chē)道線lL的距離為DL,到右車(chē)道線lR的距離為DR,可行駛區(qū)域的道路寬度為w = DL+DR。
2.2 彎道控制策略
2.2.1 控制策略
機(jī)器人的底層運(yùn)動(dòng)控制是非常重要的一個(gè)環(huán)節(jié),機(jī)器人運(yùn)動(dòng)控制的好壞直接決定了能否有效執(zhí)行決策意圖,準(zhǔn)確無(wú)誤地沿著預(yù)定軌跡行進(jìn),完成導(dǎo)航任務(wù)。傳統(tǒng)的定位控制中,PI、PID是廣泛采用的控制方法,這些方法比較成熟,但卻具有一定的局限性。對(duì)被控系統(tǒng)的參數(shù)變化比較敏感,難以克服系統(tǒng)中非線性因素的影響。本文采用BP神經(jīng)網(wǎng)絡(luò)控制器在行使過(guò)程中經(jīng)學(xué)習(xí)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以適應(yīng)當(dāng)前的環(huán)境路況來(lái)調(diào)整車(chē)的左右輪速控制量。智能車(chē)左右輪速的大小,和車(chē)體偏離道路中間線lmid的距離d和車(chē)運(yùn)動(dòng)時(shí)方向偏離中間線的角度φ有關(guān)。小車(chē)控制輸入為d,φ,輸出為VL,VR。
基于雙目立體視覺(jué)獲取得到的三維信息,即為經(jīng)左右圖像SIFT特征點(diǎn)匹配,在攝像頭坐標(biāo)系中獲取前景環(huán)境中各關(guān)鍵點(diǎn)的坐標(biāo)信息。選取關(guān)鍵點(diǎn)中與機(jī)器人基坐標(biāo)系原點(diǎn)高度靠近的點(diǎn),并且該點(diǎn)的個(gè)數(shù)需大于3,之后,采用最小二乘法擬合可得行駛區(qū)域的邊界直線,即確定了車(chē)體定位參數(shù)中左、右車(chē)道線lL、lR。直線與圖像右邊界存在交點(diǎn),即可判斷出彎道轉(zhuǎn)向。同時(shí),擬合確定的左車(chē)道線與圖像下邊緣的交點(diǎn)Pl0為第一個(gè)控制點(diǎn);以圖像右邊界與擬合直線的交點(diǎn)處為第二個(gè)控制點(diǎn)Pln。圖5表示為前景環(huán)境中對(duì)特征點(diǎn)的匹配結(jié)果圖和判斷可行駛區(qū)域。
對(duì)序列圖像進(jìn)行實(shí)時(shí)處理時(shí),由于攝像機(jī)采集系統(tǒng)速度為30幀/s,車(chē)速在不超過(guò)33cm/s的情況下,采集一幀圖像智能車(chē)向前行駛約小于1cm,連續(xù)采集的兩幀圖像中所判斷的車(chē)道左右車(chē)道線和彎道方向偏差不會(huì)太大。
2.2.2 控制仿真實(shí)驗(yàn)
實(shí)驗(yàn)采用BP神經(jīng)網(wǎng)絡(luò)作為控制對(duì)偏離角φ進(jìn)行仿真實(shí)驗(yàn)。在Simulink環(huán)境下搭建的系統(tǒng)模型中BP神經(jīng)網(wǎng)絡(luò)的搭建如圖6所示。U為經(jīng)由視覺(jué)信息得到的偏航角φ作為系統(tǒng)輸入量,輸出Y為小車(chē)質(zhì)心速度V。小車(chē)左、右輪速可在判斷彎道轉(zhuǎn)向的前提下,由兩輪速差VD經(jīng)計(jì)算得出。若如圖5所示,彎道轉(zhuǎn)向向右:
利用Simulink庫(kù)中Signal Builder產(chǎn)生變化的Signal仿真實(shí)際環(huán)境中視覺(jué)系統(tǒng)得到的當(dāng)前車(chē)體的偏移量。
小車(chē)經(jīng)左右輪差速轉(zhuǎn)彎運(yùn)動(dòng)中質(zhì)心位置實(shí)際偏轉(zhuǎn)角度作為網(wǎng)絡(luò)的輸入,經(jīng)訓(xùn)練學(xué)習(xí)反饋回系統(tǒng)的控制輸入端。圖7為控制仿真結(jié)果圖,由圖示可知該方法基本完成了對(duì)信號(hào)的控制跟蹤,由此說(shuō)明了利用雙目立體視覺(jué)所獲得的信息,并采用BP網(wǎng)絡(luò)自學(xué)習(xí)對(duì)道路的變化可適用于不同彎道的道路,避免了傳統(tǒng)PID控制方法因彎道曲率變化使得小車(chē)轉(zhuǎn)彎控制失敗。
3 結(jié)論
借助機(jī)器視覺(jué)系統(tǒng)判斷小車(chē)可行駛區(qū)域,同時(shí)還可清晰地判斷出彎曲線路的走向,避免了彎道方向的復(fù)雜判別方法,且該方法普遍適用于不同的道路環(huán)境,特別是非結(jié)構(gòu)化的道路環(huán)境,也增強(qiáng)了算法的實(shí)用性和魯棒性。但目前對(duì)雙目攝像機(jī)進(jìn)行精確匹配和標(biāo)定仍然是個(gè)技術(shù)難題;神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法在選取訓(xùn)練樣本數(shù)據(jù)和精確定位車(chē)輛位置方面也比較困難,這將是進(jìn)一步研究的主要關(guān)鍵問(wèn)題。來(lái)源:電子發(fā)燒友。