欢迎光临
我们一直在努力

人工智能标注工具Labelme 使用指南:从安装到进阶应用

Labelme 是一款经典的图像标注工具,特别适合做语义分割、实例分割这类需要像素级精度的任务。相比只支持画框的工具,它能让你画出任意形状的多边形,精准勾勒物体边缘。

这篇教程将从零开始,带你完成 Labelme 的安装、上手使用,再到数据格式转换和进阶应用。


1. 什么是 Labelme?

Labelme 是一个用 Python 和 PyQt 编写的开源图形图像标注工具,灵感来源于 MIT 的 LabelMe 项目 。它主要用于生成高质量的图像标注数据,是计算机视觉领域,尤其是语义分割和实例分割任务中不可或缺的助手。

核心特性

  • 丰富的标注形状:支持多边形(Polygon,用于分割)、矩形(Rectangle,用于检测)、圆形、线段和点等多种标注形式 。
  • 多任务支持:不仅支持分割和检测,还支持图像级别的分类标注(Flags)和视频标注 。
  • 格式灵活:标注结果默认保存为 JSON 文件,包含所有形状的坐标和标签信息,易于解析和转换。
  • 多语言支持:支持中文等多语言界面(可通过设置环境变量启用)。
  • AI 辅助:最新版本集成了 SAM、YOLO-World 等模型,支持 AI 辅助标注,提高效率 。

2. 安装指南:三种方法任你选

Labelme 的安装非常简单,这里有三种常见方法,你可以根据自己的情况选择。

方法一:使用 Anaconda + Pip(推荐)

这是最推荐的方式,能避免依赖冲突,且跨平台兼容性好 。

  • 安装 Anaconda:从官网下载并安装 Anaconda。
  • 打开终端:
    • Windows:打开 Anaconda Prompt。
    • macOS/Linux:打开 Terminal。
  • 创建虚拟环境(可选但推荐):conda create -n labelme python=3.9
    conda activate labelme

  • 安装 Labelme:pip install labelme

    如果需要安装最新的开发版,可以使用:pip install git+https://github.com/wkentaro/labelme.git

  • 验证安装:在终端输入 labelme,如果软件界面正常弹出,即表示安装成功 。
  • 方法二:直接使用 Pip 安装

    如果你已经熟悉 Python 环境管理,可以直接使用 pip 安装,但需要确保系统中已安装 PyQt5 。

    pip install pyqt5
    pip install labelme

    方法三:使用独立可执行文件(最简单)

    如果你不想折腾 Python 环境,官方提供了独立的可执行文件(AppImage for Linux, .exe for Windows),下载即可运行,无需任何依赖。这是一个付费功能,旨在支持项目维护 。

    3. 快速上手实战

    安装好后,我们通过一张图片来走一遍完整的标注流程。

    第一步:启动软件

    在终端输入 labelme,启动图形界面。

    第二步:打开图像/文件夹

    • 点击菜单栏 File -> Open,选择一张图片开始单张标注。
    • 或者点击 Open Dir,选择一个包含多张图片的文件夹,这样可以在软件内顺序浏览和标注 。

    第三步:开始标注

  • 在左侧工具栏选择 Create Polygons(快捷键 Ctrl+N)。
  • 在需要标注的物体边缘点击左键,依次打出顶点,直到形成一个闭合的多边形(可以右键最后一个点闭合)。
  • 闭合后,会弹出一个输入框,输入该物体的标签名称(如 “cat”, “car”),点击 OK 确认。
    • 小贴士:如果一张图里有多个同类物体(如两只猫),建议命名为 cat1, cat2 以便区分实例 。
  • 重复步骤 2-3,完成当前图片中所有物体的标注。
  • 第四步:保存标注

    点击 File -> Save,保存 JSON 文件。默认情况下,JSON 文件会与图片保存在同一目录下,文件名与图片相同 。

    常用快捷键

    • Ctrl+N:新建多边形标注。
    • Ctrl+J:编辑当前标注的点。
    • Ctrl+S:保存。
    • Ctrl+Z:撤销上一步。
    • 鼠标滚轮:缩放图片。
    • Ctrl+鼠标滚轮:调整画笔宽度(仅限涂鸦模式)。

    4. 深入理解:JSON 文件解析

    标注完成后,生成的 JSON 文件是后续数据处理的关键。它的结构如下:

    {
    "version": "5.1.1",
    "flags": {},
    "shapes": [
    {
    "label": "person", // 标签名称
    "points": [[x1, y1], [x2, y2], ], // 多边形顶点坐标
    "group_id": null,
    "shape_type": "polygon", // 形状类型
    "flags": {}
    }
    ],
    "imagePath": "img.jpg", // 图片相对路径
    "imageData": "base64…", // 图片的 base64 编码(可选)
    "imageHeight": 480,
    "imageWidth": 640
    }

    注意:默认情况下,imageData 字段会将图片编码进 JSON 文件,导致文件体积巨大。如果你希望分开存放,可以在启动命令时加上 –nodata 参数:

    labelme image.jpg –nodata

    这样 JSON 中只会记录图片路径,不包含图片数据 。

    5. 数据转换与实战应用

    模型训练通常需要特定的数据格式(如 VOC、COCO),直接使用 JSON 文件是不行的,需要进行转换。

    转换为 VOC / COCO 格式

    Labelme 项目自带了转换脚本,可以方便地将 JSON 转换为 VOC 格式(生成 PNG 标签图)或 COCO 格式的 JSON 文件。

    转换为 VOC 语义分割图(生成 label.png):

    # 安装依赖
    pip install labelme

    # 使用 CLI 工具转换单个文件
    labelme_json_to_dataset input.json -o output_dir

    这段代码会在 output_dir 目录下生成 label.png(灰度标签图)、img.png 和 label_viz.png(可视化叠加图)。

    批量转换:
    你可以使用 Python 脚本遍历所有 JSON 文件执行转换。参考代码如下 :

    import os
    import glob
    from labelme import utils

    json_files = glob.glob('*.json')
    for json_file in json_files:
    # 加载 JSON 数据
    data = utils.load_json_file(json_file)
    # 获取标签和图像
    img, lbl = utils.labelme_shapes_to_label(img_shape, data['shapes'])
    # 保存 label.png
    utils.lblsave(os.path.join('out', 'label.png'), lbl)

    与深度学习框架集成

    转换后的数据可以直接用于 PyTorch 或 TensorFlow 训练。你可以编写一个自定义的 Dataset 类,加载图片和对应的 label.png 作为 ground truth 。

    6. 进阶技巧与常见问题

    提升标注效率的小技巧

    • 预定义标签列表:在命令行中指定标签列表,避免重复输入 。labelme –labels label.txt

      label.txt 文件每行写一个标签名。

    • 使用 AI 辅助:如果你熟悉 Python,可以集成官方提供的 AI 辅助模型(如 SAM),通过点击“正样本点”和“负样本点”让模型自动生成多边形轮廓,人工只需微调即可 。
    • 标注规范:
      • 对于极小物体(像素小于 20×20),可视情况省略标注 。
      • 物体边缘模糊时,建议以肉眼可见的轮廓为准,保持标注员之间的标准一致。

    常见问题解决

  • 界面显示乱码或英文怎么办?
    如果你想显示中文界面,可以在启动前设置语言环境变量:LANG=zh_CN.UTF-8 labelme

  • 如何修改默认配置?
    第一次运行 Labelme 后,会在用户目录下生成一个配置文件 ~/.labelmerc。你可以通过编辑这个文件来修改默认的窗口大小、自动保存、标签颜色等 。
  • 7. 总结

    Labelme 是一个功能强大且生态完善的标注工具,尤其适合需要精细像素级标注的语义分割任务。通过本教程,你应该已经掌握了从安装、基础使用到数据转换的全流程。

    在实际项目中,配合 AI 辅助标注和规范化的质量控制流程,可以显著提升数据准备的效率和质量。希望这篇教程能帮助你顺利开启计算机视觉项目的第一步!

    赞(0)
    未经允许不得转载:171主机测评 » 人工智能标注工具Labelme 使用指南:从安装到进阶应用
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址