@Auto: lyyyyy_16 @Date: 2023/03/13 16:48 @Version: 1.0

Autolabelimg自动标注工具

前言

在做机器视觉有监督方面,通常会面对很多数据集,然后去进行标注,而有些时候我们面对庞大数量数据集的情况下也会感到十分头疼,这个时候Autolabelimg这个自动标注神器就应运而生了。让我们可以实现批量处理图片和标注文件。

一、 工具原理和功能

1. 原理

这个工具的原理十分简单,它是基于labelimg标注软件的改良版,利用已标注好的图片进行训练,比如说我们有1w张数据需要去进行标注,这个时候我们就不可能把这1w张数据挨个挨个标注完,当然有些肝帝的情况当我没说哈;好了不开玩笑继续下文讲解,我们可以选择把这1w张数据先标注个1k张或者2k张等一部分,然后将这些已标注数据拿来进行训练,最后将训练出的模型导入我们的工具中,在启动它的标注开关,他会根据模型去识别剩下的数据,还可以选择需要自动标注的类别,识别出来之后得到坐标点信息,然后保存为xml或者voc文件,如此一来便可以实现自动标注。

2. 功能列表

AutoLabelImg 除了labelimg的初始功能外,额外包含十多种辅助标注功能,分别在Annoatate-tools和Video-tools两个新菜单栏下面,具体如下: • 自动标注:基于yolov5的模型自动标注,将yolov5的检测结果转化为.xml标注文件 • 追踪标注:基于opencv的追踪模块实现的视频自动标注,标注开始的一帧,利用追踪预测后续的一段视频 • 放大镜:鼠标附近区域的放大展示,方便标注一些微小目标,放大镜功能可以选择开启或关闭 • 数据增强:随机使用平移,翻转,缩放,亮度,gama,模糊等手段增强图片 • 查询系统:十多种新功能,不知道是干嘛的?没关系,搜索一下就可以了,支持模糊搜索 • 其他批量处理工具如:类别筛选/重命名/统计、标注文件属性校正、视频提取/合成、图片重命名等。

二、 实战

本人使用环境:win10 + cuda11.6 + torch1.12.0(GPU版本) + torchvision 0.13.0 好了废话不多说开始实战。

1. 下载与安装

GitHub源码链接:

https://github.com/wufan-tb/AutoLabelImg.git

复制源码链接,然后打开git clone即可:

git clone https://github.com/wufan-tb/AutoLabelImg.git

这是下载完成的Autolabeling文件夹下所有文件,长这样:

安装方法也可以参照项目仓库中的readme

2. 配置环境

文章有自带的requirements.txt文件,cd进入demo的文件夹,直接pip install –r requirements.txt 即可,需要注意的是,我之前通过pip install直接下载配置的环境torch是cpu版本的,故需自行提前配置一下gpu版本torch的环境。 觉得安装慢的可以使用镜像源安装,例: 使用豆瓣源:

pip install –r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

3. 开始使用

在环境等预备前提条件都满足的情况下,我们正式开始使用环节,启动方式和labelimg一样,python labelimg.py。 启动界面:

看这界面是不是很眼熟呢?没错,就是基于labeling的基础之上的改良版本!!! 各项功能如下,左侧是原文,右侧是翻译:

可以选择auto_labelimg开始自动标注,也可以使用快捷键Ctrl+6。

4. 导入模型

开始标注之前我们需要导入已训练好的模型,操作如下。 模型导入路径为:pytorch_yolov5\weights下,将训练好的模型放入其中即可,在开始自动标注前也会让其选择使用哪个模型,例:

5. 选择标注类别

在选择好我们的模型之后,工具会提示我们选择需要自动标注的类别,例如我选择导入的模型中有以下“person”,“MachineWorking”,“NoCushion”,“Machine”这几个类别,我们可以选择想要自动标注的类别。

6. 进行自动标注

在选择完类别之后也可以选择输出图片尺寸,默认640

选择完size便可以直接开始标注,下面是表示工具正在自动标注:

等待进度条完成便完成了自动标注的全过程,你会发现你的数据都已经标注完成!!!

7. 进行自动标注 [更新于06.27]

本次更新内容: 1.上传文件至云盘保存;很多朋友说github上下载不下来;

链接:https://pan.baidu.com/s/1Vxrd1_cMIi190dyUu545NQ?pwd=ly16 提取码:ly16

(链接被吞了也可以私信我哦)

2.教大家用cpu如何进行自动标注;

修改labelimg.py文件的内容,我这里大概在2379行,将2379行改为第2380行的内容即可

3.修改操作界面为中文(中文翻译部分会显示不全)

修改lib文件夹下的stringBundle.py文件,在里面找到basePath参数,修改47行为48行内容即可

三、 总结

个人觉得写出此demo源的大佬代码十分干净整洁,也有很强逻辑性,我这种小白也容易看得懂,另外这个项目真的算得上是懒人福音了,美中不足的是当前版本是仅支持YOLOV5的各个版本,感兴趣的也可自行更改labelimg.py进行修改以支持yolov7等其他模型,同时也希望此工具能对搞图片标注的人起到一些帮助吧,毕竟标图是真的费手。

本文参考文档

参考链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: