验证码识别--资料收集

简介: 证码识别--资料收集   一、验证码基础知识      验证码设计的目的就是区分“人”和“机器”,所以它在被设计的时候,主要的目的就是防止被采用就是自动识别出来。所以作为破解者来说,一开始就是处于劣势地位的。

证码识别--资料收集

 

一、验证码基础知识

      验证码设计的目的就是区分“人”和“机器”,所以它在被设计的时候,主要的目的就是防止被采用就是自动识别出来。所以作为破解者来说,一开始就是处于劣势地位的。当然这使得验证码的破解变成了一项结合图像识别、模式识别的猜谜解题活动。
    验证码的识别很难达到100%。因为在现实生活中,人也可能是识别错误的,所以当错误发生的时候,验证码识别系统会再提供一个新的验证码。如果单次识别有50%的识别成功率(也就是50%的失败率),那么连续三次的总体成功率就可以达到0.875(=1-0.5*0.5*0.5)。
     验证码的设计方式多种多样。广义上来说,只要是能够 区分“人”和“机器”的方式,都可以拿来做验证;狭义上来说,主要是指的将字母和数字打印在一张图片上面让人来识别的这种模式。

二、各类验证码收集和分类

      我收集了一下具有代表特性的验证码:
    1)某考试网站的验证码
                      
      特点:  1、都是数字;
          2、主要是点干扰;
          3、位置基础都是水平的。
      7 )sina验证码
    
    
       特点:  1、都是数字;
          2、点干扰,线干扰;
          3、位置基础不确定。
 
      2  
       特点:1、每个字的颜色都不一样;
          2、背景上有线干扰;
          3、位置基础都是水平的。
 
      3  
       特点:1、前景和背景的颜色是非常接近的;
          2、背景上有线干扰;
          3、位置是波浪形的;
           4 、字母有粘连。
 
      4
 
       特点:1、黑白图像,却用字母的纹理来区分;
          2、背景上白色有线干扰;
          3、位置是波浪形的;
           4 、字母有粘连。
 
       5
 
       特点:1、彩色图像,每个字符都不一样;
          2、背景上白色彩色干扰;
          3、位置基本是水平的;
           4 、字母有粘连。
 
      6
 
       特点:1、彩色图像,梯度颜色,其中干扰线和字母前景非常相似;
          2、三种字体;
          3、位置不定,不是波浪;
           4 、字母有粘连,当相比之下不是很严重。
 
          来自某网站的验证码
         
       特点:1、彩色图像,背景和前景颜色一致;
          2、图像变形;
          3、图像复杂纹理。
 
          8 qq验证码
         
       特点:1、彩色图像,背景随机图片,非常复杂
          2、文字可以说,设计的非常透明;
          3、文字粘连。
          9  Captcha是专门的验证码生成项目,这里的几个都是比较有特性的。
 
         10  PWNtcha的若干
         
 
       特点:1、不连续的点组成字符;
          2、有一定程度的倾斜;
      
       
        特点:1、手写体
       
        
       特点:1、背景颜色块;
          2、前景横线或矩形。
 
     
        特点:1、随机噪音作为前景;
          2、字母位置粗细都有变化;
          3、无粘连;
    这里还有一些不常见但是很有意思的验证码,仅仅是收集过来看一看。
    

三、相关算法罗列

      我认为,验证码识别、特别是高阶验证码识别,绝对不是简单地通过常见的方法就可以达到效果的。必须经过带有人工智能的系统的训练,才能够达到较好的效果。而且对于不同验证码来说,其所运用的方法也是不一样的。
   1)图像处理基本算法,比如opencv提供的一系列,此外包括blob分析等;
   2)神经网络相关算法,依然基于opencv提供的svm,annmlp等;
   3)OCR识别打包算法,比如tesseract-ocr。这里需要明白的一点是,对于这种专门用来迷惑计算机的图像来说,想用通用的训练库达到识别的效果是不可能的;
   4)形状上下文,关于这个东西是什么,如何用,需要搞清楚

 

   

四、其它相关资源

      验证码识别由于广阔的市场应用,出现过和出现着许多的应用。比如这款
就有着多宗验证码的识别,但是主要还是非粘连的。对于我来说,掌握这种技术,是非常重要的,因为它符合图像识别的几个要素:难度、反馈和长久发展。
在这家号称从04年开始做验证码识别的网站提供的样例中,放眼看过去都是机器打印的字符,缺乏粘连很严重的,或者是字体多种多样的情况。
四、小结
    验证码识别是图像识别中比较复杂的一个方向,但是在这个方向上面有比较成熟的研究、也有比较系统的工具,也可能会有一定的市场,最关键的是,这个方面的原始数据很容易获得。因此,非常值得在这个方向去做研究和实践。
 





目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com
相关实践学习
基于函数计算实现AI推理
本场景基于函数计算建立一个TensorFlow Serverless AI推理平台。
目录
相关文章
|
2月前
|
编解码 自然语言处理 开发者
复刻Sora有多难?一张图带你读懂Sora的技术路径
OpenAI发布了视频生成模型Sora,最大的Sora模型能够生成一分钟的高保真视频。同时OpenAI称,可扩展的视频生成模型,是构建物理世界通用模拟器的一条可能的路径。
|
8月前
|
机器学习/深度学习 算法 决策智能
计算机视觉实战(九)信用卡数字识别项目(附完整代码)
计算机视觉实战(九)信用卡数字识别项目(附完整代码)
138 0
|
11月前
|
搜索推荐
如何用ChatGPT做品牌项目的二手信息搜集?
品牌案例、竞品、信息来源、项目分析、官方渠道、品类、品牌、节日节庆、明星、国家、奖项、代理商、项目名称、项目描述、品牌介绍、竞争情况、运营数据、财务信息、交易信息、法律问题、网络平台、行业人士、品牌拥有者、报纸杂志、研究报告
77 0
|
11月前
|
安全 算法 计算机视觉
项目实践 | 基于YOLO-V5实现行人社交距离风险提示(文末获取完整源码)(二)
项目实践 | 基于YOLO-V5实现行人社交距离风险提示(文末获取完整源码)(二)
75 0
|
11月前
|
算法 Go 计算机视觉
项目实践 | 基于YOLO-V5实现行人社交距离风险提示(文末获取完整源码)(一)
项目实践 | 基于YOLO-V5实现行人社交距离风险提示(文末获取完整源码)(一)
195 0
|
文字识别 测试技术 API
验证码识别最佳方案,你不来试试?
验证码识别最佳方案,你不来试试?
|
机器学习/深度学习 存储 数据可视化
基于卷积神经网络识别金融票据中的文字信息设计GUI界面系统(计算机毕设完整代码)
基于卷积神经网络识别金融票据中的文字信息设计GUI界面系统(计算机毕设完整代码)
114 0
基于卷积神经网络识别金融票据中的文字信息设计GUI界面系统(计算机毕设完整代码)
|
计算机视觉 Python
|
编解码 计算机视觉 Python