针对 anchor-point 检测算法的优化问题,论文提出了 SAPD 办法,对不同地位的 anchor point 应用不同的损失权重,并且对不同的特色金字塔层进行加权独特训练,去除了大部分人为制订的规定,更加遵循网络自身的权值进行训练
起源:晓飞的算法工程笔记 公众号
论文: Soft Anchor-Point Object Detection
- 论文地址:https://arxiv.org/abs/1911.12448
- 论文代码:https://github.com/xuannianz/SAPD not official
Introduction
Anchor-free 检测办法分为 anchor-point 类别和 key-point 类别两种,绝对于 key-point 类别,anchor-point 类别有以下有点:1) 更简略的网络结构 2) 更快的训练和推理速度 3) 更好地利用特色金字塔 4) 更灵便的特色金字塔抉择,但 anchor-point 类别的准确率个别比 key-point 类别要低,所以论文着力于钻研妨碍 anchor-point 类别准确率的因素,提出了 SAPD(Soft Anchor-Point Detecto),次要有以下两个亮点:
- Soft-weighted anchor points。anchor-point 算法在训练时个别将满足几何关系的点设置为正样本点,其损失值权重均为 1,这造成定位较不精确的点偶然分类置信度更高。实际上,不同地位的点的回归难度是不一样的,越凑近指标边缘的点的损失值权重应该越低,让网络集中于优质 anchor point 的学习。
- Soft-selectedpyramid levels。anchor-point 算法每轮训练会抉择特色金字塔的其中一层特色进行训练,其它层均疏忽,这在肯定水平上造成了节约。因为其余层尽管响应不如被抉择的层强,但其特色散布应该与被抉择层是相似的,所以能够赋予多层不同权重同时训练。
Detection Formulation with Anchor Points
论文首先介绍了大抵的 anchor point 指标检测办法的网络结构以及训练方法。
Network architecture
网络蕴含骨干网络以及特色金字塔,特色金字塔每层蕴含一个 detection head,特色金字塔层标记为 $P_l$,$l$ 为层数,层的特色图大小为输出 $W\times H$ 的 $1/s_l$ 倍,$s_l=2^l$ 为 stride。个别,$l$ 的范畴为 3 到 7,detection head 蕴含分类子网和回归子网,子网均以 5 个 $3\times 3$ 卷积层结尾,而后每个地位别离预测 $K$ 个分类置信度以及 4 个偏移值,偏移值别离为以后地位到指标边界的间隔。
Supervision targets
对于指标 $B=(c, x, y, w, h)$,核心区域为 $B_v=(c, x, y, \epsilon w, \epsilon h)$,$\epsilon$ 为缩放因子。当指标 $B$ 被赋予金字塔层 $P_l$ 且 anchor point $p_{lij}$ 位于 $B_v$ 内时,则认为 $p_{lij}$ 是正样本点,分类指标为 $c$,回归指标为归一化的间隔 $d=(d^l, d^t, d^r, d^b)$,别离为以后地位到指标四个边界的间隔:
$z$ 为归一化因子。对于负样本点,分类指标为背景 ($c=0$),定位指标为 null,不须要学习。
Loss functions
网络输入每个点 $p_{lij}$ 的 $K$ 维分类输入 $\hat{c}_{lij}$ 以及 4 维地位回归输入 $\hat{d}_{lij}$,别离应用 focal loss 和 IoU loss 进行学习:
网络整体损失为正负样本点之和除以正样本点数:
Soft Anchor-Point Detector
SAPD 的外围如图 3 所示,别离为 Soft-Weighted Anchor Points 以及 Soft-Selected Pyramid Levels,用于调整 anchor point 权重以及应用特色金字塔的多层进行训练。
Soft-Weighted Anchor Points
-
False attention
基于传统的训练策略,论文察看到局部 anchor point 输入的定位准确率较差,然而其分类置信度很高,如图 4a 所示,这会造成 NMS 过后没有保留定位最精确的预测后果。可能的起因在于,训练策略平等地看待核心区域 $B_v$ 内的 anchor point。实际上,离指标边界越近的点,越难回归精确的指标地位,所以应该依据地位对不同的 anchor point 进行损失值的加权,让网络集中于优质的 anchor point 的学习,而不是勉强网络将那些较难回归的点也学习好。
-
Our solution
为了解决下面提到的问题,论文提出 soft-weighting 的概念,为每个 anchor point 的损失值 $L_{lij}$ 减少一个权重 $w_{lij}$,权重由点地位和指标的边界决定,负样本点不参加地位回归的计算,所以间接设为 1,残缺的权值计算为:
$f$ 为反映点 $p_{lij}$ 与指标 $B$ 边界远近的函数,论文设置 $f$ 为 centerness 函数 $f(p_{lij}, B)=[\frac{min(d^l_{lij}, d^r_{lij})min(d^t_{lij}, d^b_{lij})}{max(d^l_{lij}, d^r_{lij})max(d^t_{lij}, d^b_{lij})}]^{\eta}$
$\eta$ 为升高的幅度,具体的成果能够看图 3,通过 Soft-Weighted 后,anchor point 的权值变成了山峰状。
Soft-Selected Pyramid Levels
-
Feature selection
anchor-free 办法在每轮个别都会抉择特色金字塔的其中一层进行训练,抉择不同的层的成果齐全不同。而论文通过可视化发现,不同层的激活区域实际上是相似的,如图 5 所示,这意味着不同层的特色能够合作预测。基于下面的发现,论文认为抉择适合的金字塔层有两条准则:
- 抉择需基于特征值,而非人工制订的规定。
- 容许应用多层特色对每个指标进行训练,每层需对预测后果有显著的奉献。
-
Our solution
为了满足下面两条准则,论文提出应用特色选择网络来预测每层对于指标的权重,整体流程如图 6 所示,应用 RoIAlign 提取每层对应区域的特色,合并后输出到特色选择网络,而后输入权重向量。成果可看图 3,金字塔每层的权值的山峰形态类似,但高度不同。须要留神,特色选择网络仅在训练阶段应用。
特色选择网络的构造非常简略,如表 1,与检测器一起训练,GT 为 one-hot 向量,数值依据 FSAF 的最小损失值办法指定,具体能够看看之前发的对于 FSAF 文章。至此,指标 $B$ 通过权重 $w^B_l$ 与金字塔的每层进行了关联,联合后面的 soft-weighting,anchor point 的权值为:
残缺的模型的损失为加权的 anchor point 损失加上特色选择网络的损失:
Experiment
各模块的比照试验。
与 SOTA 算法进行比照。
Conclusion
针对 anchor-point 检测算法的优化问题,论文提出了 SAPD 办法,对不同地位的 anchor point 应用不同的损失权重,并且对不同的特色金字塔层进行加权独特训练,去除了大部分人为制订的规定,更加遵循网络自身的权值进行训练。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】