華文網

開放式 AI CAR 計算平臺Drive PX 2的燒腦解析

毫無疑問,「AI 改變自動駕駛」這句話近一段時間似乎成了公認的「真理」,

也有越來越多的汽車廠商、Tier1 供應商以及創業公司開始利用人工智慧技術推進自動駕駛的發展,我相信他們其中很大一部分離不開利用 GPU 來進行資料收集機器學習訓練以及優化具體的場景演算法應用。對於做 GPU 的老大哥 NVIDIA 來說,此前年初 CES 發佈的 Drive PX 2 平臺就是自動駕駛這個場景下誕生的產物。

如果我們簡單搜索一下就會發現,在短短兩年的時間內,對外公佈與 NVIDIA 合作基於 AI 開發自動駕駛技術的公司和團隊就涵蓋了大部分一線車廠、供應商和明星自動駕駛創業團隊,

其中包括特斯拉、富豪、奧迪、賓士、博世、ZF、百度、Uber、PACCAR、Roborace 等。黃仁勳透露,截止目前為止,在全球有近 200 左右的開發者或企業在基於 Drive PX 2 平臺開發自動駕駛技術。

在今年的 GTC 大會上,我們有機會深入接觸到 NVIDIA 自動駕駛平臺 Drive PX 平臺的技術研發工程師和產品專家,希望更深入地瞭解這個平臺到底是什麼,

以及對於開發者來說,吸引力和可能性在哪。

什麼是 Drive PX?Drive PX 2 呢?Xavier 又是什麼?

(上圖來自維琪百科)

DRIVE PX 2 是一個開放式人工智慧車輛計算平臺,對於車廠和一級供應商來說,可以根據這個平臺做快速的、自主定制化的自動駕駛車輛研發。它提供三個功能遞進的平臺,分別是 AUTOCRUISE、AUTOCHAUFFEUR 和 FULLY AUTONOMOUS DRIVING(全自動駕駛)。此前 ZF 與 NVIDIA 合作推出的 Pro AI 就是基於 Drive PX 2 Autocruise 平臺研發的,採用一個 Parker SoC,專為打造從汽車和卡車到叉車和物料搬運車輛等自動駕駛汽車的公司而設計。

從資料上來看,Autochauffeur 的性能相當於 Autocruise「乘以 2」,另外加了兩顆基於 Pascal 架構的獨立 GPU,可以實現點對點的自動駕駛;而 FULLY AUTONOMOUS DRIVING 則是將多重全方位配置的 Drive PX 2 系統疊加整合到一台車內實現全自動駕駛。Tesla 與 NVIDIA 合作並且在 2016 年 10 月之後量產的 Model S 車型上搭載的也是 Drive PX 2 自動駕駛平臺,但具體是哪種 Drive PX 2 平臺,我們暫且不得而知。

那 Drive PX 和 Xavier 呢?從圖中可以看出,2015 年 NVIDIA 發佈的 Drive PX 應該算是 Drive PX 2 的前身,

而在 2017 年初 CES 上發佈的 Xavier 則是 Drive PX 2 的「進化版本」,是一款完整的片上系統 (SoC),集成了被稱為 Volta 的下一代全新 GPU 架構、定制 8 核 CPU 架構以及新的電腦視覺加速器。該處理器提供 20 TOPS(萬億次運算/秒)的高性能,而功耗僅為 20 瓦,能夠取代目前配置了兩個移動 SoC 和兩個獨立 GPU 的 DRIVE PX 2,而功耗僅僅是它的一小部分。

2017 年 3 月份,NVIDIA 宣佈和博世合作開發的人工智慧自動駕駛汽車電腦,就是基於 Xavier 平臺開發的。基於目前的合作情況來看,未來 NVIDIA 和車廠以及一級供應商在自動駕駛領域的合作,很有可能會集中在 Xavier 平臺開發。

Drive PX 2 的內部架構及開發邏輯是怎樣的?

GTC 的第一天,在 NVIDIA DRIVE 平臺產品經理和架構師的演講中,有一張圖或許可以說明整個平臺的基本邏輯:

NVIDIA 的 DRIVE 平臺,最底層是 Drive PX 2 硬體和軟體架構,在這一層面,NVIDIA 已經和 ZF、博世這類頂級汽車一級供應商深度合作,根據不同廠商的不同需求做定制化,將 NVIDIA 的硬體架構平臺和車上的感測器端以及車輛控制端相連接,通過「車規級」測試並解決「安全」問題。

再往上則是 CUDA、CuDNN、TensorRT 以及 NvMedia 這些底層開發工具層。CUDA 是 NVIDIA 創造的一個平行計算平臺和程式設計模型。它利用圖形處理器 (GPU) 能力,實現計算性能的顯著提高。換句話說,就是可以讓 GPU 解決複雜的計算問題,並且可以適應多種常用程式設計語言。

Tensor RT 可以優化深度學習模型函式庫,具有即時回應極度複雜網路的能力。透過訓練過的 32 位或 16 位元定義神經網路以及設定以降低精度的 INT8 運算為目的進行優化,將深度學習應用的處理量及效率極大化。從圖中我們可以看到,有了 Tensor RT 加持,每秒處理圖像的能力以及優化訓練神經網路和即時性都有提高。NVMEDIA 提供可以調控攝像頭或資料的 API 介面,實現圖像抓取、圖像信號處理、2D 引擎、編碼、與其他軟體內容交交互操作。

做個不恰當的比喻,如果把 Drive PX 2 看做一個獨立的電腦,那麼剛才提到的兩個層級就相當於底層架構、驅動程式和作業系統,而再往上一層的 Drive Works,則是作業系統上跑的軟體。實際上,Drive Works 是一套給開發者用的自動駕駛汽車軟體發展包,開發者可以在這上面實現各種感測器識別、端到端高清製圖、定位、路徑規劃等功能。例如實現攝像頭、雷射雷達、GPS 以及 CAN 匯流排等的資料收集、多感測器標定、通過將地圖資料和攝像頭拍攝圖像比對計算實現準確定位。

最後一層是深度學習網路和其他自動駕駛開發應用程式。基於 NVIDIA Drive PX 2,開發者還可以利用深度神經網路實現交通工具識別、地面標線識別、開放路面識別等等 ADAS 功能,甚至多感測器資料融合的深度神經網路分析計算。

對於 NVIDIA 來說,用 GPU 技術推動自動駕駛汽車的發展是個非常好的機會,也正好處在一個十分理想的時間節點,而 Drive PX 2 的出現則給了 GPU 開發者們更大的想像空間。NVIDIA 通過這個平臺可以和汽車廠商以及一級供應商建立合作關係,同時讓無數對自動駕駛演算法有想法的開發者們有了新的創新平臺,以此建立起一套更加完善的自動駕駛生態系統。

原創聲明: 本文為 GeekCar 原創作品,歡迎轉載。轉載時請在文章開頭注明作者和「來源自 GeekCar」,並附上原文連結,不得修改原文內容,謝謝合作!

NVIDIA 的 DRIVE 平臺,最底層是 Drive PX 2 硬體和軟體架構,在這一層面,NVIDIA 已經和 ZF、博世這類頂級汽車一級供應商深度合作,根據不同廠商的不同需求做定制化,將 NVIDIA 的硬體架構平臺和車上的感測器端以及車輛控制端相連接,通過「車規級」測試並解決「安全」問題。

再往上則是 CUDA、CuDNN、TensorRT 以及 NvMedia 這些底層開發工具層。CUDA 是 NVIDIA 創造的一個平行計算平臺和程式設計模型。它利用圖形處理器 (GPU) 能力,實現計算性能的顯著提高。換句話說,就是可以讓 GPU 解決複雜的計算問題,並且可以適應多種常用程式設計語言。

Tensor RT 可以優化深度學習模型函式庫,具有即時回應極度複雜網路的能力。透過訓練過的 32 位或 16 位元定義神經網路以及設定以降低精度的 INT8 運算為目的進行優化,將深度學習應用的處理量及效率極大化。從圖中我們可以看到,有了 Tensor RT 加持,每秒處理圖像的能力以及優化訓練神經網路和即時性都有提高。NVMEDIA 提供可以調控攝像頭或資料的 API 介面,實現圖像抓取、圖像信號處理、2D 引擎、編碼、與其他軟體內容交交互操作。

做個不恰當的比喻,如果把 Drive PX 2 看做一個獨立的電腦,那麼剛才提到的兩個層級就相當於底層架構、驅動程式和作業系統,而再往上一層的 Drive Works,則是作業系統上跑的軟體。實際上,Drive Works 是一套給開發者用的自動駕駛汽車軟體發展包,開發者可以在這上面實現各種感測器識別、端到端高清製圖、定位、路徑規劃等功能。例如實現攝像頭、雷射雷達、GPS 以及 CAN 匯流排等的資料收集、多感測器標定、通過將地圖資料和攝像頭拍攝圖像比對計算實現準確定位。

最後一層是深度學習網路和其他自動駕駛開發應用程式。基於 NVIDIA Drive PX 2,開發者還可以利用深度神經網路實現交通工具識別、地面標線識別、開放路面識別等等 ADAS 功能,甚至多感測器資料融合的深度神經網路分析計算。

對於 NVIDIA 來說,用 GPU 技術推動自動駕駛汽車的發展是個非常好的機會,也正好處在一個十分理想的時間節點,而 Drive PX 2 的出現則給了 GPU 開發者們更大的想像空間。NVIDIA 通過這個平臺可以和汽車廠商以及一級供應商建立合作關係,同時讓無數對自動駕駛演算法有想法的開發者們有了新的創新平臺,以此建立起一套更加完善的自動駕駛生態系統。

原創聲明: 本文為 GeekCar 原創作品,歡迎轉載。轉載時請在文章開頭注明作者和「來源自 GeekCar」,並附上原文連結,不得修改原文內容,謝謝合作!