对教程中的内容做一些额外补充
YOLO 数据集格式
YOLO的数据集格式主要遵循以下规范:
- 图像文件:
- 图像文件通常使用JPEG或PNG格式存储,包含原始图像数据。
- 文件名通常与对应的标注文件相关联,以便于匹配。
- 标注文件:
- TXT格式:YOLO中最常见的标注格式之一,每个图像对应一个TXT文件。文件中每行代表一个目标物体的标注,包括类别索引和边界框坐标(中心点x、y坐标,宽度w,高度h),这些值都是归一化到图像尺寸的比例值(0到1之间)。
- VOC格式:使用XML文件存储标注信息,包括图片的基本信息(如尺寸、来源)、目标物体的详细信息(如类别、边界框坐标、姿态、是否被遮挡等)。边界框坐标以像素为单位,而非比例值。
- COCO格式:采用JSON文件,将多个图像的标注信息整合到一个文件中。包含图像、标注和类别信息的详细字典,边界框坐标同样以像素为单位。
- 数据集结构:
- 数据集通常分为训练集、验证集和测试集,分别用于模型的训练、验证和测试。
- 文件夹结构可能包括存放图像的文件夹(如JPEGImages)、存放标注文件的文件夹(如Annotations或labels),以及用于指定数据集分割的文件(如train.txt、val.txt)。
- 配置文件:
- 训练时通常需要配置文件(如.yaml或.cfg文件),指定数据路径、类别名称、模型架构等设置。
- 归一化处理:
- 标注文件中的边界框坐标和尺寸通常会进行归一化处理,以提高算法性能和减少过拟合风险。
YOLO 训练日志
YOLO训练日志是记录YOLO模型训练过程中各种关键信息和性能指标的文档或文件:
-
训练轮次(Epochs):记录当前训练已完成的轮次数,以及每轮训练开始和结束的时间戳,帮助了解训练进度。
-
损失值(Losses):
- 总损失(Total Loss):包括所有损失项的综合值,是评估模型训练效果的重要指标。
- 边界框损失(Box Loss):衡量模型预测边界框与真实边界框之间的差异。
- 目标存在损失(Object Loss):评估模型预测目标存在性的准确性。
- 分类损失(Classification Loss):评估模型对目标类别预测的准确性。
-
性能指标:
- 精度(Precision):正确预测为正样本的数量占所有预测为正样本数量的比例。
- 召回率(Recall):正确预测为正样本的数量占所有实际为正样本数量的比例。
- mAP(Mean Average Precision):平均精度均值,是目标检测中常用的评估指标,用于衡量模型在不同IoU阈值下的性能。
-
GPU内存使用情况:记录训练过程中GPU内存的占用情况,有助于监控资源使用情况并优化训练配置。
-
训练速度:可能包括每轮训练所需的时间、每秒处理的图像数量等,用于评估训练效率。
-
其他信息:
- 模型架构:简要描述所使用的YOLO模型版本或自定义架构。
- 数据集信息:包括数据集大小、类别数量等基本信息。
- 超参数设置:如学习率、批量大小(Batch Size)、优化器类型等,这些参数对训练结果有显著影响。
- 异常和警告:记录训练过程中出现的任何异常或警告信息,帮助调试和优化模型。
-
图表和可视化:有时训练日志中会包含性能图表,如损失曲线、精度曲线等,这些图表以图形化的方式展示了训练过程中的关键指标变化,有助于直观地了解模型训练效果。
-
权重文件:训练过程中保存的模型权重文件路径,这些文件可用于后续的测试、评估或继续训练。