labelme
Python图像标注工具,支持多边形/矩形/圆/线/点标注及AI辅助分割,输出JSON可对接任意CV
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Python图像标注工具,支持多边形/矩形/圆/线/点标注及AI辅助分割,输出JSON可对接任意CV
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

labelme 是全球最具影响力的开源图像标注工具之一,由日本开发者 Kentaro Wada(aka wkentaro)创建并持续维护 7 年有余,至今仍保持高活跃度——近 160 个 open issues,Stars 数突破 15,900,是计算机视觉(CV)数据准备领域毫无争议的事实标准工具。
训练一个能识别猫咪的 AI 模型,需要成千上万张"打了标签"的图片。早期做法是:程序员写个脚本,让人用 Excel 填坐标——标注效率低、出错率高、数据格式混乱。labelme 的诞生,就是为了把这件事变得专业、可控、可复用。
简单类比:labelme 就像是给 AI 训练师配备的"瑞士军刀"——每个刀片对应一种标注场景,每个功能都直指数据准备的痛点。
Kentaro Wada 是计算机视觉领域的资深研究者,曾在多家 AI 公司从事感知算法工作。他在 MIT 的 labelme 项目基础上重新设计,用 Python + Qt 打造了这款全新工具,并于 2016 年左右发布到 GitHub。此后 7 年间,他以近乎全职的开源维护者身份持续迭代,几乎每个版本都在扩展 AI 辅助标注能力。
labelme 的定位非常清晰:做本地优先、不依赖云服务的专业标注工具。这与 Scale AI、V7 Lab 等商业云平台形成鲜明对比——labelme 的数据永远保存在用户本地硬盘,不会上传到任何服务器。
labelme 支持 6 种核心标注类型,覆盖几乎所有 CV 场景:
| 类型 | 适用场景 | 示例 |
|---|---|---|
| 多边形(Polygon) | 实例分割、语义分割 | 勾勒猫咪的精确轮廓 |
| 矩形框(Bounding Box) | 目标检测 | 标出图中所有汽车 |
| 圆形(Circle) | 细胞检测、医学影像 | 圈出显微镜下的细胞核 |
| 线条(Line) | 车道线、边缘检测 | 标注道路标线 |
| 点标注(Point) | 关键点检测、人脸特征点 | 标出人脸 68 个关键点 |
| 图像分类标签(Flag) | 图片级分类 | 给图片打上"室内/室外"标签 |
图1:语义分割标注示例,多边形勾勒道路场景中的不同区域
2023 年后,labelme 集成了两项重磅 AI 功能,大幅降低人工标注成本:
AI Assist(点选辅助):用户在图像上点几个正样本点+负样本点,Meta SAM(Segment Anything Model)或 EfficientSAM 自动生成精确的多边形轮廓。一次点击替代数十次手动描点,效率提升可达 10 倍以上。
AI Text Prompt(文本转标注):用户输入一个类别名(如"car"),YOLO-World 模型在整张图中找出所有匹配的物体,自动生成 bounding box。适合批量处理重复场景。
图2:AI Assist 效果——点选即自动生成精确轮廓
labelme 输出的 JSON 标注文件,可一键转换为两大主流格式:
图3:VOC 格式导出——原图与语义分割标注
labelme 采用模块化插件架构,核心代码位于 labelme/ 包:
labelme/
app.py # Qt 主应用入口
_label_file.py # JSON 标注文件读写
_shape.py # 几何图形(Shape)数据模型
_shape_clipboard.py # 复制粘贴标注
_automation/ # AI 模型集成(SAM/YOLO-World)
config/ # Qt 样式/主题配置
widgets/ # Qt 界面组件
utils/ # 工具函数(文件读写、格式转换)
translate/ # 国际化翻译(20+语言)
labelme 本身不训练模型,而是作为标注前端,通过 onnxruntime 调用预训练模型(SAM、EfficientSAM、YOLO-World),实现推理侧的 AI 辅助。开发者可在 _automation/ 模块中扩展新的模型。
pip install labelme
Python 3.10+ 环境,一条命令完成安装。依赖项 PyQt5 会在安装时自动处理。
⚠️ 注意:无 Dockerfile,无 docker-compose。Linux 服务器环境需要配置虚拟显示(Xvfb)或通过 VNC 使用。
如果不想装 Python 环境,作者提供了独立的预编译应用 labelme.io,可直接下载使用,但独立应用不在本仓库内管理。
git clone https://github.com/wkentaro/labelme.git
cd labelme
make setup # uv sync 安装依赖
make test # 运行测试
labelme # 启动应用
labelme 的核心价值不在于"最先进",而在于足够稳定、足够通用、足够本地化。在数据隐私法规日趋严格的今天(GDPR、中国数据安全法),一款数据不出本地的标注工具具有不可替代的优势。
图4:多边形、矩形、圆形等多种标注类型
从生态角度看,labelme 催生了大量下游工具:
labelme 的增长曲线反映了一个趋势:AI 民主化降低了标注门槛,但专业数据准备工具的需求反而在增长。未来,随着多模态模型(GPT-4V、Gemini)介入自动标注,labelme 的定位可能进一步向"人工审核 + AI 预标注"工作流演进。
图5:点标注、线条标注等多种几何类型