开始使用pointpillar
PointPillars是一种使用二维卷积层进行三维对象检测的方法。pointcolumns网络有一个可学习的编码器,它使用PointNets来学习以柱(垂直列)组织的点云的表示。然后,该网络运行一个二维卷积神经网络(CNN)来产生网络预测,对预测进行解码,并为不同的对象类别(如汽车、卡车和行人)生成3-D边界框。
PointPillars网络有以下几个主要阶段。
使用特征编码器将点云转换为稀疏伪图像。
使用二维卷积主干将伪图像处理为高级表示。
使用检测头检测和回归3D边界框。
PointPillars网络
pointcolumns网络需要两个输入:作为P-by-2和支柱特征为P——- - - - - -N——- - - - - -K矩阵。P是网络中柱子的数量,N每根柱子的点数是多少K为特征维。
网络从一个特征编码器开始,这是一个简化的点网。它包含一系列卷积层、批处理范数层和relu层,后面是一个最大池化层。末端的散点层使用柱索引将提取的特征映射到二维空间。
接下来,该网络有一个由编码器-解码器块组成的二维CNN主干。每个编码器块由卷积层、批处理范数层和relu层组成,以提取不同空间分辨率的特征。每个译码块由转置卷积层、批处理范数层和relu层组成。
然后,网络将每个解码器块末端的输出特征连接起来,并将这些特征通过六个具有卷积和sigmoid层的探测头,以预测占用率、位置、大小、角度、航向和等级。
创建PointPillars网络
您可以使用深层网络设计师(深度学习工具箱)app来交互创建point柱子深度学习网络。要以编程方式创建pointcolumns网络,请使用pointPillarsObjectDetector
对象。
转移学习
方法重新配置预先训练的pointcolumns网络pointPillarsObjectDetector
对象执行迁移学习。指定新的对象类和相应的锚框,以便在新的数据集上训练网络。
训练pointcolumns对象检测器并执行对象检测
使用trainPointPillarsObjectDetector
功能来训练PointPillars网络。若要在经过训练的pointcolumns网络上执行对象检测,请使用检测
函数。有关如何训练pointcolumns网络的更多信息,请参见基于pointcolumns深度学习的激光雷达三维物体检测.
代码生成
要了解如何为PointPillars网络生成CUDA®代码,请参见基于pointcolumns深度学习的激光雷达目标检测代码生成.
参考文献
郎,亚历克斯·H.,索拉布·沃拉,霍尔格·凯撒,周陆兵,杨炯,奥斯卡·贝博姆。PointPillars:用于点云对象检测的快速编码器2019 IEEE/CVF计算机视觉与模式识别会议(CVPR), 12689 - 97。美国加利福尼亚州长滩:IEEE, 2019。https://doi.org/10.1109/CVPR.2019.01298.
Hesai和Scale。PandaSet。https://scale.com/open-datasets/pandaset.
另请参阅
应用程序
对象
功能
相关的例子
更多关于
- MATLAB中的深度学习(深度学习工具箱)
- 开始使用深度学习的点云