(1.榆林職業(yè)技術(shù)學(xué)院,陜西 榆林 719000;2.長安大學(xué) 汽車學(xué)院,西安 710064)
面對(duì)日益嚴(yán)峻的交通狀況與即將到來的車輛智能化趨勢,作為自主駕駛輔助系統(tǒng)之一的前車主動(dòng)防撞預(yù)警系統(tǒng)研究成為了業(yè)界關(guān)注的焦點(diǎn)[1]。主動(dòng)防撞預(yù)警主要利用各類傳感器感知車輛行駛狀況以提高駕駛安全性。相比利用激光雷達(dá)、微波傳感器感知前方障礙物的方案,機(jī)器視覺系統(tǒng)具有成本低、蘊(yùn)含信息量大、拓展性強(qiáng)等優(yōu)勢。無線聯(lián)網(wǎng)技術(shù)能夠方便的交換不同車輛信息,為預(yù)警判斷提供了很好的輔助依據(jù)。
能否實(shí)現(xiàn)車輛的實(shí)時(shí)準(zhǔn)確檢測與選擇合適的碰撞預(yù)警判據(jù)是評(píng)價(jià)主動(dòng)防撞預(yù)警系統(tǒng)是否具有實(shí)用性與可靠性的關(guān)鍵。Milanes[2]等人提出一種以V2X網(wǎng)絡(luò)為車速、車距感知手段,預(yù)測碰撞時(shí)間(Time To Collision, TTC)和車頭時(shí)距為輸入的模糊追尾碰撞預(yù)警模型。廈門大學(xué)李金龍[3]等人利用激光測距技術(shù)得到相對(duì)車距,應(yīng)用各類輔助傳感器在C51單片機(jī)上實(shí)現(xiàn)了車輛追尾的實(shí)時(shí)預(yù)警。上海交通大學(xué)黃慧玲[4]等人在向量梯度直方圖(Histograms of Oriented Gradients,HOG)檢測器與單目測距模型的基礎(chǔ)上,加入隱馬爾科夫模型實(shí)現(xiàn)了前方車輛行駛風(fēng)險(xiǎn)的量化評(píng)估與預(yù)警。SongW[5]等人利用視覺傳感器與毫米波雷達(dá)融合獲得了最終的動(dòng)態(tài)和相對(duì)動(dòng)態(tài)對(duì)象,將它們與在特殊車輛坐標(biāo)系中根據(jù)車輛運(yùn)動(dòng)學(xué)模型獲得的危險(xiǎn)區(qū)域進(jìn)行比較,有效地實(shí)現(xiàn)了預(yù)警功能。江蘇大學(xué)劉軍[6]等人利用成熟的OpenCV平臺(tái)與視覺幾何模型建立了車輛機(jī)器視覺體系,僅使用視覺傳感器就實(shí)現(xiàn)了一整套車輛防撞預(yù)警功能。
基于單獨(dú)某項(xiàng)技術(shù)的防撞預(yù)警系統(tǒng)容易受限于該技術(shù)自身缺陷而呈現(xiàn)出局限性,多系統(tǒng)融合的防撞預(yù)警實(shí)現(xiàn)方案成為未來發(fā)展的方向。本文結(jié)合機(jī)器視覺與無線網(wǎng)絡(luò)的特點(diǎn)與優(yōu)勢,針對(duì)追尾事故的特點(diǎn)設(shè)計(jì)了一個(gè)縱向同車道車輛主動(dòng)防撞預(yù)警系統(tǒng),通過機(jī)器視覺技術(shù)提取前方車輛的位置、距離信息,利用無線網(wǎng)絡(luò)采集車輛的相對(duì)車速并導(dǎo)入TTC預(yù)警模型,實(shí)現(xiàn)了縱向車輛防撞預(yù)警功能。
如圖1所示,本系統(tǒng)硬件基于聯(lián)想R720計(jì)算平臺(tái),由MV-EM120C工業(yè)相機(jī)、VK282GPS車速傳感器、XbeePRO900HP Zigbee網(wǎng)絡(luò)節(jié)點(diǎn)、Arduino UnoR3開發(fā)板組成。軟件部分在VS2010+OpenCV2.4.3環(huán)境下編寫,分為車輛檢測、視覺測距、無線網(wǎng)、預(yù)警判斷四大模塊。
圖1 系統(tǒng)總體架構(gòu)
系統(tǒng)硬件可分為本車系統(tǒng)與遠(yuǎn)端網(wǎng)絡(luò)通信單元兩部分,本車系統(tǒng)由計(jì)算處理終端、MV-EM120C工業(yè)相機(jī)、基于VK282的GPS架構(gòu)車速傳感器、Xbee PRO900HP網(wǎng)絡(luò)通信節(jié)點(diǎn)以及連接各部分的千兆以太網(wǎng)線、USB數(shù)據(jù)線組成。遠(yuǎn)端網(wǎng)絡(luò)通信單元由另一塊Xbee PRO900HP節(jié)點(diǎn)、VK282車速傳感器與Arduino UnoR3開發(fā)板組成。安裝在車內(nèi)前風(fēng)窗玻璃上的工業(yè)相機(jī)連接后端處理系統(tǒng)組成機(jī)器視覺模塊完成對(duì)車輛目標(biāo)的檢測與測距,兩個(gè)VK282傳感器通過Zigbee射頻信號(hào)組成點(diǎn)對(duì)點(diǎn)傳感器網(wǎng)絡(luò)獲取同車道前后兩車的相對(duì)車速信息,最終的預(yù)警判斷結(jié)果顯示在本車處理終端上。
軟件部分由主程序與嵌入式軟件組成,主程序基于MFC架構(gòu),利用HOG.cpp與SVM.cpp源文件相關(guān)函數(shù)加載訓(xùn)練文件形成在線車輛檢測器,將工業(yè)相機(jī)采集的逐幀視頻HOG信息輸入檢測器完成前方車輛檢測,檢測坐標(biāo)輸入單目測距函數(shù)完成車距計(jì)算。相對(duì)車速信息由單片機(jī)配合傳感器網(wǎng)絡(luò)采集,通過serialEvent()軟中斷將傳感器數(shù)據(jù)封裝為近似數(shù)據(jù)幀的結(jié)構(gòu)在網(wǎng)絡(luò)中傳遞,總體軟件工作流程如圖2所示。在編寫過程中應(yīng)用多線程技術(shù),在程序進(jìn)程下建立主線程、串口線程與車聯(lián)網(wǎng)線程,各部分工作同時(shí)進(jìn)行、互不干涉。解決了在數(shù)據(jù)處理高峰時(shí)段可能出現(xiàn)的程序卡頓問題。
圖2 程序流程圖
系統(tǒng)利用正、負(fù)樣本經(jīng)過HOG+SVM訓(xùn)練得到離線訓(xùn)練文件形成在線車輛檢測器,配合千兆網(wǎng)工業(yè)相機(jī)采集的1280×960圖像逐幀處理實(shí)現(xiàn)前方車輛目標(biāo)的實(shí)時(shí)檢測。具體實(shí)現(xiàn)步驟如下:
1)正負(fù)樣本集的建立。
采集不同條件下的1419個(gè)車輛目標(biāo)作為原始正樣本,所有正樣本均減至128×128尺寸并利用高斯模糊模擬遠(yuǎn)、中、近不同距離情況,形成4257幅128×128正樣本。配合11290幅不小于正樣本、具體尺寸各不相同的負(fù)樣本組建正、負(fù)樣本集。
2)檢測器訓(xùn)練與強(qiáng)化訓(xùn)練。
檢測器訓(xùn)練主要分兩步,包括HOG信息提取與SVM檢測器訓(xùn)練。首先利用網(wǎng)格法劃定圖像區(qū)域,遍歷像素代入梯度計(jì)算公式[7]:
G(x,y)=
(1)
其中:R(x,y)為(x,y)坐標(biāo)像素值,將圖片內(nèi)逐個(gè)像素單元代入算子[-1,0,1]完成位置梯度向量G(x,y)的計(jì)算,并利用二線插值法計(jì)算該向量在相鄰角度通道的通道權(quán)值,結(jié)果導(dǎo)入樣本HOG信息矩陣(sampleFeatureMat)與樣本類型矩陣(sampleLabelMat),完成了HOG信息的提取與存儲(chǔ)。
g(x)=WTx+b
(2)
其中:WT為高維可調(diào)權(quán)值向量矩陣,b為外部偏置,待測幀經(jīng)HOG特征提取后代入式(2),對(duì)結(jié)果做二值判斷即可實(shí)現(xiàn)樣本的檢測與分類。
一般情況下,把判別函數(shù)求取過程轉(zhuǎn)化為條件極值問題,即求取在式(3)條件下,(4)的最小值問題。
(3)
di(WTxi+b)≥1
(4)
對(duì)式(3)、(4)應(yīng)用拉格朗日乘數(shù)法,計(jì)算W、b如式(5)、(6)。
(5)
(6)
其中:α0為拉格朗日乘子,N為支持向量個(gè)數(shù),通過式(5)、(6)的計(jì)算,得到SVM檢測器,工程中檢測器以xml文件形式存儲(chǔ)。
初次訓(xùn)練完成后,將負(fù)樣本輸入通過式(1)-(6)過程得到的SVM檢測器,檢測結(jié)果稱作誤報(bào)或難樣本。將難樣本加入正負(fù)樣本集中再次訓(xùn)練的過程稱作強(qiáng)化學(xué)習(xí),強(qiáng)化學(xué)習(xí)后的檢測器具有更高的魯棒性與更少的誤報(bào)[9],試驗(yàn)表明1-2次強(qiáng)化學(xué)習(xí)可以大大改善檢測器質(zhì)量,但如果進(jìn)一步強(qiáng)化學(xué)習(xí),由于正樣本不足,檢測器趨于過擬合,效果不佳。
3)感興趣區(qū)域設(shè)置。
在采集圖像的基礎(chǔ)上劃分感興趣區(qū)域,僅對(duì)本車道信息進(jìn)行處理可以降低計(jì)算量與避免不必要的訓(xùn)練,感興趣區(qū)域設(shè)置如圖3所示。
圖3 感興趣區(qū)域設(shè)置
4)在線檢測。
定義HOG Descriptor對(duì)象裝載xml訓(xùn)練文件形成SVM檢測器,由detectMultiScale()函數(shù)完成對(duì)視頻幀的多尺度檢測,檢測到的目標(biāo)圖像坐標(biāo)用矩形搜索框標(biāo)識(shí)。實(shí)驗(yàn)表明,設(shè)定搜索框尺寸128×128,搜索步長16×16,縮放比例1.1較好的滿足了車輛搜索的特點(diǎn)與軟件對(duì)于實(shí)時(shí)性與多樣性的需求,車輛檢測效果如圖4所示。
圖4 車輛檢測效果
車輛測距算法采用單目測距模型[10],算法原理圖如圖5所示。
圖5 單目測距模型
測距模型利用車輛地面投影線與其在像平面坐標(biāo)的關(guān)系判斷真實(shí)物距,圖中f為相機(jī)有效焦距,d為圖像Y坐標(biāo)與鏡頭中心Y軸坐標(biāo)之差,D為真實(shí)車距,H為相機(jī)實(shí)際安裝高度,β為相機(jī)安裝俯仰角。在實(shí)際使用過程中β、H由安裝時(shí)的標(biāo)定信息獲得,f取決于相機(jī)內(nèi)部參數(shù),d由坐標(biāo)系換算得到,由幾何原理可求得相對(duì)車距D:
(7)
在相機(jī)焦距f、安裝高度H,俯仰角β確定的情況下,將像素坐標(biāo)與光芯坐標(biāo)差值帶入(7)式計(jì)算得到最終相對(duì)車距D。
為準(zhǔn)確獲取實(shí)時(shí)的相對(duì)車速,系統(tǒng)基于Zigbee架構(gòu)搭建了采集速度信號(hào)的無線通訊網(wǎng)絡(luò),可以實(shí)時(shí)得到前后兩車的相對(duì)車速。
組建無線通訊網(wǎng)絡(luò)的主要工作包含網(wǎng)絡(luò)組建與單片機(jī)嵌入式開發(fā),具體內(nèi)容如下:
1)網(wǎng)絡(luò)節(jié)點(diǎn)配置。
試驗(yàn)表明,在車輛行駛工況下常見的2.4 GHz Zigbee節(jié)點(diǎn)由于電磁干擾、車輛阻擋、行駛車速等原因,常出現(xiàn)網(wǎng)絡(luò)信號(hào)不穩(wěn)定,丟包率增加等一系列問題。在對(duì)比了大量設(shè)備后,本文選擇Digi公司基于Zigbee架構(gòu)開發(fā)的XbeePRO900HP節(jié)點(diǎn)配合Arduino開發(fā)板實(shí)現(xiàn)無線通信網(wǎng)絡(luò)。XbeePRO900HP工作在900 MHz頻段,與常見的2.4 GHz設(shè)備相比進(jìn)一步提高了發(fā)射功率與穿透力,在車輛行駛工況下有更好表現(xiàn)。
組網(wǎng)的關(guān)鍵在于確定無線網(wǎng)絡(luò)通信標(biāo)準(zhǔn),包括網(wǎng)絡(luò)的域網(wǎng)地址(PANID)、信道掩碼(ChannelMask)、波特率(BaudRate)等信息,本系統(tǒng)中設(shè)置PANID7FFF,ChannelMaskFFFFFFFFFFF7FFFF,BaudRate9600完成網(wǎng)絡(luò)標(biāo)準(zhǔn)的確定。
通信標(biāo)準(zhǔn)確定后,利用節(jié)點(diǎn)的MAC地址對(duì)節(jié)點(diǎn)進(jìn)行鏈接,提取節(jié)點(diǎn)64位地址高32位與低32位,將A節(jié)點(diǎn)MAC地址高32位與低32位設(shè)置為B節(jié)點(diǎn)發(fā)送MAC信息,同時(shí)在B節(jié)點(diǎn)設(shè)置A節(jié)點(diǎn)信息,設(shè)置完成后兩個(gè)節(jié)點(diǎn)射頻信號(hào)發(fā)送至對(duì)應(yīng)地址完成組網(wǎng)。A、B節(jié)點(diǎn)對(duì)如圖6所示。
圖6 XbeePRO900HP節(jié)點(diǎn)對(duì)
除了上述基本設(shè)定外,依據(jù)道路交通環(huán)境應(yīng)用的具體情況調(diào)整了包括發(fā)射功率、傳輸速率、睡眠時(shí)間在內(nèi)的各類具體指標(biāo),指標(biāo)隨使用場景的需求呈現(xiàn)出多樣化,本文所用無線通信網(wǎng)絡(luò)部分參數(shù)如表1所示。
表1 無線通信部分參數(shù)
2)車速采集及發(fā)送系統(tǒng)設(shè)計(jì)。
為實(shí)現(xiàn)車速信息的采集與交互,本文開發(fā)了一套基于VK282GPS車速傳感器和XbeePRO900HP的車速單片機(jī)采集系統(tǒng),車速單片機(jī)采集系統(tǒng)如圖7所示。
圖7 車速單片機(jī)采集系統(tǒng)
圖中包含VK282GPS傳感器,XbeePRO900HP節(jié)點(diǎn)與協(xié)調(diào)整個(gè)系統(tǒng)的ArduinoUnoR3開發(fā)板,傳感器以杜邦線介質(zhì)連接開發(fā)板。傳感器開始工作后,接收GPS信息并輸入Zigbee元件接收端口,經(jīng)射頻信號(hào)發(fā)送至遠(yuǎn)端完成工作過程。
嵌入式軟件開發(fā)在Arduino IDE環(huán)境下完成,定義Arduino的數(shù)字2、3接口為軟串口SoftwareSerial,片內(nèi)設(shè)置serialEvent()軟中斷,當(dāng)系統(tǒng)讀取到完整的車速NMEA信息后結(jié)束軟中斷并將數(shù)據(jù)封裝為一個(gè)單元,由工作函數(shù)Loop()完成數(shù)據(jù)寫入與發(fā)送,具體流程如圖8所示。
圖8 嵌入式工作流程圖
本車接收到相應(yīng)的車速信息后,在網(wǎng)絡(luò)通信線程中利用第三方串口接收SDKCnComm.h新建串口類Com實(shí)現(xiàn)串口信息讀取。結(jié)合本車采集車速信息解算得到前后兩車的相對(duì)車速。
系統(tǒng)利用相對(duì)車速與相對(duì)車距結(jié)合TTC預(yù)警模型得到了一種基于TTC判據(jù)的碰撞預(yù)警算法,如公式(8)所示:
(8)
其中:Ttc代表計(jì)算預(yù)測碰撞時(shí)間,利用獲取的實(shí)時(shí)車距D與相對(duì)車速V求得,實(shí)時(shí)獲取Ttc與預(yù)設(shè)預(yù)警閾值Ts比較,當(dāng)Ttc小于預(yù)警閾值時(shí)發(fā)出預(yù)警。
預(yù)警策略主要包含預(yù)警閾值的選取與最小預(yù)警間隔的設(shè)定,預(yù)警閾值按照公式(9)計(jì)算:
Ts=T1+Tr
(9)
其中:T1為預(yù)設(shè)預(yù)警閾值,Tr為人機(jī)工程學(xué)描述的報(bào)警駕駛員反應(yīng)時(shí)間,參考文獻(xiàn)[11]的相關(guān)研究,設(shè)定Tr=1.14 s,T1按工況不同設(shè)定為城市工況T1=2 s,高速路工況T1=4 s.
為防止預(yù)警過于頻繁造成的駕駛員工作疲勞,且考慮預(yù)警后駕駛員即進(jìn)入全神貫注狀態(tài),設(shè)置最小預(yù)警時(shí)間間隔Tg= 30 s,為駕駛員預(yù)留合理的事故處理與調(diào)整時(shí)間。
系統(tǒng)基于聯(lián)想R720計(jì)算平臺(tái),CPU型號(hào)Intel? CoreTMi7-7700,視覺傳感器采用配置35 mm焦距鏡頭的MV-EM 120C工業(yè)相機(jī)。相機(jī)分辨率1 280×960像素。
利用棋盤格標(biāo)定板和車道線、車道消失點(diǎn)與光心的相對(duì)關(guān)系完成相機(jī)內(nèi)部參數(shù)、外部參數(shù)標(biāo)定[11],利用標(biāo)定工具完成的標(biāo)定結(jié)果如下表。
表2 內(nèi)、外參數(shù)標(biāo)定結(jié)果
在標(biāo)定完成后,測量鏡頭前方40-90米距離,每隔10米放置標(biāo)樁標(biāo)識(shí)位置,將實(shí)驗(yàn)車輛駛?cè)霕?biāo)樁位置采集圖像,利用測距算法根據(jù)圖像像素坐標(biāo)計(jì)算距離,40~90米位置圖像采集如圖9所示。
圖9 40~90米采集圖像
視頻測距結(jié)果如下表3所示。
表3 測距實(shí)驗(yàn)結(jié)果
結(jié)果表明,在40~90米范圍內(nèi),本系統(tǒng)測距誤差小于±4 m,基本滿足了需求。
3)車輛檢測器性能測試。
系統(tǒng)檢測離線采集的247幅車輛/非車輛目標(biāo),計(jì)算檢測率、誤檢率、漏檢率等指標(biāo)完成測試。結(jié)果表明在理想光照條件下,對(duì)于隨機(jī)采集的測試圖片,該檢測器表現(xiàn)良好,單幀圖像平均處理時(shí)間100 ms、檢測率高于95%、誤檢率低于3%、漏檢率低于1%,部分車輛檢測結(jié)果如圖10所示。
圖10 部分車輛檢測效果圖
4)無線通信網(wǎng)絡(luò)性能測試。
網(wǎng)絡(luò)性能測試包括利用無線通信模塊的固定點(diǎn)極限距離測試與實(shí)際公路環(huán)境下的綜合性能測試。
為確定Zigbee網(wǎng)絡(luò)在公路無遮擋、兩節(jié)點(diǎn)不移動(dòng)情況下的極限通信距離,將兩節(jié)點(diǎn)分別置于封閉道路相隔200米兩端互相收發(fā)信息,結(jié)果表明,200米公路環(huán)境下無線通信網(wǎng)絡(luò)信號(hào)穩(wěn)定、良好,達(dá)到了應(yīng)用的距離要求。
為測試行駛工況下網(wǎng)絡(luò)的綜合性能,將兩節(jié)點(diǎn)分別安裝在公路條件下正常行駛的兩輛大客車上,以0.5 s間隔互相發(fā)送字符串信息,檢測射頻網(wǎng)絡(luò)信號(hào)在行駛工況下的信號(hào)強(qiáng)度與丟包率。實(shí)驗(yàn)結(jié)果表明,在前后車間距150米以下,行駛車速70 km/h左右時(shí)丟包率小于3%,信號(hào)延遲低于20 ms,信號(hào)接收強(qiáng)度穩(wěn)定。
5)綜合實(shí)驗(yàn)。
為測試系統(tǒng)的綜合性能,本文在實(shí)驗(yàn)道路上以前車靜止,后車40 km/h以下車速駛向前車模擬公路中兩車常見相對(duì)車速的追尾碰撞,行駛車速按一定間隔排布,記錄發(fā)出警報(bào)后兩車距離以評(píng)價(jià)系統(tǒng)的綜合性能,每一實(shí)驗(yàn)車速進(jìn)行3次實(shí)驗(yàn),最終報(bào)警車距取3次實(shí)驗(yàn)最小值,預(yù)設(shè)預(yù)警閾值為城市工況預(yù)警閾值Ts=3.14 s,實(shí)驗(yàn)結(jié)果如圖11所示。
圖11 不同車速下報(bào)警距離分布圖
可以看出,本系統(tǒng)反應(yīng)靈敏,對(duì)不同接近狀況的車輛合理預(yù)留了不同的安全距離,從而保證了足夠的駕駛員判斷空間。
本文提出了一種綜合機(jī)器視覺與無線通信技術(shù)的車輛主動(dòng)防撞預(yù)警方法,開發(fā)了一種基于無線通信與機(jī)器視覺的車輛主動(dòng)防撞系統(tǒng)平臺(tái),首先利用HOG+SVM車輛檢測器對(duì)前方車輛目標(biāo)進(jìn)行實(shí)時(shí)檢測,將檢測坐標(biāo)載入單目測距模型測量相對(duì)車距并通過無線通信網(wǎng)絡(luò)獲取相對(duì)車速信息,最后將相對(duì)車速與相對(duì)車距信息導(dǎo)入TTC預(yù)警模型實(shí)現(xiàn)預(yù)警。實(shí)驗(yàn)表明,與傳統(tǒng)視覺預(yù)警方案相比,基于無線通信網(wǎng)絡(luò)的相對(duì)車速獲取機(jī)制工作更加可靠;與基于DSRC的防撞預(yù)警方案相比,本系統(tǒng)機(jī)器視覺模塊可以采集到更多的行駛信息,拓展性更強(qiáng)。本系統(tǒng)綜合了兩類預(yù)警實(shí)現(xiàn)方案的優(yōu)勢,車輛檢測率95%、檢測速度15幀/s、測距誤差小于±4 m,實(shí)現(xiàn)了很好的預(yù)警性能。