下载链接:https://github.com/PaddlePaddle/PaddleSeg/tree/develop/EISeg

介绍

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

模型准备

在使用EIseg前,请先下载模型参数。EISeg 0.4.0版本开放了在COCO+LVIS、大规模人像数据、mapping_challenge及LiTS(Liver Tumor Segmentation Challenge)上训练的四个垂类方向模型,满足通用场景、人像场景、建筑物标注及医疗影像肝脏的标注需求。其中模型结构对应EISeg交互工具中的网络选择模块,用户需要根据自己的场景需求选择不同的网络结构和加载参数。
(1)基于HRNet18_OCR64结构的高精度模型,适用于通用场景的图像标注,static_hrnet18_ocr64_cocolvis
(2)基于HRNet18s_OCR48结构的轻量化模型,适用于通用场景的图像标注,static_hrnet18s_ocr48_cocolvis
(3)基于HRNet18_OCR64结构的高精度模型,适用于人像标注场景,static_hrnet18_ocr64_human
(4)基于HRNet18s_OCR48 结构的轻量级模型,适用于人像标注场景,static_hrnet18s_ocr48_human
(5)基于EdgeFlow结构的高精度模型,适用于通用图像标注场景, static_edgeflow_cocolvis
(6)基于HRNet18s_OCR48结构的轻量级模型,适用于遥感建筑物标注场景,static_hrnet18_ocr48_rsbuilding_instance
(7)基于HRNet18s_OCR48结构的轻量级模型,适用于医疗肝脏标注场景,static_hrnet18s_ocr48_lits

NOTE: 将下载的模型结构*.pdmodel及相应的模型参数*.pdiparams需要放到同一个目录下,加载模型时只需选择*.pdiparams结尾的模型参数位置即可, *.pdmodel会自动加载。

安装使用

EISeg提供多种安装方式,其中使用pip和运行代码方式可兼容Windows,Mac OS和Linux。为了避免环境冲突,推荐在conda创建的虚拟环境中安装。

安装PaddlePaddle

版本要求:PaddlePaddle >= 2.2.0
PaddlePaddle安装请参考官网。在安装EISeg前,请先安装Paddle。注意:下面提供的所有安装EISeg的方法都需要先安装Paddle才能使用。

EISeg的两种安装方式

克隆到本地的安装方法

通过git将PaddleSeg克隆到本地:

git clone -b develop https://github.com/PaddlePaddle/PaddleSeg.git

安装所需环境(若需要使用到GDAL和SimpleITK请参考垂类分割进行安装):

pip install -r requirements.txt

安装好所需环境后,进入EISeg,可通过直接运行eiseg打开EISeg:

cd PaddleSeg\EISeg
python -m eiseg

或进入eiseg,运行exe.py打开EISeg:

cd PaddleSeg\EISeg\eiseg
python exe.py

pip安装方式

pip安装方式如下:

pip install eiseg

pip会自动安装依赖。安装完成后命令行输入:

eiseg

即可运行软件。

使用

打开软件后,在对项目进行标注前,需要进行如下设置:
1.模型参数加载
根据标注场景,选择合适的网络模型及参数进行加载。目前在EISeg0.4.0中,已经将动态图预测转为静态图预测,全面提升单次点击的预测速度。选择合适的模型及参数下载解压后,模型结构*.pdmodel及相应的模型参数*.pdiparams需要放到同一个目录下,加载模型时只需选择*.pdiparams结尾的模型参数位置即可。静态图模型初始化时间稍长,请耐心等待模型加载完成后进行下一步操作。正确加载的模型参数会记录在近期模型参数中,可以方便切换,并且下次打开软件时自动加载退出时的模型参数。

2.图像加载
按下Ctrl+A,打开要标注图片的文件夹,加载图片。

3.标签添加/加载
添加/加载标签。可以通过添加标签新建标签,标签分为4列,分别对应像素值、说明、颜色和删除。新建好的标签可以通过保存标签列表保存为txt文件,其他合作者可以通过加载标签列表将标签导入。通过加载方式导入的标签,重启软件后会自动加载。

4.自动保存设置
在使用中可以将自动保存设置上,设定好文件夹即可,这样在使用时切换图像会自动将完成标注的图像进行保存。

下表是EISeg的快捷键表格:

特色功能使用说明

1.多边形

  • 交互完成后使用Space(空格)完成交互标注,此时出现多边形边界;
  • 需要在多边形内部继续进行交互,则使用空格切换为交互模式,此时多边形无法选中和更改。
  • 多边形可以删除,使用鼠标左边可以对锚点进行拖动,鼠标左键双击锚点可以删除锚点,双击两点之间的边则可在此边添加一个锚点。
  • 打开保留最大连通块后,所有的点击只会在图像中保留面积最大的区域,其余小区域将不会显示和保存。

2.保存格式

  • 打开保存JSON保存或COCO保存后,多边形会被记录,加载时会自动加载。
  • 若不设置保存路径,默认保存至当前图像文件夹下的label文件夹中。
  • 如果有图像之间名称相同但后缀名不同,可以打开标签和图像使用相同扩展名。
  • 还可设置灰度保存、伪彩色保存和抠图保存,见工具栏中7-9号工具。

3.生成mask

  • 标签按住第二列可以进行拖动,最后生成mask时会根据标签列表从上往下进行覆盖。

4.界面模块

  • 可在显示中选择需要显示的界面模块,正常退出时将会记录界面模块的状态和位置,下次打开自动加载。

5.垂类分割

  • EISeg目前已添加对遥感图像和医学影像分割的支持,使用相关功能需要安装额外依赖。
  • 分割遥感图像请安装GDAL,相关安装及介绍具体详见遥感标注垂类建设。
  • 分割医学影像请安装SimpleITK,相关安装及介绍具体详见医疗标注垂类建设。

6.脚本工具使用
EISeg目前提供包括标注转PaddleX数据集、划分COCO格式以及语义标签转实例标签等脚本工具,相关使用方式详见脚本工具使用。

灰度图中修改像素点的数值

在个人使用的过程中,发现标注完得到的灰度图,标签的ID号是从0到class_num-1,当需要将ID号改为指定的数值时,可以参考下面代码:

# -*- coding:utf8 -*-
import osfrom PIL import Imageim = Image.open('/media/***/label/100.png')  # 打开图片
print(im.mode)
pix = im.load()  # 导入像素
width = im.size[0]  # 获取宽度
height = im.size[1]  # 获取长度for x in range(width):for y in range(height):a = im.getpixel((x, y))rgba = (a)if (a == 0):im.putpixel((x, y), (0))if (a == 1):im.putpixel((x, y), (255))im = im.convert('L')
print(im.mode)
im.save('/media/***/label/100_1.png')

批量修改灰度图中的像素值

# -*- coding:utf8 -*-
import os
from PIL import Imagepath = 'SegmentationClass(RGBA)/'
savedpath = 'SegmentationClass/'
filelist = os.listdir(path)
for item in filelist:im = Image.open( path + item )#打开图片width = im.size[0]#获取宽度height = im.size[1]#获取长度for x in range(width):for y in range(height):a = im.getpixel((x, y))rgba = (a)if (a == 0):im.putpixel((x, y), (0))if (a == 1):im.putpixel((x, y), (255))im = im.convert('L')im.save(savedpath + item)print('item of %s is saved '%(item))

参考链接:
Python之修改图片像素值的方法

语义分割工具EISeg相关推荐

  1. pytorch 语义分割loss_vedaseg:基于pytorch的开源语义分割工具库,更多模型支持,更易拓展...

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

  2. Android基于图像语义分割实现人物背景更换

    原文博客:Doi技术团队 链接地址:https://blog.doiduoyi.com/authors/1584446358138 初心:记录优秀的Doi技术团队学习经历 本文链接:Android基于 ...

  3. CNN for Semantic Segmentation(语义分割,论文,代码,数据集,标注工具,blog)

    在FCN网络在2104年提出后,越来越多的关于图像分割的深度学习网络被提出,相比传统方法,这些网络效果更好,运算速度更快,已经能成熟的运用在自然图像上.语义分割显然已经是计算机视觉领域的一个热门研究领 ...

  4. 重磅推荐!日立开源语义分割数据集标注工具Semantic Segmentation Editor

    面向自动驾驶领域的2D图片与3D点云对象标注工具. (欢迎关注本站的"我爱计算机视觉"微信公众号,一个有价值有深度的公众号~) 日立汽车工业实验室(Hitachi Automoti ...

  5. 【AI论文精粹】图形化解释工具;神经网络数据质量;LiDAR 语义分割;机器学习的应用

    标题:GLIME:一种用于可解释模型不可知解释的新图形方法 时间:2021.7.21 作者:Zoumpolia Dikopoulou, Serafeim Moustakidis, Patrik Kar ...

  6. 【工具】Semantic Segmentation Editor 语义分割标注工具

    [工具]Semantic Segmentation Editor 语义分割标注工具 一.简介 二.界面 1.工具栏 ① 上方横排工具栏 Ctrl + Z 撤销 Ctrl + Y 重做 Alt 操纵工具 ...

  7. 图像语义分割标注软件EISeg

    paddle 语义分割标注软件: https://github.com/PaddleCV-SIG/EISeghttps://github.com/PaddleCV-SIG/EISeg

  8. 语义分割标注工具——labelme

    参考下面网址: 感谢up主:https://www.bilibili.com/video/BV1xT4y1j7A9?from=search&seid=2903997967250679674 在 ...

  9. python工具方法 18 labelme语义分割标注数据批量转换为png

    本实例代码主要使用labelme.utils.shapes_to_label方法实现批量将将labelme的语义分割标注数据转换为图片,支持将标注保存为实例分割训练图.语义分割训练图.语义分割+原图效 ...

  10. 【图片标注】推荐一款特别好用的图片分割标注工具EIseg

    前言 最近在百度飞浆的公众号看到一个特别有趣的图片标注工具EIseg,它labelme等标记工具不同的是,它是一个通过深度学习来标注的工具,使用鼠标点一下就能完成标注任务,下面是工具的演示.本文章仅供 ...

最新文章

  1. c#操作oracle的通用类
  2. Linux进程退出详解(do_exit)--Linux进程的管理与调度(十四)
  3. 微信小程序(六) 文章详情静态页面detail
  4. 2020/Province_C_C++_A/F/成绩分析
  5. sprint计划会议
  6. odac安装_ODAC安装及环境变量配置
  7. 抖音一个老人和一个机器人歌曲_一个老人孤独去世,一个老人安然离世
  8. 报错, org.hibernate.PropertyAccessException
  9. 【缺陷检测】基于matlab形态学液晶显示器表面缺陷检测【含Matlab源码 1304期】
  10. java访问网络接口_Java网络访问 java调用http java调用其他接口
  11. 从个人应用到企业级应用——数字钱包市场调研分析报告
  12. 关于如何取消萤石云视频加密
  13. 数据库设计——将用户名和密码与用户其他信息分成两张表
  14. python 中的路径. ./ .. ../的区别
  15. 什么是 Pandas?
  16. windows安装theano
  17. Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)
  18. 源码分析教程5部曲之1——漫游C语言-杨振平-专题视频课程
  19. 常见的IEEE802系列中的协议
  20. 【上市啦】“Python 之父” 力荐的蓝皮书,你知道是哪本吗?

热门文章

  1. 解空间树及其相关算法
  2. Android自定义View之绘制圆形头像
  3. 如何升级maven版本
  4. ins服务器未响应,Ins注册及登陆问题简明教程
  5. 计算机符号链接是什么意思,Windows或Linux上的符号链接(符号链接)完整指南
  6. linux用命令行快速切换目录
  7. 物理防火墙是什么?有什么作用?
  8. Taylor公式的证明
  9. 商业银行理财业务监督管理办法-2018年9月26日
  10. c语言四个人中有一个人是小偷,、甲,乙,丙,丁四个人中有一个人是小偷,请根据四个人的谈话判断谁是小偷?已知四个人中有一个人说假话...