Fovea Box论文地址:https://arxiv.org/pdf/1904.03797v1.pdf
FoveaBox目标检测基本思想:对于可能存在目标的每个输出空间位置,FoveaBox直接预测所有目标类别存在的置信度和边界框
1.FPN主网络:FPN+两个特定功能的子网络。
为了与RetinaNet网络结果进行一个公平的比较,本文的实验网络结构遵循着RetinaNet的结构设计。
主网络:使用FPN网络构建特征金字塔,检测不同尺度大小的对象,文中同样的构建的金字塔尺度为:。每层
的尺度大小是输入图像的
分辨率。
两个特定任务的子网络:同样地,一个用于相对应的cell分类;一个用于预测ground-truth对相框的值。
与之前为每个空间位置点添加anchors的工作不同,对于每一个空间位置输出,FoveaBox预测对于每个类的得分输出和相应的Box值。
2.尺度分配
直接预测大量的对象目标类别和位置,会导致结果并不稳定。
论文提出根据特征金字塔level的数量,将对象的尺度分为几个bins。金字塔尺度对应的基本区域(basic area)分别为
。因此对于
来说,基本区域
的计算公式如下:
论文中有,在FoveaBox中,特征金字塔每层需要对特定尺度的对象做出响应,对于金字塔层
的目标框都需要计算一个有效尺度范围,计算公式如下:
是经验性参数(实验中取2,有最好效果),来控制每个金字塔的尺度范围。
落在上的bounding box的大小的范围就限制在上述范围内。
3.Object Fovea
金字塔的输出的是heatmap集合,每个输出都有K个通道,K为类别数,大小为H*W。将cell进行定义,可以定义为正区域和负区域,也可以不定义区域。将正,负区域进行缩放,未定义区域则不进行训练。
0)若给定一个有效Ground truth box:。首先将该box映射至尺度为
的特征金字塔上,映射公式如下:
1)文中提出前景区域(正样本区域):Fovea--为原区域的缩放区域,计算公式如下:
【这样设置的原因是为了防止语义区域的相互交叠】
是收缩因子。并为正样本的每个cell进行目标类别的标注加以训练。
2)对于负样本区域的定义,文中也引入了和缩放因子
,使用上述正样本一样的公式,更换参数进行计算。
3)正样本同样的只占整个样本的少数,因此论文使用了Focal Loss来训练该分支的。
3.边框预测
论文中的模型预测了每个可能潜在的对象边界框的位置。
训练中ground truth的坐标值,模型的目标是学习一个转换:将特征单元格中心点
处的定位输出
与ground truth框之间的映射,映射关系如下:
其中,,为归一化因子。使用Smooth L1 loss来预测
。将输出空间映射到中心为1的空间,使得训练稳定。最后使用log空间函数进行正则化。
4.结束:
FoveaBox整体设计思路为anchor-free,不需要定义anchor,但需要手工的去设置参数;预测边框时,是学习映射。
等待代码ing...有一些地方感觉还是比较模糊啊。
抓紧时间读论文。暂时撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。