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 Docs:https://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

相关推荐
深蓝AI7 分钟前
Redis 文档 MCP 揭示 Agent 检索真相:3 个工具、双读路径,引用为什么不能交给模型编
人工智能·redis
FPGA信号处理2 小时前
【模式识别】第三节课:分类误差的来源与线性分类器
人工智能·分类·数据挖掘
hrrrrxeeeee2 小时前
电商从业者AI技能提升:证书选择与商品、客服、运营场景落地
人工智能
小和尚同志7 小时前
1.8k star 的开源 token 使用量监控神器— TokenTracker
人工智能·ai编程
极客 - L U8 小时前
神经网络 - 激活函数、损失函数、优化器
人工智能·深度学习·神经网络
数字融合8 小时前
透明化视频三维矿山井下照明重建技术
人工智能·python·数码相机
yi0118 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
xiangzhihong88 小时前
创之星花店多端业务闭环拆解
人工智能
奈落249 小时前
AI 编程从助手到 Agent:基于两份资料看哪些环节可以交出去,哪些必须自己攥住
大数据·人工智能
Joker可视化开发平台9 小时前
AI短剧接棒真人剧:开机量跌七成,普通人进场窗口在收窄
大数据·人工智能