YOLOV5识别滑块和缺口

  • 前言
  • 一、YOLOV5
  • 二、数据集标注
  • 三、训练
  • 总结



前言

在上一篇文章中,总体概述了滑块该种类型滑块验证码的识别方案。今天这篇文章将阐述如何使用YOLOv5来识别滑块和缺口


一、YOLOV5

YOLOV5是一种实用方便的目标检测框架,能够很容易的就使用起来,非常友好,只需要准备好自己的数据集,就可以完成自定义的目标检测任务。因此,在这个项目中我选择了YOLOv5来快速实现我的需求。

二、数据集标注

当我们有了自己的数据集后,首先做的就是给自己的数据集打上标签。这里数据集标注我使用lableImg软件,通过它分别标注图片上滑块和缺口这两个类别。需要注意的是,该类型验证码是有两个缺口。一个是目标缺口一个是干扰缺口,我们都将两种缺口标记为一种类型。等后面

再做处理。

opencv识别滑动验证码 opencv识别滑块_计算机视觉


当我们数据集标注好后就可以进行训练了!

三、训练


YOLOv5的使用网上已经有很多教程,这里训练过程使用中并没有什么不同,参数上也只是修改训练集测试集的路径,配置文件中的检测类别数,还有使用的具体模型(yolov5l)。训练完发现效果特别好,基本都能识别出滑块和缺口的位置,下面是识别的效果图。

opencv识别滑动验证码 opencv识别滑块_滑块_02

opencv识别滑动验证码 opencv识别滑块_opencv_03

总结

以上就是今天分享的使用YOLOv5对滑块验证码的滑块和缺口进行识别。我们使用深度学习方法来识别滑块和缺口,主要是因为这类验证码背景干扰很强,传统方法会被干扰,从而经常出现缺口位置识别错误的情况。现在已经识别出滑块和缺口的位置,如果是只有一个缺口的验证码已经就到此结束,但是这类的验证码还有个干扰缺口,下一篇将分享下如何对定位出的图片进行缺口滑块切片,然后使用opencv的方法对滑块和两个缺口分别进行相似度比较,进而识别出目标缺口。