经典文献阅读之--EdgeYOLO(边缘设备YOLO目标检测)

news/2024/7/11 1:54:48 标签: YOLO, 目标检测, 人工智能

0. 简介

Yolo家族从1-8,目前已经迭代了很多次,但是他们期望的仍然是能够以更低的算力去运行精度更高更快速的算法.目前《EdgeYOLO: An Edge-Real-Time Object Detector》提出了一种基于最先进的YOLO框架的高效、低复杂度和无锚点的目标检测器,可以在边缘计算平台上实时实现。同时文中提到开发了一种增强的数据增强方法,有效抑制训练期间的过拟合,并设计了一种混合随机损失函数,以提高小物体的检测精度。文中结果展示基准模型可以在MS COCO2017数据集中达到50.6%的AP50:95和69.8%的AP50的准确率,在VisDrone2019-DET数据集中达到26.4%的AP50:95和44.8%的AP50的准确率,并且在边缘计算设备Nvidia Jetson AGX Xavier上满足实时要求(FPS≥30)。模型目前也可以在Github中拿到。

1. 主要贡献

本文的贡献总结如下:

  1. 设计了一种无锚点的目标检测器,可以在边缘设备上实时运行,在MS COCO2017数据集中达到50.6%的AP准确率
  2. 提出了一种更强大的数据增强方法,进一步确保训练数据的数量和有效性
  3. 在我们的模型中使用可重新参数化的结构来减少推断时间
  4. 设计了一种损失函数,以提高小物体的精度。

2. Enhanced-Mosaic & Mixup

许多实时目标检测器在训练过程中使用Mosaic+Mixup 策略进行数据增强,可以有效地缓解训练过程中的过拟合情况。如图3(a)和(b)所示,有两种常见的组合方法,在数据集中单个图像具有相对充足的标签时表现良好。由于数据增强中的随机过程,数据加载器可能会提供没有有效对象的图像,而在标签空间中仍有响应,如图3(a),并且这种情况的概率随着每个原始图像中标签数量的减少而增加。

我们在图3©中设计了一种数据增强结构。首先,我们对几组图像使用Mosaic方法,因此组数可以根据数据集中单个图像的平均标签数量的丰富程度进行设置。然后,通过Mixup方法将最后一个简单处理的图像与这些Mosaic处理的图像混合。在这些步骤中,我们的最后一个图像的原始边界在转换后的最终输出图像的边界内。这种数据增强方法有效地增加了图像的丰富性以缓解过拟合,并确保输出图像必须包含足够的有效信息。

在这里插入图片描述

图3:数据增强的不同解决方案(F.A.:完全增强,S.A.:没有大规模变换的简单增强)。如(a)[23]和(b)[22]所示,使用固定数量的图像进行数据增强并不适用于所有类型的数据集。通过使用图(c)中所示的方法,我们可以为过拟合问题提供灵活的解决方案。

3. 轻量级解耦头(比较重要)

图4中的解耦头首先在FCOS [15]中提出,然后被用于其他无锚点目标检测器,如YOLOX [23]。确认使用解耦结构作为最后几个网络层可以加速网络收敛并提高回归性能。

由于解耦头采用了分支结构,导致额外的推断成本,因此提出了Efficient Decoupled Head [20],具有更快的推断速度,将中间的3×3卷积层的数量减少到仅一个层,同时保持与输入特征图相同的更大通道数。然而,在我们的实验测试中,随着通道数和输入大小的增加,这种额外的推断成本变得更加明显。因此,我们设计了一个更轻的解耦头,通道和卷积层更少。此外,我们为了获得更好的回归性能,将隐式表示层[24]添加到所有最后的卷积层中。通过重新参数化的方法,隐式表示层被集成到卷积层中,以降低推断成本。盒子和置信度回归的最后卷积层也被合并,这样模型可以进行高并行计算的推断。

在这里插入图片描述

图4:如图所示,我们设计了一个更轻量级但更高效的解耦头。通过重新参数化技术,我们的模型在减少精度损失的情况下获得了更快的推断速度。

4. 分阶段的损失函数 (比较重要的点)

对于目标检测,损失函数通常可以写成如下形式:

在这里插入图片描述

…详情请参照古月居


http://www.niftyadmin.cn/n/4981055.html

相关文章

通义千问本地化部署不调用GPU只调用CPU的检查方法

今天部署本地版通义千问的时候遇到一个问题。 启动他的cli_demo.py调用的一直都是CPU模式的。 检查cuda已经正确安装,后面发现是torch即PyTorch的安装问题。 我安装torch的时候,用的是默认指令,没有增加别的参数。 检测一下,输出…

JAVA-编程基础-09-常用工具类

Lison <dreamlison163.com>, v1.0.0, 2023.04.16 JAVA-编程基础-09-常用工具类 文章目录 JAVA-编程基础-09-常用工具类Arrays工具类创建数组copyOfcopyOfRangefill 数组比较数组排序数组检索数组转流打印数组数组转 ListsetAllparallelPrefix StringUtils工具类字符串判…

libdrm全解析二十八 —— 源码全解析(25)

接前一篇文章&#xff1a;libdrm全解析二十七 —— 源码全解析&#xff08;24&#xff09; 本文参考以下博文&#xff1a; DRM 驱动程序开发&#xff08;VKMS&#xff09; 特此致谢&#xff01; 上一篇文章对于DRM_IOCTL_MODE_GETCONNECTOR对应的Userspace API _drmModeGetCo…

『赠书活动 | 第十八期』《深入浅出SSD:固态存储核心技术、原理与实战》

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 『赠书活动 &#xff5c; 第十八期』 本期书籍&#xff1a;《深入浅出SSD&#xff1a;固态存储核心技术、原理与实战》 赠书规则&#xff1a;评论区&#xff1a;点赞&…

简单的springboot应用部署后内存占用量过大问题排查

1.问题背景 需要部署一个演示环境。所有组件都要部署到一台服务器&#xff0c;采用Docker容器部署&#xff0c;发现多个简单的springboot应用占用内存高达2G&#xff0c;后续的应用因为内存不足就部署不了了。排查下内存占用大的原因&#xff1a; docker stats命令&#xff1a…

港联证券:为什么好股票拿不住?股票怎么买更赚钱?

股票是一种高危险高收益的出资方式&#xff0c;要想挣钱仍是需求掌握一些技巧。那么为什么好股票拿不住&#xff1f;股票怎样买更挣钱&#xff1f;港联证券也为大家准备了相关内容&#xff0c;以供参考。 为什么好股票拿不住&#xff1f; 1、心态不稳。许多出资者缺少长时间的…

【方案】安防监控EasyCVR智慧工地视频监管风险预警平台的应用

智慧工地方案是一种结合现代化技术与工地管理实践的创新型解决方案。它通过实时监控、数据分析、人工智能等技术手段&#xff0c;使工地管理更加高效、智能化。在建设智慧工地的过程中&#xff0c;除了上述提到的利用物联网技术实现设备互联、数据采集及分析以外&#xff0c;还…

蓝牙模块产品认证-国际市场准入准则之加拿大IC认证基础知识

蓝牙模块产品认证-国际市场准入准则之加拿大IC认证基础知识 一&#xff1a;前言加拿大IC介绍 1.1&#xff1a;IC更名 2016年3月加拿大工业部(IC, Industry Canada)正式更名为加拿大创新、科学和经济发展 部(ISED, Innovation, Science and Economic Development Canada) ISED…