朱洪華
(莆田學(xué)院機(jī)電工程學(xué)院,福建莆田,351100)
智能駕駛是當(dāng)前國內(nèi)外研究的關(guān)鍵技術(shù)之一,具有極大的應(yīng)用價(jià)值[1]。跟車工況是指車輛在行駛中跟隨前方并保持安全的行駛距離的狀態(tài)。對(duì)于使用智能駕駛系統(tǒng)的車輛來說,跟車工況的精確度和實(shí)時(shí)性對(duì)車輛的安全性和舒適性有重要的影響,也進(jìn)一步影響了智能駕駛技術(shù)的推廣[2]。因?yàn)楦嚬r執(zhí)行的好壞主要取決于前車識(shí)別和前車距離測(cè)定的精確度和實(shí)時(shí)性,所以良好的前車識(shí)別技術(shù)研究對(duì)普及智能駕駛有重大的意義[3]。
傳統(tǒng)的車輛識(shí)別方法主要有:Ada Boost+Harr、SVM+HOG、DPM算法等。傳統(tǒng)的算法通常不能適應(yīng)復(fù)雜實(shí)時(shí)的路況下前方車輛的識(shí)別,例如:SVM+HOG 算法難以解決遮擋的問題,并且在車輛改變方向時(shí)也不容易檢測(cè)到;DPM 算法直觀、簡(jiǎn)單、計(jì)算快速,但激勵(lì)特征是人工設(shè)計(jì)的,工作量繁重,不能適應(yīng)較大幅度旋轉(zhuǎn),穩(wěn)定性較差。傳統(tǒng)的算法雖然不能滿足智能駕駛條件下的車輛識(shí)別要求,但由于成本低和技術(shù)成熟,在固定牌照識(shí)別和人臉識(shí)別等應(yīng)用方案中得到廣泛應(yīng)用。
人的眼睛一看到圖像,就能馬上識(shí)別出圖像中的物體、物體所處的位置和其相對(duì)的位置。這樣就能使人們可以實(shí)時(shí)地做出反應(yīng)來完成各種復(fù)雜的任務(wù)。對(duì)智能駕駛訓(xùn)練也同樣要有與人類相似水平的反應(yīng)速度和與人相當(dāng)?shù)木_度。智能駕駛系統(tǒng)必須實(shí)時(shí)地分析前方道路的路況, 并且可以在確定繼續(xù)行駛的路徑之前識(shí)別出現(xiàn)實(shí)世界中的各種對(duì)象和其所處的位置。
目前,常用的基于深度學(xué)習(xí)的車輛識(shí)別方法有 R-CNN、SSD 和 YOLO 等[4]。因?yàn)?R-CNN、Fast R-CNN 和 Faster R-CNN等模型需要在一個(gè)區(qū)域內(nèi)提名候選框,然后將這個(gè)候選框帶入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行運(yùn)算處理,所以在復(fù)雜情況下容易產(chǎn)生過多的候選框,導(dǎo)致運(yùn)算量增大,從而降低了識(shí)別的速度。YOLO識(shí)別速度非??欤淖R(shí)別速度比“R-CNN”快1000倍以上。它可以處理實(shí)時(shí)的視頻流,延遲極低,一般不超過25毫秒,精度比其他算法實(shí)現(xiàn)的實(shí)時(shí)系統(tǒng)高兩倍以上。從檢測(cè)的速度和精度上綜合考慮,本文最終選用最新版本的YOLOv5算法來實(shí)現(xiàn)車輛目標(biāo)檢測(cè)。
車用傳感器進(jìn)行車輛之間測(cè)量距離的方法有很多,大致包括:激光、超聲波、雷達(dá)、紅外線及機(jī)器視覺圖像測(cè)距等。激光測(cè)距具有穩(wěn)定性好及測(cè)距精度高的優(yōu)點(diǎn)。但是由于其價(jià)格昂貴,因此限制了其市場(chǎng)的應(yīng)用發(fā)展。超聲測(cè)距的精度較高。然而,在長(zhǎng)距離測(cè)距時(shí),由于所接收的回聲較弱,較慢,導(dǎo)致測(cè)量信息不準(zhǔn)確。因此超聲測(cè)距一般用于諸如倒車系統(tǒng)等短距離環(huán)境中。雷達(dá)測(cè)距是通過接收從物體反射的電磁波來測(cè)量距離。雷達(dá)傳輸不會(huì)受到復(fù)雜天氣的影響,即使天氣不好,也可以確保結(jié)果仍然準(zhǔn)確。而且與激光相比,成本相對(duì)較低,但是容易受其他雷達(dá)或其他通信設(shè)施的信號(hào)干擾。紅外測(cè)距在夜間具有高隱蔽性,而且其傳播速度快,響應(yīng)快速,所以廣泛用于軍事相關(guān)領(lǐng)域。但是其存在測(cè)距范圍短,數(shù)據(jù)輸出不穩(wěn)定以及無法檢測(cè)透明物體的缺點(diǎn)。機(jī)器視覺測(cè)距是通過相機(jī)傳感器捕獲周圍圖像信息,并通過在圖像信息和空間之間建立三維關(guān)系模型來計(jì)算障礙物的距離?;跈C(jī)器視覺的距離測(cè)量技術(shù)是基于環(huán)境感知的智能汽車駕駛輔助系統(tǒng)研究的關(guān)鍵技術(shù)。它具有以下優(yōu)點(diǎn):拍攝范圍寬,重量輕,范圍廣,低成本等。雖然它易受環(huán)境干擾,但它結(jié)合其他傳感器進(jìn)行聯(lián)合測(cè)距是目前前景最好的研究方向之一。
智能汽車在駕駛過程中需要連續(xù)跟蹤目標(biāo),相機(jī)可以捕獲視頻信息并感知周圍環(huán)境。通過對(duì)視頻圖像的處理,可以從二維圖像中提取三維世界的測(cè)量信息,從而獲得前對(duì)象和相機(jī)之間的距離。目前,通過攝像頭對(duì)前方目標(biāo)測(cè)距的方法有有雙目視覺測(cè)距[5]和單目視覺測(cè)距[6]。雙目攝像機(jī)的距離測(cè)量原理與人眼相似,但成本高于單目系統(tǒng)。由于雙目視覺系統(tǒng)的計(jì)算量遠(yuǎn)大于單眼系統(tǒng)的計(jì)算量,所以它需要強(qiáng)大的軟件和硬件支持。雙目相機(jī)的另一個(gè)問題是需要匹配兩個(gè)相機(jī)拍攝的圖像,并且匹配的精度將對(duì)前目標(biāo)的距離測(cè)量的精度產(chǎn)生顯著影響[7]。單目系統(tǒng)的優(yōu)點(diǎn)在于,計(jì)算資源的成本比較低,系統(tǒng)結(jié)構(gòu)比較簡(jiǎn)單,缺點(diǎn)是距離測(cè)量的精度較低??紤]到成本,計(jì)算效率和效果等因素,本文使用單目相機(jī)進(jìn)行距離測(cè)量。
因?yàn)閿z像機(jī)的基本參數(shù)是已知條件,所以我們可以基于針孔成像的原理來搭建攝像機(jī)圖像和現(xiàn)實(shí)世界三維圖像之間的透視關(guān)系,然后再根據(jù)攝像機(jī)圖像對(duì)現(xiàn)實(shí)世界車輛的距離進(jìn)行計(jì)算[8]。令攝像機(jī)圖像坐標(biāo)系為 L(u,v),世界坐標(biāo)系為 W(x,y,z)[9]。攝像機(jī)圖像坐標(biāo)系與世界坐標(biāo)系的關(guān)系如圖1所示。世界坐標(biāo)系的 q 點(diǎn)(現(xiàn)實(shí)生活中真實(shí)的一點(diǎn))映射到圖像坐標(biāo)系的 q'(圖像中的成像點(diǎn))。測(cè)距過程其實(shí)就是通過q'在圖像坐標(biāo)的位置,來求q 點(diǎn)與相機(jī)焦點(diǎn)之間的距離m。
圖1 圖像坐標(biāo)與世界坐標(biāo)
通過利用一些先驗(yàn)知識(shí)可以找到攝像機(jī)圖像空間 L(u,v) 中的點(diǎn)映射到現(xiàn)實(shí)世界空間的(x,y,0) 平面的位置。另外還需獲得以下參數(shù):
(1)汽車的真實(shí)位置映射到(u,v) 空間中的坐標(biāo)uq;
(2)攝像機(jī)在現(xiàn)實(shí)世界的實(shí)際高度 h;
(3)攝像機(jī)的中心軸與 x 軸的垂直方向之間的夾角β’;
(4)攝像機(jī)的孔徑張角的大小,用α來表示;
(5)攝像機(jī)的像素,用m×n表示,其中n是列數(shù)。
通過以上的參數(shù),我們可以得出此時(shí)攝像機(jī)的焦點(diǎn)和攝像機(jī)圖像空間中的點(diǎn)( uq,vq)的連線跟(x,y,0) 平面的之間的夾角 β(uq)為:
如圖2所示,我們可以通過下面的公式求出地面一點(diǎn) q與攝像機(jī)焦點(diǎn)之間的水平距離。
圖2 地面一點(diǎn)到攝像機(jī)焦點(diǎn)的水平距離測(cè)量圖
本文研究的目標(biāo)測(cè)距方法試驗(yàn)在車輛較少的直線公路上進(jìn)行。硬件包括:電腦CPU為Intel Core i5-6500 3.2GHz,內(nèi)存16GB,攝像機(jī)焦距為25 mm,主要參數(shù)為β'= 00,α= 0 .388,h=1.6m。
通過YOLOv5算法對(duì)攝像頭獲得的圖像進(jìn)行檢測(cè),得到圖像坐標(biāo),再用測(cè)距算法求出前方車輛的距離。實(shí)驗(yàn)用定量分析的方法獲取前方目標(biāo)的圖像,即目標(biāo)車輛每行駛15米,提取一幀圖像,首先對(duì)目標(biāo)車輛進(jìn)行識(shí)別,然后提取識(shí)別區(qū)域的像素信息,結(jié)合已知參數(shù)和目標(biāo)測(cè)距公式,最后求出理論距離。
如表1所示,本文在(15-105)m范圍內(nèi)對(duì)前方車輛距離測(cè)算系統(tǒng)進(jìn)行試驗(yàn)。將實(shí)際車輛距離與計(jì)算出來的前方車輛距離進(jìn)行比較,并計(jì)算出相對(duì)誤差,檢驗(yàn)出該測(cè)算系統(tǒng)具有有效性,并且平均精度達(dá)到 3.52%,平均運(yùn)算時(shí)間為0.16秒,基本滿足智能駕駛的精度和實(shí)時(shí)性的要求。
表1 車距測(cè)算與實(shí)際距離對(duì)比表
本文針對(duì)目標(biāo)車輛識(shí)別定位及車距測(cè)量方面進(jìn)行了大量研究。對(duì)比多種車輛識(shí)別算法,最終選用最新版本的YOLOv5算法來實(shí)現(xiàn)車輛目標(biāo)檢測(cè)。對(duì)常用測(cè)距傳感器進(jìn)行了比較分析,考慮到成本,計(jì)算效率和效果等因素,最后選用了單目相機(jī)進(jìn)行距離測(cè)量。在實(shí)際試驗(yàn)中證明了本算法基本滿足智能駕駛的精度和實(shí)時(shí)性的要求,具有較好的應(yīng)用前景。