YOLOV5联合LabelGo实现自动标注【超详细】

该文介绍了一个利用YOLOv5模型和labelImg实现的半自动图像标注工具,通过预先训练的模型提高标注效率。用户需先训练基础模型,然后使用该模型进行自动标注。文章详细阐述了配置虚拟环境、替换类别、修改源代码以及解决运行错误的步骤,并记录了在运行过程中遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

这是基于 labelImg与 YOLOv5 的半自动标注工具,通过现有的YOLOv5 PyTorch模型对数据集进行半自动标注。

原理:使用在 VOC 数据集训练好的 YOLOv5 模型,在你的数据集上进行推理,生成标签。

实际上:需要自己先标注一部分数据,训练一个基本的模型,然后使用这个模型帮我们标注,提高标注效率,类似半监督。

具体的使用方法大致如下,大家也可以进入项目仓库直接看readme

项目仓库GitHub - cnyvfang/labelGo-Yolov5AutoLabelImg: 💕YOLOV5 semi-automatic annotation tool (Based on labelImg)💕基于labelImg及YOLOV5的图形化半自动标注工具

1.从 git 中获取项目

git clone https://github.com/cnyvfang/labelGo-Yolov5AutoLabelImg.git

2.切换操作目录到工程目录

cd labelGo-Yolov5AutoLabelImg

3.虚拟环境配置

使用anaconda进行安装,不需要单独安装cuda和cudnn,conda会下载并安装好,不需要考虑版本依赖的问题,简便的地方就是这里了。

创建虚拟环境
conda create -n Autolabel python=3.7.6
conda activate Autolabel
pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

先注释掉 requirements.txt文件里的 torch>=1.7.0和 torchvision>=0.8.1 上一步已经单独安装

pip install -r requirements.txt
pip install Ipython

4.替换类别

将目录中的/data/predefined_classes.txt文件的内容修改为你自己的类别

5.labelGo文件修改

报错:执行labelGo的Auto Label功能会出现 Can't get attribute 'DetectionModel' on <module 'models.yolo'>”错误问题

 进行修改:

a.将进行训练自己标注的数据的yolov5文件里的utils文件拷贝到labelGo-Yolov5AutoLabelImg-5_v5_source文件夹里。

 b.将yolov5/mode文件夹里的yolo.py,拷贝到labelGo-Yolov5AutoLabelImg-5_v5_source/libs/models

 

6.使用labelGo的AutoLabel功能

运行labelGo

python labelGo.py

点击 打开目录,导入待标注图片的文件夹

点击 自动标注,提示此操作将会清除所有的原有标注文件,点击Yes以选择YOLOv5权重并继续,点击Yes

选择训练好的YOLOv5模型best.pt。

成功完成标注

7. 问题记录

上面执行完倒是可以调起来yolo5了, 但是发现新问题:

点击"auto lable",选择train.py训练好的权重文件".pt"后,报错如下:

 看起来从权重里拿到的label序号之类的是数字类型, 但是这里在用+运算符去加str类型的换行符, 懒得深究了,临时改了下libs/autoLabeler.py第65行,顺利跑起来了..如下

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值