1.配置环境

和yolo之前的系列一样,略。

# YOLOv5 requirements
# Usage: pip install -r requirements.txt

# Base ------------------------------------------------------------------------
gitpython>=3.1.30
matplotlib>=3.3
numpy>=1.23.5
opencv-python>=4.1.1
pillow>=10.3.0
psutil  # system resources
PyYAML>=5.3.1
requests>=2.32.2
scipy>=1.4.1
thop>=0.1.1  # FLOPs computation
torch>=1.8.0  # see https://pytorch.org/get-started/locally (recommended)
torchvision>=0.9.0
tqdm>=4.66.3
ultralytics>=8.2.34  # https://ultralytics.com

2.下载 yolo11源码

官网链接:

GitHub - ultralytics/ultralytics: Ultralytics YOLO 🚀

解压后:

3.下载 预训练权重

还是官网,往下翻。GitHub - ultralytics/ultralytics: Ultralytics YOLO 🚀

GitHub - ultralytics/ultralytics: Ultralytics YOLO 🚀

3.下载 yolo11.yaml

ultralytics/ultralytics/cfg/models/11/yolo11.yaml at main · ultralytics/ultralytics · GitHub

4.制作数据集dataset

和之前的yolo一样,用labelimg制作,略。

制作dataset.yaml

dataset.yaml 内容如下:

path: D:/py/PythonProject1/ultralytics-main/dataset # 数据集根目录

# 训练集图像路径(相对于 path)
train: images/train
val: images/val

# 标签路径(相对于 path)
train_labels: labels/train
val_labels: labels/val

nc: 10                        # 类别数
names: ['A', 'B', 'C', 'D', 'E','F','G','H','I','J']

path记得修改

5.创建train.py文件

train.py代码如下:

 

from ultralytics import YOLO


if __name__ == '__main__':
    model = YOLO('yolo11.yaml')
    model = model.load('yolo11n.pt')
    model.train(
        data='dataset.yaml',
        epochs=10,
        imgsz=640,
        batch=16,
        name='my_exp'
    )

运行:

运行后在runs。 my_exp中得到结果

6.使用模型

from sympy import false
from ultralytics import YOLO
import cv2

# 1. 加载训练好的模型
model = YOLO('runs/detect/my_exp2/weights/best.pt')  # 修改为你的实际路径

# 2. 定义要检测的图片路径
img_path = 'data/images/train/2025_02_18-14_22_23_523.bmp'  # 替换为你的图片路径

# 3. 执行推理检测
results = model(
    source=img_path,
    conf=0.25,       # 置信度阈值(可根据需要调整)
    save=False       # 自动保存结果到 runs/detect/ 目录
)

# 4. 可视化结果(可选)
# 获取带标注的图片
annotated_img = results[0].plot()

# 使用OpenCV显示结果
cv2.imshow('Detection Result', annotated_img)
cv2.waitKey(0)  # 按任意键关闭窗口
cv2.destroyAllWindows()

# 保存结果到本地
#cv2.imwrite('detection_result.jpg', annotated_img)

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐