前言:
{
很久没有更新了,这是因为之前我很幼稚地觉得写博客有点浪费时间。但是现在看来,不整理笔记的话学习效率更低,所以还是继续更新了。
今天的这个话题是之前多目标识别[1]的后续。本来想换个数据集试试目标检测任务,但是现在遇到些棘手的问题,其一就是如何处理样本的标注遗漏(missing annotation)。
下面简单纪录我读到的相关论文。
}
正文:
{
{
论文中的图1直观的展现了目标检测任务中标注遗漏的问题。
这就引出了一个严重的问题:如果验证和测试集也有标注遗漏,那对于表现较好的模型也太不公平了(因为表现较好的模型在此验证和测试集上很可能会产生更多的假阳输出)。
之后作者做了一个实验,见图2。
mAP是mean Average Precision的缩写,这是在目标检测中使用较为频繁的一种指标,其是在多个召回率(recall)条件下的准确率(precision)的平均值,具体可参考[3]中的3.4.1。
造成图2中结果的原因是:Faster RCNN会尽可能的输出多的预测结果,只是缺失标注的样本对应的结果的分数会变低,所以在分数阈值为0时,由缺失标签的数据训练出的模型并没有差多少。因此,减少分数阈值可以显著降低缺失标注所带来的性能降低。
随后,作者介绍了其提出的方法:对于缺失标签的数据,既然我们无法确定假阳是否真的是假阳,那就减少假阳的惩罚——减少与标签的重叠比例小于一定值(比如0.2)的预测在损失中的权重。作者称这种方法为Overlap based Soft-Sampling(基于重叠的软采样),见图3。
图中最右部分的白色框即为损失权重较低的预测。
作者还公开了一种动态设置上述权重的方法:对于一个ROI,其权重,其中a,b,c都是参数,o是此ROI与已有标签的重叠比例。图4是a=0.25,b=50,c=20时的情况。
图中蓝色部分的竖轴是ROI为另一个前景的概率,黄色部分的竖轴是权重,横轴是与已有标签的重叠比例(o)。
和Overlap based Soft-Sampling类似,作者还给出了另一种权重设置方法:Detection Score Based Soft-Sampling(基于检测得分的软采样),即权重,其中s是已经训练好的模型的得分,T是得分在数据集上的期望值。
表1是各种训练方法的Faster-RCNN在PASCAL VOC上的结果对比。
其中Upper bound是在已知缺失标签的情况下去掉假阴的结果(理想状态)。
值得一提的是,作者也尝试了这两种权重设置方法的集成,但是没有得到明显的效果提升,所以作者建议只用Overlap based Soft-Sampling,因为不用预训练。
图6是参数a,b,c对Overlap based Soft-Sampling结果的影响。
}
{
这篇文章是在kaggle[5]上找到的,其主要涉及半监督学习,也是一种对付图像标注遗漏的办法。我不确定我有没有正确理解,就先纪录下我面前的理解吧。
按照我的理解,Pseudo-Label(伪标签)就是模型对未标注数据的预测。但和上述预训练模型给出的结果不同,Pseudo-Label是在训练过程中更新的,每次权重更新,Pseudo-Label都会被重新计算,并且会被用于损失计算。
由未标注数据产生的损失最后会被缩放,最后与原始损失结合以形成新损失,如式(15)。
式中右边有两部分,分别是标注数据的损失和未标注数据的损失,是均衡这两部分的系数。
在训练过程中,式(17)会减少。
式(17)是一种条件熵的形式,其中。我认为此熵代表模型对未标注数据的不确定度,即式(17)越小,对应模型就越肯定它的预测。
表1中的上下两条数据是是否使用Pseudo-Label进行训练的条件熵对比(上面是没有使用此方法的结果)。
(为什么训练集的熵这么高?)
}
}
结语:
{
可能还有更多经过验证的相关方法,不过或许我可以先试一试上述方法的效果,之后也可以再添加新的方法。
我只是大概读了第二篇论文,所以我的理解可能有一些不准确的地方。
参考资料:
{
[1] https://mp.csdn.net/postedit/82937703
[2] https://arxiv.org/pdf/1806.06986.pdf
[3] http://host.robots.ox.ac.uk/pascal/VOC/voc2010/devkit_doc_08-May-2010.pdf
[4] https://www.kaggle.com/blobs/download/forum-message-attachment-files/746/pseudo_label_final.pdf
[5] https://www.kaggle.com/
}
}