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来准确地选择最高质量的预测结果进行网络训练。整体算法简单但十分有效,值得看看。

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

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

相关推荐
惯导马工8 小时前
【论文导读】ORB-SLAM3:An Accurate Open-Source Library for Visual, Visual-Inertial and
深度学习·算法
隐语SecretFlow1 天前
国人自研开源隐私计算框架SecretFlow,深度拆解框架及使用【开发者必看】
深度学习
Billy_Zuo1 天前
人工智能深度学习——卷积神经网络(CNN)
人工智能·深度学习·cnn
羊羊小栈1 天前
基于「YOLO目标检测 + 多模态AI分析」的遥感影像目标检测分析系统(vue+flask+数据集+模型训练)
人工智能·深度学习·yolo·目标检测·毕业设计·大作业
l12345sy1 天前
Day24_【深度学习—广播机制】
人工智能·pytorch·深度学习·广播机制
九章云极AladdinEdu2 天前
超参数自动化调优指南:Optuna vs. Ray Tune 对比评测
运维·人工智能·深度学习·ai·自动化·gpu算力
研梦非凡2 天前
ICCV 2025|从粗到细:用于高效3D高斯溅射的可学习离散小波变换
人工智能·深度学习·学习·3d
通街市密人有2 天前
IDF: Iterative Dynamic Filtering Networks for Generalizable Image Denoising
人工智能·深度学习·计算机视觉
智数研析社2 天前
9120 部 TMDb 高分电影数据集 | 7 列全维度指标 (评分 / 热度 / 剧情)+API 权威源 | 电影趋势分析 / 推荐系统 / NLP 建模用
大数据·人工智能·python·深度学习·数据分析·数据集·数据清洗
七元权2 天前
论文阅读-Correlate and Excite
论文阅读·深度学习·注意力机制·双目深度估计