python工具方法 42 对YOLO|VOC数据进行统计分析(bbox面积统计、bbox位置分布、bbox尺寸分布、bbox可视化)

在进行目标检测训练中,应该对数据的分布及其结构有所了解,要明确数据中各个类别的频率,各个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 import *
import rand

猜你喜欢

转载自blog.csdn.net/a486259/article/details/131504907