Pascal VOC 和 Microsoft COCO(MS COCO)(COCO2017&COCO2014) 数据集

Pascal VOC(Pascal Visual Object Classes)数据集

VOC数据集是目标检测/分割经常用的一个数据集,从05年到12年都会举办比赛

VOC数据集的格式

用于分割

 

Paslcal VOC 2012 用于分隔的数据集是由20个类+1个背景类

训练集1464张

val集 1449张

Microsoft COCO(Common Objects in Context)数据集

COCO是微软团队2014年发布的一个可以用来进行图像识别的数据集

在MS COCO数据集上可以做多种任务

coco2017数据集共80个类,类别id号不连续,最大为90。 8w张图

COCO通过在Flickr上搜索80个对象类别和各种场景类型来收集图像,其使用了亚马逊的Mechanical Turk(AMT)

Image Captioning也是用的这个数据集


2014版本的coco dataset包括82,783 个训练图像、40,504个验证图像以及40,775个测试图像,270k的分割出来的人以及886k的分割出来的物体。

数据集有20G左右的图片和500M左右的标签文件。标签文件标记了每个segmentation+bounding box(即分割物+分割物的边界)的精确坐标,其精度均为小数点后两位。

MS COCO种类数要远比 PASCAL VOC多(VOC有的种类他都有),每个类别标注的目标个数,COCO数据集也明显比VOC多。所以很多文章都会使用COCO数据集进行预训练,再用迁移学习方法在VOC上进行再训练。而且如果想训练自己的数据集的话,一般也会基于COCO数据集预训练好的权重去做迁移学习

test集是不放出来的 

标注格式

coco的segmentation格式

iscrowd=0的时候,表示这是一个单独的物体,轮廓用Polygon(多边形的点)表示,iscrowd=1的时候表示两个没有分开的物体,轮廓用RLE编码表示,比如说一张图片里面有三个人,一个人单独站一边,另外两个搂在一起(标注的时候距离太近分不开了),这个时候,单独的那个人的注释里面的iscrowing=0,segmentation用Polygon表示,而另外两个用放在同一个anatation的数组里面用一个segmention的RLE编码形式表示

[poly]的形式是这样的[x1,y1,x2,y3,x3,y3,...,xn,yn]

mask不论是polygon还是rle都会被转换成rle再做iou

COCO相关数据格式可视化

Mask_RCNN/inspect_data.ipynb at master · matterport/Mask_RCNN (github.com)

COCO的格式示例

可以看到它这里是images和annotations是分开的

即annotations里面可能好几项都是同一个图片的框

{
	# "info": 'coco',			#optional
	# "license": ['none'],	#optional
	"images": [
		{
			"height": 224,    #int
			"width": 224,    #int
			"id": 0,    #int 必须
			"file_name": 'figure1.jpg'    #str
		},
		{
			"height": 224,
			"width": 224,
			"id": 1,
			"file_name": 'figure2.jpg'
		}
	]
	"annotations":[
		{
			"id": 0,    #int   必须
			"image_id": 0,    #int    必须
			"category_id": 10,    #int
			"segmentation": [[1, 1, 1, 1, 1, 1, 1, 1],],    #值是double类型的
			"bbox": [0, 0, 1, 1], #格式[x,y,w,h], 4值都是double类型,xy指左上角的点      
			"iscrowd": 0,    #0/1
			"area": 1    #area是area of encoded masks,是标注区域的面积,可以int可以double
                         #如果是矩形框,那area就是高乘宽;如果是polygon或者RLE,那就复杂点。
		},
	]
	"categories": [
		{
			"id": 0,    #int
			"name": "1",    #str
			"supercategory": "name"    #str
		},
	]
}

最主要是有images, annotations, categories这三类就行,info和license也可以没有

images, annotations, categories这三类的元素个数不是相同的

像publaynet的example

len(images)就是图片个数

len(annotations)会远大于len(images),因为一张图多个标注

它们会通过id对应起来

len(categories)就是class种类数

categories也会和annotations同过id对应起来

COCO做图像标注任务

COCO数据集现在有3种标注类型:object instances(目标实例,用于目标检测), object keypoints(目标上的关键点,用于姿态估计), and image captions(看图说话),每种标注类型都有相应的json标注文件

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值