0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于通过深度学习车辆检测的相关研究

MATLAB 来源:djl 作者:Avi Nehemiah 2019-09-12 10:39 次阅读

目标检测是指在图像和视频中对目标进行定位和分类。

在本节中,我将通过一个车辆检测示例,介绍如何使用深度学习创建目标检测器。相同步骤可用于创建任何目标检测器。

下图显示了一个三类车辆检测器的输出结果,检测器对每一种类型的车辆进行了定位和分类。

对不同类型车辆进行定位和分类的车辆检测器显示的输出结果。

在创建车辆检测器之前,我需要一组标注的训练数据,这是一组用感兴趣目标的位置和标签标注的图像。更具体地说,是需要有人对每幅图像或视频帧进行筛选,并对所有感兴趣目标的位置进行标注。这个过程称为“真值标注”。

真值标注通常是创建目标检测器过程中最耗时的部分。下图左侧显示的是原始训练图像,右侧显示的是经过真值标注的相同图像。

原始输入图象(左)和经过地面实况标注的输入图象(右)。

可以想见,标注一组数量足够大的训练图像数据集是一项极费人力的处理过程。为了减少数据标注时间,我使用了Ground Truth Labeler 自动驾驶系统工具箱,它可使地面实况标注过程实现部分自动化。

用于标注视频和图像数据的 Ground Truth Labeler 屏幕截图。

实现标注过程部分自动化的一种方法是使用跟踪算法。我使用的KanadeLucas Tomasi算法(KLT)是在实际应用中使用的第一种计算机视觉算法。KLT 算法将目标表示为一组特征点,然后逐帧跟踪它们的移动位置。我们可以在第一帧中手动标注一个或多个目标,然后使用跟踪算法标注视频的其余部分。

Ground Truth Labeler 还允许用户导入自己的算法进行自动化标注。

我见过的最常用的方法是,用户导入自己现有的检测器,再进行新数据标注,这可以帮助他们创建出更精确的检测器。下图演示了使用 Ground Truth Labeler 标注一系列图像或视频的工作流程。

关于通过深度学习车辆检测的相关研究

使用MATLAB进行自动真值标注的流程。

标注数据最终以 table 格式存储,table 中列出了训练集视频中车辆在每个时间点的位置。真值标注完成后,我可以开始训练车辆检测器。

本例中,我估计真值标注过程最高可加速 119 倍。我们以每秒30帧的速度捕捉训练视频数据,每4秒对目标进行一次标注。这意味着我们将节省中间119帧的标注时间。当然这是最好的情况,因为我们有时还得花时间更正自动标注的输出结果。

我们的车辆检测器使用的是FasterR-CNN网络。首先,定义一个网络架构,如下面的MATLAB代码片段所示。Faster R-CNN算法主要分析图像的区域,因此输入层比输入图像的预期尺寸要小。本例中,我选择了一个32x32像素的窗口。输入尺寸需要根据执行时间和希望检测器解析的空间细节进行衡量。

关于通过深度学习车辆检测的相关研究

中间层是网络的核心构造块,具有重复的卷积层、ReLU 层和池化层。

本例中,我只会使用几个层。若要提高准确性,或者如果想要将更多的类并入检测器中,可以重复这些使用层,创建一个更深的网络。

关于通过深度学习车辆检测的相关研究

CNN 的最后一层通常是一组全连接层和一个 softmax loss 层。

在本例中,我在全连接层之间添加了一个 ReLU 非线性层,用以提高检测器的性能,因为我们这个检测器的训练集并没有我想要的那么大。

关于通过深度学习车辆检测的相关研究

为训练目标检测器,我将 layers 网络结构输入 trainFasterRCNNObjectDetector 函数。如果您安装了 GPU,算法会默认使用 GPU。如果不想使用 GPU 或者想使用多个 GPU,您可以在 trainingOptions(训练选项)中调整 ExecutionEnvironment 参数

关于通过深度学习车辆检测的相关研究

完成训练之后,可以在测试图像上试一试,看看检测器是否正常工作。我使用下面的代码在单一图像上测试检测器。

关于通过深度学习车辆检测的相关研究

Faster R-CNN车辆检测器检测到的边界框和得分。

若确信自己的检测器正常工作,我强烈建议您使用统计指标(例如,平均精度)在更大的一组验证图像集上进行测试。平均精度提供的单一分数可衡量检测器进行正确分类的能力(准确率)以及检测到所有相关对象的能力(召回率)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 检测器
    +关注

    关注

    1

    文章

    860

    浏览量

    47651
  • 深度学习
    +关注

    关注

    73

    文章

    5492

    浏览量

    120976
收藏 人收藏

    评论

    相关推荐

    GPU深度学习应用案例

    GPU在深度学习中的应用广泛且重要,以下是一些GPU深度学习应用案例: 一、图像识别 图像识别是深度学习
    的头像 发表于 10-27 11:13 327次阅读

    FPGA做深度学习能走多远?

    的发展前景较为广阔,但也面临一些挑战。以下是一些关于 FPGA 在深度学习中应用前景的观点,仅供参考: • 优势方面: • 高度定制化的计算架构:FPGA 可以根据深度
    发表于 09-27 20:53

    通过实时盲区检测提高车辆安全性

    车载汽车安全系统通过检测驾驶员盲区中是否存在相邻车辆,并警告驾驶员可能发生的事故来防止发生车祸。驾驶员可以使用此信息来安全地变道。在本文中,我们将讨论盲区检测技术。
    的头像 发表于 08-30 16:39 1186次阅读
    <b class='flag-5'>通过</b>实时盲区<b class='flag-5'>检测</b>提高<b class='flag-5'>车辆</b>安全性

    深度学习中的时间序列分类方法

    的发展,基于深度学习的TSC方法逐渐展现出其强大的自动特征提取和分类能力。本文将从多个角度对深度学习在时间序列分类中的应用进行综述,探讨常用的深度
    的头像 发表于 07-09 15:54 706次阅读

    深度学习在工业机器视觉检测中的应用

    随着深度学习技术的快速发展,其在工业机器视觉检测中的应用日益广泛,并展现出巨大的潜力。工业机器视觉检测是工业自动化领域的重要组成部分,通过
    的头像 发表于 07-08 10:40 974次阅读

    基于AI深度学习的缺陷检测系统

    在工业生产中,缺陷检测是确保产品质量的关键环节。传统的人工检测方法不仅效率低下,且易受人为因素影响,导致误检和漏检问题频发。随着人工智能技术的飞速发展,特别是深度学习技术的崛起,基于A
    的头像 发表于 07-08 10:30 1143次阅读

    深度学习在视觉检测中的应用

    深度学习是机器学习领域中的一个重要分支,其核心在于通过构建具有多层次的神经网络模型,使计算机能够从大量数据中自动学习并提取特征,进而实现对复
    的头像 发表于 07-08 10:27 621次阅读

    深度学习与nlp的区别在哪

    深度学习和自然语言处理(NLP)是计算机科学领域中两个非常重要的研究方向。它们之间既有联系,也有区别。本文将介绍深度学习与NLP的区别。
    的头像 发表于 07-05 09:47 813次阅读

    基于深度学习的小目标检测

    在计算机视觉领域,目标检测一直是研究的热点和难点之一。特别是在小目标检测方面,由于小目标在图像中所占比例小、特征不明显,使得检测难度显著增加。随着
    的头像 发表于 07-04 17:25 746次阅读

    深度学习常用的Python库

    深度学习作为人工智能的一个重要分支,通过模拟人类大脑中的神经网络来解决复杂问题。Python作为一种流行的编程语言,凭借其简洁的语法和丰富的库支持,成为了深度
    的头像 发表于 07-03 16:04 568次阅读

    深度解析深度学习下的语义SLAM

    随着深度学习技术的兴起,计算机视觉的许多传统领域都取得了突破性进展,例如目标的检测、识别和分类等领域。近年来,研究人员开始在视觉SLAM算法中引入
    发表于 04-23 17:18 1238次阅读
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>学习</b>下的语义SLAM

    深度学习检测小目标常用方法

    深度学习的效果在某种意义上是靠大量数据喂出来的,小目标检测的性能同样也可以通过增加训练集中小目标样本的种类和数量来提升。
    发表于 03-18 09:57 675次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>检测</b>小目标常用方法

    基于机器视觉和深度学习的焊接质量检测系统

    的一致性和准确性。   机器视觉技术为焊接质量检测提供了高分辨率的图像数据。通过搭载高速、高分辨率相机,系统能够实时捕捉焊接过程中的细节,包括焊缝的形状、尺寸和表面特征等。这些图像数据为后续的深度
    的头像 发表于 01-18 17:50 740次阅读

    详解深度学习、神经网络与卷积神经网络的应用

    处理技术也可以通过深度学习来获得更优异的效果,比如去噪、超分辨率和跟踪算法等。为了跟上时代的步伐,必须对深度学习与神经网络技术有所学习
    的头像 发表于 01-11 10:51 1911次阅读
    详解<b class='flag-5'>深度</b><b class='flag-5'>学习</b>、神经网络与卷积神经网络的应用

    如何基于深度学习模型训练实现圆检测与圆心位置预测

    Hello大家好,今天给大家分享一下如何基于深度学习模型训练实现圆检测与圆心位置预测,主要是通过对YOLOv8姿态评估模型在自定义的数据集上训练,生成一个自定义的圆
    的头像 发表于 12-21 10:50 1739次阅读
    如何基于<b class='flag-5'>深度</b><b class='flag-5'>学习</b>模型训练实现圆<b class='flag-5'>检测</b>与圆心位置预测