栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【统计数据集GT的分布情况】

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【统计数据集GT的分布情况】

:params label_dir: label文件地址 :return data_dict: {dict: 3} 3 x { 类别 :{’area :[...]}, { ratio :[...]}} data_dict {} assert Path(label_dir).is_dir(), label_dir is not exist txts os.listdir(label_dir) # 得到label_dir目录下的所有txt GT文件 for txt in txts: # 遍历每一个txt文件 with open(os.path.join(label_dir, txt), r ) as f: # 打开当前txt文件 并读取所有行的数据 lines f.readlines() for line in lines: # 遍历当前txt文件中每一行的数据 temp line.split() # str to list{5} coor_list list(map(lambda x: x, temp[1:])) # [x, y, w, h] area float(coor_list[2]) * float(coor_list[3]) # 计算出当前txt文件中每一个gt的面积 # center (int(coor_list[0] 0.5*coor_list[2]), # int(coor_list[1] 0.5*coor_list[3])) ratio round(float(coor_list[2]) / float(coor_list[3]), 2) # 计算出当前txt文件中每一个gt的 w/h if temp[0] not in data_dict: data_dict[temp[0]] {} data_dict[temp[0]][ area ] [] data_dict[temp[0]][ ratio ] [] data_dict[temp[0]][ area ].append(area) data_dict[temp[0]][ ratio ].append(ratio) return data_dict def getSMLGtNumByClass(data_dict, class_num): 计算某个类别的小物体、中物体、大物体的个数 params data_dict: {dict: 3} 3 x { 类别 :{’area :[...]}, { ratio :[...]}} params class_num: 类别 0, 1, 2 return s: 该类别小物体的个数 0 area 32*32 m: 该类别中物体的个数 32*32 area 96*96 l: 该类别大物体的个数 area 96*96 s, m, l 0, 0, 0 for item in data_dict[ {} .format(class_num)][ area ]: if item * 640 * 640 32 * 32: elif item * 640 * 640 96 * 96: else: return s, m, l def getAllSMLGtNum(data_dict): 数据集所有类别小、中、大GT分布情况 S, M, L 0, 0, 0 for i in range(3): s, m, l getSMLGtNumByClass(data_dict, i) return [S, M, L] def analyAllSmallGt(data_dict): ss, sm, sl 0, 0, 0 for c in range(3): for item in data_dict[ {} .format(c)][ area ]: if item * 640 * 640 8 * 8: ss 1 elif item * 640 * 640 16 * 16: sm 1 elif item * 640 * 640 32 * 32: sl 1 return [ss, sm, sl]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267709.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号