1、环境准备
操作系统:macOS
python:3.6.0
2、coco数据集
文件夹格式:
coco/
- annotations/
- instances_train2017.json
- instances_val2017.json
- images/
- rail_1.jpg
- ...
- rail_5.jpg
- ...
- train2017/
- val2017
coco格式:
整体结构
{
"info": info,
"licenses": [license],
"images": [image],
"annotations": [annotation],
"categories": [category]
}
info字段
info: { "year": int, "version": str, "description": str, "contributor": str, "url": str, "date_created": datetime,}
licenses字段
license{ "id": int, "name": str, "url": str,}
images字段
image{ "id": int, "width": int, "height": int, "file_name": str, "license": int, "flickr_url": str, "coco_url": str, "date_captured": datetime,}
annotations字段
annotation{ "id": int, "image_id": int, "category_id": int, "segmentation": RLE or [polygon], "area": float, "bbox": [x,y,width,height], "iscrowd": 0 or 1,}
annotations字段另外一种: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、labelme文件夹
labelme/
- 0d4c5e4f-fc3c-4d5a-906c-105.json
- 0d4c5e4f-fc3c-4d5a-906c-105.jpg
- 0ddfc5aea-fcdac-421-92dad-144.json
- 0ddfc5aea-fcdac-421-92dad-144.jpg
4、原始数据集是一系列.jpg的图片
![38aae6f53fac0af6b931ea65b6a0abbb.png](https://i-blog.csdnimg.cn/blog_migrate/584bb2bf5857e591e453e8d9ab1da7b9.jpeg)
5、先将原始图片转为labelme
pip install labelme
安装好后运行labelme输入labelme即可
labelme
点击open dir选择数据集文件夹
![27de647ffb23ef16a0198794fde52dd2.png](https://i-blog.csdnimg.cn/blog_migrate/3f9131fdffb1871f04bb55e06bb0ea25.jpeg)
然后右击选择create polygons标记多边形
![611bf83350285d1cb52145df5c6e4c2a.png](https://i-blog.csdnimg.cn/blog_migrate/da022b458caff9dc606549ca854b3d62.jpeg)
点击save保存在图片同一路径下
6、labelme转coco数据格式(labelme2coco)
下载labelme项目
git clone https://github.com/wkentaro/labelme.git
进入下图文件夹
![ab1bf0386a81d9f571e4bbf99301e41b.png](https://i-blog.csdnimg.cn/blog_migrate/556540f55890b43a349baf3c2b721391.jpeg)
将生成好的labelme文件放入data_annotated
![7c1cd79aaf2abfd52d806d39f5aed06a.png](https://i-blog.csdnimg.cn/blog_migrate/43b346f2bfcafb960fbe348b2bf8bd8e.jpeg)
删除data_dataset_coco文件夹
修改labels.txt文件中的类别
执行以下命令即可
./labelme2coco.py data_annotated data_dataset_coco --labels labels.txt