使用 YOLO26 进行目标检测

安装与创建环境

官方安装参考: Installing conda - conda documentation

下载链接: Download anaconda

可以下载 Miniconda 然后自己按需安装环境

创建一个运行环境环境

1
conda create -n env_name python=3.13 -y

激活运行环境

1
conda activate env_name

安装 PyTorch

如果是 CPU 版本直接使用命令

1
pip install torch torchvision torchaudio

GPU 版本需要去官网下载,访问 https://pytorch.org/get-started/locally/ 查看安装命令

关于 CUDA 版本可以使用命令查看

1
nvidia-smi

安装完成后检测是否可用

1
2
3
import torch
print(f"显卡是否可用: {torch.cuda.is_available()}")
print(f"当前显卡: {torch.cuda.get_device_name(0)}")

标注图片

少量本地标注可以直接使用 labelImg,使用 pip 安装

1
pip install labelImg

然后使用命令打开 GUI 窗口使用

1
labelImg

注意选择图片路径和标注保存地址,并且切换当前数据格式为 YOLO

使用 W 按键进行创建新标注 (大写字母 W)

训练模型

YOLO26 官方文档: Ultralytics YOLO26

安装 YOLO

1
pip install ultralytics

训练模型代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from ultralytics import YOLO

def main():
    # Load a COCO-pretrained YOLO26n model
    model = YOLO("yolo26n.pt")

    # Train the model on the data example dataset for 50 epochs
    results = model.train(data="data.yaml", epochs=50, imgsz=640, device=0)

if __name__ == '__main__':
    main()

数据说明文件 data.yaml

1
2
3
4
5
6
7
path: ../my_dataset  # 数据集根目录的相对路径
train: images/train  # 训练集位置
val: images/val      # 验证集位置

names:
  0: name1            # 类别0:name1
  1: name2            # 类别1:name2

训练产物

训练完成后会在 runs/detect 有一些产物

其中 weights/ 文件夹中,是模型文件

  • best.pt:精度最高的权重
  • last.pt:最后一次训练

图表

  • results.png:整合了训练损失 (Loss) 和精度指标 (mAP)
    • 如果曲线一直在上升说明模型还在学习,如果平了则说明训练到位了 (收敛)
  • confusion_matrix.png:混淆矩阵,展示了模型把目标物认成背景或错认的概率
    • 对角线越亮,说明识别越准
  • Box*_curve.png:分别代表精确率 (Precision)、召回率 (Recall) 和它们的平衡曲线
  • labels.jpg:所有标注框的统计图,显示框的大小分布和类别比例

图片标注

  • train_batch*.jpg:模型在训练时具体使用的图片
  • val_batch*_labels.jpg:标注的用来验证的图片
  • val_batch*_pred.jpg:模型的预测结果

其他文件

  • args.yaml:本次训练的所有参数设置,方便下次复现
  • results.csvresults.png 图片的原始数据表

使用模型

1
2
3
4
# 加载模型
model = YOLO('runs/detect/train/weights/best.pt')

results = model.predict(source='new_chicken_video.mp4', save=True)
This post is licensed under CC BY-NC-SA 4.0 by the author.