计算机视觉与深度学习实战:以MATLAB、Python为工具
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第10章 基于不变矩的数字验证码识别

10.1 案例背景

随着互联网技术的快速发展和应用,网络给人们提供了丰富的资源和极大的便利,但随之而来的是互联网系统的安全性问题,而验证码正是加强Web系统安全性的产物。全自动区分计算机和人类的图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart,CAPTCHA)也是验证码的一个应用程序,可以区分用户是人类还是计算机智能单击对象。它发起一个验证码进行测试,由计算机生成一个问题要求用户回答,并自动评判用户给出的答案,而原则上这个问题必须只有人才能解答,进而区分是否为计算机智能单击对象。

验证码具有千变万化的特点,而当前的识别系统往往具有很强的针对性,只能识别某种类型的验证码。随着网络安全技术及验证码生成技术的不断发展,已经出现了更加复杂的验证码生成方法,如基于动态图像的验证码系统等。虽然目前人工智能还远未达到人类智能水平,但是对于给定的验证码生成系统,在获知其特点之后,通过一定的识别策略往往能够以一定的准确率进行识别。

本案例运用计算机视觉、模式识别等相关理论对多种不同类型的验证码进行识别和研究,选取了具有代表性的某著名网站备案查询所提供的验证码为研究对象,对具体的验证码提出了有针对性的破解方法,揭示了其不安全的可能性,并通过对不同识别算法的对比,使研究具有一定的理论和使用价值。