最近用到coco2017数据集做目标检测,顺便整理一下数据集。
coco数据集用专门的python api 方便我们直接来读取图片数据,详细的可以去看 https://github.com/cocodataset/cocoapi,
我们这里主要是统计数据集的类别,这样就清楚自己的训练数据是否足够,不同的类别分布是否均衡等问题。
我们使用以下代码来统计类别、图片数、标注框数:
from pycocotools.coco import COCO
dataDir='./COCO'
dataType='val2017'
#dataType='train2017'
annFile='{}/annotations/instances_{}.json'.format(dataDir, dataType)
# initialize COCO api for instance annotations
coco=COCO(annFile)
# display COCO categories and supercategories
cats = coco.loadCats(coco.getCatIds())
cat_nms=[cat['name'] for cat in cats]
print('number of categories: ', len(cat_nms))
print('COCO categories: \n', cat_nms)
# 统计各类的图片数量和标注框数量
for cat_name in cat_nms:
catId = coco.getCatIds(catNms=cat_name) # 1~90
imgId = coco.getImgIds(catIds=catId) # 图片的id
annId = coco.getAnnIds(catIds=catId) # 标注框的id
print("{:<15} {:<6d} {:<10d}".format(cat_name, len(imgId), len(annId)))
测试集输出:
| 类别 | 图片数量 | 标注框数量 |
| person | 2693 | 11004 |
| bicycle | 149 | 316 |
| car | 535 | 1932 |
| motorcycle | 159 | 371 |
| airplane | 97 | 143 |
| bus | 189 | 285 |
| train | 157 | 190 |
| truck | 250 | 415 |
| boat | 121 | 430 |
| traffic light | 191 | 637 |
| fire hydrant | 86 | 101 |
| stop sign | 69 | 75 |
| parking meter | 37 | 60 |
| bench | 235 | 413 |
| bird | 125 | 440 |
| cat | 184 | 202 |
| dog | 177 | 218 |
| horse | 128 | 273 |
| sheep | 65 | 361 |
| cow | 87 | 380 |
| elephant | 89 | 255 |
| bear | 49 | 71 |
| zebra | 85 | 268 |
| giraffe | 101 | 232 |
| backpack | 228 | 3 |

本文深入分析了COCO2017数据集的目标检测类别分布,对比了训练集与测试集中各目标类别的图片数量及标注框数量,为评估数据集的完整性和均衡性提供了详细数据。

5万+

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



