Data format
一、COCO
COCO数据集,是将所有图像的标签信息和类别信息存放在一个json文件。
Data Format 数据格式
https://cocodataset.org/#format-data
JSON文件的基本格式,以实例分割为例,主要有五个部分:info、licenses、images、annotations、categories
其中,
info表明是字典格式存储。
images是标注图片的信息,包括图片名、长、宽、高、路径等。
Annotation是标注的信息,包括坐标信息、区域、类别。
Categories是标注的分类名称。
数据集文件目录结构 example例子
Coco2017的文件格式:
├── coco2017: 数据集根目录
├── train2017: 所有训练图像文件夹(118287张)
├── val2017: 所有验证图像文件夹(5000张)
└── annotations: 对应标注文件夹
├── instances_train2017.json: 对应目标检测、分割任务的训练集标注文件
├── instances_val2017.json: 对应目标检测、分割任务的验证集标注文件
├── captions_train2017.json: 对应图像描述的训练集标注文件
├── captions_val2017.json: 对应图像描述的验证集标注文件
├── person_keypoints_train2017.json: 对应人体关键点检测的训练集标注文件
└── person_keypoints_val2017.json: 对应人体关键点检测的验证集标注文件夹
目标识别task中:
bbox:[x_min, ymin, width, height] 格式:左上宽高
二、PASCAL VOC
PASCAL全称:Pattern Analysis, Statical Modeling and Computational Learning,是一个由欧盟资助的网络组织。PASCAL VOC挑战赛主要包括以下几类:图像分类(Object Classification),目标检测(Object Detection),目标分割(Object Segmentation),行为识别(Action Classification) 等。
COCO数据集是微软在ImageNet和PASCAL VOC数据集标注上的基础上产生的,主要是用于图像分类、检测和分割等任务。
VOC数据集,将每一张图像的标签信息单独保存在一个xml文件中。
Data Format
https://blog.csdn.net/wudongliang971012/article/details/130316813
PASCAL VOC数据集文件目录结构
PASCAL VOC2012数据集文件目录结构如下所示:
VOCdevkit #根目录
└── VOC2012 #不同年份的数据集,这里只下载了2012的,还有2007等其它年份的
├── Annotations # 存放xml文件,与JPEGImages中的图片一一对应。所有的图像标注信息(XML文件)
├── ImageSets
│ ├── Action # 人的行为动作图像信息
│ ├── Layout # 人的各个部位图像信息
│ │
│ ├── Main # 目标检测分类图像信息
│ │ ├── train.txt # 训练集(5717) txt文件中每一行包含一个图片名称
│ │ ├── val.txt #验证集(5823)
│ │ └── trainval.txt 训练集+验证集(11540)
│ │
│ └── Segmentation 图像分割信息
│ ├── train.txt 训练集(1464)
│ ├── val.txt 验证集(1449)
│ └── trainval.txt 训练集+验证集(2913)
│
├── JPEGImages # 存放所有源图像文件
├── SegmentationClass 语义分割图像(类别)
└── SegmentationObject 实例分割图像(目标检测)
注意,train.txt、val.txt和trainval.txt文件里记录的是对应标注文件的索引,每一行对应一个索引信息,对应的索引文件在Annotations文件夹下找到对应的标注文件(.xml)。
Labelimg和labelme等标注工具可以对图像标注。
JPEGImages:存放的是训练与测试的所有图片。
Annotations(注释):数据集标签的存储路径,通过XML文件格式,为图像数据存储各类任务的标签。其中部分标签为目标检测的标签。里面存放的是每张图片打完标签所对应的XML文件。
ImageSets:ImageSets文件夹下本次讨论的只有Main文件夹,此文件夹中存放的主要又有四个文本文件test.txt、train.txt、trainval.txt、val.txt, 其中分别存放的是测试集图片的文件名、训练集图片的文件名、训练验证集图片的文件名、验证集图片的文件名。
SegmentationClass与SegmentationObject:存放的都是图片,且都是图像分割结果图,对目标检测任务来说没有用。class segmentation 标注出每一个像素的类别
object segmentation 标注出每一个像素属于哪一个物体
example
VOC
├─Annotations
│ ├─img000001.xml
│ ├─img000002.xml
│ ├─img000003.xml
│ ├─img000004.xml
│ ├─img000005.xml
│ └─......
│
├─ImageSets
│ └─Main
│ ├─test.txt
│ ├─train.txt
│ ├─trainval.txt
│ └─val.txt
│
└─JPEGImages
├─img000001.jpg
├─img000002.jpg
├─img000003.jpg
├─img000004.jpg
├─img000005.jpg
└─......
目标识别task中:
bbox:[x_min, y_min, x_max, y_max] 格式:左上右下
三、YOLO
yolo数据集标注格式主要是 yolov5 项目需要用到。
图像分类目标识别目录结构
dataset
├─images
│ ├─train
│ │ ├─ flip_mirror_himg0026393.jpg
│ │ ├─ flip_mirror_himg0026394.jpg
│ │ ├─ flip_mirror_himg0026395.jpg
│ │ ├─ flip_mirror_himg0027314.jpg
│ │ ├─ flip_mirror_himg0027315.jpg
│ │ └─flip_mirror_himg0027316.jpg
│ │
│ └─val
│ ├─ flip_mirror_himg0027317.jpg
│ └─flip_mirror_himg0027318.jpg
│
└─labels
├─train
│ ├─ flip_mirror_aimg0025023.txt
│ ├─ flip_mirror_aimg0025024.txt
│ ├─ flip_mirror_aimg0025025.txt
│ ├─ flip_mirror_aimg0025026.txt
│ ├─ flip_mirror_aimg0025027.txt
│ └─ flip_mirror_aimg0025028.txt
│
└─val
├─ flip_mirror_aimg0025029.txt
└─flip_mirror_aimg0025030.txt
目标识别task中:
bbox [x_center, y_center, width, height]并进行数据规范化(normalized)
格式:中心坐标,宽高
四、DOTA
DOTA数据集,将每一张图像的标签信息单独保存在一个txt文件中。
任务 task
图像
图像分类、目标检测、目标跟踪、影像重建、语义分割、实例分割、全景分割、姿态估计
文字
Action Classification(专注于人体动作的一种分类)
Person Layout(专注于人体各部位的一种目标检测)
目标检测(图像识别),数据集的标注文件分为两个版本:有向目标边框(Oriented Bounding Box,OBB)与水平目标边框(Horizontal Bounding Box,HBB)。
备注
来源(source)
目录结构(dir)
文件结构(file)
数据集格式(data format)
COCO
PASCAL VOC
YOLO
other
已处理(processed)
图像分类,目标标注
可用于任务(task)
图像分类
目标检测