Yolo模型 图像预标注 图片自动标注

什么是自动标注?

在训练过程中,如果图片的数据量不够,或想通过某些手段加快标注的效率,可以在之前训练好的模型基础上识别出一些物体,根据已识别的数据进行转换。在labelme或labelimg上继续修改已识别的数据。这时候由于已经有很多物体被模型识别预先标注了,可以很大提高标注的效率。

 

需要用到的工具:labelimg

这里推荐使用的工具是labelImg,其它标注labelme工具需要其它转换,不太推荐。实测YOLO版本是YOLOV7,其它YOLO系列也可以保存识别的结果,就算有差异应该不大可以轻松地进行转换。

 

开始预标注

1.首先是通过设置参数,打开detect.py,修改save--text 参数,值为'store_false'。

该参数的意思是是否保存检测后后的结果,如框的位置大小,框的物体类别注意,store_false才是保存检测的结果。

2.准备好要预标注的图片,集中同一目录,在此中以datasets/mask/test/目录为例。

运行检测命令 如:python detect.py --weights runs/train/mask/weights/best.pt --source datasets/mask/test。

3.在检测的结果中加入图片和类数据。首先来到检测结果的输出目录,看到已经生成和图片格式完全一致的label格式。

打开后是数据是这样的格式。保存的格式是:类别索引,框的位置和大小数据。

我们把对应的图片目录datasets/mask/test/下的图片全部拷到输出目录,如下图。输出结果的label文件和图片是对应的。

 

 4.最后加入框类型各类的文件。文件格式是.txt,格式如下。在我这个模型中识别的是戴口罩,有戴口罩、不戴口罩和不正确佩戴三种。

 

 

5.最后打开labelimg对结果进行修改。在labelimg中选择openDir,选择刚才的模型输出目录。已经看到模型识别后标注的结果,具体框的结果与模型的准确度有关。

 如果有发现标注不正确或错误太多的可以适当调高conf-thres值再检测,默认是0.25。

 如果误识别或标注框不对,可以在labelimg上对标注的信息进行修改。

 

posted @ 2023-01-16 15:08  cbZhi  阅读(2027)  评论(0编辑  收藏  举报