ultralytics 是什么?

server/2025/2/1 4:12:11/

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


1. YOLO 是什么?

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

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

2. ultralytics 的功能

ultralytics 提供了以下主要功能:

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

  • 示例代码:

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

  • 示例代码:

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

  • 示例代码:

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

  • 示例代码:

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

  • 示例代码:

    python">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,首先需要安装它:

python">pip install ultralytics

6. 官方资源

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

总结

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


http://www.ppmy.cn/server/163967.html

相关文章

华为数据之道-读书笔记

内容简介 关键字 数字化生产 已经成为普遍的商业模式,其本质是以数据为处理对象,以ICT平台为生产工具,以软件为载体,以服务为目的的生产过程。 信息与通信技术平台(Information and Communication Technology Platf…

【数据库初阶】表的查询语句和聚合函数

🎉博主首页: 有趣的中国人 🎉专栏首页: 数据库初阶 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 亲爱的小伙伴们,大家好!在这篇文章中,我们将深入浅出地为大家讲解 表的查…

Day07:缓存-数据淘汰策略

Redis的数据淘汰策略有哪些 ? (key过期导致的) 在redis中提供了两种数据过期删除策略 第一种是惰性删除,在设置该key过期时间后,我们不去管它,当需要该key时,我们再检查其是否过期,如果过期&…

14-6-3C++STL的list

&#xff08;一&#xff09;list的插入 1.list.insert(pos,elem);//在pos位置插入一个elem元素的拷贝&#xff0c;返回新数据的位置 #include <iostream> #include <list> using namespace std; int main() { list<int> lst; lst.push_back(10); l…

PySpark之金融数据分析(Spark RDD、SQL练习题)

目录 一、数据来源 二、PySpark RDD编程 1、查询特定日期的资金流入和流出情况 2、活跃用户分析 三、PySpark SQL编程 1、按城市统计2014年3月1日的平均余额 2、统计每个城市总流量前3高的用户 四、总结 一、数据来源 本文使用的数据来源于天池大赛数据集&#xff0c;…

ESMC-600M蛋白质语言模型本地部署攻略

前言 之前介绍了ESMC-6B模型的网络接口调用方法&#xff0c;但申请token比较慢&#xff0c;有网友问能不能出一个本地部署ESMC小模型的攻略&#xff0c;遂有本文。 其实本地部署并不复杂&#xff0c;官方github上面也比较清楚了。 操作过程 环境配置&#xff1a;CUDA 12.1、…

AI 计算的未来:去中心化浪潮与全球竞争格局重塑

引言 人工智能(AI)正以前所未有的速度发展,尤其是大模型训练和推理效率的提升,使得 AI 计算成本迅速下降,呈现出向去中心化演进的趋势。 最新的 DeepSeek r1 模型,以仅 600 万美元 的训练成本,达到了 OpenAI o1 级别的性能,表明 AI 技术正迈向更具普惠性的阶段。这一趋…

Kotlin 委托详解

Kotlin 委托详解 引言 Kotlin 作为一种现代化的编程语言&#xff0c;在 Android 开发等领域得到了广泛的应用。在 Kotlin 中&#xff0c;委托&#xff08;Delegation&#xff09;是一种强大的特性&#xff0c;它可以让我们以更简洁的方式实现代码的复用和扩展。本文将详细解析…