图片标注顺序乱了,标签有错,不用重新弄了!!!
文章目录
前言
在我门第一次使用,或平时使用labelImg时,很难保证标注时标签的循序和标签的,所以会导致labelImg标注顺序乱了,标注的就会有错,使用yolo训练出来的模型就不正确。
您的标签列表在处理图像列表过程中不得更改。当您保存图像时,classes.txt 也会更新,而之前的注释将不会更新。
一、问题
在2024年年末之前的意思就是,保存之后的标签顺序,在后续时无法修改的。
例如这个classes.txt文件all是0,jacket是1,以此类推
所以标注的信息1 与jacket相对应,0是all,之后也是以此类推。
提示:以下是问题
但是训练的模型标注需要的信息是no是第一个为0,剩下的依次顺下去;或者其他类型样式
提示:以下是本篇文章正文内容
二、解决方法
1.重新标注(我相信你找到我的文章,一定不想这样)
无
2.使用软件快速修改 (仓库链接在此可快速跳转)
Github:https://github.com/Orlando-Lin/ChangeTab
Gitee:https://gitee.com/OrlandoLin/ChangeTab
标签文件更新工具使用说明
功能介绍
这个工具用于更新YOLO格式的数据集标签文件。主要功能包括:
- 对比并显示classes.txt文件的变化
- 更新classes.txt文件内容
- 自动更新指定文件夹中的所有标签文件
- 显示所有修改的文件清单
使用前准备
-
确保有以下文件(自己进行替换):
classes.txt
:原始类别文件classes_change.txt
:新的类别文件changeTxt.py
:程序主文件
-
文件要求(重要!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!):
- classes.txt 和 classes_change.txt 必须在程序同一目录下
- 指定文件夹(绝对路径可以直接拖进控制台)中要有原本的classes.txt 和标签的txt文件
- 标签文件必须是YOLO格式(每行第一个数字为类别编号)
使用步骤
-
运行程序:
python changeTxt.py
-
程序会显示类别文件的变化情况:
- 显示移动的行:“
行 '类别名' 从位置 X 移动到了位置 Y
” - 显示新增的行:“
新增行: 位置 X - '类别名'
” - 显示删除的行:“
删除行: 原位置 X - '类别名'
”
- 显示移动的行:“
-
确认是否进行更新:
- 输入
yes
或y
进行更新 - 输入
no
或n
取消操作
- 输入
-
如果选择更新:
- 输入需要更新的标签文件所在的文件夹路径
- 程序会自动处理该文件夹下的所有txt文件 ,只会将标签文件的类别信息(第一个数字)进行更新 eg:0 0.xxx 2.xxx
-
更新完成后会显示:
- 修改的文件总数
- 所有被修改文件的具体路径
注意事项
-
程序会同时更新:
- 当前目录下的classes.txt
- 指定文件夹中的classes.txt
- 指定文件夹中的所有标签文件
-
只有实际发生变化的文件才会被更新和记录
-
建议在更新前备份重要文件
-
确保有足够的文件读写权限
错误处理
- 如果文件夹路径不存在,程序会提示错误并退出
- 如果输入无效的选项,程序会要求重新输入
示例输出
- 行 ‘car’ 从位置 1 移动到了位置 0
- 新增行: 位置 3 - ‘truck’
- 删除行: 原位置 2 - ‘bike’
- 是否要用classes_change.txt替换classes.txt文件并更新标签文件?(yes/y/no/n): y
- 当前目录的classes.txt已更新
- 请输入需要更新的标签文件所在的文件夹路径: /path/to/labels
- 文件修改总结:
- 共修改了 3 个文件:
- /path/to/labels/classes.txt
- /path/to/labels/image1.txt
- /path/to/labels/image2.txt
总结
以上就是解决这个问题的方案,若是有需要会持续更新该软件,丰富其功能。