07.训练自己的数据集(上):标注与格式准备
从本篇开始,我们将正式进入YOLO的核心操作环节——训练自己的数据集。在之前的篇目中,你已了解了YOLO的基本原理、环境搭建以及如何使用预训练模型进行目标检测。但真正让YOLO为你工作的关键,是让它学会识别你关心的特定目标。这需要你提供一批标注好的图片,让模型从中学习。训练自己的数据集是一个系统工程,本篇先聚焦最基础也最关键的步骤:数据标注与格式准备。
首先,明确一个核心概念:YOLO需要什么样的数据?YOLO使用一种特定的标注格式,称为“归一化坐标格式”。对于每张图片,你需要提供一个同名的.txt文本文件,文件中的每一行对应一个目标。每行包含五个数字:类别ID、目标中心点的x坐标、中心点的y坐标、目标宽度、目标高度。这四个坐标值不是像素值,而是相对于图片宽度和高度的比例,取值范围在0到1之间。例如,一张640x480的图片,如果某个目标的中心点在像素坐标(320, 240),宽度为160像素,高度为120像素,那么对应的归一化坐标就是:0.5 (320/640),0.5 (240/480),0.25 (160/640),0.25 (120/480)。如果图片中有多个目标,就在文本文件中写多行。
接下来,你需要准备一个数据集目录结构。通常YOLO项目会要求你将图片和标注文件分别放在两个文件夹中,比如images和labels。并且一般还会划分训练集和验证集。一个常见的结构是:
dataset/
images/
train/
img001.jpg
img002.jpg
val/
img100.jpg
labels/
train/
img001.txt
img002.txt
val/
img100.txt
注意:标注文件的
