目录
1数据下载
2数据格式解析
3举例
3.1实例分割任务的示例如下:
3.2图像描述生成任务的示例如下:
3.3人体关键点检测任务示例如下:
4实例分割任务标注详解
4.1label详解
1.info
2.licenses
3.images
4.categories
5.annotations
4.2image详解
整理不易,欢迎一键三连!!!
送你们一条美丽的--分割线--
下载COCO2014/2017数据集,里面有label格式,可以按照这个数据格式准备自己的数据集。这里是废了很大力气的。下载数据集命令:
sh COCO_test.sh
其中coco_test.sh内容如下:
#!/bin/bash
start=`date +%s`
# handle optional download dir
if [ -z "$1" ]
then
# navigate to ./data
echo "navigating to ./data/ ..."
mkdir -p ./data
cd ./data/
mkdir -p ./coco
cd ./coco
mkdir -p ./images
mkdir -p ./annotations
else
# check if specified dir is valid
if [ ! -d $1 ]; then
echo $1 " is not a valid directory"
exit 0
fi
echo "navigating to " $1 " ..."
cd $1
fi
if [ ! -d images ]
then
mkdir -p ./images
fi
# Download the image data.
cd ./images
echo "Downloading MSCOCO train images ..."
curl -LO http://images.cocodataset.org/zips/train2017.zip
echo "Downloading MSCOCO val images ..."
curl -LO http://images.cocodataset.org/zips/val2017.zip
cd ../
if [ ! -d annotations ]
then
mkdir -p ./annotations
fi
# Download the annotation data.
cd ./annotations
echo "Downloading MSCOCO train/val annotations ..."
curl -LO http://images.cocodataset.org/annotations/annotations_trainval2014.zip
curl -LO http://images.cocodataset.org/annotations/annotations_trainval2017.zip
echo "Finished downloading. Now extracting ..."
# Unzip data
echo "Extracting train images ..."
unzip -qqjd ../images ../images/train2017.zip
echo "Extracting val images ..."
unzip -qqjd ../images ../images/val2017.zip
echo "Extracting annotations ..."
unzip -qqd .. ./annotations_trainval2014.zip
unzip -qqd .. ./annotations_trainval2017.zip
echo "Removing zip files ..."
rm ../images/train2017.zip
rm ../images/val2017.zip
rm ./annotations_trainval2014.zip
rm ./annotations_trainval2017.zip
end=`date +%s`
runtime=$((end-start))
echo "Completed in " $runtime " seconds"
下载数据界面,过程可能比较慢。。。
标注文件:instances_train2017.json
以 COCO2017\annotations_train2017\annotations\instances_train2017.json
为例。这个json文件中的信息有以下5个键值所指。
基本结构如下:
数据集标注json文件所在目录annotations_train2017,文件目录如下:
a man flying through the air while riding a skateboard.
a skateboarder doing a trick at a skate park.
a man in black hovers over a skateboard while they are both in the air.
a person jumping a skate board in the sky
a person on a skateboard jumping up into the air.
{
“info”: {…},
“licenses”: […],
“images”: […],
“categories”: […],
“annotations”: […]
}
其中info、images、licenses三个key是不同类型标注文件共享的,最后的annotations和categories按照不同的任务有所不同,这两个也是我们制作自己的实例分割数据集的关键。
该字典包含有关数据集的元数据,对于官方的 COCO 数据集,如下:
{
“description”: “COCO 2017 Dataset”,
“url”: “http://cocodataset.org”,
“version”: “1.0”,
“year”: 2017,
“contributor”: “COCO Consortium”,
“date_created”: “2017/09/01”
}
info仅包含基本信息,"url"值指向数据集官方网站(例如 UCI 存储库页面或在单独域中),这是机器学习数据集中常见的事情,指向他们的网站以获取更多信息,例如获取数据的方式和时间。
licenses是数据集中图像许可的链接,例如知识共享许可,具有以下结构:
[
{
“url”: “http://creativecommons.org/licenses/by-nc-sa/2.0/”,
“id”: 1,
“name”: “Attribution-NonCommercial-ShareAlike License”
},
{
“url”: “http://creativecommons.org/licenses/by-nc/2.0/”,
“id”: 2,
“name”: “Attribution-NonCommercial License”
},
…
]
这里要注意的重要一点是"id"字段——"images"字典中的每个图像都应该指定其许可证的“id”。
在使用图像时,请确保没有违反其许可——可以在 URL 下找到全文。如果我们决定创建自己的数据集,请为每个图像分配适当的许可——如果我们不确定,最好不要使用该图像。
images这个字典还包含了所有的图片的名称但是没有图片中目标的信息。
包含有关图像的元数据,images内容示例如下:
{
“license”: 3,
“file_name”: “000000391895.jpg”,
“coco_url”: “http://images.cocodataset.org/train2017/000000391895.jpg”,
“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
}
categories目标检测/目标分割示例
[
{“supercategory”: “person”, “id”: 1, “name”: “person”},
{“supercategory”: “vehicle”, “id”: 2, “name”: “bicycle”},
{“supercategory”: “vehicle”, “id”: 3, “name”: “car”},
…
{“supercategory”: “indoor”, “id”: 90, “name”: “toothbrush”}
]
这些是可以在图像上检测到的对象类别("categories"在 COCO 中是类别的另一个名称,我们可以从监督机器学习中了解到)。
每个类别都有一个唯一的"id",它们应该在 [1,number of categories] 范围内。类别也分为“超类别”,我们可以在程序中使用它们,例如,当我们不关心是自行车、汽车还是卡车(name)时,一般检测车辆(supercategory)。
annotations包含以下7个信息。
最后使用数据集时,要使用image_id来获取目标所在的图片,使用bbox获得目标的边界框,category_id来获得目标的类别,这是最主要的三个参数
image没有什么可解释的,就是跟正常分割的数据集格式一样,文件夹里包含所有训练数据集原图。
⛵⛵⭐⭐
参考:链接