使用NVIDIA CUDA-Pointpillars检测点云中的对象

描述

点云是坐标系中的点数据集。点包含丰富的信息,包括三维坐标(X、Y、Z)、颜色、分类值、强度值和时间等。点云主要来自于各种NVIDIA Jetson用例中常用的激光雷达,如自主机器、感知模块和3D建模。

其中一个关键应用是利用远程和高精度的数据集来实现3D对象的感知、映射和定位算法。

PointPillars是最常用于点云推理的模型之一。本文将探讨为Jetson开发者提供的NVIDIA CUDA加速PointPillars模型。马上下载CUDA-PointPillars模型。

什么是CUDA-Pointpillars

本文所介绍的CUDA-Pointpillars可以检测点云中的对象。其流程如下:

基本预处理:生成柱体。

预处理:生成BEV特征图(10个通道)。

用于TensorRT的ONNX模型:通过TensorRT实现的ONNX模式。

后处理:通过解析TensorRT引擎输出生成边界框。

数据集

图 1 。 CUDA 点柱管道。

基本预处理

基本预处理步骤将点云转换为基本特征图。基本特征图包含以下组成部分:

基本特征图。

柱体坐标:每根柱体的坐标。

参数:柱体数量。

数据集

 

图 2 。将点云转换为基础要素地图

预处理

预处理步骤将基本特征图(4个通道)转换为 BEV 特征图(10个通道)。

数据集

图 3 。将基本要素地图转换为 BEV 要素地图

用于TensorRT的ONNX模型

出于以下原因修改OpenPCDet的原生点柱:

小型操作过多,并且内存带宽低。

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

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

使用“dict”作为输入和输出,因此无法导出ONNX文件。

为了从原生OpenPCDet导出ONNX,我们修改了该模型(图4)。

数据集

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

您可把整个ONNX文件分为以下几个部分:

输入:BEV特征图、柱体坐标、参数,均在预处理中生成。

输出:类、框、Dir_class,在后处理步骤中解析后生成一个边界框。

ScatterBEV:将点柱(一维)转换为二维图像,可作为TensorRT的插件。

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

数据集

图 5 。将点支柱数据散射到二维主干的二维图像中。

后处理

在后处理步骤中解析TensorRT引擎的输出(class、box和dir_class)和输出边界框。图6所示的是示例参数。

数据集

 

图 6 。边界框的参数。

  使用 CUDA PointPillars

  若要使用CUDA-PointPillars,需要提供点云的ONNX模式文件和数据缓存:

 std::vector 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的性能。

数据集
表 1  测试平台与性能

  开始使用 CUDA PointPillars

  本文介绍了什么是CUDA-PointPillars以及如何使用它来检测点云中的对象。

  由于原生OpenPCDet无法导出ONNX,而且对于TensorRT来说,性能较低的小型操作数量过多,因此我们开发了CUDA-PointPillars。该应用可以将OpenPCDet训练的原生模型导出为特殊的ONNX模型,并通过TensorRT推断ONNX模型。

  关于作者

  Lei Fan 是 NVIDIA 的高级 CUDA 软件工程师。他目前正与 TSE 中国团队合作,开发由 CUDA 优化软件性能的解决方案。

  Lily Li 正在为 NVIDIA 的机器人团队处理开发人员关系。她目前正在 Jetson 生态系统中开发机器人技术解决方案,以帮助创建最佳实践。

  审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分