Mask Rcnn目标分割

您所在的位置:网站首页 osp格式 Mask Rcnn目标分割

Mask Rcnn目标分割

2023-04-12 20:15| 来源: 网络整理| 查看: 265

本文接着介绍了Mask Rcnn目标分割算法如何训练自己数据集,对训练所需的文件以及训练代码进行详细的说明。

本文详细介绍在只有样本图片数据时,如果建立Mask Rcnn目标分割训练数据集的步骤。过程中用到的所有代码均已提供。

一、制作自己的数据集

1、labelme安装

自己的数据和上面数据的区别就在于没有.json标签文件,所以训练自己的数据关键步骤就是获取标签文件,制作标签需要用到labelme软件。我们在当前虚拟环境下直接安装:

activate py37_torch(这是我的虚拟环境)

pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/

pip install labelme

安装好后,直接在命令行输入labelme就可以打开标注软件了

具体安装和使用方法可以参考以下链接

https://zhuanlan.zhihu.com/p/436614108

2、labelme制作标签

在labelme软件中打开图片所在文件夹,一次对图片边缘进行画点制作标签,并保存,每张图片的标签以.json文件保存在图片所在目录

标签保存到与图片同一路径下,对所有图片标注后,得到下面所示的数据集(每张图片下面为对应的标签.json文件)

3、将标签转换为coco数据集格式(一)(可直接进行第4步,这一步仅作为探索中间过程的记录)

(1)单个json文件转换为coco格式

在利用mask rcnn进行自己的数据集训练时,数据集的格式要采用coco格式,所以利用labelme自带的json_to_dataset将自己的.json文件转换。该文件所在路径如下图所示:

打开json_to_dataset.py文件,对保存路径进行修改,修改为自己转换后的路径即可。

生成的文件夹下一共包含5个文件(这里缺少了一个yaml,后面会介绍如何获取yaml)

(2)批量转换

但是这样一个一个文件转太麻烦,因此我们需要写一个程序自动将所有.json文件一次性转换。

这里我写了一个批量转换的程序

My_json_to_dataset.py

import argparse import base64 import json import os import os.path as osp import imgviz import PIL.Image from labelme.logger import logger from labelme import utils import glob # 最前面加入导包 import yaml def main(): logger.warning( "This script is aimed to demonstrate how to convert the " "JSON file to a single image dataset." ) logger.warning( "It won't handle multiple JSON files to generate a " "real-use dataset." ) parser = argparse.ArgumentParser() ###############################################增加的语句############################## # parser.add_argument("json_file") parser.add_argument("--json_dir",default="D:/2021file/Biye/Mask_RCNN-master/samples/Mydata") ##############################################


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3