目标检测三大数据格式VOC,YOLO,COCO的详细介绍

注:本文仅供学习,未经同意请勿转载

 说明:该博客来源于xiaobai_Ry:2020年3月笔记

对应的PDF下载链接在:待上传

目录

目标检测常见数据集总结

 V0C数据集(Annotation的格式是xmI)

A.  数据集包含种类:

B.  V0C2007和V0C2012的区别:

C.  数据集格式:

D.  标注信息是用xmI文件组织的如下:

E.  各文件部分展示

COCO数据集(Annotation的格式是json)


目标检测常见数据集总结

这里先总结一下,我自己看完这三个常见目标检测数据集:

目标检测三大数据格式VOC,YOLO,COCO的详细介绍_第1张图片

 V0C数据集(Annotation的格式是xmI)

A.  数据集包含种类:

一共包含了20类。一共包含了20类。Person,bird, cat, cow, dog, horse, sheep,aeroplane, bicycle, boat, bus, car, motorbike, train, bottle, chair, dining table, potted plant, sofa, tv/monitor.

B.  V0C2007和V0C2012的区别:

目标检测三大数据格式VOC,YOLO,COCO的详细介绍_第2张图片

(图片来源于某博客,忘记是哪个博客了,如果博友知道,方便告诉,我补上链接)

VOC2007中包含9963张标注过的图片, 由train/val/test三部分组成, 共标注出24,640个物体。

对于检测任务,VOC2012的trainval/test包含08-11年的所有对应图片。 trainval有11540张图片共27450个物体。

C.  数据集格式:

. ├── Annotations 【Annotations下存放的是xml文件,每个xml对应JPEGImage中的一张图片描述

   |                              了图片信息】

  ├── ImageSets【包含三个子文件夹 Layout、Main、Segmentation】

  │   ├── Action【Action下存放的是人的动作(例如running、jumping等等)】

  │   ├── Layout 【Layout下存放的是具有人体部位的数据】

  │   ├── Main 【Main下存放的是图像物体识别的数据,总共分为20类。】

  │   └── Segmentation 【Segmentation下存放的是可用于分割的数据】

  ├── JPEGImages 【主要提供的是PASCAL VOC所提供的所有的图片信息,包括训练图片,测

                                     试图片

  |

  |

                   这些图像就是用来进行训练和测试验证的图像数据。注:是没有标记时的

                    原图

  ├── SegmentationClass 【存放按照 class 分割的图片;目标检测不需要】

  └── SegmentationObject【存放按照 object 分割的图片;目标检测不需要】

D.  标注信息是用xmI文件组织的如下:

	
		VOC2007
		000001.jpg  # 文件名 
		
			The VOC2007 Database
			PASCAL VOC2007
			flickr
			341012865
		
		
			Fried Camels
			Jinky the Fruit Bat
		
		  # 图像尺寸, 用于对 bbox 左上和右下坐标点做归一化操作
			353
			500
			3
		
		0  # 是否用于分割
		
			dog  # 物体类别
			Left  # 拍摄角度:front, rear, left, right, unspecified 
			1  # 目标是否被截断(比如在图片之外),或者被遮挡(超过15%)
			0  # 检测难易程度,这个主要是根据目标的大小,光照变化,图片质量来判断
			
				48
				240
				195
				371
			
		
		
			person
			Left
			1
			0
			
				8
				12
				352
				498
			
		

E.  各文件部分展示

        (1)JPEGImages:

        目标检测三大数据格式VOC,YOLO,COCO的详细介绍_第3张图片

         (2)Annotations

目标检测三大数据格式VOC,YOLO,COCO的详细介绍_第4张图片

COCO数据集(Annotation的格式是json)

目标检测三大数据格式VOC,YOLO,COCO的详细介绍_第5张图片

        图像来源链接:点击此处

A.  总类别:

        80类

B.  文件说明:

        3种标注类型,使用json文件存储,每种类型包含了训练和验证
        object instances(目标实例): 也就是目标检测object detection;object keypoints(目标上的关键点);
image captions(看图说话)

目标检测三大数据格式VOC,YOLO,COCO的详细介绍_第6张图片

C.  数据格式:

	{
	    "info": info,
	    "licenses": [license],
	    "images": [image],
	    "annotations": [annotation],
	}
	    
	info{
	    "year": int,
	    "version": str,
	    "description": str,
	    "contributor": str,
	    "url": str,
	    "date_created": datetime,
	}
	license{
	    "id": int,
	    "name": str,
	    "url": str,
	} 
	image{
	    "id": int,
	    "width": int,
	    "height": int,
	    "file_name": str,
	    "license": int,
	    "flickr_url": str,
	    "coco_url": str,
	    "date_captured": datetime,
	}

D.  与Voc的区别:

        和VOC相比,coco数据集,小目标多、单幅图片目标多、物体大多非中心分布、更符合日常环境,所以coco检测难度更大。

YOLO数据集(Annotation的格式是txt

A.   数据格式:

        会直接把每张图片标注的标签信息保存到一个txt文件中

B.  数据说明:

        0 0.521000 0.235075 0.362000 0.450249

        0 0.213000 0.645522 0.418000 0.519900

        0 0.794000 0.665423 0.376000 0.470149

  • 每一行代表标注的一个目标
  • 第一个数代表标注目标的标签,第一目标circle_red,对应数字就是0
  • 后面的四个数代表标注框的中心坐标和标注框的相对宽和高

目标检测三大数据格式VOC,YOLO,COCO的详细介绍_第7张图片

 注:keras版yolov3训练格式是name box class这种形式

数据集格式的转换(以上三种数据集格式:xmI,json,txt的相互转换)

A.  VocyoIo(xmItxt)的互

参考的博客:

把LabelImg标注的YOLO格式标签转化为VOC格式标签_吾爱北方的母老虎-CSDN博客_voc计算公式

把LabelImg标注的YOLO格式标签转化为VOC格式标签 和 把VOC格式标签转化为YOLO格式标签_点亮~黑夜的博客-CSDN博客

B.  三者的互转

参考的博客:

a. 推荐博客1

VOC、COCO、YOLOv3 的 .json .xml .txt 标签文件内容,格式转换_轮子去哪儿了-CSDN博客_去voc

VOC、COCO、YOLOv3 的 .json .xml .txt 标签文件内容,格式转换_轮子去哪儿了的博客-CSDN博客_json转xml yolov3

b. 推荐博客2

yolo格式、voc格式、coco格式相互转换(xml,json,txt)_qq_38109843的博客-CSDN博客_yolo格式

yolo格式、voc格式、coco格式相互转换(xml,json,txt)_三寸光阴___的博客-CSDN博客

额外

python 下json转xml、html,xml转json_weixin_42081389的博客-CSDN博客_python html转json

python 下json转xml、html,xml转json_zhaojiafu666的博客-CSDN博客

你可能感兴趣的:(目标检测学习笔记,目标检测,YOLO,数据转换,数据介绍,COCO)