作为与 FCOS 和 FSAF 同期的 Anchor-free 论文,FoveaBox 在整体构造上也是基于 DenseBox 加 FPN 的策略,次要差异在于 FoveaBox 只应用指标核心区域进行预测且回归预测的是归一化后的偏移值,还有依据指标尺寸抉择 FPN 的多层进行训练,大家能够学习下
起源:晓飞的算法工程笔记 公众号
论文: FoveaBox: Beyound Anchor-Based Object Detection
- 论文地址:https://arxiv.org/abs/1904.03797
- 论文代码:https://github.com/taokong/FoveaBox
Introduction
论文认为 anchor 的应用不肯定是最优的搜寻指标的形式,且受人眼视网膜地方凹 (fovea) 的启发:视觉区域的中部有最高的视觉敏锐度,所以提出了 anchor-free 指标检测办法 FoveaBox。
FoveaBox 联结预测每个无效地位为指标核心的可能性及其对应指标的尺寸,输入类别置信度以及用以转化指标区域的尺寸信息。如果大家看过很多 Anchor-free 的检测计划,可能感觉论文的实现计划很常见,确实,其实这篇文章也是 Anchor-free 井喷初期的作品,整体思路很纯正,也是很多大佬都想到的思路,在浏览时须要关注以下细节:
- 以指标的核心区域进行分类预测与回归预测
- 将回归预测的是归一化后的偏移值
- 训练时可指定 FPN 多层同时训练
- 提出特色对齐模块,应用回归的输入来调整分类的输出特色
FoveaBox
Object Occurrence Possibility
给定 GT 指标框 $(x_1, y_1, x_2, y_2)$,将其映射到特色金字塔层 $P_l$:
$s_l$ 为特色层绝对于输出的 stride,正样本区域 $R^{pos}$ 为大抵为映射框的放大版本:
$\sigma$ 为人为设定缩放因子。在训练阶段,正样本区域内的特色点标记为对应的指标类别,其余的区域为负样本区域,特色金字塔每层的输入为 $C\times H\times W$,$C$ 为类别总数。
Scale Assignment
网络的指标是预测指标的边界,间接预测是不稳固的,因为指标尺寸的跨度很大。为此,论文将指标尺寸归为多个区间,对应特色金字塔各层,各层负责特定尺寸范畴的预测。给予特色金字塔 $P_3$ 到 $P_7$ 根底尺寸 $r_l=2^{l+2}$,则层 $l$ 负责的指标尺寸范畴为:
$\eta$ 为人工设置的参数,用于管制特色金字塔每层的回归尺寸范畴,不在该层尺寸范畴内的训练指标则疏忽。指标可能落到多个层的尺寸范畴内,这时应用多层进行训练,多层训练有以下益处:
- 邻接的特色金字塔层通常有相似的语义信息,可同时进行优化。
- 大幅减少每层的训练样本数,使得训练过程更稳固。
Box Prediction
在预测指标尺寸时,FoveaBox 间接计算正样本区域 $(x,y)$ 到指标边界的归一化的偏移值:
公式 4 先将特色金字塔层的像素映射回输出图片,再进行偏移值的计算,训练采纳 L1 损失函数。
Network Architecture
网络结构如图 4 所示,骨干网络采纳特色金字塔的模式,每层接一个预测 Head,蕴含分类分支和回归分支。论文采纳较简略的 Head 构造,应用更简单的 Head 能够取得更好的性能。
Feature Alignment
论文提出了特色对齐的 trick,次要是对预测 Head 进行革新,构造如图 7 所示,
Experiment
与 SOTA 办法进行比照。
Conclusion
作为与 FCOS 和 FSAF 同期的 Anchor-free 论文,FoveaBox 在整体构造上也是基于 DenseBox 加 FPN 的策略,次要差异在于 FoveaBox 只应用指标核心区域进行预测且回归预测的是归一化后的偏移值,还有依据指标尺寸抉择 FPN 的多层进行训练。因为 FoveaBox 的整体实现计划太纯正了,与其它 Anchor-free 办法很像,所以始终投稿到当初才中了,作者也是相当不容易。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】