2021-10-22 学习周报

本次周报对三篇论文作学习总结,分别是2017年的两篇论文FPN和Focal Loss,以及2021.9.15新近发表的对FPN和Focal Loss改进的论文:达到SOTA的UMOP。

Feature Pyramid Networks

Paper:《Feature Pyramid Networks for Object Detection》

Where:CVPR 2017

论文背景

多尺度目标检测时的问题是,RoI作用在最后一层,对于大目标的检测没有问题,但是对于小目标的检测就有些问题。因为对于小目标来说,当进行conv到最后一层时,实际上语义信息已经几乎没有了,通过将底层坐标直接除以Stride把一个RoI映射到某个Feature map,随着网络的加深映射过去后也会越小。

创新点

Feature Pyramid Networks生成的特征金字塔使每一层不同尺度的特征图都具有较强的语义信息,能够在增加较少计算量的前提下,融合低分辨率语义信息较强的特征图,和高分辨率语义信息较弱但空间信息丰富的特征图。

论文结构

在这里插入图片描述

FPN主要分为:

  • 自底向上通道

即backbone,它计算一个由多个尺度的feature map组成的特征层次结构,每一级往上用step=2的降采样。通常有许多层产生相同大小的输出图,我们说这些层处于相同的网络阶段,conv1被认为语义信息太低和内存太大而被舍去,conv2,conv3,conv4和conv5的输出层参与预测。

  • 自顶向下通道和横向连接

Top-down pathway通过从更高的金字塔层次上进行上采样得到更粗糙但语义更强的feature map,来产生更高分辨率的特征。横向连接Top-down pathway的特征增强了这些特征。每个横向连接从自下而上路径和自上而下路径合并相同空间大小的feature map。自下而上的特征图具有较低的语义,但其激活更精确地localize,因为它被下采样的次数更少。

在这里插入图片描述

具体过程为:C5层先经过1 x 1卷积,改变特征图的通道数(文章中设置d=256,与Faster R-CNN中RPN层的维数相同便于分类与回归)。M5通过上采样,再加上(特征图中每一个相同位置元素直接相加)C4经过1 x 1卷积后的特征图,得到M4。这个过程再做两次,分别得到M3,M2。M层特征图再经过3 x 3卷积(减轻最近邻近插值带来的混叠影响,周围的数都相同),得到最终的P2,P3,P4,P5层特征

FPN应用于RPN层

在这里插入图片描述

Faster RCNN中的RPN是通过最后一层的特征来做的。最后一层的特征经过3x3卷积,得到256个channel的卷积层,再分别经过两个1x1卷积得到类别得分和边框回归结果。这里将特征层之后的RPN子网络称之为网络头部(network head)。对于特征层上的每一个点,作者用anchor的方式预设了9个框。这些框本身包含不同的尺度和不同的长款比例。

FPN针对RPN的改进是将网络头部应用到每一个P层。由于每个P层相对于原始图片具有不同的尺度信息,因此作者将原始RPN中的尺度信息分离,让每个P层只处理单一的尺度信息。具体的,对{322、642、1282、2562、512^2}这五种尺度的anchor,分别对应到{P2、P3、P4、P5、P6}这五个特征层上。每个特征层都处理1:1、1:2、2:1三种长宽比例的候选框。P6是专门为了RPN网络而设计的,用来处理512大小的候选框。它由P5经过下采样得到。

另外,上述5个网络头部的参数是共享的。作者通过实验发现,网络头部参数共享和不共享两种设置得到的结果几乎没有差别。这说明不同层级之间的特征有相似的语义层次。这和特征金字塔网络的原理一致

在这里插入图片描述
使用RPN,Fast RCNN和Faster RCNN在COCO minival的实验结果,AP均有较大幅度的上涨。

在这里插入图片描述
在COCO检测基准上的single-model结果比较:论文测试了FPN算法在COCO数据集上面的性能表现,使用了FPN的Faster R-CNN方法获得了很多的最佳指标,尤其是在APs指标上面。总之,我们获得了最好的单模型准确率。

在这里插入图片描述

论文发现共享特征可以小幅提高准确性。特性共享也减少了测试时间,准确来说是增加了1.5倍的训练时间(使用4步训练),但减少了测试时间。

在这里插入图片描述
如表,论文的使用了一个5×5 MLP的baseline FPN实现了43.4的AR。切换到稍大一点的7×7 MLP,准确性基本没有变化。同时使用两个MLP将精度提高到45.7 AR。将mask输出尺寸从14×14增加到28×28将AR提高另一个点(更大的尺寸开始降低精度)。最后,将训练迭代次数增加一倍,AR增加到48.1。

论文还报告了与DeepMask、SharpMask和InstanceFCN的比较,这是之前在mask建议生成中最先进的方法。论文比这些方法的精度高出8.3个AR点。特别是,论文结果在小物体上的精度几乎提高了一倍。

现有的mask proposal方法是基于密集采样的图像金字塔,计算成本很高。论文的方法基于FPN要快得多(论文的模型运行在6到7帧每秒)。实验结果表明,该模型是一种通用的特征提取方法,可以代替图像金字塔进行其他多尺度检测。

Focal Loss:关注hard negative example

Paper:《Focal Loss for Dense Object Detection》

Where: ICCV 2017

论文背景

Sliding Window检测方式造成的正负样本比例不平衡,容易分类的负样本占比例太大,这些easy example虽然loss很低,但是数量众多,占据了loss中的大部分,还主导了梯度,影响检测精度。

创新点

动态缩放优化交叉熵损失函数为Focal Loss损失函数,增加了一个动态变化的参数,降低easy example权重,让模型关注hard negative example,使one stage模型达到two stage模型的精度

论文结构

二分类问题的标准交叉熵损失为:
L c e = − y l o g y ^ − ( 1 − y ) l o g ( 1 − y ^ ) = { − l o g ( y ^ ) ,   y = 1 − l o g ( 1 − y ^ ) ,   y = 0 L_{ce}=-ylog\hat{y}-(1-y)log(1-\hat{y})=\left\{ \begin{aligned} -log(\hat{y})&,\ y=1 \\ -log(1-\hat{y})&,\ y=0 \end{aligned} \right. Lce=ylogy^(1y)log(1y^)={ log(y^)log(1y^), y=1, y=0
对于二分类模型用Sigmoid函数激活 y ^ = σ ( x ) \hat{y}=\sigma(x) y^=σ(x) ,所以

L c e = − y l o g σ ( x ) − ( 1 − y ) l o g σ ( − x ) = { − l o g σ ( x ) ,   y = 1 − l o g σ ( − x ) ,   y = 0 L_{ce}=-ylog\sigma (x)-(1-y)log\sigma(-x)=\left\{ \begin{aligned} -log\sigma(x)&,\ y=1 \\ -log\sigma(-x)&,\ y=0 \end{aligned} \right. Lce=ylogσ(x)(1y)logσ(x)={ logσ(x)logσ(x), y=1, y=0
通过设定两个阈值,例如0.4和0.6,当模型对某个负样本的输出小于0.4,或者模型对某个正样本的输出大于0.6时,不需要再根据这个样本来更新模型,而只有在0.4~0.6之间的样本才会更新模型,这样就达到了让模型更关注于hard negative example的目的,从而使的训练后的分类效果更好,两个优化方向:

  • 平衡Cross Entropy,添加权重因子 − α t -\alpha_t αt,负样本出现的频次多,那么就降低负样本的权重,正样本数量少,就相对提高正样本的权重
    C E ( p t ) = −
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值