摘要:地平線基于邊緣計算的眾包高精度地圖解決方案是基于地平線自研芯片--征程的快速處理及計算能力,在已量產自動駕駛計算平臺Matrix上,將強大的視覺感知和建圖能力結合在一起,從而在邊緣處利用SLAM技術實現高精度地圖的創建,并利用眾包技術實現地圖信息的實時更新??偟膩碚fNavNet就是利用深度學習和同步建圖及定位技術結合實現高精建圖定位系統。
關鍵詞:邊緣計算;眾包;高精度地圖;建圖;定位;深度學習;SLAM
Abstract: Horizon's crowd-based high-precision map solution based on edge computing is based on the self-developed chip of the horizon-the fast processing and computing power of the journey. It combines powerful visual perception and mapping capabilities on the mass-produced autopilot computing platform Matrix. Together, the SLAM technology is used to achieve high-precision map creation at the edge, and crowd-source technology is used to realize real-time update of map information. In general, NavNet uses a combination of deep learning and simultaneous mapping and positioning technology to achieve a high-precision mapping system.
Key words: Edge computing; Crowdsourcing; High precision map; Mapping; Positioning; Deep learning; SLAM
1 背景介紹
隨著人工智能的興起,汽車行業也發生了翻天覆地的變化,互聯網巨頭和傳統汽車行業投入了大量的人力與物力來參與自動駕駛相關技術研發與落地。高精度地圖作為自動駕駛汽車必不可少的一個環節,它可以幫助自動駕駛汽車預先感知道路的復雜信息,并提供實時高精度的自車定位,結合智能路徑規劃,讓汽車做出正確決策。但是高精度地圖的實時建圖、更新和定位卻是個巨大的工業障礙,傳統方式多以地面信息采集車前往全國各地采集信息,再去處理和補充地圖數據,做成圖后再為用戶端發送更新包,用戶在終端完成數據的更新才能實現一次地圖數據的更新。這樣的地圖更新過程繁瑣且亙長,無法滿足自動駕駛車輛對地圖更新和定位的要求,高精度地圖要求車輛位置偏差小于10厘米,且可以反應實時路況信息,這對于地圖的更新提出了更高的要求。更重要的是,數據的傳輸時延問題如何解決?高精地圖計算量巨大,難道每輛車要背一個電腦么?當然不可以。而且隨著自動駕駛級別的提高,自動駕駛技術上對高精地圖的更新頻率和覆蓋范圍也提出了極高的要求,需要海量的地圖采集設備來支撐高精地圖的大規??焖俑?,因此“眾包”的概念應運而生。
2 解決方案
NavNet視覺眾包地圖與定位解決方案把地圖更新所需的數據采集任務交給道路上的普通車輛而非專業采集車輛,賦能高精地圖眾包更新,將建圖與定位計算全部在邊緣完成,輸出局部三維語義地圖,既可與已有高精地圖匹配進行定位,也可用于眾包地圖更新和高級駕駛輔助的高精度定位。
3 技術路線及方法
地平線憑借出色的感知算法加持,在自主研發的AI芯片(征程)上實現基于邊緣計算的自動駕駛高精度地圖建圖與定位的解決方案--NavNet。NavNet視覺眾包地圖解決方案,僅需一顆前視攝像頭,運用深度學習和SLAM技術實現了道路場景的語義三維重建,將建圖與定位的過程全部在車端實時進行。車輛通過前視攝像頭捕捉即時交通信息,然后抽象出道路場景的特征(即實現場景語義三維重建),并直接在車端完成地圖“繪制”與定位。
在這一過程中,NavNet主要完成以下工作流程:
(1)采集:通過攝像頭、IMU、GNSS、CAN等傳感器系統采集數據(路況)信息;
(2)分析:將深度學習與SLAM技術結合,加入圖像語義分割、語義地圖構建等語義信息;
(3)建圖:通過視覺SLAM技術,建立3D高精地圖;
(4)融合:將建圖片段融合優化,提升地圖完整和準確性;
(5)定位:通過車體定位與建圖結果匹配,完成車輛高精度定位;
(6)生成:將建圖與定位的數據結果加密后傳送到云端數據庫,解碼后與全局地圖匹配融合。
圖1 NavNet架構圖
(1)采集
在NavNet解決方案中,路況信息的采集通過幾項相關的傳感器來實現——攝像頭,GNSS(Global Navigation Satellite System,全球導航衛星系統)和IMU(Inertial measurementunit,慣性測量單元)。當然除此之外,許多傳感器設備的運行也離不開CAN總線的幫助。攝像頭,用于采集信息,用來實現感知處理和實時建圖定位;IMU+GNSS+CAN總線,用來實現車體自定位,主要用于確定車輛所處的大致位置。除了傳感器的加持,處理過程也離不開算法平臺的支持,在NavNet解決方案中算法模型所使用的模型平臺--Matrix,該平臺是基于地平線征程芯片的一款能夠直接運行神經網絡并實現圖像視頻的即時分割、檢測和識別等功能的感知計算智能硬件設備平臺,該平臺設備可以根據攝像頭搜集到的信息,將搜集到的視覺感知其數據進行處理與解析,輸出解析之后的感知數據及結果。
NavNet眾包高精地圖解決方案利用Matrix感知計算平臺,得到攝像頭采集并處理之后的感知數據,用于之后車輛的分析與決策使用,而各項傳感器實現車體自定位,則是對于車輛位置的大致判斷,主要因為自定位技術的誤差大,無法滿足高精地圖的要求,因此NavNet利用車體自定位技術+攝像頭感知局部定位技術來完成數據的分析和車輛的高精定位。
(2)分析
地平線征程系列芯片,性能優且支持神經網絡加速,在數據分析方面更多的是將深度學習與SLAM(simultaneous localization andmapping,即時定位與地圖構建,讓機器人在未知環境與位置中邊移動邊繪出地圖)技術相結合的方式。采用這樣的方法也是依仗深度學習在視覺數據分析與處理方面的優勢,并結合機器人建圖的方法以實現高精地圖的實時創建,兩種方法相結合的分析方式主要分為三種:
分析方法一:用深度學習方法替換傳統SLAM中的一個或多個模塊(如特征點提取,位姿估計,重定位等方面);
分析方法二:在傳統SLAM中加入語義信息(如圖像語義分割,語義地圖構建等方面);
分析方法三:端到端SLAM,即輸入為圖像信息,輸出則是動作信息。準確來說這一分析方法更接近于深度強化學習算法,即給定所處環境(可以理解為圖像信息)和所要到達的目的地,以及完成任務后可以得到的獎勵(reward),智能體需要自主學習相關信息,最終輸出行為信息,并根據行為信息的反饋得到自己的獎勵。
(3)建圖
在地圖創建方面,傳統的高精地圖創建主要依靠激光雷達等傳感器,得到其點云感知數據,最后形成矢量地圖。但是激光雷達價格昂貴,每輛車都配備非常好的激光雷達,其成本可想而知。當然,建立高精度地圖并不是只有這一種方法。地平線NavNet采用的是通過單目攝像頭建立3D高精地圖,所采用的技術即為視覺SLAM(v-SLAM)技術,其技術框架主要包括VO(Visual Odometry,視覺里程計)、后端以及回環檢測。
目前階段,地平線NavNet更多地采用分析方法二,或者說通過語義SLAM的方式來實現高精度地圖的創建。不過,隨著時間的推移和產品迭代,地平線NavNet的技術也在日益成熟,其技術方式也在發生改進。這里,實現建圖的技術方式又分為三種:
實現方式1:通過語義分割+點云重建+參數化來創建矢量地圖;
實現方式2:通過語義分割檢測+語義重建來創建矢量地圖,這是對方式1的整合與精簡,將后端優化、語義識別和參數化等方面和鏈路,融合成為一條優化模塊——聯合優化模塊,既簡化了工作的流程,節約時間和運算能耗,又可以實現同樣的功能。這是地平線NavNet目前采用的方式。
圖2 地平線算法結構
實現方式3:完全利用深度學習來創建矢量地圖。這是NavNet最終的技術目標,這種方法下的計算量將更小,直接成圖得到結果。實質上,它與上述分析方法三的思路和初衷都不謀而合。
(4)融合
在NavNet方案中,地平線提供云端地圖融合優化參考設計,其能夠自動將大量車輛采集的地圖片段數據進行關聯匹配,以矢量地圖要素的屬性參數為變量,根據屬性的相似度約束建立統一的目標函數,優化求解以獲得融合地圖結果。這一融合優化過程既可以定時全量執行,也可以根據地圖更新的結論,經過事件觸發進行高效融合之后,提供更新、更精準的地圖信息,即可快速地發布到車端供車輛定位導航使用。
圖3 NavNet地圖更新模式
NavNet方案在邊緣側可以進行地圖要素的更新識別,甚至是更新量的計算,在邊緣側進行地圖更新的好處在于,可以自動應對部分場景及地圖的變化,完成符合交通規則和舒適性安全性要求的決策,即利用AI芯片的算力實現更好的邊緣智能。選擇在云端進行數據融合則是因為云端的存儲量大,更適合進行數據融合,與傳統地圖相比,高精地圖的圖層數量更多,圖層內容更加精細,因此它的數據量也是驚人的多,因此,在云端進行數據的存儲和融合是最優的選擇。
(5)定位
NavNet定位是通過車體的自定位,得到自動駕駛車輛的大致位置,再通過NavNet實時建圖產生的結果,在附近區域內將局部地圖信息與全局高精度地圖做數據匹配,從而得到自動駕駛車輛當前的高精度位置信息及其周邊環境的語義信息,得到相似性最高的匹配結果即視為當前車輛的位置信息。
NavNet解決方案中,車體自定位主要依賴于GPS+底盤輪速計+其他傳感器的方式實現:首先,利用GPS定位系統,可首先確定自動駕駛車輛當前處在哪條道路上(該偏差一般在5~10米);隨后,根據攝像頭建圖的語義信息,檢測的車道線(虛、實線)及道路邊緣(路沿或護欄),并與高精地圖提供的車道線及道路邊緣做比對,進一步修正無人車的橫向定位;最后,根據建圖的路面標志、交通標志牌、紅綠燈等環境語義信息,與高精地圖提供的要素做匹配,實現無人車縱向定位的修正,確定無人車當前的位置信息及周邊環境,這一過程也稱為語義定位技術。
圖4 車體自定位技術
而NavNet同時采用語義定位技術,輔助車輛實現更加準確,精度更高的定位。語義定位技術主要依靠攝像頭采集當前路況信息,將接受到的圖像信息進行數學轉換,形成3D結構的道路信息模型,將道路模型生成圖像視角的點云信息模型,與此同時,采集的圖像信息也會生成直觀的道路信息模型,道路信息模型與點云信息模型做匹配,根據匹配結果確定是否當前局部信息與全局信息相吻合,從而確定當前的位置信息,實現無人車的高精度定位。語義定位與車體自定位相輔相成,根據車體自定位的范圍可以減少語義定位的范圍,節約算力,使得定位更高效,更準確。
圖5 語義定位技術
(6)生成
NavNet中建圖與定位后的數據及結果會通過加密芯片的加密再輸出,最終將加密數據安全的傳送到云端數據庫中,圖商可以在云端進行解碼;眾包產生的局部地圖信息的更新將會與圖商的全局地圖進行匹配與融合,最終完成局部地圖與全局地圖的更新和再加工,實現自動駕駛精確定位和導航的需求。
當然,在數據的云端,數據的優化融合、質量驗證等處理和管理都會做到安全保密和準確無偏。作為國內首款眾包高精度地圖建圖與更新的產品,NavNet最重視的就是地圖數據安全。NavNet利用邊緣計算技術,將局部地圖的創建放置在邊緣處完成,而最終建好的局部地圖與相應的語義信息,都會經過加密芯片的加密,之后傳輸到云端服務器當中。
4 實現結果
利用深度學習與SLAM技術,NavNet最終實現高精度地圖的建立,用戶可以只利用一款產品即可實現自動駕駛高精度地圖的創建與實時更新。最終,高精度地圖的呈現形式如圖6所示,比點云更簡單的3D結構模型,助力高精度地圖的創建與更新。
圖6 NavNet建圖結果
5 總結與展望
邊緣計算是真正能夠達到實時處理的技術方法,其最大的優勢是可靠性高、安全及隱私性高、傳輸成本低、實時性好、高效協同這五個方面。NavNet就很好地發揮并利用了邊緣計算的這些優點,做到了以下幾點:
安全:端上建圖,端上處理,端上加密,不受網絡攻擊等問題的困擾;
高效:征程芯片數據處理能力強,數據的處理效率高;
快捷:邊緣計算為地圖賦能,實時性高,低時延,不受網絡傳輸的困擾;
方便:車規級產品,易于攜帶存放,眾包方式更新產品及其性能。
地平線憑借世界領先的視覺環境感知算法,與專屬定制AI芯片相結合,通過軟硬件協同優化設計,針對中國交通特色進行場景化研發,最終能同時處理地上地下、復雜路況的場景,并進行顆粒度、結構化的語義感知,為汽車打造自動駕駛大腦。
作者簡介:
楊明珠(1994-),女,遼寧丹東人,碩士在讀,現就職于北京地平線信息技術有限公司,研究方向是強化學習自動駕駛決策。
摘自《自動化博覽》2019年9月刊