论文信息标题VarifocalNet: An IoU-aware Dense Object Detector会议CVPR 2021单位Queensland University of Technology、University of Queensland代码github.com/hyz-xmaster/VarifocalNet论文https://arxiv.org/pdf/2008.13367.pdf一、开篇稠密检测的千古难题——NMS排序不准在一阶段/anchor-free检测器里大家一直被一个问题坑分类得分 ≠ 定位好坏很多框定位很准但分类得分低直接被NMS删掉有些框分类得分高定位却很烂反而被留下。过去的做法再加一个分支预测IoU/centerness然后和分类得分相乘问题很明显两个分支都有误差乘起来更不准还多了计算量这篇直接给出终极方案不学单独的分类得分也不学单独的定位得分直接学一个东西IoU-aware Classification ScoreIACS一个分数同时代表“有没有物体 定位准不准”。再配上不对称加权的Varifocal Loss高效星形框特征Star-shaped框精炼Bounding Box Refinement最终✅ COCO普遍**2.0 AP**✅ 单模型单尺度最高55.1 AP✅ 扔掉centerness分支结构更干净✅ NMS排序更合理小物体/遮挡物体更强二、核心动机为什么IACS是最优解我们方法的示例。我们不是学习预测边界框的类别标签a而是学习交并比感知分类得分IACS作为其检测得分该得分融合了对象存在置信度和定位精度b。我们提出了一种变焦损失来训练密集对象检测器以预测 IACS并提出了一种星形边界框特征表示九个黄色采样点处的特征用于 IACS 预测。借助新的表示形式我们将初始回归的框红色精炼为更准确的框蓝色。IACS与传统分类得分对比左侧传统检测只学类别标签0/1右侧VFNet学IACS真值类别位置预测框与GT的IoU其余0图片分析传统分类只管“是啥”定位只管“在哪”两张皮IACS一个分数天然对齐分类与定位NMS排序天然最优原文实验证明把分类得分直接换成GT-IoUAP能从39.2飙到74.7说明方向完全正确。FCOS 头部输出示例其中包括分类得分、边界框以及中心性得分。FCOS Head输出示意图包含分类得分、框偏移、centerness图片分析centerness是为了修正定位质量但治标不治本效果有限。而VFNet直接删掉centerness用IACS一统江湖。三、三大核心创新全文精读全覆盖1. IACSIoU-aware Classification Score定义在分类向量里真值类别的值 预测框与GT的IoU其余为0。一句话这个分数越高代表“是这个类”且“框很准”。2. Varifocal LossVFL不对称加权神器公式V F L ( p , q ) { − q ( q l o g ( p ) ( 1 − q ) l o g ( 1 − p ) ) q 0 − α p γ l o g ( 1 − p ) q 0 VFL(p,q) \begin{cases} -q(qlog(p)(1-q)log(1-p)) q0 \\ -\alpha p^{\gamma}log(1-p) q0 \end{cases}VFL(p,q){−q(qlog(p)(1−q)log(1−p))−αpγlog(1−p)​q0q0​符号逐行解释p pp模型预测的IACSq qqIACS标签正样本IoU负样本0q 0 q0q0正样本不衰减、不降权高质量正样本权重大q 0 q0q0负样本用p γ p^{\gamma}pγ只降权简单负样本α \alphaα负样本权重系数默认0.75γ \gammaγ聚焦参数默认2.0✅通俗解释正样本本来就少一个都不能亏待尤其是IoU高的优质正样本负样本太多只学难的简单的直接无视。3. Star-shaped 星形框特征表示星形9点采样示意图9个固定点中心点 上下左右4个中点 4个角点基于可变形卷积提取特征。图片分析比单点特征更能编码框形状上下文比RoIAlign快得多适合稠密检测为IACS预测和框精炼提供强特征9个点坐标由初始框l ′ , t ′ , r ′ , b ′ l,t,r,bl′,t′,r′,b′得到( x , y ) (x,y)(x,y)、( x − l ′ , y ) (x-l,y)(x−l′,y)、( x r ′ , y ) (xr,y)(xr′,y)、( x , y − t ′ ) (x,y-t)(x,y−t′)、( x , y b ′ ) (x,yb)(x,yb′)、( x − l ′ , y − t ′ ) (x-l,y-t)(x−l′,y−t′)、( x r ′ , y − t ′ ) (xr,y-t)(xr′,y−t′)、( x − l ′ , y b ′ ) (x-l,yb)(x−l′,yb′)、( x r ′ , y b ′ ) (xr,yb)(xr′,yb′)✅通俗解释用框本身的9个关键点位代替随便一个中心点特征自然更准。4. Bounding Box Refinement 框精炼初始框 → 星形特征 → 预测缩放因子→ 精炼框l Δ l ⋅ l ′ , t Δ t ⋅ t ′ , r Δ r ⋅ r ′ , b Δ b ⋅ b ′ l\Delta l \cdot l,\ t\Delta t \cdot t,\ r\Delta r \cdot r,\ b\Delta b \cdot blΔl⋅l′,tΔt⋅t′,rΔr⋅r′,bΔb⋅b′两级监督初始框损失 精炼框损失GIoU四、整体架构我们的 VFNet 的网络架构。VFNet 基于 FPNP3-P7构建而成。其头部由两个子网络组成一个用于回归初始边界框并对其进行细化另一个用于基于星形边界框特征表示Star Dconv预测与 IoU 相关的分类得分。H×w 表示特征图的大小。VarifocalNet整体架构Backbone → FPN → 两个Head定位Head初始框 框精炼分类Head基于星形特征预测IACS去掉centerness结构极简。图片分析完全基于FCOSATSS改动极小极易复现、即插即用。五、总损失函数L o s s 1 N p o s ∑ V F L λ 0 N p o s ∑ q L b b o x ( b b o x ′ , G T ) λ 1 N p o s ∑ q L b b o x ( b b o x , G T ) Loss \frac{1}{N_{pos}} \sum VFL \frac{\lambda_0}{N_{pos}} \sum q L_{bbox}(bbox,GT) \frac{\lambda_1}{N_{pos}} \sum q L_{bbox}(bbox,GT)LossNpos​1​∑VFLNpos​λ0​​∑qLbbox​(bbox′,GT)Npos​λ1​​∑qLbbox​(bbox,GT)N p o s N_{pos}Npos​正样本数量λ 0 1.5 , λ 1 2.0 \lambda_01.5,\lambda_12.0λ0​1.5,λ1​2.0损失权重q qqIoU标签只监督高质量正样本六、核心代码PyTorch可直接跑# # Varifocal Loss 核心实现# defvarifocal_loss(pred,target,alpha0.75,gamma2.0): pred: [N, C] 预测IACS target: [N, C] IACS标签 weighttorch.pow(pred,gamma)# 负样本lossneg_loss-alpha*weight*torch.log(1-pred1e-6)# 正样本losspos_indstarget0pos_predpred[pos_inds]pos_targettarget[pos_inds]pos_loss-pos_target*(pos_target*torch.log(pos_pred1e-6)(1-pos_target)*torch.log(1-pos_pred1e-6))loss(pos_loss.sum()neg_loss.sum())/(pos_inds.sum()1)returnloss# # 星形可变形卷积采样简化# defstar_sample_offsets(ltrb):# ltrb: [B, N, 4] left, top, right, bottoml,t,r,bltrb.unbind(-1)x,y0,0# 9个点points[(x,y),(x-l,y),(xr,y),(x,y-t),(x,yb),(x-l,y-t),(xr,y-t),(x-l,yb),(xr,yb)]offsetstorch.stack([torch.stack(p,dim-1)forpinpoints],dim-2)returnoffsets.flatten(-2)七、实验图表全覆盖原文关键结果表格1原文Table1Oracle实验证明IACS最强设置AP说明FCOSATSS39.2基线GT centerness41.1小涨GT IoU替代centerness43.5有限GT 框56.1极强GT IoU作为分类得分IACS74.7上限爆炸分析IACS是检测排序的理论最优解远超centerness、IoU分支等方案。表格2原文Table2Varifocal Loss超参消融γ \gammaγα \alphaαAPAP501.00.541.259.21.50.7541.559.72.00.7541.659.52.51.2541.559.4分析γ 2 , α 0.75 \gamma2,\alpha0.75γ2,α0.75为最优通用且稳定。表格3原文Table3模块逐个涨点VFLStarRefineAP39.0✓40.1✓✓40.7✓✓✓41.6FCOSATSS--39.2分析三个模块缺一不可累计2.4AP远超基线。表格4原文Table4COCO test-dev 主流对比模型BackboneAPATSSR-10143.6VFNetR-10146.0ATSSR-101-DCN46.3VFNetR-101-DCN49.2VFNet-X-1200R2Net-101-DCN55.1分析平均**2.0AP**单模型单尺度55.1AP达到SOTA表格5原文Table5VFL强于FL/GFL模型FLGFLVFLRetinaNet36.537.337.4RepPoints38.339.239.7ATSS39.339.840.2VFNet40.041.141.6分析Varifocal Loss通用涨点在各种稠密检测器上都强于FL、GFL。在 COCO 测试集 - 开发版上应用我们最佳模型的检测示例。可视化时的分数阈值为 0.3。VFNet检测效果示例各类别、遮挡、小物体都定位准、得分合理。图片分析IACS让NMS更合理少漏检、少误检。八、全文总结最精炼痛点分类得分与定位质量不一致NMS排序差方案IACS合一表示“类别定位质量”训练Varifocal Loss不对称加权重视高质量正样本特征星形9点可变形特征高效编码框结构精炼两级框回归定位更准效果2AP、结构简洁、扔掉centerness、SOTA