Static-Dynamic Co-teaching for Class-Incremental 3D Object Detection SDCoT论文理解笔记

Static-Dynamic Co-teaching for Class-Incremental 3D Object Detection

Abstract

3D目标检测在类增时,在不访问就数据的情况下往往会产生灾难性遗忘,提出一个动静态教学的方案,通过静态教师模型为旧类提供伪标签的方式以及通过提取具有蒸馏损失的先前知识来正则化当前模型来减轻遗忘,动态教师模型对新的知识进行学习。

Static-Dynamic Co-teaching for Class-Incremental 3D Object Detection SDCoT论文理解笔记_第1张图片

Introduction

SDCOT利用在旧数据上训练的模型生成伪标签并应用在新类的训练中,新的标签是一个混合的,包含的真实标签以及旧类的伪标签。

SDCOT具体来说:

静态教师是先前训练模型的一份冻结的拷贝,通过蒸馏损失从旧数据中学习知识。

动态教师始终从通过一致性损失(consistency loss)新的数据中学习知识。

在SUN RBG-D和ScanNet数据集上进行了实验。

Our Methodology

Problem Definition

在3d类增式目标检测任务中,分别有Cbase和Cnovel两个不重叠的类,以及他们对应的数据集Dbase和Dnovel。3d类增式目标检测任务是在给定一个基于Dbase训练好的检测器ΦB(基本模型),在只使用新数据集合条件下,获得一个3d增量目标检测器ΦB∪N,这个检测器能够对同时对新类和旧类进行识别。

Anatomy of VoreNet

在SDCoT中使用了VoteNet作为3D目标检测的原型。Static-Dynamic Co-teaching for Class-Incremental 3D Object Detection SDCoT论文理解笔记_第2张图片

改进过后的votenet

Observation 1.

votenet包含了两个子样本:1) 子样本M种子:经过一个特征学习的backbone从输入的点云。2)子样本K:来自V投票生成的K作为聚类中心,形成K个有聚类投票生成的提案。

这两个采样都是具有随机性的,因此能够生成不同的提案(不同的中心点K)

Remark

由于生成的随机性,提案分别形成于基本模型和增量模型,即使输入相同的点云,提案也是不一致的,这阻碍了提案之间的直接比较,这影响了对于通过知识蒸馏训练的模型。

为了解决这个问题,将所有的从增量模型中获得的子采集的点以及子采集的投票的索引都保存了下来,在基本模型的训练中再一次使用这些索引。这样这两个模型产生的提案便是一致的,能够直接进行比较。

Observation 2.

在获得提案特征(figure2中的P)后,通过一个多层感知机进行评分,包含了2个客观得分,3个中心偏移,2个NH heading scores,4个NV box size scores和1个NC分类得分。

Remark

votenet预测分数的分数大小在训练之后固定对于增量学习来说是一个问题,网络对于感知类预测部分的权重是需要根据新类的加入进行变化的。通过将MLP层分为回归和分类两个部分来解决这个问题(如figure2中所示)。将预测类别的得分分离出来,根据新的类想分类器添加新的权重。

Our SDCoT

Pseudo Label Generation

由于才同一个场景中出现不同类别额概率很高,新类数据中旧类作为背景出现是很可能的,这样会导致旧类被抑制,进而进一步的发生遗忘。此外,没有注释的基类的存在混淆了增量学习模型。

为了解决这个问题,冻结了base modelΦB,通过这个模型在训练新类数据Dnovel时生成伪标签,并且通过为客观得分和分类概率设置两个阈值τo和τc,来过滤掉信任度较低的bounding box。但是通过设置硬阈值会使一些旧类无法识别(figure3所示),因此引入了静态教学。Static-Dynamic Co-teaching for Class-Incremental 3D Object Detection SDCoT论文理解笔记_第3张图片

红色为生成的伪标签,绿色和蓝色分别使旧类和新类的真实标签

Static-Dynamic Co-Teaching

静态教学

静态教学的前提:当增量模型能够利用足够大的来自于基础模型和新数据的知识时,增量模型时不易受早点和不完整标签的影响的。

将基础模型拷贝并冻结作为静态教师,并引入一个蒸馏方案,时基础模型和增量模型的响应尽可能的相近,蒸馏损失用来衡量基类在基础模型和增量模型之间识别的差异.

这个蒸馏能够补偿在训练Dnovel时,Cbase标签的缺失

动态教学

动态教师,能够持续的从旧类和新类中学习知识。

动态教师利用了扰动方案和SESS中的一致性损失,充分的利用新数据。

SDCoT Details

SDCoT的基本结构:Static-Dynamic Co-teaching for Class-Incremental 3D Object Detection SDCoT论文理解笔记_第4张图片

有一个学生网络,一个动态教师网络和一个静态教师网络组成。学生和教师目标检测器都是由votenet作为backbone。学生网络ΦB∪N从Cnovel中学习,静态教师时基本模型的冻结拷贝ΦB,用来形成伪标签在Dnovel中的Cbase,动态教师Φ'B∪N是学生网络的指数移动平均数,动态的生成学生网络所有的类的目标。

学生网络和动态教师网络的参数都是由ΦB初始化来的。而分类器中的参数则是随机初始化来的。

首先输入点云作为X,静态教师网络会为基类生成K个bound ing boxes,通过设置的阈值 τo 和 τc,A个这些bounding boxes会被选作为伪标签Y^B,伪标签Y^B和新类的真实标签YN会去生成一个混合的标签集合。

同时,SDCoT会对输入X进行两次子采样,获得两个点云集合Xi和Xj,Xi之间送入动态教师网络进行处理,Xj则被进一步扩张输入给学生网络和静态教师网络。子采样和扩张都是扰动方案的组成。

提出一个蒸馏损失Ldis衡量学生网络提案(PSB)和静态教师网络提案(PTB)对于Cbase的差异,通过减轻平均值对提案进行归一化,得到PSB_和PTB_,把蒸馏损失定义为:

代表了第i个对象的分类日志。

学生网络的输出YB∪N与经历了同样应用Xj扩展步骤A的mixed labels进行了比较得到一个监督损失Lsup,YB∪N与动态教师网络的输出Y~'B∪N计算的到在SESS中的持续损失Lcon。(在figure4中)

学生网络每次更新基于损失:

在学生网络进行更新后,动态教师被更新为学生网络参数的EMA指数移动平均线(EMA)进行更新:

α是一个超参数,决定从学生网络中获取多少知识。

你可能感兴趣的:(深度学习,目标检测,人工智能,学习)