目标检测的数据集中的ground truth box的分布情况很重要。
一般原始图片在送入网络前会进行缩放(等比例缩放,固定尺寸缩放等),则我们使用lableImg等标记工具打的标签框对应的区域的大小也会缩放。统计其数据分布情况,可以为网络优化提供参考(比如说,如果缩放后,都分布于特别大的范围或者特别小的范围,那么就将网络中检测其他范围大小的层数删除,进行模型的裁剪)
下面的实例代码,是将图片固定尺寸缩放到300*300,然后统计缩放后的图片上box的width,height数值分布(以5为划分,则300可以分为60份),统计缩放后box面积的分布(按比例统计分布,即计算新的面积占300*300的百分比,同样每5%进行划分),代码仅供参考,按自己的需要进行修改即可。
'''
统计图片缩放后ground truth box的分布情况
必须提供:
xml_file_path
new_image_size
可选:
flag,默认为Fales,当改为True时,必须提供:
new_xml_file_save_path
image_file_path
new_image_file_save_path
'''
import os
import cv2
from xml.etree import ElementTree as ET
xml_file_path='all_xml'
new_xml_file_save_path&