字符型图片验证码的自动识别技术研究和实现文献综述
2020-04-15 16:56:33
验证码是当前互联网中非常常见也是非常重要的一个产物,它是各大网站用以防范计算机自动程序或者脚本进行恶意攻击的手段之一。字符型验证码是各大网站,常采取的方法手段。它不需要辅助设备进行接收验证码,又能快速地阻挡大多数恶意程序的重复请求。而且它具有容易生成、不受用户背景知识和文化差异的影响,且暴力破解难度很大的优点。本课题通过对自动识别技术的研究,力求实现对字符型图片验证码的识别。
目前在国内外对字符型验证码的分类评价和识别的研究有很多。关于验证码的设计原理和评价系统的研究较为成熟,能更好的了解怎样的验证码更为便捷高效。关于字符型验证码的识别问题,国内外也有着不少的研究,大多从图象处理技术+机器学习入手。在识别算法方面,有利用字符的不变矩阵特征进行识别、构训练卷积神经网络模型进行识别等等方法。
在维护互联网安全中,字符型图片验证码有着不可磨灭的功劳。但不可否认,字符型图片验证码仍然存在不足之处。通过对字符型图片验证码的自动识别技术的研究,能让我们了解当前字符型图片验证码的缺陷以及改进措施。通过有针对性的调整可以提高验证码的安全性。而且对字符型图片验证码的识别研究对于应用车牌识别、模式识别等研究也有一定参考作用。
{title}2. 研究的基本内容与方案
{title}
本课题欲研究通过图像处理技术和卷积神经网络(CNN),实现对字符型图片验证码(包括大小写字母、数字)字符的识别。在识别过程的步骤如下:
1. 验证码图片获取
验证码获取的途径有两个,第一:通过引入Python语言开源库Captcha,批量生成带有噪点和线条干扰的验证码图片。这一来源是主要来源,可快速可控地生成大量验证码图片。在干扰程度和字符分布上可以做到比较稳定。用于大量的训练卷积神经网络。第二是当今热门网站上获取少量验证码。这些验证码有的可能较难处理,用于有针对性的优化图片处理算法。
2. 验证码图片预处理
通过算法对图片进行预处理,包括对验证码进行噪点和干扰的去除、图像的二值化处理等等。难点在于某些噪点,或者干扰线条与所需要的字符难以分离。以及在验证码图片具有复杂颜色背景时,验证码图像的二值化,准确地分离背景颜色和字符。
3. 字符分割
通过投影法等算法对图片进行分割,实现验证字符的分离。难点在于粘连字符、字符排列堆叠不规范等情况的字符分离。