[paddle]paddleseg中eiseg加载模型参数的模型下载地址
图片标注
以下内容为2D图片标注模型下载及EISeg2D图片标注流程,具体如下:
模型准备
在使用EISeg前,请先下载模型参数。EISeg开放了在COCO+LVIS、大规模人像数据、mapping_challenge,Chest X-Ray,MRSpineSeg,LiTS及百度自建质检数据集上训练的7个垂类方向模型,满足通用场景、人像场景、建筑物标注,医疗影像肝脏,胸腔,椎骨及铝板质检的标注需求。其中模型结构对应EISeg交互工具中的网络选择模块,用户需要根据自己的场景需求选择不同的网络结构和加载参数。
模型类型 | 适用场景 | 模型结构 | 模型下载地址 |
---|---|---|---|
高精度模型 | 通用场景的图像标注 | HRNet18_OCR64 | static_hrnet18_ocr64_cocolvis |
轻量化模型 | 通用场景的图像标注 | HRNet18s_OCR48 | static_hrnet18s_ocr48_cocolvis |
高精度模型 | 通用图像标注场景 | EdgeFlow | static_edgeflow_cocolvis |
高精度模型 | 人像标注场景 | HRNet18_OCR64 | static_hrnet18_ocr64_human |
轻量化模型 | 人像标注场景 | HRNet18s_OCR48 | static_hrnet18s_ocr48_human |
轻量化模型 | 遥感建筑物标注场景 | HRNet18s_OCR48 | static_hrnet18_ocr48_rsbuilding_instance |
高精度模型* | x光胸腔标注场景 | Resnet50_Deeplabv3+ | static_resnet50_deeplab_chest_xray |
轻量化模型 | 医疗肝脏标注场景 | HRNet18s_OCR48 | static_hrnet18s_ocr48_lits |
轻量化模型* | MRI椎骨图像标注场景 | HRNet18s_OCR48 | static_hrnet18s_ocr48_MRSpineSeg |
轻量化模型* | 质检铝板瑕疵标注场景 | HRNet18s_OCR48 | static_hrnet18s_ocr48_aluminium |
NOTE: 将下载的模型结构*.pdmodel
及相应的模型参数*.pdiparams
需要放到同一个目录下,加载模型时只需选择*.pdiparams
结尾的模型参数位置即可, *.pdmodel
会自动加载。在使用EdgeFlow
模型时,请将使用掩膜
关闭,其他模型使用时请勾选使用掩膜
。其中,高精度模型
推荐使用带有显卡的电脑,以便获得更流畅的标注体验。
使用
打开软件后,在对项目进行标注前,需要进行如下设置:
-
模型参数加载
根据标注场景,选择合适的网络模型及参数进行加载。选择合适的模型及参数下载解压后,模型结构
*.pdmodel
及相应的模型参数*.pdiparams
需要放到同一个目录下,加载模型时只需选择*.pdiparams
结尾的模型参数位置即可。静态图模型初始化时间稍长,请耐心等待模型加载完成后进行下一步操作。正确加载的模型参数会记录在近期模型参数
中,可以方便切换,并且下次打开软件时自动加载退出时的模型参数。 -
图像加载
打开图像/图像文件夹。当看到主界面图像正确加载,
数据列表
正确出现图像路径即可。 -
标签添加/加载
添加/加载标签。可以通过
添加标签
新建标签,标签分为4列,分别对应像素值、说明、颜色和删除。新建好的标签可以通过保存标签列表
保存为txt文件,其他合作者可以通过加载标签列表
将标签导入。通过加载方式导入的标签,重启软件后会自动加载。 -
开始标注
标注首先进入交互式分割模式。鼠标左键代表正点击,表示所选择的前景部分,鼠标右键代表负点击,为用户选定的背景区域。用户可以通过正负点击操作来选择感兴趣的区域, 直到满意为止。交互完成后使用Space(空格)完成交互标注,此时出现多边形边界,进入多边形标注模式。多边形可以删除,使用鼠标左边可 以对锚点进行拖动,鼠标左键双击锚点可以删 除锚点,双击两点之间的边则可在此边添加一个锚点。
-
自动保存设置
在使用中可以将
自动保存
设置上,设定好文件夹即可,这样在使用时切换图像会自动将完成标注的图像进行保存。
当设置完成后即可开始进行标注,默认情况下常用的按键/快捷键如下,如需修改可按E
弹出快捷键修改。
部分按键/快捷键 | 功能 |
---|---|
鼠标左键 | 增加正样本点 |
鼠标右键 | 增加负样本点 |
鼠标中键 | 平移图像 |
Ctrl+鼠标中键(滚轮) | 缩放图像 |
S | 切换上一张图 |
F | 切换下一张图 |
Space(空格) | 完成标注/切换状态 |
Ctrl+Z | 撤销 |
Ctrl+Shift+Z | 清除 |
Ctrl+Y | 重做 |
Ctrl+A | 打开图像 |
Shift+A | 打开文件夹 |
E | 打开快捷键表 |
Backspace(退格) | 删除多边形 |
鼠标双击(点) | 删除点 |
鼠标双击(边) | 添加点 |
特色功能使用说明
-
多边形
- 交互完成后使用Space(空格)完成交互标注,此时出现多边形边界;
- 当需要在多边形内部继续进行交互,则使用空格切换为交互模式,此时多边形无法选中和更改。
- 多边形可以删除,使用鼠标左边可以对锚点进行拖动,鼠标左键双击锚点可以删除锚点,双击两点之间的边则可在此边添加一个锚点。
- 打开
保留最大连通块
后,所有的点击只会在图像中保留面积最大的区域,其余小区域将不会显示和保存。
-
保存格式
- 打开保存
JSON保存
或COCO保存
后,多边形会被记录,加载时会自动加载。 - 若不设置保存路径,默认保存至当前图像文件夹下的label文件夹中。
- 如果有图像之间名称相同但后缀名不同,可以打开
标签和图像使用相同扩展名
。 - 还可设置灰度保存、伪彩色保存和抠图保存,见工具栏中7-9号工具。
- 打开保存
-
生成mask
- 标签按住第二列可以进行拖动,最后生成mask时会根据标签列表从上往下进行覆盖。
-
界面模块
- 可在
显示
中选择需要显示的界面模块,正常退出时将会记录界面模块的状态和位置,下次打开自动加载。
- 可在
-
垂类分割
EISeg目前已添加对遥感图像和医学影像分割的支持,使用相关功能需要安装额外依赖。
- 分割遥感图像请安装GDAL,相关安装及介绍具体详见遥感标注垂类建设。
- 分割医学影像请安装SimpleITK,相关安装及介绍具体详见医疗标注垂类建设。
-
视频标注及3D医疗图像标注
EISeg目前已添加对视频标注和腹腔多器官及ct椎骨数据3D医疗图像标注的支持,使用相关功能需要安装额外依赖。
- 视频标注及3D医疗图像标注请安装VTK,相关安装及介绍具体详见视频标注功能。
-
脚本工具使用
EISeg目前提供包括标注转PaddleX数据集、划分COCO格式以及语义标签转实例标签等脚本工具,相关使用方式详见脚本工具使用。
相关文章:
[paddle]paddleseg中eiseg加载模型参数的模型下载地址
图片标注 以下内容为2D图片标注模型下载及EISeg2D图片标注流程,具体如下: 模型准备 在使用EISeg前,请先下载模型参数。EISeg开放了在COCOLVIS、大规模人像数据、mapping_challenge,Chest X-Ray,MRSpineSegÿ…...

标定板生成网址,可以直接打印,matlab标定工具箱
Camera Calibration Pattern Generator – calib.io matlab 打开标定的成像 cameraCalibrator 点击完成之后 命令行中输入 cameraParams.IntrinsicMatrix...

React高级特性之受控和非受控组件
一、受控组件 受控组件:input框自己的状态被React组件状态控制 // 类组件引入React import React from reactclass InputComponent extends React.Component{state {message: zm66666}changeHandler (e) > {this.setState({message: e.target.value})}render…...

Android 14 正式发布,已经在 AOSP 中上线
本心、输入输出、结果 文章目录 Android 14 正式发布,已经在 AOSP 中上线前言总结主要更新内容机型支持优化性能的数据体现字体放大、多媒体支持加强Android 14 增加了对 10 位高动态范围 (HDR) 图像的支持提供了新的图形和尺寸管理用户体验 与隐私安全弘扬爱国精神Android 14…...

软件开发介绍
一、软件开发整体介绍 作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程,以及软件开发过程中涉及到的岗位角色,角色的分工、职责,并了解软件开发中涉及到的三种软件环境。 1.1 软件开发流程 第一阶段:…...
Go 匿名函数与闭包
Go 匿名函数与闭包 匿名函数和闭包是一些编程语言中的重要概念,它们在Go语言中也有重要的应用。让我们来详细介绍这两个概念,并提供示例代码来帮助理解。 文章目录 Go 匿名函数与闭包一、匿名函数(Anonymous Function)二、闭包函…...
html关闭空标签
常见的空标签有以下几种示例: <br>:表示换行,没有闭合标签。<hr>:表示水平线,没有闭合标签。<img>:表示图片,没有闭合标签。<input>:表示输入框࿰…...

Java实现B树
1.介绍 B树是一种自平衡的搜索树数据结构,常用于数据库和文件系统中的索引结构。它具有以下好处和功能: 高效的查找操作:B树的特点是每个节点可以存储多个关键字,并且保持有序。通过在节点上进行二分查找,可以快速定位…...

crontab报错/var/spool/cron : Permission denied和 -bash: chattr: command not found
crontab报错/var/spool/cron : Permission denied和 -bash: chattr: command not found 1、第一种情况2、第二种情况3、第三种情况 1、第一种情况 centos7下修改定时任务crontab -e的时候,控制台输出“crontab: installing new crontab”,表示任务添加成…...

06在IDEA中创建Java和Web工程,了解不同工程下的类路径,在IDEA中执行Maven命令
创建Java/Web模块 类路径的概述 IDEA中普通java项目中类路径的开始就是以src目录开始的路径,编译后的字节码文件和配置文件最终都会放在out目录下 Maven生成的目录结构中src/main目录下的java和resources目录都可以看作类路径的开始,编译后的字节码文件或资源文件会放在targ…...
自定义redission装配和集成分布式开源限流业务组件ratelimiter-spring-boot-starter的正确姿势
自定义redission装配和集成分布式开源限流业务组件ratelimiter-spring-boot-starter的正确姿势 文章目录 1.说明1.1 pom依赖1.2 引入redisson不引入redisson-spring-boot-starter依赖1.3 引入redisson-spring-boot-starter不引入redisson,启动类排除redisson-spring-boot-start…...

Ceph分布式存储的简单介绍与Ceph集群的部署搭建
文章目录 1. 存储的概述1.1 单机存储设备1.1.1 DAS(直接附加存储)1.1.2 NAS(网络附加存储)1.1.3 SAN(存储区域网络) 1.2 单机存储的缺陷1.3 分布式存储(软件定义的存储 SDS)1.4 分布…...
【环境搭建】linux docker安装nexus3
1、shell输入 docker run -dti \--nethost \--namenexus3 \--privilegedtrue \--restartalways \--ulimit nofile655350 \--ulimit memlock-1 \--memory1G \--memory-swap-1 \-e INSTALL4J_ADD_VM_PARAMS"-Xms512m -Xmx512m -XX:MaxDirectMemorySize1g" \-v /etc/lo…...

Java多线程下载文件
JVM是支持多线程程序的,当程序需要同时执行两个或多个任务,实现一些需要等待的任务时,如用户输入、文件读写、网络操作、搜索等多线程程序比单线程程序更具优势,可充分利用CPU资源,完成时间更短,提高应用程…...
oracle 同一张表同时insert多条数据 mysql 同一张表同时insert多条数据
oracle 同一张表同时insert多条数据 在Oracle数据库中,你可以使用INSERT ALL语句同时向同一张表插入多条数据。INSERT ALL语句允许你一次执行多个插入操作,可以提高插入的效率和速度。 以下是使用INSERT ALL语句插入多条数据的示例: INSERT…...

ROS键盘遥控机器人,通过参数服务器指定速度
1、引言 在上节的驱动机器人,我们知道是cmd_vel话题发布一串Twist类型消息来控制,我们可以输入如下命令查看这个Twist的详细信息:rosmsg show geometry_msgs/Twist geometry_msgs/Vector3 linear float64 x float64 y float64 z geome…...

具有快表的地址变换机构
1.快表(TLB) 快表,又称联想寄存器(TLB,translation lookaside buffer), 是一种访问速度比内存快很多的高速缓存(TLB不是内存! ), 用来存放最近访问的页表项的副本,可以加速地址变换的速度。 与…...
【使用python和flask建个人博客】修复侧边栏最新文章、最多阅读等链接不能打开的问题
自从上次因版本兼容问题修改过部分代码之后,好长时间没光顾woniunote这个个人博客模块了,最近发文章的时候发现侧边栏的文章打不开,定位了bug,并进行了修复。 <div class="col-12 side"><div class="tip" align...

ShareX使用说明——优秀的录屏软件
ShareX初识 ShareX 是一个自由及开放源代码的截图录像软件,目前仅支持Windows系统。 项目源代码在GitHub平台上发布, 软件可以在Microsoft商店和Steam上下载。 ShareX is a free and open source program that lets you capture or record any area of y…...

10.14~10.15verilog操作流程与Block Design
后面的那个是延时精度 verilog文件结构 文件名称与写的模板没有关系,这个文件名为P1,但模板名为andgate 但是如果是仿真文件,就需要开头的模板名和仿真文件名相同 .v是源文件,设计文件 .v在设计与sim里都有,静态共享࿰…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...