深度学习计算机视觉之SSD MultiBox —实时对象检测

简介: 这篇文章旨在构成对SSD MultiBox对象检测技术的直观解释。我试图尽量减少数学运算,而是逐步引导您完成该体系结构的宗旨,其中包括解释MultiBox算法的作用。阅读本文后,希望您能更好地掌握SSD,并亲自尝试!

20200115141924800.png


自从AlexNet在2012年ImageNet大规模视觉识别挑战赛(ILSVRC)席卷研究界以来,深度学习已成为图像识别任务的首选方法,远远超过了文献中使用的传统计算机视觉方法。在计算机视觉领域,卷积神经网络擅长图像分类,它包括对图像进行分类,给定一组类别(例如猫,狗),并让网络确定图像中存在的最强类别。


2020011514281422.png


如今,深度学习网络在图像分类方面比人类更胜一筹,这表明该技术的强大功能。但是,作为人类,我们在观察和与世界互动时所做的不仅是对图像进行分类。我们还将对我们视野内的每个元素进行位置预测和分类。这些是复杂得多的任务,机器仍然要像人类一样努力地执行。实际上,我认为对象检测性能良好时,会使机器更接近真实场景的理解。


20200115143434966.png


The Region-Convolutional Neural Network (R-CNN)


几年前,通过利用CNN在计算机视觉中实现的某些飞跃,研究人员开发了R-CNN以处理对象检测,定位和分类的任务。广义上讲,R-CNN是一种特殊的CNN,它能够定位和检测图像中的对象:输出通常是一组与每个检测到的对象紧密匹配的边界框,以及每个对象的类输出。检测到的物体。下图显示了典型R-CNN的输出:


2020011514380853.png


该领域有详尽的论文清单,对于任何渴望进一步探索的人,我建议从以下围绕该主题的论文“三部曲”开始:


●神经网络

●Fast RCNN

●Faster RCNN


您可能已经猜到了,接下来的每篇论文都提出了对R-CNN中所做的开创性工作的改进,以开发更快的网络,以实现实时对象检测。通过这组工作所显示的成就确实令人惊叹,但是这些架构都无法创建实时对象检测器。在不过多讨论的情况下,确定了上述网络的以下问题:


●训练数据很麻烦且时间太长

●培训分为多个阶段(例如,培训区域建议与分类器)

●网络在推理 时(例如,在处理非训练数据时)太慢


幸运的是,在过去的几年中,创建了新的体系结构来解决R-CNN及其后续版本的瓶颈,从而实现了实时对象检测。最著名的是YOLO(您只看一次)和SSD MultiBox(单发检测器)。在本文中,我们将讨论SSD,因为与YOLO相比,此体系结构的覆盖面似乎更少。此外,一旦您了解了SSD,也应该更容易掌握YOLO。


Single Shot MultiBox Detector


关于SSD:Single Shot MultiBox Detector的论文(C.Szegedy等人)于2016年11月发布,在对象检测任务的性能和精度方面均达到了新记录,得分超过74%(平均 平均精度))在PascalVOC和COCO等标准数据集上以每秒59帧的速度播放。为了更好地了解SSD,让我们首先解释一下此架构的名称来自何处:


●Single Shot:这意味着对象定位和分类的任务是在网络 的一次 正向传递中完成的

●MultiBox:这是Szegedy等人开发的边界框回归技术的名称。(我们将简要介绍一下)

●检测器:网络是一个对象检测器,还可以对那些检测到的对象进行分类


20200115160124954.png


从上图可以看到,SSD的体系结构建立在古老的VGG-16体系结构上,但丢弃了完全连接的层。VGG-16被用作基础网络的原因是由于其在高质量图像分类任务中的强大性能以及在传输学习有助于改善结果的问题中的广泛应用。代替原始的VGG全连接层,添加了一组辅助卷积层(从conv6开始),从而能够以多个比例提取特征并逐渐减小每个后续层的输入大小。


20200115160225786.png


MultiBox


Szegedy在MultiBox上的工作启发了SSD的包围盒回归技术,MultiBox是一种用于类无关的快速包围盒坐标建议的方法。有趣的是,在MultiBox上完成的工作中,使用了Inception风格的卷积网络。您在下面看到的1x1卷积有助于减少维数,因为维数会减少(但“宽度”和“高度”将保持不变)。


20200115160439265.png


MultiBox的丢失功能还结合了两个进入SSD的关键组件:


●置信度损失(Confidence Loss):这用于衡量网络对计算的边界框的客观性的置信度。分类交叉熵用于计算此损失。

●位置损失:衡量网络的预测边界框与训练集中的地面真实边界框有多远。此处使用L2-Norm。


因此,无需深入研究数学,损失的表达式即为:距离 + 位置:


20200115160646145.png


本 alpha 长期帮助我们在平衡位置损失的贡献。像深度学习中一样,目标是找到最优化减少损失函数的参数值,从而使我们的预测更接近于基本事实。


MultiBox Priors和IoU


实际上,围绕边界框生成的逻辑比我之前所说的要复杂。但是不要担心:它仍然可以实现。

在MultiBox中,研究人员创建了我们所谓的先验(或Faster-R-CNN术语中的锚点),它们是预先计算的,固定大小的边界框,与原始地面真值框的分布紧密匹配。实际上,以这样的方式选择这些先验,即它们的交集与交集之比(又名IoU,有时也称为Jaccard指数)大于0.5。从下面的图片可以推断,IoU值0.5仍然不够好,但是它确实为边界框回归算法提供了一个强大的起点-与从随机坐标开始进行预测相比,这是一个更好的策略!因此,MultiBox从先验开始作为预测,并尝试回归到更接近地面真实边界框。


20200115161129907 (1).png


20200115161140637.png


20200115161205534.png


产生的架构(请再次查看上面的MultiBox架构图以供参考)每个功能图单元(8x8、6x6、4x4、3x3、2x2)包含11个先验,而在1x1功能图上只有一个先验,因此每个图像总共1420个先验,因此,可以在多个比例上可靠地覆盖输入图像,以检测各种尺寸的物体。

最后,MultiBox仅保留前K个预测,这些预测已将位置(LOC)和置信度(CONF)损失最小化。


SSD改进


回到SSD上,添加了许多调整,以使该网络更加能够对对象进行位置预测和分类。

固定优先级:与MultiBox不同,每个要素地图单元都与一组具有不同尺寸和纵横比的默认边界框相关联。这些先验是手动(但要小心)选择的,而在MultiBox中选择它们是因为它们相对于地面真实性的IoU超过0.5。从理论上讲,这应该使SSD可以针对任何类型的输入进行通用化,而无需前代的预训练阶段。例如,假设我们在给定大小为f = m *的特征图上,为每个特征图像元每个b默认边界框配置了2个对角相对的点(x1,y1)和(x2,y2),并配置了c个类进行分类。ñ ,SSD将为此功能图计算f * b * (4 + c)值。


20200115162144374.png


位置损失: SSD 使用平滑的L1-Norm计算位置损失。尽管不如L2-Norm精确,但它仍然非常有效,并为SSD提供了更大的回旋余地,因为它没有在边界框预测中尝试“像素完美”(即,几个像素之间的差异几乎不会引起注意)我们中许多人)。

分类: MultiBox不执行对象分类,而SSD则执行。因此,对于每个预测的边界框,针对数据集中的每个可能的类别,计算一组c类预测。


目录
相关文章
|
11月前
|
机器学习/深度学习 传感器 人工智能
火灾火焰识别数据集(2200张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
在人工智能和计算机视觉的快速发展中,火灾检测与火焰识别逐渐成为智慧城市、公共安全和智能监控的重要研究方向。一个高质量的数据集往往是推动相关研究的核心基础。本文将详细介绍一个火灾火焰识别数据集,该数据集共包含 2200 张图片,并已按照 训练集(train)、验证集(val)、测试集(test) 划分,同时配有对应的标注文件,方便研究者快速上手模型训练与评估。
4371 10
火灾火焰识别数据集(2200张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
11月前
|
机器学习/深度学习 人工智能 监控
河道塑料瓶识别标准数据集 | 科研与项目必备(图片已划分、已标注)| 适用于YOLO系列深度学习分类检测任务【数据集分享】
随着城市化进程加快和塑料制品使用量增加,河道中的塑料垃圾问题日益严重。塑料瓶作为河道漂浮垃圾的主要类型,不仅破坏水体景观,还威胁水生生态系统的健康。传统的人工巡查方式效率低、成本高,难以满足实时监控与治理的需求。
|
11月前
|
机器学习/深度学习 人工智能 监控
坐姿标准好坏姿态数据集(图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
坐姿标准好坏姿态数据集的发布,填补了计算机视觉领域在“细分健康行为识别”上的空白。它不仅具有研究价值,更在实际应用层面具备广阔前景。从青少年的健康教育,到办公室的智能提醒,再到驾驶员的安全监控和康复训练,本数据集都能发挥巨大的作用。
坐姿标准好坏姿态数据集(图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
11月前
|
机器学习/深度学习 数据采集 算法
PCB电路板缺陷检测数据集(近千张图片已划分、已标注)| 适用于YOLO系列深度学习检测任务【数据集分享】
在现代电子制造中,印刷电路板(PCB)是几乎所有电子设备的核心组成部分。随着PCB设计复杂度不断增加,人工检测PCB缺陷不仅效率低,而且容易漏检或误判。因此,利用计算机视觉和深度学习技术对PCB缺陷进行自动检测成为行业发展的必然趋势。
PCB电路板缺陷检测数据集(近千张图片已划分、已标注)| 适用于YOLO系列深度学习检测任务【数据集分享】
|
11月前
|
机器学习/深度学习 自动驾驶 算法
道路表面缺陷数据集(裂缝/井盖/坑洼)(6000张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
随着城市化与交通运输业的快速发展,道路基础设施的健康状况直接关系到出行安全与城市运行效率。长期高强度的使用、气候变化以及施工质量差异,都会导致道路表面出现裂缝、坑洼、井盖下沉及修补不良等缺陷。这些问题不仅影响驾驶舒适度,还可能引发交通事故,增加道路养护成本。
道路表面缺陷数据集(裂缝/井盖/坑洼)(6000张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
机器学习/深度学习 人工智能 监控
单车、共享单车已标注数据集(图片已划分、已标注)|适用于深度学习检测任务【数据集分享】
数据是人工智能的“燃料”。一个高质量、标注精准的单车与共享单车数据集,不仅能够推动学术研究的进步,还能为智慧交通、智慧城市的建设提供有力支撑。 在计算机视觉领域,研究者们常常会遇到“数据鸿沟”问题:公开数据集与真实业务需求之间存在不匹配。本次分享的数据集正是为了弥补这一不足,使得研究人员与工程师能够快速切入单车检测领域,加速模型从实验室走向真实应用场景。
|
机器学习/深度学习 运维 安全
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
605 22
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
1439 6
|
机器学习/深度学习 编解码 人工智能
计算机视觉五大技术——深度学习在图像处理中的应用
深度学习利用多层神经网络实现人工智能,计算机视觉是其重要应用之一。图像分类通过卷积神经网络(CNN)判断图片类别,如“猫”或“狗”。目标检测不仅识别物体,还确定其位置,R-CNN系列模型逐步优化检测速度与精度。语义分割对图像每个像素分类,FCN开创像素级分类范式,DeepLab等进一步提升细节表现。实例分割结合目标检测与语义分割,Mask R-CNN实现精准实例区分。关键点检测用于人体姿态估计、人脸特征识别等,OpenPose和HRNet等技术推动该领域发展。这些方法在效率与准确性上不断进步,广泛应用于实际场景。
1635 64
计算机视觉五大技术——深度学习在图像处理中的应用