《深度学习》之 目标检测 最全详解 (一)

目标检测

一.简介

在这里插入图片描述
目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。尤其是在复杂场景中,需要对多个目标进行实时处理时,目标自动提取和识别就显得特别重要。
随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像处理技术对目标进行实时跟踪研究越来越热门,对目标进行动态实时跟踪定位在智能化交通系统、智能监控系统、军事目标检测及医学导航手术中手术器械定位等方面具有广泛的应用价值。

在这里插入图片描述
(图片来自网络)

二.发展历程

在这里插入图片描述
(图片来自网络)在这里插入图片描述
(图片来自网络)
在这里插入图片描述
(图片来自网络)

1、基于传统图像处理和机器学习算法的目标检测与识别方法

传统的目标检测与识别方法主要可以表示为:目标特征提取->目标识别->目标定位。

这里所用到的特征都是认为设计的,例如SIFT (尺度不变特征变换匹配算法Scale Invariant Feature Transform), HOG(方向梯度直方图特征Histogram of Oriented Gradient), SURF( 加速稳健特征Speeded Up Robust Features),等。通过这些特征对目标进行识别,然后再结合相应的策略对目标进行定位。

2、基于深度学习的目标检测与识别方法

如今,基于深度学习的目标检测与识别成为主流方法,主要可以表示为:图像的深度特征提取->基于深度神经网络的目标识别与定位,其中主要用到深度神经网络模型是卷积神经网络CNN。

目前可以将现有的基于深度学习的目标检测与识别算法大致分为以下三大类:

基于区域建议的目标检测与识别算法,如R-CNN, Fast-R-CNN, Faster-R-CNN;
基于回归的目标检测与识别算法,如YOLO, SSD;
基于搜索的目标检测与识别算法,如基于视觉注意的AttentionNet,基于强化学习的算法。

在这里插入图片描述

三.目标检测基本思路与步骤

3.1 基本思路在这里插入图片描述

目标检测的基本思路:同时解决定位(localization) + 识别(Recognition)。
多任务学习,带有两个输出分支。一个分支用于做图像分类,即全连接+softmax判断目标类别,和单纯图像分类区别在于这里还另外需要一个“背景”类。另一个分支用于判断目标位置,即完成回归任务输出四个数字标记包围盒位置(例如中心点横纵坐标和包围盒长宽),该分支输出结果只有在分类分支判断不为“背景”时才使用。详细结构如下图所示:

在这里插入图片描述
(图片来自网络)

3.2 步骤在这里插入图片描述

传统的目标检测框架,主要包括三个步骤:

  1. 利用不同尺寸的滑动窗口框住图中的某一部分作为候选区域;
  2. 提取候选区域相关的视觉特征。比如人脸检测常用的Harr特征;行人检测和普通目标检测常用的HOG特征等;
  3. 利用分类器进行识别,比如常用的SVM模型。

3.3 两类深度学习 方法

目前目标检测领域的深度学习方法主要分为两类:两阶段(Two Stages)的目标检测算法;一阶段(One Stage)目标检测算法。

两阶段(Two Stages):首先由算法(algorithm)生成一系列作为样本的候选框,再通过卷积神经网络进行样本(Sample)分类。

常见的算法有R-CNN、Fast R-CNN、Faster R-CNN等等。

一阶段(One Stage ):不需要产生候选框,直接将目标框定位的问题转化为回归(Regression)问题处理(Process)。

常见的算法有YOLO、SSD等等。

这些算法又可以根据是否基于候选区来划分成两类

3.4 基于候选区的算法

基于候选区域(Region Proposal)的,如R-CNN、SPP-net、Fast R-CNN、Faster R-CNN、R-FCN;
使用候选区域方法(region proposal method)创建目标检测的感兴趣区域(ROI)。在选择性搜索(selective search,SS)中,首先将每个像素作为一组。然后,计算每一组的纹理,并将两个最接近的组结合起来。但是为了避免单个区域吞噬其他区域,首先对较小的组进行分组。继续合并区域,直到所有区域都结合在一起。下图第一行展示了如何使区域增长,第二行中的蓝色矩形代表合并过程中所有可能的 ROI。
在这里插入图片描述
(图片来自网络)

基于区域的全卷积网络检测目标在这里插入图片描述

3.5 基于端到端的算法

端到端指的是输入是原始数据,输出是最后的结果,原来输入端不是直接的原始数据,而是在原始数据中提取的特征,这一点在图像问题上尤为突出,因为图像像素数太多,数据维度高,会产生维度灾难,所以原来一个思路是手工提取图像的一些关键特征,这实际就是就一个降维的过程。
  
端到端的目标检测算法
在这里插入图片描述
基于端到端(End-to-End),无需候选区域(Region Proposal)的,如YOLO、SSD。

对于上述两种方式,基于候选区域(Region Proposal)的方法在检测准确率和定位精度上占优,基于端到端(End-to-End)的算法速度占优。相对于R-CNN系列的“看两眼”(候选框提取和分类),YOLO只需要“看一眼”。总之,目前来说,基于候选区域(Region Proposal)的方法依然占据上风,但端到端的方法速度上优势明显。

四.目标检测精准度的评价指标

在这里插入图片描述
    在这里插入图片描述
(图片来自网络)

P-R 曲线
    在这里插入图片描述在这里插入图片描述

计算 mAP 过程

对于一张图片中的c类目标

算法检测出来 T 个c类的目标

而真值是 TP+FN 个c类的目标

检测结果中有 TP 个结果和真值的 IOU 达到某个设定的阈值

那么Precision定义为:
在这里插入图片描述

对所有图片求平均得到Average Precision 的定义值:

在这里插入图片描述

对所有类求平均就得到mean Average Precision的定义值:
在这里插入图片描述

参考:《深度学习》 花书
复旦大学 《深度学习》

  • 49
    点赞
  • 301
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
SSD(Single Shot MultiBox Detector)是一种用于目标检测深度学习算法,它可以在一张图像中同时检测多个物体,并输出它们的位置和类别。SSD主要由两个部分组成:卷积神经网络(CNN)和多尺度特征融合。 SSD的网络结构类似于其他目标检测算法,如Faster R-CNN。但是,与Faster R-CNN不同的是,SSD可以在单个卷积神经网络中同时完成检测和分类,而不需要额外的区域提议网络(RPN)。这使得SSD能够在更短的时间内完成检测任务。 SSD的多尺度特征融合是通过不同层级的卷积特征图进行卷积和池化操作来实现的。这些操作可以将不同层级的特征图融合成一个多尺度的特征图。这个多尺度的特征图可以在不同大小的物体检测任务中使用,这使得SSD在处理不同大小的物体时更加灵活。 在SSD中,每个物体被表示为一个边界框和一个类别。边界框由四个坐标表示,分别是左上角和右下角的x和y坐标。类别是一个向量,其中每个元素表示一个可能的类别,如果物体属于该类别,则该元素为1,否则为0。 SSD的训练过程是通过反向传播来更新网络权重,以最小化预测边界框与真实边界框之间的差距。这个差距是通过计算预测边界框与真实边界框之间的IoU(Intersection over Union)来确定的。在训练过程中,SSD还使用了一些数据增强技术,如随机裁剪和变形,以提高模型的鲁棒性。 总的来说,SSD是一种高效、准确的目标检测算法,适用于处理不同大小的物体,可以在实时应用中运行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DFCED

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值