本文主要是介绍深度学习论文: ObjectBox: From Centers to Boxes for Anchor-Free Object Detection及其PyTorch实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
深度学习论文: ObjectBox: From Centers to Boxes for Anchor-Free Object Detection及其PyTorch实现
ObjectBox: From Centers to Boxes for Anchor-Free Object Detection
PDF: https://arxiv.org/pdf/2207.06985.pdf
PyTorch代码: https://github.com/shanglianlm0525/CvPytorch
PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks
1 概述
ObjectBox仅使用目标中心位置作为正样本,并在不同的特征级别平等对待所有目标,而不管物体的大小或形状。为了实现这一点, ObjectBox提出两个改进点:
- 将新的回归目标定义为从中心单元位置的2个角到边界框4个边的距离
- 提出了一种定制的 IoU 损失来处理不同大小尺度变化的框
2 ObjectBox
2-1 Label assignment based on object central locations
如上图, 对应于尺度 i i i的回归目标如下:
网络的预测值定义如下,
其中 p 0 , p 1 , p 2 , p 3 p_{0}, p_{1}, p_{2}, p_{3} p0,p1,p2,p3对距离值的网络预测,σ代表logistic sigmoid function, 归一化到0和1之间,乘以2允许检测值覆盖略大的范围。 ( ) 2 ()^{2} ()2输出稳定地以大约零梯度初始化。通过乘以一个恒定的尺度增益 2 i 2^{i} 2i来区分不同的尺度。
与YOLO, FCOS相比, ObjectBox 将所有尺度的所有目标框都视为正样本。因此,无论目标大小如何,它都从所有尺度中学习,以从多个级别实现更可靠的回归。
2-2 SDIoU for Box Regression
与 CIoU 和尺度平衡损失类似,SDIoU 考虑非重叠区域、重叠或交叉区域以及覆盖这2个框的最小框。
其中:
通过计算交叉区域对角线长度的平方来获得交叉区域 I:
覆盖预测框和真实框的最小面积C,由其长度的平方计算为:
通过最小化C,预测框可以在4个方向向真实框移动, 因此将SDIoU定义为:
其中 ρ 表示有利于重叠区域的正权衡值。在分子中同时使用 I 和 (-S) 来对交叉区域进行评分,并对非重叠区域进行惩罚。因此,强制执行预测的 4 个距离值以更快地匹配真实距离。 SDIoU 损失最终定义为 $ L_{IoU} =1 - IoU $
3 Experiments
这篇关于深度学习论文: ObjectBox: From Centers to Boxes for Anchor-Free Object Detection及其PyTorch实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!