论文学习-深度学习目标检测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. python-4-格式化输出

    前言 有些小伙伴在打印中乱码或者编码不对,在这里讲格式化输出前,先讲下编码.我们都知道目前主流使用就是utf-8编码. 一.编码简介 编码用来让计算机识别,当然我们都知道计算机只能识别01010101 ...

  2. LeetCode 752:打开转盘锁 Open the Lock

    题目: 你有一个带有四个圆形拨轮的转盘锁.每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' .每个拨轮可以自由旋转:例如把 ' ...

  3. php,mysql结合js解决商品分类问题,从而不必联表查询

    首先mysql数据表中的商品分类用varchar类型,比如AA,BB,CC,DD等 其次编写一个js文件,用于定义常量,比如 ‘AA’ = ‘中药’;  'BB' = '西药'; 'CC' = '保健 ...

  4. Practical Go: Real world advice for writing maintainable Go programs

    转自:https://dave.cheney.net/practical-go/presentations/qcon-china.html?from=timeline   1. Guiding pri ...

  5. virsh 查看信息

    获取域网络接口信息 virsh domiflist debian8 获取vcpu信息 virsh vcpuinfo debian8 设定内存最大内存 virsh setmaxmem debian8 9 ...

  6. KVM学习笔记--静态迁移

    .静态迁移过程如下 (1)确定虚拟机关闭状态 (2)准备迁移oeltest02虚拟机,查看该虚拟机配置的磁盘文件 (3)导入虚拟机配置文件 [root@node1~]# virsh dumpxml o ...

  7. Delphi对Excel保护操作

    http://www.docin.com/p-378093577.html在金融系统的应用系统中经常需要与Excel交换数据或利用Excel制作报表,但在某些情况下,我们的业务系统要求生成的临时或最终 ...

  8. javascript 和oc交互

    http://www.apkbus.com/android-127963-1-1.html

  9. 了解iOS各个版本新特性总结

    参考了一下的文章:https://blog.csdn.net/zxtc19920/article/details/54341836 iOS7新特性 · 在iOS7当中,使用麦克风也需要取得用户同意了. ...

  10. Jmeter吞吐量控制器

    吞吐量控制器 场景: 假如有两个业务分别是A, B在同一线程组内有10并发, 7个做A业务, 3个做B业务,吞吐量控制器比较推荐使用. 添加吞吐量控制器 ​ 用法1: Percent Executio ...