Skip to main content

一个基于 SAM2 和 Tkinter 的交互式图像分割与标注工具。

Project description

SAM2 交互式图像标注工具

一个基于 Meta 的 Segment Anything Model 2 (SAM2) 和 Tkinter 构建的图形化、交互式图像分割与标注工具。它旨在提供一个简单易用、开箱即用的方式,利用强大的AI模型来辅助进行高精度的图像标注工作。

主要功能

智能分割: 集成强大的 SAM2 模型,通过点击正/负点进行高质量的掩码预测,极大提升标注效率。

✏️ 手动微调: 支持手动绘制多边形进行精确标注,或对AI生成的掩码进行补充和修正。

📝 标签编辑: 方便地对已完成的标注区域进行标签修改、删除和管理。

🖱️ 多模式操作: 在 "SAM标注"、"多边形" 和 "编辑标签" 模式间自由切换,应对不同标注场景。

🖼️ 便捷的视图控制: 支持图像的无级缩放与平移,轻松处理高分辨率大图。

💾 会话管理: 自动保存和加载上一次的标注会话,方便随时中断和继续工作。

📄 格式兼容: 以与 LabelMe 兼容的 JSON 格式保存标注结果,便于下游任务处理。

🚀 自动下载: 首次运行时自动从网络下载所需的模型权重,无需手动配置。

主要更新:解决了标注重叠问题!

此版本最重要的核心改进是 彻底解决了标注区域之间互相重叠的问题,确保了数据集的干净与高质量。

✔️ 智能防重叠:

  • SAM 预测: 在进行新的 SAM 点选预测时,系统会自动“屏蔽”所有已确认的标注区域。这能确保 SAM 模型只在未被标注的空白区域上生成新的掩码。
  • 多边形绘制: 当您手动绘制的多边形与已确认区域发生重叠时,重叠的部分会被自动裁切掉,只保留真正有效的标注范围。
  • 交互限制: 现在无法在已标注的区域内添加新的提示点,从源头上避免了歧义操作。

✔️ 提升易用性:

  • 模型自动下载: 无需再手动下载和配置模型路径。首次运行工具时,程序会自动从官方源下载所需的模型文件(约2.5GB)并缓存到本地,未来启动即可直接使用。
  • 打包与分发: 对项目结构进行了重构和优化,使其能够作为一个标准的 Python 包通过 pip 进行安装和分发,并提供了命令行启动方式。

✔️ Solar panel:

  • 模型类别添加: 光伏电板标注类型添加。

✔️ 解决Windows/Mac跨平台交互功能:

安装

安装过程分为两个必要步骤。请务必按顺序执行。

⚠️ 步骤 1: 手动下载并安装前提依赖 segment-anything-2

本工具依赖于 Meta 官方的 segment-anything-2 库。由于网络原因,直接通过 pip 从 GitHub 安装可能会失败,我们推荐采用更稳定的手动下载安装方式。

  1. 访问官方仓库: 请前往 segment-anything-2 的官方 GitHub 仓库: https://github.com/facebookresearch/segment-anything-2

  2. 下载代码 (推荐使用 git clone): 打开您的终端,cd 到一个您方便存放代码的目录,然后运行以下命令来克隆完整的代码仓库。这是最可靠的方式。

    git clone https://github.com/facebookresearch/segment-anything-2.git
    

    (备选方案:您也可以在 GitHub 页面上点击 Code -> Download ZIP 来下载,但 git clone 是更专业的做法。)

  3. 从本地安装: 下载完成后,进入刚刚创建的文件夹,并使用 pip 进行本地安装。

    # 进入下载好的文件夹
    cd segment-anything-2
    
    # 从当前目录安装
    pip install .
    

步骤 2: 安装本工具 EEBD-GESAM2

完成上一步后,你就可以通过 PyPI 直接安装本工具了:

pip install EEBD-GESAM2

注意:在首次启动本工具时,程序会自动从网络下载所需的 SAM2 模型权重文件,此过程可能需要一些时间,具体取决于你的网络状况。下载完成后,模型将被缓存,未来启动时将不再需要下载。

快速开始

安装完成后,你的系统中就有了一个新的命令行指令。直接在终端中运行它即可启动程序:

eebd-gesam2

程序启动后,会显示图形界面。你可以通过点击 "加载图像" 按钮来选择一个包含多张图片的文件夹,然后开始你的标注工作。

许可证

本项目采用 MIT 许可证。详情请见 LICENSE 文件。

致谢

本项目的开发离不开以下这些优秀的项目和社区:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eebd_gesam2-0.1.6.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eebd_gesam2-0.1.6-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file eebd_gesam2-0.1.6.tar.gz.

File metadata

  • Download URL: eebd_gesam2-0.1.6.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for eebd_gesam2-0.1.6.tar.gz
Algorithm Hash digest
SHA256 4d32eb0e01c8531d742357e10412824d7fe2a71e39e96b7220f78707077f94ee
MD5 bad19feae4e6a486a6d2cefa83c92300
BLAKE2b-256 2b8bbaaf00aef6a291aadf5357f209d88b69250c8c02f246de265a83cd5df3e5

See more details on using hashes here.

File details

Details for the file eebd_gesam2-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: eebd_gesam2-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for eebd_gesam2-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 33047c192dfaccd8b60904ff9cfe0bf650f28ca42758d44e55b78958f627f059
MD5 b755d2a445642bc51c37c0782e31ee67
BLAKE2b-256 2d86d07040c5f6d48d561c23e944c3c8c2a37aff0cf332ee05974a6b07910c9a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page