+
31
-

yolo如何训练识别新物体新的图形?

yolo如何训练识别新物体新的图形?


网友回复

+
5
-

训练 YOLO(You Only Look Once)模型来识别新的物体(自定义数据集)是一个非常标准的计算机视觉任务,通常称为迁移学习(Transfer Learning)微调(Fine-tuning)

目前最流行且易于上手的是 YOLOv8 (由 Ultralytics 开发),以下的教程将以 YOLOv8 为例,但流程对 YOLOv5/v7 也大致通用。

核心流程概览

环境准备 (安装依赖)

数据收集 (获取图片)

数据标注 (画框并分类)

数据集配置 (生成 YAML 文件)

模型训练 (运行训练脚本)

验证与推理 (测试效果)

第一步:环境准备

你需要 Python 环境(建议 3.8+)和 PyTorch。

# 安装 ultralytics 包(包含 YOLOv8)
pip install ultralytics

# 验证安装
yolo version

注意:训练强烈建议使用 GPU (NVIDIA 显卡 + CUDA)。如果没有本地 GPU,可以使用 Google Colab 或 Kaggle 的免费云端 GPU。

第二步:数据收集

收集你要识别的物体的图片。

数量:每个类别建议至少 100-500 张 图片(越多越好,且需覆盖不同场景)。

多样性:包含不同的光照、角度、背景、遮挡情况和距离。

格式:JPG 或 PNG。

第三步:数据标注 (Annotation)

你需要告诉模型图片里的物体在哪里。

下载标注工具:推荐 LabelImg (经典) 或 Roboflow (在线/本地),或者 X-AnyLabeling

开始标注

打开图片,画矩形框(Bounding Box)框住物体。

输入类别名称(例如:cat, dog, cup)。

导出格式:选择导出为 YOLO 格式

YOLO 格式是一个 .txt 文件,每一行代表一个物体:class_id x_center y_center width height (坐标是归一化到 0-1 之间的)。

第四步:整理数据集目录结构

YOLO 要求特定的目录结构。假设你的项目文件夹叫 my_custom_dataset,结构应如下:

my_custom_dataset/
├── images/
│   ├── train/       # 训练集图片
│   │   ├── img1.jpg
│   │   └── ...
│   └── val/         # 验证集图片 (用于评估模型,不参与训练)
│       ...

点击查看剩余70%

我知道答案,我要回答