宋乾毓 蔡丹丹 李肖夏 田 斌
(中汽研汽車(chē)檢驗(yàn)中心(廣州)有限公司,廣東 廣州 511300)
汽車(chē)是人們出行的一種主要工具。由于汽車(chē)數(shù)量不斷增加,因此出現(xiàn)交通堵塞、交通事故等問(wèn)題,為了能夠解決上述問(wèn)題,研究人員進(jìn)行了許多嘗試和探索。目前,人工智能技術(shù)、互聯(lián)網(wǎng)+技術(shù)等廣泛應(yīng)用于各行各業(yè)。在汽車(chē)領(lǐng)域中,智能駕駛已經(jīng)成了未來(lái)發(fā)展的一個(gè)主要方向。在汽車(chē)行駛的過(guò)程中,駕駛員獲得的大部分信息(例如路面狀況信息、交通標(biāo)志信息以及障礙物信息等)都來(lái)自其自身的視覺(jué),如果可以模仿人類(lèi)的視覺(jué)系統(tǒng)來(lái)了解路面環(huán)境,就可以輔助人們進(jìn)行汽車(chē)駕駛,從而提高汽車(chē)行駛的安全性,降低發(fā)生交通事故的概率。
該文對(duì)基于視覺(jué)導(dǎo)航的智能駕駛系統(tǒng)進(jìn)行的研究是以無(wú)人駕駛車(chē)輛作為硬件實(shí)驗(yàn)平臺(tái)的。該無(wú)人駕駛車(chē)輛在環(huán)境感知傳感器方面配備了前向四線激光雷達(dá)、側(cè)向單線激光雷達(dá)和攝像頭,構(gòu)成了汽車(chē)的雙目視覺(jué)傳感器系統(tǒng)。同時(shí),還在車(chē)輛上安裝了車(chē)輛定位系統(tǒng)[1]。該無(wú)人駕駛車(chē)輛具有3個(gè)智能子駕駛模塊,即環(huán)境感知模塊、規(guī)劃決策模塊以及自動(dòng)控制模塊。其中,環(huán)境感知模塊主要是指對(duì)車(chē)輛周?chē)h(huán)境進(jìn)行感知和探索的硬件設(shè)備,包括導(dǎo)航系統(tǒng)、高清攝像頭以及激光雷達(dá)等。規(guī)劃決策模塊的主要功能是對(duì)車(chē)輛行駛路線進(jìn)行規(guī)劃。自動(dòng)控制模塊主要負(fù)責(zé)在車(chē)輛行駛過(guò)程中對(duì)油門(mén)、剎車(chē)以及方向盤(pán)等機(jī)構(gòu)進(jìn)行控制。上述所有的硬件設(shè)備均采用CAN總線進(jìn)行連接,通過(guò)串口通信的方式進(jìn)行數(shù)據(jù)信息交互,車(chē)載智能駕駛系統(tǒng)的結(jié)構(gòu)框架如圖1所示。
由圖1可知,在駕駛過(guò)程中,攝像頭、激光雷達(dá)以及GPS的主要功能是感知車(chē)身周?chē)沫h(huán)境,對(duì)采集到的數(shù)據(jù)進(jìn)行處理,并傳送至路徑規(guī)劃和決策模塊,最終由控制模塊來(lái)完成汽車(chē)的各種剎車(chē)、轉(zhuǎn)向燈動(dòng)作,從而實(shí)現(xiàn)智能駕駛的目標(biāo)。

圖1 車(chē)載智能駕駛系統(tǒng)框架
在智能交通系統(tǒng)中,對(duì)行駛路徑進(jìn)行自動(dòng)尋優(yōu)是車(chē)載智能駕駛系統(tǒng)所必備的一項(xiàng)技術(shù),同時(shí)也是車(chē)載智能駕駛系統(tǒng)實(shí)踐應(yīng)用亟待解決的問(wèn)題。而作為路徑尋優(yōu)技術(shù)中的關(guān)鍵環(huán)節(jié),對(duì)車(chē)道線識(shí)別進(jìn)行系統(tǒng)的研究和開(kāi)發(fā)能夠?yàn)檐?chē)輛的自動(dòng)駕駛提供道路方向、彎曲曲率以及車(chē)輛實(shí)時(shí)行駛的車(chē)道線信息等數(shù)據(jù)。因此,車(chē)載智能駕駛系統(tǒng)可以對(duì)車(chē)道線進(jìn)行精準(zhǔn)識(shí)別,從而提高車(chē)輛自動(dòng)駕駛的安全性和可靠性。通常來(lái)說(shuō),車(chē)載智能駕駛系統(tǒng)要想對(duì)車(chē)道線進(jìn)行識(shí)別,就需要通過(guò)安裝在車(chē)身上的CCD攝像頭來(lái)采集車(chē)道視頻流數(shù)據(jù)信息,并采用相關(guān)算法進(jìn)行分析,得到車(chē)道線的數(shù)據(jù)信息?,F(xiàn)階段有2種不同類(lèi)型的車(chē)道線識(shí)別算法:1) 對(duì)視頻圖像進(jìn)行逐幀分析,再對(duì)識(shí)別到的車(chē)道線進(jìn)行相應(yīng)的信息標(biāo)注。2) 對(duì)視頻流中的車(chē)輛運(yùn)動(dòng)矢量數(shù)據(jù)信息進(jìn)行分析,在該基礎(chǔ)上完成對(duì)車(chē)道線位置的識(shí)別和跟蹤工作。
該文通過(guò)條件約束來(lái)降低道路邊緣特征的噪聲干擾,并引進(jìn)光流算法來(lái)進(jìn)行車(chē)道識(shí)別,以提高車(chē)載智能駕駛系統(tǒng)的計(jì)算效率。光流算法是一種可以在連續(xù)視頻幀中進(jìn)行識(shí)別和跟蹤的方法。以光流算法為基礎(chǔ)的車(chē)道線快速識(shí)別主要分為以下4個(gè)步驟:1) 引入光流算法對(duì)車(chē)道線的大概范圍進(jìn)行動(dòng)態(tài)性評(píng)估,其目的是盡可能地定位感興趣區(qū)域。2) 采用復(fù)合算子對(duì)道路邊緣特征進(jìn)行計(jì)算和檢測(cè)。3) 利用多項(xiàng)式擬合對(duì)車(chē)道線進(jìn)行識(shí)別。4) 對(duì)車(chē)道線的類(lèi)型進(jìn)行識(shí)別,將識(shí)別出的車(chē)道線標(biāo)注到視頻圖像中。
與傳統(tǒng)的車(chē)道線識(shí)別算法相比,采用光流法能夠快速確定車(chē)道線的檢測(cè)范圍,提高了車(chē)載智能駕駛系統(tǒng)對(duì)車(chē)道線進(jìn)行識(shí)別的效率。其具體的工作原理是根據(jù)圖像序列中的像素隨著時(shí)間域所發(fā)生的變化來(lái)發(fā)現(xiàn)2個(gè)相鄰幀之間所具有的內(nèi)在聯(lián)系,并在該基礎(chǔ)上對(duì)2幀之間的數(shù)據(jù)信息進(jìn)行計(jì)算[2]。光流法通過(guò)計(jì)算每幀中關(guān)鍵特征點(diǎn)的位置就可以實(shí)現(xiàn)對(duì)正在運(yùn)動(dòng)中的物體進(jìn)行檢測(cè)和跟蹤的目標(biāo)。該文設(shè)計(jì)的利用L-K光流法對(duì)車(chē)道線進(jìn)行跟蹤和識(shí)別的流程如下。
首先,在光流算法中添加新的特征點(diǎn)。其次,利用光流法對(duì)該特征點(diǎn)進(jìn)行計(jì)算。最后,根據(jù)特征點(diǎn)對(duì)其進(jìn)行整理和篩選。
在上述識(shí)別車(chē)道線的過(guò)程中,利用L-K光流法進(jìn)行計(jì)算是該流程中的關(guān)鍵。設(shè)定影像灰度保持不變,t處在坐標(biāo)(x,y)像素點(diǎn)上,那么可以計(jì)算t+dt的具體位置為(x+dx,y+dy),在該基礎(chǔ)上通過(guò)計(jì)算可以得到公式(1)。

式中:I(x,y,t)為已知量;d為常數(shù)。
對(duì)公式(1)進(jìn)行泰勒展開(kāi),可以得到公式(2)。

將公式(2)寫(xiě)為矩陣公式,如公式(3)所示。

式中:u、v分別為像素坐標(biāo)系中指向u軸和v軸正方向的位移量。
由公式(3)可知,它具有2個(gè)(u和v)不同的變量,如果僅使用1個(gè)點(diǎn),就無(wú)法完成對(duì)2個(gè)變量進(jìn)行計(jì)算的任務(wù),為了解決該問(wèn)題,引入窗口內(nèi)像素具有相同運(yùn)動(dòng)軌跡的概念,將窗口大小設(shè)定為w×w,則該窗口一共具有w2個(gè)像素,因此也共計(jì)有w2個(gè)方程,如公式(4)所示。

采用最小二乘解計(jì)算可以得出u和v的值。
在對(duì)上一幀車(chē)道線進(jìn)行識(shí)別的基礎(chǔ)上,采用光流法對(duì)視頻幀進(jìn)行計(jì)算,對(duì)計(jì)算結(jié)果進(jìn)行篩選后,得到較精準(zhǔn)的坐標(biāo)點(diǎn),再對(duì)得到的坐標(biāo)點(diǎn)進(jìn)行計(jì)算,以獲取車(chē)輛的運(yùn)動(dòng)估計(jì)[3]。該算法的主要流程如下:1) 對(duì)左、右2組坐標(biāo)點(diǎn)來(lái)說(shuō),采用DBSCAN聚類(lèi)算法對(duì)其位移矢量進(jìn)行計(jì)算,以去除前景像素,得到主要背景坐標(biāo)點(diǎn)。2) 采用平均加權(quán)法對(duì)前方背景圖像的相對(duì)矢量位移進(jìn)行計(jì)算,如公式(5)所示。3) 在計(jì)算得出位移矢量的結(jié)果后,對(duì)汽車(chē)左、右兩側(cè)的車(chē)道預(yù)估曲線進(jìn)行計(jì)算,同時(shí)將其設(shè)定為系統(tǒng)的感興趣區(qū)域。4) 在系統(tǒng)的感興趣區(qū)域內(nèi)完成對(duì)圖像進(jìn)行二值化、查找汽車(chē)行駛車(chē)道線像素等任務(wù)。

式中:a為前方背景圖像的相對(duì)位移矢量;ai為第i組特征像素的相對(duì)位移矢量;si為第i個(gè)特征像素和車(chē)道擬合曲線的距離倒數(shù);k為像素。
通常情況下,我國(guó)道路上兩側(cè)的車(chē)道線寬度是恒定的(2條車(chē)道線是相互平行的),根據(jù)點(diǎn)與直線之間距離最短的原理可以計(jì)算車(chē)輛中心與左右兩側(cè)車(chē)道線的具體距離,如公式(6)和公式(7)所示。

式中:DL為車(chē)輛與道路左側(cè)車(chē)道線的距離;DR為車(chē)輛與道路右側(cè)車(chē)道線的距離;kL、bL為左車(chē)道線坐標(biāo);kR、bR為右車(chē)道線坐標(biāo)。
在計(jì)算上述距離后,就可以計(jì)算車(chē)輛中心與兩側(cè)車(chē)道線中心之間的相對(duì)位移D,當(dāng)車(chē)輛左側(cè)偏離2條車(chē)道線中心時(shí),其相對(duì)位移為負(fù);當(dāng)車(chē)輛右側(cè)偏離2條車(chē)道線中心時(shí),其相對(duì)位移為正,如公式(8)所示。

由于在車(chē)輛行駛的大部分時(shí)間內(nèi),車(chē)輛的方向和車(chē)道線之間都不是平行的,因此,引入偏航角的概念來(lái)表示車(chē)輛方向和車(chē)道線之間的夾角φ,如公式(9)所示。

在不同的道路環(huán)境下,道路車(chē)道線的寬度是不相同的,這將導(dǎo)致憑借車(chē)道線和車(chē)輛中心距離以及偏航角來(lái)對(duì)車(chē)道偏離進(jìn)行預(yù)警的智能駕駛系統(tǒng)會(huì)出現(xiàn)偏差,為了解決該問(wèn)題,還需要引入車(chē)輛的長(zhǎng)、寬數(shù)據(jù)[4]。LV表示車(chē)輛的長(zhǎng)度,WV表示車(chē)輛的寬度,采用公式(10)計(jì)算車(chē)輛前部和車(chē)輛中心距離在行駛垂直方向的投影L如公式(10)所示。

當(dāng)L與車(chē)左、右兩側(cè)車(chē)道線的距離DL、DR相等時(shí),表示此時(shí)車(chē)輛正處于車(chē)道線的邊緣,而當(dāng)距離D為負(fù)時(shí),表示已經(jīng)出現(xiàn)左偏離,當(dāng)距離D為正時(shí),表示已經(jīng)出現(xiàn)右偏離,如公式(11)所示。

為了保障在比較復(fù)雜的路況下汽車(chē)行駛的安全性,還需要針對(duì)車(chē)輛碰撞預(yù)警系統(tǒng)進(jìn)行研究。而碰撞預(yù)警系統(tǒng)需要對(duì)車(chē)輛與前方車(chē)輛的距離信息進(jìn)行實(shí)時(shí)計(jì)算,并根據(jù)計(jì)算出來(lái)的距離結(jié)果進(jìn)行碰撞預(yù)警提示[5]。要想完成對(duì)前向車(chē)輛碰撞進(jìn)行預(yù)警的任務(wù),還需要獲得車(chē)輛距離的三維信息,該文引入視差計(jì)算和三維重建的方法來(lái)對(duì)車(chē)輛前方環(huán)境進(jìn)行精準(zhǔn)感知。
3.2.1 視差計(jì)算
采用WTA算法對(duì)車(chē)輛碰撞預(yù)警中的視差進(jìn)行計(jì)算。WTA是一種可以對(duì)路況圖像中左側(cè)視圖像素點(diǎn)進(jìn)行匹配并自動(dòng)選擇最優(yōu)像素點(diǎn)對(duì)視差值進(jìn)行計(jì)算的方法,計(jì)算后就可以得到對(duì)應(yīng)的三維圖像信息。
在采用WTA算法獲得的初始視差圖中還具有很多匹配錯(cuò)誤的點(diǎn),這就需要對(duì)該視差圖進(jìn)行精細(xì)化處理,該文選擇對(duì)其進(jìn)行左右一致性檢測(cè),以提高其匹配的精度。其具體的檢測(cè)流程為進(jìn)行左右一致性檢測(cè),獲取左右視差圖中的異常點(diǎn),如公式(12)所示。

式中:dL(p)為p點(diǎn)在左側(cè)視圖中的具體視差值;dR(p-dL(p))為p點(diǎn)在右側(cè)視差圖中的具體視差值。
3.2.2 三維重建視差圖計(jì)算
為了對(duì)視差圖進(jìn)行三維重建,該文利用工業(yè)相機(jī)構(gòu)建一個(gè)車(chē)載智能化測(cè)量平臺(tái),該平臺(tái)具有2臺(tái)相互平行的相機(jī),以確保相機(jī)的光軸時(shí)刻處于同一平行狀態(tài)下,設(shè)定相機(jī)的基線為0.4 m[6]。在工業(yè)相機(jī)坐標(biāo)系的基礎(chǔ)上建立世界坐標(biāo)系,并將三維平面向下平移2.3 m(到地面位置),設(shè)定工業(yè)相機(jī)的俯角θ=10°,工業(yè)相機(jī)的橫滾角和偏航角均為0°。在重建三維點(diǎn)云的過(guò)程中,使用了4個(gè)不同的坐標(biāo)(像素坐標(biāo)系、圖像坐標(biāo)系、相機(jī)坐標(biāo)系以及世界坐標(biāo)系),雙目測(cè)量系統(tǒng)的坐標(biāo)系定義如圖2所示。

圖2 雙目測(cè)量系統(tǒng)坐標(biāo)
由雙目逆投影的變換原理可以計(jì)算二維像素平面視差d的像素點(diǎn)p(x,y),并將其投影得到三維世界坐標(biāo)系下的換算關(guān)系,如公式(13)所示。

式中:B為雙目基線的具體長(zhǎng)度;f為攝像機(jī)的焦距;Rz(θ)為旋轉(zhuǎn)矩陣;cx、cy為相機(jī)內(nèi)的參數(shù);[0,0,h]為平移矩陣;xw、yw和zw為雙目測(cè)量系統(tǒng)在三維坐標(biāo)系中的x、y和z值。
由映射關(guān)系計(jì)算公式可以將圖像坐標(biāo)系下的像素點(diǎn)投影到三維世界的坐標(biāo)系中,從而完成三維點(diǎn)的云重建任務(wù)。待完成視差計(jì)算和三維云重建后,再對(duì)車(chē)輛識(shí)別的定位結(jié)果進(jìn)行計(jì)算,并采用計(jì)算所得距離的中位值作為智能車(chē)輛和前方車(chē)輛間的距離。
綜上所述,隨著人工智能、信息化技術(shù)以及互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,汽車(chē)工業(yè)的發(fā)展已經(jīng)步入智能化時(shí)代,而機(jī)器視覺(jué)作為一種在車(chē)載智能化駕駛系統(tǒng)中應(yīng)用廣泛的技術(shù),它的發(fā)展水平對(duì)汽車(chē)智能化駕駛系統(tǒng)有十分重要的影響。該文所設(shè)計(jì)的基于視覺(jué)導(dǎo)航車(chē)載智能駕駛系統(tǒng)是一種智能化的駕駛輔助系統(tǒng),能夠?qū)?chē)道偏離和車(chē)輛碰撞進(jìn)行精準(zhǔn)識(shí)別和預(yù)警,從而提高車(chē)輛駕駛過(guò)程中的安全性。未來(lái),隨著各種先進(jìn)傳感器和圖像處理算法在智能駕駛系統(tǒng)中的應(yīng)用,基于視覺(jué)導(dǎo)航的車(chē)載智能駕駛系統(tǒng)會(huì)有更高的精準(zhǔn)性和實(shí)用性。
中國(guó)新技術(shù)新產(chǎn)品2022年19期