您的位置:首页 > 其它

物体检测 DSOD论文 1708.01241的翻译

2017-11-18 21:23 260 查看
论文的第3章,翻译理解如下。

3. DSOD
   本章,我们首先介绍我们的DSOD架构和它的组件,详细说明几个重要设计原则。然后我们说明训练的设定。
3.1.DSOD架构

    整体架构。所推荐的DSOD方法是与SSD
[21]类似的一个多尺度不需要proposal的检测框架。DSOD的网络架构被分为2部分:backbone子网络用来特征提取,front-end子网络用预测多尺度响应地图。backbone子网络是深度监督DenseNets[10]结构的一个变体,包含stem
block,4个dense
block,2个过渡层,2个过渡共享池化层。front-end子网络(或称为DSOD预测层)使用致密的dense结构融合了多尺度预测响应。Figure
1说明了推荐的DSOD预测层以及用在SSD[21]中的多尺度预测结构。整体DSOD网络结构详细在Table1里。我们详细说明每个组件和对应的设计原则都在下面了。

       

   原则1:Proposal-free无需目标
      我们研究了所有基于对象检测的CNN,发现了它们能被分为3类。第一类,R-CNN和Fast-RCNN需要额外的像selective
search的对象目标生成器。第二类,Faster-RCNN和R-FCN需要集成RPN来提取相对少的区域目标。第三类,YOLO和SSD是单次无需目标(proposal)的方法,这个方法把处理对象定位和矩形框坐标做为一个回归问题。我们观察了只有无需目标(proposal)的方法(即第三类),在没有预训练模型的情况下,可以成功收敛。我们推测这个应该是在其他2个方法中的ROI(Regions
of Interest) pooling导致的--ROI pooling为每个区域目标生成了特征,这个妨碍了梯度从区域层到卷积特征图的平滑后向传播。基于目标的方法在有预训练的网络模型时运行良好,是因为当对来自scratch的训练不是真的时候,在RoI
pooling之前对这些层的参数初始化是好的。
      因此我们获得第一个原则:训练来自scratch的检测网络需要一个无需proposal的框架。在实践中,我们得到了来自SSD框架[21]的多尺度无需proposal的框架,在提供快的处理速度时它能达到技术水平的准确率。

      

    原则2:Deep
Supervision 深度监督
      深度监督学习的有效性已经被GoogLeNet [32] , DSN [18], DeepID3 [30]等证明了。核心思想是集成的目标函数直接监督浅层的隐含层,而不仅是输出层。隐含层中附加的目标函数可以减轻梯度消失问题。无需proposal的检测框架包含分类损失和定位损失。明确的方案要求增加复杂的side-output层为检测任务在每个隐藏层引入附加目标函数,类似[35]。这里我们使被称做dense
layer-wise连接的简洁且隐式方案的深度监督成为可能,在DenseNets [10]提出了。当block中所有之前的层被连接到当前层的时候,block被称为dense
block。所以,DenseNet里的较早层能通过跳过的连接收到从目标函数来的额外的监督,尽管只有一个单个损失函数被要求在网络顶层,包括较早层的所有层仍能无阻碍的共享监督信号,我们将在4.1.2节论证深度监督的好处。
        过渡共享池化层。我们提出这层是为了在不减少最终特征地图分辨率的情况下增加dense blocks的数量。DenseNet的正常设计里,每个过渡层包含降采样特征地图的池化操作。如果有人想要维护输出的同样尺度,dense
blocks的数量被修正(所有DenseNet架构里4个dense
blocks)。增加网络深度的仅有方法是在正常DenseNet的每个block里增加层。过渡共享池化层消除了DSOD架构里dense
blocks数量的限制,也能被用在标准DenseNet里。

         

    原则3:Stem
Block
      起初由v3 [33]和v4
[31]激发,我们定义stem block由3个3×3的卷积层连接一个2×2的最大池化层组成。第一个卷积层用stride
= 2运行,另外2个卷积层用stride
= 1运行。在我们的试验里我们发现增加简单的stem结构能明显的提升检测性能。我们猜测,与DenseNet
(7x7卷积层, stride = 2 followed by a 3X3 max pooling,stride = 2)的正常设计比较,stem
block能减少未加工的输入图像的信息损失。在4.1.2节我们将展示stem
block的回报对检测性能是重要的。
          原则4:Dense
Prediction Structure致密预测结构

              Figure1说明了简单结构与我们建议的在前端子网络中的致密结构的比较。SSD设计了预测层作为一个非对称的沙漏结构。对300x300输入图像来说,为预测对象应用了特征地图的6个尺度。尺度-1特征地图来自backbone子网络的中间层,它有最大分辨率(38x38)为了处理图像中的小对象。其他5个尺度位于backbone子网络的上层。然后,有bottleneck结构(为减少特征地图数量的一个1x1卷积层加上了一个3x3卷积层)的简单迁移层被在特征地图的2个邻近尺度之间所采用。

             半学习及半复用。SSD的简单结构里,每个后边尺度是直接从邻近的前一尺度迁移的。为了预测我们建议致密结构,要为每一个尺度复用多尺度的信息。为简单起见,我们限定每个尺度对预测特征地图要输出相同数量的通道。DSOD里每一个尺度,特征地图的一半是从有一系列卷积层的前面的尺度学习来的,而剩余的那一半特征地图是直接采样自邻近的高分辨率特征地图。采样block由一个2x2
stride = 2的最大池化层以及一个1x1 stride = 1的卷积层组成的。池化层目的在于适配分辨率到当前大小。1x1卷积层被用作减少50%的通道数量。池化层放置在1x1卷积层之前,是为了减少计算成本的考虑。采样block实际上使每个具有多分辨率特征地图的尺度向它们的预测尺度移动,这本质上与DenseNets的致密逐层连接相同。对每个尺度,我们仅仅学习一半的新特征地图,重用之前尺度的剩余的那一半。致密预测结构特征地图,相比简单结构能用少量参数获得更准确的结果。

            

3.2. Training Settings训练设定
     我们基于Caffe架构实现我们的检测。所有模型在NVidia
TitanX GPU上用SGD算法训练。自从DSOD特征地图的每个尺度被从多分辨率上级联,我们适配L2标准化技术来在所有输出上缩放特征范数到20。注意,SSD仅应用标准化到尺度-1.我们训练策略的大部分会继承SSD,包括数据增强(data
augmentation),尺度,宽比(aspect ratios),损失函数,直到我们有了自己学习率,最小batch
size的设定。详细参见试验章节。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息