我的QQ验证码识别设计探讨(QQ2011)

标签: qq 验证码 设计 | 发表时间:2011-09-23 03:01 | 作者:我是狗狗 Bloger
出处:http://www.cnblogs.com/

 

 

本人技术很菜,

但做事很执就。

找人很多高手问验证码识别技术,结果未了,

一气之下,就自己动手摸索了。

 

什么神经无算法,啥的,都是浮云。

下面是我用模式对比算法做的,

根据自己眼睛看东西悟出来的算法。

 

方法:样本 + 算法 = 识别

 

说个小时候学识字的例子: 

1. "R" 这个字母,你要会认识这个“R”字母,必需得记住“R"的(模式)特征,脑袋会存储大量"R"的(模式)特征样本

2. 大家都知道了人脑处理图片的速度是非常惊人的,电脑一秒能运算2亿次以上的指令,但处理图片无法跟跟人脑相比,所以算法很重要。 


识别结论: 

1. 制作大量样本。

2. 设计快速算法。

 

比如26个字母有1000个样本(每个字会的形状会不同,包括:字体、大小、角度),

一个样本识别会移位运算1000次以上,

再加1000个样本,

那就要运算 1000 * 1000 = 1百万次。

一百万次运算也许会花费几秒会10几秒。

运算时间越长,识别的速度会越慢的。 

 

(半)成品展示:

 

下面图片是制作样本软件,样本是在原有的验证码图片上来制作的。(验证码识别没用到切割技术) 

 

 

 识别结果:字符:R,相似度:96%,耗时:0.0190,运算:299,移位:16445,X轴标:22,像素比列:55%

 位移:16445次

 耗时:不到0.02秒

 X轴标:22 表示X位置,用于4位个验证码排序 

 如果是1千个样本,就花掉 19秒,当然这是单线程。

 开10个线程不到2秒完成。(实际验证码识别用不1千个样本,用到500个可能就识别出来了)

 

其它样本识别测试结果:(以下左边为样本图片,右边为验证码图片,测的只是单个样本识别。)

 
 

R样本,耗时不到0.01秒。

 

 

 R样本,耗时不到0.01秒。

 

 

 R样本,耗时不到0.01秒。 

 

 

 V样本,V位置在X轴 96的位,最后一位了。

 

 

 V样本

  

 

 H样本,可以看到二图片H的字体不同。

 

 

 算法思路:

  本人没学过高等数学,什么线性数学,微分啥的不懂。

  所以高端的算法基本没用到。

 

  我的算法很简单,采用初中学的几何数学,三角函数来计算的。

 

  验证码字母特征:字体 + 大小 +  转角

  字体:制作样本。(有多少字体,制作多少样本)

  大小:可以采用缩小样本来处理。(还没开发,我暂时采用制做样本来处理)

  转角:QQ的验证码一样是左右各45度,最多是90度。(还没开发,我暂时采用制做样本来处理

 

 QQ验证码识别分析: 

 1. QQ验证码算国内很变态的了,他用到的字体,大小,转角很多。(但这些都是浮云)

 2. QQ验证码4位的用到24个字母(O 和 I 好像没有),加上大小写有48个字母,

     10种字符 * 10个大小 * 10种转角 * 48 = 4.8万个样本。

     当然你可以不用做这么多样本,但样本越多,识别率就会越高。

 3. 如果大小和转角能在算法上来处理,可以减少制作很多样本,验证码识最大成本花费在做样本上面。

 

 开发感想:

 1. 我没上过高中,对三角函数(角度计算)不是太懂,所以样本的角度、转角没找到好的算法,因为要用到三解函数的正切、余切。

 2. 验证码识别跟眼睛看东西一样,其实不难,主要在于识别的思路。像Google的il验证码非常复杂,如果硬要去识别,基本上一台电脑是运算不了,要用到多台电脑一起运算。

 3. 对于QQ的验证码,我有更强的识别思路,可以达到90%以上的识别率,下次我再公布思路。(不管是5位、6位,都可以识别的) 

 

 如果你对验证码识别、群发软件开发、国外共享软件等有兴趣的高手,可以联系我,交流交流心得。

 

  ------------------------------ 联系方式

  邮箱:[email protected]
  QQ:   48787479
   

  

 

 

 

作者: 我是狗狗 发表于 2011-09-23 03:01 原文链接

评论: 18 查看评论 发表评论


最新新闻:
· Facebook f8: Timeline 和 Social Apps 背後的意義(2011-09-23 11:46)
· 电商/SNS/搜索引擎跨界插足在线旅游(2011-09-23 11:41)
· CERN物理学家声称中微子速度超越光速(2011-09-23 11:38)
· Anybeat虚拟社交网络的希望?(2011-09-23 11:38)
· 卷土重来:关于新版Color你应该知道的5点(2011-09-23 11:36)

编辑推荐:C#技术漫谈之公共语言运行库(CLR)

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

相关 [qq 验证码 设计] 推荐:

我的QQ验证码识别设计探讨(QQ2011)

- Bloger - 博客园-首页原创精华区
找人很多高手问验证码识别技术,结果未了,. 什么神经无算法,啥的,都是浮云. 根据自己眼睛看东西悟出来的算法. 方法:样本 + 算法 = 识别. "R" 这个字母,你要会认识这个“R”字母,必需得记住“R"的(模式)特征,脑袋会存储大量"R"的(模式)特征样本. 大家都知道了人脑处理图片的速度是非常惊人的,电脑一秒能运算2亿次以上的指令,但处理图片无法跟跟人脑相比,所以算法很重要.

QQ阳光牧场3D 设计分享

- Howard - 互联网的那点事
QQ 阳光牧场,作为腾讯首款3D社区游戏,如今总算守得云开见月明,在 Android 平台发布后,即将登陆 iOS 平台.   在这欢乐的时刻,要特别感谢一下参与项目的 CDC 无线组同学们. 阳光牧场想要传达的感受,单纯而直白:阳光,清新与快乐. 一份久违的宁静,清爽与快乐,也是忙碌在都市生活中一点小小的慰籍.

QQ欢乐斗地主设计分享

- 地安门城管 - 互联网的那点事...
Hello,大家好,我是无线新人设计师echo,第一次做项目分享心情鸡冻的hold不住. 出炉不久尚未烤熟经验尚浅欢迎拍砖. Symbian的夕阳时代,无线手机休闲游戏却依托着越来越强大平台、大展拳脚的设计为我们带来了许多意想不到的创意和惊喜,字里行间都透露着设计师的细致与智慧. 欢乐斗地主作为一款年代比较久远的产品,是我们休闲游戏线的核心,也是是用户规模最大的产品之一.

QQ 浏览器(android) 设计之路

- goochin - 所有文章 - UCD大社区
经过几个月的时间和大家的努力,手机QQ浏览器(android版)从 2.0 陆续更新到的 2.6. 在经历了设计的千回百转和架构的不断尝试后,终于有了个新面貌,使用体验也比之前版本有了较大提升. 不过,这也仅仅是万里长征第一步,这里先和大家分享下这第一步背后的设计心得. 我们可以先来了解国内局势. 目前,浏览器市场可谓战火不断,狼烟四起.

手机QQ浏览器Logo设计

- Quantum - Rologo 标志共和国
9月9日,手机QQ浏览器发布全新的Logo,近日,该Logo设计者、深圳的GUI设计师shmzfeng在站酷放出了手机QQ浏览器Logo相关的设计稿. (文章中所有图片版权归腾讯公司所有). 最后修订为第5稿,然后针对图形配感觉靠谱的文字,在现有的文字基础上,进行优化字体细节,简要摘录(非定稿). 原文链接:http://www.zcool.com.cn/work/ZOTExMjky/3.html.

10种意想不到的验证码风格设计

- 红烧鲤鱼 - 博客园新闻频道
众所周知,验证码就是帮助我们的网站防止计算机生成答案. 今天的这10个用户体验绝佳、令人意想不到的验证码设计风格,推荐给大家. QapTcha – 拖曳式jQuery验证码系统. 这个要复杂点,需要拖动目标字母. 这个很有意思,我们要解决这个小谜题,拖曳式的. 又一个很奇特的,我们需要拖动提示目标物到圈中.

QQ安全我做主—手机令牌2.0设计分享

- nAODI - 腾讯CDC
  一款小小的工具软件,如何赢得  iPhone app store4星级+评价;Android 电子市场4.5星评价,让我与您一起分享手机令牌的设计过程.   手机令牌是通过6位动态密码保护QQ帐号、Q币和游戏装备等虚拟财产安全的手机软件. 手机令牌每30S更换一次动态密码,用户在敏感操作的时候验证动态密码,以此保障自己的帐号安全.

阳光般的快乐——QQ阳光牧场3D 设计分享

- 雄杰 - 所有文章 - UCD大社区
QQ 阳光牧场,作为腾讯首款3D社区游戏,如今总算守得云开见月明,在 Android 平台发布后,即将登陆 iOS 平台.   在这欢乐的时刻,要特别感谢一下参与项目的 CDC 无线组同学们. 阳光牧场想要传达的感受,单纯而直白:阳光,清新与快乐. 一份久违的宁静,清爽与快乐,也是忙碌在都市生活中一点小小的慰籍.