COCO API的操作

写作起因

在我的资源分享中有一个是COCO数据集的分享,里面是COCO2017的数据集,因为下载数据集是需要*的,故我将资源上传到百度云,方便大家下载,顺便自己拿一点积分。但有个人下载完后,评论资源是骗人的,一点用都没。我一开始以为是资源过期了,赶紧去看了一下,但是资源并没有过期。我不知道评论的人是出于恶意还是别的原因,但我发现网上关于COCO数据集操作的教程的确挺少的,故我写了此篇操作COCO数据集的博客,和大家分享知识。


环境要求

电脑系统:Ubuntu 16 (Linux都行, windows我自己没试过)

开发环境:Anaconda python3.6

库依赖:COCOAPI  链接:https://github.com/cocodataset/cocoapi(官方资源,需要自己下载,里面有详细的安装讲解)

数据集:COCO2017(COCO2014也行,函数的用法是一样的)

            下载地址:http://cocodataset.org/(官方,需要*)

            我的资源https://download.csdn.net/download/godwriter/10239162(百度云)


具体操作

  本次分享的代码是自己刚开始接触COCO数据集写的,代码中写了详细的注释便于大家理解。代码可能有点粗糙,大佬勿喷,多谢谅解!

  由于我在代码中加了详细的注释,故下面就是代码的展示,我在这里总结说一下API的使用思路。

  1.   第一步,读取Json文件,这个文件是下载的数据中提供的,数据格式可以到COCO的官网上查看;或者通过阅读API的源码理解;或者就通过代码打开Json文件,里面是一个字典,返回字典的key值即可查看。
  2.   第二步,得到你想要的信息,Json文件中包括了图片的描述信息,也有目标检测的bounding box,还有人体骨骼点等。下面的代码中有展示。
  3.  第三步,觉得操作Json不开心,下面代码中提供了将Json文件转换为Csv文件的代码。由于我自己实验的原因,代码只将图片中包含三个或以下物体的图片信息保存到了Csv文件中,故那份代码需要根据你自己的需求改变。


代码展示

一、 通过API得到展示数据集中的一张图片

COCO API的操作

COCO API的操作

COCO API的操作


二、 通过API得到图片的描述信息和其中的实体

COCO API的操作

COCO API的操作

COCO API的操作

COCO API的操作

COCO API的操作


三、 将Json文件中的信息导入到csv文件中

COCO API的操作

COCO API的操作

COCO API的操作

COCO API的操作


  至此,本博文结束,可能你说我在偷懒,直接贴代码,没办法,博主也忙着弄实验,只是看到别人评论资源是假的受不了。日后可以开一个Image Caption具体实验流程的专栏,帮大家一步步完成一个ImageCaption项目。