COCO2017 猫狗数据统计

COCO cat + dog 训练集 + 验证集 图片总计 5850 张。

训练集: img_count: 5598,cat_count: 3914, dog_count: 2795
验证集: img_count: 252, cat_count: 175, dog_count: 125

import os
import glob 
import numpy as np
import shutil
from collections import Counter


labels_path = 'COCO2017/labels/val2017' # or train2017
labellist = glob.glob(os.path.join(labels_path, '*.txt'))

cat_count, dog_count = 0, 0
img_count = 0

for label_path in labellist:
	with open(label_path, mode='r', encoding='utf-8') as f:
		l = [x.split() for x in f.read().strip().splitlines()]
		classes = np.array([x[0] for x in l], dtype=np.float32) 
		if 0 in classes: # 0 person
			pass
		elif 15 in classes or 16 in classes: # 15 cat 16 dog
			print(label_path)
			img_count += 1
			cls_count = Counter(classes)
			cat_count += cls_count[15] # cat 
			dog_count += cls_count[16] # dog
			img_path = label_path.replace('labels', 'images').replace('.txt', '.jpg')
			# shutil.copy(img_path, os.path.join('COCO_cat_dog/images', os.path.basename(img_path)))
		else:
			pass

print('img_count:', img_count)       
print('cat_count:', cat_count, 'dog_count:', dog_count)
posted @ 2022-10-11 10:57  Zenith_Hugh  阅读(143)  评论(0)    收藏  举报