- 人工智能
- 计算机视觉
- 预训练
【免费下载链接】PaddleSeg
Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.
EISeg(Efficient Interactive Segmentation)是基于 PaddlePaddle 构建的高效智能交互式分割标注软件,隶属于 PaddleSeg 仓库下的独立子项目,覆盖通用场景、人像、遥感、医疗、视频与工业质检等方向的多种预训练交互分割模型。本文以 EISeg/README_EN.md 为主体,结合安装文档、各场景教程与源码实现,系统讲解 EISeg 的功能定位、安装方式、模型准备、2D/视频/遥感/医疗标注工作流及版本演进,读完后可直接上手完成“标注—导出—训练”的分割数据闭环。
一、EISeg 是什么:交互式标注定位与 PaddleSeg 的分工
PaddleSeg 主库解决的是语义分割模型的训练、评测与部署;而 EISeg 解决的是上游最耗时的问题——高质量分割标注数据的低成本生产。它把“点几下鼠标”变成可用的语义/实例标签:用户以正负样本点引导预训练交互模型生成 mask,再用多边形微调边界,即可批量产出训练数据。README 将其能力概括为一条完整链路:
用 EISeg 产出的标注,可反向喂给 PaddleSeg 提供的其他分割模型进行训练,从而构建面向自定义场景的高性能模型,打通从数据标注到模型训练、推理的分割任务全流程(见 EISeg/README_EN.md “Introduction” 一节)。
从源码结构看,EISeg 是一个 PyQt5 桌面应用:EISeg/eiseg/init.py 声明了__APPNAME__ = "EISeg"与__VERSION__ = "1.1.2",并在包导入时即完成日志系统初始化(按 EISeg/eiseg/config/setting.txt 中的logFolder、log、logDays配置,默认写入log/eiseg-时间戳.log);主窗口类APP_EISeg(QMainWindow, Ui_EISeg)定义在 EISeg/eiseg/app.py,业务逻辑层在 EISeg/eiseg/models.py(EISegModel),UI 骨架、推理封装、插件与控件分别位于EISeg/eiseg/ui.py、EISeg/eiseg/inference/、EISeg/eiseg/plugin/与EISeg/eiseg/widget/目录。README 开头的演示 GIF 分别对应其七类典型能力:通用分割、人像分割、遥感建筑分割、医疗分割、工业质检、通用视频分割与 3D 医疗分割。
最新动态(README “Latest Developments”)
- 2022-12-16 EISeg 1.1 发布:新增检测标注能力,支持手工标注或调用 PicoDet-S 检测模型辅助打标;检测标注结果支持 COCO、VOC、YOLO 多种格式;分割结果新增 LabelMe JSON 格式。
- 2022-09-16:标注模型 MUSCLE 被 MICCAI 2022 接收,详见 EISeg/docs/MUSCLE_en.md。
二、安装与环境要求
安装细节完整记载于 EISeg/docs/install_en.md,支持 Windows / macOS / Linux,推荐在 conda 虚拟环境中安装以避免依赖冲突。硬性版本要求为PaddlePaddle >= 2.2.0;README 徽章同时标注了 Python 3.6+ 与 PaddlePaddle 2.2 的基线。
EISeg 的核心依赖声明在 EISeg/requirements.txt 中,包括pyqt5、qtpy、opencv-python、scipy、paddleseg、albumentations、cython、scikit-image、protobuf==3.20.0等。可以推断:pyqt5/qtpy支撑 GUI 与跨 Qt 绑定兼容,paddleseg提供分割网络结构定义,albumentations与opencv-python服务于图像读取与预处理,scikit-image/scipy则用于多边形转 mask 等几何处理。
方式一:源码运行(兼容 Win/Mac/Linux)
# 克隆仓库(以 git clone 说明为例,使用项目对应的仓库地址) git clone https://gitcode.com/gh_mirrors/pa/PaddleSeg.git cd PaddleSeg pip install -r EISeg/requirements.txt注意:若需使用遥感(GDAL)或医疗(SimpleITK)能力,需先按 EISeg/docs/remote_sensing_en.md 与 EISeg/docs/medical_en.md 安装对应依赖。随后在 EISeg 目录下启动:
cd PaddleSeg/EISeg python -m eiseg或直接执行入口脚本 EISeg/eiseg/exe.py:
cd PaddleSeg/EISeg/eiseg python exe.py两个入口最终都调用 EISeg/eiseg/run.py 中的main():创建QApplication,按config/setting.txt中的language字段决定是否加载util/translate/下的翻译文件(即 README 版本记录中提到的中/英文界面切换),实例化APP_EISeg并最大化显示,再调用window.loadRecentModelParam()自动加载上次使用的模型参数。
方式二:pip 安装
pip install eiseg # 依赖自动安装后,直接执行: eiseg入口点由 EISeg/setup.py 中的entry_points={"console_scripts": ["eiseg=eiseg.run:main"]}注册;打包时还会将pycocotools._mask作为 Cython 扩展编译(源码为EISeg/eiseg/util/coco/common/maskApi.c与EISeg/eiseg/util/coco/pycocotools/_mask.pyx,见 EISeg/setup.py),这正是分割结果支持 COCO/LabelMe 格式所需的 mask 编解码能力。
三、2D 图像标注:模型准备与五步工作流
2D 标注的完整操作指南在 EISeg/docs/image_en.md。EISeg 0.5.0 起提供覆盖 COCO+LVIS、人像、遥感(mapping_challenge)、MRSpineSeg、胸部 X 光、LiTS(腹部器官)与自建铝板质检数据的 7 个方向的预训练模型;模型架构对应界面中的“网络选择”模块,用户需按场景选择网络并加载对应参数。模型清单完整继承自原文档:
| 模型类型 | 适用场景 | 模型架构 | 参数文件 |
|---|---|---|---|
| 高性能模型 | 通用场景图像标注 | HRNet18_OCR64 | static_hrnet18_ocr64_cocolvis |
| 轻量模型 | 通用场景图像标注 | HRNet18s_OCR48 | static_hrnet18s_ocr48_cocolvis |
| 高性能模型 | 人像场景标注 | HRNet18_OCR64 | static_hrnet18_ocr64_human |
| 高性能模型 | 通用场景图像标注 | EdgeFlow | static_edgeflow_cocolvis |
| 轻量模型 | 人像场景标注 | 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 |
| 轻量模型 | 医疗脊柱结构标注 | HRNet18s_OCR48 | static_hrnet18s_ocr48_MRSpineSeg |
| 轻量模型 | 工业铝板缺陷标注 | HRNet18s_OCR48 | static_hrnet18s_ocr48_aluminium |
原文档的重要注意事项(NOTE):模型结构*.pdmodel与参数*.pdiparams必须放在同一目录;加载时只需指定*.pdiparams路径,*.pdmodel会自动加载;使用EdgeFlow模型时需关闭Use Mask,使用其他模型时需勾选Use Mask;高性能模型建议在带 GPU 的机器上使用以获得更流畅的标注体验。
五步标注流程
- Load Model Parameter:选择网络并加载参数。静态图模型初始化需要一定时间,需等待加载完成;成功加载的参数会记录到
Recent Model Parameters列表中,可快速切换,且下次启动软件时自动加载上次的参数(对应源码 EISeg/eiseg/run.py 中的window.loadRecentModelParam())。 - Load Image:打开单张图像或图像文件夹,主窗口正确显示图像且
Data List中路径正确即就绪。 - Add/Load Label:通过
Add Label新建标签,标签表含像素值、描述、颜色、删除四列;Save Label List可导出为 txt 供协作方Load Label List导入,导入的标签在重启后自动加载。 - Annotation:交互标注核心——左键添加正样本点、右键添加负样本点,完成后按
Space,工具会沿目标边界生成多边形框,用户可拖动顶点进一步精修分割精度。 - Autosave:设置目标文件夹并开启自动保存后,切换图像时自动保存已标注结果。
快捷键速查表(默认,按E可自定义)
| 键/快捷键 | 功能 | 键/快捷键 | 功能 |
|---|---|---|---|
| 鼠标左键 | 添加正样本点 | Space | 完成标注/切换状态 |
| 鼠标右键 | 添加负样本点 | Ctrl+Z | 撤销 |
| 鼠标中键 | 图像平移 | Ctrl+Shift+Z | 清除 |
| Ctrl+滚轮 | 图像缩放 | Ctrl+Y | 重做 |
| S | 上一张图像 | Ctrl+A | 打开图像 |
| F | 下一张图像 | Shift+A | 打开文件夹 |
| E | 打开快捷键列表 | Backspace | 删除多边形 |
| 双击(点) | 删除点 | 双击(边) | 添加点 |
新功能说明
- Polygon(多边形编辑):按 Space 完成交互标注后出现多边形边界;在多边形内继续交互标注需再按 Space 切回交互模式(此时多边形不可选);支持删除多边形、拖动锚点、双击锚点删除、双击边加锚点;开启
Keep Maximum Connected Blocks后仅保留最大连通区域,其余小块不显示也不保存。 - Save Format(保存格式):设置
JSON Save或COCO Save后多边形会被记录并在加载图像时自动恢复;未指定保存路径时,默认存到当前图像目录下的label文件夹;同名不同后缀的图像可开启labels and images with the same extensions处理;工具栏第 7–9 个工具还支持保存为灰度图、伪彩图或抠图(matting)图像。 - Generate mask(掩膜生成):按住标签表第二列拖拽可调整标签顺序,最终 mask 按标签表自上而下覆盖生成(0.3.0 版本记录中提到的“标签栏可拖动、mask 自上而下覆盖”即此机制)。
- Interface Module(界面模块):
Display菜单中可勾选展示哪些界面模块,常规退出时的模块状态与位置会被记录并自动恢复。 - Vertical Segmentation(垂直分割):遥感与医疗图像分割需额外依赖——遥感装 GDAL(见 EISeg/docs/remote_sensing_en.md),医疗装 SimpleITK(见 EISeg/docs/medical_en.md)。
- Scripting Tool(脚本工具):提供标注转 PaddleX 数据集、COCO 格式描摹、语义标签转实例标签等脚本,对应 EISeg/tool/ 目录:cut_video.py(视频切分)、medical2video.py(医学切片转视频)、eiseg2paddlex.py(标注转 PaddleX 数据集)、labelme-json2labelme-coco.py(LabelMe JSON 转 COCO)、semantic2instance.py(语义转实例标签),详见 EISeg/docs/tools_en.md。
四、视频交互式分割与 3D 医疗标注
视频标注教程见 EISeg/docs/video_en.md。其算法基础是 EISeg 交互分割算法与 MiVOS 的时序传播思想(README Contributors 亦致谢了 MiVOS 与 RITM)。环境上需额外安装 VTK 用于 3D 可视化:
pip install vtk模型选择:交互式模型 + 传播模型双下载
视频标注需要同时下载“逐帧交互式模型”与“时序传播模型(Propagation)”,下表完整继承原文档:
| 模型类型 | 适用场景 | 模型架构 | 交互式模型 | 传播模型 |
|---|---|---|---|---|
| 高性能 | 通用场景 | HRNet18_OCR64 | static_hrnet18_ocr64_cocolvis | static_propagation |
| 轻量 | 通用场景 | HRNet18s_OCR48 | static_hrnet18s_ocr48_cocolvis | static_propagation |
| 高性能 | 通用场景 | EdgeFlow | static_edgeflow_cocolvis | static_propagation |
| 高性能 | 人像场景 | HRNet18_OCR64 | static_hrnet18_ocr64_human | static_propagation |
| 轻量 | 人像场景 | HRNet18s_OCR48 | static_hrnet18s_ocr48_human | static_propagation |
| 轻量 | 肝脏(医疗) | HRNet18s_OCR48 | static_hrnet18s_ocr48_lits | static_propagation_lits |
| 轻量 | CT 脊柱结构(医疗) | HRNet18s_OCR48 | static_hrnet18s_ocr48_MRSpineSeg | static_propagation_spine |
数据准备与使用要点
- 视频分割计算量大,建议用带显卡的电脑,且单个标注视频不超过100 帧;超出的可用 EISeg/tool/cut_video.py 切分。
- 3D 医疗标注把医学切片序列当作视频帧处理,即用视频标注方法实现 3D 医学图像标注;切片需先转 mp4,使用 EISeg/tool/medical2video.py。如需 3D 展示,可在
Display菜单勾选 3D 显示功能;3D 医疗相关的子项目源码位于 EISeg/med3d/EISegMed3D/(含 EISeg/med3d/README.md 与独立打包配置 EISeg/med3d/pyproject.toml)。 - 操作流程与 2D 类似,但增加第 4 步Load Propagation Model Parameter:传播模型同样按“
*.pdmodel与*.pdiparams同目录、仅指定 pdiparams”的规则加载,选择其一并加载后其余模型自动加载;第 5 步Annotate Reference Frame中,仅参考帧需要人工点正负样本,后续帧由传播模型自动延展。
五、遥感场景:GDAL 安装、波段选择与地理数据导出
遥感能力说明见 EISeg/docs/remote_sensing_en.md。EISeg 通过 GDAL(栅格空间数据翻译库)与 OGR(矢量数据)支持遥感数据。
安装 GDAL
Windows:按 Python 与系统版本下载对应
*.whl二进制包后本地安装,文档示例(GDAL 3.3.3 / cp39 / win_amd64):cd download pip install GDAL-3.3.3-cp39-cp39-win_amd64.whlLinux/Mac:推荐 conda 安装:
conda install gdal
核心功能
- 数据加载:目前仅读取
*.tif/tiff后缀图像;因训练数据均为 RGB 三通道遥感切片,EISeg 支持多波段数据的波段选择——打开 GTiff 后可获取当前波段数,通过波段设置下拉列表配置 RGB 通道映射,默认[b1, b1, b1]。 - 大图切片:支持大尺寸遥感图像切片与预测后合并(原文档称曾尝试 17000×10000 的三通道约 900M 图像),切片重叠区(overlap)为 24。
- 地理数据保存:待标注 GTiff 若附带地理配准,可保存为带地理配准的 GTiff(GIS/卫星遥感行业标准栅格文件)或 ESRI Shapefile(最通用的矢量数据格式);0.5.0 版本修复了保存 shapefile 时的 geo-transform/CRS 错误。
- 遥感标注模型:建筑标注推荐使用
static_hrnet18_ocr48_rsbuilding_instance(基于 40 万+ 建筑数据训练的交互式建筑分割模型,即 2D 模型表中的“遥感建筑”条目)。
六、版本演进脉络
README “Version Updates” 一节记录了 EISeg 的完整迭代史,可直接作为选型参考:
- 2022.12.16 1.1.0:新增检测标注(手工或 PicoDet-S 模型辅助);检测结果支持 COCO、VOC、YOLO;分割结果新增 LabelMe JSON 格式。
- 2022.07.20 1.0.0:交互式视频目标分割能力;腹部多器官 3D 标注模型;CT 椎体 3D 标注模型。
- 2022.04.10 0.5.0:胸部 X 光交互模型;MRSpineSeg 交互模型;工业质检模型;修复 shapefile 保存的 geo-transform/CRS 错误。
- 2021.12.14 0.4.1:修复崩溃 bug;新增遥感建筑图像后标注操作。
- 2021.11.16 0.4.0:动态图推理转静态图推理,单击速度提升约十倍;遥感标注支持多光谱通道选择;支持大尺寸数据切片(多方块划分);医疗图像标注支持 dicom 读取与窗宽/窗位选择。
- 2021.09.16 0.3.0:完成多边形编辑功能(可编辑交互标注结果);支持中英文界面;支持保存灰度/伪彩标签与 COCO 格式;标签栏可拖动、mask 自上而下覆盖。
- 2021.07.07 0.2.0:新增 EISeg 贡献模块,实现人像与通用图像的快速交互标注。
从源码看,当前仓库 EISeg/eiseg/init.py 中标记的版本为1.1.2,说明在 1.1.0 大版本(检测标注)之上还有修订更新。
七、引用与致谢
若研究中使用本项目,README 建议引用 EISeg 与 EdgeFlow 两篇论文:
@article{hao2022eiseg, title={EISeg: An Efficient Interactive Segmentation Tool based on PaddlePaddle}, author={Hao, Yuying and Liu, Yi and Chen, Yizhou and Han, Lin and Peng, Juncai and Tang, Shiyu and Chen, Guowei and Wu, Zewu and Chen, Zeyu and Lai, Baohua}, journal={arXiv e-prints}, pages={arXiv--2210}, year={2022} } @inproceedings{hao2021edgeflow, title={Edgeflow: Achieving practical interactive segmentation with edge-guided flow}, author={Hao, Yuying and Liu, Yi and Wu, Zewu and Han, Lin and Chen, Yizhou and Chen, Guowei and Chu, Lutao and Tang, Shiyu and Yu, Zhiliang and Chen, Zeyu and others}, booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision}, pages={1551--1560}, year={2021} }README 同时致谢了 RITM、MiVOS 等交互分割/视频传播算法项目,以及 LabelMe、LabelImg 的标注交互设计借鉴——这也解释了 EISeg 界面中“点引导分割 + 多边形精修 + 拖拽标签栏”的交互范式来源。
八、快速上手清单
- 确认 Python 3.6+、PaddlePaddle >= 2.2.0,按 EISeg/docs/install_en.md 用
pip install eiseg或源码方式启动python -m eiseg; - 按场景从 2D 模型表下载对应的
*.pdmodel+*.pdiparams(同目录放置),界面中加载 pdiparams 路径; - 打开图像/文件夹 → 建标签表 → 左键加点、右键减点、Space 出多边形、拖顶点精修;
- 视频/3D 场景额外下载传播模型、
pip install vtk,并用cut_video.py/medical2video.py准备数据;遥感场景安装 GDAL,医疗场景安装 SimpleITK; - 用
JSON Save/COCO Save保留多边形,导出后用eiseg2paddlex.py等脚本转成 PaddleSeg/PaddleX 训练数据,进入 PaddleSeg 训练流程。
适用前提与限制:模型参数需从外部 OSS 地址下载,本文不重复罗列外部链接,具体文件名以上文各表为准;遥感仅支持*.tif/tiff加载;视频标注建议单段不超过 100 帧;EdgeFlow 模型必须关闭Use Mask。EISeg 的问题反馈可通过仓库 Issues 提交(见 EISeg/README_EN.md “Community” 一节)。
- 人工智能
- 计算机视觉
- 预训练
【免费下载链接】PaddleSeg
Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.
相关推荐
FiftyOne 应用内标注(In-App Annotation)完全指南:从 Annotation Schema 到 2D/3D/视频标注实战
FiftyOne 应用内标注(In App Annotation)完全指南:从 Annotation Schema 到 2D/3D/视频标注实战 本文基于 do
人工智能计算机视觉数据集数据可视化数据标注模型评测PaddleSeg数据标注工具:EISeg与LabelMe效率对比
PaddleSeg数据标注工具:EISeg与LabelMe效率对比 引言:数据标注的效率瓶颈与解决方案 在计算机视觉领域,高质量的标注数据是训练高精度模型的基础
人工智能计算机视觉预训练免费3D点云标注工具完整指南:从安装到高效标注的实战教程
免费3D点云标注工具完整指南:从安装到高效标注的实战教程 在自动驾驶和智能机器人技术蓬勃发展的今天,3D点云标注已成为计算机视觉领域不可或缺的核心环节。面对海量
数据标注自动驾驶桌面应用计算机视觉
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考