😀 空间推理验证码训练。本文将使用yolo进行推理训练和预测,通过标注图片进行数据处理。
任务目标
目标:自己训练模型使其可以预测出正确的结果 效果:可以在代码中自动显示出结果以便查看是否正确。
识别方案探讨
首先我们要实现这整一个需求,我们要分析,中间可能会有几个步骤。
1、物体识别(圆柱、圆锥、数字、字母、多面体等等)
2、物体的大小,主要是字母(大写字母、小写字母)
3、物体的颜色
4、问题的剖析(某某物体的上方、某一个唯一的物体)
5、圈出目标位置(测试结果是否正确)
大概就有以上五点。
我试过了用yolo一步到位,把前三点直接识别出来,发现样本需要很多,标注得标注到猴年马月。
我就换了个思路,如何实现少标注的情况下,保存识别的准确性。
这里我们就要减少标注的类别,我通过分析网站颜色,大体有五种红色、黄色、灰色、蓝色、绿色。物体也有好几种,如果我让yolo只识别物体然后再通过别的手段识别其他的物体,会不会就能提供效率。我简单的画了一下这个流程图。
image.png
数据标注
通过labelImg 工具进行数据标注。
首先我们先来对其进行安装
安装环境
pip install labelImg
然后再cmd命令行进行输入labelImg
image.png
来到这样一个页面
image.png
我们打开下载得一些验证码图片样本。
image.png
然后点击Open Dir按钮,点击打开
image.png
然后就是标注了。
我这里采用的思路是字母、圆柱体、圆锥、球体、正方形、六边形、十二面体。就是把字母和数字在外的分开,因为字母和数字我们其实可以使用ocr识别。因为我们样本不多种类多会导致效果变差(这里需要注意标注的时候写英文,不要中文,不然处理会麻烦一点)。
image.png
然后标注完的时候就是这样样子的。
image.png
标签标注txt文件
image.png
随便打开一个txt文件
image.png
第一个是种类的编号,后面是他的坐标,这种格式是yolo的格式。方便我们后续的训练。
这个是携带的classes文件,是我们所有标注的类型。
image.png
一般来说每一个种类都要有数据,并且有几十张就差不多可以看到效果了,后面在慢慢优化。
后面我们就需要用yolov10对其进行训练来得到模型文件,当然这也只是第一步。
🤗 总结归纳
这里我们主要是分享如何去标注数据和标注完的数据解读。