本文档介绍了YOLOv5中提供的可视化工具和技术。可视化在理解模型行为、分析数据集特性和评估模型性能方面起着至关重要的作用。YOLOv5提供了一套全面的可视化工具,帮助用户检查和解释目标检测管道的各个方面。
有关为许多这些可视化提供支持的指标计算的信息,请参阅性能指标。
YOLOv5提供了以下可视化工具:
来源: utils/plots.py1-518 utils/metrics.py334-381
Colors类提供了一致的颜色调色板,用于在整个YOLOv5生态系统中可视化检测结果。它确保每个类别始终获得相同的颜色,从而使可视化更具可读性。
该类使用源自Ultralytics颜色方案的调色板,包含20种不同的颜色。当通过__call__方法访问时,它会根据类别的索引返回RGB或BGR格式的元组。
使用边界框、标签和其他信息标注图像是YOLOv5的核心功能。其主要工具是Annotator类,该类从ultralytics.utils.plotting导入。
plot_images函数创建了一个图像网格,并可选择性地添加边界框注释。它广泛用于可视化模型预测或真实标签。
主要功能
save_one_box函数提取并以单独的图像文件形式保存检测到的对象,这对于创建裁剪对象的数据集或更仔细地检查特定检测结果非常有用。
主要参数
xyxy: 边界框坐标im: 源图像file: 输出文件路径gain: 边界框扩展因子(默认值:1.02)pad: 填充像素(默认值:10)square: 是否使输出为正方形(默认值:False)BGR: 颜色顺序(默认值:False,保存为RGB)plot_lr_scheduler函数可视化训练过程中的学习率调度,这有助于验证学习率是否符合预期。
plot_results函数从结果CSV文件中生成训练指标的综合图表。它可视化了训练过程中损失、精确率、召回率和mAP等关键指标。
可视化的主要指标
该函数应用高斯平滑来帮助识别嘈杂数据中的趋势。
plot_evolve函数为遗传算法超参数进化结果创建可视化。它有助于理解不同超参数如何影响模型性能。
plot_labels函数创建了对数据集标签特性的全面可视化。
这种可视化对于理解数据集平衡和识别潜在问题(如类别不平衡或异常的边界框分布)至关重要。
imshow_cls函数显示一个图像网格,并可选择性地显示类别标签和预测,这对于可视化分类结果或数据集样本很有用。
plot_pr_curve函数可视化了模型在各个类别和整体模型性能下的精确率-召回率权衡。它展示了模型在各个类别和整体模型性能下的精确率-召回率权衡。
plot_mc_curve函数显示精确率、召回率或F1分数等指标如何随置信度阈值变化。这有助于为特定应用选择最佳置信度阈值。
ConfusionMatrix.plot方法将模型的分类性能可视化为混淆矩阵,显示每个类别的真阳性、假阳性、假阴性和真阴性。
plot_val_study函数创建用于比较不同模型变体的可视化,显示精度(mAP)和速度(ms/image)之间的权衡。
feature_visualization函数允许可视化神经网络的内部特征图,这对于理解模型在不同层级学习到的模式非常有用。
关键方面:
YOLOv5的可视化工具提供了全面的工具,用于理解模型行为、训练动态、数据集特性和评估结果。这些可视化对于开发健壮的目标检测模型和诊断开发过程中的问题至关重要。
有关为许多这些可视化提供支持的指标计算的信息,请参阅性能指标。