前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >目标检测综述

目标检测综述

作者头像
故事尾音
发布2019-12-18 16:01:56
6250
发布2019-12-18 16:01:56
举报

任务比较

图像分类,检测及分割是计算机视觉领域的三大任务。

这张图清楚说明了image classification, object detection, semantic segmentation, instance segmentation之间的关系. 摘自COCO dataset (https://arxiv.org/pdf/1405.0312.pdf)

  • 图像分类的任务是给图像分类,打标签,让机器明白图片是什么(what),通常一张图片对应一个类别
  • 目标检测的任务是检测物体的位置,并用框标记出来,让机器明白物体在哪里(where),可以识别一张图片中的多个物体。
  • 语义分割的任务是实现像素级别的分类,同一类用一种颜色表示
  • 实例分割的任务是不但要进行分类,还要区别开不同的实例(这里的实例指的是具体的单个对象)

基于深度学习的目标检测算法

基于深度学习的目标检测模型主要可以分为两大类:

  • One-Stage检测算法

一步到位,直接产生物体的类别概率和位置坐标值,代表算法如YOLO和SSD。

  • Two-Stage检测算法

这些算法将检测问题划分为两个阶段:第一阶段产生候选区域,第二阶段对候选区域进行分类和微调。代表算法是R-CNN系列算法,如R-CNN,Fast R-CNN,Faster R-CNN等

目标检测模型的主要性能指标是检测准确度和速度,对于准确度,目标检测要考虑物体的定位准确性,而不单单是分类准确度。一般情况下,Two-Stage算法在准确度上有优势,而One-Stage算法在速度上有优势。

Google在2017年开源了TensorFlow Object Detection API,并对主流的Faster R-CNN,R-FCN及SSD三个算法在MS COCO数据集上的性能做了细致对比(见Huang et al. 2017),如下图所示。

从R-CNN到Mask R-CNN

R-CNN/2013

区域卷积神经网络(Regions with CNN features,简称 R-CNN), 论文:Rich feature hierarchies for accurate object detection and semantic segmentation。是利用卷积神经网络来做「目标检测」的开山之作,其意义深远不言而喻。R-CNN的主要模型结构如下

实现R-CNN的主要步骤分为四步;

  1. 首先对每张输入图像使用选择性搜索来选取多个高质量的提议区域。
  2. 选取一个预先训练好的卷积神经网络,去掉最后的输出层来作为特征抽取模块,得到一个特征向量。
  3. 每个类别训练一个SVM分类器,从特征向量中推断其属于该类别的概率大小。
  4. 为了提升定位准确性,R-CNN最后又训练了一个边界框回归模型。

相比于传统方法,R-CNN的优点有:

  1. 传统的区域选择使用滑窗,每滑一个窗口检测一次,相邻窗口信息重叠高,检测速度慢。R-CNN 使用一个启发式方法(Selective search),先生成候选区域再检测,降低信息冗余程度,从而提高检测速度。
  2. 使用了预先训练好的卷积神经网络来抽取特征,有效的提升了识别精度。

SPP-net/2014

论文Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition, He et al. 2014。 R-CNN 提出后的一年,以何恺明、任少卿为首的团队提出了 SPP-net,SPP-net中所提出的空间金字塔池化层(Spatial Pyramid Pooling Layer, SPP)可以和R-CNN结合在一起并提升其性能。 采用深度学习模型解决图像分类问题时,往往需要图像的大小固定(比如224×224224×224),这并不是CNN层的硬性要求,主要原因在于CNN层提取的特征图最后要送入全连接层(如softmax层),对于变大小图片,CNN层得到的特征图大小也是变化的,但是全连接层需要固定大小的输入,所以必须要将图片通过resize, crop或wrap等方式固定大小(训练和测试时都需要)。但是实际上真实的图片的大小是各种各样的,一旦固定大小可能会造成图像损失,从而影响识别精度。为了解决这个问题,SSP-net在CNN层与全连接层之间插入了空间金字塔池化层来解决这个矛盾。

Fast-RCNN

Reference

  1. 动手学深度学习
  2. 基于深度学习的目标检测
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 任务比较
  • 基于深度学习的目标检测算法
  • 从R-CNN到Mask R-CNN
    • R-CNN/2013
      • SPP-net/2014
        • Fast-RCNN
        • Reference
        相关产品与服务
        图像识别
        腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档