LabelImg是一款开源的图像标注工具,标签可用于分类和目标检测。它是用Python编写的,并使用Qt作为其图形界面,简单好用(虽然是英文版的)。
其注释以PASCAL VOC格式保存为XML文件,这是ImageNet使用的格式。此外,它还支持COCO数据集格式。
点击链接下载现中文 Windows labelImg 可执行程序。
打开LabelImg后
建议在View中勾选自动保存标注结果
接下来打开需要标注的图片文件夹,并设置标注文件保存的目录(Change Save Dir)。
开始标注:画框,标记目标的label,然后按D切换到下一张继续标注,不断重复。
使用快捷键可以显著提高标注效率:
| 快捷键 | 功能说明 | 快捷键 | 功能说明 |
|---|---|---|---|
| Ctrl + Q | 退出软件 | Ctrl + Shift + O | 打开的文件夹只显示.xml文件 |
| Ctrl + O | 打开文件 | Ctrl + U | 打开目录 |
| Ctrl + R | 更改保存目录 | Ctrl + S | 保存 |
| Ctrl + + | 放大图像 | Ctrl + - | 缩小图像 |
| Ctrl + F | 适应窗口 | Ctrl + Shift + F | 适应宽度 |
| Ctrl + = | 恢复原始大小 | W | 创建矩形标注框 |
| Ctrl + E | 编辑标签 | Ctrl + J | 移动和编辑标注框 |
| Ctrl + D | 复制选定的标注框 | Delete | 删除选定的标注框 |
| Space | 标记当前图片为已标注 | Ctrl + L | 更改框线颜色 |
| Ctrl + A | 显示所有的标注框 | Ctrl + H | 隐藏所有的标注框 |
| D | 下一张图像 | A | 上一张图像 |
VOC格式的标注结果保存为XML文件,包含图片大小、通道数、标签名称、选框位置的参数等信息。
切换到YOLO格式,在View中勾选自动保存模式,然后保存。
YOLO格式的标注保存为TXT文件,同时生成一个classes.txt文件定义类别名称。
classes.txt 文件定义了你的 YOLO 标签所引用的类名列表。
YOLO标注文件中每一行表示一个目标,以空格进行区分,分别表示目标的类别id,归一化处理之后的 中心点x坐标、y坐标、目标框的宽w和高h。
classes.txt 文件的内容如下(例子:cat和speak是类名列表):首先需要安装ultralytics 库:
修改predefined_classes.txt文件为你想要训练识别什么物品的物品(通常在data文件夹下)。
predefined_classes.txt文件内容(样例)
按YOLOv8约定的结构放置数据集(示例):
dataset
|---- images # 存放所有图像文件
│ |---- train # 训练集图像
│ |---- val # 验证集图像)
│ |---- test # 测试集图像(可选)
|---- labels # 存放所有标签文件
|---- train # 训练集标签
|---- val # 验证集标签
|---- test # 测试集标签(可选)
YOLO标注文件与图片同名(只扩展名不同)。
创建一个YAML配置文件(记事本编辑然后把文件后缀名改yaml),文件的内容如下:
使用命令行进行训练:
如果遇到下载字体Arial.ttf超时的问题,可以运行以下命令(Windows):
默认情况下,YOLOv8 会把训练结果保存在runs/detect/train/目录下,(或 train2, train3... 根据你跑的次数自动递增)包含: