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 进行安装和分发,并提供了命令行启动方式。

安装

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

⚠️ 步骤 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.4.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.4-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eebd_gesam2-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 0e3fe06d09e87f89673b59353cd352ad146d37b56ec692d0aa43df6c06622841
MD5 68fd42d0f3b7aa2f0799d45d68263783
BLAKE2b-256 89d5f0ddc3090315bf302a746a0760becd1247a503eb67da0c94cfa100b02e37

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eebd_gesam2-0.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8bd532f865b9c4b76b27e1e9b06b8bfc115822b1a93d507e8fc572892810092b
MD5 e227be9e8a7dbad7506058debcd34812
BLAKE2b-256 ce8e01455cae6b7809f969a16107b527fe4ef87fab39bc2822fd2d0374a966c5

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