资讯专栏INFORMATION COLUMN

SSD 用于实时物体检测介绍

yy13818512006 / 1863人阅读

摘要:但是他们对于实时监测来说,还是有点慢。上图是我们用于物体检测的训练数据集的示例。分类器在每个步骤中应用于检测对象。

卷积神经网络(CNN)在物体识别中由于其他的神经网络架构,所以研究人员很快对 CNN 进行了改进以使得它们能更好的对物体进行定位和检测,这种神经网络架构就被称为 R-CNN(Region-CNN)。R-CNN 的输出是具有矩形框的图像,以下是 R-CNN 如何工作的步骤:

使用称为可能性搜索的算法扫描整个输入图像,用来查询可能的对象,并生成大约 2000 个区域提议;

在每个区域提案上运行 CNN;

获取每个 CNN 的输出并将其输入:

SVM 对区域进行分类;

如果存在这样的对象,则利用线性回归其收紧对象的边界框;

虽然 R-CNN 比传统的 CNN 在对象对位,检测和分类方面取得了很大进步,但是在实时性上面还是存在一点问题,主要是:

训练数据很难处理,而且需要很长时间;

训练分为两步进行(区域划分和分类);

在测试的时候,网络的计算非常慢;

为了改进 R-CNN,研究人员想出了很多的算法,比如 Fast-RCNN,Faster-RCNN。后来的几个算法在对象检测上面能得到更准确的结果。但是他们对于实时监测来说,还是有点慢。SSD 就能同时解决这两个问题,它在准确性和计算速度方面具有良好的平衡。

SSD(Single Shot MultiBox Detector)

SIngle Shot:对象定位和分类在同一个前向网络中完成;

MultiBox:边界框回归的技术

Detector:对检测到的对象进行分类;

具体架构如下:

SSD 的架构基于 VGG-16 架构开发。但是对 VGG-16 进行了一些调整,我们使用 Conv6 层以上的辅助卷积层而不是完全连接层。使用 VGG-16 作为基础网络层的原因是其高质量的图像分类和迁移学习的能力,可以用来改善结果。使用辅助卷积层,我们可以提取多个尺度的特征,并逐步减小每个后续层的尺寸。在下面介绍的工作原理图中,你可以看到 VGG-16 架构处理的图像。

工作机制

为了训练我们的算法,我们需要一个包含带有对象的图像训练集,这些对象必须在他们上面有边界框。通过这种方式学习,算法可以学会如何将举行放置子啊何处。我们最小化边界框和实际的框的误差,以优化我们的模型可以正确的检测到对象。与 CNN 不同的是,我们不仅预测图像中是否存在该物体,而且还需要预测物体在图像中的位置。在训练期间,算法学习调整对象中矩阵框的高度和宽度。

上图是我们用于物体检测的训练数据集的示例。这些数据集必须包含在图像中标记其类的对象。更多默认框导致更准确的检测。

如果你是一个初学者,可以先使用 Pascal VOC 和 COCO 来进行学习。

处理规模问题

上面的图,我们的马匹有很少的图像。我们将输入图像划分为网格集。然后我们围绕这些网格制作几个不同宽高比的巨星。然后我们子啊这些矿中应用卷积来查找这些网络中是否存在对象。这里的一匹黑马在图像中更靠近相机。因此,我们绘制的矩形无法识别是否是马,因为矩形没有任何识别马匹的特征。

如果我们看到 SSD 的上述架构,我们可以在 Conv6 层之后的每个步骤中看到图像的大小显著减小。然后,我们讨论的关于制作网格和在这些网格上查找对象的每个操作都适用于从网络的后面到前面的卷积的每个步骤。分类器在每个步骤中应用于检测对象。因此,由于物体在每个步骤中不断变小,索引很容易被识别出来。

SSD 算法还知道如何从一个卷积操作返回到另一个卷积操作。它不仅学会前进而且学会如何后腿。例如,如果他在 Conv4 层中看到马,那么它可以返回到 Conv6 并且算法将在马周围进行绘制矩形。

声明:文章收集于网络,如有侵权,请联系小编及时处理,谢谢!


欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:81035754

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/4806.html

相关文章

  • 【译】让你的电脑学会同时识别多个物体

    摘要:工作原理以前的检测系统通过重复利用分类器和定位器来实现目标识别。修改检测阈值缺省情况下,只显示信心大于的对象。用法如下这个,呵呵,不完美把白马识别成绵羊了,把黑狗识别成奶牛了,但确实很快。 原标题:YOLO: Real-Time Object Detection英文原文:https://pjreddie.com/darknet/... 强烈推荐(TED视频):https://www....

    duan199226 评论0 收藏0
  • 【译】让你的电脑学会同时识别多个物体

    摘要:工作原理以前的检测系统通过重复利用分类器和定位器来实现目标识别。修改检测阈值缺省情况下,只显示信心大于的对象。用法如下这个,呵呵,不完美把白马识别成绵羊了,把黑狗识别成奶牛了,但确实很快。 原标题:YOLO: Real-Time Object Detection英文原文:https://pjreddie.com/darknet/... 强烈推荐(TED视频):https://www....

    leap_frog 评论0 收藏0
  • 深度学习时代的目标检测算法

    摘要:目前目标检测领域的深度学习方法主要分为两类的目标检测算法的目标检测算法。原来多数的目标检测算法都是只采用深层特征做预测,低层的特征语义信息比较少,但是目标位置准确高层的特征语义信息比较丰富,但是目标位置比较粗略。 目前目标检测领域的深度学习方法主要分为两类:two stage的目标检测算法;one stage的目标检测算法。前者是先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本...

    wfc_666 评论0 收藏0
  • ECCV 2018 | CornerNet:目标检测算法新思路

    摘要:表示类别为,坐标是的预测热点图,表示相应位置的,论文提出变体表示检测目标的损失函数由于下采样,模型生成的热点图相比输入图像分辨率低。模型训练损失函数使同一目标的顶点进行分组,损失函数用于分离不同目标的顶点。 本文由极市博客原创,作者陈泰红。 1.目标检测算法概述 CornerNet(https://arxiv.org/abs/1808.01244)是密歇根大学Hei Law等人在发表E...

    awkj 评论0 收藏0
  • 10分钟学会使用YOLO及Opencv实现目标检测(下)|附源码

    摘要:摘要本文介绍使用和完成视频流目标检测,代码解释详细,附源码,上手快。将应用于视频流对象检测首先打开文件并插入以下代码同样,首先从导入相关数据包和命令行参数开始。 摘要: 本文介绍使用opencv和yolo完成视频流目标检测,代码解释详细,附源码,上手快。 在上一节内容中,介绍了如何将YOLO应用于图像目标检测中,那么在学会检测单张图像后,我们也可以利用YOLO算法实现视频流中的目标检...

    songze 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<