当前位置: 首页 > news >正文

ultralytics 是什么?

ultralytics 是一个用于计算机视觉任务的 Python 库,专注于提供高效、易用的目标检测、实例分割和图像分类工具。它最著名的功能是实现 YOLO(You Only Look Once) 系列模型,特别是最新的 YOLOv8


1. YOLO 是什么?

YOLO 是一种流行的目标检测算法,以其速度快精度高而闻名。YOLO 的核心思想是将目标检测问题转化为一个回归问题,直接预测目标的边界框和类别。

  • YOLOv8 是 YOLO 系列的最新版本,由 Ultralytics 团队开发和维护。
  • YOLOv8 支持多种任务,包括目标检测、实例分割和图像分类。

2. ultralytics 的功能

ultralytics 提供了以下主要功能:

(1)目标检测(Object Detection)
  • 检测图像或视频中的物体,并返回每个物体的类别和边界框。

  • 示例代码:

    from ultralytics import YOLO# 加载预训练模型
    model = YOLO("yolov8n.pt")# 对图像进行推理
    results = model("https://ultralytics.com/images/bus.jpg")# 显示结果
    results[0].show()
    
(2)实例分割(Instance Segmentation)
  • 检测图像中的物体,并返回每个物体的类别、边界框和像素级掩码。

  • 示例代码:

    from ultralytics import YOLO# 加载预训练模型
    model = YOLO("yolov8n-seg.pt")  # 使用 YOLOv8 实例分割模型# 对图像进行推理
    results = model("https://ultralytics.com/images/bus.jpg")# 显示结果
    results[0].show()
    
(3)图像分类(Image Classification)
  • 对图像进行分类,返回图像的类别标签。

  • 示例代码:

    from ultralytics import YOLO# 加载预训练模型
    model = YOLO("yolov8n-cls.pt")  # 使用 YOLOv8 分类模型# 对图像进行推理
    results = model("https://ultralytics.com/images/bus.jpg")# 显示结果
    results[0].show()
    
(4)模型训练
  • 支持自定义数据集的训练,可以训练目标检测、实例分割和分类模型。

  • 示例代码:

    from ultralytics import YOLO# 加载模型
    model = YOLO("yolov8n.pt")# 训练模型
    results = model.train(data="coco128.yaml", epochs=10, imgsz=640)
    
(5)模型导出
  • 支持将模型导出为多种格式,如 ONNX、TensorRT、CoreML 等,以便在不同平台上部署。

  • 示例代码:

    from ultralytics import YOLO# 加载模型
    model = YOLO("yolov8n.pt")# 导出模型为 ONNX 格式
    model.export(format="onnx")
    

3. ultralytics 的优势

  • 简单易用:提供了简洁的 API,几行代码即可完成复杂的任务。
  • 高性能:基于 YOLOv8,速度快且精度高。
  • 多任务支持:支持目标检测、实例分割和图像分类。
  • 跨平台:支持多种硬件(CPU、GPU)和部署格式(ONNX、TensorRT 等)。

4. 适用场景

ultralytics 适用于以下场景:

  • 目标检测:检测图像或视频中的物体(如行人、车辆、动物等)。
  • 实例分割:对图像中的物体进行像素级分割。
  • 图像分类:对图像进行分类(如猫 vs 狗)。
  • 自定义训练:使用自己的数据集训练模型。
  • 模型部署:将模型导出为 ONNX、TensorRT 等格式,用于生产环境。

5. 安装 ultralytics

要使用 ultralytics,首先需要安装它:

pip install ultralytics

6. 官方资源

  • GitHub 仓库:Ultralytics YOLOv8
  • 官方文档:Ultralytics YOLOv8 Docs
  • 预训练模型:YOLOv8 Models

总结

ultralytics 是一个功能强大且易于使用的计算机视觉库,专注于 YOLO 系列模型的实现和应用。无论是目标检测、实例分割还是图像分类,ultralytics 都能提供高效的解决方案。

http://www.lryc.cn/news/525328.html

相关文章:

  • AI竞争:从技术壁垒到用户数据之争
  • MySQL 主从复制(单组传统复制,GTID复制。双主复制)
  • python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖
  • vue3 中如何监听 props 中的值的变化
  • Scrapy之一个item包含多级页面的处理方案
  • hive 自动检测、自动重启、记录检测日志、自动清理日志
  • HFSS同轴替换波端口
  • 【2024年华为OD机试】 (C卷,100分)- 素数之积(JavaScriptJava PythonC/C++)
  • 【C++模板】:如何判断自定义类型是否实现某个函数
  • 基于微信小程序的汽车保养系统设计与实现(LW+源码+讲解)
  • 电子应用设计方案102:智能家庭AI鱼缸系统设计
  • 【Elasticsearch】RestClient操作文档
  • 内存条的构造、原理及性能参数
  • 鸿蒙模块概念和应用启动相关类(HAP、HAR、HSP、AbilityStage、UIAbility、WindowStage、window)
  • SQLark 百灵连接工具便捷功能之生成数据库测试数据
  • ChirpIoT技术的优势以及局限性
  • Jetpack架构组件学习——使用Glance实现桌面小组件
  • C++函数——fill
  • 二叉树(了解)c++
  • 备赛蓝桥杯之第十五届职业院校组省赛第三题:产品360度展示
  • 业余无线电 对讲机常用频率使用
  • 个性化的语言模型构建思路
  • QT开发技术【QFileDialog卡顿问题】
  • 关于为什么java中nextInt()和nextLine()不能混用 | nextInt()和nextInt()之类的可以一起用
  • Android OpenGL(六) 纹理
  • git和idea重新安装后提交异常
  • leetcode刷题记录(八十一)——236. 二叉树的最近公共祖先
  • STM32-CAN总线
  • node.js 07.npm下包慢的问题与nrm的使用
  • ubuntu改变swap存储空间,遇到 fallocate 失败: 文本文件忙