快速驗證新的模型——從感知框架重構(gòu)開始隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,自動駕駛感知領(lǐng)域在近幾年取得了顯著進展。由于深度學(xué)習(xí)模型的更新速度非???,每年都會涌現(xiàn)新的模型,因此如何快速發(fā)布和驗證模型成為自動駕駛感知中的關(guān)鍵問題。同時,我們注意到大部分社區(qū)開發(fā)者更關(guān)注模型本身。而Apollo作為全棧感知框架,除了模型本身(即算法部分),還包括任務(wù)框架。目前常見的任務(wù)包括紅綠燈檢測、車道線檢測和目標檢測。為了使算法開發(fā)人員從框架中解放出來,更加專注于算法本身,我們升級了Apollo 感知框架,實現(xiàn)了算法和框架的解耦(見圖3、圖4)。圖3 升級前的Apollo感知框架圖4 升級后的Apollo感知框架訓(xùn)練好的模型只需根據(jù)要求便可靈活接入,無需開發(fā)大量代碼。同時,還引入了測試驗證工具鏈,支持端到端的模型驗證,從而極大地加快感知算法落地速度。針對框架部分,我們根據(jù)不同的任務(wù)流水線,通過配置便可復(fù)用提供好的模塊。這樣,用戶只需根據(jù)配置,即可滿足感知任務(wù)的開發(fā)需求。通過以上兩項升級,我們成功解耦感知模塊的算法開發(fā)和任務(wù)流水線,從而加快感知模塊的驗證和迭代速度,顯著提升開發(fā)效率?,F(xiàn)在,最快上線一個模型只需1-2天。模型通過引入Paddle3D,不僅能夠提供更多模型支持,還能提供一整套完備的訓(xùn)練工具。同時,我們通過定期和Paddle3D合作組織自動駕駛感知方向的比賽,跟進最新的模型,保證Apollo感知算法的領(lǐng)先性。通過與Paddle3D的深度合作,我們建立了自動駕駛感知任務(wù)的基準,并開放了模型訓(xùn)練和部署代碼。開發(fā)者可以在社區(qū)找到最新的模型進行對照使用,或自行進行二次開發(fā)??蚣艿诙€比較大的改造在于框架的升級。之前的感知模塊,各個任務(wù)和模塊的區(qū)分度不高,主要是通過傳感器來組織目錄文件。導(dǎo)致用戶在了解某一部分的功能時需要深入到整個模塊,并且整個流水線的配置相對分散,用戶修改時需要從不同的配置文件中進行修改,這對用戶來說體驗不好。進行框架升級后,我們根據(jù)任務(wù)流水線創(chuàng)建了不同的組件,引入了組件的概念。通過不同的前處理、后處理等組件,用戶只需通過一個配置文件選擇不同的組件即可實現(xiàn)新的流水線的引入和開發(fā),從而使模型引入更加順暢。提升開發(fā)調(diào)試效率——完善工具鏈
自動駕駛與傳統(tǒng)互聯(lián)網(wǎng)軟件研發(fā)不同,一是實車測試成本高,二是數(shù)據(jù)量非常大。而一套能夠滿足自動駕駛開發(fā)流程需求,并提升研發(fā)效率的研發(fā)基礎(chǔ)設(shè)施就非常之重要。Apollo從1.0版本開始便開創(chuàng)性地引入了“車+云”的自動駕駛研發(fā)迭代模式,并對外發(fā)布了Apollo數(shù)據(jù)平臺。它通過云端的方式解決了數(shù)據(jù)利用效率的問題,通過與仿真結(jié)合降低了實車測試成本,能夠極大提升基于Apollo的自動駕駛研發(fā)效率(見圖5)。圖5 “車+云”的自動駕駛研發(fā)迭代模式“車+云”的自動駕駛研發(fā)迭代模式為基于Apollo的上車集成調(diào)試提供了技術(shù)迭代基礎(chǔ)設(shè)施保障,能高效支持自動駕駛技術(shù)路測,從而實現(xiàn)上車閉環(huán)驗證。與此同時,開發(fā)者在上車驗證之前的本地開發(fā)調(diào)試也是整個自動駕駛研發(fā)迭代生命周期中同樣至關(guān)重要的一環(huán),但這部分需求在之前的Apollo版本中并未被很好滿足。如何提升開發(fā)者本地開發(fā)調(diào)試效率,從自動駕駛研發(fā)迭代全生命周期角度提升研發(fā)效率是Apollo開放平臺在開發(fā)者易用性上的又一個重點工作。從流程圖(圖6)可以看出,自動駕駛研發(fā)流程其實包含了兩個迭代循環(huán),一個是模型迭代,一個是代碼迭代,都通過數(shù)據(jù)來驅(qū)動。數(shù)據(jù)驅(qū)動的模型配置迭代,其主要包括服務(wù)于自動駕駛車輛集成(如車輛標定、傳感器標定、控制評測等)、模型訓(xùn)練的研發(fā)云服務(wù)。通過在車輛端的智能數(shù)據(jù)采集器采集數(shù)據(jù),驅(qū)動云端工具服務(wù)生成車輛模型配置,并OTA至車端完成迭代閉環(huán)。數(shù)據(jù)驅(qū)動的代碼迭代,其主要包括服務(wù)于開發(fā)調(diào)試和回歸測試的Apollo仿真云服務(wù)。Apollo仿真云服務(wù)提供了可自定義并下載至開發(fā)機本地的仿真調(diào)試場景,以及云端大規(guī)模集群并發(fā)測試能力。其通過持續(xù)車端數(shù)據(jù)采集豐富仿真場景,驅(qū)動代碼不斷改進并驗證,最終OTA至車端實現(xiàn)代碼迭代閉環(huán)。圖6 自動駕駛研發(fā)生命周期在開發(fā)者調(diào)試效率方面,本次8.0版本主要新增了如下新能力,PnC調(diào)試效率提升了1倍以上。- 支持本地仿真調(diào)試:提供基于Dreamview的本地仿真容器,支持本地PnC仿真調(diào)試。開發(fā)者在本地通過Dreamview的仿真器可模擬車輛行駛以及再現(xiàn)各種場景。
- 便捷仿真場景管理:提供基于云端的仿真場景自定義創(chuàng)建、編輯與分組管理,一鍵從云端下載場景、動力學(xué)模型、數(shù)據(jù)包至本地Dreamview。仿真場景同步支持云端仿真評測與本地調(diào)試兩種使用場景(見圖7)。
圖7 基于Dreamview的本地仿真調(diào)試降低學(xué)習(xí)曲線——Apollo Studio全新學(xué)習(xí)社區(qū)解決了技術(shù)工程、工具產(chǎn)品上的易用性問題,同樣還需要配套的學(xué)習(xí)資源服務(wù)來降低開發(fā)者的學(xué)習(xí)曲線?;诒侥P屠碚?,個人能力是先由知識、技能再逐步轉(zhuǎn)化成能力的。提供符合開發(fā)者學(xué)習(xí)習(xí)慣的知識內(nèi)容與產(chǎn)品功能,縮短開發(fā)者學(xué)習(xí)過程是提升Apollo開放平臺產(chǎn)品價值不可或缺的部分。因而,在去年8月份,我們上線了全新的Apollo開放平臺技術(shù)社區(qū)官網(wǎng)Apollo Studio。Apollo Studio社區(qū)以全新的Apollo 開源工程和工具鏈為基礎(chǔ)支撐,幫助開發(fā)者通過由淺入深的課程內(nèi)容來學(xué)習(xí)自動駕駛知識,通過與課程內(nèi)容配套的實驗來鍛煉技能,最后通過競賽測驗來提升解決問題的能力。目前,Apollo Studio已經(jīng)提供了從入門到基礎(chǔ),再到專項的梯度課程,包括Apollo新人之旅、Apollo自動駕駛基礎(chǔ)課、Apollo PnC專項課等。總課時達到近200。5個月時間,課程播放量便超過了100萬次。與課程配套的實驗也深受開發(fā)者好評,使用量近10萬。賽事測驗系統(tǒng)有效支撐了2022 Apollo城市道路自動駕駛仿真賽,吸引了全國近200所高校的500多支隊伍2000多人參賽。Apollo Studio為開發(fā)者提供了集課程、實訓(xùn)、賽事三位一體的自動駕駛學(xué)習(xí)實踐社區(qū),助力開發(fā)者成長。總結(jié)從自動駕駛能力到開發(fā)者易用性,Apollo開放平臺持續(xù)進行多維度創(chuàng)新。- Apollo開放平臺8.0通過引入包管理為徹底解耦發(fā)布流程中模塊間的依賴打好了基礎(chǔ),為各類不同需求開發(fā)者直接復(fù)用擴展Apollo能力提供了靈活空間。
- 通過重構(gòu)感知框架和開放模型訓(xùn)練環(huán)節(jié),極大降低了擴展新模型時在訓(xùn)練、部署以及驗證環(huán)節(jié)的成本,讓開發(fā)者將更多精力放在新模型的能力上。
- 通過引入基于Dreamview的本地仿真調(diào)試并與云端仿真聯(lián)動,極大提升了開發(fā)者在規(guī)劃控制開發(fā)調(diào)試時的效率。
- 通過全新上線的Apollo Studio社區(qū),為開發(fā)者提供了符合學(xué)習(xí)習(xí)慣的課程、實驗與能力測試工具,助力開發(fā)者學(xué)習(xí)成長。
在今年上半年的NPS調(diào)研中,我們也收到了開發(fā)者的正向反饋,感知開發(fā)調(diào)試、PnC開發(fā)調(diào)試、社區(qū)的NPS都大幅上漲(見表2)。表2 2023年上半年NPS結(jié)果在8.0版本之后,我們將持續(xù)加強Apollo開放平臺的開發(fā)者使用體驗:優(yōu)化核心層感知模塊和規(guī)劃模塊的包邏輯拆分,以更好地滿足開發(fā)者的二次擴展開發(fā)需求,并在原有的Robotaxi場景上提供更多其他可選場景支持,以實現(xiàn)場景應(yīng)用層的靈活選擇(見圖8)。圖8:Apollo開源代碼架構(gòu)在工具鏈上,我們將進一步優(yōu)化基于Dreamview的本地開發(fā)調(diào)試體驗,把Dreamview打造成Apollo開發(fā)者工具入口。覆蓋感知仿真開發(fā)調(diào)試、規(guī)劃控制仿真開發(fā)調(diào)試、車輛適配與集成以及實車路測與調(diào)試各場景,提供各種可視化調(diào)試工具、診斷信息工具以及自定義視圖能力。在社區(qū)上,我們將提供更多技術(shù)模塊,覆蓋Cyber RT、感知相關(guān)的專項課、配套實驗與評測題。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。