3、数据集标注工具LabelImg:从安装到高效标注

做计算机视觉项目,尤其是目标检测,你绕不开一个工具——LabelImg。说实话,这玩意儿虽然界面朴素,但它是连接原始图像和模型训练之间最关键的桥梁。我最早接触它是在一个工业质检项目里,当时急着出活,结果因为标注格式搞错了,白费了两天功夫。嗯,今天咱们就把LabelImg彻底聊透。

3.1 LabelImg安装:两种方式,随你挑

安装LabelImg有两种主流方式。我个人更推荐第一种,省心。

方式一:pip安装(推荐)

这是最直接的方式。打开终端,敲一行命令就行:

pip install labelImg

装完之后,在终端输入 labelImg 就能启动。我在Windows和Ubuntu上都试过,基本没出过问题。不过要注意,如果你用的是Python 3.9以上的版本,可能会遇到一些依赖冲突。我建议你新建一个虚拟环境来装,别跟其他项目混在一起。

我的小建议: 用conda创建一个干净环境,比如 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系列模型直接使用
注意: 切换格式后,已经标注的图片不会自动转换。你需要重新保存一遍。我曾经一次性标注了500张图,然后切换格式后忘了重新保存,结果全部白干。嗯,血的教训。

我个人习惯是:先用PascalVOC格式标注,因为XML文件里能看到具体的像素坐标,方便检查。等所有标注完成,再统一用脚本转换成YOLO格式。LabelImg自带的切换功能虽然方便,但批量转换时还是脚本更靠谱。

3.4 快捷键操作:效率翻倍的关键

你想想看,如果每标注一个框都要去点一下鼠标,一天下来手都酸了。快捷键才是王道。

下面是我最常用的几个快捷键,记牢了:

  • W:创建矩形框(最常用,没有之一)
  • A:上一张图片
  • D:下一张图片
  • Ctrl+S:保存当前标注
  • Delete:删除选中的标注框
  • Ctrl+Z:撤销上一步操作(这个很救命)
  • Ctrl+Y:切换标注格式
  • Space:标记当前图片为“已确认”(配合自动保存模式用)
我的操作习惯: 左手放在键盘左侧(W、A、S、D区域),右手握鼠标。标注时,左手按W画框,右手调整框的位置。画完后左手按D切换到下一张。这样一天能标300-400张图,效率很高。

还有一个隐藏技巧:按住 Ctrl 键,然后用鼠标滚轮可以缩放图像。按住 Ctrl+Shift 再滚轮,可以调整标注框的透明度。这些小细节,用熟了能省不少时间。

好了,LabelImg的核心内容就这些。安装、界面、格式切换、快捷键,这四个点吃透了,你就能顺畅地开始标注工作了。下一章咱们聊聊标注时的注意事项和常见坑,比如怎么定义类别、怎么处理遮挡目标等等。到时候见。