论文链接:https://arxiv.org/abs/1711.06897 
代码链接:https://github.com/sfzhang15/RefineDet

摘要

RefineDet是CVPR 2018的一篇论文,文中提出了一个新的single-shot检测器RefineDet,实现了比二阶段方法更高的准确率而且具有与一阶段方法相当的效率。RefineDet包括两个互连模型ARM(anchor refinement module)和ODM(object detection module):前者用于滤除negative anchors来减少分类器的搜索空间,粗略调整anchors的位置和大小给之后的回归器更好的初始化;后者利用前者的anchors进一步回归和预测类别。

网络结构

RefineDet的网络结构如图1所示。ARM类似于Faster R-CNN的RPN,用于去除negative anchors并粗略调整anchors的位置和尺寸;ODM类似于SSD结构,对refined anchors进行进一步回归和分类。这两个互连模块(其实算是两个SSD)模拟了两级结构。此外,文中还设计了transfer connection block(TCB)来进行特征转换,也就是将ARM输出的feature map转换成ODM的输入。

TCB结构如图2所示。TCB通过在传输的特征中添加高层特征来集成大尺度的context,采用反卷积放大高层feature map然后进行element-wise sum,并在求和后加入一个卷积层,以保证特征的可识别性。

得益于TCB的特征融合,使得ODM低层的feature map融合了高层的feature map的语义信息,并基于每层的feature map进行预测,最后对各层的预测结果进行综合,相比于SSD,该部分的优势在于融合了多个层次的feature map,可以有效提升对小目标的检测效果。

为了缓解anchors的不平衡问题,文中设计了negative anchors过滤机制,对于ARM中产生的refined anchor boxes,如果其负的置信度大于预设值,在训练ODM时就丢掉。相应地,在预测阶段,如果产生的refined anchor boxes的负置信度大于阈值,在ODM的检测过程中就丢掉。

训练和预测

采用随机缩放、随机裁剪、随机光照变化、随机翻转等策略进行数据扩增。

使用基于VGG-16和ResNet-101的backbone网络(其他的也可以),移除了网络中的分类层,添加了几个辅助层。以VGG-16为例,通过下采样参数将vgg-16的fc6和fc7转换为卷积层。由于conv4_3和conv5_3具有与其它层不同的特征尺度,因此我们采用L2归一化对conv4_3和conv5_3的特征范数缩放到10和8。在截断的VGG-16的末尾增加了两个额外的卷积层(即conv6_1和conv6_2),在截断的ResNet-101的末尾添加了一个额外的残差块(即res6)实现在多尺度上获取高层信息驱动目标检测。

选取4个feature layer(步长8、16、32、64)处理不同尺度的目标,每个layer和特定尺度(尺度是对应层步长的4倍)的anchors和宽高比(0.5,1.0,2.0)相关联。

通过ARM部分过滤掉一些负样本,之后采用SSD的hard negative mining策略使得正负样本的比例维持在1:3。

损失函数如下:

损失函数包括两部分:ARM和ODM。ARM损失包括二分类的交叉熵和Smooth L1。ODM损失则是Softmax损失和Smooth L1。

实验结果

实验数据集:PASCAL VOC 2007,PASCAL VOC 2012,MS COCO。

在PASCAL VOC数据集上,单尺度输入的检测结果mAP达到0.818(VOC 2007)、0.801(VOC 2012),比faster R-CNN、R-FCN等绝大多数两阶段方法效果都好;而且检测速度大大提升,320*320输入图像检测速度达到40.3fps,512*512的检测速度为24.1fps。

在MS COCO数据集上,多尺度输入的检测结果高达41.8%,不仅优于单阶段检测算法,比绝大多数两阶段算法都高。

RefineDet应该是目前单阶段目标检测算法中效果最好的,检测效果甚至超过大多数的两阶段算法,而且检测速度很快。

论文阅读 | RefineDet:Single-Shot Refinement Neural Network for Object Detection的更多相关文章

  1. 论文阅读笔记五十七:FCOS: Fully Convolutional One-Stage Object Detection(CVPR2019)

    论文原址:https://arxiv.org/abs/1904.01355 github: tinyurl.com/FCOSv1 摘要 本文提出了一个基于全卷积的单阶段检测网络,类似于语义分割,针对每 ...

  2. 论文阅读笔记六十三:DeNet: Scalable Real-time Object Detection with Directed Sparse Sampling(CVPR2017)

    论文原址:https://arxiv.org/abs/1703.10295 github:https://github.com/lachlants/denet 摘要 本文重新定义了目标检测,将其定义为 ...

  3. 三维目标检测论文阅读:Deep Continuous Fusion for Multi-Sensor 3D Object Detection

    题目:Deep Continuous Fusion for Multi-Sensor 3D Object Detection 来自:Uber: Ming Liang Note: 没有代码,主要看思想吧 ...

  4. 论文阅读 | Towards a Robust Deep Neural Network in Text Domain A Survey

    摘要 这篇文章主要总结文本中的对抗样本,包括器中的攻击方法和防御方法,比较它们的优缺点. 最后给出这个领域的挑战和发展方向. 1 介绍 对抗样本有两个核心:一是扰动足够小:二是可以成功欺骗网络. 所有 ...

  5. 【CV论文阅读】:Rich feature hierarchies for accurate object detection and semantic segmentation

    R-CNN总结 不总结就没有积累 R-CNN的全称是 Regions with CNN features.它的主要基础是经典的AlexNet,使用AlexNet来提取每个region特征,而不再是传统 ...

  6. 梳理检测论文-Refinement Neural Network

    Single-Shot Refinement Neural Network for Object Detection 目录 1. motivation 2. RefineDet 解析(Network ...

  7. Parallel Feature Pyramid Network for Object Detection

    Parallel Feature Pyramid Network for Object Detection ECCV2018 总结: 文章借鉴了SPP的思想并通过MSCA(multi-scale co ...

  8. 论文笔记 SSD: Single Shot MultiBox Detector

    转载自:https://zhuanlan.zhihu.com/p/33544892 前言 目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型(参考RefineDet):(1)two-st ...

  9. 【论文阅读】DSDNet Deep Structured self-Driving Network

    前言引用 [2] DSDNet Deep Structured self-Driving Network Wenyuan Zeng, Shenlong Wang, Renjie Liao, Yun C ...

随机推荐

  1. 大佬福利之在你眼中 Web 3.0 是什么?(转)

    web 3.0 Web 3.0一词包含多层含义,用来概括互联网发展过程中某一阶段可能出现的各种不同的方向和特征.Web 3.0 充满了争议和分歧,它到底应该什么样?具体的标志点又是什么? Web 2. ...

  2. 大前端涉猎之前后端交互总结1: 软件架构与PHP搭建

    1 软件架构与PHP搭建 1.1 HTTP服务器(web服务器) 即( web服务器 )网站服务器,主要提供文档(文本.图片.视频.音频)web浏览服务,一般安装Apache.Nginx服务器软件. ...

  3. setoolkit基础

    1.社会工程学攻击 2.快速追踪测试 3.第三方模块 4.升级软件 5.升级配置 6.帮助 99.退出 1.鱼叉式网络钓鱼攻击 2.网页攻击 3.传染媒介式(俗称木马) 4.建立payloaad和li ...

  4. 第05章 管理ElasticSearch

    本章内容 如何选择正确的目录实现,使得ElasticSearch能够以高效的方式访问底层I/O系统. 如何配置发现模块来避免潜在的问题. 如何配置网关模块以适应我们的需求. 恢复模块能带来什么,以及如 ...

  5. canvas学习日记一

    由于工作的需求,促进我学习html5 canvas技术,canvas是html5最强大的元素之一.使用它可以在浏览器中做一番奇妙的事情.大家或多或少都听过canvas的强大用处,我这里就不再赘述了. ...

  6. (转)构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码

    原文地址:http://www.cnblogs.com/ymnets/archive/2013/11/16/3426454.html 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间 ...

  7. 获取host信息

    QT如果要进行网络编程首先需要在.pro”中添加如下代码: QT += network 在头文件中包含相关头文件: #include <QHostInfo> #include <QN ...

  8. C99一些特性

    __FILE__   对应代码文件名__LINE__   对应代码行号__DATE____TIME____FUNC__ __FUNCTION__ 在Visual Studio 2005中,默认情况下, ...

  9. Hibernate Validator bean-validator-3.0-JBoss-4.0.2

    信息: Hibernate Validator bean-validator-3.0-JBoss-4.0.2 后面是一大段错误信息不贴出来了... 解决方案:hibernate配置文件中加入 < ...

  10. tcxgrid控件中drag a column header here to group by that column移除方法