目录
一、LabelImg 简介
二、安装方法
Windows 系统
macOS 系统
Linux 系统
三、基本界面介绍
四、完整标注流程
步骤1:准备工作
步骤2:打开标注工具
步骤3:设置参数
步骤4:开始标注
步骤5:保存和导航
五、常用快捷键
六、标注规范与技巧
标注原则
提高效率的技巧
七、输出格式说明
1. PASCAL VOC 格式(XML)
2. YOLO 格式(TXT)
八、常见问题解决
问题1:无法保存标注
问题2:标签不显示
问题3:快捷键无效
九、高级功能
自动标注
批量转换格式
质量检查
十、最佳实践建议
十一、后续步骤
学习资源
一、LabelImg 简介
LabelImg 是一款开源的图像标注工具,主要用于为机器学习项目创建标注数据集。它支持多种标注格式,包括:
PASCAL VOC(.xml 文件)
YOLO(.txt 文件)
CreateML(JSON 文件)
我们使用的标注工具是labelimg,接下来详细讲解如果安装使用labelimg。
labelimg 只支持矩形标注,如果需要更精准的多边形标准,可以使用labelme。
二、安装方法
Windows 系统
bash
# 方法1:使用 pip 安装(需先安装 Python) pip install labelImg # 方法2:下载预编译的 exe 文件 # 访问 GitHub 仓库下载最新版本
macOS 系统
bash
brew install python3 pip3 install labelImg labelImg # 启动
Linux 系统
bash
sudo apt-get install pyqt5-dev-tools pip3 install labelImg labelImg
三、基本界面介绍
启动 LabelImg 后,界面主要分为以下区域:
菜单栏:文件操作、设置等
工具栏:常用功能快捷按钮
图像显示区:显示待标注图像
文件列表区:显示文件夹中的图像文件
标注列表区:显示当前图像的所有标注框
四、完整标注流程
步骤1:准备工作
创建项目文件夹结构:
text
project/ ├── images/ # 存放原始图片 ├── annotations/ # 存放标注文件 └── classes.txt # 类别列表文件
创建
classes.txt,每行一个类别名称:
text
person car dog cat
步骤2:打开标注工具
bash
# 启动 LabelImg labelImg # 或者指定图片文件夹 labelImg [图片文件夹路径]
步骤3:设置参数
选择标注格式:
View→Use default label或Use label.txt file选择
labels.txt文件路径
设置保存路径:
File→Change Save Dir选择保存标注文件的目录
步骤4:开始标注
打开图像文件夹:
File→Open Dir选择图片文件夹
创建标注框:
按
W键或点击Create RectBox按钮在目标物体周围拖动鼠标绘制边界框
选择类别标签(或手动输入)
点击
OK完成
调整标注框:
拖动边界框调整位置和大小
右键标注框可删除或修改类别
步骤5:保存和导航
保存标注:
按
Ctrl+S或点击Save保存当前标注按
Ctrl+Shift+S自动保存并跳转到下一张
图像导航:
上一张:
A或←下一张:
D或→跳转到指定图像:滚动文件列表
五、常用快捷键
| 快捷键 | 功能 |
|---|---|
W | 创建边界框 |
Ctrl + S | 保存当前标注 |
Ctrl + Shift + S | 保存并下一张 |
A/← | 上一张图像 |
D/→ | 下一张图像 |
Ctrl + D | 复制当前标注框 |
Del | 删除选中标注框 |
Ctrl + + | 放大图像 |
Ctrl + - | 缩小图像 |
Space | 标记为已验证 |
Ctrl + R | 修改默认标注文件夹 |
六、标注规范与技巧
标注原则
边界框贴合:尽量紧密包围目标物体
完整性:确保目标完全在框内
一致性:同类物体使用相同标注标准
遮挡处理:部分遮挡的物体仍应标注完整形状
提高效率的技巧
批量操作:
先快速标记所有同类别物体
再统一调整边界框
复制粘贴:
相似物体可复制标注框后微调
使用预设标签:
提前设置好常用类别,减少手动输入
七、输出格式说明
1. PASCAL VOC 格式(XML)
xml
<annotation> <folder>images</folder> <filename>image1.jpg</filename> <size> <width>1920</width> <height>1080</height> <depth>3</depth> </size> <object> <name>person</name> <bndbox> <xmin>100</xmin> <ymin>200</ymin> <xmax>300</xmax> <ymax>400</ymax> </bndbox> </object> </annotation>
2. YOLO 格式(TXT)
text
# class_id center_x center_y width height 0 0.5 0.6 0.2 0.3
坐标已归一化(0-1)
每个物体一行
八、常见问题解决
问题1:无法保存标注
解决方法:
确保选择了保存目录
检查文件写入权限
关闭文件占用程序
问题2:标签不显示
解决方法:
检查
classes.txt格式是否正确重新加载标签文件
确认文件编码为 UTF-8
问题3:快捷键无效
解决方法:
确保焦点在图像区域
检查快捷键冲突
重启 LabelImg
九、高级功能
自动标注
bash
# 使用预训练模型辅助标注 # 需要集成外部工具或自行开发
批量转换格式
python
# 使用脚本转换 VOC 到 YOLO import xml.etree.ElementTree as ET # 转换代码...
质量检查
使用
Space标记已验证图像开发脚本检查标注一致性
使用可视化工具验证标注
十、最佳实践建议
团队协作:
建立统一的标注规范文档
定期进行标注一致性检查
使用版本控制管理标注文件
质量控制:
设置验收标准
进行交叉验证
统计标注质量指标
效率优化:
对相似图像分组标注
使用快捷键熟练操作
定期备份标注数据
十一、后续步骤
完成标注后:
数据划分:分为训练集、验证集、测试集
格式转换:根据需要转换为目标框架格式
数据增强:扩展数据集规模
模型训练:使用标注数据训练目标检测模型
学习资源
官方 GitHub 仓库
视频教程
标注规范模板
这个教程涵盖了 LabelImg 的基本使用到高级技巧,建议先从简单的项目开始练习,熟练掌握后再进行大规模标注任务。