在無人駕駛中,雷射雷達給攝像頭填了哪些坑?| 硬創公開課
編者按:本文內容來自速騰聚創 CEO 邱純鑫在雷鋒網硬創公開課的分享,由雷鋒網旗下欄目“新智駕”整理。
本期公開課要點:
雷射雷達與攝像頭性能對比
多線雷射雷達----多少線合適?
在無人駕駛環境感知中,攝像頭和雷射雷達分別完成什麼工作?
雷射雷達與攝像頭的融合
雷射雷達與攝像頭性能對比
在無人駕駛環境感知設備中,雷射雷達和攝像頭分別有各自的優缺點。
攝像頭的優點是成本低廉,用攝像頭做演算法開發的人員也比較多,技術相對比較成熟。攝像頭的劣勢,第一,獲取準確三維資訊非常難(單目攝像頭幾乎不可能,也有人提出雙目或三目攝像頭去做);另一個缺點是受環境光限制比較大。
雷射雷達的優點在於,其探測距離較遠,而且能夠準確獲取物體的三維資訊;另外它的穩定性相當高,魯棒性好。但目前雷射雷達成本較高,而且產品的最終形態也還未確定。
就兩種感測器應用特點來講,攝像頭和雷射雷達攝像頭都可用於進行車道線檢測。除此之外,雷射雷達還可用于路牙檢測。對於車牌識別以及道路兩邊,比如限速牌和紅綠燈的識別,主要還是用攝像頭來完成。如果對障礙物的識別,攝像頭可以很容易通過深度學習把障礙物進行細緻分類。但對雷射雷達而言,它對障礙物只能分一些大類,但對物體運動狀態的判斷主要靠雷射雷達完成。
多線雷射雷達----多少線合適?
目前,國外和國內做雷射雷達的廠商並不多。比如 Velodyne 推出 16 線、32 線和 64 線雷射雷達產品。Quanergy 早期推出的 8 線雷射雷達產品 M-8(固態雷射雷達在研)。Ibeo 主要推出的是 4 線雷射雷達產品,主要用於輔助駕駛。速騰聚創(RoboSense)推出的是 16 線雷射雷達產品。
到底多少線的雷射雷達產品才能符合無人駕駛廠商,包括傳統汽車廠商、互聯網造車公司的需求?
多線雷射雷達,顧名思義,就是通過多個鐳射發射器在垂直方向上的分佈,通過電機的旋轉形成多條線束的掃描。多少線的雷射雷達合適,主要是說多少線的雷射雷達掃出來的物體能夠適合演算法的需求。理論上講,當然是線束越多、越密,對環境描述就更加充分,這樣還可以降低演算法的要求。
業界普遍認為,像穀歌或百度使用的 64 線雷射雷達產品,並不是雷射雷達最終的產品形態。雷射雷達的產品的方向肯定是小型化,而且還要不斷減少兩個相鄰間發射器的垂直解析度以達到更高線束。
雷射雷達產品參數包括四方面:測量距離、測量精度、角度解析度以及鐳射單點發射的速度。我主要講解析度的問題:一個是垂直解析度,另一個是水準解析度。
現在多線雷射雷達水準可視角度是 360 度可視,垂直可視角度就是垂直方向上可視範圍。解析度與攝像頭的圖元是非常相似的,雷射雷達最終形成的三維鐳射點雲,類似於一幅圖像有許多圖元點。鐳射點雲越密,感知的資訊越全面。
水準方向上做到高解析度其實不難,因為水準方向上是由電機帶動的,所以水準解析度可以做得很高。目前國內外雷射雷達廠商的產品,水準解析度為 0.1 度。
垂直解析度是與發射器幾何大小相關,也與其排布有關係,就是相鄰兩個發射器間隔做得越小,垂直解析度也就會越小。可以看出來,線束的增加主要還是為了對同一物體描述得更加充分。如果是不通過減少垂直解析度的方式來增加線束,其實意義不大。
如何去提高垂直解析度?目前業界就是通過改變鐳射發射器和接收器的排布方式來實現:排得越密,垂直解析度就可以做得很小。另一方面就是通過多個 16 線雷射雷達耦合的方式,在不增加單個雷射雷達垂直解析度的情況下同樣達到整體減小垂直解析度的效果。
但是,這兩種方法都有一定的缺陷。
第一種方法,如果在不增加垂直可視範圍情況下增加線束,是有一定天花板的。因為鐳射發射器的幾何大小很難進一步再縮小,比如說做到垂直 1 度的解析度,如果想做到 0.1 度,幾乎不可能。
第二種方法,多感測器耦合,即多個雷射雷達耦合,因為它不是單一產品,那麼對往後的校準將會有很高的要求。
雷射雷達和攝像頭分別完成什麼工作
?
無人駕駛過程中,環境感知資訊主要有這幾部分:一是行駛路徑上的感知,對於結構化道路可能要感知的是行車線,就是我們所說的車道線以及道路的邊緣、道路隔離物以及惡劣路況的識別;對非結構道路而言,其實會更加複雜。
周邊物體感知,就是可能影響車輛通行性、安全性的靜態物體和動態物體的識別,包括車輛,行人以及交通標誌的識別,包括紅綠燈識別和限速牌識別。
對於環境感知所需要的感測器,我們把它分成三類:
感知周圍物體的感測器,包括雷射雷達、攝像頭和毫米波雷達這三類;
實現無人駕駛汽車定位的感測器,就是 GPS 、IMU 和 Encoder;
其他感測器,指的是感知天氣情況及溫、濕度的感測器。
今天主要講的是感知周圍物體的感測器,即:雷射雷達、毫米波雷達和攝像頭。其實他們都有各自的優缺點。
在無人駕駛環境感知中,攝像頭完成的工作包括:
車道線檢測;
障礙物檢測,相當於把障礙物識別以及對障礙物進行分類;
交通標誌的識別,比如識別紅綠燈和限速牌。
對車道線的檢測主要分成三個步驟:
第一步,對獲取到的圖片預處理,拿到原始圖像後,先通過處理變成一張灰度圖,然後做圖像增強;
第二步,對車道線進行特徵提取,首先把經過圖像增強後的圖片進行二值化( 將圖像上的圖元點的灰度值設置為 0 或 255,也就是將整個圖像呈現出明顯的黑白效果),然後做邊緣提取;
第三步,直線擬合。
車道線檢測難點在於,對於某些車道線模糊或車道線被泥土覆蓋的情況、對於黑暗環境或雨雪天氣或者在光線不是特別好的情況下,它對攝像頭識別和提取都會造成一定的難度。
另一個是障礙物檢測。上圖是我們在十字路口做的實驗,獲取到原始圖像後,通過深度學習框架對物體進行識別。在這當中,做訓練集其實是主要的難點。
還有一個是道路標識的識別,這一部分的研究比較多,這裡不再贅述。
雷射雷達能夠完成什麼工作?
第一是路沿檢測,也包括車道線檢測;第二是障礙物識別,對靜態物體和動態物體的識別;第三是定位以及地圖的創建。
對於路沿檢測,分為三個步驟:拿到原始點雲,地麵點檢測、提取路沿點,通過路沿點的直線擬合,可以把路沿檢測出來。
接下來是障礙物識別,識別諸如行人、卡車和私家車等以及將路障資訊識別出來。
障礙物的識別有這樣幾步,當雷射雷達獲取三維點雲資料後,我們對障礙物進行一個聚類,如上圖紫色包圍框,就是識別在道路上的障礙物,它可能是動態也可能是靜態的。
最難的部分就是把道路上面的障礙物聚類後,提取三維物體資訊。獲取到新物體之後,會把這個物體放到訓練集裡,然後用 SVM 分類器把物體識別出來。
如上圖,左上角、左下角是車還是人?對於機器而言,它是不清楚的。右上角和右下角(上圖)是我們做的訓練集。做訓練集是最難的,相當於要提前把不同物體做人工標識,而且這些標識的物體是在不同距離、不同方向上獲取到的。
我們對每個物體,可能會把它的反射強度、橫向和縱向的寬度以及位置姿態作為它的特徵,進行提取,進而做出資料集,用於訓練。最終的車輛、行人、自行車等物體的識別是由SVM分類器來完成。我們用這種方法做出來的檢測精確度還是不錯的。
利用雷射雷達進行輔助定位。定位理論有兩種:基於已知地圖的定位方法以及基於未知地圖的定位方法。
基於已知地圖定位方法,顧名思義,就是事先獲取無人駕駛車的工作環境地圖(高精度地圖),然後根據高精度地圖結合雷射雷達及其它感測器通過無人駕駛定位演算法獲得準確的位置估計。現在大家普遍採用的是基於已知地圖的定位方法。
製作高精度地圖也是一件非常困難的事情。舉個例子,探月車在月球上,原來不知道月球的地圖,只能靠機器人在月球上邊走邊定位,然後感知環境,相當於在過程中既完成了定位又完成了製圖,也就是我們在業界所說的 SLAM 技術。
雷射雷達是獲取高精度地圖非常重要的感測器。通過 GPS、IMU 和 Encoder 對汽車做一個初步位置的估計,然後再結合雷射雷達和高精度地圖,通過無人駕駛定位演算法最終得到汽車的位置資訊。
高精地圖可分為基礎層、道路資訊層、周圍環境資訊層和其他資訊層。
比如基礎層,有車道的寬度、坡度、傾斜角、航向、高程、車道線資訊、人行道和隔離帶等等。之後還有資訊層,相當於告訴每一個道路上限速的標記、紅綠燈標記,還有一個就是環境資訊層,相當於周圍建築物的三維模型。其他資訊層,比如說天氣資訊、施工資訊等等,天氣資訊非常重要,它提供一個場景資訊,比如說天氣非常惡劣的時候,比如下雨天,如果高精度地圖能提供天氣資訊,或者無人駕駛汽車車身所攜帶的感測器,能夠感知到下雨資訊,這時非常有利於指導無人駕駛汽車做一些決策。
現在對高精度地圖的定義,不同地圖廠家有不同定義的方式。做高精度地圖是為了輔助無人駕駛,所謂高精度地圖就是相比之前的導航地圖,前者精確度更高,可以達到釐米級;另一個就是高精度地圖包含更多的信息量,比如說車道的寬度、傾斜度等資訊。
雷射雷達與攝像頭的融合
雷射雷達與攝像頭融合,其實相當於是雷射雷達發揮雷射雷達的優勢,攝像頭發揮攝像頭的優勢,他們在某些地方是做得不夠好,需要兩個感測器甚至多個感測器資訊進行底層的融合。
在融合的時候,首先第一步,標定。比如說左上角(上圖),我看到凳子,左下角雷射雷達也看到的是凳子,那麼我通過標定的方式告訴它,其實兩個是同一個物體。
其實攝像頭發現同一個物體是非常容易的,比如做人的跟蹤或車的跟蹤。對於雷射雷達而言, 要去識別前後幀是否同一輛車和同一個行人是非常困難的。
雷射雷達有一個好處:如果可以通過攝像頭告訴它前後兩幀是同一個物體,那麼通過雷射雷達就可以知道物體在這前後兩幀間隔內:運動速度和運動位移是多少。這是非常關鍵的,因為只有做運動物體的跟蹤才能做一些預測。
人在駕駛的過程中,他得時刻知道周圍物體的運動狀態。對於無人駕駛,除了對車輛進行位置的估計以及導航之外,其實還需要對周邊物體、運動物體的跟蹤和預測,這是非常有意義的。
精彩問答:
問:高精度地圖的製作,是不是應該與 SLAM 的建圖結合滿足在無 GPS 下的定位?
邱純鑫:
這是對的,我們也用 SLAM 的方式去局部做地圖構建,剛開始如果做高精度地圖,還是得用 SLAM 方法去做。
有些道路,特別是城市道路或巷道,GPS 非常不可信。所以說大家還是得充分考慮在有 GPS 如何去製作高精度以及在沒 GPS 情況下如何去做高精度地圖。
問:考慮到對遠距離小物體的檢測,需要雷射雷達有更高的水平角解析度,那麼目前 0.1 度的角解析度能不能再提升,限制在哪裡?
邱純鑫:
水準解析度 0.1 度可以做得更小,這個沒有限制,雷射雷達單點出點數做得更高沒問題。垂直解析度確實是有限制,除非用固態雷射雷達,要不然現在通過多個鐳射發射器和接收器堆疊的方式來實現 0.1 度的角度解析度幾乎是很難再提升了。
假如說雷射雷達角度解析度還有出點數已經滿足要求。那麼,剩下一個問題就是過車規,畢竟雷射雷達是安裝在車上的。所以車的溫度,濕度,抗震性都要充分考慮。
目前雷射雷達本身有兩個主要的問題:一方面是雷達本身的參數是否可以提高;另一方面是如何過車規。
問:你認為目前雷射雷達用於自主車駕駛和 SLAM 研究中還有哪些亟待解決的科研和技術問題?另外,雷射雷達和相機的融合,您覺得用於車載 SLAM 的話最好是和幾個(單目、雙目、三目、全景)相機的融合?在相機和雷射雷達融合中,您覺得還有哪些亟待解決的科研和技術問題?
邱純鑫:
SLAM 不僅僅是無人駕駛汽車的問題。對 SLAM 而言,一個是定位,一個是製圖。
目前看,在拼接尤其是前後兩幀拼接的時候,如何才能拼接得更加準確;另一個是多次拼接的時候,如何能夠覆蓋累計的誤差。比如,做一個大閉環,第一次掃描到的環境就很難跟第 1000 個拼接起來,能否做到全域的校準?所以我覺得 SLAM 的問題不僅僅是無人駕駛的問題,可能室內存在 SLAM 的問題。
雷射雷達和相機的融合,到底用單目,雙目,三目還是全景去做。其實我們現在用的是單目,利用單目相機對物體速度的識別主要還是通過標定的方式,然後看物體在圖片中所佔據的大小,從而來做大致的距離估算。
目前大家用雙目的想法,其實還主要是解決單目對距離無法判斷的問題。雙目、三目和全景我們還沒有去嘗試,所以不太好判斷。
問:雷射雷達的設備體積,理論上最小能達到多少?成本如果大批量生產的話可以縮減到多少?有可能進入 3D 成像領域麼?
邱純鑫:
目前我們也想把它體積做到更小,並在更小的情況下能夠做到線數越多。目前還沒有一個理論說最小能做到多小,但體積做太大已經沒有意義。
如果未來推出固態雷射雷達產品,比如體積只有一個指甲蓋的大小,那麼它的應用領域,肯定不僅僅是在無人駕駛上,還可以應用到其他領域。
問:對應圖像資料使用 OpenCV;那麼,點雲資料的處理,目前都有哪些主流開源庫可供使用?
邱純鑫:
目前還沒有很好的一個開源庫。之前有一個叫 PCL(Point Cloud Library),我覺得這個庫做得並不好,所以我們也沒怎麼去用,還是自己在做。
問:相機和雷射雷達融合中還有哪些要去解決的技術問題?
邱純鑫:
首先是標定,如何標定才更好?再有一個就是時間戳記的問題。相機在這一時刻獲取到的圖片跟雷射雷達獲取到的三維資訊如何很好匹配下來。演算法融合,運動物體跟蹤,通過攝像獲取同一個物體,通過雷射雷達去識別同一個物體的距離資訊。