yolov5训练自定义数据

本文介绍如何使用COCO128数据集进行目标检测任务的训练,包括创建dataset.yaml配置文件及使用labelbox等工具进行图像标注的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

训练自定义数据

  1. 新建dataset.yaml
    COCO128是一个小型教程数据集,由COCOtrain2017中的前128张图像组成。这128张图片用于训练和验证,以验证我们的训练通道是否能够拟合。数据集配置文件如下所示:它定义了
    1)一个可选的下载命令/URL,用于自动下载。
    2)训练图像目录的路径(或带有训练图像列表的txt文件路径)
    3)用于验证的图像
    4)类的数量
    5)类名列表
# download command/URL (optional)
download: https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip

# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
train: ../coco128/images/train2017/
val: ../coco128/images/train2017/

# number of classes
nc: 80

# class names
names: ['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light',
        'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow',
        'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee',
        'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard',
        'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple',
        'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch',
        'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 
        'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 
        'teddy bear', 'hair drier', 'toothbrush']
  1. 创建标签
    使用labelbox之类的工具标记图像后,将标签导出为YOLO
    格式,每个图像带有一个txt文件(如果图像中没有对象,则不需要txt文件)。
### 使用 YOLOv5 训练自定义数据集 为了使用 YOLOv5自定义数据集进行训练,可以遵循以下方法和注意事项: #### 1. 下载 YOLOv5 并设置运行环境 首先需要克隆官方仓库并安装依赖项。执行以下命令完成代码获取与环境搭建: ```bash git clone https://github.com/ultralytics/yolov5.git cd yolov5 pip install -r requirements.txt ``` 这一步确保了本地开发环境中具备必要的库支持[^3]。 #### 2. 数据准备 YOLOv5 需要特定格式的数据集用于训练过程。具体来说,图像文件应存储在一个单独的目录中,而对应的标注文件则需采用 `.txt` 文件形式保存在同一路径下。每张图片对应一个标签文件,其内容由目标框坐标组成,格式如下所示: ``` <class_id> <x_center> <y_center> <width> <height> ``` 其中 `<class_id>` 是类别索引;其余四个数值表示归一化后的边界框中心点位置及其宽高比例[^1]。 #### 3. 创建数据配置文件 (`.yaml`) 创建一个新的 YAML 文件用来描述数据分布情况以及类别的名称列表。例如命名为 `custom_dataset.yaml` 的文件可能看起来像这样: ```yaml train: ../datasets/train/images/ val: ../datasets/valid/images/ nc: 2 names: ['cat', 'dog'] ``` 这里指定了训练集、验证集所在的位置,并声明有两类对象——猫(`'cat'`) 和狗 (`'dog'`)。 #### 4. 开始训练模型 当一切就绪后,在终端输入下面这条指令即可启动训练流程: ```bash python train.py --img 640 --batch 16 --epochs 50 --data custom_dataset.yaml --weights yolov5s.pt ``` 在此命令里设置了图片尺寸大小为 640×640 像素,批次数量设为 16 ,总共迭代次数定为 50 轮次 。同时指定加载预训练权重作为初始状态的一部分。 --- ### 注意事项 - **硬件需求**: 如果没有 GPU 支持,则整个计算速度会显著降低。 - **超参调整**: 可能需要针对具体的任务场景微调一些超参数比如学习率等以达到最佳性能表现。 - **评估指标**: 在每次 epoch 结束之后都会给出 mAP@0.5 等评价标准帮助判断当前模型效果如何。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值