Learning Rich Features at High-Speed for Single-Shot Object Detection 论文笔记

前言

目前的single-stage目标检测器依然存在两个问题:

  • 在检测小目标时,性能不是很好。比如RetinaNet在检测COCO上的大目标时能达到47的AP,而小目标的AP只有14;
  • 大多数single-stage检测器采用在ImageNet上经过预训练的backbone来进行分类任务,然后利用目标检测数据集进行微调以实现快速收敛。但是分类任务和定位任务之间仍存在较大差异,尤其是在IoU阈值较高的情况下。

虽然一些研究表明从零开始训练检测模型可以弥补这种差异,但与基于微调的网络相比,从零开始训练一个非常深的网络需要更长的训练时间。由此,本文将预训练与从零开始训练相结合,提出了一种新的检测框架,该框架包含一个经过预训练的backbone,和一个轻量级从零开始训练的辅助网络。辅助网络为backbone提供低/中级信息的补充,有利于中小目标的检测。

由于低/中级信息和高级语义对于不同尺度的目标检测(尤其是小目标)来说都是非常重要的,虽然一些检测器使用FPN来进行特征表示,但在FPN中,由于是top-down结构,因此它只向前面的层注入了高级信息。因此本文还提出一种双向网络,将高级信息与前一层融合,低/中级信息与后一层融合,以实现更精确的多尺度目标检测。


方法实现

在这里插入图片描述
上图是本文提出的检测框架的整体结构,主要由三部分组成:

  • 标准的SSD网络;
  • 轻量级的从零开始训练的网络(LSN);
  • 双向网络

1. SSD

本文采用经过预训练的SSD作为backbone,选取conv4_3,FC_7,conv8_2,conv9_2,conv10_2,conv11_2作为主干网络特征。

2. LSN

LSN网络与SSD的特征层紧密相连,它用来构建低/中级的特征表示,称为LSN特征。
在这里插入图片描述
上图是SSD中的特征提取策略,通过多个卷积块和最大池化操作以最终生成语义丰富的特征。这一类特征提取策略对于分类任务来说是非常有帮助的,因为分类任务要求的是平移不变性,即不论目标位于何处,最后输出的类别信息应该是一致的。但是在目标检测中,还需要进行目标定位,因此需要准确的目标轮廓信息,而低/中级特征正好包含这种轮廓信息,因此非常重要。

在这里插入图片描述
上图是LSN中的特征提取策略,这样做是为了弥补backbone在提取特征时的损失。首先通过池化操作对输入图像进行下采样,将其大小调整到SSD中第一层的输入大小。然后被送入到一个轻量级的连续操作(LSO)中,LSO包括卷积、批归一化和ReLU层。

LSN的参数是随机初始化,然后从零开始训练的,它的结构类似于SSD的金字塔特征层次结构:
在这里插入图片描述
其中 n n n表示特征金字塔的层数,与相应的SSD的特征层的大小相匹配。

首先对输入图像 I I I进行下采样,得到与SSD第一层相同的大小,然后使用下采样后的图像 I t I_t It生成初始LSN特征 s i n t ( 0 ) s_{int(0)} sint(0)
在这里插入图片描述
其中 φ i n t ( 0 ) \varphi_{int(0)} φint(0)表示一系列操作,包括一个 3 × 3 3 \times 3 3×3和一个 1 × 1 1 \times 1 1×1的卷积块。然后由初始特征 s i n t ( 0 ) s_{int(0)} sint(0)生成中间特征 s i n t s_{int} sint,使用第 ( k − 1 ) (k-1) (k1)个中间特征来生成第 k k k个中间特征:
在这里插入图片描述
其中 k = ( 1 , . . . , n ) k=(1,...,n) k=(1,...,n) φ i n t ( k ) ( ⋅ ) \varphi_{int(k)}(\cdot) φint(k)()表示一个 3 × 3 3 \times 3 3×3的卷积块。当 k = 1 k=1 k=1时,那么第 ( k − 1 ) (k-1) (k1)个中间特征其实就是初始LSN特征。最后,对第 k k k层的中间特征应用一个 1 × 1 1 \times 1 1×1的卷积块,以生成 S p S_p Sp在第 k k k个层级上的LSN特征:
在这里插入图片描述
其中 φ t r a n s ( k ) ( ⋅ ) \varphi_{trans(k)}(\cdot) φtrans(k)()表示一个 1 × 1 1\times 1 1×1的卷积块,用来将LSN特征的通道数转换为与相应的SSD特征相匹配。

总结一下就是,先根据经过下采样的图像得到LSN的初始特征,然后采用递归的方式依次得到第 k k k个层级的中间特征,最后由这些中间特征得到第 k k k个层级的LSN特征。然后将这些特征注入到相应的SSD特征层中,与主干网络特征相结合。

3. 双向网络

双向网络在检测网络中传播低/中级和高级语义信息,主要包括bottom-up通路和top-down通路。

bottom-up通路

在这里插入图片描述
如上图所示是bottom-up通路,它把backbone和LSN特征结合起来,将不同层级的结合后的特征以级联的方式进行前向传播,得到前向特征(forward feature),将这一过程称为自底向上的特征传播(BFP),第 k k k层前向特征为:
在这里插入图片描述
s k s_k sk表示LSN在第 k k k层得到的特征, o k o_k ok表示SSD在第 k k k层得到的主干网络特征, w k − 1 w_{k-1} wk1表示一个 3 × 3 3 \times 3 3×3的卷积块,步长为2, f k − 1 f_{k-1} fk1表示第 ( k − 1 ) (k-1) (k1)层的前向特征, ϕ k ( ⋅ ) \phi_k(\cdot) ϕk()表示一系列操作,包括ReLU和 3 × 3 3 \times 3 3×3的卷积块。

f 1 f_1 f1被表示为:
在这里插入图片描述

最后,所有层级的前向特征构成一个前向特征金字塔:
在这里插入图片描述

top-down通路

在这里插入图片描述
为了进一步将高级语义特征从后一层注入到前一层,还引入了top-down通路,如上图所示,它将后一层的所有特征连接到当前层,它通过网络中独立的并行连接来传播高级语义信息。后向特征金字塔 B p B_p Bp就可以表示为:
在这里插入图片描述
接下来具体说一下 b n b_n bn是怎么得到的。首先用一个 1 × 1 1 \times 1 1×1的卷积块来降低 F p F_p Fp中所有前向特征的通道数,对于第 k k k个层级,对 k k k之后所有层级的前向特征进行降维并融合到一起,然后连接到当前层级 k k k的前向特征,以得到后向特征 b k b_k bk,进行最终的预测:

在这里插入图片描述
W i W_i Wi是一个 1 × 1 1 \times 1 1×1的卷积块用于降低特征的通道数, W m k W_{mk} Wmk是一个 1 × 1 1 \times 1 1×1的卷积块用于融合所有高级特征, μ k \mu_k μk是上采样操作, γ k ( ⋅ ) \gamma_k(\cdot) γk()是一个 3 × 3 3\times 3 3×3的卷积块用于融合所有的前向特征。

注意到第 n n n层的前向特征已经是最高级的语义特征了,因此它不需要任何来自前面层的语义特征。也就是说,在top-down网络中,如果本身位于特征层中的最高层,那么就不要融合任何底层特征,这意味着最高层的前向特征可以被直接用作预测。

总结来说就是:

  • bottom-up网络涉及到的是LSN特征和主干网络特征,对于层级 k k k,将LSN特征 s k s_k sk和主干网络特征 o k o_k ok融合之后,连接到前一层的前向特征 f k − 1 f_{k-1} fk1,从而得到层级 k k k的前向特征 f k f_k fk
  • top-down网络是在前向特征金字塔 F p F_p Fp的基础上进行特征融合的,对于层级 k k k,先将 k k k之后左右层级的前向特征进行融合,然后连接到当前层级 k k k的前向特征 f k f_k fk,从而得到层级 k k k的后向特征 b k b_k bk

结论

LSN中有一个特征金字塔结构 S p S_p Sp,它的层数与SSD的层数相匹配,每层最终都会得到一个LSN特征,LSN特征其实就是对SSD特征的补全,它主要关注低/中级特征。LSN特征与SSD特征的结合发生在bottom-up网络中,并由此得到前向特征 F p F_p Fp。然后top-down网络在前向特征 F p F_p Fp的基础上得到后向特征 B p B_p Bp,最终用于预测的就是 B p B_p Bp

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值