LabelImg 是一个开源的图像标注工具,用于生成用于机器学习模型(尤其是目标检测模型)训练的标注文件。它支持多种格式,包括 Pascal VOC 和 YOLO 格式。以下是 LabelImg 工具的安装与使用指南。

1. 安装 LabelImg

LabelImg 可以在 Windows、Linux 和 macOS 上安装。以下是不同操作系统的安装步骤。

1.1 安装依赖项

LabelImg 基于 Python,使用了 PyQt5 和 lxml 库。因此,我们需要先安装这些依赖项。

对于 Windows 用户:
  1. 安装 Python:确保已经安装 Python(建议使用 Python 3.x),并添加 Python 到系统路径。可以从 Python 官网 下载并安装。
  2. 安装依赖
    • 打开命令行工具(cmd)并运行以下命令来安装必要的 Python 库:
    pip install pyqt5 lxml
对于 macOS/Linux 用户:
  1. 安装 Python:在终端中输入以下命令检查是否已安装 Python:python3 --version 如果没有安装,您可以使用以下命令安装 Python(在 macOS 上):brew install python3
  2. 安装依赖
    • 运行以下命令来安装所需的依赖:
    pip3 install pyqt5 lxml

1.2 安装 LabelImg

  1. 克隆 GitHub 仓库
    • 打开命令行工具(Windows 使用 cmd,macOS/Linux 使用 Terminal),然后输入以下命令克隆 LabelImg 项目:
    git clone https://github.com/tzutalin/labelImg.git
  2. 进入项目目录cd labelImg
  3. 安装依赖(如果您还没有安装):pip install -r requirements/requirements-linux-python3.txt
    • 如果是 Windows 用户,您可能只需要运行:
    pip install -r requirements/requirements-win.txt
  4. 安装后端工具pyrcc5 -o libs/resources.py resources.qrc

1.3 启动 LabelImg

  1. 运行 LabelImgpython labelImg.py 这将启动 LabelImg 图形界面,并显示主窗口。

2. 使用 LabelImg

LabelImg 是一个非常直观的图像标注工具,以下是一些常见的使用步骤。

2.1 打开图像文件夹

  • 启动 LabelImg 后,点击 Open Dir 按钮,选择您需要标注的图像文件夹。
  • 这会加载该目录下的所有图像文件,您可以在图像之间切换。

2.2 创建标注

  1. 选择目标标注类型
    • 在界面的左侧选择您要标注的类别(如 “Person”“Car”, 等)。如果是第一次使用,您可以先点击 “Create” 按钮创建新的类别。
  2. 绘制框架
    • 点击图像上的 “Create RectBox” 按钮,然后在图像上点击并拖动来绘制一个矩形框,框住需要标注的目标物体。
  3. 输入标签
    • 选择绘制好的框后,输入标注的类别(如 “Person”、”Car” 等),并按 Enter 键确认。
    • 每个框对应一个标签,标注多个物体时可以重复此步骤。

2.3 保存标注文件

  • 保存标注
    • 标注完成后,点击 Save 按钮保存标注文件。LabelImg 支持 Pascal VOC 和 YOLO 两种格式,可以在 Save as Type 下拉框中选择保存格式。
    • 默认情况下,标注文件会保存在与图像文件相同的目录中,并以 .xml(VOC 格式)或 .txt(YOLO 格式)为后缀。

2.4 继续标注其他图像

  • 使用 箭头按钮 或 快捷键(Ctrl+Right/Ctrl+Left 在图像之间切换。
  • 每次切换图像后,都可以继续进行标注并保存。

2.5 快捷键

LabelImg 提供了一些常用的快捷键,可以提高标注效率:

  • Ctrl + s:保存标注
  • Ctrl + n:创建新的标注框
  • Ctrl + z:撤销操作
  • Ctrl + y:重做操作
  • Ctrl + q:退出程序
  • Ctrl + r:重新加载当前图像

2.6 标注导出

  • 标注完成后,您可以根据需求将标注文件导出为不同格式(如 VOC 或 YOLO)。
  • 如果您选择 YOLO 格式,标注文件将保存为 .txt 文件,每个文件包含每个标注框的类别和坐标。

3. LabelImg 配置

3.1 配置类别文件

LabelImg 允许用户自定义类别文件,以便管理标注的类别列表。您可以修改 config/labelmap.txt 文件,并将您需要的类别添加进去。

每一行是一个类别标签:

Person
Car
Dog
Cat

3.2 更改输出目录

您还可以更改标注文件的保存目录,通过选择 Save Dir 设置输出目录。


4. 高级功能

4.1 载入和导出为不同格式

LabelImg 支持 Pascal VOC 格式和 YOLO 格式:

  • Pascal VOC 格式的标注文件为 .xml 文件。
  • YOLO 格式的标注文件为 .txt 文件,每个文件包含一个图像的标注信息,每行格式如下:<object_class> <x_center> <y_center> <width> <height>

4.2 自动生成标签

LabelImg 也可以根据已有的标注文件自动生成新的标签,使用 Auto 按钮来启用该功能。


5. 总结

LabelImg 是一个非常直观、易于使用的图像标注工具,广泛应用于机器学习和计算机视觉项目中的数据集标注。它支持两种主流的标注格式,适合用于目标检测任务。如果您需要进行大规模标注,可以结合一些脚本进行批量处理,或使用自动化工具来提高效率。

希望这些步骤对你有所帮助!如果你在安装或使用过程中遇到问题,随时告诉我,我会帮助你解决。