FoveaBox: Beyond Anchor-based Object Detector解读 (三)

三 、FoveaBox

      

                                                             图一 : 对象检测器

   FoveaBox是由一个骨干网和两个特定的任务的子网络构成的单一的、统一的网络。骨干网络是负责计算整张输入图像的卷积特征图,并且是一种现成的卷积网络。第一个子网络在骨干网的输出上执行每个像素分类;第二个子网络执行相对应位置的边界框预测。虽然这些组件的细节有很多可能的选择,但是我们采用RetinaNet的设计进行简单的和公平的比较。

3.1    特征金字塔网络骨干

        我们采用特征金字塔网络作为后续检测的骨干网络。通常,特征金字塔网络使用横向连接的自上而下结构,从单一尺寸的输入建议内部特征金字塔。每一级别的金字塔用于检测不同尺寸的探测目标。我们构建一个水平为 {PL} , l=3,4,...,7 的金字塔,L 表示金字塔的等级,PL具有输入图像 的分辨率,所有金字塔的等级都有 C =256,对于更多关于金字塔的详细信息参考 Feature pyramid networks for object detection   和 Focal  loss for dense object detection

                                                                  图二 :FoveaBox 网络结构    

这个结构的设计遵循RetinaNet 进行公平的比较。RetinaNet在顶层的前馈ResNet架构上使用特征金字塔骨干。对于这个骨干,FoveaBox 连接了两个子网络,一个是用于相对应单元分类另一个是预测真实对象框的(x1, y1, x2, y2)。。对于每一个空间输出位置,FoveaBox 预测每个类和相对应的4维的一个输出得分,这与之前的工作不同。每个位置连接 A 个Anchor(通常A=9)

   3.2   比例分配

           虽然我们的目标是预测目标对象的边界,由于大规模的尺寸目标的变化,直接预测这些目标是不稳定的。代替我们根据特征金字塔的等级将目标对象的尺寸大小分为几个部分。每个金字塔在金字塔等级P3到P7有一个基本的范围32*32  到512*512,所以在等级PL,基本的区域SL被计算为     类似使用C4 作为单尺度特征图的 ResNet-based Faster R-CNN system,我们设S0  为16。在FoveaBox中,每一个特征金字塔学习对特定尺寸的目标做出响应,金字塔等级 L 的目标框的有效尺寸计算为\eta ^{^{^{^{}}}} 是通过经验设定,用于控制每个金字塔的规模范围。在训练期间忽略不在相应尺寸范围内的目标对象。注意到一个对象可能被检测到通过多个网络金字塔去检测,这个不同于之前将对象仅映射到一个特定金字塔的实践中。

3.3  对象 Fovea

    每一个金字塔热图输出集有K个通道,K表示类别数,大小为H*W    (由上图可知),每一个通道是一个二进制的掩码,表示类的概率。给定一个有效的真实框,表示为 (x1, y1, x2, y2).我们首先映射框到步幅为2的目标特征金字塔 PL

                                                   

在得分图上四边形的正区域(中央凹)被设计为原始区域的大致缩小版本(如图 一)

                                                     

其中\sigma 1是收缩因子,在正区域的每一个细胞用相对应的目标对象标签注释进行训练 。对于负样本,我们介绍另一种收缩因子\sigma 2

上图公式生成R^{neg}.负区域是R^{neg}中不包括区域的整个映射特征,如果一个单元格未分配,在训练阶段它将被忽略。正区域通常占据了整个特征图的一小部分,因此我们使用Focal Loss去训练该branch 的目标L_{cls}



3.4 盒子预测

     视网膜中央凹的对象仅仅编码目标对象存在的可能性。为了确定这一位置,模型必须预测每一个潜在实例的边界框。每一个真实边界框用G={x_{1} ,y_{1,}x_{2},y_{2}y_{1}x_{2}y_{2}},我们的目标是去学习一个转换,将特征映射中单格(x,y) 中网络本地化输出映射到真实框G:

                             

其中 z=\sqrt{S_{L}}   是将输出空间投影到以1为中心的空间归一化因子,能够稳定地轻松的学习到目标,函数首先将坐标(x,y)映射到输入图像,然后计算投影坐标和G之间的归一化偏移。最后使用对数空间函数对目标进行归一化。为了简单,我们采用广泛使用的Smooth L1 损失训练盒子预测L_{box},在优化目标之后,我们在输出特征图上为每个单元格生成框边界。注意到上式中方程和逆变换中通过在现代深度学习框架中的元素轻松实现。

3.5  优化 

猜你喜欢

转载自blog.csdn.net/fg13821267836/article/details/90752411