百度Apollo開放平臺(tái)自上線以來(lái)始終保持著創(chuàng)新和高頻的自我迭代,從最開始聚焦于基礎(chǔ)能力的搭建,走向側(cè)重場(chǎng)景能力的發(fā)展,再升級(jí)為對(duì)平臺(tái)工程易用性精益求精的追求。2022年12月28日,Apollo開放平臺(tái)面向所有開發(fā)者,正式推出了Apollo自動(dòng)駕駛開放平臺(tái)的全新升級(jí)版本——Apollo 8.0,進(jìn)一步夯實(shí)了平臺(tái)的易用性,讓開發(fā)者操作更簡(jiǎn)單易上手。
Apollo 8.0版本在以下幾個(gè)功能點(diǎn)做出升級(jí):
一、軟件包管理
在最新的8.0版本中,我們重新整理了模塊之間的依賴并引入了軟件包的概念來(lái)管理和發(fā)布各個(gè)模塊,優(yōu)化了下載安裝中出現(xiàn)的下載量大、無(wú)法按需使用、編譯時(shí)間過(guò)長(zhǎng)等問(wèn)題,并在這個(gè)基礎(chǔ)上更新發(fā)布了基于應(yīng)用場(chǎng)景的擴(kuò)展方案讓更多開發(fā)者更好更快的使用Apollo。 (*關(guān)于【軟件包管理】:包管理既將Apollo的編譯產(chǎn)出按照“模塊化”粒度進(jìn)行規(guī)范化組織。一方面支持直接使用產(chǎn)出包的方式直接使用組件;另一方面規(guī)范組件的依賴關(guān)系以及組件的粒度,從而降低組件的使用/復(fù)用難度,提升自動(dòng)駕駛系統(tǒng)的研發(fā)效率。詳細(xì)規(guī)范介紹可以參考文檔 Introduce to Package of Apollo。)
1、更清晰的模塊結(jié)構(gòu),降低學(xué)習(xí)門檻
相較于以往Apollo里各個(gè)模塊間的依賴關(guān)系錯(cuò)綜復(fù)雜,開發(fā)者要想了解和學(xué)習(xí)Apollo往往容易陷入代碼閱讀的困難中。在Apollo 8.0中,我們將Apollo各個(gè)模塊進(jìn)行重新梳理,去掉了不合理的依賴關(guān)系,整合了通用的模塊,使Apollo整體結(jié)構(gòu)更清晰簡(jiǎn)潔。此外,我們將各個(gè)模塊依賴關(guān)系的明確聲明放在包的描述文件(cyberfile.xml)中,方便開發(fā)者統(tǒng)一查看。同時(shí),我們也提供了快速查看工具,方便開發(fā)者了解學(xué)習(xí)相關(guān)代碼,整體降低開發(fā)者的學(xué)習(xí)門檻。
2、更快速的部署方式,提升編譯效率
以往開發(fā)者安裝Apollo都需要下載源碼再全量編譯才能完成整個(gè)部署,這個(gè)過(guò)程環(huán)節(jié)多耗時(shí)長(zhǎng),往往需要天級(jí)別的時(shí)間,且失敗率高,成為開發(fā)者使用Apollo的第一道門檻。為了提升開發(fā)者編譯效率,我們?cè)贏pollo 8.0引入了包管理的概念,在模塊化的基礎(chǔ)上對(duì)Apollo各個(gè)模塊作了預(yù)編譯和發(fā)布,并提供更細(xì)粒度的包以方便開發(fā)者按需獲取和使用。無(wú)論開發(fā)者是想快速體驗(yàn)或是快速使用Apollo,都可以直接通過(guò)我們提供的工具快速安裝部署,整個(gè)過(guò)程耗時(shí)縮短至30分鐘內(nèi)即可完成,大大減少了下載和編譯的時(shí)間。 ?
3、更便捷的擴(kuò)展方案,方便二次擴(kuò)展、驗(yàn)證及實(shí)踐
以擴(kuò)展修改Planning模塊為例( Demo 工程的代碼可參考 https://github.com/ApolloAuto/application-demo ),只需創(chuàng)建如下示例聲明文件(Planning以源碼形式安裝),再執(zhí)行編譯指令即可將Planning源碼安裝到工作空間當(dāng)中,同時(shí)也會(huì)將Planning調(diào)試相關(guān)必要模塊以二進(jìn)制包的形式安裝。然后我們便可以直接修改工作空間下的Planning源碼、編譯、調(diào)試,從而構(gòu)建出適用于所需場(chǎng)景的Planning模塊。而構(gòu)建一個(gè)完整的端到端自動(dòng)駕駛軟件系統(tǒng),也只需要在上述基礎(chǔ)上再添加相應(yīng)的模塊即可,如Perception、Prediction、Control等。
更多場(chǎng)景的示例可以參考文檔 Apollo 8.0 Quick Start。 ?
二、感知框架
為了幫助開發(fā)者更好的提升感知模塊的開發(fā)效率,在Apollo 8.0版本中,我們提供了一套完整的端到端自動(dòng)駕駛感知開發(fā)流程,在數(shù)據(jù)、模型、框架和驗(yàn)證4個(gè)主要環(huán)節(jié)都做了提升,同時(shí)迭代優(yōu)化了任務(wù)流程和工具,幫助開發(fā)者快速實(shí)現(xiàn)自動(dòng)駕駛感知的開發(fā)、部署和驗(yàn)證,提高感知開發(fā)效率。
1、清晰的任務(wù)流水線,多樣的算法插件
在8.0感知框架中,開發(fā)者可以根據(jù)不同的感知任務(wù)類型來(lái)創(chuàng)建對(duì)應(yīng)的流水線,并通過(guò)配置文件來(lái)定義流水線任務(wù)。相比以前,每個(gè)任務(wù)的運(yùn)行流程更加清晰,同時(shí)還方便進(jìn)行擴(kuò)展。此外,開發(fā)者還可以根據(jù)需要選擇不同的算法插件,比如Apollo感知模塊提供4種檢測(cè)器,開發(fā)者可以根據(jù)配置文件,選擇不同的檢測(cè)器,來(lái)驗(yàn)證檢測(cè)效果,通過(guò)算法插件,算法工程師更加專注于算法本身,而不需要過(guò)多關(guān)注框架的實(shí)現(xiàn)。
2、全新的模型訓(xùn)練,易用的深度學(xué)習(xí)模型
此次Apollo 8.0中,Apollo聯(lián)合Paddle3D提供了端到端的自動(dòng)駕駛模型開發(fā)解決方案,覆蓋了從自動(dòng)駕駛數(shù)據(jù)集到模型訓(xùn)練、模型評(píng)估和模型導(dǎo)出的算法開發(fā)全流程。 對(duì)自動(dòng)駕駛駕駛中,開發(fā)者比較關(guān)心的3D目標(biāo)檢測(cè)任務(wù)和分割任務(wù),Apollo提供了最新SOTA的算法模型實(shí)現(xiàn),包括單目相機(jī)檢測(cè),激光雷達(dá)點(diǎn)云目標(biāo)檢測(cè)和多模態(tài)的目標(biāo)檢測(cè)模型,開發(fā)者開箱即用,不需要再苦于自己復(fù)現(xiàn)模型。同時(shí),我們還提供模型的Benchmark,包括速度、精度等指標(biāo)以及預(yù)訓(xùn)練好的模型。開發(fā)者可以實(shí)時(shí)跟蹤最新的3D目標(biāo)檢測(cè)和分割模型實(shí)現(xiàn),保持自動(dòng)駕駛感知算法上的先進(jìn)性。
Apollo 8.0感知模型中,已引入了3個(gè)深度學(xué)習(xí)模型:
PETR:目前自動(dòng)駕駛方向中視覺BEV領(lǐng)域中的代表性模型,模型創(chuàng)新性地將3D坐標(biāo)信息與圖像特征相融合,借助Transfomer的結(jié)構(gòu)進(jìn)行端到端的3D目標(biāo)檢測(cè),實(shí)現(xiàn)了基于視覺的360°障礙物感知,模型整體架構(gòu)設(shè)計(jì)簡(jiǎn)潔,在速度和精度之間取得了很好的tradeoff,在nuScenes上精度達(dá)到了43.52 NDS, 38.35mAP。
CenterPoint:點(diǎn)云檢測(cè)方向的前沿模型,該模型是Anchor-Free的三維物體檢測(cè)器,基于關(guān)鍵點(diǎn)檢測(cè)的方式回歸物體的尺寸、方向和速度。相比于Anchor-Based的三維物體檢測(cè)器,CenterPoint不需要人為設(shè)定Anchor尺寸,面向物體尺寸多樣不一的場(chǎng)景時(shí)其精度表現(xiàn)更高。模型的結(jié)構(gòu)設(shè)計(jì)簡(jiǎn)單而高效,在nuScenes上精度達(dá)到了61.30 NDS,50.97mAP。
CaDDN:基于單目3D檢測(cè)的前沿模型,針對(duì)于單張圖像預(yù)測(cè)3D物體的病態(tài)問(wèn)題,CaDDN創(chuàng)新性地提出了使用每個(gè)像素的預(yù)測(cè)分類深度分布,將豐富的上下文特征信息投射到3D空間中適當(dāng)深度區(qū)間的解決方案,并使用計(jì)算效率高的鳥瞰投影和單級(jí)檢測(cè)器來(lái)生成最終的輸出包圍框,將單目3D的模型指標(biāo)提到了一個(gè)新的高度,在KITTI數(shù)據(jù)中達(dá)到了較高的精度指標(biāo)(Car類別3D AP 21.45 14.36 12.57)。
3、高效的模型管理,便捷的模型驗(yàn)證
為了更方便快捷的將訓(xùn)練好的模型部署到Apollo系統(tǒng)中,在此次Apollo 8.0中我們引入了模型Meta和模型管理。其中模型Meta中包含了模型的基本信息,如名稱、任務(wù)類型、傳感器類型、框架和訓(xùn)練所需的數(shù)據(jù)集,同時(shí)還包含了模型的標(biāo)準(zhǔn)輸入、輸入、前后處理、模型文件存放的路徑等。同時(shí),Apollo還提供模型管理工具,開發(fā)者可以通過(guò)該工具下載安裝模型倉(cāng)庫(kù)中的模型,展示系統(tǒng)中已經(jīng)安裝的模型和模型的詳細(xì)信息。通過(guò)對(duì)模型進(jìn)行標(biāo)準(zhǔn)化和模型管理工具,開發(fā)者可以非常方便的安裝部署訓(xùn)練好的模型,并且管理這些模型,實(shí)現(xiàn)模型部署效率提升。
此外,在感知模型驗(yàn)證中,我們提供了基于數(shù)據(jù)集的數(shù)據(jù)包(record文件),方便開發(fā)者直接基于數(shù)據(jù)集的數(shù)據(jù)來(lái)在線驗(yàn)證模型的檢測(cè)效果,保證訓(xùn)練和部署是同一套基線,快速測(cè)試模型性能。除了提供測(cè)試數(shù)據(jù)包之外,Apollo 8.0還提供了可視化工具鏈,通過(guò)可視化的圖形界面,展示傳感器的原始數(shù)據(jù)和目標(biāo)檢測(cè)結(jié)果,方便開發(fā)者查看模型檢測(cè)效果,調(diào)試感知模型。
三、工具鏈
為進(jìn)一步滿足自動(dòng)駕駛開發(fā)流程需求,提升開發(fā)者研發(fā)效率,在Apollo 8.0版本中,我們結(jié)合開發(fā)者的痛點(diǎn)和訴求,提供了更全面、更易用的工具鏈,加速開發(fā)者研發(fā)進(jìn)程,更好更快的上手Apollo。
1、全新完善的PnC工具鏈
(1)支持本地PnC仿真:Apollo 8.0提供了PnC仿真測(cè)試的本地調(diào)試功能,開發(fā)者在本地通過(guò)Dreamview的仿真器便可模擬車輛行駛以及再現(xiàn)各種場(chǎng)景。
(2)支持云端場(chǎng)景創(chuàng)建和管理:Apollo Studio提供了云端仿真場(chǎng)景管理的功能,開發(fā)者可以自由創(chuàng)建符合自己測(cè)試仿真需求的場(chǎng)景及障礙物,并針對(duì)場(chǎng)景可以進(jìn)行分類和管理; (3)支持一鍵下載:在Apollo 8.0中,Dreamview中引入了Studio插件,通過(guò)插件開發(fā)者可以將Studio中的場(chǎng)景和動(dòng)力學(xué)模型下載本地,PnC調(diào)試效率提升一倍以上。
2、便捷的感知結(jié)果可視化工具
Apollo 8.0為感知模塊提供了感知結(jié)果可視化工具,支持了將Lidar、Camera檢測(cè)結(jié)果的原始數(shù)據(jù)和Boundingbox同時(shí)進(jìn)行可視化顯示,方便開發(fā)者及時(shí)在本地查看調(diào)試模型檢測(cè)效果。
?
3、Dreamview 配置中心
作為常用資源,為了方便開發(fā)者的使用和觸達(dá),在Apollo 8.0中我們將數(shù)據(jù)包、場(chǎng)景集、動(dòng)力學(xué)模型集成到Dreamview 配置中心,開發(fā)者可以通過(guò)配置中心下載數(shù)據(jù)包、場(chǎng)景集和動(dòng)力學(xué)模型,無(wú)需在本地終端wget拉取,大大降低新手開發(fā)者的上手成本。 在8.0中,我們提供2個(gè)典型數(shù)據(jù)包demo_3.5和sensor_rgb,包含了較全面的channel消息,方便開發(fā)者查看感知效果和PnC效果。
四、文檔
為了讓更多新手開發(fā)者能夠快速上手學(xué)習(xí)Apollo,同時(shí)讓更多資深開發(fā)者能夠快速便捷的找到與自己相關(guān)的模塊源碼解析,在Apollo 8.0版本中,我們將Apollo Github和Apollo社區(qū)官網(wǎng)的技術(shù)文檔進(jìn)行了優(yōu)化重構(gòu)。
1、更清晰的Apollo Github開源文檔
Apollo Github開源文檔,主要為想要研究源碼、進(jìn)行擴(kuò)展開發(fā)的資深開發(fā)者提供詳細(xì)的源碼解讀。相較以往的Github文檔分類較為模糊,開發(fā)者較難找到自己需要的文檔。在8.0版本中,我們將Apollo Github文檔結(jié)構(gòu)進(jìn)行了重構(gòu),將原來(lái)的文檔按照自動(dòng)駕駛模塊進(jìn)行分類,開發(fā)者可以根據(jù)自己想要了解的模塊【Installation Instructions】【Quick Start】【CyberRT】【Localization】【Perception】【Prediction】【Planning】【Decider】【Control】等直接進(jìn)入查找。
Github文檔地址: https://github.com/ApolloAuto/apollo/tree/master/docs
2、更全面的Apollo社區(qū)官網(wǎng)文檔
Apollo社區(qū)官網(wǎng)文檔,主要為新手開發(fā)者提供Apollo相關(guān)介紹、以及上機(jī)場(chǎng)景和上車場(chǎng)景的實(shí)踐說(shuō)明,讓新手開發(fā)者能快速了解Apollo并上手實(shí)操。在8.0中,我們優(yōu)化了社區(qū)官網(wǎng)文檔的結(jié)構(gòu),從開發(fā)者使用場(chǎng)景出發(fā),針對(duì)不同場(chǎng)景提供應(yīng)用實(shí)踐案例指導(dǎo)以及擴(kuò)展開發(fā)指導(dǎo)。
Apollo 8.0從“新架構(gòu)”、“新能力”兩個(gè)重要層面進(jìn)行了全面升級(jí),從開發(fā)者的實(shí)際需求出發(fā)進(jìn)行改良,幫助開發(fā)者更好、更快地熟悉和使用Apollo開放平臺(tái)。此次Apollo開放平臺(tái)8.0的推出,再次讓Apollo開放平臺(tái)在工程易用性上向前邁進(jìn)一大步,降低操作難度、操作成本的門檻,讓更多開發(fā)者可以簡(jiǎn)單方便地上手Apollo開放平臺(tái)、投身自動(dòng)駕駛技術(shù)領(lǐng)域。
編輯:黃飛
?
評(píng)論
查看更多