目录
数据集类型介绍
voc
VOC 数据集由五个部分构成:JPEGImages,Annotations,ImageSets,SegmentationClass 以及 SegmentationObject.
- JPEGImages:存放的是训练与测试的所有图片。
- Annotations:里面存放的是每张图片打完标签所对应的 XML 文件。
- ImageSets:ImageSets 文件夹下本次讨论的只有 Main 文件夹,此文件夹中存放的主要又有四个文本文件 test.txt、train.txt、trainval.txt、val.txt, 其中分别存放的是测试集图片的文件名、训练集图片的文件名、训练验证集图片的文件名、验证集图片的文件名。
- SegmentationClass 与 SegmentationObject:存放的都是图片,且都是图像分割结果图,对目标检测任务来说没有用。class segmentation 标注出每一个像素的类别
- object segmentation 标注出每一个像素属于哪一个物体。
voc 数据集的标签主要以 xml 文件形式进行存放。
xml 文件的标注格式如下:
<annotation>
<folder>17</folder> # 图片所处文件夹
<filename>77258.bmp</filename> # 图片名
<path>~/frcnn-image/61/ADAS/image/frcnn-image/17/77258.bmp</path>
<source> #图片来源相关信息
<database>Unknown</database>
</source>
<size> #图片尺寸
<width>640</width>
<height>480</height>
<depth>3</depth>
</size>
<segmented>0</segmented> #是否有分割label
<object> 包含的物体
<name>car</name> #物体类别
<pose>Unspecified</pose> #物体的姿态
<truncated>0</truncated> #物体是否被部分遮挡(>15%)
<difficult>0</difficult> #是否为难以辨识的物体, 主要指要结体背景才能判断出类别的物体。虽有标注, 但一般忽略这类物体
<bndbox> #物体的bound box
<xmin>2</xmin> #左
<ymin>156</ymin> #上
<xmax>111</xmax> #右
<ymax>259</ymax> #下
</bndbox>
</object>
</annotation>
coco
COCO 数据集现在有 3 种标注类型,分别是:
- object instances(目标实例)
- object keypoints(目标上的关键点)
- image captions(看图说话)
这 3 种类型共享这些基本类型:info、image、license,使用 JSON 文件存储。
json 文件的标注格式如下:
以 Object Instance 为例,这种格式的文件从头至尾按照顺序分为以下段落:
{
"info": info, # dict
"licenses": [license], # list,内部是dict
"images": [image], # list,内部是dict
"annotations": [annotation],# list,内部是dict
"categories": [category] # list,内部是dict
}
info{ # 数据集信息描述
"year": int, # 数据集年份
"version": str, # 数据集版本
"description": str, # 数据集描述
"contributor": str, # 数据集提供者
"url": str, # 数据集下载链接
"date_created": datetime, # 数据集创建日期