论文认为预测结果能够更准确地区分正负样本,提出结合预测结果IoU和anchor IoU来准确地选择最高质量的预测结果进行网络训练。整体算法简单但十分有效,值得看看
来源:晓飞的算法工程笔记 公众号
论文: Dynamic Label Assignment for Object Detection by Combining Predicted and Anchor IoUs
Introduction
Label assignment是目标检测里面很重要的一环,用于区分正样本和负样本。对于anchor-based模型,常规做法是根据设定的anchor IoU阈值直接区分正负样本。早期的检测模型都用固定的阈值,忽略了目标的形状和大小特征的差异。而近期出现了一些动态阈值的研究,根据目标的特征动态调整阈值,选择较高质量的anchor作为正样本。但高质量的anchor并不能保证对应最高质量的输出结果,强行绑定的话反而会限制模型的训练。
实际上,直接用预测结果的IoU作为正负样本的区分更为准确,能够直接反映网络的实际训练状态。但需要注意的是,训练初期的预测结果可能存在随机性。为此,论文基于ATSS网络,结合预测结果IoU和anchor IoU区分正负样本。另外,论文还将Centerness分支替换为IoU分支,引入了QFL(或VFL)来对soft target(预测的IoU值)进行优化。
Proposed Approach
Revisit Adaptive Label Assignment
自适应label assignment先为每个GT选择多个最近的候选anchor,然后计算候选anchor与对应的GT之间的IoU值的统计信息,如均值和标准差,最后根据统计信息计算动态阈值。高质量anchor多的GT设置较高的阈值,而低质量anchor多的GT则设置较低的阈值,保证了正样本的数量。
但大多数的自适应策略都只考虑预设的anchor,忽略了训练过程产生的预测bbox,导致部分高质量的预测结果被归类为负样本,对性能影响较大。如果直接将预测结果加入到自适应策略中,由于训练初期的预测结果还不够可信,这反而可能会影响训练。为此,论文提出结合预设anchor和预测bbox来解决这一问题。
Dynamic Label Assignment
论文将预设anchor与预测结果构成combined IoU进行label assignment。在训练初期,由于预测结果不准确,将anchor作为label define的主要准则。随着训练的进行,预测结果逐步控制combined IoU并引导训练阶段的label assignment。整体网络结果如图1所示,以ATSS作为基础网络,将预测结果的IoU和预设anchor的IoU组合成Combined IoU。如果对ATSS感兴趣,可以去看看ATSS : 目标检测的自适应正负anchor选择,很扎实的trick | CVPR 2020
why utilizing predictions is so important to guide the label assignment?
由于最终检测结果是从预测结果中选择的,而且NMS也是基于预测结果计算的,预测结果比预设anchor能更准确地分辨正负样本。在设计检测模型时,一般都认为IoU更高或更近的预设框更适合做正样本。但由于预设框和GT是固定不变的,这意味着一旦预设框的正负样本划分好了,就不会在训练阶段有任何改变了。尽管这样的预设框的确有更大的可能输出高质量预测结果,但显然高质量的预测结果并不一定来自于高质量的预设框。
强制指定高质量预设框为正样本,反而会导致网络只专注于学习这些"可能高质量"的预设框的输出而忽略了其他真实存在的高质量输出。如果在每轮迭代中都引入预测结果来区分正负样本,则可以为模型更准确地选择最高质量的输出,从而提升模型的整体性能。
Soft Targets for Classification Loss
由于论文引入了预测结果进行label assignment,所以使用soft target(预测的IoU值)对预测结果进行质量排序是再适合不过的,这恰好可以借用GFL和VFNet来进一步提升模型的性能。
GFL是基于focal loss改进的针对连续值的版本,包含QFL和DFL两部分,分别用于优化分类分支和回归分支。QFL将分类分支与IoU分支融合成IoU-aware的分类分支,预测的目标不再是0和1,而是0或预测框与GT的IoU。随后根据预测结果与实际IoU之间的差值进行权重的调整。论文引入了QFL用于提升分类部分的性能,具体QFL的设计可以去看看Generalized Focal Loss:Focal loss魔改以及预测框概率分布,保涨点 | NeurIPS 2020。另外,论文在实验部分也有增加GFLV2+combined IoU以及VFNet+combined IoU的实现进行测试,具体GFLV2的设计可以去看看GFLV2:边界框不确定性的进一步融合,提点神器 | CVPR 2021。
VFNet中的VFL根据soft target对正样本进行权重优化,跟GFL一样也将分类分支与IoU分支融合成IoU-aware的分类分支。不同的是,VFL将质量更高的正样本设置更高的权重,负样本则维持原本focal loss的模式,让模型专注于高质量正样本和错误负样本的学习。
Experiment
CIoU(Combined IoU)、QFL、VFL对比结果。
不同训练方法搭配CIoUs的回归损失曲线。
各模块的对比实验,AIoU代表anchor的IoU用于区分正负样本,PIoU代表预测结果的IoU用于区分正负样本,IoU branch代表将Centerness分支替换为IoU分支。
CIoU的结合比例对比,D_up和D_down分别代表动态上升和下降。
在COCO上进行完整网络的对比,Dynamic ATSS为ATSS+CIoUs+QFL+IOU branch。这里的准确率没有比GFL高,论文认为是GFL使用了臃肿的DFL提升了回归分支准确率,而论文只是使用了简单的回归分支。
不同训练网络搭配CIoU的作用。
Conclusion
论文认为预测结果能够更准确地区分正负样本,提出结合预测结果IoU和anchor IoU来准确地选择最高质量的预测结果进行网络训练。整体算法简单但十分有效,值得看看。
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】