论文学习-深度学习目标检测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. 线上问题排查利器Arthas

    官方文档 下载arthas-boot.jar,然后用java -jar的方式启动: curl -O https://alibaba.github.io/arthas/arthas-boot.jar j ...

  2. matlab练习程序(DBSCAN)

    DBSCAN全称Density-Based Spatial Clustering of Applications with Noise,是一种密度聚类算法. 和Kmeans相比,不需要事先知道数据的类 ...

  3. eclipse复制bpmn文件到idea下乱码问题处理

    1.最近在学习工作流,在eclipse上画完了流程图,然后复制到idea下,发现节点的汉字是乱码的. 2.处理方案是修改idea的配置文件,如图,打开这两个文件,在文件末尾加上 -Dfile.enco ...

  4. 'GL_EXT_shader_framebuffer_fetch' : extension is not supported

    在使用安卓模拟器加载Flutter应用时, 提示'GL_EXT_shader_framebuffer_fetch' : extension is not supported: D/skia (1404 ...

  5. 聊一下,前后分离后带来的跨域访问和cookie问题

    在谈前后分离前,我们先看看什么是前后一体的.当我们用javaweb开发网站时,最终我们渲染的jsp或者springthymeleaf.我们的页面其实是WEB-INFO或者templates下.当用户请 ...

  6. LeetCode 841:钥匙和房间 Keys and Rooms

    题目: ​ 有 N 个房间,开始时你位于 0 号房间.每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间. ​ 在形式上,对于每个房间 i 都有一个钥匙列表 ...

  7. paramiko简介

    一.什么是paramiko 要想明白什么是paramiko,要先明白ssh协议. 二.什么是ssh协议 ssh全称是Secure Shell (翻译:安全的外壳),根据字面意思就可以知道是和安全相关的 ...

  8. 三、ForkJoin分析

    ForkJoin分析 一.ForkJoin ​ ForkJoin是由JDK1.7后提供多线并发处理框架.ForkJoin的框架的基本思想是分而治之.什么是分而治之?分而治之就是将一个复杂的计算,按照设 ...

  9. 一段完整的创建表格的SQL代码

    一段完整的创建表格的SQL代码 使用SQL语句创建一张表,不仅可以可以快速熟悉SQL语句,还可以从这看出一个人对该技能点的熟悉程度. 这里先说明几点: PRIMARY KEY:主键,一张表中只允许有一 ...

  10. 如何安装redis

    主要方式有四种:1.使用 Docker 安装.2.通过 Github 源码编译.3.直接安装 apt-get install(Ubuntu).yum install(RedHat) 或者 brew i ...