数据集处理(1)-相关数据集介绍

Kitti数据集

数据描述
KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。整个数据集由389对立体图像和光流图,39.2 km视觉测距序列以及超过200k 3D标注物体的图像组成 ,以10Hz的频率采样及同步。总体上看,原始数据集被分类为’Road’, ’City’, ’Residential’, ’Campus’ 和 ’Person’。对于3D物体检测,label细分为car, van, truck, pedestrian, pedestrian(sitting), cyclist, tram以及misc组成。
数据组织形式

data_object_image_2
    testing
        image_2    [7518个图片]
    training
        image_2    [7481个图片]
------------------------------
training
    label_2        [7481个txt文件]

KITTI标注信息说明

type             bbox
Car 0.00 0 -1.67 642.24 178.50 680.14 208.68 1.38 1.49 3.32 2.41 1.66 34.98 -1.60 
Car 0.00 0 -1.75 685.77 178.12 767.02 235.21 1.50 1.62 3.89 3.27 1.67 21.18 -1.60

换成voc格式

DETRAC数据集[vehicle Detection]

数据介绍[只有车辆没有行人]
1,车辆检测和跟踪的大规模数据集,可以作为 KITTI 的补充。
2,数据集主要拍摄于北京和天津的道路过街天桥(京津冀场景有福了),并 手动标注了 8250 个车辆 和 121万目标对象外框。
3,附带的 Toolkit 统一了数据接口,里面包含了几种 State-Of-The-Art 的检测和跟踪方法(大家可以进行测试比较)。
数据集:DETRAC-Train-Images (5.22GB, 60 sequences) + DETRAC-Test-Images (3.94GB, 40 sequences)
检测:DETRAC-Train-Detections (DPM, ACF, R-CNN, CompACT) + DETRAC-Test-Detections (DPM, ACF, R-CNN, CompACT)

COCO 2014 数据集

数据介绍
Common Object in Context (COCO) 是一个由微软维护的图像数据集,可进行对象识别、图像分割和图片中字幕识别等机器视觉任务的数据集,包括:超过30万 幅图像、超过 200万 个实例、80多类对象等。数据来源: 【http://mscoco.org/】;文件大小【 24.97 Gb】【https://blog.csdn.net/zziahgf/article/details/72819043
coco数据集的注释数据是以json格式存储的,coco很贴心的配置了数据读取的API,下载链接是github的:https://github.com/cocodataset/cocoapi
一般照着它的README文档来做就ok了,如果有用python3来调用它的API的时候,需要先在python3下已经安装过cython(方法:pip3 install cython),然后修改makeconfig里的文件,将python修改为python3,然后再make就好了。
这里写图片描述
基本的JSON结构体类型
object instances(目标实例)、object keypoints(目标上的关键点)、image captions(看图说话)这3种类型共享这些基本类型:info、image、license。
而annotation类型则呈现出了多态:

{
    "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,
}

1,info类型,比如一个info类型的实例:

"info":{
    "description":"This is stable 1.0 version of the 2014 MS COCO dataset.",
    "url":"http:\/\/mscoco.org",
    "version":"1.0","year":2014,
    "contributor":"Microsoft COCO group",
    "date_created":"2015-01-27 09:11:52.357475"
},

2,Images是包含多个image实例的数组,对于一个image类型的实例:

{
    "license":3,
    "file_name":"COCO_val2014_000000391895.jpg",
    "coco_url":"http:\/\/mscoco.org\/images\/391895",
    "height":360,"width":640,"date_captured":"2013-11-14 11:18:45",
    "flickr_url":"http:\/\/farm9.staticflickr.com\/8186\/8119368305_4e622c8349_z.jpg",
    "id":391895
},

3,licenses是包含多个license实例的数组,对于一个license类型的实例:

{
    "url":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/2.0\/",
    "id":1,
    "name":"Attribution-NonCommercial-ShareAlike License"
},

Object Instance 类型的标注格式
1,整体JSON文件格式
比如上图中的instances_train2017.json、instances_val2017.json这两个文件就是这种格式。
Object Instance这种格式的文件从头至尾按照顺序分为以下段落:

{
    "info": info,
    "licenses": [license],
    "images": [image],
    "annotations": [annotation],
    "categories": [category]
}

2,annotations字段
annotations字段是包含多个annotation实例的一个数组,annotation类型本身又包含了一系列的字段,如这个目标的category id和segmentation mask。segmentation格式取决于这个实例是一个单个的对象(即iscrowd=0,将使用polygons格式)还是一组对象(即iscrowd=1,将使用RLE格式)。如下所示:
annotation{
“id”: int,
“image_id”: int,
“category_id”: int,
“segmentation”: RLE or [polygon],
“area”: float,
“bbox”: [x,y,width,height],
“iscrowd”: 0 or 1,
}
注意,单个的对象(iscrowd=0)可能需要多个polygon来表示,比如这个对象在图像中被挡住了。而iscrowd=1时(将标注一组对象,比如一群人)的segmentation使用的就是RLE格式。
注意啊,只要是iscrowd=0那么segmentation就是polygon格式;只要iscrowd=1那么segmentation就是RLE格式。另外,每个对象(不管是iscrowd=0还是iscrowd=1)都会有一个矩形框bbox ,矩形框左上角的坐标和矩形框的长宽会以数组的形式提供,数组第一个元素就是左上角的横坐标值。
area是area of encoded masks,是标注区域的面积。如果是矩形框,那就是高乘宽;如果是polygon或者RLE,那就复杂点。
最后,annotation结构中的categories字段存储的是当前对象所属的category的id,以及所属的supercategory的name。
下面是从instances_val2017.json文件中摘出的一个annotation的实例,这里的segmentation就是polygon格式:

{
    "segmentation": [[510.66,423.01,511.72,420.03,510.45......]],
    "area": 702.1057499999998,
    "iscrowd": 0,
    "image_id": 289343,
    "bbox": [473.07,395.93,38.65,28.67],
    "category_id": 18,
    "id": 1768
},

3,categories字段
categories是一个包含多个category实例的数组,而category结构体描述如下:

{
    "id": int,
    "name": str,
    "supercategory": str,
}

从instances_val2017.json文件中摘出的2个category实例如下所示:

{
    "supercategory": "person",
    "id": 1,
    "name": "person"
},
{
    "supercategory": "vehicle",
    "id": 2,
    "name": "bicycle"
},

至2017年的时候,一共有80个category。
虽然比ImageNet和SUN类别少,但是每一类的图像多,这有利于获得更多的每类中位于某种特定场景的能力,对比PASCAL VOC,其有更多类和图像。2014年版本:82,783 training, 40,504 validation, and 40,775 testing images,有270k的segmented people和886k的segmented object。
和VOC相比,coco数据集上小目标多,单幅图片目标多,物体大多非中心分布,更符合日常环境,所以coco检测难度更大.

voc数据集

VOC数据集:(包含5个文件夹)
1,JPEGImages包含PASCAL VOC所提供的所有图片信息,包括训练图片和测试图片,以”年份_编号.jpg”格式命名.横向图尺寸大约在500*375左右,纵向图尺寸大约在375*500左右,基本偏差不会超过100,因为训练的第一步就是将图片resize到300*300或者500*500.
2,Annotations存放的是xml格式的标签文件,每个文件都对应JPEGImages文件夹的一张图片
3,ImageSets存放的是每一种类型的challenge对应的图像数据.其中Action下存放的是人的动作(例如running、jumping等等,这也是VOC challenge的一部分)
4,Layout下存放的是具有人体部位的数据(人的head、hand、feet等等,这也是VOC challenge的一部分)Main下存放的是图像物体识别的数据,总共分为20类。
5,Segmentation下存放的是可用于分割的数据。其中Main文件夹包含20个分类的train.txt,val.txt和trainval.txt,在txt文件中前边的数字表示名字,后边的1和-1表示正负样本的标签
6,SegmentationClass和SegmentationObject保存了物体分割后的图片
voc2012[VOCtrainval_11-May-2012]====[17125张]
下载完之后解压,可以在VOCdevkit目录下的VOC2012中看到如下的文件:
这里写图片描述
voc2007[VOCtrainval_06-Nov-2007,VOCtest_06-Nov-2007]
下载完之后解压,得到的是VOCdevkit文件:

+VOCtrainval_06-Nov-2007====[5101张]
    +VOCdevkit
        +VOC2007
            +Annotations
            +ImageSets
            +JPEGImages
            +SegmentationClass
            +SegmentationObject
+VOCtest_06-Nov-2007====[4952张]
    +VOCdevkit
        +VOC2007
            +Annotations
            +ImageSets
            +JPEGImages
            +SegmentationClass
            +SegmentationObject

voc_all合起来[26332]

LFW(人脸比对数据集)

https://blog.csdn.net/chenriwei2/article/details/50631212
无约束自然场景人脸识别数据集,该数据集由13000多张全世界知名人士互联网自然场景不同朝向、表情和光照环境人脸图片组成,共有5000多人,其中有1680人有2张或2张以上人脸图片。每张人脸图片都有其唯一的姓名ID和序号加以区分。
LFW数据集主要测试人脸识别的准确率,该数据库从中随机选择了6000对人脸组成了人脸辨识图片对,其中3000对属于同一个人2张人脸照片,3000对属于不同的人每人1张人脸照片。测试过程LFW给出一对照片,询问测试中的系统两张照片是不是同一个人,系统给出“是”或“否”的答案。通过6000对人脸测试结果的系统答案与真实答案的比值可以得到人脸识别准确率。
这个集合被广泛应用于评价 face verification算法的性能。
1,13233 images
2,5749 people
3,1680 people with two or more images
图片位置格式:“lfw/name/name_xxxx.jpg”

MOT16数据集

主要标注目标为移动的行人与车辆,是基于MOT15的添加了细化的标注、更多bounding box的数据集, MOT16拥有更加丰富的画面,不同拍摄视角和相机运动,也包含了不同天气状况的视频。
一、MOT16数据集的信息: MOT16数据集共有14个视频序列,其中7个为带有标注信息的训练集,另外7个为测试集。
下图为MOT16数据集的数据统计表,第一个表为训练集,第二个表为测试集,表格信息包含视频帧率(帧/秒),每帧图像的尺寸,时长,标注box数量,平均每一帧出现的行人数,相机运动情况和拍摄视角以及天气状况。
这里写图片描述
MOT16数据集的文档组织格式,所有视频被按帧分为图像,图像统一采用jpeg格式,命名方式为6位数字如:000001.jpg,目标和轨迹信息标注文件为CSV格式,目标信息文件和轨迹信息文件每行都代表一个目标的相关信息,每行都包含9个数值。目标检测文件中内容见下图,第一个值表示目标出现在第几帧,第二个值表示目标运动轨迹的ID号,在目标信息文件中都为-1,第三到第六个值为标注bounding box的坐标尺寸值,第七个值为目标检测表示的confidence score,第八、九个值在目标信息文件中不作标注(都设为-1)。
这里写图片描述
下图为目标的轨迹标注文件,第一个值同上,第二个值为目标运动轨迹的ID号,第三个到第六个值的同上,第七个值为目标轨迹是否进入考虑范围内的标志,0表示忽略,1表示active。第八个值为该轨迹对应的目标种类(种类见下面的表格中的label-ID对应情况),第九个值为box的visibility ratio,表示目标运动时被其他目标box包含/覆盖或者目标之间box边缘裁剪情况。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_27163197/article/details/80405729
今日推荐