-
使用NVIDIA CUDA-Pointpillars检测点云中的对象
- 网站名称:使用NVIDIA CUDA-Pointpillars检测点云中的对象
- 网站分类:技术文章
- 收录时间:2025-07-08 14:40
- 网站地址:
“使用NVIDIA CUDA-Pointpillars检测点云中的对象” 网站介绍
点云是坐标系中的点数据集。点包含丰富的信息,包括三维坐标(X、Y、Z)、颜色、分类值、强度值和时间等。点云主要来自于各种 NVIDIA Jetson 用例中常用的激光雷达,如自主机器、感知模块和 3D 建模。
其中一个关键应用是利用远程和高精度的数据集来实现 3D 对象的感知、映射和定位算法。
PointPillars 是最常用于点云推理的模型之一。本文将探讨为 Jetson 开发者提供的 NVIDIA CUDA 加速 PointPillars 模型。
什么是CUDA-Pointpillars
本文所介绍的 CUDA-Pointpillars 可以检测点云中的对象。其流程如下:
- 基本预处理:生成柱体。
- 预处理:生成 BEV 特征图(10 个通道)。
- 用于 TensorRT 的 ONNX 模型:通过 TensorRT 实现的 ONNX 模式。
- 后处理:通过解析 TensorRT 引擎输出生成边界框。
基本预处理
基本预处理步骤将点云转换为基本特征图。基本特征图包含以下组成部分:
- 基本特征图。
- 柱体坐标:每根柱体的坐标。
- 参数:柱体数量。
预处理
预处理步骤将基本特征图(4 个通道)转换为 BEV 特征图(10 个通道)。
用于TensorRT的ONNX模型
出于以下原因修改 OpenPCDet 的原生点柱:
- 小型操作过多,并且内存带宽低。
- NonZero 等一些 TensorRT 不支持的操作。
- ScatterND 等一些性能较低的操作。
- 使用“dict”作为输入和输出,因此无法导出 ONNX 文件。
为了从原生 OpenPCDet 导出 ONNX,我们修改了该模型(图 4)。
您可把整个 ONNX 文件分为以下几个部分:
- 输入:BEV 特征图、柱体坐标、参数,均在预处理中生成。
- 输出:类、框、Dir_class,在后处理步骤中解析后生成一个边界框。
- ScatterBEV:将点柱(一维)转换为二维图像,可作为 TensorRT 的插件。
- 其他:TensorRT 支持的其他部分。
后处理
在后处理步骤中解析 TensorRT 引擎的输出(class、box和dir_class)和输出边界框。图6 所示的是示例参数。
使用CUDA-PointPillars
若要使用 CUDA-PointPillars,需要提供点云的 ONNX 模式文件和数据缓存:
std::vector<Bndbox> nms_pred;
PointPillar pointpillar(ONNXModel_File, cuda_stream);
pointpillar.doinfer(points_data, points_count, nms_pred);
将OpenPCDet训练的原生模型转换为CUDA-Pointpillars的ONNX文件
我们在项目中提供了一个Python脚本,可以将 OpenPCDet 训练的原生模型转换成 CUDA-Pointpillars 的 ONNX 文件。可在 CUDA-Pointpillars 的 /tool 目录下找到 exporter.py 脚本。
可在当前目录下运行以下命令获得 pointpillar.onnx 文件:
$ python exporter.py --ckpt ./*.pth
性能
下表显示了测试环境和性能。在测试之前提升 CPU 和 GPU 的性能。
Jetson | Xavier NVIDIA AGX 8GB |
版本 | NVIDIA JetPack 4.5 |
CUDA | 10.2 |
TensorRT | 7.1.3 |
推理时间 | 33 ms |
表1 测试平台和性能
开始使用CUDA-PointPillars
本文介绍了什么是 CUDA-PointPillars 以及如何使用它来检测点云中的对象。
由于原生 OpenPCDet 无法导出 ONNX,而且对于 TensorRT 来说,性能较低的小型操作数量过多,因此我们开发了 CUDA-PointPillars。该应用可以将 OpenPCDet 训练的原生模型导出为特殊的 ONNX 模型,并通过 TensorRT 推断 ONNX 模型。
点击链接:
https://github.com/NVIDIA-AI-IOT/CUDA-PointPillars,
立即下载 CUDA-PointPillars。
更多相关网站
- [解决] 安装pytorch后 torch.cuda.is_available()结果为false
- InstantID模型部署教程(instancemodificationevent)
- COLORFIRE GeForce RTX 5060橘影橙显卡评测:强25%DLSS 4启动器
- 【分享】在普通Windows电脑上部署DeePseek R1训练数据并共享服务
- 一步一步学习windows下安装部署deepseek 打造个人知识库(一)
- 程序员必备:一款功能强大的跨平台文本编辑器CudaText及全部插件
- CUDA——windows系统安装(cuda 8.0安装)
- 在Windows 11上部署DeepSeek 3B本地模型:从零开始,轻松搞定!
- 10款高性能视频制作软件分享:新手必备的简单软件
- NVIDIA Jetson 系列文章(10):从头创建Jetson的容器(1)
- 手把手教本地部署Xinference + deepseek-R1、reranker-v2、bge-m3
- 实战搭建深度学习运行(如何搭建深度学习的环境)
- GPU-Z 0.8.5发布:全面支持Windows 10
- 手把手教你 在Pytorch框架上部署和测试关键点人脸检测项目DBFace
- windows10安装最新tensorflow-gpu指南(2条指令搞定)
- 能跑源码,还提供数据集:这里有一个入门企业级验证码识别项目
- ubuntu22.04安装NVIDIA、CUDA、CUDNN详细步骤
- windows下安装大模型加速包flash-attn
- 最近发表
-
- UpdatePack7R2 24.3.13 补丁包(适合WIN7 2008)
- 磁盘分区对齐详解与配置(磁盘分区分配)
- AndroidStudio_Android使用OkHttp发起Http请求
- 微软官方:2016年1月12日终止旧版IE支持
- 免费让你的win 7获得3年更新!让你的电脑系统重获新生
- AutoCAD各版本对应的R版本参数值及图形的不同版本代号
- C#一行代码搞定OCR(c# readline指定行)
- IE7浏览器明年初退休 Vista又亮了
- 2N3904是什么管?2N3904引脚图和参数+2N3904用途+2种应用实例
- 「操作系统」Windows 7 SP1 旗舰版C大集成更新优化版镜像
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 二调符号库 (23)
- acmecadconverter_8.52绿色版 (25)
- f12019破解 (16)
- 流星蝴蝶剑修改器 (18)
- np++ (17)
- 梦幻诛仙表情包 (36)
- 魔兽模型 (23)
- java面试宝典2019pdf (26)
- beamoff下载 (17)
- disk++ (30)
- vncviewer破解版 (20)
- word文档批量处理大师破解版 (19)
- pk10牛牛 (20)
- 加密与解密第四版pdf (29)
- jemeter官网 (16)
- iteye (26)
- parsevideo (22)
- ckeditor4中文文档 (20)
- centos7.4下载 (32)
- cuda10.1下载 (22)
- intouch2014r2sp1永久授权 (33)