首页IT科技三维目标的具体内容是什么(【三维目标检测】CenterPoint(一))

三维目标的具体内容是什么(【三维目标检测】CenterPoint(一))

时间2025-09-15 08:49:35分类IT科技浏览7384
导读: CenterPoint是一种anchor free的三维目标检测算法模型,发表在CVPR 2021,论文名称为《Center-based 3D Object Detection and Tracking》。其主要特点在于通过预测物体的中...

        CenterPoint是一种anchor free的三维目标检测算法模型                ,发表在CVPR 2021                             ,论文名称为《Center-based 3D Object Detection and Tracking》                。其主要特点在于通过预测物体的中心点来进行目标检测和位置回归         ,而不需要预先产生大量候选框(anchor)                             。因而            ,这种方法的后处理更加简洁                            ,相邻目标可通过直接选择热力图中心点来确定最终目标              ,不需要非极大值抑制(NMS)操作来合并重叠的候选框         。但这也会带来一个缺点        ,CenterPoint无法区分同类型且中心点接近的目标            。CenterPoint可看作是二维CorneNet和CenterNet到三维空间的一个扩展                            。因此                           ,了解CornerNet和CenterNet模型有利于加深对CenterPoint的理解              。CenterPoint和CenterNet来源于同一个课题组的研究成果        。在nuScenes数据集的3D检测和跟踪任务中                   ,单阶段的CenterPoint模型的NDS为65.5    ,AMOTA为63.8                           。

1 源码与输入数据

        接下来介绍的源码来源于mmdetection3d框架中的CenterPoint模型                   。mmdetection3d安装和调试验证可参考本专栏之前的博客【mmdetection3d】mmdetection3d安装详细步骤_Coding的叶子的博客-CSDN博客_mmdetection3d安装                          ,里面有详细介绍    。

        数据采用的是nuScenes数据集                        ,完整版和Mini版均可                          。NuScenes数据集详细介绍请参考博文:nuScenes数据集详细介绍_Coding的叶子的博客-CSDN博客_nuscence数据集                        。

2 mmdetection3d nuScenes数据处理与模型训练

        mmdetection3d NuScenes处理过程请参考博文:mmdetection3d nuScenes (持续更新)_Coding的叶子的博客-CSDN博客。

        完整版NuScenes处理命令为:

python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes

        Mini版NuScenes处理命令为:

python tools/create_data.py nuscenes --version v1.0-mini --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes

        在进行程序研究或调试时,建议直接采用Mini 版NuScenes                     ,下载速度较快且占用存储空间较小                     。mmdetection3d NuScenes数据集预处理完成之后                             ,运行下述命令即可开始CenterPoint训练                             。

python tools/train.py configs/centerpoint/centerpoint_0075voxel_second_secfpn_4x8_cyclic_20e_nus.py

3 CenterPoint简介

        CenterPoint模型的整体结构如下图所示    ,由最初的一阶段模型扩展为了两阶段模型    。第二阶段负责对第一阶段的检测结果进行微调修正                ,与基于候选框的两阶段目标检测思想基本一致                。这里重点介绍CenterPoint的第一个阶段                             ,并且单阶段的CenterPoint可直接完成对三维目标的检测                             。

图1 CenterPoint模型结构

        CenterPoint模型的关键数据和路径包含如下几个方面         。带着这几个关键点来深入理解算法程序时效率会大大提高            。

3.1 输入数据

        输入数据来源于nuScenes的顶部激光雷达点云数据                            。点云数据包含了空间三维坐标x                、y                             、z         、雷达反射强度和雷达线束序号         ,共5个维度              。线束序号取值范围0~31            ,即雷达的32线        。数据包括10个类别                            ,分属6个大类              ,如下所示                           。

[[car],  [truck, construction_vehicle],  [bus, trailer],  [barrier],  [motorcycle, bicycle],  [pedestrian, traffic_cone]]

3.2 真实标签

        真实标签主要包括中心偏移(dx            、dy)                            、高度(z)              、尺寸对数(log(size_x)        、log(size_y)                           、log(size_z))                   、偏航角正弦值(sin(rot))    、偏航角余弦值(cos(rot))                          、速度(vx                        、vy)和热力图(heatmap)                   。

        每个热力图检测一个小类目标        ,即场景中相同类型目标的中心由同一个特征图来预测    。因此                           ,在计算热力图的真实标签时                   ,同一类型多目标的高斯热力图可能会出现重叠    ,重叠时保留最大值                          。另一方面                          ,在预测时                        ,如果相邻的预测中心点其热力图峰值也相近,而后处理直接以最大取值作为最终预测结果                        。因此                     ,CenterPoint无法区分同类型且中心点接近的目标。

3.3 模型推理

        CenterPoint模型推理过程如下:

输入点云通过体素化和稀疏卷积特征得到256x180x180特征图                             ,尺度为180x180    ,特征维度为256                     。 特征图通过Second主干网络和Neck拼接得到512x180x180维特征                             。 由于输入数据被分为了6个大类                ,且每个热力图仅预测一类目标                             ,因而模型预测任务也被分为6个Head    。每个Head分别预测相应类别目标的位置偏移(reg         ,2x180x180)、高度(height            ,1x180x180)                     、尺寸(dim                            ,3x180x180)                             、偏航角(rot              ,2x180x180)    、速度(vel        ,2x180x180)                、热力图(heatmap                           ,Kx180x180)                。其中                   ,热力图维度中的K表示每个大类下的子类别个数    ,进步确定一个热力图只能预测一个类别                             。

        模型推理预测的结果与真实标签一一对应         。热力图的损失函数为GaussianFocalLoss            。其它预测值的损失函数为L1Loss                          ,并且速度损失权重为0.2                        ,其它权重均为1.0                            。

4 模型结构与代码详解

        模型详细结构及推理过程请参考下一篇博客:【三维目标检测】CenterPoint(二)_Coding的叶子的博客-CSDN博客              。

5【python三维深度学习】python三维点云从基础到深度学习_Coding的叶子的博客-CSDN博客_三维点云深度学习

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
java值传递和引用传递例子(死磕面试系列,Java到底是值传递还是引用传递?) 怎样做网站的优化、排名(怎么做网站优化排名)