半监督目标检测(五)

目录

Semi-supervised Object Detection via Virtual Category Learning

动机

1. Overview

2. Potential Category Set

1)Temporal stability

2)Cross-model verification

3. Virtual Category Learning

4. Localisation Loss


Semi-supervised Object Detection via Virtual Category Learning

动机

针对半监督目标检测(SSOD)任务存在的 confirmation bias 问题(即模型给出了高置信度的错误预测,而这些错误的预测随后转变为错误的伪标签,在训练过程中累积,而模型无法自行纠正这些错误预测),而这一现象往往是因为模型难以对那些易混淆的样本生成可靠的伪标签。在此前的 SSOD 模型中,这些样本要么被直接过滤掉,要么保留它们所有的可能类别标签。作者认为这两种策略都不是最优的,应该积极利用这些易混淆的数据训练模型,不去在意这些样本的具体标签信息,而是用一个虚拟类别标签(Virtual Category label)来代替伪标签,使它们参与模型优化,从而进一步提升检测模型的性能。

14a9b5c89ccf4d39b20ea0abd5505af7.jpeg

1. Overview

83e33851192246eda7b13b9841f25b7f.jpeg

作者采用 Faster R-CNN(FPN + ResNet-50)作为基础检测器,在传统的教师-学生模型的基础上,生成伪标签。而针对易混淆样本,先建立一个潜在类别集合(potential category PC set),纳入易混淆样本的可能类别,之后使用 Virtual Category(VC)标签代替 PC 集合里不那么确定的伪标签,并以此为基础,调整交叉熵损失函数为 VC loss,计算梯度。

2. Potential Category Set

作者分别尝试了两种获得潜在类别集合的方法:

1)Temporal stability

80a6f59a1e8d42c4a79de02de7a8858e.jpeg

训练模型时,图像在不同的迭代次数可能产生不同的伪标签集合 gif.latex?%5Css%20%27,而这些变化的伪标签就包含了潜在类别的信息。具体来说,作者对比当前迭代步骤输出的 gif.latex?%5Css%20%27 与模型最后一次处理某一图像生成的伪标签集合 gif.latex?%5Css%20%27_%7Blast%7D (不很确定这里的表述)。对于一个伪标签 b' ( gif.latex?b%27%20%5Cin%20%5Css%20%27%20%5Ccup%20%5Css%27_%7Blast%7D),如果有一个与之相邻的 gif.latex?%5Chat%7Bb%7D%27%20%5Cin%20%5Css%27%20%5Ccup%20%5Css%27_%7Blast%7D,但两者的类别相同,即  gif.latex?b%27_%7Bcls%7D%20%3D%20%5Chat%7Bb%7D%27_%7Bcls%7D,则意味该标签不存在混淆信息;否则(gif.latex?b%27_%7Bcls%7D%20%5Cneq%20%5Chat%7Bb%7D%27_%7Bcls%7D),则潜在类别集合更新为 gif.latex?%7B%5Ccolor%7BRed%7D%20PCset%20%3D%20%5C%7B%20b%27_%7Bcls%7D%2C%20%5Chat%7Bb%7D%27_%7Bcls%7D%5C%7D%7D;而若没有临近的伪标签框,则意味着可能混淆的类别为“背景”,因此 gif.latex?PCset%20%3D%20%5C%7Bb%27_%7Bcls%7D%2C%20bg%20%5C%7D

【注】作者使用 IoU 来判定两个伪包围框是否“邻近”。

2)Cross-model verification

受 Co-training 算法的启发,两个条件独立的模型对同一个样本的预测可能不同,从而可以从中挖掘潜在类别。作者用不同的参数初始化分别初始化两个模型,而且将训练样本输入模型的顺序也不同,从而确保两个模型的差异性。对于第一个检测器生成的伪包围框 gif.latex?b%27_%7B1%7D 内的目标,作者用第二个检测器的伪包围框 gif.latex?b%27_%7B2%7D 来验证,PC 集合的更新方式与 Temporal stability 方法类似,不再赘述。

3. Virtual Category Learning

如果 PC 集合里有不只一个类别,则意味着该样本为易混淆的样本,对于这样的样本,会在其学生分类器的权重矩阵 W 中额外增加一个虚拟权重(virtual weight)向量 gif.latex?%7B%5Ccolor%7BRed%7D%20w%5E%7Bv%7D%7Dgif.latex?w%5E%7Bv%7D 取自该样本在教师模型中对应的特征向量 gif.latex?%5Chat%7Bf%7D不同的易混淆样本的虚拟权重是不同的

【注】会对 gif.latex?%5Chat%7Bf%7D 进行缩放和标准化,从而确保 gif.latex?w%5E%7Bv%7D 的范数与 W 矩阵中的权重向量的范数取值范围相同。

7cbb96e4dc5e439ba4ba876dc72d2f2c.png

上式中,N 为原本的类别总数,,gif.latex?l%5E%7Bv%7D 和 gif.latex?l%5E%7Bc_%7Bi%7D%7D 分别为虚拟类别和类别 gif.latex?c_%7Bi%7D 的 logits。为了计算修改后的 logits 的损失值,会在原本的独热向量标签中为虚拟类别增加一个正值标签“1”,而 PC 中包含的那些易混淆的类别则相应地被忽略。

d059cbd3e849497ba4798d144d09778e.jpeg

作者针对 VC,对标准的交叉熵(Cross Entropy CE)损失进行了修改,提出 VC loss757962272cab4f0b824c6bbaa9fe6dbe.jpeg   bc2b4ef1c23f433f834e23585c702d77.jpeg

式一中, gif.latex?f%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bchannel%5Ctimes%201%7D 是最后一个线性层的输入特征向量,gif.latex?w%5E%7Bi%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bchannel%20%5Ctimes%201%7D 是 gif.latex?c%5E%7Bi%7D 类别对应的最后线性层的权重向量,gif.latex?l%5E%7Bi%7D%20%3D%20f%5E%7BT%7D%20%5Ccdot%20w%5E%7Bi%7D 是 gif.latex?c%5E%7Bi%7D 类别的 logit,N 是原本的类别总数,GT 是 ground truth(简单起见,忽略了线性层的 bias)。

式二中,PC 表示 PC 集合,当 gif.latex?i%20%3D%20N 时,表示虚拟类别,即 gif.latex?l%5E%7Bi%3DN%7D%20%3D%20l%5E%7Bv%7Dgif.latex?i%20%5Cnotin%20PC 则意味着 PC 集合中那些不确定的潜在类别在计算中被忽略了,从而不会在训练中误导模型。

f07d81880de744c9832f7454c62c80a7.png

上图是 VC 的一种直观解释。在特征空间中,VC 会将易混淆的训练样本推离那些不可能的类别,同时也避免它过于靠近任何一个易混淆的潜在类别。

4. Localisation Loss

作者没有使用 IoU 值过滤整个包围框(bounding box),而是将水平和垂直方向的边框解耦,分别考察它们的定位质量。作者指出,即使包围框的其余几条边定位性能良好,但只要有一条边定位不准,就会影响 IoU 的值。

以水平方向的边框为例,quality flag 的计算公式如下:

39fa284ca3314b9db2887be79a775a1f.png

其中,gif.latex?x_%7B1%7D%2Cx_%7B2%7D%2C%5Chat%7Bx_%7B1%7D%7D%2C%5Chat%7Bx_%7B2%7D%7D  分别为伪框 gif.latex?b 和邻框 gif.latex?%5Chat%7Bb%7D (GT box?)左、右两侧边框的横坐标,w 是伪框 gif.latex?b 的宽度,gif.latex?t_%7Bloc%7D 是筛选高质量边框的阈值。

6e524122f8c047fb8eb6c2091bc22cbb.png

901aaa35e6e84a8aba5d26a0ae3377ca.png

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
半监督目标检测是指在目标检测任务中,利用有标注和无标注的数据进行模型训练的一种方法。以下是半监督目标检测的发展历程: 1. 传统目标检测方法:早期的目标检测方法主要基于传统的机器学习算法,如SVM、HOG等。这些方法需要大量标注数据进行训练,且对于不同类别的目标需要手动设计特征。 2. 弱监督目标检测:为了减少标注数据的需求,研究者开始探索弱监督目标检测方法。这些方法利用只有图像级别标签的数据进行训练,如图像级别标签表示图像中是否包含目标。但是由于缺乏目标位置信息,这些方法的性能较低。 3. 半监督目标检测:随着深度学习的兴起,研究者开始将其应用于半监督目标检测任务中。半监督目标检测方法利用有标注和无标注的数据进行训练,通过在有标注数据上进行监督学习,同时在无标注数据上进行自监督学习或者生成伪标签,从而提高模型性能。 4. 自监督学习:自监督学习是半监督目标检测中常用的方法之一。它通过在无标注数据上设计任务,如图像重建、图像旋转等,从而生成伪标签进行训练。自监督学习可以有效利用大量无标注数据,提高模型性能。 5. 生成模型:生成模型也是半监督目标检测中的一种重要方法。生成模型通过学习数据的分布,生成新的样本,并利用这些生成的样本进行训练。生成模型可以扩充有标注数据,提高模型的泛化能力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值