阿里巴巴高德地圖首席科學家任小楓:高精演算法推動高精地圖落地
2020雲棲大會於9月17日-18日在線上舉行,阿里巴巴高德地圖攜手合作夥伴精心組織了“智慧出行”專場,為大家分享高德地圖在打造基於DT+AI和全面上雲架構下的新一代出行生活服務平臺過程中的思考和實踐,並重點分享了「高精地圖、高精演算法、智慧時空預測模型、自動駕駛、AR導航、車道級技術」等話題。
「高德技術」把本場講師分享的主要內容整理成文並陸續釋出出來,本文為第1篇。
阿里巴巴高德地圖首席科學家任小楓分享的話題是《高精演算法推動高精地圖落地》。任小楓從演算法出發,介紹了高精地圖製作和落地的挑戰,以及高德如何打磨和突破關鍵技術,把高精地圖做到業界領先。
去年雲棲大會,任小楓給大家整體介紹了視覺技術在高德的應用,主要分享了常規地圖和AR導航、視覺定位方面的工作。今年時間比較短(每位講師只有12分鐘的演講時間),主要介紹高精演算法方面的工作。
什麼是高精地圖?主要是給自動駕駛場景用的地圖。它和我們平時開車時所用到的地圖很不一樣。一個關鍵就是要精準。高精地圖需要有精準元素,精確位置,精細表示。例如下圖中的杆子、車道線、行駛軌跡等都需要在高精地圖中精確的表示出來。
自動駕駛要成功落地,高精地圖是必須做成的事情。高精地圖有很多用途:給自動駕駛用來定位;靜態目標的建模“識別”;路徑/行為規劃。這些對於自動駕駛來說是非常重要的功能。
高精地圖落地的挑戰主要在哪裡?
精度!精度!精度!(重要的話說3遍)其他的挑戰還有規模、成本、時效。
首先是精度。高德對高精地圖製作的首要原則就是要準!要做到很高的精度,百米相對精度10釐米。就是在真實世界中,如果有兩個元素在真實世界中相距100米,那他們的相對位置,跟真實世界比起來的誤差必須在10釐米之內。這是一個非常高的目標。在這樣一個高目標下,生產效率和成本就成了非常大的挑戰,具體細節這裡不展開解釋了,目前高德已經做到了行業領先的水平。此外,還有鮮度和更新,最早期的時候以年為單位,後來到了月更新,周更新,日更新甚至更快,這樣才能真正做到地圖資訊是準確有效的。
演算法在解決高精地圖面臨的挑戰中有很重要的作用。演算法相關的工作主要有三部分:
- 資料精度與對齊
- 識別和生產自動化
- 變化發現與更新
資料精度
高精地圖的首要原則是精準。高德從一開始就做了很大的投入,使用了很貴的採集車。用的高精度Riegl採集車,高精度鐳射雷度,它的測距精度能達到5mm,1M/sec;高精度的組合慣導;千尋基站解算…但即使這樣大的投入和採集車配備,也並不意味著採集的資料資料就沒問題了,還是會出現問題。比如軌跡,靜止或運動的時候都會出錯,出錯的時候並不是很多,可能只有0.5%的比例,但出錯的時候就會造成點雲資料出問題,比如點雲分層,工程師們需要做很多演算法方面的工作去檢測,在點雲分層的時候把它修復。
經過一系列工作後,能在軌跡錯誤率上有明顯的降低。單趟資料採集精度的問題解決後,很快就會遇到多躺資料對齊的問題。舉例來說,一條路上很可能做多次採集,多次採集回來的點雲,如果不做處理的話就會出現非常明顯的重影,它是不貼在一起的,需要用演算法的手段把它對齊。這也有很大的挑戰,因為對精度的要求很高,在5cm以內。
各種場景的挑戰很多,比如植被的影響。在不同季節的時候採集資料就會遇到這種情況,這些樹和灌木會造成非常大的影響。同時在對齊的時候需要保持軌跡的剛性。因為原來採集回來的時候,軌跡的相對精度是很好的。在對齊過程中不能破壞和降低相對精度。而是要在原有基礎上去提高相對精度,包括上下行的場景,如果是一條路,上下行不同兩個方向和觀測角度採集到的資料,以及橋上橋下,因為共視區域有限,對齊的挑戰就更高了。
資料對齊
資料對齊怎麼做?分為前端和後端兩個部分。
前端有一個比較核心的演算法就是點雲匹配。比較常見的比如ICP或者GICP演算法。但光是注意點雲匹配是不夠的,要把這個題解好,還需要解決很多其他的問題。比如稀疏點雲特徵提取,快速點雲語義分割,快速車道線分割。這兩塊跟語義相關,在效率上是比較大的挑戰。因為點雲的資料資料量非常大,在計算時間上不能花太多時間。
前端做了很多工作,那對齊後端做什麼呢,後端主要做大規模優化。因為軌跡的修整不能在單點做,需要很多條軌跡,甚至在整個城市的規模上一起去做調整。
高德也花了很多時間在做優化演算法。比如做了一條基於樣條曲線的稀疏優化演算法。把它稀疏化以後就能達到百倍級的加速。能夠比較好的解決在一個城市規模下的點雲對齊問題。
識別和生產自動化
對齊問題解決後就是生產效率,即識別和生產自動化的問題。高精地圖裡元素很多,比如線性元素裡就有車道線、護欄、路緣石、自然邊界,還有所謂的OBJ,即地面標識、桿狀物、交通標牌、橋、龍門架等等。這些都需要製作出來,採用自動化的方法,演算法的方法就是非常重要的環節。它的輸入有點雲和影象識別。可以通過演算法來生成HD地圖元素。可以用演算法來提高人工效率。
舉幾個有挑戰性的例子。比如說下圖的4種情況:
怎麼解決?
輸入主要是點雲和影象。高德花了很長時間在優化模型能力和提高精度。包括:
- 點雲語義分割(多級隨機聚合網路)
- 影象全景分割(檢測/分割深度融合)
- 點雲/影象融合(前融合+後融合)
- 傳統演算法輔助(e.g. 擬合,三維)
- 向量化及建模(深度特徵+圖模型)
高德在這些方法做到了很高的水準:高準確度召回>98%;部分實現跳點作業,達到>99.5%召回;部分實現免人工檢查,達到>99.5準確率。
變化發現與更新
在地圖更新方面,高德有兩套方案都在做,應用於不同的場景。一種是用鐳射的方法,一種是用視覺的方法。
鐳射的方法。因為要控制成本,所以使用了相對低成本的鐳射和相對低成本的組合慣導。輸入的資料質量比較低,需要做很多事情去提高資料的精度。包括:
- 緊耦合Lidar Slam/LIO
- 實時語義分割
- 定位地圖:多重特徵圖層
- In-the-loop重定位
- 協方差模型
- 全域性位姿優化
- 定點陣圖層更新
上面這些都有相對比較成熟的解決方案。雖然輸入資料差,但在更新場景下還是能達到很好的精度。
視覺的方法。由極低成本消費級相機和極低成本消費級組合慣導來做,這中間有很多視覺的演算法。包括:
- 緊耦合Visual Slam/VIO
- 定位特徵圖層和語義圖層
- 特徵+語義重定位
- 全域性位姿優化(融合VIO/重定位)
- 定位特徵圖層及更新
現在已經做到15釐米;在嚴格評測的條件下已經是業界領先水平了。後續會繼續提高精度。
視覺更新技術可以直接應用於構建地圖。下面的圖顯示的是視覺建圖和衛星影像的重疊。
變化發現的問題,高精地圖如何做到更高的精度和更高頻率的更新?
假設有一個極低成本的方案去採集影象,採集回來的肯定是一些質量很差的影象,在這些影象基礎上要做對比,和真實世界的變化,比如下圖裡的兩張圖片裡都有個電子眼,其實是同一個電子眼,但在圖片上看著很不一樣,需要用演算法的手段來判斷這是否為同一個電子眼。這裡面就有很多影象演算法的工作要做。包括:
這些方面高德都在做,也已經有了比較好的結果。這是高精地圖製作過程中的一個必需的過程。這也是高德的特色所在,因為使用這些低成本的裝置,能用現有的低成本的資料發現物理世界的變化。
高精地圖是高德未來的一個重要方向。它的製作和落地是一個系統性的工程,除了演算法以外,還有很多其他的關鍵工作要做。讓我們一起努力。