Structure Aware single-stage 3D Object Detection from Point Cloud

声明

原文链接
代码

摘要

当前的单级检测器通过以完全卷积的方式逐步缩小3D点云的尺度是有效的。
然而,缩小后的特征不可避免的丢失了空间信息,不能充分利用三维点云的结构信息,降低了其定位的精度。
本文中,建议通过,明确利用三维点云的结构信息来提高单级检测器的定位精度。
设计了一个辅助网络,将主干网络中的卷积特征转换回点级表示。辅助网络通过两个点级监督进行联合优化。辅助网络可以在训练后分离,因此在推理阶段不引入额外的计算。
考虑到单级检测器存在预测边界框与相应分类置信度之间的不一致性,开发了一种有效的lpart-sensitive warping 操作,将置信度与预测边界框对齐。
在KITTI 3D/BEV检测排行榜上名列前茅,推理速度为25FPS。

引言

与普通的二维目标检测仅从图像平面估计二维边界框不同,自动驾驶车辆需要从真实世界估计信息量更大的三维边界框,以完成路径规划和碰撞避免等高级任务。
当前的点云3D目标检测可以分为两大类:即单阶段和双阶段。单阶段方法将稀疏3D点云解析为紧凑表示,如:图书网格或鸟瞰图,并使用CNN以完全卷积的方式直接预测边界框。这使得单阶段方法通常简单有效。然而,逐渐缩小的特征映射不可避免的损失了空间分辨率,不能明确的考虑点云数据的结构信息,使得单级检测器对稀疏点云的处理不准确。如Fig1在这里插入图片描述
可以在第二阶段利用更精确地空间信息只关注第一阶段预测的感兴趣区域(ROI),从而预测更精确地边界框。这揭示了利用点云的细粒度空间信息实现精确定位的重要性。然而,对每个点进行操作并为每个ROI重新提取特征会大大增加计算成本,使得两阶段方法难以达到实时速度。

在这里插入图片描述
基于两级检测器的高精度,本文提出利用细粒度结构信息来提高定位精度,同时保持单级方法的高效率。
设计了一个结构感知的单级3D物体检测器,如Fig2,除了主干网络生成用于边界框预测的缩小特征外,检测器还包括一个辅助网络,用于引导主干网络通过点级监控学习更多的区分特征。
具体说,辅助网络首先将猪肝网络中的特征转换回逐点表示,然后执行两个辅助任务:前景分割使特征对目标边界敏感,逐点中心估计使得特征了解目标内部关系。
辅助网络在训练阶段与骨干网络联合优化,训练后移除,在推理阶段不引入额外的计算成本

此外,单级检测器通常在预测的边界框和相应的分类置信度之间存在偏差。
具体而言,分类可信度与所使用特征图的当前位置相关,而预测的边界框通常偏离其当前位置。这种不对齐可能导致NMS后处理结果不理想。
开发了一种有效的part-sensitive warping方法,通过对分类特征执行空间变换,将分类可信度与预测的边界框对齐,使我们的模型生成更可靠的可信度图。

贡献是双重的。

(1) 我们提出了一种结构感知的单级三维目标检测器,该检测器采用可分离的辅助网络来学习结构信息,并且在不增加额外成本的情况下具有更好的定位性能。

(2) 我们开发了一种有效的特征映射扭曲方法,以减少预测边界盒和相应分类可信度之间的不一致性,以可忽略的成本提高检测精度。

架构

Structure-Aware 3D Object Detection via Auxiliary Network learning

1.Backbone and detection networks
Input data representation
以前的工作通常通过将点云划分为体素网格并将每个体素特征表示为输入张量的非零输入,将点云编码为三维稀疏张量。然而,体素化是一种耗时的预处理方式。
为简单起见,通过将点的坐标量化为张量指数,直接将每个点表示为输入张量的非零项。根据相关索引,迭代地将每个点分配给输入张量的条目。如果多个点共享同一个索引,将用最新的点覆盖条目。
这种预处理。
这种预处理方法很有效的,足以在更精确地细化的量化步长下实现合理的性能

Network architecture
该网络包括四个卷积块,每个卷积块由核大小为3的子流形卷积组成。最后三个块包含额外的稀疏卷积,步长为2.每个卷积之后是批量标准化和ReLU非线性激活。
因此,主干网络以不同的空间分辨率生成多级特征图。
检测网络通过将沿深度维度的特征向量连接到一个通道中,将主干输出的特征映射重塑为BEV表示。然后采用6个标准的33非线性卷积进一步提取特征。应用两个没有非线性的同级11卷积来生成特定于任务的像素级预测:一个part-sensitive 分类图的集合和一个对定向3D目标的锚定偏移进行编码的回归图。
2.Detachable auxiliary network
Motivation
通常,从点云中提取的下采样卷积特征将不可避免的丢失结构细节,而这些细节对于生成准确的定位至关重要。
Fig3表示了从2D点集检测目标的一边实例。
在这里插入图片描述
(a)仅检测到来自目标的几个点,并且在其边界附近存在一些背景点。其中目标远离传感器,并被其他不感兴趣的物体遮挡。随着CNN逐渐降低点云的空间分辨率,一些目标点可能淹没在背景点中,导致目标边界处的特征在低分辨率特征空间中被错误分类
(b)该模型被误导,并生成低质量的边界框。通过构建一个带有点级监控的辅助网络,以引导主干CNN不同阶段的中间特征来学习点云的细粒度结构。为此,首先需要将提取的CNN特征转换回逐点表示。

Point-wise feature representation
辅助网络如Fig2所示,首先根据当前阶段的量化步骤将主干特征的每个非零索引转换为现实世界的坐标,以便以逐点形式表示每个主干特征。
为了生成全分辨率逐点特征,在每个阶段使用特征传播层,在原始点云的坐标处插入主干特征。对于插值,使用相邻区域中所有点之间的逆距离加权平均值。
在这里插入图片描述
N表示一个球体区域,每个阶段的半径分别为0.05m、0.1m、0.2m和0.4m。通过跨阶段链接连接这些逐点特征,并应用浅层预测器生成特定于任务的输出。该预测器由一个共享的多层感知器实现,神经元大小(64,64,64),并通过单位点卷积生成两个特定于任务的输出。

Auxiliary tasks
首先引入一个逐点前景分割任务来引导主干CNN在目标边界中学习更多的区分模式。
具体来说,对分割分支使用一个Sigmoid函数来预测每个点的前景/背景概率。让他成为一个二进制标签来指示一个点是否落入地面真实值边界框。前景分割任务可以通过focal loss进行优化。
在这里插入图片描述
上述分割任务使得主干网络能够更精确地检测目标边界,如Fig3(c)所示。使用更精确地特征图,模型可以生成更精确地边界框。
然而,即使精确地检测到边界点,由于特征图非常稀疏,在确定边界框的比例和形状时仍然存在模糊性。为了进一步提高定位精度,使用另一个辅助任务来学习每个目标点到目标中心的相对位置。如Fig3(d)所示,该目标内关系有助于确定目标的比例和形状,从而实现更精确定位。
中心估计任务可以通过Smooth-l1 loss进行优化。
在这里插入图片描述
3.Part-sensitive warping
为了解决预测边界框和相应置信度之间的不对齐问题,提出了一种part-sensitive warping 操作,作为PSRoIAlign的有效变体,通过对特征图执行空间变换,将置信度与预测边界框对齐。首先修改最后一个分类层以生成part-sensitive分类图,每个分类图对目标某个部分的信息进行编码。同时将每个特征映射位置的预测边界框划分为子窗口,并选择每个窗口的中心位置作为采样点。通过这种方式,可以生成采样网格,每个网格都与分类图关联。
在这里插入图片描述
与PSRoIAlign和其他基于RoI的方法相比,PSWarp更高效,因为他减轻了使用NMS从密集特征映射生成RoI的需求。他只考虑每个子窗口中的一个像素,因此具有与标准卷积相同的计算复杂度。
4.Loss Function
应用基于公共锚点的设置来优化主网络。分别对回归分支和分类分支施加的两个损失,focal loss 和平滑损失。通过应用梯度下降法联合优化检测任务和辅助任务,以最小化以下损失的加权和。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学一点@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值