無人駕駛核心技術探秘:光學雷達(LiDAR)

本文為《工程師》無人駕駛技術系列文章的第一篇,深入解析光學雷達(LiDAR)在無人車研發中的應用,包括光學雷達的工作原理,在地圖繪制、定位以及障礙物檢測等環節的應用,以及面臨的挑戰。

無人駕駛汽車的成功涉及高精地圖、實時定位以及障礙物檢測等多項技術,而這些技術都離不開光學雷達(LiDAR)。本文將深入解析光學雷達是如何被廣泛應用到無人車的各項技術中。文章首先介紹光學雷達的工作原理,包括如何通過雷射掃描出點雲;然後詳細解釋光學雷達在無人駕駛技術中的應用,包括地圖繪制、定位以及障礙物檢測;最後討論光學雷達技術目前面臨的挑戰,包括外部環境干擾、數據量大、成本高等問題。

無人駕駛技術簡介

無人駕駛技術是多個技術的集成,包括了傳感器、定位與深度學習、高精地圖、路徑規劃、障礙物檢測與規避、機械控制、系統集成與優化、能耗與散熱管理等等。雖然現有的多種無人車在做到上有許多不同,但是在系統架構上都大同小異。圖1顯示了無人車的通用系統架構,系統的感知端(圖1左)由不同的傳感器組成,其中GPS用於定位,光學雷達(Light Detection And Ranging,簡稱 LiDAR)用於定位以及障礙物檢測,照相機用於基於深度學習的物體識別以及定位輔助。

無人駕駛核心技術探秘:光學雷達(LiDAR)
圖1 無人車通用系統架構
在傳感器信息采集後,我們進入了感知階段,主要是定位與物體識別(圖1中)。在這個階段,我們可以用數學的方法,比如Kalman Filter與 Particle Filter等算法,對各種傳感器信息進行融合,得出當前最大幾率的位置。如果使用LiDAR為主要的定位傳感器,我們可以通過LiDAR掃描回來的信息跟已知的高精地圖做對比,得出當前的車輛位置。如果沒有地圖,我們甚至可以把當前的LiDAR掃描信息與之前的掃描信息用ICP算法做對比,推算出當前的車輛位置。在得出基於LiDAR的位置預測後,可以用數學方法與其它傳感器信息進行融合,推算出更精準的位置信息。

最後,我們進入了計劃與控制階段(圖1右)。在這個階段,我們根據位置信息以及識別出的圖像信息(如紅綠燈)實時調節車輛的行車計劃,並把行車計劃轉化成控制信號操控車輛。全局的路徑規劃可以用類似A-Star的算法做到,本地的路徑規劃可以用DWA等算法做到。

光學雷達基礎知識

先來了解下光學雷達的工作原理,特別是產生點雲的過程。

工作原理

光學雷達是一種光學遙感技術,它通過首先向目標物體發射一束雷射,再根據接收-反射的時間間隔來確定目標物體的實際距離。然後根據距離及雷射發射的角度,通過簡單的幾何變化可以推導出物體的位置信息。由於雷射的傳播受外界影響小,LiDAR能夠檢測的距離一般可達100m以上。與傳統雷達使用無線電波相比較,LiDAR使用雷射射線,商用LiDAR使用的雷射射線波長一般在600nm到1000nm之間,遠遠低於傳統雷達所使用的波長。因此LiDAR在測量物體距離和表面形狀上可達到更高的精準度,一般可以達到公分級。

LiDAR系統一般分為三個部分:第一是雷射發射器,發射出波長為600nm到1000nm之間的雷射射線;第二部分是掃描與光學部件,主要用於收集反射點距離與該點發生的時間和水平角度(Azimuth);第三個部分是感光部件,主要檢測返回光的強度。因此我們檢測到的每一個點都包括了空間坐標信息(x, y, z)以及光強度信息(i)。光強度與物體的光反射度(reflectivity)直接相關,所以根據檢測到的光強度也可以對檢測到的物體有初步判斷。

什麼是點雲?

無人車所使用的LiDAR並不是靜止不動的。在無人車行駛的過程中,LiDAR同時以一定的角速度勻速轉動,在這個過程中不斷地發出雷射並收集反射點的信息,以便得到全方位的環境信息。LiDAR在收集反射點距離的過程中也會同時記錄下該點發生的時間和水平角度(Azimuth),並且每個雷射發射器都有編號和固定的垂直角度,根據這些數據我們就可以計算出所有反射點的坐標。LiDAR每旋轉一周收集到的所有反射點坐標的集合就形成了點雲(point cloud)。

無人駕駛核心技術探秘:光學雷達(LiDAR)
圖2 點雲的產生
如圖2所示,LiDAR通過雷射反射可以測出和物體的距離distance,因為雷射的垂直角度是固定的,記做a,這裡我們可以直接求出z軸坐標為sin(a)*distance。由cos(a)*distance我們可以得到distance在xy平面的投影,記做xy_dist。LiDAR在記錄反射點距離的同時也會記錄下當前LiDAR轉動的水平角度b,根據簡單的集合轉換,可以得到該點的x軸坐標和y軸坐標分別為cos(b)*xy_dist和sin(b)*xy_dist。

LiDAR 在無人駕駛技術中的應用領域

接下來介紹光學雷達如何應用在無人駕駛技術中,特別是面向高精地圖的繪制、基於點雲的定位以及障礙物檢測。

高清地圖的繪制

這裡的高清地圖不同於我們日常用到的導航地圖。高清地圖是由眾多的點雲拼接而成,主要用於無人車的精準定位。高清地圖的繪制也是通過LiDAR完成的。安裝LiDAR的地圖數據采集車在想要繪制高清地圖的路線上多次反復行駛並收集點雲數據。後期經過人工標註,過濾一些點雲圖中的錯誤信息,例如由路上行駛的汽車和行人反射所形成的點,然後再對多次收集到的點雲進行對齊拼接形成最終的高清地圖。

基於點雲的定位

首先介紹定位的重要性。很多人都有這樣的疑問:如果有了精準的GPS,不就知道了當前的位置,還需要定位嗎?其實不然。目前高精度的軍用差分GPS在靜態的時候確實可以在「理想」的環境下達到公分級的精度。這裡的「理想」環境是指大氣中沒有過多的懸浮介質而且測量時GPS有較強的接收信號。然而無人車是在複雜的動態環境中行駛,尤其在大城市中,由於各種高大建築物的阻攔,GPS多路徑反射(Multi-Path)的問題會更加明顯。這樣得到的GPS定位信息很容易就有幾十公分甚至幾米的誤差。對於在有限寬度上高速行駛的汽車來說,這樣的誤差很有可能導致交通事故。因此必須要有GPS之外的手段來增強無人車定位的精度。

上文提到過,LiDAR會在車輛行駛的過程中不斷收集點雲來了解周圍的環境。我們可以很自然想到利用這些環境信息來定位。這裡我們可以把這個問題用一個簡化的概率問題來表示:已知t0時刻的GPS信息,t0時刻的點雲信息,以及t1時刻無人車可能所在的三個位置:P1、P2和P3(這裡為了簡化問題,假設無人車會在這三個位置中的某一個)。求t1時刻車在這三點的概率。根據貝葉斯法則,無人車的定位問題可以簡化為如下概率公式:

無人駕駛核心技術探秘:光學雷達(LiDAR)

右側第一項表示給定當前位置,觀測到點雲信息的概率分布。其計算方式一般分局部可能和全局可能兩種。局部可能較簡單的做法就是通過當前時刻點雲和上一時刻點雲的匹配,借助幾何推導,可以可能出無人車在當前位置的可能性。全局可能就是利用當前時刻的點雲和上面提到過的高清地圖做匹配,可以得到當前車相對地圖上某一位置的可能性。在實際中一般會兩種定位方法結合使用。右側第二項表示對當前位置預測的概率分布,這裡可以簡單的用GPS給出的位置信息作為預測。通過計算P1、P2和P3這三個點的後驗概率,就可以估算出無人車在哪一個位置的可能性最高。通過對兩個概率分布的相乘,可以很大程度上提高無人車定位的準確度,如圖3所示。

無人駕駛核心技術探秘:光學雷達(LiDAR)
圖3 基於點雲的定位

障礙物檢測

眾所周知,在機器視覺中一個比較難解決的問題就是判斷物體的遠近,基於單一錄影頭所抓取的2D圖像無法得到準確的距離信息。而基於多錄影頭生成深度圖的方法又需要很大的計算量,不能很好地滿足無人車在實時性上的要求。另一個棘手的問題就是光學錄影頭受光照條件的影響巨大,物體的識別準確度很不穩定。圖4展示了光線不好的情況下圖像特徵匹配的問題:由於相機曝光不充分,左側圖中的特徵點在右側圖中沒有匹配成功。圖5左側展示了2D物體特徵匹配成功的例子:啤酒瓶的模板可以在2D圖像中成功識別。但是如果將鏡頭拉遠,如圖5右所示,我們只能識別出右側的啤酒瓶只是附著在另一個3D物體的表面而已。2D物體由於維度缺失的問題很難在這個情境下做出正確的識別。

無人駕駛核心技術探秘:光學雷達(LiDAR)

圖4 暗光條件下圖像特徵匹配的挑戰 

無人駕駛核心技術探秘:光學雷達(LiDAR)圖5 2D圖像識別的問題
利用LiDAR所生成的點雲可以很大程度上解決上述兩個問題,借助LiDAR的特性,我們可以對反射障礙物的遠近、高低甚至是表面形狀有較為準確的可能,從而大大提高障礙物檢測的準確度,而且這種方法在算法的複雜度上低於基於錄影頭的視覺算法,因此更能滿足無人車的實時性需求。

LiDAR技術面臨的挑戰

前文我們專注於LiDAR對無人駕駛系統的幫助,但是在實際應用中,LiDAR也面臨著許多挑戰,包括技術、計算性能以及價格挑戰。要想把無人車系統產品化,我們必須解決這些問題。

技術挑戰:空氣中懸浮物

LiDAR的精度也會受到天氣的影響。空氣中懸浮物會對光速產生影響。大霧及雨天都會影響LiDAR的精度,如圖6所示。

無人駕駛核心技術探秘:光學雷達(LiDAR)

圖6 外部環境對LiDAR測量的影響 

無人駕駛核心技術探秘:光學雷達(LiDAR)圖7 雨量對LiDAR測量影響的量化
圖7測試中使用了A和B兩個來自不同製造廠的LiDAR,可以看到隨著實驗雨量的增大,兩種LiDAR的最遠探測距離都線性下降。雨中或霧中的傳播特性最近幾年隨著雷射技術的廣泛應用越來越受到學術界的重視。研究表明:雨和霧都是由小水滴構成的,雨滴的半徑直接和其在空中的分布密度直接決定了雷射在傳播的過程中與之相撞的概率。相撞概率越高,雷射的傳播速度受影響越大。

計算性能挑戰:計算量大

從表1可以看到,即使是16線的LiDAR每秒鐘要處理的點也達到了30萬。要保證無人車定位算法和障礙物檢測算法的實時性,如此大量的數據處理是面臨的一大挑戰。例如,之前所說的LiDAR給出的原始數據只是反射物體的距離信息,需要對所有產生的點進行幾何變換,將其轉化為位置坐標,這其中至少涉及4次浮點運算和3次三角函數運算,而且點雲在後期的處理中還有大量坐標系轉換等更複雜的運算,這些都對計算資源 (CPU、GPU、FPGA) 提出了很大的需求。

型號Channel 數量每秒產生點數Velodyne HDL-64E64 Channels2,200,000Velodyne HDL-32E32 Channels700,000Velodyne VLP-1616 Channels300,000

成本挑戰:造價昂貴

LiDAR的造價也是要考慮的重要因素之一。上面提到的Velodyne VLP-16 LiDAR官網報價為稅前7999美元,而Velodyne HDL-64E LiDAR預售價在10萬美元以上。這樣的成本要加在本來就沒有很高利潤的汽車價格中,無疑會大大阻礙無人車的商業化。

展望未來

盡管無人駕駛技術漸趨成熟,但LiDAR始終是一個繞不過去的坎。純視覺與GPS/IMU的定位以及避障方案雖然價格低,卻還不成熟,很難應用到室外場景中;但同時LiDAR價格高居不下,消費者很難承受動輒幾十萬美元定價的無人車。因此,當務之急就是快速把系統成本特別是LiDAR的成本大幅降低。其中一個較有希望的方法是使用較低價的LiDAR,雖然會損失一些精確度,但可以使用其它的低價傳感器與LiDAR做信息混合,較精準地推算出車輛的位置。換言之,就是通過更好的算法去彌補硬體傳感器的不足,我們相信這是無人車近期的發展方向。而高精度LiDAR的價格由於市場需求大增也將會在未來的一兩年內出現降幅,為無人車的進一步普及鋪路。

作者簡介:

  • 劉博聰,百度公司美國研發中心架構師,目前主要負責百度無人車系統架構。卡內基梅隆大學電子與計算機工程碩士,研究方向包括嵌入式系統,機器學習算法研究。曾在Qualcomm從事手機晶片和車載晶片的工作。
  • 劉少山,PerceptIn公司聯合創始人。加州大學歐文分校計算機博士,研究方向包括智能感知計算、系統軟體、體系結構與異構計算(FPGA、GPU)。現在PerceptIn主要專注於增強現實、虛擬現實、機器人的核心SLAM技術及其在智能硬體上的做到與優化。創立PerceptIn之前在百度美國研發中心工作。
  • James Peng,百度公司首席架構師。清華大學本科,紐約州立大學碩士,史丹佛大學博士,雲計算平台,深度學習,數據建模,大規模數據庫等。曾在Google工作多年,參與和負責完成多個項目。

無人駕駛技術系列後續的文章將討論ROS系統、高精地圖、路徑規劃、底層控制和視覺識別等技術,敬請期待:

  1. Lidar
  2. ROS
  3. Map
  4. GPS + IMU
  5. Camera
  6. Planning
  7. Control
  8. Data platform
  9. Simulation
  10. Communications

責編:周建丁(投稿請聯繫[email protected]

推薦閱讀:

》生不出男孩被婆家逼走,獨自養兩個女兒流落街頭,如今她是身價60億的水餃皇后!

》她是中國史上最強女海盜,讓多少洋人感受過被她支配的恐懼!