计算机视觉研究院 | YoloV10部署落地:用于实时嵌入式目标检测(附论文下载)

本文来源公众号“计算机视觉研究院”,仅用于学术分享,侵权删,干货满满。

原文链接:YoloV10部署落地:用于实时嵌入式目标检测(附论文下载)

标题:YOLOv10: Real-Time End-to-End Object Detection
论文https://arxiv.org/pdf/2405.14458
源码https://github.com/THU-MIG/yolov10

YOLO系列是当前最主流的端侧目标检测算法,随着时间发展,已经推出了多个版本,每个版本“似乎”都在性能和速度上有所提升。今天基于YOLOv10实现部署落地!

一、前言

目标检测被认为是计算机视觉领域中最具挑战性的问题之一,因为它涉及场景中对象分类和对象定位的组合。最近,与其他方法相比,深度神经网络 (DNN) 已被证明可以实现卓越的目标检测性能,其中YOLO是基于DNN的最先进技术之一。

目标检测方法在速度和准确性方面。尽管YOLO可以在强大的GPU上实现实时性能,但在计算能力和内存有限的嵌入式计算设备上利用这种方法进行视频中的实时目标检测仍然非常具有挑战性。

二、概要

在今天分享中,有研究者提出了一个YOLOv10的新框架,这是一个快速的You Only Look Once框架,它可以加速以便能够以实时方式在嵌入式设备上执行视频中的目标检测。

首先,利用进化深度智能框架来进化YOLO网络架构,并产生一个优化的架构,其参数减少了2.8倍IOU下降了约2%。为了在保持性能的同时进一步降低嵌入式设备的功耗,在提出的YOLO框架中引入了一种运动自适应推理方法,以降低基于时间运动特性的深度推理的频率。实验结果表明,与原始YOLOv8相比,所提出的框架可以将深度推理的数量平均减少38.13%视频中目标检测的平均加速约为3.3倍,导致运行在Nvidia Jetson TX1嵌入式系统上平均约为18FPS。

三、新框架

在训练期间,YOLOs通常利用TAL为每个实例分配多个阳性样本。一对多分配的采用产生了丰富的监控信号,有助于优化并实现卓越的性能。然而,YOLO必须依赖NMS后处理,这导致部署的推理效率不理想。虽然以前的工作探索一对一匹配来抑制冗余预测,但它们通常会引入额外的推理开销或产生次优性能。在这项工作中,为YOLO提供了一种无NMS的训练策略,该策略具有双标签分配和一致的匹配度量,实现了高效率和有竞争力的性能。

深度神经网络的主要挑战之一,尤其是在将它们用于嵌入式场景时,是网络架构设计。设计过程通常由人类专家执行,他探索大量网络配置,以在建模精度和参数数量方面为特定任务找到最佳架构。寻找优化的网络架构目前通常作为超参数优化问题来解决,但这种解决问题的方法非常耗时,而且大多数方法对于大型网络架构来说要么在计算上难以处理,要么导致次优解决方案不够嵌入式使用。

例如,超参数优化的一种常用方法是网格搜索,其中检查大量不同的网络配置,然后选择最佳配置作为最终的网络架构。然而,为视频中的目标检测而设计的深度神经网络(如YOLOv2)具有大量参数,因此在计算上难以搜索整个参数空间以找到最佳解决方案。

因此,研究者没有利用超参数优化方法来获得基于YOLOv8的最佳网络架构,而是利用专为提高网络效率而设计的网络优化策略。特别是,研究者利用进化深度智能框架来优化网络架构,以合成满足嵌入式设备内存和计算能力限制的深度神经网络。

为了进一步降低处理器单元的功耗,用于视频中的嵌入式目标检测,研究者利用了这样一个事实,即并非所有捕获的视频帧都包含唯一信息,因此不需要对所有帧进行深度推理。因此,研究者引入了一种运动自适应推理方法来确定特定视频帧是否需要深度推理。通过在必要时使用前面介绍的网络进行深度推理,这种运动自适应推理技术可以帮助框架减少对计算资源的需求,从而显着降低功耗系统以及处理速度的提高。

四、实验

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

  • 10
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 是的,YoloV5可以部署嵌入式系统中。通常情况下,这需要对模型进行一些优化和转换,使其适合在嵌入式系统中运行。 一种常见的方法是使用深度学习推理引擎,如TensorRT或OpenVINO,将YoloV5模型转换为适合于嵌入式系统的格式,并在嵌入式系统上运行推理引擎。还需要确保嵌入式系统有足够的计算资源来运行模型。 此外,为了保证模型的安全性,最好在部署前对嵌入式系统进行加密和保护,以防止未经授权的访问和攻击。 ### 回答2: 是的,YOLOv5可以部署嵌入式系统中。YOLOv5是一种高性能的实时目标检测算法,它在保持准确性和速度的同时,具备较低的计算资源消耗。这使得它适合在嵌入式系统中部署。 要将YOLOv5部署嵌入式系统,首先需要将其转换为适用于特定硬件架构的模型。这可以通过使用工具如ONNX或TensorRT进行模型优化和压缩来实现。在完成模型转换后,可以通过将模型加载到嵌入式设备的内存中,并使用适当的推理引擎进行实时目标检测嵌入式系统的硬件资源限制可能会对YOLOv5的性能产生一些影响。例如,嵌入式系统的处理能力和内存大小可能较低,因此可能需要通过调整模型的输入分辨率或通过其他技术手段对模型进行优化,以确保性能的平衡。此外,考虑到嵌入式系统的功耗限制,可能需要对模型进行节能的优化策略。 总而言之,YOLOv5可以被有效地部署嵌入式系统中,但需要根据具体的硬件资源限制和性能需求来对模型进行优化和调整。通过合理的配置和优化,可以在资源受限的嵌入式设备上实现高效的目标检测功能。 ### 回答3: Yolov5是一种基于深度学习的目标检测算法,具有高效、准确和实时的特点。而嵌入式系统是指集成了微处理器、存储器、通信接口及其他外设的计算机系统。因此,将Yolov5部署嵌入式系统中需要考虑以下几个方面。 首先,嵌入式系统通常具有较低的计算资源和存储容量,因此对于Yolov5这样的复杂深度学习模型来说,需要对模型进行优化以适应嵌入式平台的资源限制。可以通过剪枝、量化、压缩等技术来减小模型的规模和计算量,从而提高模型在嵌入式系统上的运行效率。 其次,为了实现在嵌入式系统上的密码,需要选择合适的硬件平台。通常可以选择基于ARM架构的处理器或专用的嵌入式系统芯片来搭建系统。 接下来,针对嵌入式系统的特点,需要对Yolov5的推理过程进行优化。可以使用硬件加速技术如GPU加速、DSP加速或FPGA加速,以提高推理的速度和效率。同时,还可以对推理过程进行算法优化和并行计算等手段,提高系统的响应速度和实时性。 此外,为了满足嵌入式系统对实时性和功耗的要求,还可以采用异构计算方法。可以将一部分计算任务由云端进行处理,减轻嵌入式设备的计算负担,实现对运行时性能和能耗的平衡。 最后,为了方便开发和部署,可以使用专门针对嵌入式系统的深度学习开发框架,如TensorFlow Lite、ncnn等。这些框架提供了针对嵌入式平台的模型转换、优化和部署工具,使得将Yolov5部署嵌入式系统中更加便捷和高效。 综上所述,Yolov5能够部署嵌入式系统中,需要进行模型优化、硬件选择、推理加速、算法优化和部署框架的选择。这样可以在资源有限的嵌入式系统中实现高效、准确和实时目标检测任务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值