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):https://github.com/ultralytics/ultralytics.git. \[2\] [Ultralytics Docs](https://docs.ultralytics.com/):https://docs.ultralytics.com/ \[3\] [SAM2 官方源代码](https://github.com/facebookresearch/segment-anything-2.git):https://github.com/facebookresearch/segment-anything-2.git \[4\] [SAM2 论文地址](https://ai.meta.com/research/publications/sam-2-segment-anything-in-images-and-videos/):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 > * 由于本人水平有限,难免出现错漏,敬请批评改正。 > * 更多精彩内容,可点击进入[Python日常小操作](https://blog.csdn.net/friendshiptang/category_11653584.html)专栏、[OpenCV-Python小应用](https://blog.csdn.net/friendshiptang/category_11975851.html)专栏、[YOLO系列](https://blog.csdn.net/friendshiptang/category_12168736.html)专栏、[自然语言处理](https://blog.csdn.net/friendshiptang/category_12396029.html)专栏或我的[个人主页](https://blog.csdn.net/FriendshipTang)查看 > * [基于DETR的人脸伪装检测](https://blog.csdn.net/FriendshipTang/article/details/131670277) > * [YOLOv7训练自己的数据集(口罩检测)](https://blog.csdn.net/FriendshipTang/article/details/126513426) > * [YOLOv8训练自己的数据集(足球检测)](https://blog.csdn.net/FriendshipTang/article/details/129035180) > * [YOLOv10训练自己的数据集(交通标志检测)](https://blog.csdn.net/FriendshipTang/article/details/140362093) > * [YOLOv5:TensorRT加速YOLOv5模型推理](https://blog.csdn.net/FriendshipTang/article/details/131023963) > * [YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU](https://blog.csdn.net/FriendshipTang/article/details/129969044) > * [玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测](https://blog.csdn.net/FriendshipTang/article/details/126696542) > * [YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制](https://blog.csdn.net/FriendshipTang/article/details/130396540) > * [YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层](https://blog.csdn.net/FriendshipTang/article/details/130375883) > * [Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集](https://blog.csdn.net/FriendshipTang/article/details/131979248) > * [YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)](https://blog.csdn.net/FriendshipTang/article/details/131987249) > * [使用Kaggle GPU资源免费体验Stable Diffusion开源项目](https://blog.csdn.net/FriendshipTang/article/details/132238734)

相关推荐
山顶听风4 分钟前
多层感知器MLP实现非线性分类(原理)
人工智能·分类·数据挖掘
佛喜酱的AI实践4 分钟前
5分钟入门Google ADK -- 从零构建你的第一个AI Agent
人工智能
用户38775434335636 分钟前
Midjourney Imagine API 申请及使用
人工智能·后端
山顶听风7 分钟前
MLP实战二:MLP 实现图像数字多分类
人工智能·机器学习·分类
mengyoufengyu14 分钟前
DeepSeek12-Open WebUI 知识库配置详细步骤
人工智能·大模型·deepseek
carpell1 小时前
【语义分割专栏】3:Segnet实战篇(附上完整可运行的代码pytorch)
人工智能·python·深度学习·计算机视觉·语义分割
智能汽车人1 小时前
自动驾驶---SD图导航的规划策略
人工智能·机器学习·自动驾驶
mengyoufengyu1 小时前
DeepSeek11-Ollama + Open WebUI 搭建本地 RAG 知识库全流程指南
人工智能·深度学习·deepseek
Tianyanxiao1 小时前
华为×小鹏战略合作:破局智能驾驶深水区的商业逻辑深度解析
大数据·人工智能·经验分享·华为·金融·数据分析
rit84324992 小时前
基于BP神经网络的语音特征信号分类
人工智能·神经网络·分类