你聽過無人駕駛_但你瞭解無人駕駛的算法嗎?

引言:咱們已經拉開了全自動無人駕駛的序幕,在幕布以後是咱們精彩的將來,但你可能不知道的是無人駕駛系統是一個複雜的系統,系統主要由三部分組成:算法端、Client端和雲端。算法端從傳感器原始數據中提取有意義的信息以瞭解周遭的環境狀況,並根據環境變化作出決策。跟隨本文一塊兒簡單瞭解下無人駕駛算法吧。
本文選自《第一本無人駕駛技術書》。算法

  算法系統由幾部分組成:第一,傳感,並從傳感器原始數據中提取有意義信息;第二,感知,以定位無人車所在位置及感知如今所處的環境;第三,決策,以即可靠、安全地抵達目的地。安全

1.傳感

  一般來講,一輛無人車裝備有許多不一樣類型的主傳感器。每一種類型的傳感器各自有不一樣的優劣,所以,來自不一樣傳感器的傳感數據應該有效地進行融合。如今無人駕駛中廣泛使用的傳感器包括如下幾種。
  (1)GPS/IMU:GPS/IMU 傳感系統經過高達200 Hz頻率的全球定位和慣性更新數據,以幫助無人車完成自我定位。GPS是一個相對準確的定位用傳感器,可是它的更新頻率太低,僅有10Hz,不足以提供足夠實時的位置更新。IMU的準確度隨着時間下降,所以在長時間距離內並不能保證位置更新的準確性;可是,它有着GPS所欠缺的實時性,IMU的更新頻率能夠達到200Hz或者更高。經過整合GPS與IMU,咱們能夠爲車輛定位提供既準確又足夠實時的位置更新。
  (2)LIDAR:激光雷達可被用來繪製地圖、定位及避障。雷達的準確率很是高,所以在無人車設計中雷達一般被做爲主傳感器使用。激光雷達是以激光爲光源,經過探測激光與被探測物相互做用的光波信號來完成遙感測量。激光雷達能夠用來產生高精度地圖,並針對高精地圖完成移動車輛的定位,以及知足避障的要求。以Velodyne 64-束激光雷達爲例,它能夠完成10Hz旋轉而且每秒可達到130萬次讀數。
  (3)攝像頭:攝像頭被普遍使用在物體識別及物體追蹤等場景中,在車道線檢測、交通燈偵測、人行道檢測中都以攝像頭爲主要解決方案。爲了增強安全性,現有的無人車實現一般在車身周圍使用至少八個攝像頭,分別從前、後、左、右四個維度完成物體發現、識別、追蹤等任務。這些攝像頭一般以60Hz的頻率工做,當多個攝像頭同時工做時,將產生高達1.8GB每秒的鉅額數據量。
  (4)雷達和聲吶:雷達把電磁波的能量發射至空間中某一方向,處在此方向上的物體反射該電磁波,雷達經過接收此反射波,以提取該物體的某些有關信息,包括目標物體至雷達的距離、距離變化率或徑向速度、方位、高度等。雷達和聲吶系統是避障的最後一道保障。雷達和聲吶產生的數據用來表示在車的前進方向上最近障礙物的距離。一旦系統檢測到前方不遠有障礙物出現,則有極大的相撞危險,無人車會啓動緊急剎車以完成避障。所以,雷達和聲吶系統產生的數據不須要過多的處理,一般可直接被控制處理器採用,並不須要主計算流水線的介入,所以可實現轉向、剎車或預張緊安全帶等緊急功能。微信

2.感知

  在得到傳感信息以後,數據將被推送至感知子系統以充分了解無人車所處的周遭環境。在這裏感知子系統主要作的是三件事:定位、物體識別與追蹤。網絡

1)定位

  GPS以較低的更新頻率提供相對準確的位置信息,IMU則以較高的更新頻率提供準確性偏低的位置信息。咱們可使用卡爾曼濾波整合兩類數據各自的優點,合併提供準確且實時的位置信息更新。以下圖所示,IMU每5ms更新一次,可是期間偏差不斷累積精度不斷下降。所幸的是,每100ms,咱們能夠獲得一次GPS數據更新,以幫助咱們校訂IMU積累的偏差。所以,咱們最終能夠得到實時並準確的位置信息。然而,咱們不能僅僅依靠這樣的數據組合完成定位工做。緣由有三:其一,這樣的定位精度僅在一米以內;其二,GPS信號有着自然的多路徑問題將引入噪聲干擾;其三,GPS必須在非封閉的環境下工做,所以在諸如隧道等場景中GPS都不適用。
基於GPS/IMU定位的原理圖
                      基於GPS/IMU定位的原理圖
                 
  所以做爲補充方案,攝像頭也被用於定位。
  基於立體視覺測距的流程圖
                      基於立體視覺測距的流程圖
               
  簡化來講,基於視覺的定位由三個基本步驟組成:① 經過對立體圖像的三角剖分,首先得到視差圖用以計算每一個點的深度信息;② 經過匹配連續立體圖像幀之間的顯著特徵,能夠經過不一樣幀之間的特徵創建相關性,並由此估計這兩幀之間的運動狀況;③ 經過比較捕捉到的顯著特徵和已知地圖上的點計算車輛的當前位置。然而,基於視覺的定位方法對照明條件很是敏感,所以其使用受限且可靠性有限。
  所以,藉助於大量粒子濾波的激光雷達一般被用做車輛定位的主傳感器。由激光雷達產生的點雲對環境進行了「形狀化描述」,但並不足以區分各自不一樣的點。經過粒子濾波,系統可將已知地圖與觀測到的具體形狀進行比較以減小位置的不肯定性。
  爲了在地圖中定位運動的車輛,可使用粒子濾波的方法關聯已知地圖和激光雷達測量過程。粒子濾波能夠在10cm的精度內達到實時定位的效果,在城市的複雜環境中尤其有效。然而,激光雷達也有其固有的缺點:若是空氣中有懸浮的顆粒(好比雨滴或者灰塵),那麼測量結果將受到極大的擾動。
                 圖片描述
                        定位中的多傳感器融合
  
  所以,咱們須要利用多種傳感器融合技術進行多類型傳感數據融合,處理以整合全部傳感器的優勢,完成可靠並精準的定位。ide

2)物體識別與跟蹤

  激光雷達可提供精準的深度信息,所以常被用於在無人駕駛中執行物體識別和追蹤的任務。近年來,深度學習技術獲得了快速的發展,經過深度學習可達到較顯著的物體識別和追蹤精度。
卷積神經網絡(CNN)是一類在物體識別中被普遍應用的深度神經網絡。一般,CNN由三個階段組成:① 卷積層使用不一樣的濾波器從輸入圖像中提取不一樣的特徵,而且每一個過濾器在完成訓練階段後都將抽取出一套「可供學習」的參數;② 激活層決定是否啓動目標神經元;③ 匯聚層壓縮特徵映射圖所佔用的空間以減小參數的數目,並由此下降所需的計算量;④ 一旦某物體被CNN識別出來,下一步將自動預測它的運行軌跡或進行物體追蹤。
                       物體識別和跟蹤示意
                        物體識別和跟蹤示意
  
  物體追蹤能夠被用來追蹤鄰近行駛的車輛或者路上的行人,以保證無人車在駕駛的過程當中不會與其餘移動的物體發生碰撞。近年來,相比傳統的計算機視覺技術,深度學習技術已經展露出極大的優點,經過使用輔助的天然圖像,離線的訓練過程能夠從中學習圖像的共有屬性以免視點及車輛位置變化形成的偏移,離線訓練好的模型直接應用在在線的物體追蹤中。函數

3.決策

  在決策階段,行爲預測、路徑規劃及避障機制三者結合起來實時地完成無人駕駛動做規劃。性能

1)行爲預測

  在車輛駕駛中主要考驗的是司機如何應對其餘行駛車輛的可能行爲,這種預判斷直接影響司機本人的駕駛決策,特別是在多車道環境或者交通燈變燈的狀況下,司機的預測決定了下一秒行車的安全。所以,過渡到無人駕駛系統中,決策模塊如何根據周圍車輛的行駛情況決策下一秒的行駛行爲顯得相當重要。
  爲了預測其餘車輛的行駛行爲,可使用隨機模型產生這些車輛的可達位置集合,並採用機率分佈的方法預測每個可達位置集的相關機率。
               圖片描述
                        面向行爲預測的隨機模型示意
               學習

2)路徑規劃

  爲無人駕駛在動態環境中進行路徑規劃是一件很是複雜的事情,尤爲是在車輛全速行駛的過程當中,不當的路徑規劃有可能形成致命的傷害。路徑規劃中採起的一個方法是使用徹底肯定模型,它搜索全部可能的路徑並利用代價函數的方式肯定最佳路徑。而後,徹底肯定模型對計算性能有着很是高的要求,所以很難在導航過程當中達到實時的效果。爲了不計算複雜性並提供實時的路徑規劃,使用機率性模型成爲了主要的優化方向。優化

3)避障

  安全性是無人駕駛中最重要的考量,咱們將使用至少兩層級的避障機制來保證車輛不會在行駛過程當中與障礙物發生碰撞。第一層級是基於交通狀況預測的前瞻層級。交通狀況預測機制根據現有的交通情況如擁堵、車速等,估計出碰撞發生時間與最短預測距離等參數。基於這些估計,避障機制將被啓動以執行本地路徑重規劃。若是前瞻層級預測失效,則第二級實時反應層將使用雷達數據再次進行本地路徑重規劃。一旦雷達偵測到路徑前方出現障礙物,則當即執行避障操做。ui

  本文選自《第一本無人駕駛技術書》,點此連接可在博文視點官網查看此書。
                     圖片描述
  想及時得到更多精彩文章,可在微信中搜索「博文視點」或者掃描下方二維碼並關注。

原文連接

相關文章
相關標籤/搜索