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

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

老版本验证码

新版本验证码

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

验证码识别过程

1、利用爬虫采集图像

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

2、人工标记

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

3、训练模型

4、测试验证

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

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

5、免费使用地址

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

6、总结分析

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

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

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

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

相关推荐
2301_7807896613 分钟前
渗透测试真的能发现系统漏洞吗
服务器·网络·安全·web安全·网络安全
困鲲鲲23 分钟前
Flask 核心基础:从 路由装饰器 到 __name__ 变量 的底层逻辑解析
python·flask
njxiejing32 分钟前
Python NumPy安装、导入与入门
开发语言·python·numpy
Rhys..1 小时前
Python&Flask 使用 DBUtils 创建通用连接池
开发语言·python·mysql
Just_Paranoid1 小时前
【Python Tkinter】图形用户界面(GUI)开发及打包EXE指南
python·gui·tkinter·pyinstaller
小宁爱Python1 小时前
Django 基础入门:命令、结构与核心配置全解析
后端·python·django
max5006002 小时前
实时多模态电力交易决策系统:设计与实现
图像处理·人工智能·深度学习·算法·音视频
闲人编程2 小时前
Flask 前后端分离架构实现支付宝电脑网站支付功能
python·架构·flask·支付宝·前后端·网站支付·apl
996终结者2 小时前
同类软件对比(四):Jupyter vs PyCharm vs VS Code:Python开发工具终极选择指南
vscode·python·jupyter·pycharm·visual studio code
果壳~2 小时前
【Python】爬虫html提取内容基础,bs4
爬虫·python·html