AI技术栈 —— LabelMe的使用与YOLOV11模型训练

news2025/1/5 8:12:38

AI技术栈 —— 如何使用LabelMe?

  • 一、如何安装?
  • 二、如何使用?
  • 三、YOLOV11实战
    • 3.1 数据预处理
    • 3.2 训练
    • 3.3 预测

一、如何安装?

Github官网可以直接下载LabelMe的exe可执行文件。

参考文章或视频链接
[1] Labelme官网
[2] Labelme Starter
[3] Labelme - Github

二、如何使用?

参考文章或视频链接
[1] 使用labelme打标签,详细教程 - CSDN
[2] Labeling with LabelMe: Step-by-step Guide [Alternatives + Datasets]
[3] 重点查看 Labelme Starter Guide

三、YOLOV11实战

3.1 数据预处理

下面,我们来用labelme做一个检测项目,这是cv的入门项目,也是必须掌握的。在这之前,还需要掌握一个工具,labelme2yolo,安装方式如下,使用方式见参考文章[1]。

pip install labelme2yolo

在使用下面这条命令处理好数据后,就可以开始yolo模型的训练了,这会生成一个YOLODataset文件夹,如果你要移动该文件夹,记得修改dataset.yaml文件中的内容。

labelme2yolo --json_dir /path/to/labelme_json_dir/ --val_size 0.15 --test_size 0.15

3.2 训练

from ultralytics import YOLO

# Load a model,要从github上下载pt权重,也可以手动下载到某个目录并指定path
model = YOLO("yolo11s.pt")  # load a pretrained model (recommended for training)

# Train the model
data_path = "/{your_path}/YOLODataset/dataset.yaml"
model.train(
    data=data_path,
    epochs=200,
    imgsz=640,
    project="{your_folder}",  # 自定义保存文件夹
    save=True,  # 开启保存
    save_period=5  # 控制保存的频率
)

训练好后会出现一个文件夹,里面有best.pt以及训练过程中的各种数据,下面我们来观察下训练过程中的一些输出

Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size
    194/200      4.87G     0.8492      2.769      1.159          7        640: 100%|██████████| 2/2 [00:00<00:00, 10.08it/s]
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 34.02it/s]
                   all          2         50       0.22      0.511      0.402      0.353

# 训练参数
# 1.Epoch 当前的训练轮数(epoch)。
# 2.GPU_mem 当前 GPU 的显存使用情况。
# 3.box_loss 边界框损失(Box Loss),用于衡量模型预测的边界框与真实边界框之间的差异。
# 4.cls_loss 分类损失(Classification Loss),用于衡量模型预测的类别与真实类别之间的差异。
# 5.dfl_loss 分布式特征损失(Distribution Focal Loss),用于优化模型预测的边界框位置。
# 6.Instances 当前 batch 中包含的实例(目标)数量。
# 7.Size 输入图像的尺寸,表明是640*640。

# 验证日志参数解释
# 1. Class含义: 当前评估的类别。示例: all 表示所有类别的评估结果。
# 2. Images含义: 用于评估的图像数量。示例: 2 表示使用了 2 张图像进行评估。
# 3. Instances含义: 用于评估的实例(目标)数量。示例: 50 表示评估的图像中总共有 50 个实例。
# 4. Box(P)含义: 边界框的精确率(Precision),表示模型预测的边界框中正确预测的比例。示例: 0.22 表示边界框的精确率为 0.22。
# 5. R含义: 边界框的召回率(Recall),表示模型正确预测的边界框占所有真实边界框的比例。示例: 0.511 表示边界框的召回率为 0.511。
# 6. mAP50含义: 平均精度(Mean Average Precision),在 IoU(Intersection over Union)阈值为 0.5 时的值。示例: 0.402 表示 mAP50 为 0.402。
# 7. mAP50-95含义: 平均精度(Mean Average Precision),在 IoU 阈值从 0.5 到 0.95 时的平均值。示例: 0.353 表示 mAP50-95 为 0.353。
参考文章或视频链接
[1] labelme2yolo - PyPI
[2] YOLOv8: A Complete Guide [2025 Update]
[3] YOLOv8 权重文件下载:加速您的目标检测项目

3.3 预测

训练好后,会有一个best.pt模型,要测试该模型的一个输出效果,如何做?

import cv2
from ultralytics import YOLO

# Load the YOLO model
model = YOLO("/{Your Path}/best.pt")

# Load the image
img = cv2.imread("/{Your Path}/test.jpg")

# Perform the prediction
results = model(img)

# Extract the bounding boxes and labels
boxes = results[0].boxes.xyxy.cpu().numpy()  # xyxy format
confidences = results[0].boxes.conf.cpu().numpy()
classes = results[0].boxes.cls.cpu().numpy()
labels = model.names  # Access names from the model

# Draw rectangles on the detected objects
for box, conf, cls in zip(boxes, confidences, classes):
    x1, y1, x2, y2 = box
    label = labels[int(cls)]
    cv2.rectangle(img, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
    cv2.putText(
        img,
        f"{label} {conf:.2f}",
        (int(x1), int(y1) - 10),
        cv2.FONT_HERSHEY_SIMPLEX,
        0.9,
        (0, 255, 0),
        2,
    )

# Save or display the image
cv2.imwrite("./output.jpg", img)
cv2.imshow("Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2269678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS2笔记

一、CSS基础 1.CSS简介 2.CSS的编写位置 2.1 行内样式 2.2 内部样式 2.3 外部样式 3.样式表的优先级 4.CSS语法规范 5.CSS代码风格 二、CSS选择器 1.CSS基本选择器 通配选择器元素选择器类选择器id选择器 1.1 通配选择器 1.2 元素选择器 1.3 类选择器 1.4 ID选择器 1.5 基…

如何在 Ubuntu 22.04 上优化 Apache 以应对高流量网站教程

简介 在本教程中&#xff0c;我们将学习如何优化 Apache 以应对高流量网站。 当运行高流量网站时&#xff0c;确保你的 Apache Web 服务器得到优化对于有效处理负载至关重要。在本指南中&#xff0c;我们将介绍配置 Apache 以提高性能和可扩展性的基本技巧。 为高流量网站优…

安装教程:慧集通集成平台(DataLinkX)智能体客户端安装操作(Linux/windows/mac)

1.下载客户端 使用提供的账号登录集成平台后台(https://www.datalinkx.cn/),点击左侧菜单栏【智能体】→【智能体】进入到智能体列表界面&#xff0c;在该界面我们找到功能栏中的下载按钮点击则会弹出下载界面&#xff0c;在该界面我们可以选择不同的系统操作系统来下载对应版…

Spring boot + Hibernate + MySQL实现用户管理示例

安装MySQL Windows 11 Mysql 安装及常用命令_windows11 mysql-CSDN博客 整体目录 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLS…

大模型Weekly 03|OpenAI o3发布;DeepSeek-V3上线即开源!

大模型Weekly 03&#xff5c;OpenAI o3发布&#xff1b;DeepSeek-V3上线即开源&#xff01;DeepSeek-V3上线即开源&#xff1b;OpenAI 发布高级推理模型 o3https://mp.weixin.qq.com/s/9qU_zzIv9ibFdJZ5cTocOw?token47960959&langzh_CN 「青稞大模型Weekly」&#xff0c;持…

电路学习之前言

1.作为一名嵌入式开发者&#xff0c;去学习电路是必经之路。如果是一名嵌入式软件开发者&#xff0c;可能对电路和硬件的开发要求是能看懂电路图即可&#xff0c;但是&#xff0c;学习电路可以进一步提高看电路图的能力&#xff0c;可以提升自己的整体实力水平。而且&#xff0…

Java反射详解(二)

上一篇博客&#xff1a;Java反射详解&#xff08;一&#xff09; 写在前面&#xff1a;大家好&#xff01;我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正&#xff0c;感谢大家的不吝赐教。我的唯一博客更新地址是&#xff1a;https://ac-fun.blog.c…

zentao ubuntu上安装

#下载ZenTaoPMS-21.2-zbox_amd64.tar.gz&#xff08;https://www.zentao.net/downloads.html&#xff09; https://dl.zentao.net/zentao/21.2/ZenTaoPMS-21.2-zbox_amd64.tar.gzcd /opt tar -zxvf ZenTaoPMS-21.2-zbox_amd64.tar.gz#启动 /opt/zbox/zbox start /opt/zbox/zbox…

逆境清醒文章总目录表

逆境清醒文章总目录表 零、时光宝盒&#x1f33b; &#xff08;https://blog.csdn.net/weixin_69553582 逆境清醒&#xff09; 《你的答案》歌曲原唱&#xff1a;阿冗&#xff0c;填 词&#xff1a;林晨阳、刘涛&#xff0c;谱曲&#xff1a;刘涛 也许世界就这样&#xff0c…

【嵌入式硬件】嵌入式显示屏接口

数字显示串行接口&#xff08;Digital Display Serial Interface&#xff09; SPI 不过多赘述。 I2C-bus interface 不过多赘述 MIPI DSI MIPI (Mobile Industry Processor Interface) Alliance, DSI (Display Serial Interface) 一般用于移动设备&#xff0c;下面是接口…

AI证件照制作 API 快速生成示例

AI证件照制作 API 快速生成证件照示例 本文将介绍一种 AI证件照制作 API 对接说明&#xff0c;它是可以通过输入人像照片URL以及自己喜欢的模板来制作各种风格的证件照。 接下来介绍下 AI证件照制作 API 的对接说明。 申请流程 要使用 API&#xff0c;需要先到 AI证件照制作…

一个在ios当中采用ObjectC和opencv来显示图片的实例

前言 在ios中采用ObjectC编程利用opencv来显示一张图片&#xff0c;并简单绘图。听上去似乎不难&#xff0c;但是实际操作下来&#xff0c;却不是非常的容易的。本文较为详细的描述了这个过程&#xff0c;供后续参考。 一、创建ios工程 1.1、选择ios工程类型 1.2、选择接口模…

006-Jetpack Compose for Android之传感器数据

需求分析 想要看看手机的传感器数据&#xff0c;看看滤波一下能玩点什么无聊的。先搞个最简单的&#xff0c;手机本身的姿态。 需求&#xff1a;采集手机姿态数据&#xff0c;显示在界面上。 那么我们需要&#xff1a; 一个文本标签类似的控件&#xff0c;显示手机姿态数据…

SpringBoot3 快速启动框架

文章目录 1 SpringBoot3 介绍 1.1 SpringBoot3 简介1.2 快速入门1.3 入门总结 2 SpringBoot3 配置文件 2.1 统一配置管理概述2.2 属性配置文件使用2.3 YAML配置文件使用2.4 批量配置文件注入2.5 多环境配置和使用 3 SpringBoot 整合 springMVC 3.1 实现过程3.2 web相关配置3.3…

大型ERP系统GL(总账管理)模块需求分析

主要介绍了GL系统的需求分析&#xff0c;包括系统概述、功能描述、帐薄管理、报表管理、期末处理、财务报表以及凭证的快速输入方式、可用性设计、保存、自动审核和打印等方面的内容。系统概述部分介绍了系统的功能结构和模块流程图。 功能描述部分详细描述了系统的基础资料和业…

利用python将图片转换为pdf格式的多种方法,实现批量转换,内置模板代码,全网最全,超详细!!!

文章目录 前言1、img2pdf库的使用1.2 安装img2pdf库1.3 案例演示&#xff08;模板代码&#xff09; 2、Pillow库的使用2.1 pillow库的安装2.2 案例演示&#xff08;模板代码&#xff09; 3、PyMuPDF库的使用3.1 安装pymupdf库3.2 案例演示&#xff08;模板代码&#xff09;2.3 …

协议幻变者:DeviceNet转ModbusTCP网关开启机器手臂智能新纪元

技术背景DeviceNet是一种广泛应用于工业自动化领域的现场总线标准&#xff0c;它能够实现控制器与现场设备之间的高效通信&#xff0c;常用于连接各种传感器、执行器以及其他工业设备&#xff0c;如机器人、电机驱动器等&#xff0c;具有实时性强、可靠性高的特点。而ModbusTCP…

Linux 安装运行gatk的教程

1.下载安装 wget https://github.com/broadinstitute/gatk/releases/download/4.1.8.1/gatk-4.1.8.1.zip2.解压 unzip *.zip3.查看 gatk --help 如下显示表示安装成功&#xff1a; 注意&#xff1a;仅限在该包所在位置的路径下能使用

使用Xilinx PCIE XDMA框架读写访问DDR3内容

在 FPGA 开发中&#xff0c;使用 XDMA&#xff08;PCIe DMA&#xff09;是实现主机和 FPGA 之间数据传输的常见方法。xdma_rw.exe 是一个官方提供的命令行工具&#xff0c;用于与 FPGA 进行读写操作&#xff0c;支持从 PCIe 总线读取或写入数据。我利用xdma框架实现了DDR3内存的…

【论文笔记之 Mega-TTS2】Boosting Prompting Mechanisms For Zero-Shot Speech Synthesis

本文对 Ziyue Jiang 等人于 2024 年发表的论文进行简单地翻译。如有表述不当之处欢迎批评指正。欢迎任何形式的转载&#xff0c;但请务必注明出处。 论文链接&#xff1a;https://arxiv.org/pdf/2307.07218 目录 Abstract1. 介绍2. 背景3. 方法3.1. 解耦出韵律和音色3.2. 压缩…