当前位置:   article > 正文

PaddleSeg脚本自建一个数据集,使用paddleseg内置脚本工具_paddleseg自定义数据集

paddleseg自定义数据集

在使用paddleseg进行语义分割时,第一步就是需要构建起自己的数据集,下文记录自己如何使用其自带的module——labelme2seg.py   split_dataset_list.py来构建。为了利用GPU,我通过本地进行数据集的搭建,上传到aistudio后,利用百度免费GPU资源再进行训练。因而下面的工具均为以下载到本地。

文章内容主要参考:PaddleSeg/README_CN.md at release/2.3 · PaddlePaddle/PaddleSeg · GitHub

一 使用labelme标注,获得json文件

在使用labelme标注结束后,会产生例如下的文件结构,即json文件与原图jpg在同一文件夹内

二 对json文件进行解析

此时我们先使用labelme2seg.py对json文件进行解析,在cmd中输入

  1. # 此时在数据目录下进行运行
  2. # Test为我存放json即原图的文件
  3. python tools/labelme2seg.py Test

此时,脚本运行后,则自动生成一个class_name.txt以及annotations文件夹,annotations文件夹内存放了json文件解释出来的label文件,运行结果如下

三 整理数据树结构 

生成后,json文件已经使用完毕了,此时按照paddleseg推荐的结构进行整理

./dataset/  # 数据集根目录
|--images  # 原图目录
|  |--xxx1.jpg (xx1.png)
|  |--...
|  └--...
|
|--annotations  # 标注图目录
|  |--xxx1.png
|  |--...
|  └--...

所以在文件夹里,新建images文件夹,将原图剪切整理进去,然后可以把json文件都删掉,因为没用了,label已经都解压到了annotations(上一步生成)文件夹里,整理如下

四 切分自定义数据集

神经网络模型的训练过程通常要划分为训练集、验证集、测试集。因为我们将我们所有的数据按照此三类进行整理,此处使用PaddleSeg提供了生成切分数据并生成文件列表的脚本。

  1. # 此时在数据目录下进行运行
  2. # 数据集目录为Test Test其中原图目录为images 标注图目录为annotations
  3. python tools/split_dataset_list.py Test images annotations --split 0.6 0.2 0.2 --format jpg png

脚本执行结果如下:

 生成了train.txt  val.txt  test.txt三个目录

目录的内容如下

 此时已经完成了数据集的构建工作,文中主要书写了paddleseg自带的脚本文件的用法,以供参考

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/819466
推荐阅读
相关标签
  

闽ICP备14008679号