自動駕駛模擬測試實現3D物體偵測和碰撞預測

作者 : Vidya Sagar和Leya Lakshmanan,Embitel Technologies

汽車OEM及其技術合作夥伴已在開發和測試真正的自動駕駛車——Level 5自動駕駛——這種車輛可以在沒有人類駕駛的情況下沿著廣闊的道路行駛。這在一定程度上是經由機器學習(ML)演算法驅動的感測器融合技術而實現的...

曾經有一段時間,讓自動駕駛車(AV)接管道路還是個遙遠的願景。今天,情況卻發生了巨大變化。儘管自動駕駛車首次亮相的時間比預期的更久,但許多汽車專家認為,這項技術有望迅速成熟。

汽車OEM及其關鍵技術合作夥伴已經在開發和測試真正的自動駕駛車——第5級(Level 5)自動駕駛——這種車輛可以在沒有人類駕駛的情況下沿著廣闊的道路行駛。這在一定程度上是經由機器學習(ML)演算法驅動的感測器融合技術而實現的。

感知和決策

在經由機器學習開發自動駕駛車技術時,主要目標是實現以下里程碑——感知和決策。

感知包括能夠利用機器學習模型準確辨識周圍的物體並對其進行分類,而決策則包括能夠利用演算法確定物體的未來位置和碰撞的可能性。只有當這兩個里程碑都以接近100%的準確度實現時,才能實現Level 5自動駕駛車的願景。

這兩個里程碑都對機器學習工程師提出了相當程度的挑戰。為了測試並確保感知和決策過程的最高準確度,我們的工程團隊設計了一個模擬環境來測試自動駕駛車。任何演算法都可以使用這個模擬環境進行測試。演算法可以利用來自光達(LiDAR)、攝影機和雷達的輸入(根據需要)並提供準確的預測。

在本文中,我們討論了點GNN (Point-GNN)演算法在模擬環境中的測試。

什麼是Point-GNN

Point-GNN是一種機器學習演算法,可用於處理點雲資料,從而實現物體偵測。在此,我們討論了使用LiDAR資料和Point-GNN以及修改後的殘差神經網路(ResNet)來偵測和追蹤跨多個影格的3D物件。我們還使用了這些資料來預測碰撞和碰撞時間——這是避免事故的關鍵因素。

我們使用了感測器融合來提高預測的準確性。相較於替代方案,我們還分析了圖形(graph)和Point-GNN的性能。

模擬環境的開發該專案的工作於2020年底開始。在專案的最初幾天,我們專注於開發模擬環境。在模擬環境準備好進行測試後,感測器融合演算法的開發就開始了。

Carla模擬器在我們的專案中使用Carla模擬器來開發展示器。Carla的底層虛幻引擎可以用來管理物件的渲染、實體及其運動。它還能控制對現實主義至關重要的非玩家角色(NPC)的移動。此外,Carla還支援對各種天氣和照明條件的模擬,以便測試我們的先進駕駛輔助系統/自動駕駛(ADAS/AD)功能演算法。

Carla提供各種感測器套件,例如雷達、LiDAR、彩色/灰階攝影機、慣性測量單元(IMU)等。對於這個專案,我們配置了一個用於3D點雲資料的LiDAR感測器和一個用於視覺化的攝影機。

Carla還提供了用於訓練和驗證ADAS/AD演算法的資料管線。在此專案中,我們使用了包含感知、規劃和控制子系統的經典資料管線。

Kitti視覺基準套件自動駕駛應用中對模擬資料的需求變得越來越重要,無論是用於驗證預訓練模型還是訓練新模型。為了使這些模型能夠泛化現實世界的應用,就必須使基礎資料集能包含各種駕駛場景,並且使模擬所得感測器讀數能密切模仿現實世界的感測器。在這個項目中,我們使用了Kitti資料集進行訓練和測試。

因為每個感測器有多個座標系,所以需要將座標從一個參考轉換到另一個參考,並融合來自多個感測器的資料。例如,執行變換操作並在影像資料中正確繪製邊界框,以便準確表示點雲資料(來自LiDAR感測器)中被偵測物體的邊界框,就非常重要。

解決方案架構

該專案的先進架構圖如下所示:

圖1:此方塊圖顯示解決方案架構的高階視圖。(圖片來源:Embitel)

可執行以下步驟,從點雲中偵測3D對象:

  • 點雲到圖形的轉換
  • “T”次反覆運算的GNN
  • 邊界框合併和評分

圖形是一種用於表示點雲資料的獨特資料結構,因為它沒有固定的形式,主要由頂點/節點和邊組成,如下所示:

圖2:點雲到圖形的轉換包括頂點/節點和邊緣。(圖片來源:Embitel)

可針對點雲將圖形(G)建構成G=(P,E),其中P表示點雲,E表示固定半徑內的鄰居。

我們還在建構初始圖形之前使用了體素(立體畫素)下採樣技術來降低運算複雜度。

GNN使用由其鄰居定義的節點概念來匯出輸出。因此,在2中,可以根據B、E和D的狀態以及AB、AE和AD三個邊的特徵來更新A的狀態。

碰撞預測和碰撞時間

在目標偵測階段之後,下一步是預測碰撞和計算碰撞時間。在這種情況下,「自主車輛」(ego vehicle)是指安裝了感測器套件並由用戶(手動或透過API調用)控制的車輛。

預測分成兩個步驟:

  • 根據自主車輛的當前速度,找出在時間段t秒內可能發生碰撞的所有車輛。這是通過根據車輛的當前速度擴展邊界框並使用多邊形相交演算法找到可能的重疊來完成的。
  • 一旦辨識出可能的碰撞,對於每個對象,通過小步擴展邊界框來計算碰撞時間——例如,在較小的時間間隔內,檢查多邊形的可能交叉點。

以下顯示擴展前後邊界框的示例以及LiDAR資料。

圖3:圖中顯示偵測到的邊界框。(圖片來源:Embitel)

不同演算法的測試和評估

為編程環境安裝必要的工具庫後,我們使用來自Kitti資料集的3D物體偵測資料。針對Point-GNN採用預訓練模型,並對所有7,500多個測試樣本進行了評估。

為了比較,我們使用修改後的ResNet對Kitti資料進行訓練和測試,並使用預訓練的ResNet參數以及添加一個自己的層,以調整訓練資料集(Kitti)上的參數。

對於修改後的ResNet,我們對近7,400多個訓練資料進行了訓練。測試中使用了7,500多個測試樣本。

Carla中Point-GNN的工作流程如下圖所示:

圖4:Carla模擬器中顯示了Point-GNN的工作流程。(圖片來源:Embitel)

我們發現,與修改後的ResNet相比,Point-GNN具有更好的平均精度。但是,行人的精度明顯低於汽車。

圖5:使用LiDAR進行3D物體偵測的情況。(圖片來源:Embitel)

圖6:透過Point-GNN和改進的ResNet方法實現目標偵測的差異比較。(圖片來源:Embitel)

前方的路

  • 我們已經能夠成功建構一個架構,用於在模擬環境中測試ADAS/AD演算法,同時測試不同的演算法。
  • 我們發現,使用LiDAR在3D空間中進行目標偵測是有效的。
  • Point-GNN演算法在3D環境中提供了最佳結果,偵測汽車的精度接近90%。
  • 相較於Point-GNN,修改後的ResNet提供了合理的結果。透過修改配置,可以使用更多類別和更大的偵測區域來訓練模型。
  • 研究人員正在探索行人偵測精度低的原因。
  • 需要使用PyTorch等快速庫重新編寫Point-GNN,從而提高執行時間的性能。
  • 接著即將開發API,以便能更輕鬆地整合不同演算法與Carla。

目前,開發團隊正就這些方面進行研究,以便加強系統的感知和預測能力。

本文作者:

Vidya Sagar Jampani,Embitel物聯網業務部門負責人
Leya Lakshmanan,Embitel Technologies行銷主管

編譯:Franklin Zhao

(參考原文:AV simulation testing for 3D object detection, collision prediction,by Vidya Sagar Jampani & Leya Lakshmanan)

活動簡介

從無線連接、更快的處理和運算、網路安全機制、更複雜的虛擬實境(VR)到人工智慧(AI)等技術,都將在未來的每一個嵌入式系統中發揮更關鍵功能。「嵌入式系統設計研討會」將全面涵蓋在電子產業最受熱議的「智慧」、「互連」、「安全」與「運算」等系統之相關硬體和軟體設計。

會中將邀請來自嵌入式設計相關領域的研究人員、代表廠商以及專家,透過專題演講、產品展示與互動交流,從元件、模組到系統,從概念設計到開發工具,深入介紹嵌入式系統設計領域的最新趨勢、創新和關注重點,並深入分享關於嵌入式系統設計的經驗、成果以及遇到的實際挑戰及其解決方案。

贊助廠商

加入LINE@,最新消息一手掌握!

發表評論