無人駕駛避障方法研究

引言

老師和學生的關係是建立在一份錯覺上。老師錯以爲自己可以教學生什麼,而學生錯以爲能從老師那裏學到什麼。重要的是,維持這份錯覺對雙方而言都是件幸福的事。因爲看清了真相,反而一點好處都沒有。我們在做的事,不過是教育的扮家家酒而已。——東野圭吾 《惡意》

無人駕駛避障綜述

嗯,很慘,距離上次做 國內外無人駕駛技術相關調研沒多久,就來做無人駕駛避障調研。爲什麼調研我要發博客呢,因爲在我看來調研的結果給實驗室看了,也沒什麼作用,還不如發篇博客,給有志於做這個方向的讀者們一個參考。。。
話不多說,開始進入正題。首先我找了篇吉林大學汽車工程學院的文章,裏面對無人駕駛避障方法做了一個總結。文章發表時間是16年10月,還算挺「新」的一篇文章,有點參考價值。看完之後我想我們必須先要理解無人駕駛避障的含義,很明顯我們根據無人駕駛避障的過程,可以將無人駕駛避障分成三個方面:

  • 運動障礙物檢測:對運動過程中環境中的運動障礙物進行檢測,主要由車載環境感知系統完成。(很明顯,從常識角度看,避開障礙物的第一步就是檢測障礙物。)
  • 運動障礙物碰撞軌跡預測:對運動過程中可能遇到的障礙物進行可能性評級與預測,判斷與無人駕駛車輛的碰撞關係。(當你檢測到障礙物後,你就得讓機器判斷是否會與汽車相撞)
  • 運動障礙物避障:通過智能決策和路徑規劃,使無人駕駛車輛安全避障,由車輛路徑決策系統執行。(判斷了可能會與汽車發生碰撞的障礙物後,你就得去讓機器做出決策來避障了)

接下來我們將會從這三個方面來大致闡述現如今都有哪些方法。

運動障礙物檢測方法

其實運動障礙物檢測這部分呢,要是看過我前面提到的調研就會明白,運動障礙物檢測根據他們的sensor主要分成兩類:

  • 一種是基於激光雷達和毫米波雷達的
  • 一種是基於立體視覺的

基於激光雷達

那麼根據激光雷達的檢測方法主要有三種:

  • 地圖差分法。地圖差分法是指根據地圖上不同障礙物在不同時刻的狀態來分析障礙物分佈,得到運動信息。有篇文章提出了動態環境中基於時空關聯屬性的動靜態障礙實時檢測方法。將不同時刻環境感知傳感器的讀數統一轉換到世界座標系中,分析障礙的時間屬性和空間屬性,就能夠識別動態障礙和靜態障礙。該方法不需要將傳感器讀數映射到柵格地圖上,節省了存儲和計算時間,提高了障礙識別效率。

  • 實體類聚法。實物類聚法通過將激光雷達收集到的數據進行分類,將運動障礙物的實體信息根據分類進行彙總,每一個障礙物實體狀態信息由很多個類別中的信息組成,從而對其進行一些狀態描述

  • 目標跟蹤法。目標跟蹤法指對障礙物進行軌跡跟蹤從而獲得運動信息。由於在多目標環境下數據的關聯性和激光雷達傳感器的必然誤差,不同時刻的目標關聯需要按情況分類討論。

總之這個基於激光雷達的障礙物檢測方法有個致命的缺陷就是成本高,優點就是精度高,哈哈哈~

基於立體視覺

近幾年,計算機視覺很火,在無人駕駛障礙物檢測這塊也有很大的應用。但是講道理,計算機視覺算是人工智能領域技術性很強的一塊工作了。在過去的幾年裏,很多基於2D/3D視覺的傳感器技術都被提出來應用到各種場景與應用中,也有不少文章對此做了許多針對新的闡述。比如說ITSC2014中有篇文章針對障礙物檢測這個方向主要被分成了四類方法:

  • 第一類是probabilistic occupancy maps,由ELFES首次提出。
    occu
    這個方法就是把機器眼中的世界,看成由很多小網格組成的大網格,該算法的目的就是來計算不同時間刻度下這些網格連接之間的相關性。具體算法,有興趣地大家可以去看看(我是沒興趣的)

  • 第二類是digital elevation map,簡稱DEM。乍一看這個其實挺出名的,以前我們在學地理課時就常常看到這樣的縮寫,但是人家是digital elevation model,其實本質上是一樣的,這是一個基於高度的網格表示法。如下圖所示:
    dem

  • 第三類叫做scene flow segmentation或者叫做光流更貼切些。毋庸置疑,做無人駕駛視覺相關算法的人應該都知道這個算法,很火。Optical Flow是圖片序列或者視頻中像素級的密集對應關係,例如在每個像素上估算一個2維的偏移矢量,得到的Optical Flow以2維矢量場表示。這個方法我個人感覺比較成熟了,畢竟CNN的優勢擺在那裏呢。感興趣的人可以去看看ECCV2016 ,裏面有訓練CNN快速且準確地得到2維偏移矢量場的相關信息。
    這裏寫圖片描述
  • 最後一類就是基於幾何的聚類方法,這種方法就是對三維空間中點雲形成的幾何形狀做聚類。這種方法簡單迅速,也有不少文章做了相關評估,感興趣的請戳:傳送門
    就比如說人家斯坦福在2015年發表的一篇文章裏就提出了用兩個360度的攝像頭來做障礙物檢測。這個思想就是受到基於幾何的聚類方法的啓發。
    這裏寫圖片描述
    上圖被黃色覆蓋的幾何形狀就是障礙物。

運動障礙物碰撞軌跡預測

前面我們從障礙物的表達及識別,講述了四個國內外應用的方法。接下來我們來談談運動障礙物碰撞軌跡的預測。我想其實這個小標題應該改成運動障礙物的追蹤。這個部分其實是與前面一部分障礙物的檢測識別分不開的。無人車的感知系統需要實時識別和追蹤多個運動目標(Multi-ObjectTracking,MOT),例如車輛和行人。物體識別是計算機視覺的核心問題之一,最近幾年由於深度學習的革命性發展,計算機視覺領域大量使用CNN,物體識別的準確率和速度得到了很大提升,但總的來說物體識別算法的輸出一般是有噪音的:物體的識別有可能不穩定,物體可能被遮擋,可能有短暫誤識別等。自然地,MOT問題中流行的Tracking-by-detection方法就要解決這樣一個難點:如何基於有噪音的識別結果獲得魯棒的物體運動軌跡。在ICCV 2015會議上,斯坦福大學的研究者發表了基於馬爾可夫決策過程(MDP)的MOT算法來解決這個問題。
這裏寫圖片描述
上面ICCV2015裏面有一個demo視頻,挺有意思的,感興趣的可以點開看看。

運動障礙物避障

這個運動障礙物的避障,我想本質上它是一個路徑規劃的過程:在路段上有未知障礙物的情況下,按照一定的評價標準,尋找一條從起始狀態到目標狀態的無碰撞路徑。路徑規劃分爲兩大類,全局規劃與局部規劃。爲了提高全局重規劃計算效率,一般在全局規劃之外增加局部規劃以提高規劃系統的實時性。全局規劃指已知全局環境信息,在有障礙物的全局地圖中按照某種算法尋找合適的從起始位置到目標位置的無障礙無碰撞路徑。局部路徑規劃是指在無法取得全局環境信息的情況下,只能利用多種傳感器來獲取移動機器人自身的狀態信息的周圍的局部環境信息,實時地規劃理想的不碰撞局部路徑,一般只在短時間內有效。勢場法、模糊邏輯法、神經網絡法、佔據柵格法、空間搜索法和基於數據融合的直接規劃方法。我們看下面這張圖:
lujing
上圖展示了一種無人車軟件系統的典型功能模塊劃分。其中路徑規劃基本cover整個功能模塊。因此這一部分涉及的內容超多。我們這次障礙物避障調研主要focus在感知、預測、地圖定位、路徑尋由及行爲決策模塊。

預測

預測模塊的作用是對感知所探測到的物體進行行爲預測,並且將預測的結果具體化爲時間空間維度的軌跡傳遞給下游模塊:行爲決策模塊。然後行爲決策模塊結合路由尋徑模塊從而進行行爲決策。整個過程如下如所示:
lane
上面我們可以看到,這個行爲決策就是咱們機器學習上的多分類選擇問題。在t時刻的情況下,有路由尋徑模塊給出三個選擇:

  • lane1、lane2、lane3
  • lane1、lane6、lane8
  • lane1、lane4、lane5、lane7

這些選擇就是結合高精地圖的全局規劃,然後再通過汽車周邊傳感器感知的信息進行局部規劃,從而判斷汽車是否右轉、直行or並道。

路徑尋由

前面我們將預測模塊時,提到了路徑尋由的模塊。路徑尋由本質上就是咱們數據結構算法裏學到的A點到B點的路由問題。這個咱們不細講了。路由尋徑問題可以利用常見的A*搜索算法或者Dijkstra最短路徑算法來進行實現。

行爲決策

無人車的行爲決策模塊是一個信息匯聚的地方。由於需要考慮如此多種不同類型的信息以及受到非常本地化的交規限制,行爲決策問題往往很難用一個單純的數學模型來進解決。往往更適合行爲決策模塊的解決方法,是利用一些軟件工程的先進觀念來設計一些規則引擎系統。例如在DARPA無人車競賽中,Stanford的無人車系統「Junior」利用一系列cost設計和有限狀態機(Finite State Machine)來設計無人車的軌跡和操控指令。在近來的無人車規劃控制相關工作中,基於馬爾可夫決策過程(Markov Decision Process)的模型也開始被越來越多得應用到無人車行爲層面的決策算法實現當中。簡而言之,行爲決策層面需要結合路由尋徑的意圖,周邊物體和交通規則,輸出宏觀的行爲層面決策指令供下游的動作規劃模塊去更具體地執行。其具體的指令集合設計則需要和下游的動作規劃模塊達成一致。

總結

嗯,講道理,我自己都不知道做這些調研有啥用,某些人總以爲我很閒,其實我是真的很忙啊,這年頭想安心學些技術都不行,煩。。。

Reference

1.朱麒融. 無人駕駛汽車避障方法探析[J]. 科技資訊, 2016, 14(21):53-54.
2.肖正. 動態環境中移動機器人的時空關聯地圖構建的研究[D]. 中南大學, 2007.
3.Obstacle Avoidance Using Stereo Vision: A Survey
4.Bernini N, Bertozzi M, Castangia L, et al. Real-time obstacle detection using stereo vision for 5.autonomous ground vehicles: A survey[C]// IEEE International Conference on Intelligent Transportation Systems. IEEE, 2014:873-878.
6.Tapaswi M, Zhu Y, Stiefelhagen R, et al. MovieQA: Understanding Stories in Movies through Question-Answering[J]. 2016:4631-4640.
7.Bai M, Luo W, Kundu K, et al. Exploiting Semantic Information and Deep Matching for Optical Flow[C]// European Conference on Computer Vision. Springer International Publishing, 2016:154-170.
8.Broggi A, Buzzoni M, Felisa M, et al. Stereo obstacle detection in challenging environments: The VIAC experience[C]// Ieee/rsj International Conference on Intelligent Robots and Systems. IEEE, 2011:1599-1604.
9.Obstacle detection using stereo vision for self-driving cars
10.https://en.wikipedia.org/wiki/DARPA_Grand_Challenge