【计算机视觉 | 目标检测】YOLO-NAS的介绍以及如何使用?(含源代码)

这篇具有很好参考价值的文章主要介绍了【计算机视觉 | 目标检测】YOLO-NAS的介绍以及如何使用?(含源代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、介绍

Github 仓库:

https://github.com/Deci-AI/super-gradients/blob/master/YOLONAS.md

1.1 亮点

  • 参考QARepVGG,该方案引入了QSP与QCI模块以同时利用重参数与8-bit量化的优化;
  • 该方案采用AutoNAC搜索最优尺寸、每个stage的结构,含模块类型、数量以及通道数;
  • 采用混合量化机制进行模型量化,既考虑了每一层对精度与延迟的影响,也考虑了8-bit与16-bit之间切换对整体延迟的影响;
  • 预训练方案:automatically labeled data, self-distillation, and large datasets

总而言之,YOLO-NAS达成目标检测任务新高度,取得了最佳的精度-延迟均衡。值得一提的事,YOLO-NAS与TensorRT推理引擎完全兼容,且支持INT8量化,达成前所未有的运行时性能。

yolo-nas,计算机视觉,计算机视觉,目标检测,YOLO,YOLO-NAS

1.2 方案简介

受启发于YOLOv6、YOLOv7以及YOLOv8,DECI的研究人员采用AutoNAC搜索比YOLOv8更优的架构,即"We used machine learning to find a new deep learning architecture!"

为什么要用AutoNAC呢? 这是因为手工寻找"正确"结构过于低效且乏味,因此DECI的研究人员采用AutoNAC搜索新的目标检测模型,同时最小化在NVIDIA T4上的推理延迟。

为构建YOLO-NAS,作者构建了一个深不可测的搜索空间(1014)以探索精度-延迟上限。最终,作者从中三样三个"前沿观察点"构建了YOLO-NAS-S,YOLO-NAS-M,YOLO-NAS-L。

1.3 训练简介

YOLO-NAS采用了多阶段训练方式,包含:

  1. 预训练:Object365+COCO伪标签数据
  2. 知识蒸馏
  3. DFL,即Distribution Focal Loss

Deci 很高兴地宣布发布新的对象检测模型 YOLO-NAS - 对象检测领域的游戏规则改变者,提供卓越的实时对象检测功能和生产就绪性能。 Deci 的使命是为 AI 团队提供工具,以消除开发障碍并更快地获得高效的推理性能。

yolo-nas,计算机视觉,计算机视觉,目标检测,YOLO,YOLO-NAS
在训练数据方面,作者基于RoboFlow100(由100个不同领域的数据集构成)进行训练以验证其处理复杂检测任务的能力。

我们展示了 YOLO-NAS 在下游任务上的出色性能。 在 Roboflow-100 上进行微调时,我们的 YOLO-NAS 模型比最接近的竞争对手实现了更高的 mAP:

yolo-nas,计算机视觉,计算机视觉,目标检测,YOLO,YOLO-NAS
YOLO-NAS 的架构采用量化感知块和选择性量化来优化性能。 当转换为 INT8 量化版本时,与在量化过程中损失 1-2 个 mAP 点的其他模型相比,YOLO-NAS 的精度下降较小(S、M 和 L 变体的 mAP 为 0.51、0.65 和 0.45 点)。 这些技术最终形成了具有卓越物体检测功能和一流性能的创新架构。

二、使用案例

首先安装对应的包:

%%capture
!pip install super-gradients==3.2.0
!pip install imutils
!pip install roboflow
!pip install pytube --upgrade
!pip install torchinfo

当运行%%capture之后,接下来的代码单元是用于安装一些Python库和依赖项的命令。这些命令通过pip(Python包管理器)来安装所需的库。以下是对每个命令的解释:

  • !pip install super-gradients==3.2.0:这是用于安装名为super-gradients的Python库的命令,同时指定了特定版本号3.2.0。
  • !pip install imutils:这是用于安装名为imutils的Python库的命令,通常用于图像处理和计算机视觉任务。
  • !pip install roboflow:这是用于安装名为roboflow的Python库的命令,通常用于机器学习和计算机视觉中的数据预处理和数据管理。
  • !pip install pytube --upgrade:这是用于升级名为pytube的Python库的命令,pytube通常用于从YouTube上下载视频。
  • !pip install torchinfo:这是用于安装名为torchinfo的Python库的命令,torchinfo通常用于查看PyTorch模型的详细信息。
from super_gradients.training import models

yolo_nas_l = models.get("yolo_nas_l", pretrained_weights="coco")

这段代码使用了super_gradients库中的training.models模块来获取一个名为yolo_nas_l的预训练模型,并加载了预训练权重。

from super_gradients.training import models:这行代码从super_gradients库中的training.models模块中导入了models。

yolo_nas_l = models.get(“yolo_nas_l”, pretrained_weights=“coco”):这行代码调用models.get()函数,以获取名为yolo_nas_l的预训练模型。预训练模型的选择是通过传递字符串参数"yolo_nas_l"来完成的。此模型似乎是一个YOLO(You Only Look Once)目标检测模型的变体。

pretrained_weights=“coco”:这是一个额外的参数,指定了要使用的预训练权重。"coco"表示该模型在COCO(Common Objects in Context)数据集上进行了预训练,该数据集包含各种对象的图像和标签。

最终,yolo_nas_l将包含加载的预训练模型,我们可以使用它进行目标检测任务,或在其基础上进行微调以适应特定任务或数据集。这个模型对象将具有预训练权重,这意味着它在COCO数据集上训练过,可以用于对象检测任务。

yolo-nas,计算机视觉,计算机视觉,目标检测,YOLO,YOLO-NAS

from torchinfo import summary

summary(model=yolo_nas_l,
        input_size=(16, 3, 640, 640),
        col_names=["input_size", "output_size", "num_params", "trainable"],
        col_width=20,
        row_settings=["var_names"]
)

这段代码使用了torchinfo库中的summary函数来生成关于模型结构和参数的摘要信息,并使用特定的参数来配置输出的格式。

from torchinfo import summary:这行代码导入了torchinfo库中的summary函数,该函数用于生成有关PyTorch模型的摘要信息。

summary(model=yolo_nas_l, input_size=(16, 3, 640, 640), col_names=["input_size", "output_size", "num_params", "trainable"], col_width=20, row_settings=["var_names"]):这是summary函数的调用,它接受多个参数来生成模型摘要:

model=yolo_nas_l:这指定要分析的模型是yolo_nas_l,即之前通过super_gradients库加载的模型。

input_size=(16, 3, 640, 640):这指定了输入张量的大小,其中(16, 3, 640, 640)表示批处理大小为16,通道数为3(RGB图像),图像大小为640x640。

col_names=["input_size", "output_size", "num_params", "trainable"]:这是一个字符串列表,指定了生成的摘要表格的列名称。摘要表格将包括输入大小、输出大小、参数数量和可训练参数数量等列。

col_width=20:这指定了表格中每列的宽度,以确保信息的可读性。

row_settings=["var_names"]:这是一个字符串列表,指定了在每行中显示的其他信息。在此示例中,它设置为[“var_names”],表示每行将显示变量的名称。

最终,该代码将生成一个表格,其中包含关于yolo_nas_l模型结构和参数的摘要信息。这个摘要信息包括输入和输出大小、总参数数量以及可训练参数数量,帮助我们更好地了解模型的结构和规模。

yolo-nas,计算机视觉,计算机视觉,目标检测,YOLO,YOLO-NAS

image_path = "D:/CodeProject/Yolov8/2.jpg"
yolo_nas_l.predict(image_path, conf = 0.25).show()

这段代码使用了一个名为yolo_nas_l的模型来进行目标检测,并显示检测结果的图像。

image_path = "D:/CodeProject/Yolov8/2.jpg":这行代码指定了要进行目标检测的输入图像的文件路径。图像的路径是"D:/CodeProject/Yolov8/2.jpg"。

yolo_nas_l.predict(image_path, conf = 0.25):这是使用模型进行目标检测的部分。yolo_nas_l是之前加载的预训练目标检测模型。predict函数接受输入图像的路径以及一个conf参数,用于设置检测的置信度阈值。

image_path:这是输入图像的路径,告诉模型要在哪个图像上执行目标检测。

conf=0.25:这个参数指定了置信度阈值,它控制了哪些检测框被保留。在这种情况下,只有置信度大于或等于0.25的检测结果才会被保留。

.show():这是在目标检测后显示检测结果的方法。它将绘制检测框和类别标签等信息在输入图像上,并显示出来。

综合起来,这段代码的作用是使用yolo_nas_l模型对指定路径的图像进行目标检测,并显示出检测结果的图像,其中仅显示置信度大于等于0.25的检测结果。这是一个常见的用法,用于检测图像中的物体并可视化检测结果。

yolo-nas,计算机视觉,计算机视觉,目标检测,YOLO,YOLO-NAS文章来源地址https://www.toymoban.com/news/detail-773806.html

到了这里,关于【计算机视觉 | 目标检测】YOLO-NAS的介绍以及如何使用?(含源代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机视觉-目标检测(二):从R-FCN到YOLO-v3

    论文链接:R-FCN:Object Detection via Region-based Fully Convolutional Networks 论文出处:NIPS 2016 Faster R-CNN包含两部分 Fully Convolutional subnetwork before RoI Layer RoI-wise subnetwork 第1部分直接用普通分类网络的卷积层,用其来提取共享特征,然后使用RoI Pooling Layer在第1部分的最后一张特征图上进行

    2024年02月10日
    浏览(43)
  • 人工智能详细笔记:计算机视觉、目标检测与R-CNN系列 YOLO系列模型

    计算机视觉概述 :计算机视觉是一种利用计算机算法和数学模型来模拟和自动化人类视觉的学科领域。 计算机视觉的地位 :计算机视觉(CV)与自然语言处理(NLP)、语音识别(SR)并列为机器学习方向的三大热点方向。 计算机视觉的常见任务 :下面将从粗粒度到细粒度介

    2024年02月08日
    浏览(55)
  • 用自己的数据集训练YOLO-NAS目标检测器

    YOLO-NAS 是 Deci 开发的一种新的最先进的目标检测模型。 在本指南中,我们将讨论什么是 YOLO-NAS 以及如何在自定义数据集上训练 YOLO-NAS 模型。 在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D场景编辑器 为了训练我们的自定

    2024年02月05日
    浏览(48)
  • 机器学习笔记 - YOLO-NAS 最高效的目标检测算法之一

            YOLO(You Only Look Once)是一种对象检测算法,它使用深度神经网络模型,特别是卷积神经网络,来实时检测和分类对象。该算法首次在 2016 年由 Joseph Redmon、Santosh Divvala、Ross Girshick 和 Ali Farhadi 发表的论文《You Only Look Once: Unified, Real-Time ObjectDetection》中被引入。  

    2024年02月14日
    浏览(48)
  • yolo-nas无人机高空红外热数据小目标检测(教程+代码)

    YOLO-NAS是目前最新的YOLO目标检测模型。 从一开始,它就在准确性方面击败了所有其他 YOLO 模型。 与之前的 YOLO 模型相比,预训练的 YOLO-NAS 模型能够以更高的准确度检测更多目标。 但是我们如何在自定义数据集上训练 YOLO NAS? 这将是我们本文的目标——在自定义数据集上训

    2024年02月03日
    浏览(53)
  • 【Keras+计算机视觉+Tensorflow】实现基于YOLO和Deep Sort的目标检测与跟踪实战(附源码和数据集)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~         YOLO是端到端的物体检测深度卷积神经网络,YOLO可以一次性预测多个候选框,并直接在输出层回归物体位置区域和区域内物体所属类别,而Faster R-CNN仍然是采用R-CNN那种将物体位置区域框与物体分开训练的思想,

    2024年02月13日
    浏览(59)
  • 【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(7 月 21 日论文合集)

    异常检测中的表征学习:成功、局限和巨大挑战 在这篇透视论文中,我们认为异常检测中的主导范式不能无限扩展,最终将达到根本的极限。这是由于异常检测的“没有免费的午餐”原则。当存在强任务优先级时,可以克服这些限制,如许多工业任务的情况。当这样的先验不

    2024年02月16日
    浏览(48)
  • 【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(5月26日论文合集)

    基于能量的激光雷达数据中不利天气影响的检测 论文地址: 自动驾驶车辆依赖于LiDAR传感器对环境进行感知。然而,雨、雪、雾等恶劣天气条件会对这些传感器造成负面影响,导致测量数据中引入不必要的噪声,降低了其可靠性。在本研究中,我们通过提出一种新的方法来检

    2024年02月07日
    浏览(43)
  • 【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 10 日论文合集)

    体积快速傅里叶卷积法检测炭化纸页上的油墨 数字文档恢复(DDR)的最新进展在分析高度损坏的书面文物方面取得了重大突破。其中,应用人工智能技术来虚拟地展开和自动检测Herculaneum papyri集合上的墨水的兴趣越来越大。该系列由碳化卷轴和文件碎片组成,这些文件已通过

    2024年02月11日
    浏览(53)
  • 【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(6月 30 日论文合集)

    检测任何深度伪装:分割任何符合人脸的伪装检测和定位 论文地址: 计算机视觉的快速发展刺激了面部伪造技术的显著进步,引起了致力于检测伪造和精确定位操纵区域的研究人员的关注。尽管如此,在有限的细粒度像素监督标签的情况下,deepfake检测模型在精确的伪造检测

    2024年02月16日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包