前言
本教程主要面向初次使用 labelimg
的新手,详细介绍了如何在 Windows 上通过 Anaconda
创建和配置环境,并使用 labelimg
进行图像标注。
1. 准备工作
- 在开始本教程之前,确保已经安装了 Anaconda。可以参考我之前的教程了解 Anaconda 的下载与安装:一步步教你在 Windows 上轻松安装 Anaconda以及使用常用conda命令(超详细)。
- 本文所有命令操作均在Anaconda Prompt下进行,打开方式如下图。
2. 创建 Conda 环境
使用 Conda 管理 Python 环境可以避免不同项目之间的依赖冲突。下面是配置步骤:
# 创建 Python 3.9 的新环境(名称为 labelimg)
conda create -n labelimg python=3.9 -y# 激活环境
conda activate labelimg
注意:可以根据需要选择不同的 Python 版本,但建议使用 3.8
或 3.9
,以确保 labelimg
的兼容性,版本过高会导致不稳定直接退出程序。
3. 安装 labelimg
安装 labelimg
有两种主要方法:使用 Conda 或 Pip,各有优缺点。
方法一:使用 pip 安装 labelimg
(简洁快速但不稳定)
激活环境后,直接运行以下命令使用 pip
安装:
pip install labelimg
优点:pip
安装方法简洁、快速,适合 Conda 默认不包含 labelimg
的情况。
缺点:有时依赖项可能因 Python 版本或系统环境导致兼容性问题。
方法二:使用 Conda 安装 labelimg
(推荐)
激活环境后,直接运行以下命令使用 conda
安装:
conda install -c conda-forge labelimg
优点:Conda 会自动解决依赖冲突问题,通常更稳定,且 Conda Forge 提供的包适配性较好。
缺点:Conda Forge 中的包可能不是最新版本,适合追求环境稳定的用户。
4. 启动 labelimg
使用以下命令启动 labelimg
:
labelimg
5. labelimg 的基本使用
5.1 打开图像(文件夹)
- 在工具栏中选择“Open”来加载单个图像
- 在工具栏中选择“Open Dir”来加载目标文件夹内的所有图像
- 在工具栏中选择“Change Save Dir”来改变XML保存路径
5.2 创建标注框
- 选择图像后,点击“Create RectBox”按钮,或使用快捷键 W 来创建一个矩形框。
- 鼠标拖拽创建边界框,并在对话框中输入标签名称,例如“dog”或“car”等,根据需求输入。
- 创建完成后,点击“Save”按钮保存 XML 标注文件。
5.3 快捷键(必会)
- Ctrl + S - 保存当前标注
- A / D - 切换至上/下一张图片
- W - 创建矩形框
5.4 配置
5.4.1 自动保存(强烈推荐)
- 可以通过选择
View -> Auto Save Mode
自动保存标注数据。 - 选择该选项后,每次创建完标注框后不需要手动点击"Save"保存标注数据。
5.4.2 选择 YOLO 格式或 PascalVOC 格式导出标注文件(区别)
Pascal VOC 格式(默认):使用 XML 文件描述标注,包含目标的类别、坐标(非归一化)以及其他信息。每个 XML 文件的结构如下:
<annotation><folder>images</folder><filename>image1.jpg</filename><size><width>image_width</width><height>image_height</height><depth>3</depth></size><object><name>class_name</name><bndbox><xmin>x_min</xmin><ymin>y_min</ymin><xmax>x_max</xmax><ymax>y_max</ymax></bndbox></object>
</annotation>
class_name
:目标的类别名称。bndbox
:边界框的具体坐标,分别表示框的左上角 (xmin, ymin) 和右下角 (xmax, ymax) 的位置。
YOLO 格式:每个目标用一个行表示,包含了类别标签和归一化后的边界框信息。具体格式如下:
class_id center_x center_y width height
class_id
:目标的类别编号。center_x
、center_y
:目标边界框的中心坐标(归一化到图像宽度和高度的比例)。width
、height
:边界框的宽度和高度(同样是归一化比例)。
使用场景:
- YOLO 格式:用于 YOLO 系列的目标检测模型,因为格式紧凑、存储空间小,适合大批量数据集训练时快速加载和处理。
- Pascal VOC 格式:常用于更通用的数据集,适合兼容性广泛的检测任务。Pascal VOC 格式在标注详细度上更高,更适合需要丰富标签信息的场景,如模型评价或结果展示等。
5.5 结果
- 标注后的XML格式文件最后会保存在最初选择"Change Save Dir"的保存路径下。
- 如下图所示,可能不同电脑图标不同。右键单击文件并选择“属性”,只要文件后缀显示为
.xml
文件,即表示已正确保存。
- 可在Anaconda Prompt终端查看标注记录。
6. 注意事项
-
若过程中遇到报错或闪退问题,最好的解决方法是删除当前环境并重新创建。
-
当前最稳定的配置为:
Python 版本 3.9
+通过 Pip 安装 labelimg
。 -
推荐在
labelimg
环境中仅安装labelimg
包,避免安装其他不必要的包。 -
软件总览如下: