基于深度学习的验证码识别系统的设计毕业论文
2021-12-15 23:09:07
论文总字数:23934字
摘 要
Captcha是一个能够区分人与机器的自动程序。它可以生成人类可以识别的特定格式的问题,还可以判断用户的答案。因此,它可以有效地防止机器人暴力,同时它易于操作,可以保护网络安全,各种网站都被它所吸引。
随着验证码图片在网络中出现的越来越多,对于识别验证码的需求也越来越高。本文使用一种基于八层卷积神经网络的验证码识别方案,相比于使用传统的ORC识别方案,该方案能识别一些带有噪点和线条的验证码,且性能更高。本文主要以10000张字符验证码为研究对象,将具有粘附性、旋转性和分割困难的验证码图像经过灰度化和归一化处理后输入到卷积神经网络入口,通过卷积、池化、全连接进行验证码特征提取和验证码识别[1]。最终测试结果表明,该模型对于这类字符型验证码识别有着90%的准确率。
本文先介绍了系统所使用的主要技术,接着介绍了数据集的来源和分类,同时描述了对数据集进行的预处理操作,根据预处理后的数据集对神经网络进行训练,最后使用训练结果进行验证码的识别。
关键词:验证码 卷积神经网络 识别
Verification code recognition system based on deep learning
Abstract
Captcha is an automatic program that can distinguish people from machines. It can generate questions in a specific format that humans can recognize, and can also determine the user's answers. Therefore, it can effectively prevent robot violence, at the same time it is easy to operate, can protect the network security, all kinds of websites are attracted to it.
With more and more verification code pictures appearing on the network, the demand for identifying verification codes is also increasing. This paper uses a verification code recognition scheme based on an eight-layer convolutional neural network. Compared with the traditional ORC recognition scheme, this scheme can recognize some verification codes with noise and lines, and has higher performance. This paper mainly takes 10000 character verification codes as the research object, and enters the verification code image with adhesion, rotation and difficult segmentation into the entrance of the convolutional neural network after gray-scale and normalization processing, through convolution, pooling , Fully connected to perform verification code feature extraction and verification code identification. The final test results show that the model has a 90% accuracy rate for this type of character verification code recognition.
This article first introduces the main technology used by the system, then introduces the source and classification of the data set, and describes the pre-processing operation on the data set, training the neural network according to the pre-processed data set, and finally using the training results Perform verification code identification.
Key Words: Captcha; Convolutional Neural Network; Identify
目 录
摘 要 I
Abstract II
第一章 绪论 1
1.1 课题研究背景及意义 1
1.2 国内外研究现状 1
1.3 本文的主要研究工作 2
1.4 本章小结 3
第二章 开发工具及相关技术 4
2.1 开发平台,Python和Tensorflow 4
2.2 验证码 4
2.2.1 数字字符型验证码 5
2.2.2 其他类型验证码 6
2.3 卷积神经网络 7
2.3.1 结构 7
2.3.2 正向传播 7
2.3.3 反向传播 8
2.3.4 卷积层 11
2.3.5 池化层 12
2.3.6 Dropout层 13
2.3.7 全连接层 14
2.4 本章小结 14
第三章 验证码图片处理 15
3.1 数据集的创建 15
3.1.1 数据集 15
3.2 数据集的预处理 16
3.2.1 灰度化 17
3.2.1 归一化 17
3.3 TFRecords格式转存与读取 18
3.4 本章小结 19
第四章 系统实现 20
4.1 数据训练 20
4.4.1 整体结构 20
4.4.2 卷积神经网络结构 20
4.4.3 Adam梯度下降优化 28
4.4.4 one-hot编码与交叉熵损失计算 29
4.4.5 准确率计算与多线程读取文件 32
4.2 验证码图片识别 33
4.2.1 用户界面 33
4.2.2 准确率测试 34
4.2.3 打开或生成一张验证码 35
4.2.4 验证码识别 36
4.3 实验结果评估 37
4.3.1 评估准则 37
4.3.2 实验结果 37
4.4 本章小结 38
第五章 总结与展望 39
致谢 40
参考文献 41
- 绪论
1.1 课题研究背景及意义
网络发展的越来越快[2],很多网站都要求用户输入验证码,以确定自己是机器还是真正的用户在操作。CAPTCHA作为保护网站的第一道防线,不仅加强了网站的安全性,还避免了用户信息泄露和垃圾文件的干扰。一般的网站将使用图像识别作为验证方法,近年来,还出现了SMS验证码,动画验证码和简单逻辑判断验证码等验证方法。
请支付后下载全文,论文总字数:23934字