开头总爱瞎掰两句,简单介绍下主要是为了做实例分割时需要用到labelme转coco数据集,此处写一个详细教程,作为yolact实战贴 的补充。
文章目录
labelme2coco的数据处理
- 主要分两部分:1、用labelme标记样本获取json文件;2、json文件转coco数据集
- 两部分源代码跳转:
1、标记获取json文件
-
* 安装: 代码分 python2 和 python3
【首先安装anaconda,在conda终端创建新环境并进行如下操作(anaconda安装自行百度,这里只介绍windows安装labelme教程,其他请点击查看readme.md部分)】
# python2
conda create --name=labelme python=2.7
activate labelme
# conda install -c conda-forge pyside2
conda install pyqt
pip install labelme
# if you'd like to use the latest version. run below:
# pip install git+https://github.com/wkentaro/labelme.git
# python3
conda create --name=labelme python=3.6
activate labelme
# conda install -c conda-forge pyside2
conda install pyqt
# pip install pyqt5 # pyqt5 can be installed via pip on python3
pip install labelme
# or you can install everything by conda command
# conda install labelme -c conda-forge
-
标记样本数据获取json文件
基本操作如上图所示,选择保存的文件夹,最后的输出格式是 样本和json标签放在一起的
注:对原图像样本格式是png还是jpg没有要求,皆可。
2、json转coco数据集
-
进入instance_segmentation文件夹
打开咱之前下载的labelme代码,激活环境为 labelme 进入到
labelme-main/examples/instance_segmentation文件夹
这里解释一下,进入到instance_segmentation文件夹后,data_annotated是存放你样本数据和json的文件夹,可以把你的训练数据和json文件放到此目录。data_dataset_coo是运行后生成的文件夹,里面包含样本数据和coco标签数据 -
训练样本拷贝到data_annotated,修改labels.txt文件
-
进入terminal ,cd 到 instance_segmentation目录,输入以下代码
详情链接
./labelme2coco.py data_annotated data_dataset_coco --labels labels.txt
运行完成后生成一个 data_dataset_coo文件夹,至此train样本的coco文件制作完成,val样本的coco文件重复以上步骤即可
3、放置到指定文件夹
文件目录如下,黄色方框里的文件夹要自己建立,红色方框是拷贝过来的之前生成的样本数据,蓝色方框是上一步生成的coco标签annotations.json,需要重命名如图内容后拷贝到对应目录!!
工欲善其事必先利其器!至此,coco实例分割数据集建立完成!!!
4、问题处理
4.1 处理中途无故退出
-
问题1:生成coco数据集的data_dataset_coco文件夹时,转换部分数据后自动退出且未生成annotations.json文件。
解决办法:数据集问题,检查数据集是否每张图像都有对应的json文件,删除掉没有json文件的图像。
-
问题2:数据集每次转换到xxx(如477张)就自动停止,没有任何报错
解决办法:找到第477张对应图像前后的几张图像,可能图像问题,删除掉错误图像即可
-
问题3:未知错误
解决办法:删除掉生成的data_dataset_coco文件夹后重新运行代码