前言
上回书说到,你已经成功入坑深度学习,接下来我将带你完成yolov5的学习,现在请开启你第一阶段的任务,打标!
一、打标是什么?
嘿嘿嘿~很有意思的事情。纯体力无脑力的重复性工作,对于像你这样的萌新简直太友好了诶。
在训练模型前,我们需要准备我们的数据集。那么针对yolov5目标检测之类的模型的话,我们就要准备我们的图像数据集。labelimg就是制作图像数据集的常用工具之一。
二、labelimg是什么?
LabelImg 是开源的图像目标检测标注工具,基于 Python 与 PyQt5,可在 Windows、Linux、macOS 上运行。
支持主流标注格式:PASCAL VOC(XML)、YOLO(TXT),并支持 CreateML(JSON);适合为 目标检测、图像分类 等任务快速构建数据集。
三、使用步骤
1、安装labelimg
这里建议我们使用cond创建一个打标环境,每次执行打标任务的时候使用即可
conda create -n labelimg python=3.9
conda activate labelimg
#安装依赖:
pip install PyQt5 lxml
#安装工具:
pip install labelimg
清华源的速度还是挺快的

2、使用教程
打开labelimg
#在安装环境下输入(注意大小写区分,Windows系统全为小写,linux系统I为大写)
labelImg
ubuntu系统labelimg操作界面是中文的,非常方便大家操作

设置自动保存
点击查看

选择自动保存模式
打标过程
在实际打标过程中,所有待标注图像一般会放在一个文件夹中如img,我们点击打开目录选择该文件夹(再次强调路径的重要性)


选择图像文件夹后,会跳出annotations的保存路径,一般指标签文件的保存路径,与改变存放目录功能相同

我这里在img同级目录下新建一个ann文件夹并选择
choose之后在labelimg界面的右下角会显示图像文件夹内的所有图片路径,我们双击打开

这张图片是以前做某比赛时候拍摄的,看到这个大家应该就能猜到,在这张图片中,我们要用矩形框将图像中的红色辣椒标注出来

这里给出打标的快捷键
- W:创建区块

- D:下一张图片

- A:上一张图片

标注
按下W时,会出现与鼠标同步的黑色十字线

标注时与截图功能类似,按住左键会自动创建可自由变换的矩形预选框,我们拖动到合适的位置后松手

这时会跳出一个标签栏,我们需要在这里输入该标签名称,这里我输入lajiao并点击OK

此时右侧标签栏中会出现相同名称的词条,点击该词条可以发现它与我们刚才框住的范围对应。
此时你完成了对这张图片的标注任务
按下D,切换到下一张,重复上述操作即可

全部标注完毕后,我们可以在标签文件夹中查看产生的标签文件

文件夹存放与图像名称相同的xml标签文件。
可以通过点击切换标签文件按钮切换保存标签格式

VOC->xml
YOLO->txt
ML->json
3、标注标准
对于不同的待测物体的标注标准是不同的,这取决于模型建立者的思想。一般来说,我们应该完全框住待测物体并且应当留一定的空白,而不是紧贴着待测物体的边缘。标准如图

4、可能遇到的问题
-
我的标注框为什么只能标注矩形?
这里你应该触动了矩形标注的快捷键了,我们进行切换,按住Ctrl+shift+=,三个按键可以实现标注模式的切换 -
如何删除标签?
选中你刚才打的标签框按delete键即可删除 -

对当前以及之前的操作是否保存,YES or NO,看一下是否打开了自动保存模式 -
我之前明明已经打好标了,为什么我打开图像文件夹后标签栏没有显示标签?
点击改变存放目录,手动选择你的标签文件夹重新加载一下
总结
打标工作是一个CV工程师的必备技能,一般来说对于一个刚进实验室学习的小白来说,除了学习任务,接到的第一个任务就是给学长学姐打标,这个数量由几百到几千不等(学长打过过万的…都是泪),由于这项工作过于枯燥和无聊,导致伸手大家的厌恶。
但是,话又说回来了,打标工作可以反应出一个同学的心态和对待事物的态度。因为在可能高度重复劳作中大家或多或少或出现烦躁情绪,这时候产出的标签是否达标就尤为重要。诶~情绪你可以有,但是任务,必须保质保量完成!
对于模型来说,标签的质量会直接影响最后的检测结果。所以大家在打标的时候还是要认真听学长学姐的要求。因为如果让你返工,那又得浪费大量的时间,甚至会葬送一次比赛,所以大家在对待这项任务的时候还是要细心一点的哦~
就这样,如果你有什么其他问题欢迎在评论区交流,拜拜~

1万+

被折叠的 条评论
为什么被折叠?



