论文地址: 官方源码(pytorch):
主要说了目前表现好的目标检测主要基于较深的网络(例如Resnet,Inception),其缺点就是大量的计算成本,速度慢。而一些轻量级的网络速度较快,但检测的精度相对不高。作者提出了RFB模块,并将它添加到SSD的顶部,构建了RFBnet。
为了构建快速而强大的探测器,合理的替代方案是通过引入某些手工制作的机制来增强轻量级网络的特征表示,而不是一味地加深模型。
RFBnet 结构说明
过
RFB其实就是多分枝卷积块,其内部结构由两部分组成: 1.前一部分与inception一致,负责模拟多尺寸的pRF 2.后一部分再现了人类视觉中pRF与离心率的关系 下图给出了RFB及其对应的空间池区域图
具体来说,首先,我们在每个分支中采用瓶颈结构,由1×1转换层组成,以减少特征映射中的通道数量加上n×n转换层。其次,我们用两个堆叠的3×3转换层替换5×5转换层,以减少参数和更深的非线性层。出于同样的原因,我们使用1×n加n×1转换层来代替原始的n×n转换层。最后,我们应用ResNet 和Inception-ResNet V2 的快捷方式设计。
也叫做astrous卷积层, 该结构的基本意图是生成更高分辨率的特征图,在具有更多上下文的更大区域捕获信息,同时保持相同数量的参数 。
下图示出了多分支卷积层和扩张合并或卷积层的两种组合
所提出的RFB网络探测器重用了SSD的多尺度和单级框架,其中RFB模块被嵌入以改善从轻量级主干提取的特征,使得探测器更准确且仍然足够快。 由于RFB的特性可以轻松集成到CNN中,我们可以尽可能地保留SSD架构。 主要的修改在于用RFB代替顶部卷积层
使用与SSD中完全相同的骨干网络。 简而言之,它是在ILSVRC CLS-LOC数据集上预先训练的VGG16 ,其中fc6和fc7层被转换为具有子采样参数的卷积层,并且其pool5层从2×2-s2变至3×3-s1。 空洞卷积层用来填充空缺和所有dropout层,并移除fc8层。
保持相同的SSD级联结构,但具有相对较大分辨率的特征映射的卷积层被RFB模块取代。 在RFB的主要版本中,我们使用单一结构设置来模仿离心率的影响。 随着视觉图之间pRF大小和离心率的差异,我们相应地调整RFB的参数以形成RFB-s模块,其模拟浅人类视网膜图中较小的pRF,并将其置于conv4 3特征之后,如 由于其特征映射的分辨率太小而无法应用具有大型内核(如5×5)的滤波器,因此保留了最后几个卷积层。
train主要遵循SSD,包括数据增强,硬负挖掘,默认框的比例和宽高比,以及损失函数(例如,用于定位的平滑L1损失和用于分类的softmax损失),同时我们稍微改变了我们的学习速率调度 更好地适应RFB。 更多细节在以下实验部分中给出。 使用MSRA方法初始化所有新的conv层。
后面主要是描述研究的成果,与其他网络的对比,就不多描述了,以后补充更多关于RFBnet的细节