论文学习-深度学习目标检测2014至201901综述-Deep Learning for Generic Object Detection A Survey

 发表于 2019-02-14 |  更新于 2019-05-15 |  分类于 目标检测 |  阅读次数: 23

 本文字数: 3.3k

博客:blog.shinelee.me | 博客园 | CSDN

[toc]

写在前面

paper:https://arxiv.org/abs/1809.02165
github:https://github.com/hoya012/deep_learning_object_detection,A paper list of object detection using deep learning

这篇综述对深度学习目标检测2014至201901取得的进展进行了总结,包括:

More than 250 key contributions are included in this survey, covering many aspects of generic object detection research: leading detection frameworks and fundamental subprob-lems including object feature representationobject proposal generationcontext information modeling and training strategiesevaluation issuesspecifically benchmark datasetsevaluation metrics, and state of the art performance.

本文的主要目的在于摘录paper中的一些重要图表和结论,作为系统学习的索引,不做详细的展开。

下面两张图来自github,分别为paper list和performance table,红色为作者认为必读的paper。

目标检测DCNN paper list
performance table

目标检测任务与挑战

目标检测任务的输入是一张图像,输出是图像中的物体位置和类别,如下图所示,位置可通过Bounding Box描述,也可描述为像素的集合。

通用目标检测任务
为了确定图片中物体的位置和类别,要面临很多挑战,一个好的检测器要做到定位准确分类准确还要效率高,需要对光照、形变、尺度、视角、尺寸、姿态、遮挡、模糊、噪声等情况鲁棒,需要能容忍可能存在的较大的类内差异,又能区分开较小的类间差异,同时还要保证高效。
目标检测任务的挑战
目标检测任务的挑战

目标检测方法汇总

在2012年前,目标检测方法主要是人工特征工程+分类器,2012年后主要是基于DCNN的方法,如下图所示:

目标检测Milestones
DCNN目标检测

目标检测的框架可以分成2类:

  1. Two stage detection framework:含region proposal,先获取ROI,然后对ROI进行识别和回归bounding box,以RCNN系列方法为代表。
  2. One stage detection framework:不含region proposal,将全图grid化,对每个grid进行识别和回归,以YOLO系列方法为代表。

Pipeline对比与演化如下:

目标检测方法Pipeline对比与演化
主干网络、检测框架设计、大规模高质量的数据集是决定检测性能的3个最重要的因素,决定了学到特征的好坏以及特征使用的好坏。

基础子问题

这一节谈论的重点包括:基于DCNN的特征表示、候选区生成、上下文信息、训练策略等。

基于DCNN的特征表示

主干网络(network backbone)

ILSVRC(ImageNet Large Scale Visual Recognition Competition)极大促进了DCNN architecture的改进,在计算机视觉的各种任务中,往往将这些经典网络作为主干网络(backbone),再在其上做各种文章,常用在目标检测任务中的DCNN architectures如下:

DCNN architectures

Methods For Improving Object Representation

物体在图像中的尺寸是未知的,图片中的不同物体尺寸也可能是不同的,而DCNN越深层的感受野越大,因此只在某一层上进行预测显然是难以达到最优的,一个自然的想法是利用不同层提取到的信息进行预测,称之为multiscale object detection,可分成3类:

  1. Detecting with combined features of multiple CNN layers
  2. Detecting at multiple CNN layers;
  3. Combinations of the above two methods

直接看图比较直观:

ION和HyperNet
RFB 与 ZIP
尝试对几何变形进行建模也是改善Object Representation的一个方向,方法包括结合Deformable Part based Models (DPMs)的方法、Deformable Convolutional Networks (DCN)方法等。
改善DCNN特征表示的方法

Context Modeling

上下文信息可以分为3类:

  1. Semantic context: The likelihood of an object to be found in some scenes but not in others;
  2. Spatial context: The likelihood of finding an object in some position and not others with respect to other objects in the scene;
  3. Scale context: Objects have a limited set of sizes relative to other objects in the scene.

DCNN通过学习不同抽象层级的特征可能已经隐式地使用了contextual information,因此目前的state-of-art目标检测方法并没有显式地利用contextual information,但近来也有一些显式利用contextual information的DCNN方法,可分为2类:Global context和Local context。

context information

Local Context
感觉可以在某种程度上看成是数据层面的集成学习。

Detection Proposal Methods

Two stage detection framework需要生成ROI。

生成ROI的方法,可以分为Bounding Box Proposal MethodsObject Segment Proposal Methods,前者回归出Bounding Box来描述ROI,后者通过分割得到像素集合来描述ROI。

object proposal methods
Region Proposal Network

Other Special Issues

通过data augmentation tricks(数据增广)可以得到更鲁棒的特征表示,可以看成是数据层面上的集成学习,考虑到物体尺度可大可小的问题,scaling是使用最多的数据增广方法。

representative methods for training strategies and class imbalance handling

Datasets and Performance Evaluation

popular databases for object recognition

example images
Statistics of commonly used object detection datasets
metrics
以上。

zz深度学习目标检测2014至201901综述的更多相关文章

  1. 论文学习-深度学习目标检测2014至201901综述-Deep Learning for Generic Object Detection A Survey

    目录 写在前面 目标检测任务与挑战 目标检测方法汇总 基础子问题 基于DCNN的特征表示 主干网络(network backbone) Methods For Improving Object Rep ...

  2. (转)深度学习目标检测指标mAP

    深度学习目标检测指标mAP https://github.com/rafaelpadilla/Object-Detection-Metrics 参考上面github链接中的readme,有详细描述

  3. 深度学习 目标检测算法 SSD 论文简介

    深度学习 目标检测算法 SSD 论文简介 一.论文简介: ECCV-2016 Paper:https://arxiv.org/pdf/1512.02325v5.pdf  Slides:http://w ...

  4. 深度学习目标检测综述推荐之 Xiaogang Wang ISBA 2015

    一.INTRODUCTION部分 (1)先根据时间轴讲了历史 (2)常见的基础模型 (3)讲了深度学习的优势 那就是feature learning,而不用人工划分的feature engineeri ...

  5. 基于候选区域的深度学习目标检测算法R-CNN,Fast R-CNN,Faster R-CNN

    参考文献 [1]Rich feature hierarchies for accurate object detection and semantic segmentation [2]Fast R-C ...

  6. 深度学习目标检测:RCNN,Fast,Faster,YOLO,SSD比较

    转载出处:http://blog.csdn.net/ikerpeng/article/details/54316814 知乎的图可以放大,更清晰,链接:https://www.zhihu.com/qu ...

  7. 利用 ImageAI 在 COCO 上学习目标检测

    ImageAI是一个python库,旨在使开发人员能够使用简单的几行代码构建具有包含深度学习和计算机视觉功能的应用程序和系统. 这个 AI Commons 项目https://commons.spec ...

  8. 深度剖析目标检测算法YOLOV4

    深度剖析目标检测算法YOLOV4 目录 简述 yolo 的发展历程 介绍 yolov3 算法原理 介绍 yolov4 算法原理(相比于 yolov3,有哪些改进点) YOLOV4 源代码日志解读 yo ...

  9. 行人重识别(ReID) ——基于深度学习的行人重识别研究综述

    转自:https://zhuanlan.zhihu.com/p/31921944 前言:行人重识别(Person Re-identification)也称行人再识别,本文简称为ReID,是利用计算机视 ...

随机推荐

  1. React内容

    React Fiber   16版本 registerServiceWorker 的作用 PWA  progressive web application  写手机app应用   在断网的情况下,第二 ...

  2. 《Spring + MyBatis 企业应用实战》书评

    最近公司的前端用 MpVUE.JS 开发微信小程序遇到一个问题,对后端传来的富文本编辑器的标签无法进行解析.因为公司小,这个问题前端人员直接反映给老板,跟老板说,“ MpVUE.JS 无法解析富文本编 ...

  3. redis之布隆过滤器

    布隆过滤器是什么? 布隆过滤器可以理解为一个不怎么精确的 set 结构,当你使用它的 contains 方法判断某个对象是否存在时,它可能会误判.但是布隆过滤器也不是特别不精确,只要参数设置的合理,它 ...

  4. telnet 发送邮件

    telnet smtp.aliyun.com 25 // 这里用的是阿里云的smpt服务器,并且开放25端口 helo hi // 和阿里云的smtp服务器打招呼,测试是否连通 auth login ...

  5. vue中引入mintui、vux重构简单的APP项目

    最近在学习vue时也了解到一些常用的UI组件,有用于PC的和用于移动端的.用于PC的有:Element(饿了么).iView等:用于移动端APP的有Vux.Mint UI(饿了么).Vant(有赞团队 ...

  6. 2018-9-30-win10-UWP-剪贴板-Clipboard

    原文:2018-9-30-win10-UWP-剪贴板-Clipboard title author date CreateTime categories win10 UWP 剪贴板 Clipboard ...

  7. Lucene为什么要加Segment概念

    目前我感觉加了Segment有两个好处: 1. 简化了写文档的逻辑,解耦了写文档和读文档.如果没有Segment在写文档的时候势必要修改整个索引,所以会影响到文档的读 2. 提升了写文档的速度,由于只 ...

  8. jQuery 遍历方法大全

    下表列出了用于jQuery 遍历所有方法. 方法 描述 add() 将元素添加到匹配的元素集中 addBack() 将上一组元素添加到当前组中 andSelf() 在版本1.8中已弃用. addBac ...

  9. 深入理解JVM虚拟机(一):JVM运行时数据区

    概述: JVM将内存的管理进行封装,使得开发人员不必关心内存申请.释放操作.但是在高级程序开发.复杂业务场景开发的时候,如果出现内存溢出的情况,对于开发人员而言就很难去分析出原因.所以还是很有必要去了 ...

  10. python基础-内置装饰器classmethod和staticmethod

    面向对象编程之classmethod和staticmethod classmethod 和 staticmethod都是python内置的装饰器 classmethod 的作用:给在类内部定义的方法装 ...