论文笔记:Learning from Noisy Anchors for One-stage Object Detection

motivation

论文笔记:Learning from Noisy Anchors for One-stage Object Detection_第1张图片
作者指出,有些GT bbox存在包含其他物体,遮挡等现象。同时在训练时以IOU为标准划分的部分负样本也有可能包含重要的语义或者位置信息。因此训练时标签是noisy的。
进而提出cleanliness scores作为一个re-weight因子在训练中对anchor进行调整。

method

cleanliness scores定义如下:
论文笔记:Learning from Noisy Anchors for One-stage Object Detection_第2张图片
loc_a表示定位confidence(这里作者采用预测box和对应的GT之间的IOU),cls_c表示分类confidence(网络直接预测confidence)。作者称这种做法并没有受到cold start的影响,因为最初网络预测confidence都很低,c最初可认为是IOU的加权粗略表示。Apos和Aneg都是根据IOU选出的TOP-N而非全部。

由于loc_a和cls_c被归一化过,为了增加方差作者进行了改动。因此采用以下结果来计算加权:
在这里插入图片描述
其中f(x)=1/(1-x)。r被归一化到1.
整体流程:
论文笔记:Learning from Noisy Anchors for One-stage Object Detection_第3张图片

一方面,c的设置使得预测输出向软标签c优化。一方面在分类confidence和IOU接近1时(即预测无限逼近GT时),该anchor的加权项r增加。感觉从设计上满足了作者一开始的需求。
focal loss中:
F L ( p t ) = − α t ( 1 − p t ) γ l o g ( p t ) FL(p_{t})=-\alpha_{t}(1-p_{t})^{\gamma}log(p_{t}) FL(pt)=αt(1pt)γlog(pt)在分类方面越接近GT的样本,会被当成"容易样本"而被赋予越小的权重。
在作者这里似乎反其道而行之了?
另外还有很扯的一点是,这里的参数 α \alpha α和之前的公式反过来了。虽说在这里影响不大但是随后的实验中的 α \alpha α到底是接在哪个前面的系数?

作者在文中提及focal loss时称,对于存在noise的样本,focal loss会加重一些本来应该是outliers的权重,而这是不必要的。对于此作者采用c来控制,而r的引入是用来增大方差。但是个人感觉并不能认为是单纯的"增加方差"。作者文中也提到"not only downplays the role of very hard samples that cannot be modeled by the network but also helps revisiting clean samples that are regarded as well-classified to promote the discriminative power of classification"。怎么解释与focal loss矛盾的地方?

后来想了想问题可能出在,focal loss的label都有明确的监督,而本文中的label(即c)动态生成。需要有一个权重来引导学习不错的anchor被分配到更多的"照顾"(即"revisiting")。这样好处就在于,可以由一些包含大量语义信息或者位置信息的anchor(尽管不具有高IOU)也有机会参与到最终预测中,并输出可能比拥有更大IOU的anchor更好的结果。同时分类和位置confidence一同引导。

experiments

提出的方法运用于三种主干的retinanet之后结果如下
论文笔记:Learning from Noisy Anchors for One-stage Object Detection_第4张图片
应用于带FPN的F-RCNN的结果:
论文笔记:Learning from Noisy Anchors for One-stage Object Detection_第5张图片
与其他检测器的对比
论文笔记:Learning from Noisy Anchors for One-stage Object Detection_第6张图片

我也不知道同样是在RetinaNet改动,为什么表1和表2同一实验数据能不一样。

soft label和soft weight消融实验如下:
论文笔记:Learning from Noisy Anchors for One-stage Object Detection_第7张图片
不同的超参数设置:
论文笔记:Learning from Noisy Anchors for One-stage Object Detection_第8张图片
根据"α = 0.75 yields the best result—loc_a tends to be more important than cls_c as larger α offers better performance"推出 α \alpha α表示位置系数

在随后的discussion中作者给出了一些讨论和提升原因分析,但我个人认为乏善可陈。

总结

本文主要是两点:
1.用动态软标签替代原来的{1,0},而软标签的设置与位置信息和预测出的分类置信度有关。随后实验表明位置信息起更大的作用。由于分类置信度完全由预测得出,实际上仅仅是IOU在起监督作用。但最终参与NMS的仍然是经过IOU优化过的cls confidence,所以也算是一种位置信息与分类信息结合。
2.动态设置权重。归根结底还是在一堆正样本中选择那些IOU较大的来"着重照顾"。而对于负样本,拥有较小IOU但输出较高cls confidence的同样会被赋予一定的权重来"压制"(由于这个r的设计)。本质上还是一种在动态分配label下的优化策略罢了。

其实在实验中可以看到 α = 0.75 \alpha=0.75 α=0.75时所得的AP最大值和 α = 1 \alpha=1 α=1时的次大值之间的差距甚至可认为是实验波动带来的。那如果带着这一点想法再来回顾一下公式,可得到:
c = l o c a c=loc_{a} c=loca
可认为至始至终只是IOU在监督罢了。
相当于是把分类标签换成动态的IOU。接着r的处理算是套用了focal loss。我不太清楚这个工作有没有人已经做过,但感觉创新点立马就降下来了。

你可能感兴趣的:(论文笔记:Learning from Noisy Anchors for One-stage Object Detection)