演講嘉賓簡介:任小楓,高德地圖首席科學家。
以下內容根據演講視頻以及PPT整理而成。
觀看回放(戳我)
本次分享主要圍繞以下三個方面:
一、高德地圖簡介
二、用算法連接世界
三、用算法創造出行未來
>>> 點擊下PPT
一、高德地圖
高德地圖已經變成了國民級的出行工具,每日日活用戶已經超過1億,月活用戶已經超4億。高德地圖服務還包括信息服務、駕車導航、共享出行、智慧公交、智慧景區、騎行、步行、長途出行等等。高德地圖不光是個導航,更多的是一個互聯網基礎設施。淘寶是建立人與商品的關係,支付寶是建立人和資金的關係,高德地圖是建立人與位置的關係,更進一步則是建立人與真實世界的關係。高德地圖的使命是連接世界,讓出行更美好。事實上,高德地圖的APP只是大家所看到的冰山的一角,但在高德地圖背後還有很多工作,如定位、路徑規劃、路況、ETA、網約車、貨運、LBS遊戲、供需+路徑規劃等等,這些工作都需要很多技術的支持。
二、用算法連接世界
1.地圖製作
地圖製作是一個非常複雜的過程。如下圖,首先需要進行資料的採集,再通過算法進行自動識別。當然目前自動識別還無法達到全自動的程度,還需經過人工修正才能進入地圖服務中。
地圖製作算法類型:地圖製作算法大致分為兩類,一類是道路標誌識別,如識別下圖中的限速和禁停標誌。除道路信息之外,還有POI掛牌識別算法,即Point of Interest,識別路邊的店鋪等興趣點。兩類算法的實現在現實場景中都面臨著很多的挑戰。
道路標誌識別:以下圖中的道路標誌識別為例,首先需要通過目標檢測算法將裡面的標誌進行識別。對所識別標誌進行細分類,識別出是禁行標誌。再進行文字識別,識別出具體的內容是長途客車,時間在2:00到5:00間。大體看起來道路標誌識別的流程好像很簡單,但實際實現過程中會遇到各種各樣的困難。
道路標誌識別挑戰:
(1)道路標誌種類繁多,如下圖中所列出來的標誌,這還不是全部的標誌。如此多的道路標誌給所識別標準細分類任務帶來了很大的挑戰。
(2)圖像質量問題也會對道路標誌識別帶來較大的難題。圖像問題包括畸變、反光、遮擋、分辨率較低、圖像壓縮等等。其成像質量由於光線、天氣的影響會變得非常糟糕。
解決圖像畸變問題相當於相機自標定的過程。其中,相機的內參如焦距、中心、畸變等,外參如位置、角度等都是未知的。標準圖像的標定算法需要拿到每個相機進行標定,實現起來並不現實。此時通過多源圖像匹配的手段,通過利用質量較好的相機,可以在相當程度上解決相機自標定的問題。
此外,我們可以用圖像質量增強的方法來解決圖像質量問題。下圖中左側是原圖,放大原圖可以看清一些文字內容,但還是有一些細節的文字不是很清晰。右圖顯示,用圖像增強的方式,可以把文字內容變得更清楚。圖像增強可以提高識別算法的精度,還可以用於模糊檢測,也可以用於提高人工效率。
(3)小目標檢測問題在圖像檢測領域經常出現。下圖中的攝像頭,從遠處看大概可以猜到具體是什麼,但是一旦放大,像素會非常糟糕,顯示小目標本身的信息量很有限。小目標檢測可以通過周邊的信息輔助目標檢測,引入注意力(Attention)機制,利用先驗知識,如相機的分佈、高度、大小等信息輔助解決小目標檢測問題。
(4)在實際生活中除了小目標檢測,更多的是對變化進行檢測。如判斷下圖中是否屬於同一電子眼,人眼由於時間,天氣,設備等不同很難進行準確判斷。而算法則可以通過檢測位置、歸屬車道、電子眼架設類型、及分析場景等手段進行判斷。
POI掛牌識別算法:真實的街道中,掛牌非常複雜且密度很高,所以POI掛牌識別時依然會遇到很多實際問題。
POI掛牌識別挑戰:
(1)實際街道上,POI掛牌方式豐富多樣,如牌坊式POI、銘牌式POI、掛牌式POI、門臉式POI等。實際街道中還有很多非掛牌POI式的目標,如條幅標語、橫幅廣告、牆體標語、交通標語對聯、和車牌等。
(2)識別POI之後,需要進行文字的識別和提取。這時除了多種多樣的POI掛牌之外,還有掛牌密集稀疏不一,特殊造型的掛牌,以及不清晰和不完整的掛牌等問題。對於這種複雜的問題需要結合多種技術解決,如多級級聯檢測模型,文字檢測識別,三維重建位置匹配,模糊和遮擋檢測技術。
(3)POI排版識別除了文字識別之外,還需要對牌面進行解析,理解牌面上的主名稱、分店名、聯繫方式、營業範圍和非PO文字等內容。因此POI文字識別首先要進行屬性識別,根據文字語義、圖像和位置進行特徵融和,根據場景理解及上下文判斷context。
整體而言,要保證和提高地圖數據的準確率,基於圖像的自動化地圖製作的程度和效率都非常重要。高德除了在提高算法及多源數據上投入很多精力之外,還在不斷的引入新的技術。此外,高德希望未來可以將算法放在端上,更加實時有效的理解道路場景,收集更快更準確的地圖信息。
2.搜索推薦
地圖應用中搜索產品形態有很多種,首先用戶可以輸入簡短的目的地信息,地圖進行更進一步的精確搜索,返回結果。還有類目搜索和品牌搜索,如美食,娛樂品牌等。在沿途過程中,提供導航搜索功能。
地圖搜索的特性和挑戰:下圖從技術角度將地圖搜索與傳統的電商和網頁搜索進行了對比。首先,網頁搜索的是非結構化的長文本,規模非常龐大,可達千億級。電商搜索的是商品,規模可達到十億級,返回圖片列表。而地圖搜索輸入的是POI類型的結構化短文本,規模大概在千萬級。但是地圖搜索的精度要求相對更高,此外,需要收集地圖空間位置信息作為搜索算法的支持。
高德搜索技術演進之路:從2010年開始,高德開始構建搜索系統。自2014年,陸陸續續引入更高端的技術,構建搜索專家系統,全面引入機器學習和深度學習,構建搜索中臺,全鏈路業務通道平臺化。支持神馬搜索、菜鳥、斑馬、餓了麼等業務。
模糊搜索案例:如下圖所示,搜索“湖南省人力資源社會保障廳”,如果輸入語句都正確,則可以直接搜到目的地。但實際上,輸入語句總會出現錯誤,搜索算法需要引入地理糾錯進行高低頻糾錯,通過語義匹配新增語義改寫,通過空間關係建立文本空間模型。此外,搜索算法除了解決單純的語句的匹配,更重要的是意圖的識別,判斷搜索範圍在本地還是外地、需要精搜還是反搜、實時還是調研、出行目的是旅遊還是公務。
多源地理信息庫:高德希望構建以地理位置為基礎的綜合信息庫,其中地理位置包括位置、路網、樓塊和房間等信息,綜合信息包括名稱、類型、功能、時間、評論等。這些信息有多種來源,包括圖像採集、文本大數據、搜索大數據、軌跡大數據、用戶輸入、行業資料等。如何將這些多源信息融合起來,支持構建精準的豐富的綜合信息庫是算法工作面臨的一個主要挑戰。
3.路徑規劃
高德路徑規劃演進之路:下圖展示了高德路徑規劃的演進路線。從2004年開始,高德提供路徑規劃服務,經過陸陸續續算法的提升和演化,目前高德正處於鑽研多目標算法階段,以滿足用戶的訴求,快速規劃出更好的路線。
路徑規劃挑戰:現實場景中,路徑規劃技術需要解決超大規模的實時路徑規劃問題。具體而言,路線規劃問題包括路網規模大,如全國道路數量就多達4000萬。其次道路屬性變化非常快,每個季度都有10%左右的更新。此外,路況信息更新更是要求以分鐘級進行實時發佈。
超大規模實時路徑規劃,作為實際問題,和學術界的最短路徑算法有很大的不同。在標準算法的基礎上,要提高效率,一個重要的方法是引入預處理,可以輔助解決大規模和實時性的挑戰。預處理算法有很多,包括Arc Flags,Multi-Layers等。
綜合起來,對於超大規模最短路徑問題,有TNR、CH、CBR等學術界提出的比較好的算法。在實用中,如何在多種算法中做出選擇?我們需要根據實際的需求,包括規模、實時性和路況更新,在算法性能和預處理性能之間找到平衡。
實際需求首先要保證規劃算法的性能。此外還需要支持實時性需求,如支持小時級路網結構更新,分鐘級路況更新。本質上,實時性的要求推動了算法的設計,基礎算法以分層為主,分多個cell預計算求最短路徑,cell根據路網結構進行partition,針對權重進行update。在硬件基礎方面,在大內存的基礎上,支持多核併發,以及cache優化。
4.數據挖掘
現實生活中有很多路徑的信息,怎樣從時空大數據中挖掘到所需要的具體信息?其中,具體需要挖掘的信息包括POI,新增道路,事故和擁擠等。
時空大數據挖掘挑戰:
現實生活中的數據挖掘會遇到諸多挑戰,如軌跡不準確,行為複雜,時效性要求較高等。目前,通過多源信息融和,藉助時空模型如RNN,LSTM,CTC,TCN,GCN等,進行特定模型改進,可以支持閉環與數據迴流。
POI過期挖掘案例:POI過期挖掘的業務特點是對空間拓撲的刻畫,對多源特徵的融和。此時可通過Wide&Deep的模型,Wide部分處理POI靜態特徵,Deep部分處理時序流量特徵。高德在這方面也經歷了多種模型的演化,從最開始的RNN到DeepTCN,可以更好的挖掘到POI過期信息。
道路新增挖掘案例:道路新增問題除了要對具體的問題進行算法的設計之外,如不同zoom的軌跡特徵,mean shift軌跡取種子點,principle curve曲線等,還需要能夠容錯,通過概率模型解決短路,連通路等精細化場景。此外,通過CNN端到端模型,收集熱力和衛星影像刻畫空間信息,通過軌跡和路網連通性刻畫駕駛行為。
三、用算法創造出行未來
1. 高精地圖
高精地圖是自動駕駛的基礎。它對精度要求非常高,反映真實世界,無論對道路,車道,還是周圍的信息進行完備和準確的刻畫。高德對位置的準確性要求是10cm以內。收集到高精地圖資料後需要解決以下幾點問題。
高精地圖挑戰:
(1)資料對齊問題:即使高精采集車精度很高,但誤差還是在1 m以上,通過對多次採集資料進行對齊,得到5cm以內的精準度。此外,還需要對植被影響等多種場景進行處理,同時保持軌跡的剛性,針對上下行觀測角度不同,點雲的不同,前端需要匹配ICP,語義,特徵和形狀,然後在後臺對對齊的信息進行大規模的拉齊和平滑。
(2)識別:道路中很多物體需要進行識別,如車道線,路邊緣,地面標識,以及OBJ對象包括杆,牌和橋等。識別的精度需要達到99+%的召回率,精度在10cm以內,但基於場景的變化,訓練的樣本非常有限。高德通過點雲與圖像算法的融和,及深度學習和傳統算法的結合,複用常規地圖中的額數據和模型,利用先驗信息支持數據的迴流和模型的的迭代。
(3)從高速到城市:上面的問題在高速道路上不是很嚴重,但在城市場景中,道路路型呈網狀結構,包括高速、幹道、小路等各種等級道路。此外,標識種類繁多,標識複雜多變,場景複雜多變,擁堵和遮擋。
2. 視覺定位(GPS)
在城市峽谷中經常與遇到定位不準的問題。下圖中右側紅色部分是真實的位置,黃色是GPS定位的位置,可以發現偏離問題還是比較明顯的。
視覺定位方法可以輔助解決定位不准問題。目前,手機上都有相機,越來越多的車也都配有相機。我們考慮利用圖像和視頻技術,建立一個通用的視覺方法來定位室內和室外的車和人。具體而言,有幾種技術選擇。SLAM/VIO是定位相對位置的方法。對於絕對位置的定位可通過三位重建稀疏特徵+PnP的方法,得到比較精準的結果。還有一種方法是矢量地圖+實時監測算法,對牌、線等對象進行檢測,這類算法對計算算力和精度要求比較高。在此之外,高德也正在探索深度學習的方法,可以在精度和魯棒性之間進行平衡。
如給到一張圖片,希望得到其位置和角度。此時需要一個已知位置的參考圖像,再結合實時圖像,在全路網,全天候的條件下得到高效(毫秒級)的定位效果。
3.AR導航
如何將導航體驗做的更好?尤其在現實世界中會遇到很多複雜的場景。高德希望將導航做到所見即所得的效果,傳統導航更多提供下圖中左側的兩類圖像。但更好的方式可能是下圖右側圖像,通過AR的方式提升導航體驗。
高德在2019年4月份發佈了AR導航產品,下圖展示了AR導航所提供的導航視圖。道通過綠色路線進行指引,在拐彎處指示該如何轉彎。此外,還有與前車距離的檢測和碰撞預警功能,以及還在逐步更新的安全輔助駕駛功能。
與目前的自動駕駛技術不同的是,AR導航希望通過輕量級的手段解決技術難題。高德目前單相機傳感器,1/5手機芯片的計算性能就能夠達到較好的導航效果。
AR導航車輛檢測案例:如下圖需要檢測前方車輛。為了高效的檢測前方車輛,需要進行模型壓縮,使用先驗尺度,進行模型的訓練優化。此外,在檢測的基礎上,進行實時的軌跡跟蹤。
AR導航車道線分割案例:車道線檢測與車輛檢測同理,首先進行模型壓縮,根據多任務模型,將多種目標檢測算法融和起來,提高模型的複用。再進行模型訓練優化,曲線擬合,將檢測和跟蹤進行結合。
AR導航引導線案例:AR導航視圖中引導線是基於語義分割和迴歸模型的基礎上,與傳統的GPS導航進行融和,以提升模型效果。
下圖中展示了目前高德AR導航的實際效果。AR導航可以實時預警前方的路過的行人,還可以對馬路對面的變燈進行提醒。