这个项目能做什么
Labelme 是一款用 Python 编写、采用 Qt 界面的图形化图像标注工具,灵感源自 MIT 的 LabelMe 项目。它通过 PyPI 分发,同时也提供付费的独立应用版本,方便不愿安装 Python 或 Qt 的用户使用。
标注基本元素包括多边形、矩形、圆形、线条和点,此外还支持图像标志标注,用于分类和清理。视频标注功能也已支持。图形界面可根据预定义标签和标志进行定制,并支持自动保存和标签验证。标注结果以 JSON 文件格式存储。
AI 辅助功能包括:使用 SAM 和 EfficientSAM 模型进行点选生成多边形或掩膜标注,以及使用 YOLO-world 和 SAM3 模型进行文本驱动的标注。
数据集可导出为 VOC 格式,用于语义分割和实例分割,也可导出为 COCO 格式,用于实例分割。示例工作流程涵盖图像分类、边界框检测、语义分割、实例分割和视频标注。
界面支持约 20 种语言,包括英语、日语、韩语、简体中文、繁体中文、德语、希腊语、法语、西班牙语、意大利语、葡萄牙语、荷兰语、匈牙利语、俄语、泰语、越南语、土耳其语、乌克兰语、波兰语和波斯语,可通过 LANG 环境变量进行选择。
安装方式包括 pip(`pip install labelme`)、独立可执行文件,或通过 Repology 跟踪的 Linux 发行版原生软件包。7.x 版本面向 Python 3.12-3.14,使用 PySide6 提供的 Qt6,支持 64 位 macOS、Windows 和 Linux;6.3.x 版本是维护分支,支持 Qt5 和 Python 3.10/3.11。项目遵循 SPEC 0 规范,与 numpy、scipy 和 scikit-image 同步放弃旧版 Python 支持。
Labelme 是一个应用程序而非库:其稳定接口包括命令行界面、磁盘上的 JSON 标注格式以及 `~/.labelmerc` 配置文件格式。v7 版本将内部 Python 模块私有化,因此 `labelme.app` 或 `labelme.utils` 等导入方式不再有效;示例中提供了不依赖 labelme 读取 JSON 格式的参考代码。配置中的布尔值现在遵循 YAML 1.2 解析规则,因此 `yes`/`no`/`on`/`off` 必须写成 `true`/`false`。
开发使用 just 和 uv 工具,常用命令包括 `just setup`、`just lint` 和 `just test`。该仓库是 mpitid/pylabelme 的一个分支。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。