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简直是碾压。
记:1.开头那个7*7改成3*3卷积的可以试试;2.这种方法用作上采样可以减少一定的计算量
STDN: Scale-Transferrable Object Detection论文总结的更多相关文章
- PVANET----Deep but Lightweight Neural Networks for Real-time Object Detection论文记录
arxiv上放出的物体检测的文章,在Pascal voc数据集上排第二.源码也已放出(https://github.com/sanghoon/pva-faster-rcnn),又可以慢慢把玩了.这篇文 ...
- Flow-Guided Feature Aggregation for Video Object Detection论文笔记
摘要 目前检测的准确率受物体视频中变化的影响,如运动模糊,镜头失焦等.现有工作是想要在框的级别上寻找时序信息,但这样的方法通常不能端到端训练.我们提出了flow-guided feature aggr ...
- Focal Loss for Dense Object Detection 论文阅读
何凯明大佬 ICCV 2017 best student paper 作者提出focal loss的出发点也是希望one-stage detector可以达到two-stage detector的准确 ...
- 【Network Architecture】Feature Pyramid Networks for Object Detection(FPN)论文解析(转)
目录 0. 前言 1. 博客一 2.. 博客二 0. 前言 这篇论文提出了一种新的特征融合方式来解决多尺度问题, 感觉挺有创新性的, 如果需要与其他网络进行拼接,还是需要再回到原文看一下细节.这里 ...
- 深度学习论文翻译解析(四):Faster R-CNN: Down the rabbit hole of modern object detection
论文标题:Faster R-CNN: Down the rabbit hole of modern object detection 论文作者:Zhi Tian , Weilin Huang, Ton ...
- CVPR2020论文解读:3D Object Detection三维目标检测
CVPR2020论文解读:3D Object Detection三维目标检测 PV-RCNN:Point-Voxel Feature Se tAbstraction for 3D Object Det ...
- 目标检测 | 经典算法 Cascade R-CNN: Delving into High Quality Object Detection
作者从detector的overfitting at training/quality mismatch at inference问题入手,提出了基于multi-stage的Cascade R-CNN ...
- 目标检测 | RetinaNet:Focal Loss for Dense Object Detection
论文分析了one-stage网络训练存在的类别不平衡问题,提出能根据loss大小自动调节权重的focal loss,使得模型的训练更专注于困难样本.同时,基于FPN设计了RetinaNet,在精度和速 ...
- 【尺度不变性】An Analysis of Scale Invariance in Object Detection – SNIP 论文解读
前言 本来想按照惯例来一个overview的,结果看到1篇十分不错而且详细的介绍,因此copy过来,自己在前面大体总结一下论文,细节不做赘述,引用文章讲得很详细,另外这篇paper引用十分详细,如果做 ...
随机推荐
- Html.CSS.JavaScript 学习经验
HTML里面 不要使用 document.getElementsByName() 来获取 元素,会出错. 使用 document.getElementById()更好一些. substring()首字 ...
- user_login
username=input("username:")password=input("password:")name,passwd='ducai','123'i ...
- 【xinsir】函数库,持续更新
1.遍历文件-node // 递归遍历目录下的文件 function readDirSync (path) { var pa = fs.readdirSync(path); pa.forEach(fu ...
- Jenkins流水线获取提交日志
写在前 之前使用Jenkins pipeline的时候发现拿不到日志,使用multiple scms插件对应是日志变量获取日志的方式失效了, 但是查看流水线Pipeline Syntax发现check ...
- H5 + WebGL 实现的地铁站 3D 可视化系统
前言 工业互联网,物联网,可视化等名词在我们现在信息化的大背景下已经是耳熟能详,日常生活的交通,出行,吃穿等可能都可以用信息化的方式来为我们表达,在传统的可视化监控领域,一般都是基于 Web SCAD ...
- TypeError: expected string or bytes-like object
在写Python代码的时候,遇到了"TypeError: a bytes-like object is required, not 'str'"错误,此处实验机器的Python环境 ...
- CF464D World of Darkraft - 2
Roma 在游戏"World of Darkraft"(理论上应该是 World of darkcraft,MineCraft 的一个版本)找到一个新角色. \(\mathrm{R ...
- csps模拟测试110
好久没写博客了,主要是太懒了,这次考试其实状态还算好. 考试的时候半小时左右打完T1T2,先没打T2对拍,想了想T3,大概有了一个bitset的思路,回去补上了T2的对拍. 然后T3想了一些东西: 三 ...
- 机器学习环境搭建安装TensorFlow1.13.1+Anaconda3.5.3+Python3.7.1+Win10
安装Python3.7.1 此处不再赘述安装过程,作为记录 安装Anaconda3.5.3 Anaconda3-5.3.0-Windows-x86_64.exe 方案1. 可以直接从官网https:/ ...
- centos6的JDK安装
1. 通过如下命令查看当前操作系统是否存在JDK rpm -qa | grep java 如果出现以下内容说明你的操作系统存在jdk 2.那么依次通过如下命令进行删除它 rpm -e - -nodep ...