一、前言

官方原话:EISeg(Efficient Interactive Segmentation)是基于飞桨开发的一个高效智能的交互式分割标注软件。涵盖了高精度和轻量级等不同方向的高质量交互式分割模型,方便开发者快速实现语义及实例标签的标注,降低标注成本。 另外,将EISeg获取到的标注应用到PaddleSeg提供的其他分割模型进行训练,便可得到定制化场景的高精度模型,打通分割任务从数据标注到模型训练及预测的全流程。

官方GitHub:PaddleSeg/EISeg at release/2.6 · PaddlePaddle/PaddleSeg · GitHub

由于我也常常使用百度飞浆的PaddleSeg框架,与ElSeg标注得到的文件也是适配的,且相比LabelMe的比较繁琐的标注,ElSeg的标注更加省时省力。ElSeg支持COCO格式和Json格式的保存方式,适配度高。

二、实战

1.安装

安装百度飞浆的SDK:

pip install paddlepaddle

安装EISeg:

pip install eiseg

命令行启动:

eiseg

成功开启,这里还没导入相应的预训练模型,需要提前去官网选择下载相关的预训练模型:

官网:PaddleSeg/image.md at release/2.6 · PaddlePaddle/PaddleSeg · GitHub

这里我使用的是HRNet18_OCR64通用场景标注的高精度模型,下载好后导入到EISeg中使用:

加载完成后,左下角会有一行小字显示:

HRNet18_OCR64模型加载成功

2.数据集处理与标注

将原始数据集进行重命名和归一化处理:

新建 change_name.py  文件

import os
#任何格式的文件都适用
path = r"F:\Datasets\Lane_line_dataset\divide"
filelist = os.listdir(path)
count=0
for file in filelist:print(file)
for file in filelist:Olddir=os.path.join(path,file)if os.path.isdir(Olddir):continuefilename=os.path.splitext(file)[0]filetype=os.path.splitext(file)[1]Newdir=os.path.join(path,str(count).zfill(6)+filetype)os.rename(Olddir,Newdir)count+=1

将原始图像的命名格式改为:000000、000001、000002等(以此类推)

在EISeg中选择重命名后的数据集文件夹进行标注,将输出标注的格式修改为json格式(默认下是输出COCO格式):

我选择的是一个无人车的车道线数据集,自定义分割标签的名称和对应颜色,设置好后导出备用:

然后就可以开始标注了,鼠标左键是正向趋势的标注,鼠标右键是逆向趋势的标注,你可以自行尝试使用。重要的一点是,每次标注完一种颜色则需要点保存,再开始标注另一种颜色。

全部标注完成后会在原始文件夹下产生一个新的文件夹:labels文件夹,内含:

其中,黑色的、只以数字为图像名称的图像就是我们PaddleSeg训练所需要的 annotations,我用程序将其分离开来:

新建  get_annotations.py  :

import os
import shutildef read_name():source_file_path0 = 'data/label/'               #注意opencv库不能打开中文路径name0 = os.listdir(source_file_path0)                    #读取源路径下所有文件的名称,将其放在一个列表内返回,每个元素代表一个文件名new_file_path0 = 'data/annotations/'return name0, new_file_path0, source_file_path0if __name__ == "__main__":name, new_file_path, source_file_path = read_name()print(name)for i in name:if 'png' in i:png_name=i[:-4]print("png:", png_name, type(png_name))if png_name.isdigit():#是返回正middle_file_name = source_file_path + i          #指定文件的路径为路径名加文件名shutil.copy(middle_file_name, new_file_path)    #左边是源文件的路径加文件名称,后面是目标路径,可不加文件名称

PaddleSeg训练所需要数据集架构:

data||--annotions          # 存放所有原图|  |--000000.jpg|  |--000001.jpg|  |--...||--images           # 存放所有标注图|  |--000000.png|  |--000001.png|  |--...

我们再将annotions内图像进行伪彩色标注图处理

python tools/gray2pseudo_color.py <dir_or_file> <output_dir>

最后进行数据集划分:

python tools/split_dataset_list.py <dataset_root> images annotations --split 0.6 0.2 0.2 --format jpg png

得到最终训练所需的数据集架构:

data||--annotions|  |--000000.jpg|  |--000001.jpg|  |--...||--images|  |--000000.png|  |--000001.png|  |--...||--train.txt||--val.txt||--test.txt

三个txt文件的内容如下,每行是一张原始图片和标注图片的相对路径(相对于txt文件),两个相对路径中间是空格分隔符。

images\000004.jpg annotations\000004.png
images\000000.jpg annotations\000000.png
...

至此,PaddleSeg进行语义分割训练所需要的数据集架构基本完成。

使用PaddleSeg训练自己数据集的教程:

PPLiteSeg训练自己的数据集实现自动驾驶并爆改制作成API可供其他Python程序调用实时语义分割(超低延时)_Leonard2021的博客-CSDN博客

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

本文到此结束,如果对你有帮助,欢迎一键三连!

百度飞浆EISeg高效交互式标注分割软件的使用教程相关推荐

  1. 笔记 | 百度飞浆AI达人创造营:深度学习模型训练和关键参数调优详解

    笔记 | 百度飞浆AI达人创造营:深度学习模型训练和关键参数调优详解 针对特定场景任务从模型选择.模型训练.超参优化.效果展示这四个方面进行模型开发. 一.模型选择 从任务类型出发,选择最合适的模型. ...

  2. 百度飞浆行人多目标跟踪笔记

    开源地址: PaddleDetection/configs/mot at release/2.3 · PaddlePaddle/PaddleDetection · GitHub 百度飞浆集成了多目标跟 ...

  3. 入坑百度飞浆PP深度学习(一)

    作为人工智能半路出家的二把刀,靠着简单实践和项目一点点开始人工智能的学习.学习资料和项目用什么平台,就去学这个平台下框架,从tensorflow到pytorch,一直没有一个系统的路线指导.偶然在CS ...

  4. 关于百度飞浆安装不成功的坑

    开始学习深度学习的时候,打算用学一下百度飞浆,但是安装官网的教程,无论如何也安装不成功,看了网上的各种教程也无济于事,今天把python版本换成3.9之后,不仅安装成功了,并且用pip下载许多包,下载 ...

  5. 百度飞浆paddle应用之在嵌入式ARM上运行

    最近想玩一玩智能图像处理,奈何不太懂AI,偶然找到百度飞浆,发现这个神器真不错,帮助你快速实现AI应用,即使你不怎么懂AI也可以跑起来. 百度飞浆是支持各个平台的,当然是性能越强约好.我这里用的全志A ...

  6. paddle百度飞浆入门使用教程

    参加百度手写字体识别大赛,纯小白入门指引 本文包括: 目录 1.新手注册登陆流程 2.如何申请免费算力和notebook环境介绍 3.运行项目时遇到的问题 1.新手注册登陆流程 打开以下网址,点击登录 ...

  7. 百度飞浆paddlepaddle下载安装

    人工智能AI:Keras PyTorch MXNet 深度学习实战(不定时更新)  个人主页  1.飞浆:https://www.paddlepaddle.org.cn/快速安装:https://ww ...

  8. 百度飞浆-语音转文字、语音识别使用过程的问题

    前面讲述了安装时遇到的坑,这次记录使用过程遇到的问题. 首先说下整个脚本的运行过程. 先是将音频文件转化为wav格式,因为转文字时要求这个格式,再获取文件时长,并将文件分段为45秒的临时音频小文件,遍 ...

  9. 基于百度飞浆平台(EasyDL)设计的人脸识别考勤系统

    1.1 前言 随着社会经济和科学技术的飞速发展,人们的生活变得更加智能化.科学化.信息安全逐渐引起人们的关注,信息的应用不断进入人们的视野.普通的身份识别方式并不能有效保证信息安全.生物识别技术以其稳 ...

最新文章

  1. 类的const和非const成员函数的重载
  2. POJ2528 线段树+离散化+hash(成段更新)
  3. js 运算符_JS的相等和严格相等运算符(== amp; ===)
  4. SQL Server安全(8/11):数据加密(Data Encryption)
  5. 马斯克又吊大家胃口:9月22日电池日有众多亮点揭晓
  6. deepfakes怎么用_[mcj]deepfakesApp使用说明(2)
  7. KDD 2021 | 谷歌DHE:不使用embedding table的类别型特征embedding
  8. DE13 Finding Particular Solutions to Inhomogeneous ODEs
  9. Google Code checkout v8 方法
  10. oracle 对象同义词,Oracle数据库对象_同义词
  11. 文化人类学课后习题答案
  12. espnet中的transformer和LSTM语言模型对比实验
  13. linux 磁盘碎片整理,Linux上没有磁盘碎片清理功能如何整理磁盘碎片
  14. 云堡垒机的作用_阿里云堡垒机详解
  15. unity2D横版游戏教程10-场景控制
  16. Realtek WiFi定频工具使用操作指南(rtl8188au/rtl8812au/rtl8192cu)
  17. 程序员:不要自称码农
  18. Router-based Federation架构下如何解析路径
  19. 国内进谷歌难,美国进谷歌就容易?来看看Google员工怎么说
  20. 经济与生活_02基尼系数

热门文章

  1. 51单片机(十六)AD/DA
  2. android 定时器封装
  3. 皕杰报表中的图表钻取
  4. 计算机休眠 mac,如何防止 Mac 进入休眠模式
  5. 上海数字化品牌营销 whale 帷幄数字化品牌营销案例
  6. 2014年高考计算机试题答案,春季高考历年真题-2014年天津市春季高考计算机试卷.doc...
  7. matlab step函数跟踪斜坡信号及阶跃响应绘图
  8. APK反编译工具及方法
  9. 直方图均衡化算法原理及bins的理解
  10. unity3d 重要类+方法 。。。再来一遍吧。。。