详解一阶段3D物体检测网络 SE-SSD: Self-Ensembling Single-Stage Object Detector From Point Cloud


本文介绍一篇一阶段的3D物体检测网络:SE-SSD,论文已收录于 CVPR 2021。 这里重点是理解本文提出的 Consistency LossOrientation-Aware Distance-IoU LossShape-Aware Data Augmentation

论文链接为:https://arxiv.org/pdf/2104.09804.pdf (中文翻译)

项目链接为:https://github.com/Vegeta2020/SE-SSD


0. Abstract

这里先给出本文摘要:

针对室外点云数据,作者提出了一个准确而又高效的3D物体检测模型:SE-SSD。其关注点是使用 soft 目标和 hard 目标以及制定的约束来共同优化模型,且在推理中不引入额外计算量(这里 soft 为 teacher 模型预测的目标,hard 为标注的目标)。

具体来说:

  • SE-SSD 包含一对 teacherstudentSSD 模型,作者设计了一个有效的 IOU-based 匹配策略来过滤 teacher 预测的 soft 目标,并使用一致性损失来使 student 的预测和 teacher 预测保持一致。
  • 此外,为了使teacher 模型的蒸馏知识最大化,作者设计了一种新的数据增强方案来训练 student模型,以推断出物体的完整形状。
  • 最后,为了更好地利用 hard 目标,作者还设计了一个 ODIoU 损失来监督student 模型预测的 bbox 中心和方向。

KITTI 数据集上,目前在开源项目中排名暂列第一(截至2021-06-17)。
在这里插入图片描述


1. Introduction & Related Work

( 本文的引言部分和第二部分研究现状这里就不详细介绍了,大家可以查看原文,我在这里大致总结下。)

在追求高效率的同时,为了提高物体3D检测精度,本文设计了具有一对 teacher SSDstudent SSDSE-SSD模型。

  • teacher 模型由 student 模型集成而来 ,可以得到相对更精确的边界框和置信度,可作为监督 student 模型的 soft 目标。与 hard 目标相比,来自 teachersoft 目标通常有更高的信息熵,从而为 student 模型 提供了更多可学习的信息。因此,本文利用 soft 目标和 hard 目标以及制定的约束来共同优化模型,且不需要额外的推理时间。
  • 为了使 student 预测的边界框和置信度更好地与 soft 目标保持一致,作者设计了一种有效的 IOU-based 匹配策略来过滤 soft 目标,并将其与 student 的预测进行配对,并利用一致性损失减少它们之间的错位。
  • 另一方面,为了使 student 模型能够探索更大的数据空间,在传统的数据增强策略之上设计了新的数据增强方案,即以一种形状感知的方式生成增强样本。通过该方案,模型可以从不完整的信息中推断出物体完整的形状。是一个即插即用的3D检测通用模块。
  • 此外,因为 hard目标是模型收敛的最终目标,为了更好地利用它们,本文提出了一种新的 orientation-aware distance-IoU (ODIOU) 损失,监督 student 预测的 bbox 中心和方向。

下面介绍研究现状,作者将3D物体检测分为一阶段和两阶段来介绍:

  • Two-stage Object DetectorsPointRCNN,Part-A2,STD,PV-RCNN,3D-CVF,CLOCs
  • Single-stage Object DetectorsVoxelNet,PointPillar,SECOND,TANet,Point-GNN,3DSSD,Associate-3Ddet,SA-SSD,CIA-SSD

下图是 SE-SSD 与其它3D物体检测器在 3D和BEV上检测效果的比较,其每一帧处理时间为30.56ms。

在这里插入图片描述


2. Self-Ensembling Single Stage Detector (重点)

2.1 Overall Framework

SE-SSD网络框架如下图所示,左边是Teacher SSD,右边是Student SSD,两个SSD同时训练(两个SSD网络结构相同)。训练时,先使用预训练好的SSD模型来初始化teacher SSDstudent SSD。整个网络框架包含两个处理路径:

  • 第一个路径(蓝色箭头所示),teacher SSD 从输入点云生成相对精确的预测。然后,对预测结果进行全局转换,并将其作为 soft 目标来监督 student SSD
  • 第二个路径(绿色箭头所示),通过与第一条路径相同的全局转换 对点云进行扰动处理,再加上本文提出的形状感知数据增强方案。然后,将增强后的数据输入到 student SSD 进行训练,这里student预测时使用了一致性损失(与soft进行对齐);我们也用hard目标来监督student预测的方向感知距离损失。

训练中,迭代更新两个SSD模型:使用上述提到的两个损失来优化 student SSD,并对 student SSD参数通过标准指数移动平均(EMA)更新teacher SSD。因此,teacher SSD 可以从 student SSD 那里获得蒸馏知识,并产生 soft 目标来监督 student SSD
在这里插入图片描述
teacher and student SSD模型结构: 模型与 CIA-SSD模型结构相同,但移除了置信度函数和DI-NMS。包含一个稀疏卷积网络(SPConvNet),一个BEV卷积网络(BEVConvNet)和一个multi-task head (MTHead)。点云经过体素化后处理,计算每个体素的平均3D坐标和点密度来作为初始特征,然后使用 SPConvnet 提取特征,SPConvNet 有四个块({2,2,3,3}子稀疏卷积层),最后有一个稀疏卷积层。接下来,沿 zzz 轴将稀疏3D特征连接成2D密集特征,用 BEVConVNet 提取特征。最后,使用 MTHead来回归边界框并进行分类。


2.2 Consistency Loss

在3D物体检测中,预定义 anchor 中的点云可能因距离和遮挡而有很大差异。因此,同一 hard 物体的样本点云和特征也会差异很大。相比之下,每个训练样本的 soft 目标信息更加丰富,有助于探索同类的数据样本之间差异。这启发我们将相对精确的teacher prediction当作soft 目标,并利用它们来优化student模型。因此,本文提出一致性损失 来优化 student 模型。

在计算一致性损失前,本文首先设计了一个高效的 IoU-based 匹配策略,目的是在稀疏室外点云中匹配 非轴对齐的teacher和student的 box

  • 为了从 teacher 中获得高质量的 soft 目标,使用置信度过滤 teacherstudent预测的部分边界框,减少一致性损失的计算量;
  • 然后,计算剩余 teacherstudent边界框的IoU,过滤IoU较低的匹配边界框;
  • 最后,对于每一个 student边界框,将它与具有最大IoUteacher 边界框匹配,以增加 soft 目标的置信度。

hard 目标相比,由于它们是基于相似的特征预测的,因此过滤后的 soft 目标通常更接近 student 预测。

本文采用 Smooth-L1 损失作为回归损失:
Lbox c=1N′∑i=1N1(IoUi>τI)∑e17Lδecand δe={∣es−et∣if e∈{x,y,z,w,l,h}∣sin⁡(es−et)∣if e∈{r}\begin{array}{l}\mathcal{L}_{\text {box }}^{c}=\frac{1}{N^{\prime}} \sum_{i=1}^{N} \mathbb{1}\left(I o U_{i}>\tau_{I}\right) \sum_{e} \frac{1}{7} \mathcal{L}_{\delta_{e}}^{c} \\\text { and } \delta_{e}=\left\{\begin{array}{ll}\left|e_{s}-e_{t}\right| & \text { if } e \in\{x, y, z, w, l, h\} \\\left|\sin \left(e_{s}-e_{t}\right)\right| & \text { if } e \in\{r\}\end{array}\right.\end{array}Lbox c=N1i=1N1(IoUi>τI)e71Lδec and δe={esetsin(eset) if e{x,y,z,w,l,h} if e{r}

对于分类损失,采用sigmoid函数作为预测置信度:
Lclsc=1N′∑i=1N1(IoUi>τI)Lδccand δc=∣σ(cs)−σ(ct)∣\begin{array}{l}\mathcal{L}_{c l s}^{c}=\frac{1}{N^{\prime}} \sum_{i=1}^{N} \mathbb{1}\left(I o U_{i}>\tau_{I}\right) \mathcal{L}_{\delta_{c}}^{c} \\\text { and } \delta_{c}=\left|\sigma\left(c_{s}\right)-\sigma\left(c_{t}\right)\right|\end{array} Lclsc=N1i=1N1(IoUi>τI)Lδcc and δc=σ(cs)σ(ct)

总的损失为:
Lcons=Lclsc+Lboxc\mathcal{L}_{cons}= \mathcal{L}_{c l s}^{c} + \mathcal{L}_{box}^{c}Lcons=Lclsc+Lboxc


2.3 Orientation-Aware Distance-IoU Loss

hard 目标监督训练中,通常采用 Smooth-L1 损失来约束边界框回归。然而,由于室外场景中的远距离和遮挡,很难从稀疏点云中获得足够信息来精确地预测边界框。为了更好地利用 hard 目标来预测边界框,设计了 方向感知distance-IoU损失(ODIOU),关注边界框中心的对准以及预测和真值边界框之间的方向,如下图所示。

在这里插入图片描述
引入预测框与真值框3D中心的约束,以最小化中心不对齐;同时设计了在预测 BEV上的方向约束,进一步减少方向差别问题,本文提出方向距离损IoU损失公式如下:
Lboxs=1−IoU⁡(Bp,Bg)+c2d2+γ(1−∣cos⁡(△r)∣)\mathcal{L}_{b o x}^{s}=1-\operatorname{IoU}\left(B_{p}, B_{g}\right)+\frac{c^{2}}{d^{2}}+\gamma(1-|\cos (\triangle r)|) Lboxs=1IoU(Bp,Bg)+d2c2+γ(1cos(r))

对于边界框分类损失,使用 Focal loss;方向分类损失,使用交叉熵损失student SSD的总损失为:
Lstudent =Lclss+ω1Lbox s+ω2Ldir s+μt(Lclsc+Lbox c)\mathcal{L}_{\text {student }}=\mathcal{L}_{\mathrm{cls}}^{s}+\omega_{1} \mathcal{L}_{\text {box }}^{s}+\omega_{2} \mathcal{L}_{\text {dir }}^{s}+\mu_{t}\left(\mathcal{L}_{\mathrm{cls}}^{c}+\mathcal{L}_{\text {box }}^{c}\right)Lstudent =Lclss+ω1Lbox s+ω2Ldir s+μt(Lclsc+Lbox c)


2.4 Shape-Aware Data Augmentation

hard目标中的点云在现实中由于遮挡、距离变化和物体形状等因素差异很大。因此,本文设计了形状感知数据增强方案来模仿在数据增强时点云如何受到这些因素的影响。

形状感知数据增强模块是即插即用模块。首先,对于点云中的每个目标,找到它的真值边界框中心,并将中心与顶点连接起来,形成锥体,将目标点分成六个子集。注意到 LiDAR 点主要分布在目标表面,划分就像目标分解,数据增强方案通过操作分解部件,来有效地增强每个目标的点云。

具体而言,使用随机概率p1,p2,p3p1,p2,p3p1p2p3执行3个操作:

  • 在随机选择的金字塔中随机删掉所有点(如下图左上所示蓝色点),模拟物体被部分遮挡,以帮助网络从剩余的点推断出完整的形状。
  • 随机交换,在当前场景中随机选择一个输入目标,并将点集(绿色)交换到另一个输入目标中的点集(黄色),从而利用目标间的表面相似性来增加目标样本的多样性。
  • 使用最远点采样算法,在随机选择的金字塔中随机采样子样本点,模拟由于LiDAR距离变化引起的点的稀疏变化(下图左下所示)。

除此之外,在形状感知数据增强前,先在输入点云上执行全局转换,包括随机平移、翻转和缩放等。
在这里插入图片描述


3. Experiments

实验部分,作者在 KITTI 数据集上进行了验证,实验细节这里不介绍了,后面可以查看代码和论文,下面几张表是实验结果。

测试集对比验证集对比
在这里插入图片描述在这里插入图片描述
设计模块对比试验一致性对比试验IoU匹配对比试验
在这里插入图片描述在这里插入图片描述在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解3D点云分割网络 Cylindrical and Asymmetrical 3D Convolution Networksfor LiDAR Segmentation

本文介绍一篇3D点云分割网络:Cylinder3D,论文已收录于 CVPR 2021。 这里重点是理解本文提出的 Cylindrical Partition 和 Asymmetrical 3D Convolution Network。 论文链接为:https://arxiv.org/pdf/2011.10033.pdf 项目链接为:…

自动驾驶3D物体检测研究综述 3D Object Detection for Autonomous Driving: A Survey

本文介绍一篇最新的自动驾驶3D物体检测研究综述(2021年6月份发布),来源于中国人民大学,论文共26页,99篇参考文献。 论文链接为:https://arxiv.org/pdf/2106.10823.pdf 0. Abstract 自动驾驶被看作是避免人…

Java中接口的多继承

我们知道Java的类只能继承一个类,但可以实现多个接口。但是你知道么?Java中的接口却可以继承多个接口。本文就来说一说Java中接口的多继承。 进入主题之前,先扩展一下。Java为什么只支持单继承呢? 我们不妨假设Java支持多继承&a…

详解基于IMU/GPS的行人定位: IMU/GPS Based Pedestrian Localization

本文介绍一篇使用 IMU/GPS 数据融合的行人定位论文,这里重点是理解本文提出的 Stop Detection 和 GPS Correction。 论文地址为:https://www.researchgate.net/publication/261452498_IMUGPS_based_pedestrian_localization 1. Introduction 低成本的 …

每次maven刷新jdk都要重新设置

pom.xml <java.version>17</java.version> 改为<java.version>1.8</java.version>

【CodeForces - 706D】Vasiliy's Multiset(01字典树)

题干&#xff1a; Author has gone out of the stories about Vasiliy, so here is just a formal task description. You are given q queries and a multiset A, initially containing only integer 0. There are three types of queries: " x" — add integer …

详解自动驾驶仿真框架OpenCDA: An Open Cooperative Driving Automation Framework Integrated with Co-Simulation

本文介绍一款同时支持协同驾驶开发与测试、自动驾驶全栈开发 和 CARLA-SUMO联合仿真的开源框架 OpenCDA&#xff0c;论文已收录于 ITSC 2021。主要feature有&#xff1a; 支持CARLA-SUMO联合仿真&#xff0c;CARLA端主管环境渲染、传感器模拟、车辆动力&#xff0c;Sumo端主管…

JavaMonitor 监视器

为什么wait(), notify()和notifyAll()必须在同步方法或者同步块中被调用&#xff1f; 当一个线程需要调用对象的wait()方法的时候&#xff0c;这个线程必须拥有该对象的锁&#xff0c;接着它就会释放这个对象锁并进入等待状态直到其他线程调用这个对象上的notify()方法。同样的…

KITTI自动驾驶数据集可视化教程

本文介绍关于自动驾驶数据集KITTI的基本操作&#xff0c;包括Camera和LiDAR可视化教程&#xff0c;源码已上传&#xff1a;https://download.csdn.net/download/cg129054036/20907604 1. 数据准备 将 KITTI 数据 (calib, image_2, label_2, velodyne) 添加到 dataset/KITTI/ob…

重读经典《Quaternion kinematics for the error-state Kalman filter》

本文将介绍一篇关于 四元数运动学的误差卡尔曼滤波 经典论文。本文结构如下&#xff1a; 第1章四元数定义和性质介绍&#xff0c;包括&#xff1a;加法、减法、乘法&#xff08;矩阵表示&#xff09;、模、幂数、指数运算等。第2章旋转群定义和性质介绍&#xff0c;包括&#…

【CodeForces - 789C】Functions again(最大子段和变形,dp,思维)

题干&#xff1a; Something happened in Uzhlyandia again... There are riots on the streets... Famous Uzhlyandian superheroes Shean the Sheep and Stas the Giraffe were called in order to save the situation. Upon the arriving, they found that citizens are wo…

一步步编写操作系统 55 CPL和DPL入门2

接上节。 图中第132行的jmp指令&#xff0c;段选择子为SELECTOR_CODE&#xff0c;其RPL的值为RPL0&#xff0c;RPL0定义在include/boot.inc中&#xff0c;其值为0。选择子的索引部分值为1&#xff0c;表示对应GDT中第1个段描述符&#xff0c;该描述符的DPL为0&#xff0c;&…

详解停车位检测算法 Vision-Based Parking-Slot Detection: A DCNN-Based Approach and a Large-Scale Benchmark

本文介绍一篇基于深度学习的停车位检测论文&#xff1a;DeepPS&#xff0c;作者同时公开了数据集ps2.0&#xff0c;工作很扎实&#xff0c;对于入门停车位检测很有帮助&#xff0c;论文发表在 IEEE T-IP 2018。 项目链接为&#xff1a;https://cslinzhang.github.io/deepps/ 0…

Monitor(管程)是什么意思?Java中Monitor(管程)的介绍

本篇文章给大家带来的内容是关于Monitor&#xff08;管程&#xff09;是什么意思&#xff1f;Java中Monitor&#xff08;管程&#xff09;的介绍&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。 monitor的概念 管程&#x…

详解经典GPS辅助惯性导航论文 A GPS-aided Inertial Navigation System in Direct Configuration

本文介绍一篇 IMU 和 GPS 融合的惯性导航论文&#xff0c;重点是理解本文提出的&#xff1a;Dynamical constraints update、Roll and pitch updates 和 Position and heading updates。 论文链接为&#xff1a;https://www.sciencedirect.com/science/article/pii/S166564231…

详解停车位检测论文:Attentional Graph Neural Network for Parking-slot Detection

本文介绍一篇注意力图神经网络用于停车位检测论文&#xff0c;论文已收录于 RA-L2021。在之前的基于卷积神经网络的停车位检测方法中&#xff0c;很少考虑停车位标记点之间的关联信息&#xff0c;从而导致需要复杂的后处理。在本文中&#xff0c;作者将环视图中的标记点看作图结…

详解3D物体检测模型 SPG: Unsupervised Domain Adaptation for 3D Object Detection via Semantic Point Generation

本文对基于激光雷达的无监督域自适应3D物体检测进行了研究&#xff0c;论文已收录于 ICCV2021。 在Waymo Domain Adaptation dataset上&#xff0c;作者发现点云质量的下降是3D物件检测器性能下降的主要原因。因此论文提出了Semantic Point Generation (SPG)方法&#xff0c;首…

Waymo研发经理:《自动驾驶感知前沿技术介绍》

Waymo研发经理|自动驾驶感知前沿技术介绍这是Waymo研发经理&#xff08;VoxelNet作者&#xff09;的一个最新分享报告&#xff1a;《自动驾驶感知前沿技术介绍》。在这份报告里&#xff0c;介绍了Waymo在自动驾驶感知中五个研究方向的最新成果。 1. Overview of the autonomous…

几种常见软件过程模型的比较

瀑布模型 瀑布模型&#xff08;经典生命周期&#xff09;提出了软件开发的系统化的、顺序的方法。其流 程从用户需求规格说明开始&#xff0c;通过策划、建模、构建和部署的过程&#xff0c;最终提供一 个完整的软件并提供持续的技术支持。 优点&#xff1a; 1. 强调开发的…

两篇基于语义地图的视觉定位方案:AVP-SLAM和RoadMap

本文介绍两篇使用语义地图进行视觉定位的论文&#xff0c;两篇论文工程性很强&#xff0c;值得一学。 AVP-SLAM是一篇关于自动泊车的视觉定位方案&#xff0c;收录于 IROS 2020。论文链接为&#xff1a;https://arxiv.org/abs/2007.01813&#xff0c;视频链接为&#xff1a;ht…