Apollo进阶课程㊸丨Apollo实战——障碍物感知和路径规划能力实战
原文鏈接;進階課程?丨Apollo實戰——障礙物感知和路徑規劃能力實戰?
環境感知在自動駕駛汽車應用中占據了核心地位。一輛車要實現自動駕駛,障礙物感知是最基礎也是最核心的功能。
上周阿波君為大家詳細介紹了「進階課程?丨Apollo實戰——車輛與循跡駕駛能力實戰」。
此課程主要介紹了在搭建完自動駕駛車輛的軟、硬件環境以后,通常采用循跡測試進行驗證,以及進行驗證的步驟有:第一步是要實現一個適配層;第二步是Can卡的管理;第三步是控制模塊。
本周阿波君將繼續與大家分享Apollo實戰——障礙物感知和路徑規劃能力實戰的相關課程(本節課程基于Apollo 3.0版本)。下面,我們一起進入進階課程第43期。
相比于最基本的Apollo 1.0版本,Apollo 2.0版增加的主要功能模塊是感知和規劃。首先,我們回顧Apollo的感知模塊。每種傳感器都有自己的優勢和劣勢,如圖1所示。從圖中可以看出沒有一種設備可以滿足所有的場景,只有將各種設備融合在一起才能達到相對穩定感知結果。也就是從Apollo 2.0開始,我們開始使用多傳感器融合的方式做感知。多傳感器融合需要對不同的傳感器進行標定。
???????????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ????????????????圖1 Apollo中感知模塊涉及傳感器的屬性列表
感知的核心功能是進行障礙物的識別、分類、語義分析和障礙跟蹤,如圖2所示。
???????????????????????????????????????????????????????????????????????????????????????????????圖2 感知模塊的主要功能
規劃的目的是告訴車輛按一條什么樣的路經行駛,其代碼邏輯如圖3所示。頂層左邊部分是規劃的容器。它有幾個核心元素:參考線、高精地圖、規劃器Planner、軌跡發布。
?????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ? ? ? ????????????????圖3 規劃模塊的邏輯結構
在根據教程搭建了具備感知和規劃能力的平臺之后,開發者更希望根據自己的場景進行深度定制。為加速研發過程,百度提出了“云+端”的研發迭代模式,所謂的“云”大家都能理解, “端”指的是車輛端,如圖4所示。
?????????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖4 百度提供的云+端的研發迭代環境
大概的流程是首先從車輛路測中積累海量的數據,將積累的數據傳遞到云端,然后利用云端服務器集群的強大計算能力去生成深度學習模型,并在云端做回歸測試。最后將經過驗證的模型更新到車輛上,賦予它新的迭代能力。
一般來說,我們將數據分為幾類,如圖5所示。
????????????????????????????????????????????????????????????????????????????? ?????????????????圖5 自動駕駛數據分類
原始數據,各種傳感器、車輛、駕駛員行為等。數據種類繁多,維度不同,數據量大,而且大多是非結構化數據,對于存儲、傳輸、處理提出非常大的挑戰。
標注數據,視覺的2D障礙物數據、紅綠燈數據、3D點云數據等。
邏輯數據,包括完美感知、環境的抽象以及車輛動力學模型等。
仿真數據,包括參數模糊化數據、三維重建數據等。
Apollo建立了一個數據平臺,對數據的采集、存儲、使用進行管理,其基本功能如圖6所示。
??????????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ?????????????????圖6 Apollo的數據管理平臺
首先我們通過data recorder工具按預先定義的格式生成數據,利用云端的傳輸機制將數據快速傳遞到云端。其次,我們構建了一個自動駕駛數據倉庫,將海量數據成體系地組織在一起,可以快速搜索,靈活使用。最后,云端擁有基于異構系統的自動駕駛的計算平臺,提供強大的計算能力。
當前,Apollo開放了六類訓練數據,如圖7所示。
????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ? ? ? ?????????????????圖7 Apollo開放的數據
2D紅綠燈,用來識別交叉路口紅綠燈數據,可以用做訓練、測試和驗證。
2D障礙物,比如車輛、行人、自行車,還有其他未知類別的圖像數據。
3D障礙物,其實是激光雷達點云。
端到端的數據,提供適合end-to-end模塊的數據。
場景解析,像素級的語義標注,比如車輛、背景、交通指示牌、障礙物等,可以用來做整體環境的識別。
障礙物預測,用來訓練預測算法的數據集。
此外,Apollo還發布了一個叫Apollo Scape的學術性項目。Apollo Scape開放的數據在量級、復雜程度和精度方面都比業界有名的Kitty、citi scapes大一個數量級,目的是推動整個自動駕駛行業的發展,如圖8所示。
??????????????????????????????????????????????????????????????????????? ? ? ? ?????????????????圖8 Apollo scape項目
Apollo在云端提供了與車端一致的硬件計算能力,如圖9所示。該計算平臺基于Docker和GPU的集群構建,并且部署了PaddlePaddle、TensorFlow、 Caffe 等主流深度學習框架。此外,還有一個可視化展現平臺,供大家了解結果。
??????????????????????????????????????????????????????????????????????????????????????????????????????????????圖9 Apollo訓練平臺
最后我們再來回歸一下開發的流程。
作為一個開發者,開發流程從本地開始,本地開發之后可以通過Docker鏡像傳到云端。然后在云端的計算環境中,通過調度云端的計算資源去訓練算法,通過數據接口層調用六大類數據進行訓練。
之后可以通過數據集驗證算法的效果。依此不斷迭代,直接在云端完成算法訓練,提升整體的效率,如圖10所示。
???????????????????????????????????????????????????????????????????? ? ? ? ? ? ????????????????圖10 基于云+端的迭代開發流程
總結
以上是生活随笔為你收集整理的Apollo进阶课程㊸丨Apollo实战——障碍物感知和路径规划能力实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pyecharts简单使用
- 下一篇: plguni.exe是什么进程 plgu