登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 计算机科学与技术 > 正文

基于CNN的验证码识别的设计与实现毕业论文

 2020-02-16 22:29:27  

摘 要

近年来,互联网的规模越来越大,计算机技术也日新月异,人们已经习惯于在网络上存储个人的隐私信息,但是随之而来的是信息的安全问题,验证码作为被各大网络平台广泛使用的验证方法,为网络信息安全做出了极大贡献。深度学习作为新兴的机器学习方法,可以有效地从数据中提取特征,全连神经网络在图像分类方面表现突出,而卷积神经网络对图像特征的表达能力极强。本文基于深度学习、神经网络相关理论,使用谷歌公司的开源深度学习平台TensorFlow研究神经网络,探讨了全连神经网络和卷积神经网络分别对MINIST手写数据集和captcha验证码的识别方法,对神经网络的图像识别做出了探索。

主要工作如下:

  1. 基于TensorFlow-CPU框架,搭建了全连神经网络模型,实现了对MINIST手写数据集的识别,准确率可达90%。
  2. 基于TensorFlow-GPU框架,搭建了具有三个卷积层和一个全连接层的卷积神经网络模型,实现了对captcha验证码的识别,准确率可达99%。
  3. 针对基于CNN的验证码识别神经网络模型,搭建了图形界面,做成了一个完善的系统,使其更具实用性。

关键词:验证码识别;深度学习;全连接神经网络;卷积神经网络

Abstract

In recent years, the scale of the Internet is growing, computer technology is changing with each passing day, people have been used to store personal privacy information on the network, but the following is the security of information. As a major network platform widely used verification method, captcha has made a great contribution for network information security. As a new machine learning method, deep learning can effectively extract features from data. The fully connected neural network is outstanding in image classification, while the convolutional neural network has a strong ability to express image features. Based on the theories of deep learning and neural network, this thesis uses the TensorFlow, an open source deep learning platform of Google company, to build the neural network, discusses the identification methods of full-connected neural network and convolutional neural network for MINIST handwritten data set and captcha data set and explores the image recognition of neural network.

The main work of this thesis is as follows:

(1) Based on the TensorFlow-CPU framework, a full-connected neural network model is built to recognize the recognition of MINIST handwritten data sets with an accuracy rate up to 90%.

(2) Based on the TensorFlow-GPU framework, a convolutional neural network model with three convolutional layers and a full connection layer is built to recognize captcha verification code recognition with an accuracy rate of 99%.

(3) For the neural network model of captcha recognition based on CNN, a graphical interface is built and a complete system is made to make it more practical.

Key Word:Captcha identification; deep learning; Fully connected neural network; Convolutional Neural Network

目录

第一章 绪论 1

1.1. 研究背景及意义 1

1.2. 国内外研究现状 2

1.2.1. 验证码识别 2

1.2.2. 深度学习和卷积神经网络 2

1.3. 本文主要工作及章节安排 4

第二章 深度学习与神经网络 5

2.1. 深度学习概述 5

2.2. 神经网络 5

2.2.1. 神经网络概述 5

2.2.2. 全连接神经网络 5

2.2.3. 卷积神经网络 6

第三章 基于全连神经网络的手写数字识别 8

3.1. 训练数据集的准备 8

3.1.1. MINIST数据集概述 8

3.1.2. MINIST数据集处理 8

3.2. TensorFlow平台搭建 9

3.2.1. TensorFlow工作原理 9

3.2.2. TensorFlow开发环境配置 9

3.3. 基于TensorFlow的全连接神经网络模型构建 10

3.3.1. 输入层 10

3.3.2. 输出层 10

3.3.3. Softmax回归算法 11

3.4. 基于TensorFlow的全连接神经网络模型实现 12

3.4.1. 实现模型 12

3.4.2. 训练模型 13

3.4.3. 评估模型 15

3.5. 基于全连神经网络的手写数字识别的实现 15

第四章 基于卷积神经网络的验证码识别系统 18

4.1. 训练数据集的准备 18

4.1.1. capcha库概述 18

4.1.2. 验证码图片的生成 18

4.1.3. 验证码图片的处理 18

4.2. TensorFlow-GPU开发环境配置 18

4.3. 基于TensorFlow的卷积神经网络模型构建 19

4.3.1. 输入层 20

4.3.2. 卷积层 21

4.3.3. 全连接层 21

4.3.4. 输出层 22

4.3.5. 优化算法 22

4.4. 基于TensorFlow的卷积神经网络模型实现 22

4.4.1. 实现模型 22

4.4.2. 训练模型 24

4.4.3. 训练结果 25

4.5. 基于CNN的验证码识别系统实现 25

4.5.1. 程序结构 25

4.5.2. 运行效果 26

第五章 总结与展望 27

5.1. 总结 27

5.2. 展望 27

参考文献 28

致谢 29

绪论

研究背景及意义

互联网的规模越来越大,计算机技术也日新月异,人们已经习惯于在网络上存储个人的隐私信息,但是随之而来的是信息的安全问题,验证码的作用就是解决这类安全问题。验证码CAPTCHA是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)的简称,主要是被人们开发出来用于区分机器自动程序与人类用户的差异性[1]。由于网络中的恶意机器人、垃圾评论、垃圾邮件、机器人刷票等采用自动化软件来进行网络攻击的现象层出不穷,验证码得以被广泛地应用在了各大平台上,主要用于登陆及信息发布等操作时的用户身份验证,为网站排除受到恶意批量攻击的可能。

验证码识别的研究需要应用到多个领域的内容,因此,对验证码的研究可在一定程度上有利于促进对图像处理、模式识别等领域的研究。对验证码识别技术的研究还可以对当下流行的网络信息平台为保护信息所使用的验证码的安全性做出验证,作为网站可靠性的评测手段,并能对验证码在其复杂性、实用性等性能的改进做出一定贡献。

深度学习是21世纪的新兴机器学习研究分支,突破了机器学习领域的传统研究技术,已经在诸多领域得以应用,取得了喜人的成果。深度学习的目的是从数据中提取特征,一般是通过非线性变换从原始数据中获取抽象的特征[2]

2006年,Hinton[3]等人提出了一种无监督的学习方法,并且第一次提出了深度学习的概念,随后各种深度神经网络模型也被研究了出来,卷积神经网络是其中影响最为深远的网络模型[4]。与传统的神经网络(全连接神经网络)相比,卷积神经网络的参数更少,更容易训练,因为CNN网络各层之间的连接数相对来说更少,整个网络的权值参数数量也更低。CNN的局部连接、权值共享及多层次的网络结构等特性,能让模型准确高效地从图像中提取特征信息。CNN的应用促进了计算机视觉、图像识别、语音识别、自然语言处理等诸多领域研究技术的发展。

相比CNN在其他领域的研究成果而言,CNN对验证码识别的研究还存在空白领域。传统方式来识别验证码的四个步骤为预处理、定位、分割,识别,各个步骤分别独立,互不相关,这种方法带来的问题是,一旦某步骤前面的步骤出现错误,不仅难以查找错误,并且会让结果识别率降低。神经网络中的深度神经网络具有很多网络层,通过对每一层设定不同的参数和任务,用来分别学习到图像不同的特征,再最后对网络进行训练,最后可以简化验证码的识别过程,并能达到较高的识别准确率。

本文基于Google公司的开源深度学习框架TensorFlow来对卷积神经网络做出一定的研究,对CNN在验证码识别技术的应用方面做出一定的探索,搭建基于CNN的验证码识别模型,并在此模型基础之上实现具有较高正确率的验证码识别系统。

国内外研究现状

验证码识别

由于验证码识别在中外互联网平台上的使用都非常普遍,因此国内外都有众多学者在验证码识别方面做出了相关研究,但相对国内而言,国外的研究起步较早。

2003年,Mor和Malik[5]借助复杂对象识别算法,完成了对EZ-Gimpy验证码和Gimpy验证码的识别,该算法对验证码的识别准确率分别达到了92%和33%。2004年,Chellapilla和Patrice[6]使用机器学习技术来进行验证码识别,对网站上获取的验证码进行识别,但是由于当时机器学习尚处在萌发发展阶段,最终结果的识别率较低,最低识别率为4.89%,最高的识别率也只能达到66.2%。近年来,J.Zhang[7]等人和 P.Lu[8]等人结合了SVM分类算法和BP神经网络对字符进行了识别,并提出了数种字符分割算法。J Yan[9]等人通过虚拟问答的方法研究了对微软验证码的低成本识别方式,并以此为依据对微软验证码的缺陷进行了探讨。

在国内,虽然验证码也得到了广泛的应用,但多数网站对验证码还并没有达到足够的重视,相应领域的理论成果也相对较少。殷光等提出了一种支持向量机的验证码算法[10],识别正确率在47%左右。王璐[11] 等人进行了粘连字符的识别研究。潘大夫和汪渤[12]设计的算法通过对验证码的轮廓信息进行分析,对基于数学基本运算的验证码进行了识别。张淑雅[13]成功识别了SMTH-BBS验证码,准确率高达95%;吕霁[14] 针对验证码存在的问题,提出了应用竖直投影算法的识别方式。

在验证码识别的研究领域中,传统识别步骤为:图像预处理、特征提取和分类器训练,这种识别方法主要采用字符分割的方式来对字符进行分离,意味着系统难以使用来自整个图像的信息来进行识别任务,导致识别的错误率比单个字符的错误率要高,而单个字符的错误率又反过来至少是任意一个进程的错误率,这导致传统的验证码识别技术受很多难以控制的因素的影响。

深度学习和卷积神经网络

人工智能的发展离不开机器学习技术的腾飞,深度学习是机器学习的重要分支之一,也是当下最为流行的机器学习方法。

二十世纪四十年代,人工神经网络(neural network,NN)的概念被提出,但是没有得到广泛应用,但是随着反向传播算法的提出,以及图形处理器被用于加速神经网络的训练过程,神经网络的计算速度得到了大幅提升。由此,从LeNet-5到AlexNet[15],一个个神经网络研究热潮随着一种新网络模型的提出被掀起[10]

1998年,LeCun[16]等人构建了具有7 个网络层的CNN模型 LeNet-5,用于进行手写数字的识别,LeCun搭建的CNN具有2个卷积层、2个池化层、3个全连92=55接层,能以较高的准确率识别手写数字,并被当时美国许多银行用来识别支票的手写数字。但是卷积神经网络的发展并没有因此一直持续,虽然LeNet-5引起了当时大众对卷积神经网络的关注,但由于当时计算机硬件条件限制,运算速度并不能达到要求,更不能将卷积神经网络用来进行大规模的数据训练,故在大规模数据处理的问题上,CNN一直没有被得以应用。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

C:\Users\朱婉爸爸\AppData\Roaming\Tencent\Users\869099956\TIM\WinTemp\RichOle\[Y07TN8OD$WS7HLMZZDZ5X7.png

C:\Users\朱婉爸爸\AppData\Roaming\Tencent\Users\869099956\TIM\WinTemp\RichOle\7Y[1BP`T(TO9_LMG_WIEN%O.png

C:\Users\朱婉爸爸\AppData\Roaming\Tencent\Users\869099956\TIM\WinTemp\RichOle\[U`8B9P@I%(B8(8@F}M83HY.png

C:\Users\朱婉爸爸\Desktop\未命名文件(8).png

C:\Users\朱婉爸爸\AppData\Roaming\Tencent\Users\869099956\TIM\WinTemp\RichOle\`UHH~H}UKN3Z{0YH5KMXPUJ.png

C:\Users\朱婉爸爸\Desktop\未命名文件(5).png

C:\Users\朱婉爸爸\AppData\Roaming\Tencent\Users\869099956\TIM\WinTemp\RichOle\MD46IR%[(12VC4YNY(M}G2Q.png

您需要先支付 50元 才能查看全部内容!立即支付

微信号:bysjorg

Copyright © 2010-2022 毕业论文网 站点地图