0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用NVIDIA CUDA-Pointpillars檢測(cè)點(diǎn)云中的對(duì)象

星星科技指導(dǎo)員 ? 來(lái)源:NVIDIA ? 作者:NVIDIA ? 2022-04-13 16:42 ? 次閱讀

點(diǎn)云是坐標(biāo)系中的點(diǎn)數(shù)據(jù)集。點(diǎn)包含豐富的信息,包括三維坐標(biāo)(X、Y、Z)、顏色、分類(lèi)值、強(qiáng)度值和時(shí)間等。點(diǎn)云主要來(lái)自于各種NVIDIA Jetson用例中常用的激光雷達(dá),如自主機(jī)器、感知模塊和3D建模。

其中一個(gè)關(guān)鍵應(yīng)用是利用遠(yuǎn)程和高精度的數(shù)據(jù)集來(lái)實(shí)現(xiàn)3D對(duì)象的感知、映射和定位算法。

PointPillars是最常用于點(diǎn)云推理的模型之一。本文將探討為Jetson開(kāi)發(fā)者提供的NVIDIA CUDA加速PointPillars模型。馬上下載CUDA-PointPillars模型。

什么是CUDA-Pointpillars

本文所介紹的CUDA-Pointpillars可以檢測(cè)點(diǎn)云中的對(duì)象。其流程如下:

基本預(yù)處理:生成柱體。

預(yù)處理:生成BEV特征圖(10個(gè)通道)。

用于TensorRT的ONNX模型:通過(guò)TensorRT實(shí)現(xiàn)的ONNX模式。

后處理:通過(guò)解析TensorRT引擎輸出生成邊界框。

圖 1 。 CUDA 點(diǎn)柱管道。

基本預(yù)處理

基本預(yù)處理步驟將點(diǎn)云轉(zhuǎn)換為基本特征圖。基本特征圖包含以下組成部分:

基本特征圖。

柱體坐標(biāo):每根柱體的坐標(biāo)。

參數(shù):柱體數(shù)量。

poYBAGJWjTyABlEDAACUw3Ico5I757.png

圖 2 。將點(diǎn)云轉(zhuǎn)換為基礎(chǔ)要素地圖

預(yù)處理

預(yù)處理步驟將基本特征圖(4個(gè)通道)轉(zhuǎn)換為 BEV 特征圖(10個(gè)通道)。

圖 3 。將基本要素地圖轉(zhuǎn)換為 BEV 要素地圖

用于TensorRT的ONNX模型

出于以下原因修改OpenPCDet的原生點(diǎn)柱:

小型操作過(guò)多,并且內(nèi)存帶寬低。

NonZero等一些TensorRT不支持的操作。

ScatterND等一些性能較低的操作。

使用“dict”作為輸入和輸出,因此無(wú)法導(dǎo)出ONNX文件。

為了從原生OpenPCDet導(dǎo)出ONNX,我們修改了該模型(圖4)。

圖 4 。 CUDA Pointpillars 中 ONNX 模型概述。

您可把整個(gè)ONNX文件分為以下幾個(gè)部分:

輸入:BEV特征圖、柱體坐標(biāo)、參數(shù),均在預(yù)處理中生成。

輸出:類(lèi)、框、Dir_class,在后處理步驟中解析后生成一個(gè)邊界框。

ScatterBEV:將點(diǎn)柱(一維)轉(zhuǎn)換為二維圖像,可作為T(mén)ensorRT的插件。

其他:TensorRT支持的其他部分。

圖 5 。將點(diǎn)支柱數(shù)據(jù)散射到二維主干的二維圖像中。

后處理

在后處理步驟中解析TensorRT引擎的輸出(class、box和dir_class)和輸出邊界框。圖6所示的是示例參數(shù)。

poYBAGJWjW6AY7PjAAE6J47WgR0196.png

圖 6 。邊界框的參數(shù)。

使用 CUDA PointPillars

若要使用CUDA-PointPillars,需要提供點(diǎn)云的ONNX模式文件和數(shù)據(jù)緩存:

 std::vector nms_pred; PointPillar pointpillar(ONNXModel_File, cuda_stream); pointpillar.doinfer(points_data, points_count, nms_pred);

將OpenPCDet訓(xùn)練的原生模型轉(zhuǎn)換為CUDA-Pointpillars的ONNX文件

我們?cè)陧?xiàng)目中提供了一個(gè)Python腳本,可以將OpenPCDet訓(xùn)練的原生模型轉(zhuǎn)換成CUDA-Pointpillars的ONNX文件??稍贑UDA-Pointpillars的/tool 目錄下找到exporter.py 腳本。

可在當(dāng)前目錄下運(yùn)行以下命令獲得pointpillar.onnx文件:

$ python exporter.py --ckpt ./*.pth

性能

下表顯示了測(cè)試環(huán)境和性能。在測(cè)試之前提升CPUGPU的性能。


表 1 測(cè)試平臺(tái)與性能

開(kāi)始使用 CUDA PointPillars

本文介紹了什么是CUDA-PointPillars以及如何使用它來(lái)檢測(cè)點(diǎn)云中的對(duì)象。

由于原生OpenPCDet無(wú)法導(dǎo)出ONNX,而且對(duì)于TensorRT來(lái)說(shuō),性能較低的小型操作數(shù)量過(guò)多,因此我們開(kāi)發(fā)了CUDA-PointPillars。該應(yīng)用可以將OpenPCDet訓(xùn)練的原生模型導(dǎo)出為特殊的ONNX模型,并通過(guò)TensorRT推斷ONNX模型。

關(guān)于作者

Lei Fan 是 NVIDIA 的高級(jí) CUDA 軟件工程師。他目前正與 TSE 中國(guó)團(tuán)隊(duì)合作,開(kāi)發(fā)由 CUDA 優(yōu)化軟件性能的解決方案。

Lily Li 正在為 NVIDIA 的機(jī)器人團(tuán)隊(duì)處理開(kāi)發(fā)人員關(guān)系。她目前正在 Jetson 生態(tài)系統(tǒng)中開(kāi)發(fā)機(jī)器人技術(shù)解決方案,以幫助創(chuàng)建最佳實(shí)踐。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4856

    瀏覽量

    102713
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1200

    瀏覽量

    24621
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    IB Verbs和NVIDIA DOCA GPUNetIO性能測(cè)試

    NVIDIA DOCA GPUNetIO 是 NVIDIA DOCA SDK 中的一個(gè)庫(kù),專(zhuān)門(mén)為實(shí)時(shí)在線 GPU 數(shù)據(jù)包處理而設(shè)計(jì)。它結(jié)合了 GPUDirect RDMA 和 GPUDirect
    的頭像 發(fā)表于 08-23 17:03 ?456次閱讀
    IB Verbs和<b class='flag-5'>NVIDIA</b> DOCA GPUNetIO性能測(cè)試

    打破英偉達(dá)CUDA壁壘?AMD顯卡現(xiàn)在也能無(wú)縫適配CUDA

    電子發(fā)燒友網(wǎng)報(bào)道(文/梁浩斌)一直以來(lái),圍繞CUDA打造的軟件生態(tài),是英偉達(dá)在GPU領(lǐng)域最大的護(hù)城河,尤其是隨著目前AI領(lǐng)域的發(fā)展加速,市場(chǎng)火爆,英偉達(dá)GPU+CUDA的開(kāi)發(fā)生態(tài)則更加穩(wěn)固,AMD
    的頭像 發(fā)表于 07-19 00:16 ?4452次閱讀

    英國(guó)公司實(shí)現(xiàn)英偉達(dá)CUDA軟件在AMD GPU上的無(wú)縫運(yùn)行

    7月18日最新資訊,英國(guó)創(chuàng)新科技企業(yè)Spectral Compute震撼發(fā)布了其革命性GPGPU編程工具包——“SCALE”,該工具包實(shí)現(xiàn)了英偉達(dá)CUDA軟件在AMD GPU上的無(wú)縫遷移與運(yùn)行,標(biāo)志著在GPU計(jì)算領(lǐng)域,NVIDIA長(zhǎng)期以來(lái)的市場(chǎng)壟斷地位或?qū)⒂瓉?lái)重大挑戰(zhàn)。
    的頭像 發(fā)表于 07-18 14:40 ?580次閱讀

    軟件生態(tài)上超越CUDA,究竟有多難?

    神壇的,還是圍繞CUDA打造的一系列軟件生態(tài)。 ? 英偉達(dá)——CUDA的絕對(duì)統(tǒng)治 ? 相信對(duì)GPU有過(guò)一定了解的都知道,英偉達(dá)的最大護(hù)城河就是CUDACUDA在后端架構(gòu)上處于絕對(duì)的統(tǒng)
    的頭像 發(fā)表于 06-20 00:09 ?3439次閱讀

    借助NVIDIA Aerial CUDA增強(qiáng)5G/6G的DU性能和工作負(fù)載整合

    Aerial CUDA 加速無(wú)線接入網(wǎng) (RAN)可加速電信工作負(fù)載,使用 CPU、GPU 和 DPU 在云原生加速計(jì)算平臺(tái)上提供更高水平的頻譜效率 (SE)。
    的頭像 發(fā)表于 05-24 11:10 ?511次閱讀
    借助<b class='flag-5'>NVIDIA</b> Aerial <b class='flag-5'>CUDA</b>增強(qiáng)5G/6G的DU性能和工作負(fù)載整合

    NVIDIA 通過(guò) CUDA-Q 平臺(tái)為全球各地的量子計(jì)算中心提供加速

    —— NVIDIA 于今日宣布將通過(guò)開(kāi)源的 NVIDIA CUDA-Q? 量子計(jì)算平臺(tái),助力全球各地的國(guó)家級(jí)超算中心加快量子計(jì)算的研究發(fā)展。 ? 德國(guó)、日本和波蘭的超算中心將使用該平臺(tái)來(lái)賦能他們由
    發(fā)表于 05-13 15:21 ?180次閱讀
    <b class='flag-5'>NVIDIA</b> 通過(guò) <b class='flag-5'>CUDA</b>-Q 平臺(tái)為全球各地的量子計(jì)算中心提供加速

    Keil使用AC6編譯提示CUDA版本過(guò)高怎么解決?

    \' ArmClang: warning: Unknown CUDA version 10.2. Assuming the latest supported version 10.1
    發(fā)表于 04-11 07:56

    基于NVIDIA開(kāi)源CUDA-Q量子計(jì)算平臺(tái)發(fā)布

    NVIDIA 于太平洋時(shí)間 3 月 18 日推出一項(xiàng)云服務(wù),旨在幫助研究人員和開(kāi)發(fā)人員在化學(xué)、生物學(xué)、材料科學(xué)等關(guān)鍵科學(xué)領(lǐng)域的量子計(jì)算研究中取得突破。
    的頭像 發(fā)表于 03-21 09:54 ?390次閱讀

    深度解讀Nvidia AI芯片路線圖

    Nvidia是一個(gè)同時(shí)擁有 GPU、CPU和DPU的計(jì)算芯片和系統(tǒng)公司。Nvidia通過(guò)NVLink、NVSwitch和NVLink C2C技術(shù)將CPU、GPU進(jìn)行靈活連接組合形成統(tǒng)一的硬件架構(gòu),并于CUDA一起形成完整的軟硬件
    發(fā)表于 03-13 09:25 ?791次閱讀
    深度解讀<b class='flag-5'>Nvidia</b> AI芯片路線圖

    OpenCV4.8 C++實(shí)現(xiàn)YOLOv8 OBB旋轉(zhuǎn)對(duì)象檢測(cè)

    YOLOv8框架在在支持分類(lèi)、對(duì)象檢測(cè)、實(shí)例分割、姿態(tài)評(píng)估的基礎(chǔ)上更近一步,現(xiàn)已經(jīng)支持旋轉(zhuǎn)對(duì)象檢測(cè)(OBB),基于DOTA數(shù)據(jù)集,支持航拍圖像的15個(gè)類(lèi)別
    的頭像 發(fā)表于 02-22 10:15 ?1425次閱讀
    OpenCV4.8 C++實(shí)現(xiàn)YOLOv8 OBB旋轉(zhuǎn)<b class='flag-5'>對(duì)象</b><b class='flag-5'>檢測(cè)</b>

    對(duì)象檢測(cè)邊界框損失函數(shù)–從IOU到ProbIOU介紹

    目標(biāo)檢測(cè)損失函數(shù)的選擇在目標(biāo)檢測(cè)問(wèn)題建模中至關(guān)重要。通常,目標(biāo)檢測(cè)需要兩個(gè)損失函數(shù),一個(gè)用于對(duì)象分類(lèi),另一個(gè)用于邊界框回歸(BBR)。
    的頭像 發(fā)表于 01-24 10:50 ?2502次閱讀
    <b class='flag-5'>對(duì)象</b><b class='flag-5'>檢測(cè)</b>邊界框損失函數(shù)–從IOU到ProbIOU介紹

    YOLOv8實(shí)現(xiàn)旋轉(zhuǎn)對(duì)象檢測(cè)

    YOLOv8框架在在支持分類(lèi)、對(duì)象檢測(cè)、實(shí)例分割、姿態(tài)評(píng)估的基礎(chǔ)上更近一步,現(xiàn)已經(jīng)支持旋轉(zhuǎn)對(duì)象檢測(cè)(OBB),基于DOTA數(shù)據(jù)集,支持航拍圖像的15個(gè)類(lèi)別
    的頭像 發(fā)表于 01-11 10:43 ?1646次閱讀
    YOLOv8實(shí)現(xiàn)旋轉(zhuǎn)<b class='flag-5'>對(duì)象</b><b class='flag-5'>檢測(cè)</b>

    什么是CUDA?誰(shuí)能打破CUDA的護(hù)城河?

    在最近的一場(chǎng)“AI Everywhere”發(fā)布會(huì)上,Intel的CEO Pat Gelsinger炮轟NvidiaCUDA生態(tài)護(hù)城河并不深,而且已經(jīng)成為行業(yè)的眾矢之的。
    的頭像 發(fā)表于 12-28 10:26 ?1.2w次閱讀
    什么是<b class='flag-5'>CUDA</b>?誰(shuí)能打破<b class='flag-5'>CUDA</b>的護(hù)城河?

    OpenCV4.8 CUDA編程代碼教程

    OpenCV4支持通過(guò)GPU實(shí)現(xiàn)CUDA加速執(zhí)行,實(shí)現(xiàn)對(duì)OpenCV圖像處理程序的加速運(yùn)行,當(dāng)前支持加速的模塊包括如下。
    的頭像 發(fā)表于 12-05 09:56 ?958次閱讀
    OpenCV4.8 <b class='flag-5'>CUDA</b>編程代碼教程

    OpenCV4.8+CUDA+擴(kuò)展模塊支持編譯指南

    OpenCV4.8+CUDA+擴(kuò)展模塊支持編譯指南
    的頭像 發(fā)表于 11-30 16:45 ?888次閱讀
    OpenCV4.8+<b class='flag-5'>CUDA</b>+擴(kuò)展模塊支持編譯指南