论文阅读 | STDN: Scale-Transferrable Object Detection
概述
STDN是收录于CVPR 2018的一篇目标检测论文,提出STDN网络用于提升多尺度目标的检测效果。要点包括:(1)使用DenseNet-169作为基础网络提取特征;(2)提出Scale-transfer Layer,在几乎不增加参数量和计算量的情况下生成大尺度的feature map。
STDN介绍
Figure 1回顾了目标检测算法对feature map的利用情况:
(a)是只使用单一尺度的feature map进行检测,这种方法利用的特征层较少,检测效果一般,代表性的算法如Faster RCNN;
(b)是FPN的做法,将不同尺度的feature map自顶向下进行融合,并基于融合后的不同尺度的feature map分别进行检测,对小目标的检测效果提升明显,构建特征金字塔的方式可以充分利用多个层次的feature map信息,但是需要添加一些额外的网络层,增加了计算量和时间;
(c)是SSD算法的做法,对不同尺度的feature map分别检测,虽然浅层专用于小目标的目标检测,但是由于没有使用到高层的语义信息,所以对小目标的检测效果一般;
(d)是本文的做法,检测方式类似于SSD,但是通过基础网络DenseNet将高低层特征融合,因此可以达到类似FPN的效果。

网络结构如下图所示,可以看做是SSD的一个改进版,将原SSD中基础网络VGG替换为DenseNet-169,通过DenseNet提取特征在最后一个Dense Block获得一系列9*9大小的feature map,然后通过Scale-transfer Module对feature map进行放大或缩小。最后分别对不同尺度的feature map做目标检测。

各层的结构如表3所示,论文所用的DenseNet对原DenseNet的输入层进行了调整,具体为:将7*7卷积层(stride=2)和其后的3*3 max pooling层(stride=2,stride=1,stride=1)替换为3个3*3卷积层(stride=2)和1个2*2 mean pooling层(stride=2)。调整称为stem block。这样做提升了检测精度。

文中提出Scale-Transferrable Module(STM)用于进行feature map的尺度变换,具体为:
(1)获取小feature map :mean pooling
(2)获取大feature map:Scale-Transfer Layer(STL)
STL是利用多个通道的feature map来增大feature map尺寸,也就是压缩通道数增大map尺寸。

以网络的最后一个预测层为例,DenseNet-169的输出维度为9*9*1664,经过一个4X的scale-transfer后变为36*36*104。整个过程是像素值周期排列的过程,在此次变换中r=4,变换后的第一个通道上一个r*r像素块的像素值相当于是原来前r*r个通道上1*1的像素值的重新排列。
训练和损失函数
Anchor Box设置尺度同SSD,aspect ratio同DSSD,负样本挖掘、数据扩增、损失函数等等都跟SSD没差。
实验结果
(1)PASCAL VOC 2007

STDN相比SSD提升较为明显,与DSSD也有的一拼,作者认为STDN比DSSD稍差的原因是DSSD的基础网络Residual-101网络参数具有压制力(Residual-101有42M,而DenseNet-169只有14M)。
(2)COCO test-dev 2015
见表4。可以看出对中小型目标的检测效果优于其他主流算法,IoU 在0.5~0.95之间的目标检测效果也很不错,比Faster RCNN和R-FCN差(他们输入图像大,1000*600),比DSSD差(参数碾压),但是STDN不仅mAP高而且运行速度快(是DSSD的5倍多)。

主流算法的精度、速度对比如

可见,STDN的表现很好,速度非常快,而且精度高,输入图像小,在取得较高准确率的同时又兼顾了速度。例如STDN321和513两个模型相比于Faster-RCNN、YOLOv2、SSD、DSSD等,首先在正确率上已具有相同或者更高的水平,但是在速度上优势很大,特别是对于准确率较高的R-FCN和DSSD513简直是碾压。
论文阅读 | STDN: Scale-Transferrable Object Detection的更多相关文章
- 论文阅读 | ExtremeNet:Bottom-up Object Detection by Grouping Extreme and Center Points
相关链接 论文地址:https://arxiv.org/abs/1901.08043 论文代码:https://github.com/xingyizhou/ExtremeNet 概述 ExtremeN ...
- 论文阅读 | FoveaBox: Beyond Anchor-based Object Detector
论文阅读——FoveaBox: Beyond Anchor-based Object Detector 概述 这是一篇ArXiv 2019的文章,作者提出了一种新的anchor-free的目标检测框架 ...
- 论文阅读: End-to-end Learning of Action Detection from Frame Glimpses in Videos
End-to-End Learning of Action Detection from Frame Glimpses in Videos CVPR 2016 Motivation: 本 ...
- 论文阅读 | Polygon-RNN:Annotating Object Instances with a Polygon-RNN
论文地址:https://arxiv.org/abs/1704.05548 项目地址:http://www.cs.toronto.edu/polyrnn 概述 Polygon-RNN是一篇收录于CVP ...
- Fast R-CNN论文阅读摘要
论文链接: https://arxiv.org/pdf/1504.08083.pdf 代码下载: https://github.com/rbgirshick/fast-rcnn Abstract Co ...
- 目标检测 | RetinaNet:Focal Loss for Dense Object Detection
论文分析了one-stage网络训练存在的类别不平衡问题,提出能根据loss大小自动调节权重的focal loss,使得模型的训练更专注于困难样本.同时,基于FPN设计了RetinaNet,在精度和速 ...
- 论文阅读(Chenyi Chen——【ACCV2016】R-CNN for Small Object Detection)
Chenyi Chen--[ACCV2016]R-CNN for Small Object Detection 目录 作者和相关链接 方法概括 创新点和贡献 方法细节 实验结果 总结与收获点 参考文献 ...
- 论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline
论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline 如上图所示,本文旨在解决一个问题:给定一张图像, ...
- 【尺度不变性】An Analysis of Scale Invariance in Object Detection – SNIP 论文解读
前言 本来想按照惯例来一个overview的,结果看到1篇十分不错而且详细的介绍,因此copy过来,自己在前面大体总结一下论文,细节不做赘述,引用文章讲得很详细,另外这篇paper引用十分详细,如果做 ...
随机推荐
- 用JS实现点击TreeView根节点复选框全选
以下两种方法哪个不报错就用哪个.用法都是在TreeView标签中加入OnClick="",然后引入函数名即可 第一种方法:(摘自:http://www.cnblogs.com/fr ...
- 一、office web apps 部署
原文出处:http://www.cnblogs.com/yanweidie/p/4516164.html 原文出处:https://www.cnblogs.com/poissonnotes/p/323 ...
- asp.net微信内置浏览器下Session失效
问题记录:仅限安卓端微信内置浏览器,服务器集群设置了黏性Session,在Post请求时会强制走代理,导致出去的ip指向另一台服务器,黏性Session失效,用户状态无法保存. 目前想知道除了设置Se ...
- Qt中QBitmap 的使用 --QBitmap的作用
特别注意:如果想把做一个先把图画在内存中,在显示到页面,不要使用bitmap,这个只有单色: 一般情况下QBitmap只作为图片掩码使用,比如做不规则窗口. QBitmap表示一种只有黑白的单色图片, ...
- React基础篇 (1)-- render&components
render 基础用法 //1.创建虚拟DOM元素对象 var vDom=<h1>hello wold!</h1> //2.渲染 ReactDOM.render(vDom,do ...
- mysqldump备份以tmp_开头的表
需要备份warehouse这个DB下所有以tmp_开头的表名.直接说结论: mysqldump .sql.gz 其中:-Bse是为了将查询中的-----------------等分隔符给屏蔽了. gz ...
- 【转】检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问
源地址:https://www.cnblogs.com/love522/p/4462253.html 最近在做一个网站时,有一个下载word文档功能,在本地直接调试是可以下载的,但部署到IIS上就出现 ...
- Navicat 远程连接 MySQL
Navicat 远程连接 MySQL 相信大家都有在远程服务器上进行开发吧,其中 MySQL 的使用率应该也会挺高,如果使用 Navicat 等可视化工具来操作远程数据库不失为一种很好的选择,避免了在 ...
- java集合类学习笔记之ArrayList
1.简述 ArrayList底层的实现是使用了数组保存所有的数据,所有的操作本质上是对数组的操作,每一个ArrayList实例都有一个默认的容量(数组的大小,默认是10),随着 对ArrayList不 ...
- SpringMVC异常的使用
1.创建一个异常类,需要extend RuntimeException,继承父类中所有的方法 2.局部异常,仅能处理这个Controller中的异常 在Controller中添加异常处理方法 @Exc ...