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 核心知识结构。你可以把它当作学习地图。
2.6 避坑总结
最后,我把这些年用 LabelImg 踩过的坑整理一下:
常见问题:
- 标注文件丢失:记得设置自动保存,默认是每标注一个框就保存一次
- 类别名称不一致:建议用英文命名,中文在某些版本会乱码
- 图片路径问题:移动图片后,XML 里的路径会失效,建议用相对路径
我曾经有一次标注了 2000 张图片,结果因为路径问题全部要重新关联。从那以后,我每次开始标注前都会先检查保存路径和图片路径。
好了,LabelImg 的基础就这些。工具本身不复杂,关键是用熟练。下一节我们就要开始实战标注了,到时候你会真正体会到快捷键带来的效率提升。
公众号:蓝海资料掘金营,微信deep3321