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