首頁  >  文章  >  科技週邊  >  加速自動駕駛汽車開發驗證:深入了解DRIVE Replicator合成資料產生技術

加速自動駕駛汽車開發驗證:深入了解DRIVE Replicator合成資料產生技術

WBOY
WBOY轉載
2023-05-07 16:40:091390瀏覽

在9 月舉行的GTC 大會上,NVIDIA 產品經理Gautham Sholingar 以《合成資料生成:加速自動駕駛汽車的開發和驗證》為題,完整地介紹了NVIDIA 過去一年在長尾場景訓練的最新進展和相關經驗,特別是探討開發者如何使用DRIVE Replicator 產生多樣化的合成資料集,以及準確的真值資料標籤,從而加速自動駕駛汽車的開發和驗證。該講座內容乾貨滿滿,引發了業界的廣泛關注和討論。本文將此次分享的精華內容進行彙整與整理,以協助大家更了解 DRIVE Replicator,以及自動駕駛感知演算法的合成資料產生。

一文看懂DRIVE Replicator:合成数据生成加速自动驾驶汽车的开发和验证

圖 1

在過去的一年中,NVIDIA 在使用 DRIVE Replicator 產生用於訓練自動駕駛感知演算法的合成資料集方面取得了積極的進展。圖 1 展示了目前 NVIDIA 正在攻克的一些長尾場景挑戰:

  1. 第一行左側圖,倒車攝影機附近的弱勢道路使用者(VRU)。對於任意自動駕駛感知演算法而言,VRU 都是一個重要的物件類別。在本例中,我們專注於偵測倒車魚眼攝影機附近的兒童。由於現實世界中的資料收集和資料標記相當具有挑戰性,因此這是一個重要的安全用例。
  2. 第一行中間圖,事故車輛偵測。自動駕駛感知演算法需要接觸到罕見和不常見的場景,才有助於使物件偵測演算法變得可靠。現實世界資料集裡的事故車輛少之又少。 DRIVE Replicator 可協助開發人員建立各種環境條件下的意外事件(例如翻車),從而協助訓練此類網路。
  3. 第一行右側圖,交通標誌偵測。在其他一些情況下,手動標註資料既耗時,又容易出錯。 DRIVE Replicator 可協助開發人員產生各種環境條件下數百個交通標誌和交通號誌的資料集,並快速訓練網路以解決現實世界的多樣性問題。
  4. 最後,在城市環境中,有許多物件並不常見,例如特定的交通道具和某些類型的車輛。 DRIVE Replicator 可協助開發人員提高資料集裡這些罕見物件的出現頻率,並藉助目標合成資料來協助擴增實境世界的資料收集。

以上的這些功能,正在透過 NVIDIA DRIVE Replicator 實現。

了解 DRIVE Replicator 及其關聯生態

DRIVE Replicator 是 DRIVE Sim 工具套件的一部分,可用於自動駕駛模擬。

DRIVE Sim 是 NVIDIA 基於 Omniverse 建構的、非常領先的自動駕駛汽車模擬器,可大規模地進行實體精準的感測器模擬。開發人員可以在工作站上運行可重複的仿真,然後在資料中心或雲端擴展為批量模式。 DRIVE Sim 是基於 USD 等強大的開放標準構建的模組化平台,支援用戶透過 Omniverse 擴充程式引入自己的功能。

DRIVE Sim 上包含 DRIVE Replicator 等多個應用程式。 DRIVE Replicator 主要提供一系列專注於合成資料產生的功能,用於自動駕駛汽車的訓練和演算法驗證。 DRIVE Sim 和 DRIVE Con​​stellation 也支援各級的自動駕駛全端仿真,包括軟體在環、硬體在環和其他在環仿真測試(模型、植物、人類,以及更多)。

DRIVE Sim 和傳統自動駕駛模擬工具的不同之處是在創建合成資料集時,傳統的自動駕駛模擬工具往往結合專業的遊戲引擎來進行,來還原足夠真實的場景。但是,對於自動駕駛模擬而言,這是遠遠不夠的,還需要處理包括物理準確性、可重複性和規模性等核心訴求。

一文看懂DRIVE Replicator:合成数据生成加速自动驾驶汽车的开发和验证

圖 2

#在進一步介紹DRIVE Replicator 之前,先為大家介紹幾個關聯概念(如圖2),特別是Omniverse,幫助大家更能理解與DRIVE Replicator 相關的底層技術支撐。

第一,了解 NVIDIA 用於大規模模擬的引擎 Omniverse。 Omniverse 是基於由 Pixar 公司開發的 USD(Universal Scene Description,一種用於描述虛擬世界的可擴展通用語言)而建構。 USD 是整個模擬和模擬各個方面(包括感測器、3D 環境)的單一真值資料來源,這些完全透過USD 建構的場景允許開發人員對模擬中的每個元素進行分層式的訪問,為後續生成多樣化的合成資料集奠定基礎。

第二,Omniverse 提供即時性的光線追蹤效果,可為 DRIVE Sim 中的感應器提供支援。 RTX 是NVIDIA 在計算圖形領域重要的先進技術之一,利用優化的光線追蹤API ,該API 專注於物理準確性,可確保對攝影機、雷射雷達、毫米波雷達和超音波感測器的複雜行為(例如多次反射、多路徑效應、滾動快門和鏡頭失真)進行原生建模。

第三,NVIDIA Omniverse 是一個易於擴展的開放式平台,專為虛擬協作和物理級準確的即時模擬打造,能夠在雲端或資料中心運行工作流程,可實現多GPU 和節點並行渲染和數據生成。

第四,Omniverse 和 DRIVE Sim 採用開放式、模組化設計,圍繞著此平台已經形成了一個龐大的合作夥伴生態系統。這些合作夥伴可提供3D 素材、感測器、車輛和交通模型、驗證工具等

第五,Omniverse 協作的核心是Nucleus,Nucleus 具有資料儲存和存取控制功能,它能夠充當多個使用者的集中式內容倉庫,支援DRIVE Sim 將Runtime 與內容解耦,改善版本控制,並為所有素材、場景和元資料建立單一參考點。

DRIVE Sim 是一個平台,NVIDIA 採取生態合作方式來建立這個平台,讓合作夥伴都能為這個通用平台貢獻自己的力量。目前 DRIVE Sim 已建立一個龐大的合作夥伴生態系統,涉及 3D 資產、環境感測器模型、驗證等多個領域。透過 DRIVE Sim SDK,合作夥伴可以輕鬆引入自己的感測器、交通和車輛動態模型,並擴展其核心模擬功能。開發者不僅能在Omniverse 中編寫擴充程序,輕鬆添加新功能,還能享受到在通用平台上進行開發的好處——Omniverse 已連接多個關鍵合作夥伴,他們提供了與自動駕駛開發相關的重要工作流。

如何用 DRIVE Replicator 產生合成資料集和真值資料

接下來,將為大家解釋以上的這些內容如何組合起來,以及DRIVE Replicator 產生合成資料的五個主要工作步驟(如圖3):Content(內容)— DRIVE Sim Runtime — Sensing(感知)— Randomization(域隨機化)— Data Writers(資料寫入器)。

一文看懂DRIVE Replicator:合成数据生成加速自动驾驶汽车的开发和验证

圖 3

模擬流程的第一步是儲存在 Nucleus 伺服器上的 3D 內容和素材。這些素材會傳送至 DRIVE Sim Runtime,後者是執行場景、交通模型、車輛動態和行為的核心技術。 DRIVE Sim Runtime 可與基於 RTX 光線追蹤技術的攝影機、光達、毫米波雷達和 USS 的感知技術結合使用。下一步是透過運動、行為、照明和外觀的隨機化,為數據引入多樣性。對於閉環仿真,下一步通常由感測器協定、CAN 訊息和虛擬 ECU(向自動駕駛棧發送重要訊息以閉環)組成的車輛 I/O 將仿真連接到自動駕駛堆疊。

對於合成資料生成,這則是一個開放的循環流程,這個流程會將隨機化的感測器資料傳送給資料寫入器,而這些資料寫入器可輸出用於訓練自動駕駛感知演算法的真值標籤。以上的這些步驟代表了合成資料產生的完整工作流程。

  • Content(內容)

上文提到,模擬流程的第一步是儲存在Nucleus 伺服器上的3D 內容和素材。這些內容來自哪裡?如何獲取?有什麼標準或要求?

過去幾年,NVIDIA 與多個內容合作夥伴合作,建立了一個龐大的3D 資產提供者生態系統,這些素材包括車輛、道具、行人、植被和3D 環境,隨時可在DRIVE Sim中使用。

有一點要注意的是,即便您從市場上獲得了這些資產,也不意味著就可以開始仿真工作,您還需要讓這些資產為仿真做好準備,而這就是SimReady 的用武之地。

擴展內容的一個重要部分是與3D 資產提供者合作,並為他們提供所需的工具,以確保在將資產引入DRIVE Sim 時遵循某些約定、命名、資產綁定(asset rigging)、語意標籤(semantic labels)和物理特性。

SimReady Studio 可協助內容提供者將其現有的資產轉換可以載入到 DRIVE Sim 上、模擬就緒的 USD 資產,包括 3D 環境、動態資產和靜態道具。

那麼,什麼是 SimReady?您可以理解為它是一個轉換器,有助於確保 DRIVE Sim 和 Replicator 中的 3D 資產準備好支援端到端的模擬工作流程。 SimReady 有幾個關鍵要素,包括:

  • 每項資產必須遵循一套關於方向、命名、幾何形狀等約定的規範,以確保一致性;
  • 語義標籤和定義明確的本體(ontology),用於註釋資產的每個元素。這對於產生用於感知的真值標籤至關重要;
  • 支援剛體物理和動力學,使產生的資料集看起來逼真,並從運動學角度縮小模擬與現實之間的差距;
  • 下一步是確保資產遵循特定的材料和命名約定,以確保資產為RTX 光線追蹤做好準備,並對雷射雷達、毫米波雷達和超音波感測器等主動感測器產生真實的響應;
  • 另一個常見方面是組裝3D 資產,從而實現照明變化、門驅動、行人步行操作等功能;
  • 最後一部分是即時高保真感測器模擬的性能最佳化。

基於上述的理解,一起來看看如何使用 SimReady studio 取得可用於 DRIVE Sim 的資產的流程。

假設這個過程是從 3D 市場購買資產開始。第一步是將此資產匯入到 SimReady Studio。這也可以批次完成,或批次匯入多個資產來完成這個步驟。

導入後,這些內容資產的材質名稱會更新,它們的材質屬性也會更新,拓展至包含反射率、粗糙度等方面的屬性。

這對於確保渲染資料品質的物理真實性,以及確保材質系統與所有 RTX 感測器類型(而不僅僅是在可見光譜中運行的感測器類型)的交互非常重要。

下一步涉及更新語意標籤和標記。為什麼這一步很重要?擁有正確的標籤意味著使用資產產生的資料可用於訓練 AV 演算法。此外,DRIVE Sim 和 Omniverse 使用 Nucleus 作為中央資產儲存庫。 Nucleus 上有數以千計的內容資產,擁有可搜尋的標籤以及相關的縮圖將幫助新用戶更容易找到某個資產。

接下來,開始定義物件的碰撞體積和幾何形狀,並從物理角度觀察該內容資產的行為。然後修改物件的物理和品質屬性,從而來創建預期的行為。

整個流程的最後一步是驗證資產,以確保這些內容資產符合正確的約定。仿真就緒的 USD 資產現在可以儲存並重新匯入至 NVIDIA Omniverse 和 DRIVE Sim。透過 USD 建立場景的最大優點是,在前面的步驟中建立的所有元資料都與最終資產一起傳輸,並分層連結到主要物件的 USD,為後續產生多樣化的合成資料集奠定基礎。

一文看懂DRIVE Replicator:合成数据生成加速自动驾驶汽车的开发和验证

圖 4

回到自動駕駛汽車模擬內容創建,從地圖資料創建環境通常有幾種方法(見圖4)。一種是選擇使用  MathWorks 的 Roadrunner 工具在一個開放的 NVIDIA DRIVE map(多模式地圖平台)上建立 3D 環境。然後將該步驟的輸出結果,以及語意地圖資訊、訊號時序等傳輸到 SimReady Studio ,該 3D 環境即可轉換為可載入至 DRIVE Sim 上的 USD 資產。

另一種選擇,使用來自自動駕駛車隊的體素地圖數據並提取語義地圖信息,例如車道、路標和其他元數據。這些資訊透過數位孿生創建,產生可以載入到 DRIVE Sim 上的 USD 資產。

以上兩類的 USD 環境,將用於支援自動駕駛汽車端到端(E2E)模擬測試以及合成資料產生工作流程。

  • DRIVE Sim Runtime

接下來為大家介紹模擬的第二步-DRIVE Sim Runtime,它奠定了我們在DRIVE Replicator中用於產生合成資料集的所有功能的基礎。

DRIVE Sim Runtime 是開放式、模組化的可擴充元件。這在實務上意味著什麼(見圖 5)?

第一,它基於場景構建,在這些場景中開發者可定義場景中的物件的特定位置、運動和互動。這些場景可在 Python 中或使用場景編輯器 UI 進行定義,並可儲存以供日後使用。

第二,它支援透過 DRIVE Sim SDK 與自訂車輛動態套件集成,既可以作為流程中的步驟,也可以作為與 DRIVE Sim 2.0 的共同模擬。

第三,交通模型。 DRIVE Sim 擁有豐富的車輛模型介面,借助 Runtime,開發者可以引入自己的車輛動態或配置現有的基於規則的交通模型。

第四,動作系統,其中包含預先定義的豐富動作庫(例如車道變更)、可用於建立不同物件相互互動場景的時間觸發器等。

一文看懂DRIVE Replicator:合成数据生成加速自动驾驶汽车的开发和验证

圖 5

#到這裡簡單回顧前面的內容:模擬流程第一步,經過SimReady 轉換的、仿真就緒的3D 內容和素材,被儲存在Nucleus 伺服器上。第二步,這些素材會被傳送至 DRIVE Sim Runtime,後者是執行場景、交通模型、車輛動態和行為的核心技術,為後面產生合成資料集的所有功能奠定基礎。

  • Sensing(感知)

在產生資料之前,需使用感測器來設定目標測試車輛。使用 Ego Configurator 工具,開發者可選擇特定車輛並將其新增至場景中。

此外,開發者還可以在場景中移動車輛,並為車輛添加感測器。 Ego 配置器工具支援通用和 Hyperion 8 感測器。

將感測器新增至車輛後,開發者還可以變更 FOV、解析度、感測器名稱等參數,並在車輛上直觀地配置感測器位置。

使用者還可以從感測器 POV 中查看預覽,並在 3D 環境中實現視野視覺化,然後再建立資料生成場景。

這個工具可以幫助開發者快速進行不同配置的原型設計,並將知覺任務所能達到的覆蓋範圍視覺化。

  • Randomization(域隨機化)

#現在簡單介紹模擬流程的第四步,領域隨機化,如何透過運動、行為、照明和外觀的隨機化,為數據引入多樣性。

這會涉及到創建場景的另一種方法,使用 Python。 DRIVE Replicator 的 Python API 允許開發者查詢開放的 NVIDIA DRIVE Map,並以可感知情境的方式放置一系列靜態和動態資產。一些隨機產生器將重點放在如何將自主車輛從某一點傳送到下一點,如何在自主車輛周圍產生對象,並由此產生不同的合成資料集。這些聽起來很複雜的操作都能輕鬆實現,因為使用者可以直接控制 USD 場景和該環境中的所有物件。

在建立用於訓練的合成資料集時,另一個重要步驟是引入 3D 場景外觀變化的能力。上文也提到 USD 的強大功能,例如透過 USD 建構的場景允許開發人員對模擬中的每個元素進行分層式的存取。 SimReady 的API 借助 USD 可以快速設定場景中的特徵。

下面看一個範例(見圖 6):路面有些濕,但在我們設定不同的參數時,路面潮濕程度會改變。我們可以對太陽方位角和太陽高度角等方面進行類似的更改,以在一系列環境條件下產生逼真的資料集。

另一個重點是開啟照明和外觀變化的能力,所有的這些變化都可以透過 SimReady API 和 USD 來實現。

一文看懂DRIVE Replicator:合成数据生成加速自动驾驶汽车的开发和验证

圖 6

DRIVE Sim 的一個主要優點是RTX 感測器工作流程,它支援各種感測器(見圖7 ),包括用於攝影機、雷射雷達、普通雷達和USS 的通用和現成模型。此外,DRIVE Sim 還全面支援 NVIDIA DRIVE Hyperion 感測器套件,讓使用者在虛擬環境中開始演算法開發和驗證工作。

此外,DRIVE Sim 擁有強大、用途多樣的 SDK,支援合作夥伴使用 NVIDIA 的光線追蹤 API 來實現複雜的感測器模型,同時保護其 IP 和專有演算法。多年來,這個生態系統不斷發展壯大,而且 NVIDIA 正與合作夥伴合作,將成像雷達、FMCW 雷射雷達等新形態的感測器引入 DRIVE Sim 中。

一文看懂DRIVE Replicator:合成数据生成加速自动驾驶汽车的开发和验证

圖 7

  • #Data Writers(資料寫入器)

現在,把重點轉移到產生真值數據,以及如何實現這些資訊的視覺化。這涉及到模擬流程的最後一個步驟,資料寫入器。在這個流程中,會將隨機化的感測器資料傳送給資料寫入器,而這些資料寫入器可輸出用於訓練自動駕駛感知演算法的真值標籤。

資料寫入器是一個 Python 腳本,用於產生訓練自動駕駛感知演算法所需的真值標籤。

NVIDIA DRIVE Replicator 配有範本寫入器,例如基礎寫入器和 KITTI 寫入器。

其中,基礎寫入器涵蓋了廣泛的真實資料標籤,包括物件類別、2D 和 3D 中的緊密和鬆散邊界框、語義和實例遮罩、深度輸出、遮擋、法線等。

類似地,也有光達/普通雷達寫入器,可用於將雷射點雲資料匯出為numpy 數組,或將隨邊界框、語義和物件標籤一起匯出為任何相關的自訂格式。

這些寫入器可為開發者提供範例,可根據自訂標記格式配置自己的寫入器,並擴充資料產生工作。

最後,為大家介紹一款令人興奮的軟體,Omniverse 團隊傾力打造的 Replicator Insight。

Replicator Insight 是一款基於 Omniverse Kit 構建的獨立應用程序,可用於檢查渲染的合成資料集,並疊加用於訓練的各種真值標籤。

Replicator Insight 可支援所有合成資料的產生用例,包括 DRIVE、Isaac 和 Omniverse Replicator。

下面來看一個範例(請參閱圖 8):使用者可以在這個視覺化工具中載入 DRIVE Replicator 產生的數據,並為場景中的不同物件類別開啟和關閉不同的真值標籤。

一文看懂DRIVE Replicator:合成数据生成加速自动驾驶汽车的开发和验证

圖 8

#借助這個視覺化工具,使用者可以播放影片、梳理資料集,甚至可以在深度和RGB 數據等不同視圖之間進行比較。

使用者還可以更改播放幀率和深度範圍等參數,或在自動駕駛汽車訓練前快速將資料集視覺化。

這將有助於開發者輕鬆理解新的真值標籤類型和解析複雜的資料集。

總的來說,這是一款功能強大的工具,讓使用者在每次查看資料時都能獲得新的見解,不管這些資料是真實的還是合成的。

小結

以上,總結了DRIVE Replicator 過去一年的最新發展,並分享了開發者可以如何借助DRIVE Replicator 生成多樣化的合成數據集,以及準確的真值數據標籤,從而加速自動駕駛汽車的開發和驗證。 NVIDIA 在為各種現實世界用例生成高品質的感測器資料集方面取得了令人欣喜的進展,期待後續與大家進一步交流!

以上是加速自動駕駛汽車開發驗證:深入了解DRIVE Replicator合成資料產生技術的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除