新版百度、百家号旋转验证码识别

昨天突然发现,百度旋转验证码发生了变化,导致使用老版本验证码训练出来的识别模型效果不佳。所有昨天花了一天时间完成了新版模型的训练。

老版本验证码

新版本验证码

新版的验证码感觉像是AI绘画随机生成的,还有随机阴影出现。

验证码识别过程

1、利用爬虫采集图像

首先我们开发爬虫去采集新版本的图片素材。爬取过程中发现cookie有一定的时效性,没有花过多时间在图片的反爬上做研究。

2、人工标记

为了保障识别的精度,这里需要进行大量的人工标记,旋转角度可能有误差,最好控制在1-2度以内,数据质量决定了模型预测效果

3、训练模型

4、测试验证

我们将训练好的模型用100张图片来进行测试,虽然识别出来角度有所偏差,但是这个误差范围都能够使验证通过,所以正确率接近100%。因为100张测试图片比较少,所以保守估计正确率应该在99%左右。

如果再想提升正确率,可以再增加训练的数据量,就需要再投入大量人力,这个投入与提升产出比需要自己权衡。

5、免费使用地址

我将训练好的模型放在了网上,可以供大家免费学习使用:得塔云

6、总结分析

(1)目前见到的验证码图片可能是AI生成的,所以出现新图片的概率会很大,所以对标注、识别难度会大大增加。

(2)和老版本相比,新版本图像采集加入了一些反爬措施,也增加了一些难度。

(3)目前我没有使用 selenium 进行实战测试,可能会遇到更多反爬措施。

各位大神也请指出我的不足,或者有其他建议都可以给我留言,或私信我,谢谢指点。

相关推荐
真智AI14 分钟前
用 LLM 辅助生成可跑的 Python 单元测试:pytest + coverage 覆盖率报告(含运行指令与排坑)
python·单元测试·pytest
zy_destiny24 分钟前
【工业场景】用YOLOv26实现桥梁检测
人工智能·深度学习·yolo·机器学习·计算机视觉·目标跟踪
0思必得027 分钟前
[Web自动化] Selenium处理文件上传和下载
前端·爬虫·python·selenium·自动化·web自动化
Hui Baby1 小时前
Java SPI 与 Spring SPI
java·python·spring
power 雀儿1 小时前
Transformer输入嵌入与绝对位置编码
人工智能·深度学习·transformer
(; ̄ェ ̄)。1 小时前
机器学习入门(十八)特征降维
人工智能·机器学习
小猪咪piggy1 小时前
【Python】(3) 函数
开发语言·python
薛不痒1 小时前
深度学习的补充:神经网络处理回归问题(人脸关键点识别)&自然语言处理的介绍
深度学习·神经网络·回归
夜鸣笙笙1 小时前
交换最小值和最大值
python
青岑CTF1 小时前
攻防世界-Php_rce-胎教版wp
开发语言·安全·web安全·网络安全·php