单产品网站模板,电子商务网站建设与管理教材,dedecms口腔医院类网站模板 织梦网站模板,网站尺寸规范概述
YOLO11 在 2024 年 9 月 27 日的 YOLO Vision 2024 活动中宣布#xff1a;https://www.youtube.com/watch?vrfI5vOo3-_A。
YOLO11 是 Ultralytics YOLO 系列的最新版本#xff0c;结合了尖端的准确性、速度和效率#xff0c;用于目标检测、分割、分类、定向边界框和…概述
YOLO11 在 2024 年 9 月 27 日的 YOLO Vision 2024 活动中宣布https://www.youtube.com/watch?vrfI5vOo3-_A。
YOLO11 是 Ultralytics YOLO 系列的最新版本结合了尖端的准确性、速度和效率用于目标检测、分割、分类、定向边界框和姿态估计。与 YOLOv8 相比它具有更少的参数和更好的结果不难预见YOLO11 在边缘设备上更高效、更快将频繁出现在计算机视觉领域的最先进技术SOTA中。 主要特点 增强的特征提取YOLO11 使用改进的主干和颈部架构来增强特征提取以实现更精确的目标检测和复杂任务的性能。 针对效率和速度优化精细的架构设计和优化的训练流程在保持准确性和性能之间最佳平衡的同时提供更快的处理速度。 更少的参数更高的准确度YOLO11m 在 COCO 数据集上实现了比 YOLOv8m 更高的 mAP参数减少了 22%提高了计算效率同时不牺牲准确度。 跨环境的适应性YOLO11 可以无缝部署在边缘设备、云平台和配备 NVIDIA GPU 的系统上确保最大的灵活性。 支持广泛的任务范围YOLO11 支持各种计算机视觉任务如目标检测、实例分割、图像分类、姿态估计和定向目标检测OBB。 本教程涵盖的步骤 环境设置 准备数据集 训练模型 验证模型 在测试图像上运行推理 结论
环境设置
你需要一个谷歌账户才能使用 Google Colab。我们使用 Colab 进行需要密集计算的任务比如深度学习。由于我电脑的 GPU 不足我需要激活 Colab 的 GPU 支持。 这样做之后我们检查 gpu 活动。 它支持高达 16GB 的内存和 2560 CUDA 核心以加速广泛的现代应用程序。然后执行此代码以动态确定工作目录并灵活管理文件路径。
import os
HOME os.getcwd() 接下来你需要下载 Ultralytics 包来加载和处理模型以及用于数据集的 Roboflow 包。
!pip install ultralytics supervision roboflow
from ultralytics import YOLOfrom roboflow import Roboflow
准备数据集
在这个项目中我使用了 RF100 中包含的寄生虫数据集。我将在这个数据集中训练一个有 8 种不同寄生虫类别的目标检测模型。我将通过 Roboflow 处理标记、分类的图像。我经常在我的个人项目中使用这个开源平台。在处理现成的数据集时你可以在数据集的健康分析部分快速获取大量关于数据的信息。例如下面显示的类别平衡部分我们可以看到 Hymenolepis 类别是代表不足的。
数据集相关链接
https://universe.roboflow.com/roboflow-100/parasites-1s07h
https://universe.roboflow.com/roboflow-100
https://universe.roboflow.com/roboflow-100/parasites-1s07h/health 为了提高这个类别的准确性你需要应用增强、过采样或调整类别权重。我们不会在本文中讨论这些主题不用担心但如果你对这些任务感兴趣请随时联系我。如果有足够需求我也可以分享我关于这些主题的详细工作。你可以下载并使用 Roboflow 环境中的任何开源项目按照格式使用。在准备或选择数据集后我们将在 Colab 环境中工作我们切换到 Colab 的原因是它提供免费的 16GB NVIDIA T4 GPU 使用。我在下面提到了这个问题。我们需要使用 Roboflow API 以 YOLOv8 格式导入我们的数据。让我们获取现成的代码片段和数据格式。
rf Roboflow(api_keyyour-api-key)
project rf.workspace(roboflow-100).project(parasites-1s07h)
version project.version(2)
dataset version.download(yolov8)
!sed -i $d {dataset.location}/data.yaml # Delete the last line
!sed -i $d {dataset.location}/data.yaml # Delete the second-to-last line
!sed -i $d {dataset.location}/data.yaml # Delete the third-to-last line!echo test: ../test/images {dataset.location}/data.yaml
!echo train: ../train/images {dataset.location}/data.yaml
!echo val: ../valid/images {dataset.location}/data.yaml
我们需要更新 data.yaml 格式如下所示以便以 YOLO11 格式进行训练。
!sed -i $d {dataset.location}/data.yaml # Delete the last line
!sed -i $d {dataset.location}/data.yaml # Delete the second-to-last line
!sed -i $d {dataset.location}/data.yaml # Delete the third-to-last line!echo test: ../test/images {dataset.location}/data.yaml
!echo train: ../train/images {dataset.location}/data.yaml
!echo val: ../valid/images {dataset.location}/data.yaml
训练模型
让我们在我们的数据集上训练模型 40 个周期。作为这个项目的一部分我通过 CLI 命令展示了训练。在如下所示的简单命令下定义后训练开始。
!yolo taskdetect modetrain modelyolo11s.pt data{dataset.location}/data.yaml epochs40 imgsz640 plotsTrue
你也可以使用 Python 创建它以实现更灵活的场景。下面展示了示例 Python 训练代码
from ultralytics import YOLO
# Load a COCO-pretrained YOLO11n modelmodel YOLO(yolo11n.pt)
# Train the model on the COCO8 example dataset for 40 epochsresults model.train(datacoco8.yaml, epochs40, imgsz640)
训练好的模型保存在 /runs/detect/train/weights 文件下的 best.pt。
一旦你的模型完成训练你可以使用 YOLO11 生成的图表评估训练结果。 注意在训练模型时回顾 Ultralytics 文档中“训练设置”部分的参数是有益的。这部分对您的训练过程至关重要。
验证模型
以下是使用 YOLO11 的 Val 模式的优势 精度获取准确的指标如 mAP50、mAP75 和 mAP50–95全面评估你的模型。 便利性利用内置功能记住训练设置简化验证过程。 灵活性使用相同或不同的数据集和图像大小验证你的模型。 超参数调整使用验证指标微调你的模型以获得更好的性能。
!yolo taskdetect modeval model{HOME}/runs/detect/train/weights/best.pt data{dataset.location}/data.yaml 一般评估 精确度、召回率和 mAP 指标相当高。 尽管不同类别之间存在性能差异但整体模型性能令人满意。 在速度方面这是一个有效的模型推理时间很低。
在测试数据集上运行推理
让我们评估模型的泛化能力看看它在之前未见过的测试数据集上的预测。
# predict mode for test data
!yolo taskdetect modepredict model{HOME}/runs/detect/train/weights/best.pt conf0.25 source{dataset.location}/test/images saveTrue
# for visualization
latest_folder max(glob.glob(/content/runs/detect/predict*/), keyos.path.getmtime)
for img in glob.glob(f{latest_folder}/*.jpg)[:1]: display(IPyImage(filenameimg, width600)) print(\n)