GFocal_loss简单总结

GFocal_loss简单总结

文章的主题很突出,针对一阶段目标检测领域的两个现存的表示问题进行分析,并提出合理的解决方案

论文链接

作者知乎解读链接

代码链接

问题1:

用法不一致,训练时分类与回归的head各自分开训练各自的,但是在推理的时候因为NMS的score,又把分类分数和框质量的分数相乘,或许会有一定的gap

对象不一致,训练分类时采用focal loss使用了负样本+正样本,但框相关的仅仅使用正样本来训练,这样会产生一种情况,即预测的框中存在负样本,这种类型在训练时未参与框质量的评估,但分数可能较高,甚至超过一些正样本,这样对结果会有影响

 

 问题2:

框分布的表示问题,通常采用的dirac delta分布比较严格,后续的高斯分布也比较模糊,无法灵活的建模复杂场景下(例如下图大象的遮挡)真实框的分布。

 

问题1的解决方案:

联合分类分数和框质量分数,采用QFL(魔改版的Focal loss)。

式中σ为预测结果,y为标签,β为超参

作者原话:从物理上来讲,我们依然还是保留分类的向量,但是对应类别位置的置信度的物理含义不再是分类的score,而是改为质量预测的score

问题2的解决方案:

使用通用分布表示框的分布,并使用积分形式表示,可以内嵌到(smooth l1 loss、iou loss等中);

由dirac delta分布转为通用分布的形式:

原dirac delta:

 

现general : 离散化后

常见分布的各种指标对比如下表格:

 注意的地方是推理目标,原先是x,现在是P(x)x的积分形式,具体实现时并把连续回归形式变为离散回归形式(使用softmax实现)

因同一目标的通用分布有很多中表示形式,如图,

为了尽快的拟合到真实分布,使用DFL(希望网络快速聚焦到邻近区域的分布中)

 积分区域为y0到yn,y为标签点,yi以及yi+1为靠近真是位置的左右邻近,Si为softmax后的结果。

后续

把两个结合起来形成GFL:

 

最终检测任务的损失函数如下:

 由QFL、DFL以及bbox的giou loss,加上权重组成。

posted @ 2021-02-25 21:00  you-wh  阅读(2611)  评论(0编辑  收藏  举报
Fork me on GitHub