2、标注工具入门(LabelImg):安装配置、界面与快捷键

做计算机视觉的,谁还没跟标注工具打过交道呢?

我记得刚入行那会儿,团队里用的还是自己写的脚本,画个框都得手动输坐标。后来接触了 LabelImg,才算是真正解放了双手。今天我就带你把这个工具摸透。

2.1 LabelImg 是什么?

LabelImg 是一款开源的图像标注工具。说白了,它就是帮你用鼠标在图片上画框框,然后自动生成标注文件。

它支持两种主流格式:

  • PascalVOC:生成 XML 文件,跟目标检测的经典数据集格式一致
  • YOLO:生成 TXT 文件,每行一个目标,格式是 class_id x_center y_center width height

我个人习惯用 PascalVOC 格式做标注,因为后续转成其他格式很方便。你想想看,要是标注到一半发现格式不对,那得多崩溃?

核心功能一览:

  • 支持矩形框标注(Bounding Box)
  • 自动保存标注结果
  • 支持图片列表浏览
  • 可自定义类别标签
  • 跨平台(Windows / Linux / macOS)

2.2 安装与配置

安装这块,我踩过不少坑。尤其是 Windows 用户,环境配置不对,启动就报错。下面我把两种主流方式都给你讲清楚。

2.2.1 方式一:pip 安装(推荐)

这是最省事的方法。前提是你已经装好了 Python 和 pip。

# 安装 LabelImg
pip install labelimg

# 启动
labelimg

嗯,这里要注意:如果你用的是 Python 3.10 及以上版本,可能会遇到 PyQt5 的兼容问题。我曾经在 Python 3.11 上装了半天,最后发现降级到 3.8 就稳了。

避坑指南:我曾经在 Windows 上直接 pip install,结果报错说缺少 PyQt5。解决方案很简单:先手动装 PyQt5,再装 labelimg。

pip install PyQt5
pip install labelimg

2.2.2 方式二:源码安装

如果你需要二次开发,或者想看看底层实现,那就用源码方式。

git clone https://github.com/tzutalin/labelImg.git
cd labelImg
pip install -r requirements/requirements-linux-python3.txt
make qt5py3
python labelImg.py

Windows 用户记得把 requirements 文件换成 requirements-windows-python3.txt。这个细节我当年就忽略了,结果编译报错查了半天。

2.3 界面介绍

启动 LabelImg 后,你会看到一个很清爽的界面。我把它分成三个区域来讲:

界面布局:

  • 左侧工具栏:打开文件、打开目录、保存、标注格式切换等
  • 中央画布区:显示图片,进行标注操作
  • 右侧文件列表:显示当前目录下的所有图片

说实话,这个界面设计得很直观。你不需要看文档,摸索两分钟就能上手。

2.3.1 核心按钮功能

按钮 功能 我的建议
Open 打开单张图片 标注少量图片时用
Open Dir 打开图片文件夹 批量标注时必用
Change Save Dir 设置标注文件保存路径 建议跟图片分开存放
Next Image 切换到下一张 配合快捷键效率翻倍
Verify Image 标记图片为已审核 质检环节很有用

2.4 快捷键设置

做标注最怕什么?重复劳动。一个框一个框地画,手都酸了。快捷键就是你的救星。

我个人习惯把常用操作都映射到左手区域,这样右手握鼠标,左手按快捷键,效率直接翻倍。

2.4.1 默认快捷键

快捷键 功能
W 创建矩形框
A 上一张图片
D 下一张图片
Ctrl + S 保存标注
Ctrl + R 重置当前标注
Delete 删除选中的框
Space 标记为已审核

我的小技巧:标注时左手放在 WASD 区域,W 画框,A/D 翻页,一气呵成。我曾经带过一个实习生,用鼠标点按钮翻页,一天下来手腕疼得不行。后来我教他用快捷键,效率提升了至少 30%。

2.4.2 自定义快捷键

LabelImg 支持自定义快捷键。配置文件在 data/settings.ini 里。

[shortcuts]
create = W
next = D
prev = A
save = Ctrl+S
delete = Delete
verify = Space

你可以根据自己的习惯修改。比如有人喜欢用 Q 和 E 翻页,有人喜欢用 Z 撤销。怎么顺手怎么来。

2.5 知识体系总览

下面这张图,是我梳理的 LabelImg 核心知识结构。你可以把它当作学习地图。

LabelImg 标注工具 安装与配置 • pip 安装 • 源码安装 • 环境配置 界面与操作 • 工具栏 • 画布区 • 文件列表 快捷键设置 • 默认快捷键 • 自定义配置 • 效率优化 标注格式 • PascalVOC (XML) • YOLO (TXT) 实战技巧 • 批量标注 • 质检流程

2.6 避坑总结

最后,我把这些年用 LabelImg 踩过的坑整理一下:

常见问题:

  • 标注文件丢失:记得设置自动保存,默认是每标注一个框就保存一次
  • 类别名称不一致:建议用英文命名,中文在某些版本会乱码
  • 图片路径问题:移动图片后,XML 里的路径会失效,建议用相对路径

我曾经有一次标注了 2000 张图片,结果因为路径问题全部要重新关联。从那以后,我每次开始标注前都会先检查保存路径和图片路径。

好了,LabelImg 的基础就这些。工具本身不复杂,关键是用熟练。下一节我们就要开始实战标注了,到时候你会真正体会到快捷键带来的效率提升。


公众号:蓝海资料掘金营,微信deep3321