赞
踩
在网上一直没找到YOLOv5预标注+CVAT修正labels的方法,就自己摸索了,这里记录一下
yolov5在模型推理阶段,输入命令
python detect.py --save-txt
即可获得默认设置下的预标注图像 + txt文件。
该命令中save_txt选项用于生成结果的txt标注文件,会生成与图片相同文件名的txt检测框信息文件,每个txt文件会生成一行或多行的信息,一行信息对应一个label, 信息包括类别序号(第几类物体)、xcenter ycenter w h(label的中心坐标信息),label的长宽信息,均为归一化数值,如下图:
输入命令:
python detect.py --save-txt --save-crop
即可获得默认设置下的预标注图像 + txt文件 + 被检物体的截取图像。
也可以在指定其他信息:
python detect.py
--data waterpipe-electricwire.yaml #指定yaml文件
--weights last.pt #权重文件
--source home/images/ #图片读取位置
--device 0
--save-txt
--save-crop
需要安装cvat,还没安装的可以看我这篇博客,这里不展开说明:
创建一个自命名文件夹,自命名文件夹再创建一个obj_train_data文件夹、一个data文件、一个names文件、一个txt文件:
obj_train_data文件用来存放没有检测框的原图 + 被检测生成的txt文件
这里有个问题要注意:有些图片在预训练时没有被检测到目标,所以没有生成对应的txt文件
而obj_train_data文件中的images和txt是要一一对应的
这就要我们提前手动剔除没有txt文件的图片
obj.data写入以下信息,classes = 1即我要检测的类别只有一个
obj.names文件即是定义类别的具体名称,我这里只有一个
train.txt文件存放所有图片的位置,但要注意,这里的位置信息不是绝对位置,而是
data/+相对路径
生成这个信息的代码可以看我这篇博客:python输出文件的位置信息
运行代码会自动生成一个含有图片位置信息的train.txt文件,位于被测图片同级目录下,生成结果也会显示在终端:
打开cvat,点击projects, 创建create a new project
项目随意命名,一定要注意的是,
constructor创建的标签名和上述obj.names文件定义类别的名称是一致的
subimt 后选择open project, 点击import dataset上传材料
选择yolo 1.1,将包含 obj_train_data、data文件、names文件、txt文件的压缩包上传
标注小技巧
更多使用方法看我的这篇博客: CVAT安装及图片标注使用教程_问题多多快快改的博客-CSDN博客
这里只是简单介绍了yolo+cvat的联合使用,更多方法欢迎评论区留言讨论
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。