前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >基于深度学习的计算机视觉应用之目标检测

基于深度学习的计算机视觉应用之目标检测

作者头像
磐创AI
发布于 2018-04-24 10:19:40
发布于 2018-04-24 10:19:40
1.1K0
举报
目标检测作为图像处理和计算机视觉领域中的经典课题,在交通监控、图像检索、人机交互等方面有着广泛的应用。它旨在一个静态图像(或动态视频)中检测出人们感兴趣的目标对象。传统的目标检测算法中特征提取和分类决策分开进行,对特征选取的要求就更加严格,在面对复杂场景的时候很难得到理想效果。自Hinton教授提出深度学习理论,越来越多的研究人员发现在目标检测领域应用深度学习,可以有效提高检测效果和性能,于是深度学习在实时视频的目标检测开始获得大规模的应用。时至今日,其检测效率和精度已经有了极大提高。

传统检测算法

传统的目标检测一般使用滑动窗口的框架,主要包括三个步骤:先利用不同尺寸的滑动窗口框住图中的某一部分作为候选区域;然后提取候选区域相关的视觉特征——比如人脸检测常用的Harr-like特征,行人检测和普通目标检测常用的HOG(Histogram of Oriented Gradient)、SIFT(Scale Invariant Feature Transform)特征等;最后利用分类器进行识别,比如常用的SVM模型。

经典传统检测算法之DPM

传统的目标检测中,多尺度形变部件模型DPM(Deformable Part Model)是出类拔萃的,连续获得VOC(Visual Object Class)2007到2009的检测冠军,2010年其作者Felzenszwalb Pedro被VOC授予“终身成就奖”。DPM把物体看成了多个组成的部件(比如人脸的鼻子、嘴巴等),用部件间的关系来描述物体,这个特性非常符合自然界很多物体的非刚体特征。DPM可以看做是HOG+SVM的扩展,很好的继承了两者的优点,在人脸检测、行人检测等任务上取得了不错的效果,但是DPM相对复杂,检测速度也较慢,从而也出现了很多改进的方法。

图1 DPM检测流程

目前检测算法

正当大家热火朝天改进DPM性能的时候,基于深度学习的目标检测横空出世,迅速盖过了DPM的风头,很多之前研究传统目标检测算法的研究者也开始转向深度学习。基于深度学习的目标检测发展起来后,其实效果也一直难以突破。比如C. Szegedy等人提出的基于DNN的检测算法在VOC 2007测试集合上的mAP只能达到约30%,P. Sermane等人提出的OverFeat在ILSVRC 2013测试集上的mAP只能达到24.3%。2013年R-CNN[8]诞生了,在VOC 2007测试集检测的mAP大幅提升至48%,随着研究的不断深入,各类先进检测算法不断涌出。

1. YOLO

2015年Joseph Redmon提出了一个新的物体检测方法YOLO(You OnlyLook Once), 顾名思义是指只看一次就可以知道‘是否存在’以及‘在哪儿’,进一步把目标判定和目标识别合二为一,所以识别性能有了很大提升,达到每秒45帧,而在快速版YOLO(Fast YOLO,卷积层更少)中,可以达到每秒155帧。

图2YOLO检测系统

针对一张图片,YOLO的处理步骤为:把输入图片缩放到448×448大小;运行卷积网络;对模型置信度卡阈值,得到目标位置与类别。对VOC数据集来说,YOLO就是把图片统一缩放到448×448,然后每张图平均划分为7×7=49个小格子,每个格子预测2个矩形框及其置信度,以及20种类别的概率。舍弃了Region proposal阶段,加快了速度,但是定位精度比较低,与此同时带来的问题是,分类的精度也比较低。在各类数据集上的平均表现大概为54.5%mAP。

图3 YOLO模型

2. Faster R-CNN

2015年S Ren等人对R-CNN系列又提出了改进型Faster R-CNN[10],运用一种区域建议网络RPN(Region Proposal Network),它和检测网络共享全图的卷积特征,使得区域建议几乎不花时间。RPN是一个全卷积网络,在每个位置同时预测目标边界和客体性得分。将RPN 生成的高质量区域建议框,用于Fast R-CNN[11]来检测,通过一种简单的交替运行优化方法,RPN和Fast R-CNN 可以在训练时共享卷积特征,应用共享卷积,计算建议框的边际成本是很小的(例如每个图像10ms)。这种将一直以来分离的候选区域提取阶段和卷积神经网络分类过程融合到了一起,使用端到端的网络进行目标检测,在速度以及精度上都得到了显著的提高。

图4 Fast R-CNN框架

在每个图像用了300 个建议框的情况下,对于较深的VGG-16 模型[12],Faster R-CNN检测系统在GPU 上的帧率达到5fps(包含所有步骤),对于较为简单的模型,帧率可以达到17 fps,在PASCAL VOC 2007 和PASCAL VOC2012 上实现了最高的目标检测准确率(PASCAL VOC2007:73.2%mAP ,PASCAL VOC2012:70.4%mAP)。

图5 Region Proposal Network(RPN)

3.SSD

之后,针对于Faster R-CNN与YOLO网络中出现的不足,SSD[13]网络对YOLO 网络进行了相应的改进。SSD的框架如图6所示,图6(a)表示带有两个Ground Truth边框的输入图片,图6(b)和(c)分别表示8×8网格和4×4网格,显然前者适合检测小的目标,比如图片中的猫,后者适合检测大的目标,比如图片中的狗。在每个格子上有一系列固定大小的Box(有点类似前面提到的Anchor Box),这些在SSD称为Default Box,用来框定目标物体的位置,在训练的时候Ground Truth会赋予给某个固定的Box,比如图6(b)中的蓝框和图6(c)中的红框。

图6 SSD框架

SSD的网络分为两部分,前面的是用于图像分类的标准网络(去掉了分类相关的层),后面的网络是用于检测的多尺度特征映射层,从而达到检测不同大小的目标。SSD和YOLO的网络结构对比如图7所示。

图7SSD和YOLO的网络结构对比

SSD在保持YOLO高速的同时效果也提升很多,主要是借鉴了Faster R-CNN中的Anchor机制,同时使用了多尺度。因Default Box的形状以及网格大小是事先固定的,那么对特定的图片小目标检测效果较差。

写在最后:计算机视觉领域技术更新很快,本次只对三个热门目标检测算法做了简单介绍。想了解跟多计算机视觉相关最新技术更新请持续关注公众号:磐石AI。

【注】:文中所用引用文献,回复可见。

相关项目实战推荐:

YOLO:https://zhuanlan.zhihu.com/p/29555602

SSD: https://zhuanlan.zhihu.com/p/29586716

Faster R-CNN:https://github.com/endernewton/tf-faster-rcnn

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 磐创AI 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
重磅|基于深度学习的目标检测综述(一)
作者:叶 虎 编辑:黄俊嘉 前 言 图像分类,检测及分割是计算机视觉领域的三大任务。图像分类模型(详情见[这里](https://medium.com/comet-app/review-of-deep-learning-algorithms-for-image-classification-5fdbca4a05e2))是将图像划分为单个类别,通常对应于图像中最突出的物体。但是现实世界的很多图片通常包含不只一个物体,此时如果使用图像分类模型为图像分配一个单一标签其实是非常粗糙的,并不准确。对于这
机器学习算法工程师
2018/03/30
2.3K0
重磅|基于深度学习的目标检测综述(一)
深度学习近期总结分析
希望想认真阅读的你可以听着这首悦耳的歌O(∩_∩)O 一、背景介绍 普通的深度学习监督算法主要是用来做分类,如图1(1)所示,分类的目标是要识别出图中所示是一只猫。而在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)竞赛以及实际的应用中,还包括目标定位和目标检测等任务。其中目标定位是不仅仅要识别出来是什么物体(即分类),而且还要预测物体的位置,位置一般用边框(bounding box)标记,如图1(2)所示。而目标检测实质是多目标的定位,即要
计算机视觉研究院
2018/04/17
7810
深度学习近期总结分析
基于深度学习的目标检测算法综述
目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一。由于各类物体有不同的外观,形状,姿态,加上成像时光照,遮挡等因素的干扰,目标检测一直是机器视觉领域最具有挑战性的问题。本文将针对目标检测(Object Detection)这个机器视觉中的经典任务进行解析,抛砖引玉。如对文中的内容持不同观点,欢迎到SIGAI公众号发消息给我们,一起探讨!
SIGAI学习与实践平台
2018/08/07
1.4K0
基于深度学习的目标检测算法综述
【深度学习】目标检测
目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。
杨丝儿
2022/03/01
2.7K0
【深度学习】目标检测
目标检测
图片分类任务我们已经熟悉了,就是算法对其中的对象进行分类。而今天我们要了解构建神经网络的另一个问题,即目标检测问题。这意味着,我们不仅要用算法判断图片中是不是一辆汽车, 还要在图片中标记出它的位置, 用边框或红色方框把汽车圈起来, 这就是目标检测问题。 其中“定位”的意思是判断汽车在图片中的具体位置。
用户1150922
2019/07/10
1.4K0
最全综述 | 图像目标检测
图片分类任务我们已经熟悉了,就是算法对其中的对象进行分类。而今天我们要了解构建神经网络的另一个问题,即目标检测问题。这意味着,我们不仅要用算法判断图片中是不是一辆汽车, 还要在图片中标记出它的位置, 用边框或红色方框把汽车圈起来, 这就是目标检测问题。其中“定位”的意思是判断汽车在图片中的具体位置。
AI算法与图像处理
2019/07/11
1.3K0
最全综述 | 图像目标检测
计算机视觉中的物体检测方法
本文适合刚入门物体检测的人群学习,不涉及公式推理。 目录 *摘要 *相关物体检测数据集介绍 *现有的主流物体检测算法 *物体检测的难点与挑战 *相关术语介绍 *物体检测的传统算法概述 *基于深度学习的物体检测算法 R-CNN Fast-RCNN Faster-RCNN YOLO *物体检测动手实践 *参考文献 摘要 相比于图像分类,图像中物体检测是计算机视觉中一个更加复杂的问题,因为图像分类只需要判断出图像属于哪一类就行,而在物体检测中,图像里可能有多个物体,我们需要对所有
张俊怡
2018/04/24
9740
计算机视觉中的物体检测方法
目标检测资源总结
blog.csdn.net/l7H9JA4/article/details/79620247
用户3578099
2019/08/15
8590
干货 | 深度学习时代的目标检测算法
AI 科技评论按:本文作者 Ronald,首发于作者的知乎专栏「炼丹师备忘录」,AI 科技评论获其授权转发。 目前目标检测领域的深度学习方法主要分为两类:two stage 的目标检测算法;one s
AI科技评论
2018/03/07
1.7K0
干货 | 深度学习时代的目标检测算法
深度学习500问——Chapter08:目标检测(1)
目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。
JOYCE_Leo16
2024/04/16
3840
深度学习500问——Chapter08:目标检测(1)
目标检测(Object Detection)
目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。
全栈程序员站长
2022/09/14
6.7K0
目标检测(Object Detection)
图像处理之目标检测入门总结
本文首先介绍目标检测的任务,然后介绍主流的目标检测算法或框架,重点为Faster R-CNN,SSD,YOLO三个检测框架。本文内容主要整理自网络博客,用于普及性了解。
公众号机器学习与AI生成创作
2020/12/08
6750
图像处理之目标检测入门总结
MMDetection学习系列(1)——Faster RCNN深度探索与实战指南
目标检测是当前计算机视觉领域内研究的一个热点,与图像分类不一样的是,目标检测不仅要准确地识别出图像中目标的类别,还要准确的定位该目标的位置,并用边界框把目标框起来。
CoovallyAIHub
2025/01/15
1630
MMDetection学习系列(1)——Faster RCNN深度探索与实战指南
基于深度学习的目标检测算法综述
摘要: 从2014年开始,目标检测取得了巨大的突破。本文针对目前主流的目标检测方法进行简单的介绍,文章分为两个部分:第一部分介绍R Girshick提出的以R-CNN为代表的结合region proposal和CNN分类的目标检测框架(R-CNN, SPP-NET, Fast R-CNN, Faster R-CNN); 第二部分介绍以YOLO为代表的将目标检测转换为回归问题的目标检测框架(YOLO, SSD); 第三部分介绍一些最新的目标检测算法的进展。 一、从Rcnn到Faster-Rcnn 从Rcnn开
智能算法
2018/04/03
1.8K0
基于深度学习的目标检测算法综述
视觉目标检测和识别之过去,现在及可能
作者:李习华 知乎专栏:碧空的cv之旅 量子位 已获授权编辑发布 计算机视觉中目标检测、跟踪、识别是最基本的几个task,尤其又以检测最为重要和基础。同时基本上所有的检测任务都需要在给出物体的bounding box之后,给出物体的类别(也就是给识别物体),所以文章中不区分检测和识别任务。 笔者从事计算机视觉中目标检测相关的工作还比较多,将自己看到的,学到的,以及相关的一些理解总结如下。帮助自己进行梳理,也希望对后来者有帮助。我大致将目前学术及和工业界出现的目标检测算法分成3类: 传统的目标检测算法:Cas
量子位
2018/03/28
9740
视觉目标检测和识别之过去,现在及可能
一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。所以,object detection要解决的问题就是物体在哪里以及是什么的整个流程问题。
智能算法
2019/12/06
6.8K1
一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
【目标检测系列】个人整理目标检测框架yolo v1深入剖析
faster-RCNN在目标检测精度上已经能够达到一个很高的水准,但是作为RCNN系列的最巅峰,它提出了RPN网络产生推荐性区域,但是它依旧有着一些缺点,这些区域里面有大面积是重合的,影响了计算效率。为了更好地提升目标检测的计算效率,从DPM检测中获得了相关的灵感,于是yolo网络应运而生,现在yolo网络已经有了很多的版本,yolo v1、yolo v2、yolo v3、fast yolo 等系列算法,本文针对最原始的yolo v1算法。
小草AI
2019/05/31
1.6K0
【目标检测系列】个人整理目标检测框架yolo v1深入剖析
从RCNN到SSD,深度学习目标检测算法盘点
之前已经讨论过非常多的目标检测算法,对计算机视觉感兴趣的读者也可以结合以前的文章加强理解。
机器学习AI算法工程
2019/10/28
1.2K0
基于深度学习的图像目标检测(下)
依然要感激如此美丽的封面图片。 在“基于深度学习的图像目标检测(上)”里面, 我们详细介绍了R-CNN走到端到端模型的Faster R-CNN的进化流程。 这里, 我们介绍, 后续如何变得更快、更强! 前言 天下武功唯快不破! 所以在如何让检测更快? 主要有两种思路: 1. 把好的方法改进的更快! 前面我们提到了从R-CNN到Faster R-CNN主要的技术思想就是避免特征计算浪费。 所以要把ConvNet特征计算前移,只做一次计算。 而把区域操作后移。 我们也提到Faster R-CNN在RoI之
企鹅号小编
2018/01/11
1.9K0
基于深度学习的图像目标检测(下)
一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD「建议收藏」
之前我所在的公司七月在线开设的深度学习等一系列课程经常会讲目标检测,包括R-CNN、Fast R-CNN、Faster R-CNN,但一直没有比较好的机会深入(但当你对目标检测有个基本的了解之后,再看这些课程你会收益很大)。但目标检测这个领域实在是太火了,经常会看到一些写的不错的通俗易懂的资料,加之之前在京东上掏了一本书看了看,就这样耳濡目染中,还是开始研究了。
全栈程序员站长
2022/06/30
6780
一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD「建议收藏」
相关推荐
重磅|基于深度学习的目标检测综述(一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文