目标检测综述

目标检测综述

目标检测是一项重要的计算机视觉任务,用于检测数字图像中某一类视觉对象(如人、动物或汽车)的实例。作为一个计算机视觉领域的一个基本问题(如实例分割、图像捕捉、目标跟踪等等),目标检测已经形成了一定的基础。在近几年,深度学习技术的快速发展给目标检测带来了生机,导致了显著的突破并且成为了当下的研究热点。目标检测也被广泛应用于真实世界中,例如自动驾驶、机器人视觉、视频监控等等。所以本文将对从深度学习引入目标检测开始,直到现在state-of-art的目标检测算法进行介绍。然后针对近期提出的新颖算法中的思路进行分析。最后,进行总结与对未来目标检测方向的展望。

深度目标检测算法进程

在深度学习流行之前,目标检测都是基于人工特征进行的。由于缺乏有效的图像表示方法,研究者们只能通过设计复杂而精致的特征表示(比如颜色特征)[1]和一系列加速技巧(比如滑动窗口机制[2])来满足当时缺乏的计算资源。
而当人工特征的性能逐渐饱和,目标检测的发展在2010年后陷入了瓶颈。直至2012年AlexNet的诞生,研究者们看到了卷积神经网络能够在图像上学习到鲁棒的特征表示。从那时起,目标检测开始以前所未有的速度发展。
在深度学习邻域,目标检测可以被分为两个类别:“two-stage detection”和“one-stage detection”,前者将检测定义为一个“由粗到细“的过程,而后者将其定义为”一步完成“的过程。

双阶段目标检测器

RCNN

RCNN(Regions with CNN features)[3]作为第一个基于深度学习的目标检测器在2014年被提出。其背后的原理很简单:先对一系列目标候选框进行提取(由selective search[4]完成)。然后把每个候选框修正到固定大小送入训练好的ImageNet模型中(比如AlexNet)来提取出特征。最终,用线性SVM分类器来预测物体时候出现在候选框中以及其类别。
在这里插入图片描述
图1-1 RCNN 网络架构图
RCNN在在VOC07数据集上取得了极佳的表现,把在该数据集上的平均准确率(mAP)从33.7%提升到了58.5%(前者为效果最好的传统目标检测算法DPM-v5)。
在这里插入图片描述
表1-1RCNN在VOC 2007上的精度
尽管RCNN取得了如此的进步,然仍留下了如下缺陷:其在大量的重叠候选目标(一张图片超过2000个候选框)上存在冗余的特征计算,这导致了检测速度极慢(在GPU上每检测一张图片需要14s)。而这一问题在同年何凯明提出的SPPNet[5]中得到了解决。

SPPNet

在2014年,在微软亚洲研究院的何凯明提出了Spatial Pyramid Pooling Networks(SPPNet)[5]。之前的CNN模型需要把输入图像的大小固定为224×224来作为AlexNet的输入。SPPNet的主要贡献为提出了一个空间金字塔池化层(Spatial Pyramid Pooling,SPP),这使得CNN可以生成固定长度的表示形式,而与感兴趣的图像/区域的大小无关,而无需对其进行重新缩放。当使用SPPNet进行目标检测时,只需要在原始图像上计算一次特征图,然后可以生成任意区域的固定长度表示形式以训练检测器,从而避免了重复计算卷积特征。SPPNet能在不牺牲任何检测精度的情况下速度比RCNN快20倍以上。
简单来说,其空间池化层的具体做法是:将不同大小的特征图进行三次不同尺寸的池化,分别为4×4,2×2,1×1。那么最终卷积得到了三个长度分别为16,4,1的特征向量,然后将这三个向量拼接为一个16+4+1即21维的向量来作为全连接层的输入。
在这里插入图片描述
图1-2 SPPNet网络架构图
尽管SPPNet有效的提高了检测速度,但仍有一些缺陷:首先,训练仍是多阶段的(仍然要采用selective search找出候选项)。其次ÿ

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值