利用Python统计coco数据集信息

系统 2333 0

目录

1.COCO数据集简介

2.COCO数据集的优缺点(简述)

3.COCO数据集信息统计

4.下次将推出VOC转COCO的脚本,期待关注。


1.COCO数据集简介

微软发布的 COCO 数据库是一个大型图像数据集, 专为对象检测、分割、人体关键点检测、语义分割和字幕生成而设计。

COCO 数据库的网址是:

  • MS COCO 数据集主页:http://mscoco.org/
  • Github 网址:https://github.com/Xinering/cocoapi
  • 关于 API 更多的细节在网站: http://mscoco.org/dataset/#download
  • 推荐参考文章:https://zhuanlan.zhihu.com/p/29393415

COCO API 提供了 Matlab, Python 和 Lua 的 API 接口. 该 API 接口可以提供完整的图像标签数据的加载, parsing 和可视化。此外,网站还提供了数据相关的文章, 教程等。

2.COCO数据集的优缺点(简述)

优点:数据集量大,作为官方数据集广泛用于深度学习--目标检测,是一个极富挑战性的数据集。

           采用json标注格式(VOC采用的是xml格式),具有良好的自我描述性,便于阅读。

缺点:由于数据集量很大,json文件一般也很大,当我们需要打开json文件时,导致文本编辑器卡死

3.COCO数据集信息统计

比如说我们想要知道由于训练的数据的具体信息或测试数据的具体信息,要通过json统计,针对COCO数据集的缺点,写者编写了一个Python脚本统计json文件中的数据信息。

具体代码如下:

            
              from pycocotools.coco import COCO
#文件路径
dataDir='D:/Users/Desktop/'
dataType='trainval2014'
annFile='{}/instances_{}.json'.format(dataDir,dataType)

# initialize COCO api for instance annotations
coco_train=COCO(annFile)

# display COCO categories and supercategories
#显示所有类别
cats = coco_train.loadCats(coco_train.getCatIds())
cat_nms=[cat['name'] for cat in cats]
print('COCO categories:\n{}'.format('\n'.join(cat_nms))+'\n')
#统计单个类别的图片数量与标注数量
for cat_name in cat_nms:
    catId = coco_train.getCatIds(catNms=cat_name)
    if cat_name == "person":
        print(catId)
        imgId = coco_train.getImgIds(catIds=catId)
        annId = coco_train.getAnnIds(imgIds=imgId, catIds=catId, iscrowd=False)
        print("{:<15} {:<6d}     {:<10d}\n".format(cat_name, len(imgId), len(annId)))
#统计全部的类别及全部的图片数量和标注数量
print("NUM_categories: "+str(len(coco_train.dataset['categories'])))
print("NUM_images: "+str(len(coco_train.dataset['images'])))
print("NUM_annotations: "+str(len(coco_train.dataset['annotations'])))
            
          

运行结果展示

利用Python统计coco数据集信息_第1张图片

运行代码可能出现的bug:

问题:提示pycocotools.coco module缺少

解决办法:python执行pip install pycocotools,成功安装即可

如果有遇到其他问题,请评论区留言,与写者一起交流

4.下次将推出VOC转COCO的脚本,期待关注。


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论