wkentaro/labelme

Image annotation with Python. Supports polygon, rectangle, circle, line, point, and AI-assisted annotation.

labelme – 图像标注图形化工具

是什么 – 一个使用 Python + Qt 编写的桌面应用程序,可在图像或视频帧上绘制边界框、多边形、圆形、线条、点以及分类标志。标注数据以简单的 JSON 文件形式保存,可直接被机器学习流水线使用。

为何重要 – 高质量的标注数据是计算机视觉模型(语义/实例分割、目标检测、分类等)开发的瓶颈。labelme 提供了一种免费且跨平台的方式创建这些标签,并可导出为大多数训练框架期望的 VOC 或 COCO 格式。

主要功能

  • 多边形、矩形、圆形、线条、点绘制;基于标志的分类。
  • 视频帧标注。
  • GUI 自定义(预定义标签列表、自动保存、验证)。
  • 导出为 VOC 风格数据集(语义/实例分割)和 COCO 风格数据集(实例分割)。
  • 最新 AI 辅助功能:SAM/EfficientSAM(点→掩码),YOLO-World/SAM-3(文本→标注)。
  • 多语言 UI(约 20 种语言)。
  • 独立可执行文件(无需 Python/Qt)和 pip 可安装包。

安装

  1. pippip install labelme(最新代码可使用 pip install git+https://github.com/wkentaro/labelme.git)。支持 Python 3.12–3.14 与 Qt6(PySide6)。
  2. 独立应用 – 从项目网站下载预构建的二进制文件(一次性付费,无依赖)。
  3. Linux 包 – 多个发行版通过其原生包管理器提供 labelme(参见 Repology 标识)。

典型工作流

# 在单个图像上打开 GUI
labelme my_image.jpg

# 标注整个文件夹
labelme data_folder/ --labels labels.txt

# 将原始图像数据包含在 JSON 中(便于共享)
labelme img.png --with-image-data

生成的 <image>.json 包含形状、标签和可选的图像数据。examples/utils.py 中的示例工具展示了如何将这些 JSON 文件读取为 NumPy 数组用于训练。

导出 – 标注完成后,可运行内置导出器(或 examples/ 目录中的辅助脚本)生成 VOC 或 COCO 数据集结构,适用于 PyTorch-Vision、Detectron2 或 TensorFlow 等框架。

社区与支持 – 项目拥有 CI 标识、Discord 服务器和公开的问题追踪器。README 指出,公开接口仅限于 CLI、JSON 格式和 ~/.labelmerc 配置文件;Python 导入接口为内部使用,可能发生变化。


以上所有信息均直接取自仓库的 README。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目