Neural Architecture Search:使用Ultralytics框架进行YOLO-NAS目标检测

Neural Architecture Search:使用Ultralytics框架进行YOLO-NAS目标检测


前言

相关介绍

  • Ultralytics 官方文档https://docs.ultralytics.com/
  • Ultralytics 源代码地址https://github.com/ultralytics/ultralytics.git.
  • 概述
    YOLO-NAS 由 Deci AI 开发,是一个突破性的目标检测基础模型。它是先进的神经架构搜索技术的产物,经过精心设计,旨在解决以前 YOLO 模型的局限性。 YOLO-NAS 在量化支持和准确性与延迟权衡方面取得了显着改进,代表了目标检测领域的重大飞跃。
  • YOLO-NAS 采用量化感知块和选择性量化来实现最佳性能。该模型在转换为 INT8 量化版本时,精度下降最小,比其他模型有显着改进。这些进步最终形成了具有前所未有的物体检测功能和出色性能的卓越架构。
  • 主要特点
    • 量化友好的基本块:YOLO-NAS 引入了一种新的对量化友好的基本块,解决了先前 YOLO 模型的重大局限性之一。
    • 复杂的训练和量化:YOLO-NAS 利用先进的训练方案和训练后量化来提高性能。
    • AutoNAC 优化和预训练:YOLO-NAS 利用 AutoNAC 优化,并在 COCO、Objects365 和 Roboflow 100 等著名数据集上进行预训练。这种预训练使其非常适合生产环境中的下游对象检测任务。
  • 预训练模型
    使用 Ultralytics 提供的预训练 YOLO-NAS 模型体验下一代目标检测的强大功能。这些模型旨在在速度和准确性方面提供一流的性能。从适合您特定需求的多种选项中进行选择:
  • 每个模型变体都旨在提供平均精度 (mAP) 和延迟之间的平衡,帮助您优化对象检测任务的性能和速度。
  • Ultralytics 使 YOLO-NAS 模型可以通过我们的 ultralytics python 包轻松集成到您的 Python 应用程序中。该包提供了一个用户友好的 Python API 来简化该过程。

前提条件

实验环境

bash 复制代码
matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.6.0
Pillow>=7.1.2
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
torch>=1.7.0
torchvision>=0.8.1
tqdm>=4.64.0
tensorboard>=2.4.1
pandas>=1.1.4
seaborn>=0.11.0

安装环境

bash 复制代码
pip install ultralytics
# 或者
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple # 国内清华源,下载速度更快

项目地址

Linux

bash 复制代码
git clone https://github.com/ultralytics/ultralytics.git
bash 复制代码
Cloning into 'ultralytics'...
remote: Enumerating objects: 4583, done.
remote: Counting objects: 100% (4583/4583), done.
remote: Compressing objects: 100% (1270/1270), done.
remote: Total 4583 (delta 2981), reused 4576 (delta 2979), pack-reused 0
Receiving objects: 100% (4583/4583), 23.95 MiB | 1.55 MiB/s, done.
Resolving deltas: 100% (2981/2981), done.

Windows

请到https://github.com/ultralytics/ultralytics.git网站下载源代码zip压缩包。

使用Ultralytics框架进行YOLO-NAS目标检测

进行预测

bash 复制代码
python predict.py
python 复制代码
from ultralytics import NAS


if __name__=="__main__":
    # Load a COCO-pretrained YOLO-NAS-s model
    model = NAS("yolo_nas_s.pt")

    # Display model information (optional)
    model.info()

    # Run inference with the YOLO-NAS-s model on the image
    results = model("imgs/test.png", save=True)

    results[0].show()

进行验证

bash 复制代码
python val.py
python 复制代码
from ultralytics import YOLO

def val():

    # Create a YOLO-World model
    model = YOLO("yolov8s-world.pt")  # or select yolov8m/l-world.pt for different sizes

    # Conduct model validation on the COCO8 example dataset
    metrics = model.val(data="coco8.yaml", batch=1, imgsz=640, device=0,workers=1)

if __name__=="__main__":
    val()

参考文献

1 Ultralytics 源代码地址https://github.com/ultralytics/ultralytics.git.

2 Ultralytics Docshttps://docs.ultralytics.com/

3 SAM2 官方源代码https://github.com/facebookresearch/segment-anything-2.git

4 SAM2 论文地址https://ai.meta.com/research/publications/sam-2-segment-anything-in-images-and-videos/

5 https://docs.ultralytics.com/models/sam/

6 https://docs.ultralytics.com/models/sam-2/

7 https://segment-anything.com/

8 https://arxiv.org/abs/2304.02643

9 Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao, Chloe Rolland, Laura Gustafson, Tete Xiao, Spencer Whitehead, Alexander C. Berg, Wan-Yen Lo, Piotr Dollár, Ross Girshick. Segment Anything. 2023

10 Nikhila Ravi, Valentin Gabeur, Yuan-Ting Hu, Ronghang Hu, Chay Ryali, Tengyu Ma, Haitham Khedr, Roman Rädle, Chloe Rolland, Laura Gustafson, Eric Mintun,Junting Pan, Kalyan Vasudev Alwala, Nicolas Carion, Chao-Yuan Wu, Ross Girshick,Piotr Dollar, Christoph Feichtenhofer. SAM 2: Segment Anything in Images and Videos. 2024

相关推荐
Engineer邓祥浩几秒前
宏观认知(二):AI项目落地与团队协作——吴恩达《AI for Everyone》Week2学习笔记
人工智能·笔记·学习
sali-tec3 分钟前
C# 基于OpenCv的视觉工作流-章79-单位转换
图像处理·人工智能·opencv·算法·计算机视觉
2603_954708314 分钟前
微电网分布式电源接入技术的相关国家标准有哪些?
人工智能·分布式·物联网·架构·系统架构·能源
孙子荀6 分钟前
【游戏NPC】(二)哲学本质 Evaluation-Grounded NPC Building System
人工智能
霸道流氓气质6 分钟前
在Qoder中指定JDK和Maven运行AI学习的SpringBoot项目的完整指南
java·人工智能·maven
感谢地心引力7 分钟前
在Claude Code里面使用Deepseek-v4,支持mac和Windows双系统
人工智能·windows·macos·ai·deepseek·claude code
郑寿昌8 分钟前
清华开源智能体PilotDeck:智能路由技术大幅降低AI落地成本
人工智能·开源
reesn9 分钟前
Claude Code 工作流教程
人工智能
不脱发的程序猿9 分钟前
如何创建一个标准Skill,让嵌入式经验真正复用起来
人工智能·单片机·嵌入式硬件·嵌入式·skill
折哥的程序人生 · 物流技术专研10 分钟前
Qoder 1.0 完全指南:从安装到Agents驱动开发实战
开发语言·人工智能·python·ai编程