無人駕駛汽車是未來的趨勢之一,通過無人駕駛汽車,我們無需自己動手操控,一切都可智能運行。上篇文章,小編對無人駕駛汽車的構(gòu)造有所闡述。為繼續(xù)增進(jìn)大家對無人駕駛的了解,本文將對無人駕駛汽車的感知層和定位層予以介紹。如果你對無人駕駛具有興趣,不妨繼續(xù)往下閱讀哦。
一、感知
為了確保無人車對環(huán)境的理解和把握,無人駕駛系統(tǒng)的環(huán)境感知部分通常需要獲取周圍環(huán)境的大量信息,具體來說包括:障礙物的位置,速度以及可能的行為,可行駛的區(qū)域,交通規(guī)則等等。無人車通常是通過融合激光雷達(dá)(Lidar),相機(Camera),毫米波雷達(dá)(Millimeter Wave Radar)等多種傳感器的數(shù)據(jù)來獲取這些信息,本節(jié)我們簡要地了解一下激光雷達(dá)和相機在無人車感知中的應(yīng)用。
激光雷達(dá)是一類使用激光進(jìn)行探測和測距的設(shè)備,它能夠每秒鐘向環(huán)境發(fā)送數(shù)百萬光脈沖,它的內(nèi)部是一種旋轉(zhuǎn)的結(jié)構(gòu),這使得激光雷達(dá)能夠?qū)崟r的建立起周圍環(huán)境的3維地圖。
通常來說,激光雷達(dá)以10Hz左右的速度對周圍環(huán)境進(jìn)行旋轉(zhuǎn)掃描,其掃描一次的結(jié)果為密集的點構(gòu)成的3維圖,每個點具備(x,y,z)信息,這個圖被稱為點云圖(Point Cloud Graph),如下圖所示,是使用Velodyne VLP-32c激光雷達(dá)建立的一個點云地圖:
激光雷達(dá)因其可靠性目前仍是無人駕駛系統(tǒng)中最重要的傳感器,然而,在現(xiàn)實使用中,激光雷達(dá)并不是完美的,往往存在點云過于稀疏,甚至丟失部分點的問題,對于不規(guī)則的物體表面,使用激光雷達(dá)很難辨別其模式,在諸如大雨天氣這類情況下,激光雷達(dá)也無法使用。
為了理解點云信息,通常來說,我們對點云數(shù)據(jù)進(jìn)行兩步操作:分割(SegmentaTIon)和分類(Classification)。其中,分割是為了將點云圖中離散的點聚類成若干個整體,而分類則是區(qū)分出這些整體屬于哪一個類別(比如說行人,車輛以及障礙物)。分割算法可以被分類如下幾類:
基于邊的方法,例如梯度過濾等;
基于區(qū)域的方法,這類方法使用區(qū)域特征對鄰近點進(jìn)行聚類,聚類的依據(jù)是使用一些指定的標(biāo)準(zhǔn)(如歐幾里得距離,表面法線等),這類方法通常是先在點云中選取若干種子點(seed points),然后使用指定的標(biāo)準(zhǔn)從這些種子點出發(fā)對鄰近點進(jìn)行聚類;
參數(shù)方法,這類方法使用預(yù)先定義的模型去擬合點云,常見的方法包括隨機樣本一致性方法(Random Sample Consensus,RANSAC )和霍夫變換(Hough Transform,HT);
基于屬性的方法,首先計算每個點的屬性,然后對屬性相關(guān)聯(lián)的點進(jìn)行聚類的方法;
基于圖的方法;
基于機器學(xué)習(xí)的方法;
在完成了點云的目標(biāo)分割以后,分割出來的目標(biāo)需要被正確的分類,在這個環(huán)節(jié),一般使用機器學(xué)習(xí)中的分類算法,如支持向量機(Support Vector Machine,SVM)對聚類的特征進(jìn)行分類,最近幾年由于深度學(xué)習(xí)的發(fā)展,業(yè)界開始使用特別設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)對三維的點云聚類進(jìn)行分類。
然而,不論是提取特征-SVM的方法還是原始點云-CNN的方法,由于激光雷達(dá)點云本身解析度低的原因,對于反射點稀疏的目標(biāo)(比如說行人),基于點云的分類并不可靠,所以在實踐中,我們往往融合激光雷達(dá)和相機傳感器,利用相機的高分辨率來對目標(biāo)進(jìn)行分類,利用Lidar的可靠性對障礙物檢測和測距,融合兩者的優(yōu)點完成環(huán)境感知。
在無人駕駛系統(tǒng)中,我們通常使用圖像視覺來完成道路的檢測和道路上目標(biāo)的檢測。道路的檢測包含對道路線的檢測(Lane Detection),可行駛區(qū)域的檢測(Drivable Area Detection);道路上路標(biāo)的檢測包含對其他車輛的檢測(Vehicle Detection),行人檢測(Pedestrian Detection),交通標(biāo)志和信號的檢測(Traffic Sign Detection)等所有交通參與者的檢測和分類。
車道線的檢測涉及兩個方面:第一是識別出車道線,對于彎曲的車道線,能夠計算出其曲率,第二是確定車輛自身相對于車道線的偏移(即無人車自身在車道線的哪個位置)。一種方法是抽取一些車道的特征,包括邊緣特征(通常是求梯度,如索貝爾算子),車道線的顏色特征等,使用多項式擬合我們認(rèn)為可能是車道線的像素,然后基于多項式以及當(dāng)前相機在車上掛載的位置確定前方車道線的曲率和車輛相對于車道的偏離。
可行駛區(qū)域的檢測目前的一種做法是采用深度神經(jīng)網(wǎng)絡(luò)直接對場景進(jìn)行分割,即通過訓(xùn)練一個逐像素分類的深度神經(jīng)網(wǎng)絡(luò),完成對圖像中可行駛區(qū)域的切割。
交通參與者的檢測和分類目前主要依賴于深度學(xué)習(xí)模型,常用的模型包括兩類:
以RCNN為代表的基于Region Proposal的深度學(xué)習(xí)目標(biāo)檢測算法(RCNN,SPP-NET,F(xiàn)ast-RCNN,F(xiàn)aster-RCNN等);
以YOLO為代表的基于回歸方法的深度學(xué)習(xí)目標(biāo)檢測算法(YOLO,SSD等)
二、定位
在無人車感知層面,定位的重要性不言而喻,無人車需要知道自己相對于環(huán)境的一個確切位置,這里的定位不能存在超過10cm的誤差,試想一下,如果我們的無人車定位誤差在30厘米,那么這將是一輛非常危險的無人車(無論是對行人還是乘客而言),因為無人駕駛的規(guī)劃和執(zhí)行層并不知道它存在30厘米的誤差,它們?nèi)匀话凑斩ㄎ痪珳?zhǔn)的前提來做出決策和控制,那么對某些情況作出的決策就是錯的,從而造成事故。由此可見,無人車需要高精度的定位。
目前使用最廣泛的無人車定位方法當(dāng)屬融合全球定位系統(tǒng)(Global Positioning System,GPS)和慣性導(dǎo)航系統(tǒng)(Inertial Navigation System)定位方法,其中,GPS的定位精度在數(shù)十米到厘米級別之間,高精度的GPS傳感器價格也就相對昂貴。融合GPS/IMU的定位方法在GPS信號缺失,微弱的情況下無法做到高精度定位,如地下停車場,周圍均為高樓的市區(qū)等,因此只能適用于部分場景的無人駕駛?cè)蝿?wù)。
地圖輔助類定位算法是另一類廣泛使用的無人車定位算法,同步定位與地圖構(gòu)建(Simultaneous Localization And Mapping,SLAM)是這類算法的代表,SLAM的目標(biāo)即構(gòu)建地圖的同時使用該地圖進(jìn)行定位,SLAM通過利用已經(jīng)觀測到的環(huán)境特征確定當(dāng)前車輛的位置以及當(dāng)前觀測特征的位置。
這是一個利用以往的先驗和當(dāng)前的觀測來估計當(dāng)前位置的過程,實踐上我們通常使用貝葉斯濾波器(Bayesian filter)來完成,具體來說包括卡爾曼濾波(Kalman Filter),擴展卡爾曼濾波(Extended Kalman Filter)以及粒子濾波(Particle Filter)。
SLAM雖然是機器人定位領(lǐng)域的研究熱點,但是在實際無人車開發(fā)過程中使用SLAM定位卻存在問題,不同于機器人,無人車的運動是長距離的,大開放環(huán)境的。在長距離的運動中,隨著距離的增大,SLAM定位的偏差也會逐漸增大,從而造成定位失敗。
在實踐中,一種有效的無人車定位方法是改變原來SLAM中的掃描匹配類算法,具體來說,我們不再在定位的同時制圖,而是事先使用傳感器如激光雷達(dá)對區(qū)域構(gòu)建點云地圖,通過程序和人工的處理將一部分“語義”添加到地圖中(例如車道線的具體標(biāo)注,路網(wǎng),紅綠燈的位置,當(dāng)前路段的交通規(guī)則等等),這個包含了語義的地圖就是我們無人駕駛車的高精度地圖(HD Map)。
在實際定位的時候,使用當(dāng)前激光雷達(dá)的掃描和事先構(gòu)建的高精度地圖進(jìn)行點云匹配,確定我們的無人車在地圖中的具體位置,這類方法被統(tǒng)稱為掃描匹配方法(ScanMatching),掃描匹配方法最常見的是迭代最近點法(Iterative Closest Point ,ICP),該方法基于當(dāng)前掃描和目標(biāo)掃描的距離度量來完成點云配準(zhǔn)。
除此以外,正態(tài)分布變換(Normal Distributions Transform,NDT)也是進(jìn)行點云配準(zhǔn)的常用方法,它基于點云特征直方圖來實現(xiàn)配準(zhǔn)?;邳c云配準(zhǔn)的定位方法也能實現(xiàn)10厘米以內(nèi)的定位精度。
雖然點云配準(zhǔn)能夠給出無人車相對于地圖的全局定位,但是這類方法過于依賴事先構(gòu)建的高精度地圖,并且在開放的路段下仍然需要配合GPS定位使用,在場景相對單一的路段(如高速公路),使用GPS加點云匹配的方法相對來說成本過高。
以上便是此次小編帶來的“無人駕駛”相關(guān)內(nèi)容,通過本文,希望大家對無人駕駛汽車的感知層和定位層具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!