YOLOv8 + Siamese(孪生) 实现文字点选验证码

YOLOv8 + Siamese(孪生) 实现文字点选验证码

一、通过yolov8分类检测训练出分割字体模型

1、获取验证码图片

在这里插入图片描述

2、通过labelimg进行标注,制作yolov8数据集并进行模型训练
3、根据yolov8训练好的best.pt模型批量制作siamese训练所需要的图片

在这里插入图片描述

二、通过siamese相似度比对训练出字体小图比对模型

1、通过小工具快速制作siamese的数据集

在这里插入图片描述

在这里插入图片描述

2、通过siamese开始训练比对模型

三、结合上述2个模型进行测试

1、进行测试(1、获取背景图; 2、通过yolov8训练好的模型分割出需要比对的文字小图 ;3、通过siamese训练好的模型进行文字小图比对,获取对应坐标)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、拿到每个字体的坐标后,就可以模拟生成需要的鼠标点击轨迹了,在通过js逆向生成加密参数,就可以成功过验证码了

四、总结

1、获取所需的图片资源
2、进行模型训练
3、进行测试
4、需要小工具的可以查看上一篇文章:孪生(siamese)模型训练及测试

只是记录一下自己使用过程,如有不妥之处,还望大佬们嘴下留情,谢谢!!!

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
【资源说明】 基于孪生神经网络实现点选识别python源码(带注释)+运行说明+数据集+预训练模型.zip ## 效果 4090训练100轮 测试集可以达到98.6%以上,基本上已经破解了该类验证码。 ![效果演示](./beeb1dc9cdf4f18a98a51d631745ba75.png "效果演示") ## 坑 注意啊,建议重新把yolo分割文字那个部分训练下,因为我这个样本是别人从前台截图后标注训练的,导致泛化性能不是很好!! 有能力的话建议把样本都重新标注下。 ### 如何使用? 下载数据集和预训练模型:https://systems.lanzout.com/iWUqz15mo57a #### 环境安装 安装环境,我用到的是python3.10 ``` conda create -n geetest python=3.8 ``` 安装必要的环境 ``` pip3 install -r requirement.txt ``` ### CUDA安装 安装cuda和 cudnn ``` conda install cudnn=8.1.0.77 cudatoolkit=11.2.0 ``` #### 数据准备 准备数据集,放入data中,格式为 id_序号.jpg|png,id可以采用uuid,序号第一张图是1,第二张图是2,只能两张图 例如,相同的两个字, ``xxxxx_1.jpg``和``xxxxx_2.jpg`` ### 训练模型 配置训练参数,config.py中,一般来说只需要配置gpu就行了,如果你没有gpu就不填,就自动使用cpu 开始训练 ``` python train.py ``` 预测 ``` python predict.py ``` 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!
目标追踪是通过将目标在连续帧中进行跟踪来实现的。结合YOLOv4或YOLOv5进行目标检测,可以实现的目标追踪方法有多种,以下是一种简单的方法: 1. 使用YOLOv4或YOLOv5进行目标检测:首先,在视频的第一帧中使用YOLOv4或YOLOv5来检测出目标的位置和类别信息。 2. 初始化目标追踪器:在第一帧中,使用检测到的目标位置初始化一个目标追踪器,如基于卡尔曼滤波器的Kalman滤波器或基于相关滤波器的Correlation Filter等。这样可以根据初始位置预测目标在后续帧中的位置。 3. 目标追踪:对于每个后续帧,使用目标追踪器根据前一帧的预测位置来预测当前帧中目标的位置。可以使用特征匹配、光流法、神经网络等方法来提取目标的特征并更新追踪器的状态。 4. 目标重检测:定期(例如每隔几帧)使用YOLOv4或YOLOv5对当前帧进行目标检测,以防止目标追踪器出现漂移或丢失目标的情况。如果目标检测器检测到新的目标或原有目标无法再被检测到,则重新初始化目标追踪器。 5. 结果展示:将目标追踪的结果可视化或输出到文件中,以供后续分析或应用。 需要注意的是,以上只是一种基本的目标追踪方法,实际应用中可能需要根据具体情况进行调整和改进。此外,还有其他更复杂的目标追踪算法,如基于深度学习的Siamese网络、SORT(Simple Online and Realtime Tracking)等,可以根据需求和资源进行选择和尝试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值