论文学习-深度学习目标检测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. Paper | U-Net: Convolutional Networks for Biomedical Image Segmentation

    目录 故事背景 U-Net 具体结构 损失 数据扩充 发表在2015 MICCAI.原本是一篇医学图像分割的论文,但由于U-Net杰出的网络设计,得到了8k+的引用. 摘要 There is larg ...

  2. prisma反向代理

    概要 为什么要做 prisma 的反向代理 反向代理示例(by golang) prisma 服务 gateway 服务 整体流程 认证 反向代理 权限 总结 概要 接触 prisma 有段时间了, ...

  3. LeetCode 19:删除链表的倒数第N个节点 Remove Nth Node From End of List

    给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. Given a linked list, remove the n-th node from the end of list and ...

  4. tensor 中mul_,add_解读

    pytorch 中文网文档链接 https://ptorch.com/docs/1/Tensor 每一个张量tensor都有一个相应的torch.Storage保存其数据,张量类提供了一个多维的,横向 ...

  5. ThinkPHP查询数据的时候toArray()报错解决办法

    当查找不到数据时toArray()会报错,如图 解决办法:先查找数据,然后加个判断,如果有数据再转化为数组,如果没有数据就给个空值,不想代码继续往下执行就return false;

  6. 一个简单的利用 WebClient 异步下载的示例(一)

    继上一篇文章 一个简单的利用 HttpClient 异步下载的示例 ,我们知道不管是 HttpClient,还算 WebClient,都不建议每次调用都 new HttpClient,或 new We ...

  7. VOC数据集 目标检测

    最近在做与目标检测模型相关的工作,很多都要求VOC格式的数据集. PASCAL VOC挑战赛 (The PASCAL Visual Object Classes )是一个世界级的计算机视觉挑战赛, P ...

  8. js和C#互相调用

    快速上手 js和C#互相调用. C#调用js比较容易.JS调用C#代码,现有两种方法.老方法的缺点是只支持单页,如果切换页面,原有创建的变量就失效了.新方法没有这些问题. 老方法: Cefsharp ...

  9. 剑指 Offer——13. 调整数组顺序使奇数位于偶数前面

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变.这和书本不太一样. 解 ...

  10. 拥抱小程序,WeTest小程序全链路测试解决方案正式上线

    背景 随着微信开放小程序开发功能,迅速在各个实体店抢占流量入口,广大商家看到了在线和离线的机会整合,利用小程序版本特点低成本进入市场,达到流量的获取和转化. 伴随着资本的进入,小程序开发市场也因此越来 ...