百度旋转验证码及同类型旋转验证码的识别思路

Posted shiyi弟弟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度旋转验证码及同类型旋转验证码的识别思路相关的知识,希望对你有一定的参考价值。

百度旋转验证码及同类型旋转验证码的0~20毫秒小模型识别思路

11弟弟搞百度旋转验证码的心酸

  • 具体讲解识别思路

百度拖动旋转验证码被破解?当代流行的人机验证到底安不安全?


提示:以下是皆为学习交流之,如有侵权 ,望通知删帖

一、百度旋转验证是什么?

这是你在百度网站各处能看到的一种人机验证方式,该验证为了防止各种爬虫设计的图片如下(示例):

你会发现我发的图片是正的

因为是通过代码纠正的

二、具体流程

1.采集图片

要做识别,第一步想都不用想肯定是采集图片

而现在百度有个机制就是第二次使用图片链接或者被检测到会覆盖文字水印

所以第一步肯定是扣js, post,get获取图片链接采集图片

另一种累手的方法引荐这位大佬的链接:OpenCV挑战百度拖动旋转图片

但是估计他的思路对一般人还是有点难度

本文讲解识别图片部分这部分就靠大家自己努力了

而由于我们需要各个角度的图片

所以需要采集不重样的图片之后用代码进行旋转样本增容

2.具体思路

(1),找原图,识别角度

这是我早期的思路,具体细分又分为两种

那我就结合一下市面上的大部分思路说一下这两部分的各自思路

·········找原图··········

~1,汇编对比找到原图

~2,机械学习找原图

·········取角度··········

~1,与不断旋转的原图进行对比取相似度最大的角度,即是正确角度

~2,预先存入特征值,获取当前图片的特征值与原图360个角度的特征值循环进行角度提取

(2),直接机械学习识别角度

~~~~~~~~~~~~~~~~~~~~~~~~~这是我目前使用的方法~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

但是想对之前的方法样本集过大,训练也对显卡是不小的负担

样本集大小

样本量属实有点大

手动打样本就累傻了

看到各位大佬有不用的机械学习方法

我比较傻,自己写了一个工具,因为gpu现在太贵了,而且cpu训练速度不一定比gpu慢

主要时间都在打样本上,时间训练大概cpu也就10分钟不到

由于识别速度不是很让人满意,

后期又改小了模型,效果十分不错,识别率到现在未发现错误 姑且算100%,但是未来更新会不会有影响,这个目前不可测

识别速度大概在0~20ms范围内,模型大小为4865kb,不足5mb

最终效果

 

对最终效果我还是比较满意的达到了我预期的效果


总结

识别速度大概在0~20ms范围内,模型大小为4865kb,不足5mb

识别率到现在未发现错误 姑且算100%,但是未来更新会不会有影响,这个目前不可测

如有疑问请联系

十一弟弟           的QQ:1119372179

我黄瓜哥哥       的QQ:908383407

十一弟弟玩识别的群  :154936924

编程喵终极     交流群:747776374

 

以上是关于百度旋转验证码及同类型旋转验证码的识别思路的主要内容,如果未能解决你的问题,请参考以下文章

贴吧旋转验证码---python破解代码

验证码的旋转与放缩代码

验证码的识别

OCR软件能识别百度的验证码吗?

python web框架Flask——图形验证码及验证码的动态刷新

验证码的爬取和识别详解