Dynamic ATSS:预测结果才是正负样本区分的最佳准则

论文认为预测结果能够更准确地区分正负样本,提出结合预测结果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来准确地选择最高质量的预测结果进行网络训练。整体算法简单但十分有效,值得看看。

如果本文对你有帮助,麻烦点个赞或在看呗~

更多内容请关注 微信公众号【晓飞的算法工程笔记】

相关推荐
阿_旭3 小时前
一文读懂| 自注意力与交叉注意力机制在计算机视觉中作用与基本原理
人工智能·深度学习·计算机视觉·cross-attention·self-attention
王哈哈^_^3 小时前
【数据集】【YOLO】【目标检测】交通事故识别数据集 8939 张,YOLO道路事故目标检测实战训练教程!
前端·人工智能·深度学习·yolo·目标检测·计算机视觉·pyqt
Power20246664 小时前
NLP论文速读|LongReward:基于AI反馈来提升长上下文大语言模型
人工智能·深度学习·机器学习·自然语言处理·nlp
YRr YRr4 小时前
深度学习:循环神经网络(RNN)详解
人工智能·rnn·深度学习
sp_fyf_20245 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
红客5975 小时前
Transformer和BERT的区别
深度学习·bert·transformer
多吃轻食5 小时前
大模型微调技术 --> 脉络
人工智能·深度学习·神经网络·自然语言处理·embedding
charles_vaez5 小时前
开源模型应用落地-glm模型小试-glm-4-9b-chat-快速体验(一)
深度学习·语言模型·自然语言处理
YRr YRr5 小时前
深度学习:Transformer Decoder详解
人工智能·深度学习·transformer
Shy9604186 小时前
Bert完形填空
python·深度学习·bert