labelme 是一款基于 Python 和 Qt 的开源图像标注工具,灵感源自 MIT CSAIL 同名项目,GitHub 收获超 16000 Star。它支持多边形、矩形、圆形、直线、点等多种标注形状,覆盖实例分割、语义分割、目标检测、分类与视频标注任务,并提供 AI 辅助标注。标注结果以 JSON 存储,可一键转换为 VOC、COCO 等数据集格式,是计算机视觉数据准备的经典之选。
适用人群:计算机视觉算法工程师与深度学习研究者,需要自制训练数据集的 AI 项目开发者,以及从事图像分割、目标检测数据生产的标注团队与高校实验室师生。
适用场景:为语义分割或实例分割模型制作像素级标注数据集;为目标检测任务标注边界框并导出 VOC/COCO 格式数据;对小规模图像集进行分类打标或视频目标标注。
推荐理由:labelme 轻量易装、完全免费,一个工具覆盖分割、检测、分类等多类标注任务,JSON 开放格式配合官方转换脚本可无缝对接主流训练框架。单机即用、无需部署,配合 AI 辅助标注大幅提效,是个人开发者与小团队数据标注的首选。
项目定位与背景
在计算机视觉项目中,数据标注往往是最耗时也最容易被忽视的环节。labelme 是一款用 Python 编写的开源图像标注工具,灵感来源于 MIT CSAIL 实验室的同名在线标注系统,由开发者 wkentaro 长期维护,目前在 GitHub 已收获超过 16000 Star 和 3700 Fork,是深度学习社区中历史最悠久、使用最广泛的标注工具之一。它基于 Qt 构建图形界面,跨平台支持三大主流操作系统,既可通过 pip 一键安装,也可在 labelme.io 下载免配置的独立应用,对不熟悉 Python 环境的用户同样友好。
核心功能与技术架构
labelme 的能力覆盖了视觉任务的主要标注形态:多边形用于实例分割,矩形用于目标检测,圆形、直线和点适用于关键点等场景,此外还支持图像分类和视频标注。所有结果以 JSON 文件保存,记录形状顶点、标签与图像元数据,配合官方脚本可一键转换为 Pascal VOC、COCO 等主流数据集格式,README 中的实例分割示例完整展示了从原图到分割掩码可视化的输出效果。近年版本还引入了 AI 辅助标注,借助模型预分割结果减少人工勾画,显著提升密集目标的标注效率。
创新点与亮点
与功能单一的工具不同,labelme 把一个工具覆盖多任务做到了极致:同一套操作逻辑下可完成语义分割、实例分割、边界框检测与分类,避免团队在多个工具间来回切换。标注数据以开放的 JSON 格式存储而非私有格式,数据资产不会被工具绑定。AI 辅助标注让模型预标加人工精修的半自动流程成为可能。项目还维护了活跃的 Discord 社区与视频教程资源,生态完善度在同类工具中名列前茅。
与同类项目对比
与专注矩形框的 LabelImg 相比,labelme 标注类型更丰富,尤其擅长分割任务;与 CVAT、Label Studio 等平台级方案相比,它胜在轻量——单机即可运行,无需部署服务端与数据库,适合个人和小团队快速上手。短板也很明显:不支持多人协同与任务分配,界面交互多年变化不大,面对超大规模数据集效率不及企业级平台。因此它更适合定位为本地化个人标注工具。
上手指南
上手几乎没有门槛:pip install labelme 完成安装后,命令行输入 labelme 即可启动界面。打开图像目录,选择标注形状(如 Create Polygons),沿目标边缘勾画轮廓并输入标签即可。标注完成后,可用 examples 目录下的 labelme2voc.py、labelme2coco.py 等脚本将 JSON 转换为训练框架可用的数据集。官方仓库提供了语义分割、实例分割、检测、分类等完整示例,照着跑一遍即可打通整条数据链路。
总结与展望
labelme 用多年沉淀证明了简单且专注的开源工具同样能成为行业标准。它的优势在于轻量免费、格式开放、任务覆盖全面,AI 辅助标注的加入也让它跟上了智能化浪潮;不足是缺乏协同能力和现代化 UI。对正在搭建视觉数据流水线的开发者与研究者而言,labelme 依然是性价比最高的起点之一,随着独立应用的发布,其使用门槛还将进一步降低。
项目信息
| 项目名称 | wkentaro/labelme |
| 编程语言 | Python |
| Star 数 | 16214 |
| Fork 数 | 3713 |
| 主题标签 | annotations, classification, computer-vision, deep-learning, image-annotation, instance-segmentation, python, semantic-segmentation, video-annotation |