3、数据集标注工具LabelImg:从安装到高效标注
做计算机视觉项目,尤其是目标检测,你绕不开一个工具——LabelImg。说实话,这玩意儿虽然界面朴素,但它是连接原始图像和模型训练之间最关键的桥梁。我最早接触它是在一个工业质检项目里,当时急着出活,结果因为标注格式搞错了,白费了两天功夫。嗯,今天咱们就把LabelImg彻底聊透。
3.1 LabelImg安装:两种方式,随你挑
安装LabelImg有两种主流方式。我个人更推荐第一种,省心。
方式一:pip安装(推荐)
这是最直接的方式。打开终端,敲一行命令就行:
pip install labelImg
装完之后,在终端输入 labelImg 就能启动。我在Windows和Ubuntu上都试过,基本没出过问题。不过要注意,如果你用的是Python 3.9以上的版本,可能会遇到一些依赖冲突。我建议你新建一个虚拟环境来装,别跟其他项目混在一起。
conda create -n labelimg python=3.8,然后再pip安装。这样最稳。
方式二:源码安装(适合折腾)
如果你想看看源码,或者pip安装遇到奇怪的问题,那就从GitHub克隆下来:
git clone https://github.com/HumanSignal/labelImg.git
cd labelImg
pip install -r requirements/requirements-linux-python3.txt # Linux
# 或者
pip install -r requirements/requirements-windows-python3.txt # Windows
python labelImg.py
我曾经在Mac上试过源码安装,结果Qt的版本对不上,折腾了半小时。后来还是老老实实用pip了。所以,除非你有特殊需求,否则别跟自己过不去。
3.2 界面布局:别被它吓到
启动LabelImg后,你会看到一个很“复古”的界面。别嫌弃,功能都在刀刃上。
咱们从上到下、从左到右捋一遍:
- 菜单栏(最顶部):文件、编辑、视图、帮助。常用的就是“文件”里的“打开目录”和“改变标注保存目录”。
- 左侧工具栏:核心操作区。创建矩形框、保存、下一张、删除框等。我习惯把鼠标悬停在图标上,它会显示快捷键提示。
- 中央图像区域:显示你要标注的图片。你可以用滚轮缩放,按住Ctrl+滚轮可以微调。
- 右侧文件列表:显示当前目录下的所有图片。双击就能切换。
- 底部标签列表:显示当前图片上所有标注框的类别和坐标。
3.3 PascalVOC与YOLO格式切换:别搞混了
这是最容易踩坑的地方。我见过太多人标注了一堆数据,结果发现格式不对,又要重新导出。
LabelImg默认保存为PascalVOC格式,也就是XML文件。但YOLO训练需要的是TXT文件。怎么切换?
很简单,点击菜单栏的“视图” → “自动保存模式”旁边的“YOLO”选项。或者直接用快捷键 Ctrl+Y 切换。
| 格式 | 文件后缀 | 坐标格式 | 适用场景 |
|---|---|---|---|
| PascalVOC | .xml | xmin, ymin, xmax, ymax(左上右下) | 通用、可读性强、适合多类别 |
| YOLO | .txt | class_id, x_center, y_center, width, height(归一化) | YOLO系列模型直接使用 |
我个人习惯是:先用PascalVOC格式标注,因为XML文件里能看到具体的像素坐标,方便检查。等所有标注完成,再统一用脚本转换成YOLO格式。LabelImg自带的切换功能虽然方便,但批量转换时还是脚本更靠谱。
3.4 快捷键操作:效率翻倍的关键
你想想看,如果每标注一个框都要去点一下鼠标,一天下来手都酸了。快捷键才是王道。
下面是我最常用的几个快捷键,记牢了:
W:创建矩形框(最常用,没有之一)A:上一张图片D:下一张图片Ctrl+S:保存当前标注Delete:删除选中的标注框Ctrl+Z:撤销上一步操作(这个很救命)Ctrl+Y:切换标注格式Space:标记当前图片为“已确认”(配合自动保存模式用)
还有一个隐藏技巧:按住 Ctrl 键,然后用鼠标滚轮可以缩放图像。按住 Ctrl+Shift 再滚轮,可以调整标注框的透明度。这些小细节,用熟了能省不少时间。
好了,LabelImg的核心内容就这些。安装、界面、格式切换、快捷键,这四个点吃透了,你就能顺畅地开始标注工作了。下一章咱们聊聊标注时的注意事项和常见坑,比如怎么定义类别、怎么处理遮挡目标等等。到时候见。