宋乾毓 蔡丹丹 李肖夏 田 斌
(中汽研汽車檢驗中心(廣州)有限公司,廣東 廣州 511300)
汽車是人們出行的一種主要工具。由于汽車數量不斷增加,因此出現交通堵塞、交通事故等問題,為了能夠解決上述問題,研究人員進行了許多嘗試和探索。目前,人工智能技術、互聯網+技術等廣泛應用于各行各業(yè)。在汽車領域中,智能駕駛已經成了未來發(fā)展的一個主要方向。在汽車行駛的過程中,駕駛員獲得的大部分信息(例如路面狀況信息、交通標志信息以及障礙物信息等)都來自其自身的視覺,如果可以模仿人類的視覺系統來了解路面環(huán)境,就可以輔助人們進行汽車駕駛,從而提高汽車行駛的安全性,降低發(fā)生交通事故的概率。
該文對基于視覺導航的智能駕駛系統進行的研究是以無人駕駛車輛作為硬件實驗平臺的。該無人駕駛車輛在環(huán)境感知傳感器方面配備了前向四線激光雷達、側向單線激光雷達和攝像頭,構成了汽車的雙目視覺傳感器系統。同時,還在車輛上安裝了車輛定位系統[1]。該無人駕駛車輛具有3個智能子駕駛模塊,即環(huán)境感知模塊、規(guī)劃決策模塊以及自動控制模塊。其中,環(huán)境感知模塊主要是指對車輛周圍環(huán)境進行感知和探索的硬件設備,包括導航系統、高清攝像頭以及激光雷達等。規(guī)劃決策模塊的主要功能是對車輛行駛路線進行規(guī)劃。自動控制模塊主要負責在車輛行駛過程中對油門、剎車以及方向盤等機構進行控制。上述所有的硬件設備均采用CAN總線進行連接,通過串口通信的方式進行數據信息交互,車載智能駕駛系統的結構框架如圖1所示。
由圖1可知,在駕駛過程中,攝像頭、激光雷達以及GPS的主要功能是感知車身周圍的環(huán)境,對采集到的數據進行處理,并傳送至路徑規(guī)劃和決策模塊,最終由控制模塊來完成汽車的各種剎車、轉向燈動作,從而實現智能駕駛的目標。
圖1 車載智能駕駛系統框架
在智能交通系統中,對行駛路徑進行自動尋優(yōu)是車載智能駕駛系統所必備的一項技術,同時也是車載智能駕駛系統實踐應用亟待解決的問題。而作為路徑尋優(yōu)技術中的關鍵環(huán)節(jié),對車道線識別進行系統的研究和開發(fā)能夠為車輛的自動駕駛提供道路方向、彎曲曲率以及車輛實時行駛的車道線信息等數據。因此,車載智能駕駛系統可以對車道線進行精準識別,從而提高車輛自動駕駛的安全性和可靠性。通常來說,車載智能駕駛系統要想對車道線進行識別,就需要通過安裝在車身上的CCD攝像頭來采集車道視頻流數據信息,并采用相關算法進行分析,得到車道線的數據信息?,F階段有2種不同類型的車道線識別算法:1) 對視頻圖像進行逐幀分析,再對識別到的車道線進行相應的信息標注。2) 對視頻流中的車輛運動矢量數據信息進行分析,在該基礎上完成對車道線位置的識別和跟蹤工作。
該文通過條件約束來降低道路邊緣特征的噪聲干擾,并引進光流算法來進行車道識別,以提高車載智能駕駛系統的計算效率。光流算法是一種可以在連續(xù)視頻幀中進行識別和跟蹤的方法。以光流算法為基礎的車道線快速識別主要分為以下4個步驟:1) 引入光流算法對車道線的大概范圍進行動態(tài)性評估,其目的是盡可能地定位感興趣區(qū)域。2) 采用復合算子對道路邊緣特征進行計算和檢測。3) 利用多項式擬合對車道線進行識別。4) 對車道線的類型進行識別,將識別出的車道線標注到視頻圖像中。
與傳統的車道線識別算法相比,采用光流法能夠快速確定車道線的檢測范圍,提高了車載智能駕駛系統對車道線進行識別的效率。其具體的工作原理是根據圖像序列中的像素隨著時間域所發(fā)生的變化來發(fā)現2個相鄰幀之間所具有的內在聯系,并在該基礎上對2幀之間的數據信息進行計算[2]。光流法通過計算每幀中關鍵特征點的位置就可以實現對正在運動中的物體進行檢測和跟蹤的目標。該文設計的利用L-K光流法對車道線進行跟蹤和識別的流程如下。
首先,在光流算法中添加新的特征點。其次,利用光流法對該特征點進行計算。最后,根據特征點對其進行整理和篩選。
在上述識別車道線的過程中,利用L-K光流法進行計算是該流程中的關鍵。設定影像灰度保持不變,t處在坐標(x,y)像素點上,那么可以計算t+dt的具體位置為(x+dx,y+dy),在該基礎上通過計算可以得到公式(1)。
式中:I(x,y,t)為已知量;d為常數。
對公式(1)進行泰勒展開,可以得到公式(2)。
將公式(2)寫為矩陣公式,如公式(3)所示。
式中:u、v分別為像素坐標系中指向u軸和v軸正方向的位移量。
由公式(3)可知,它具有2個(u和v)不同的變量,如果僅使用1個點,就無法完成對2個變量進行計算的任務,為了解決該問題,引入窗口內像素具有相同運動軌跡的概念,將窗口大小設定為w×w,則該窗口一共具有w2個像素,因此也共計有w2個方程,如公式(4)所示。
采用最小二乘解計算可以得出u和v的值。
在對上一幀車道線進行識別的基礎上,采用光流法對視頻幀進行計算,對計算結果進行篩選后,得到較精準的坐標點,再對得到的坐標點進行計算,以獲取車輛的運動估計[3]。該算法的主要流程如下:1) 對左、右2組坐標點來說,采用DBSCAN聚類算法對其位移矢量進行計算,以去除前景像素,得到主要背景坐標點。2) 采用平均加權法對前方背景圖像的相對矢量位移進行計算,如公式(5)所示。3) 在計算得出位移矢量的結果后,對汽車左、右兩側的車道預估曲線進行計算,同時將其設定為系統的感興趣區(qū)域。4) 在系統的感興趣區(qū)域內完成對圖像進行二值化、查找汽車行駛車道線像素等任務。
式中:a為前方背景圖像的相對位移矢量;ai為第i組特征像素的相對位移矢量;si為第i個特征像素和車道擬合曲線的距離倒數;k為像素。
通常情況下,我國道路上兩側的車道線寬度是恒定的(2條車道線是相互平行的),根據點與直線之間距離最短的原理可以計算車輛中心與左右兩側車道線的具體距離,如公式(6)和公式(7)所示。
式中:DL為車輛與道路左側車道線的距離;DR為車輛與道路右側車道線的距離;kL、bL為左車道線坐標;kR、bR為右車道線坐標。
在計算上述距離后,就可以計算車輛中心與兩側車道線中心之間的相對位移D,當車輛左側偏離2條車道線中心時,其相對位移為負;當車輛右側偏離2條車道線中心時,其相對位移為正,如公式(8)所示。
由于在車輛行駛的大部分時間內,車輛的方向和車道線之間都不是平行的,因此,引入偏航角的概念來表示車輛方向和車道線之間的夾角φ,如公式(9)所示。
在不同的道路環(huán)境下,道路車道線的寬度是不相同的,這將導致憑借車道線和車輛中心距離以及偏航角來對車道偏離進行預警的智能駕駛系統會出現偏差,為了解決該問題,還需要引入車輛的長、寬數據[4]。LV表示車輛的長度,WV表示車輛的寬度,采用公式(10)計算車輛前部和車輛中心距離在行駛垂直方向的投影L如公式(10)所示。
當L與車左、右兩側車道線的距離DL、DR相等時,表示此時車輛正處于車道線的邊緣,而當距離D為負時,表示已經出現左偏離,當距離D為正時,表示已經出現右偏離,如公式(11)所示。
為了保障在比較復雜的路況下汽車行駛的安全性,還需要針對車輛碰撞預警系統進行研究。而碰撞預警系統需要對車輛與前方車輛的距離信息進行實時計算,并根據計算出來的距離結果進行碰撞預警提示[5]。要想完成對前向車輛碰撞進行預警的任務,還需要獲得車輛距離的三維信息,該文引入視差計算和三維重建的方法來對車輛前方環(huán)境進行精準感知。
3.2.1 視差計算
采用WTA算法對車輛碰撞預警中的視差進行計算。WTA是一種可以對路況圖像中左側視圖像素點進行匹配并自動選擇最優(yōu)像素點對視差值進行計算的方法,計算后就可以得到對應的三維圖像信息。
在采用WTA算法獲得的初始視差圖中還具有很多匹配錯誤的點,這就需要對該視差圖進行精細化處理,該文選擇對其進行左右一致性檢測,以提高其匹配的精度。其具體的檢測流程為進行左右一致性檢測,獲取左右視差圖中的異常點,如公式(12)所示。
式中:dL(p)為p點在左側視圖中的具體視差值;dR(p-dL(p))為p點在右側視差圖中的具體視差值。
3.2.2 三維重建視差圖計算
為了對視差圖進行三維重建,該文利用工業(yè)相機構建一個車載智能化測量平臺,該平臺具有2臺相互平行的相機,以確保相機的光軸時刻處于同一平行狀態(tài)下,設定相機的基線為0.4 m[6]。在工業(yè)相機坐標系的基礎上建立世界坐標系,并將三維平面向下平移2.3 m(到地面位置),設定工業(yè)相機的俯角θ=10°,工業(yè)相機的橫滾角和偏航角均為0°。在重建三維點云的過程中,使用了4個不同的坐標(像素坐標系、圖像坐標系、相機坐標系以及世界坐標系),雙目測量系統的坐標系定義如圖2所示。
圖2 雙目測量系統坐標
由雙目逆投影的變換原理可以計算二維像素平面視差d的像素點p(x,y),并將其投影得到三維世界坐標系下的換算關系,如公式(13)所示。
式中:B為雙目基線的具體長度;f為攝像機的焦距;Rz(θ)為旋轉矩陣;cx、cy為相機內的參數;[0,0,h]為平移矩陣;xw、yw和zw為雙目測量系統在三維坐標系中的x、y和z值。
由映射關系計算公式可以將圖像坐標系下的像素點投影到三維世界的坐標系中,從而完成三維點的云重建任務。待完成視差計算和三維云重建后,再對車輛識別的定位結果進行計算,并采用計算所得距離的中位值作為智能車輛和前方車輛間的距離。
綜上所述,隨著人工智能、信息化技術以及互聯網技術的快速發(fā)展,汽車工業(yè)的發(fā)展已經步入智能化時代,而機器視覺作為一種在車載智能化駕駛系統中應用廣泛的技術,它的發(fā)展水平對汽車智能化駕駛系統有十分重要的影響。該文所設計的基于視覺導航車載智能駕駛系統是一種智能化的駕駛輔助系統,能夠對車道偏離和車輛碰撞進行精準識別和預警,從而提高車輛駕駛過程中的安全性。未來,隨著各種先進傳感器和圖像處理算法在智能駕駛系統中的應用,基于視覺導航的車載智能駕駛系統會有更高的精準性和實用性。