编程语言
首页 > 编程语言> > Scale-Transferrable Object Detection算法详解(基于多尺寸目标检测)

Scale-Transferrable Object Detection算法详解(基于多尺寸目标检测)

作者:互联网

Scale-Transferrable Object Detection算法详解

论文背景

论文名称:Scale-Transferrable Object Detection
论文日期:2018年提交至CVPR

算法背景

在目标检测领域,针对多尺寸对象的检测一直是一个难点,本文提出了一个名为STDN算法,可转化尺寸检测算法。

尺寸转化模块适用于基础网络,只有一点计算消耗。

尺寸转化模块与 DenseNet 网络结合,组成一个one-stage目标检测器。

本文在PASCAL VOC 2007 与 MS COCO两个数据集上进行了测试实验。

算法简介

多尺寸问题一直是目标检测领域的一个难点,为了解决这一问题,多种方法被提出:

STDN:获得高级语义多尺寸特征图,同时不会影响检测速率将STM嵌入到DenseNet网络,DenseNet网络结构就是结合结合低层与高层的特征,从而得到更强大的特征。DenseNet的表现优于ResNet,是2018年发表在CVPR上的一篇文章。

STM:由池化与尺寸转化层两部分构成。

本算法利用scale-transfer layer拓展了特征图的长与宽,而不增加通道数量。这能有效减少参数数量,提高检测效率。
在这里插入图片描述

STM的两个优势:

本文的主要贡献:

算法对比

目前常用的优化多尺寸目标检测的方法:

本文就是第三种优化方法, 利用不同的特征图预测不同尺寸的对象,使用STM模块获取不同分辨率的特征图,同时利用DenseNet结合不同网络层的特征。

算法详解

网络结构

在这里插入图片描述

DenseNet

在DenseNet的每一个dense block中,对于每个层,其特征映射被用作所有后续层的输入。因此,这样就结合了输入图像的低层次和高层次特征。

stem block
本文将输入层(7×7卷积层,步长=2,然后是3×3最大池层,步长=2)替换为3个3×3卷积层和1个2×2平均池层。第一卷积层的步长为2,其余的为1。所有三个卷积层的输出通道为64。

原始的DenseNet-169中的输入层由于连续两个下行采样而丢失了很多信息。这将降低目标检测的性能(尤指目标检测),适用于小型物体。

STM

在DenseNet的最后一个dense block中,除了通道数之外,所有层的输出都具有相同的宽度和高度。
为了获得具有丰富语义信息的不同分辨率的特征图,本文提出了STM。

具体实现过程:
输入:特征图尺寸H × W × C · r2,r是上采样因子。
输出:高分辨率特征图。
在这里插入图片描述
在这里插入图片描述
以 r=2为例:
在这里插入图片描述
将r2通道的特征值平铺到一个通道上,拓宽长与宽,减小通道数。从而减少参数,提高检测效率。

与反卷积不同,不需要在卷积操作前的反池化时,用0来进行填充,因此不需要额外的参数。

Object Localization Module

STDN由一个基础网络以及两个预测特定任务的子网络:

锚框

锚框尺寸与SSD相同,比例由三种,[1.6, 2.0, 3.0],IoU设置为0.5,但是在匹配过程之后,只有少量的正样本,因此采用hard negative mining用于解决正负样本不平衡问题,使用hard negative mining之后正负样本的比例最少为1:3。

hard negative mining:
先将初始样本放入分类器,然后再将错误分类的样本放入负样本中继续训练,直到达到分类要求,就是反复训练难以正确分类的样本。

分类子网络

在这里插入图片描述
分类损失函数为softmax。
最后输出的参数有KA个,K指共有K个对象,A指每个定位共有A个锚框。

定位子网络

在这里插入图片描述
损失函数为Smooth L1。
输出参数为4A,共A个锚框,每个锚框有4个坐标值。

训练损失函数

在这里插入图片描述
由分类损失函数与定位损失函数两部分组成。

实验

检测器基于MXNet框架,使用SGD进行训练。
本文分别在PASCAL VOC 与MS COCO两个数据集上进行测试实验。

PASCAL VOC:
IoU:0.5;
输入图片尺寸:300 x 300;
mini-batch:80;
学习率:前500个epoch: 0.001;
600个epoch:降为0.0001;
700个epoch:降为0.00001。

对比实验:

baseline:SSD
DSSD是在SSD基础上进行了改进,利用ResNet替代原来的VGG-16,同时融合了不同深度的网络层的特征。
DSSD准确率比SSD高,但是检测速率下降了。
在这里插入图片描述
对比不同模块对结果的影响:
在这里插入图片描述
对比不同算法的检测速度:
在这里插入图片描述
COCO:
在这里插入图片描述

结论

STDN算法提出了一个scale transfer layer,有效减小了参数数量。算法不仅提高了检测精度,还提高了检测速度。

标签:Scale,特征,检测,Object,网络层,Detection,算法,尺寸,DenseNet
来源: https://blog.csdn.net/woduitaodong2698/article/details/88936501