COCO Common Objects in Context

介绍

COCO是一种大规模的对象检测,分割和字幕数据集。简单说就是包括一堆图片和这些图片的解释(json格式,包含图片内容描述,特征点等),对于缺少大数据还想想学习机器学习的普通人很有帮助。COCO> 有几个特点:

  • 对象分割(Object segmentation)
  • 在背景下的识别(Recognition in context)
  • 超像素的东西分割(Superpixel stuff segmentation
  • 33万图像(> 20万有标签)
  • 150万个对象实例(object instances)
  • 80个对象类别(object categories)
  • 91个东西类别(stuff categories)
  • 每张图片5个简介(captions )
  • 250,000人的关键点(keypoints)

数据集下载

Images

Annotations

API

官方只提供Linux版本COCO API

下载

  • 下载此API
  • 下载数据集,解压图像放入:coco/images/
  • 下载注释放入:coco/annotations/

安装:

  • 对于Matlab,将coco / MatlabApi添加到Matlab路径(提供的OSX / Linux二进制文件)
  • 对于Python,在coco / PythonAPI下运行“make”
  • 对于Lua,在coco /下运行“luarocks make LuaAPI / rocks / coco-scm-1.rockspec”

某牛人提供Windows版本COCO API,更改了 PythonAPI/setup.py 和 PythonAPI/pycocotools/coco.py

安装:

1
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

可能需要先安装

1
pip install cython
  • 在Windows上,必须安装Visual C ++ 2015构建工具。可从这里安装它们:

download

  • 运行visualcppbuildtools_full.exe并选择默认选项:

install

API使用

COCO API有助于在COCO中加载,解析和可视化注释。

“ann”=注释,“cat”=类别,“img”=图像。

  • getAnnIds获取满足给定过滤条件的annid。
  • getCatIds获取满足给定过滤条件的cat ID。
  • getImgIds获取满足给定过滤条件的img id。
  • loadAnns使用指定的ID加载anns。
  • loadCats使用指定的ID加载cat。
  • loadImgs使用指定的id加载imgs。
  • loadRes加载算法结果并创建用于访问它们的API。
  • showAnns显示指定的注释。