前言:
《SESS: Self-Ensembling Semi-Supervised 3D Object Detection》
CVPR2020 Oral
新加坡国立大学出品
解决的问题及对应贡献
- 半监督框架的3D点云目标检测算法
核心思想:
网络结构为典型自监督网络Mean Teacher paradigm,包含学生网络和老师网络,其中学生网络接收扰动点云,而老师网络接收原始点云,利用提出的一致性损失(自监督损失)使两个网络的输出结果靠近,以达到提出关键信息的目的。
在votenet的基础上用了半监督框架,然后添加了一致性损失。
文章解读
1.摘要:
现有的基于点云的三维对象检测方法的性能严重依赖于大规模高质量的三维注释,然而,这样的注释收集起来往往是乏味且昂贵的。半监督学习是缓解数据注释问题的一个很好的替代方法,但在三维对象检测中在很大程度上仍未被探索。受最近自采样技术在半监督图像分类任务中取得成功的启发,我们提出了一个自采样半监督三维对象检测框架SESS。具体地说,我们设计了一个彻底的摄动方案来增强网络在未标记的和新的看不见的数据上的泛化
2.Introduction:
下图是SESS的结构。在半监督的三维对象检测任务中使用了平均教师范式[22],其中学生和教师网络是3D目标检测头。学生网络以扰动点云为输入,输出3D目标,它表示点云中所有感兴趣对象的估计类别和三维边界框。教师网络以原始点作为输入,输出目标。作者想要来自教师和学生网络的3D对象提案在训练阶段结束时保持一致。
在本图中,一个batch,包括一组标记样本和一组未标记样本(代码中设置为2:8),通过不同的扰动,然后分别输入到学生和教师网络中。将学生网络的预测与同一变换T处理的gt做有监督损失计算,和同一变换T处理的教师预测结果做自监督损失(一致性损失)计算。
采用votenet作为backbone,需要有标记(比如只标了10%)的和未标记的数据混合输入。然后从每个训练点云(即xL或xU)中随机抽取M个点,两次就可以得到两组点。第一组点xs被随机转换T扰动为ˆxs,然后传递给学生网络,而第二组点xt被直接传递给教师网络。教师网络yt的输出是将yt的输出建议进一步转换为ˆyt。对于ˆyt中的每个提案,我们从基于欧几里得距离的学生网络ˆys的输出提案中找到了它最接近的对齐方式。随后,从三个一致性损失计算每个对齐方案对之间的误差。同时,gt:yL(教师网络)在xLs上也应用相同的T进行变换,并将变换后的ˆyL与学生网络ˆyLs的标记输出使用有监督的损失进行比较。最后,通过训练步骤t的梯度下降更新学生网络的参数,然后将学生网络中的更新参数用于指数移动平均(EMA)来更新教师网络的参数Φ
其中,α是一个平滑超参数,它控制教师从学生网络中获取多少信息
下面介绍其扰动方案和一致性损失。
3.3 扰动方案
输入扰动或数据增强对自融合方法的成功起着至关重要的作用。平均教师在基于图像的任务上的摄动方案。图像识别,包括随机平移和输入图像的水平翻转。在输入层上添加高斯噪声,并在网络中应用退出。然而,任何基于图像的扰动方案都不能直接用于我们的基于点云的三维对象检测任务。因此,本文提出了一种适用于基于点云的三维目标检测的摄动方案。
随机子抽样:作为输入点云的一部分,我们对学生和教师网络应用随机子采样,作为我们的摄动方案的一部分,给定点云的两个随机子样本中点的局部几何关系可能有显著差异,但全局几何关系,例如对象的三维边界框的位置,在次采样点中,点云应该保持不变。因此,我们的模型被训练后,通过强迫来自学生和教师网络的随机输出之间的一致性,来利用全局背景下的底层几何图形。
“代码中就是整个场景点云随机采40000个点”
随机变换:我们应用了包括翻转在内的随机转换,对学生网络的随机次采样点云进行旋转和扩展,以防止网络记忆训练点云的意外属性,比如每个点的绝对位置。更具体地说,我们将转换操作表示为一组随机变量:T = {Fx, Fy, R, S}。这里的Fx表示沿x轴的随机翻转,它的二进制值是由
其中,是一个从[0,1]均匀采样的随机变量。Fy表示沿y轴的随机翻转,并且与Fx生成的方式相同。R表示围绕垂直轴的旋转,[−ϑ,+ϑ]均匀采样的旋转角度ω:
S 代表[a、b]中均匀采样的S表示点的缩放。最后,对Ti进行随机采样,并应用于每个输入训练点云xs
ˆxs = Ti ∗ xs。
注意,在计算监督损失之前,被标记的输入点云xLi的地面真值标签yLi也由相应的Ti进行变换,此外,来自教师网络的输出建议yt也由Ti进行转换,以使两个网络的输出之间能够对齐。
3.4 一致性损失:
与在识别任务[22]中直接计算扰动图像的类预测之间的一致性不同,两组三维对象方案之间的一致性不能直接计算。我们通过将来自学生和教师网络的预测方案与对齐方案配对,然后对成对方案应用三个一致性损失来避免这个问题。这三种一致性损失的目标是加强对象位置、语义类别和大小的共识
设ˆCs={cˆs}表示学生网络中的预测三维边界框的中心,Ct={cˆt}表示来自教师网络转换后的输出。对于每个cˆt∈ˆCt,我们通过基于边界框中心之间的最小欧几里得距离来搜索它在ˆCs中的最近邻来进行对齐。我们进一步使用ˆCAs来表示来自ˆCs中与ˆCt中的每个元素对齐的元素。
我们还可以从ˆCt中收集与ˆCs中的每个元素对齐的元素的ˆCAt,需要注意的是,对齐ˆCAs和ˆCAt不是双射的。
CAs不等于ˆCAt。对齐损失,ˆCAs↔ˆCt和ˆCAt↔ˆCs中所有对应元素之间的总距离,当师生网络预测的边界框一致时,应该为零。因此,提出具有中心意识的一致性损失:以尽量减少师生网络之间的对准误差
除了中心的一致性之外,我们还考虑了三维建议的另外两个特性:语义类和大小,以加强两个网络之间的一致性。遵循经典的自我整合学习的原则,即教师网络产生了供学生学习的目标,我们只考虑一个单向的对齐。Ct--ˆCAs在计算中对类别和大小进行感知的一致性损失。具体地,Ps = {pˆs}和Pˆt = {pˆt}
代表从学生网络和教师网络预测的类别概率。基于最小中心距离,对齐的PˆAs= {pˆAs }很容易得到。最后定义可感知类别的一致性损失为PˆAs 和Pˆt之间的KL散度:
Dˆ s = { ˆds} and Dˆt = { ˆdt}分别代表学生网络和教师网络预测的边界框大小,我们使用相同的最小中心距离来获得对齐的Dˆ与={ˆdAs}。尺寸感知一致性损失:DˆAs和Dˆt之间的均方误差:
最后,总一致性损失是前面描述的所有三个一致性项的加权和:
“原先的voetnet loss = vote_loss + 0.5 *objectness_loss + box_loss + 0.1 *sem_cls_loss
loss = detection_loss(voetnet loss) + consistency_loss * consistency_weight”
4.实验
采用SUN RGB-D和ScanNetV2数据集。
4.2 实现细节
训练:采用VoteNet作为学生和教师网络。对所有已经标注的样本利用votenet进行预训练。然后,用预先训练的权重初始化学生和教师网络,并通过最小化监督损失和一致性损失,利用标记和未标记数据进行学生网络的训练。学习率在第80个epoch时减到0.1。一般来说,该模型收敛在第100个epoch左右。生成的3D提案的数量为128个。
推理:在推理过程中,我们将一个场景的点云转发到学生网络2来生成建议。我们对三维NMS模块预测的提案进行了后处理,3DIoU的阈值为0.25。评价度量,采用平均精度(mAP)
上图表明,标记数据越稀疏,SESS相比VoteNet的提升效果越好。
另外:从实验图可以看出,同样采用100%的标记数据训练,SESS的效果比VoteNet的效果要好。作者将SESS的性能归因于它的一致性正则化机制,其中三维检测器被训练为对各种扰动的鲁棒性,而所提出的编码几何图形和语义信息的三种一致性损失指导了三维检测器产生更准确的预测。这进一步表明,其一致性损失是对有监督损失的补充,框架可以与任何有监督的三维对象检测器集成,以提高检测精度。
4.4 转换性半监督学习
一般来说,半监督学习可以指归纳学习或转换学习。在归纳学习中,目标是为新的看不见的数据产生正确的标签。在转换学习中,目标是推断出限制在给定的未标记数据上的标签。之前的实验是在看不见的验证集上进行的,所以可以看作为归纳学习。在不同比例的标记样本下,SESS始终优于全监督投票网络。
4.5 消融实验
扰动:
对于每个单独扰动,数据集之间的影响可能会有所不同
一致性损失:
中心意识和类意识的一致性损失的贡献大于大小感知的一致性损失,但是,中心感知或类感知与大小感知一致性损失的组合有助于在某种程度上提高性能。最后,这三种一致性损失的集成使其在这两个数据集上都具有最佳的性能。它表明,需要用正确的几何图形(例如,中心,大小,语义)来表示预测的边界框的要求。
4.6 定性结果
5 总结:
本文提出了一种新的基于自封闭半监督点云的三维对象检测框架SESS。它不需要大量通常难以获得的强标签。SESS遵循mean teacher-student框架,其中设计了一个特定的基于点的数据扰动方案和三种一致性损失,能够使网络生成更准确的检测。在两个真实数据集上的实验结果验证了我们的系统的有效性和优势。实验表明,此方法是一个通用的框架,可应用于半监督三维对象检测。
“这个代码已经跑过,后续的CVPR2021 3DIoUMatch 是在这个框架上用IOU滤除一定的目标”