在进行目标检测训练中,应该对数据的分布及其结构有所了解,要明确数据中各个类别的频率,各个bboxe的空间分布、各个bboxe的size分布、各个bboxe的size分布位置分布、各个bboxes的面积与类型间的关系。博主在2022年11月23日曾发布过一个voc 数据分析的博文(python工具方法 37),后来在使用yolov8中发现遗漏了对boxes位置和size的分析,且代码不支持yolo数据,故重新完善代码支持对yolo|voc格式数据的分析,同时支持对数据进行可视化。由于不需要绘制太多的矩形框,且使用csv数据进行bbox信息的缓存,故此数据分析绘图的速度比yolov8要快很多倍。
1、前置库
导入一些前置库,并定义了两个绘图颜色相关的函数,boxes_colors返回的是rgb格式的颜色值,用于opencv在绘制text和矩形框中。而rgb_to_hex函数用于将rgb格式的颜色值转换为十六进制的颜色,其用于在plt绘制散点图时区分不同的类别(plt绘制散点图需要十六进制的颜色值)
import cv2,os
from pathlib im
本文介绍了如何使用Python对YOLO和VOC数据进行统计分析,包括bbox的面积、位置、尺寸分布以及可视化。通过saveVocData和saveYoloData函数将数据转换为CSV,然后利用统计绘图函数分析类别频率、bbox面积、位置和尺寸,最后进行数据可视化。代码支持快速分析和绘图,适用于目标检测数据集的预处理和理解。
订阅专栏 解锁全文
1451

被折叠的 条评论
为什么被折叠?



