YOLOV11 使用流程

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 本内容整理了YOLO V11的常用代码语句,涵盖YOLO模型下载、数据集划分、模型训练与推理优化等关键步骤,适用于目标检测任务。

AI比赛编程语句整理

字体下载

https://ultralytics.com/assets/Arial.Unicode.ttf

SDK模型下载

pip install modelscope
from modelscope import snapshot_download
Model_dir = snapshot_download(‘yolo_master/YOLO11’)

在terminal拷贝模型文件(进入模型下载目录、查看文件、拷贝文件)

cd .cache/modelscope/models/yolo_master/YOLO11
ls -a
cp yolo11l.pt /mnt/workspace/Practice

coco128.yaml文件创建

train: '../datasets/car/train/images' # train images (relative to 'path') 128 images
val: '../datasets/car/val/images' # val images (relative to 'path') 128 images
test: # test images (optional)

Classes

nc: 3
names: [ '逍客','1号轮辋','2号轮辋']

库安装

pip install ultralytics
pip install openvino

拷贝字体文件

cp Arial.Unicode.ttf /root/.config/Ultralytics

加载、训练模型

from ultralytics import YOLO
model = YOLO("yolo11s.pt")
model.train(data="coco128.yaml", epochs=200, imgsz=640, workers=8)

通过AI再标注图片

from ultralytics import YOLO
model = YOLO("best.pt")
model.export(format="onnx")

制作model.yaml文件

type: yolo11
name: yolo11n
display_name: best
model_path: bestcar.onnx
nms_threshold: 0.45
confidence_threshold: 0.25
classes:

  • 逍客
  • 1号轮辋
  • 2号轮辋

模型转换OPENVINO

from ultralytics import YOLO
model = YOLO("best.pt")
model.export(format="openvino")

部署OPENVINO

from ultralytics import YOLO
from pathlib import Path
import torch,time
import openvino as ov
import cv2

model_path = Path(r"./best-Copy1_openvino_model/best-Copy1.xml")
image_path = Path( r"./00116.jpg")

用Ultralytics工具包API实现yolov11模型推理程序

yolo11 = YOLO("best-Copy1.pt", task="detect")
result = yolo11(image_path, show=True)
result[0].show()

使用OpenVINO实现推理计算

core = ov.Core()
device = "CPU"
config = {"PERFORMANCE_HINT": "LATENCY"}

编译模型到CPU上

compiled_model = core.compile_model(model_path, device, config)

compiled_model = core.compile_model(model_path, device, config)

替代yolov11的原生推理计算方法

def ov_infer(*args):
result = compiled_model(args)
return torch.from_numpy(result[0])

yolo11.predictor.inference = ov_infer

执行基于OpenVINO的推理计算, 并复用YOLOV11的原生前后处理程序

img = cv2.imread(image_path)
result = yolo11.predict(img)
result[0].show()
time.sleep(6)

模型运行

from ultralytics import YOLO
model = YOLO("best2.pt")
results = model("0.jpg")
results[0].show()

将数据集随机划分为训练集和验证集,测试集

import os
import random
import shutil

from tqdm import tqdm

image_path = r"./Images//" # 源图片文件夹路径
mask_path = r"./Labels//" # 标签文件夹路径

train_images = r"./datasets2/images/train" # 划分后训练集图片的保存路径
train_labels = r"./datasets2/labels/train"
val_images = r"./datasets2/images/val"
val_labels = r"./datasets2/labels/val"

if not os.path.exists(train_images):
os.makedirs(train_images)
if not os.path.exists(train_labels):
os.makedirs(train_labels)
if not os.path.exists(val_images):
os.makedirs(val_images)
if not os.path.exists(val_labels):
os.makedirs(val_labels)

train_rate = 0.8 # 自定义抽取图片的比例,比方说100张抽10张,那就是0.1
val_rate = 0.2
test_rate = 0.0

求训练集

pathDir = os.listdir(image_path) # 取图片的原始路径
print('数据集总共有图片:', len(pathDir))
print(
'划分比例如下:训练集:{},验证集:{},测试集:{}'.format(int(len(pathDir) train_rate), int(len(pathDir) val_rate),
int(len(pathDir) test_rate)
)) # ,测试集:{} int(len(pathDir)
test_rate)
picknumber = int(len(pathDir) * train_rate) # 按照rate比例从文件夹中取一定数量图片
train_sample = random.sample(pathDir, picknumber) # 随机选取picknumber数量的样本图片
print('训练集的大小为:', len(train_sample))

复制为训练集

for name in tqdm(train_sample):
if os.path.isfile(image_path + name):
shutil.copy(image_path + name, train_images + "//" + name)
shutil.copy(mask_path + name[:-3] + "txt", train_labels + "//" + name[:-3] + "txt")

求出原数据集不含训练集

all_images = os.listdir(image_path)
val_sample = []
for file in all_images:
if file not in train_sample:
val_sample.append(file)
print('验证集的大小为:', len(val_sample))

复制为验证集

for file in tqdm(val_sample):
shutil.copy(image_path + file, val_images + "/" + file)
shutil.copy(mask_path + file[:-3] + "txt", val_labels + "/" + file[:-3] + "txt")

相关文章
|
API 开发工具 计算机视觉
YOLO11 语句整理
本内容介绍基于YOLOv11模型的开发流程,涵盖模型下载、安装依赖库、训练与推理、模型转换为OpenVINO格式及部署。通过Ultralytics工具包实现模型加载、训练和预测,并使用OpenVINO优化推理性能。此外,提供数据集划分方法,按指定比例生成训练集、验证集和测试集,确保数据准备规范化,提升模型训练效果与实用性。
|
人工智能 数据可视化 计算机视觉
Ultralytics YOLO11来啦!更快!更强!
YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的 Joseph Redmon 和 Ali Farhadi 开发。
Ultralytics YOLO11来啦!更快!更强!
|
10月前
|
JSON 自然语言处理 测试技术
SoapUI界面不支持中文?更多选择在这里
SoapUI是一款经典的国外API测试工具,广泛应用于开发与测试领域。由于其未提供官方中文支持,部分用户转向Apifox等本土化工具。Apifox具备中文界面、功能全面,涵盖API调试、文档、Mock与自动化测试,助力团队高效协作。随着API测试工具不断发展,多语言与本地化支持正成为提升用户体验与竞争力的关键方向。
|
API Python
利用openvino模型推理图片
本文介绍了如何使用 OpenVINO 格式模型文件对图片进行推理。通过将训练好的模型转换为 OpenVINO 格式,可实现跨设备部署。文中详细展示了利用 Python 和 OpenVINO API 完成模型加载、编译及推理的步骤。核心代码包括初始化 OpenVINO 模型、设置预测参数(如置信度和 IoU 阈值)以及对图片进行检测并显示结果。注意:OpenVINO 模型文件需完整存放于同一目录下,路径需正确配置,参数可根据模型性能调整。
|
机器学习/深度学习 人工智能 算法
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
本文介绍了如何使用 Python 和 YOLO v8 开发专属的 AI 视觉目标检测模型。首先讲解了 YOLO 的基本概念及其高效精准的特点,接着详细说明了环境搭建步骤,包括安装 Python、PyCharm 和 Ultralytics 库。随后引导读者加载预训练模型进行图片验证,并准备数据集以训练自定义模型。最后,展示了如何验证训练好的模型并提供示例代码。通过本文,你将学会从零开始打造自己的目标检测系统,满足实际场景需求。
15148 1
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
|
人工智能 编解码 自动驾驶
RF-DETR:YOLO霸主地位不保?开源 SOTA 实时目标检测模型,比眨眼还快3倍!
RF-DETR是首个在COCO数据集上突破60 mAP的实时检测模型,结合Transformer架构与DINOv2主干网络,支持多分辨率灵活切换,为安防、自动驾驶等场景提供高精度实时检测方案。
3641 6
RF-DETR:YOLO霸主地位不保?开源 SOTA 实时目标检测模型,比眨眼还快3倍!
|
计算机视觉
pyt魔搭训练常用代码
本文分享了在魔搭社区进行目标检测训练的经验与代码,涵盖数据解压、配置文件设置、模型训练及格式转换等关键步骤,助力快速上手YOLO模型训练。
|
XML 机器学习/深度学习 数据格式
YOLOv8训练自己的数据集+常用传参说明
YOLOv8训练自己的数据集+常用传参说明
27326 3