CN110276357A - 一种基于卷积神经网络的验证码识别方法 - Google Patents
一种基于卷积神经网络的验证码识别方法 Download PDFInfo
- Publication number
- CN110276357A CN110276357A CN201910583958.0A CN201910583958A CN110276357A CN 110276357 A CN110276357 A CN 110276357A CN 201910583958 A CN201910583958 A CN 201910583958A CN 110276357 A CN110276357 A CN 110276357A
- Authority
- CN
- China
- Prior art keywords
- neural networks
- convolutional neural
- picture
- verification code
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/09—Recognition of logos
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于卷积神经网络的验证码识别方法,属于深度学习技术领域。本发明的基于卷积神经网络的验证码识别方法,收集需要识别验证码的图片样本进行人工标注,作为模型训练数据;对图片进行转灰度和二值化处理,先使用计算干扰线像素宽度进行第一次去噪,再使用九邻域框进行第二次去噪;将处理后的数组输入卷积神经网络模型,为每个字符训练一个卷积神经网络分类器,将分类器识别结果组合,得到验证码识别结果。该发明的基于卷积神经网络的验证码识别方法能能够减少噪声干扰对于识别结果的影响,提高验证码识别准确性,具有很好的推广应用价值。
Description
技术领域
本发明涉及深度学习技术领域,具体提供一种基于卷积神经网络的验证码识别方法。
背景技术
验证码是为了网络程序安全,防止恶意攻击程序、爬取数据、破解密码、黄牛抢票等行为而设计的。但是在实际应用中,当有自动化测试需求时,频繁的人工输入验证码会大大降低测试的效率,拖慢项目进程。为了解决这个问题,需要对验证码进行自动化识别,解决自动化测试人工输入验证码低效的问题。
目前对于验证码的识别,已经出现了很多方法。在《一种基于窗口滑动和卷积神经网络的验证码识别方法》[公开号:CN107967475A]中,使用一种基于窗口滑动和卷积神经网络的验证码识别方法识别图片。在对少量验证码图片进行二值化、降噪后提取所需识别的字符集,并对每个字符进行旋转扭曲,针对每个字符训练得到一个单字符分类器,最后对需要识别的验证码图片预处理后进行连通域分割并进行窗口滑动,利用训练的单字符分类器进行分类,得到识别最终结果。
在这种方法中,使用基于形态学的腐蚀膨胀的开操作的方法对验证码图片进行降噪处理。但是当验证码图片中的噪点密集或是出现线型干扰时,基于形态学的处理无法很好的去除噪点,对于去噪不完全的字母再进行旋转扭曲操作会加大训练集的误差,使得识别结果出现偏差,影响模型识别。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种能够减少噪声干扰对于识别结果的影响,提高验证码识别准确性的基于卷积神经网络的验证码识别方法。
为实现上述目的,本发明提供了如下技术方案:
一种基于卷积神经网络的验证码识别方法,该方法收集需要识别验证码的图片样本进行人工标注,作为模型训练数据;对图片进行转灰度和二值化处理,先使用计算干扰线像素宽度进行第一次去噪,再使用九邻域框进行第二次去噪;将处理后的数组输入卷积神经网络模型,为每个字符训练一个卷积神经网络分类器,将分类器识别结果组合,得到验证码识别结果。
对二值化后的数组使用计算干扰线宽度的方法进行第一次去噪,消除一部分干扰线对于验证码识别的干扰,再使用九邻域框去噪方法进行第二次去噪,去除像素点周围一些孤立的点。能够有效去除验证码噪声和干扰线对识别结果的影响,通过训练卷积神经网络,采用多个分类器结合的方法,提高识别准确率。
作为优选,该基于卷积神经网络的验证码识别方法具体包括如下步骤:
S1、收集需要识别验证图片进行人工标准,作为验证码识别的训练集;
S2、对训练集图片进行转灰度和二值化处理,将图片转为二值化数组;
S3、对二值化后的数组,先使用干扰线像素宽度进行第一次去噪;
S4、对图片使用九邻域框进行第二次去噪;
S5、对处理完成的图片,搭建卷积层神经网络模型,对每个字符训练得到一个单字符分类器;
S6、验证码识别长度为N,组合N个分类器进行模型训练,最后输出的识别结果即为通过卷积神经网络模型得到的验证码识别结果。
作为优选,步骤S2中将图片转为二值化数组,同时将验证码训练集输出字符串转化成一个由10个数字+26个英文字母长度组成的1*36维的数组。
作为优选,步骤S3中,计算图片前n列的像素宽度,将前n列像素的最大值作为像素宽度的阀值,每列的像素宽度不小于阀值像素宽度,否则该列上的像素点为噪声,将对应的像素点转成白色。
作为优选,步骤S4中,以当前点位中心得到一个田字区域,计算领域黑点个数,去除像素点周围孤立的点。
具体操作为:对于输入的像素点,先得到它当前像素点的值,如果当前点为白色区域,则不统计这个点的邻域值;如果当前点为黑色,当像素点位置在图片的第一行或者图片的最下面一行,如果像素位于图片左右顶点,统计该点周围4邻域的黑点个数,如果像素处于最上非顶点或者最下非顶点,统计周围6邻域的值;对于其他具备9邻域条件的像素统计周围9邻域的值;排查图片上的所有像素点,如果当前像素点是黑点并且该像素点周围黑点个数小于一个设定的阈值,认为当前像素点是噪点,需要进行删除。
作为优选,步骤S5中,所述卷积层神经网络模型结构为卷积层-卷积层-池化层-卷积层-卷积层-池化层-卷积层-卷积层-池化层-全连接层的模型。
作为优选,所述卷积层的激活函数使用relu激活函数,函数式如公式(1)所示:
其中当自变量大于0时,函数式取本身,当自变量小于等于0时,函数式取0。
作为优选,所述池化层使用最大池化,取最大值作为池化后结果。
9.根据权利要求8所述的基于卷积神经网络的验证码识别方法,其特征在于:所述全连接层激活函数使用softmax函数,函数式如公式(2)所示:
其中,K是变量个数,通过计算单个变量的指数函数占所有变量指数函数总和的比例计算每个结果的输出概率,取概率的最大值。
采用自适应估计adam算法作为优化算法,使用交叉熵计算损失函数,最后将结果组合输出,得到识别结果。为了防止训练过程出现过拟合现象,在每轮权重更新时,采用从节点中随机舍弃给定比例节点的方式让神经网络对神经元的特定权重减少敏感度,更好泛化神经网络。
与现有技术相比,本发明的基于卷积神经网络的验证码识别方法具有以下突出的有益效果:所示基于卷积神经网络的验证码识别方法针对验证码中干扰线和噪点对于验证码识别准确率的影响,采用计算干扰线像素宽度和九邻域框去噪的方法进行两次去噪,减少噪声干扰对于识别结果的影响;对每个字符训练一个分类器并将结果组合输出,提高了识别的准确率,具有良好的推广应用价值。
附图说明
图1是本发明所述基于卷积神经网络的验证码识别方法的流程图;
图2是本发明所述基于卷积神经网络的验证码识别方法中卷积网络模型的结构示意图。
具体实施方式
下面将结合附图和实施例,对本发明的基于卷积神经网络的验证码识别方法作进一步详细说明。
实施例
如图1所示,本发明的基于卷积神经网络的验证码识别方法,收集需要识别验证码的图片样本进行人工标注,作为模型训练数据。对图片进行转灰度和二值化处理,先使用计算干扰线像素宽度进行第一次去噪,消除一部分干扰线对于验证码识别的干扰,再使用九邻域框进行第二次去噪,去除像素点周围一些孤立的点。将处理后的数组输入卷积神经网络模型,为每个字符训练一个卷积神经网络分类器,将分类器识别结果组合,得到验证码识别结果。
如图1所示,该基于卷积神经网络的验证码识别方法具体包括如下步骤:
S1、收集需要识别验证图片进行人工标准,作为验证码识别的训练集。
S2、对训练集图片进行转灰度和二值化处理,将图片转为二值化数组。
将图片转为二值化数组,同时将验证码训练集输出字符串转化成一个由10个数字+26个英文字母长度组成的1*36维的数组。
S3、对二值化后的数组,先使用干扰线像素宽度进行第一次去噪。
计算图片前n列的像素宽度,将前n列像素的最大值作为像素宽度的阀值,每列的像素宽度不小于阀值像素宽度,否则该列上的像素点为噪声,将对应的像素点转成白色。
S4、对图片使用九邻域框进行第二次去噪。
以当前点位中心得到一个田字区域,计算领域黑点个数,去除像素点周围孤立的点。具体操作过程为:对于输入的像素点,先得到它当前像素点的值,如果当前点为白色区域,则不统计这个点的邻域值;如果当前点为黑色,当像素点位置在图片的第一行或者图片的最下面一行,如果像素位于图片左右顶点,统计该点周围4邻域的黑点个数,如果像素处于最上非顶点或者最下非顶点,统计周围6邻域的值;对于其他具备9邻域条件的像素统计周围9邻域的值;排查图片上的所有像素点,如果当前像素点是黑点并且该像素点周围黑点个数小于一个设定的阈值,认为当前像素点是噪点,需要进行删除。
S5、对处理完成的图片,搭建卷积层神经网络模型,对每个字符训练得到一个单字符分类器。
如图2所示卷积层神经网络模型结构为卷积层-卷积层-池化层-卷积层-卷积层-池化层-卷积层-卷积层-池化层-全连接层的模型。
其中,卷积层的激活函数使用relu激活函数,函数式如公式(1)所示:
其中当自变量大于0时,函数式取本身,当自变量小于等于0时,函数式取0。
池化层使用最大池化,取最大值作为池化后结果。
全连接层激活函数使用softmax函数,函数式如公式(2)所示:
其中,K是变量个数,通过计算单个变量的指数函数占所有变量指数函数总和的比例计算每个结果的输出概率,取概率的最大值。
采用自适应估计adam算法作为优化算法,使用交叉熵计算损失函数,最后将结果组合输出,得到识别结果。为了防止训练过程出现过拟合现象,在每轮权重更新时,采用从节点中随机舍弃给定比例节点的方式让神经网络对神经元的特定权重减少敏感度,更好泛化神经网络。
S6、验证码识别长度为N,组合N个分类器进行模型训练,最后输出的识别结果即为通过卷积神经网络模型得到的验证码识别结果。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (9)
1.一种基于卷积神经网络的验证码识别方法,其特征在于:该方法收集需要识别验证码的图片样本进行人工标注,作为模型训练数据;对图片进行转灰度和二值化处理,先使用计算干扰线像素宽度进行第一次去噪,再使用九邻域框进行第二次去噪;将处理后的数组输入卷积神经网络模型,为每个字符训练一个卷积神经网络分类器,将分类器识别结果组合,得到验证码识别结果。
2.根据权利要求1所述的基于卷积神经网络的验证码识别方法,其特征在于:该方法具体包括如下步骤:
S1、收集需要识别验证图片进行人工标准,作为验证码识别的训练集;
S2、对训练集图片进行转灰度和二值化处理,将图片转为二值化数组;
S3、对二值化后的数组,先使用干扰线像素宽度进行第一次去噪;
S4、对图片使用九邻域框进行第二次去噪;
S5、对处理完成的图片,搭建卷积层神经网络模型,对每个字符训练得到一个单字符分类器;
S6、验证码识别长度为N,组合N个分类器进行模型训练,最后输出的识别结果即为通过卷积神经网络模型得到的验证码识别结果。
3.根据权利要求2所述的基于卷积神经网络的验证码识别方法,其特征在于:步骤S2中将图片转为二值化数组,同时将验证码训练集输出字符串转化成一个由10个数字+26个英文字母长度组成的1*36维的数组。
4.根据权利要求3所述的基于卷积神经网络的验证码识别方法,其特征在于:步骤S3中,计算图片前n列的像素宽度,将前n列像素的最大值作为像素宽度的阀值,每列的像素宽度不小于阀值像素宽度,否则该列上的像素点为噪声,将对应的像素点转成白色。
5.根据权利要求4所述的基于卷积神经网络的验证码识别方法,其特征在于:步骤S4中,以当前点位中心得到一个田字区域,计算领域黑点个数,去除像素点周围孤立的点。
6.根据权利要求5所述的基于卷积神经网络的验证码识别方法,其特征在于:步骤S5中,所述卷积层神经网络模型结构为卷积层-卷积层-池化层-卷积层-卷积层-池化层-卷积层-卷积层-池化层-全连接层的模型。
7.根据权利要求6所述的基于卷积神经网络的验证码识别方法,其特征在于:所述卷积层的激活函数使用relu激活函数,函数式如公式(1)所示:
其中当自变量大于0时,函数式取本身,当自变量小于等于0时,函数式取0。
8.根据权利要求7所述的基于卷积神经网络的验证码识别方法,其特征在于:所述池化层使用最大池化,取最大值作为池化后结果。
9.根据权利要求8所述的基于卷积神经网络的验证码识别方法,其特征在于:所述全连接层激活函数使用softmax函数,函数式如公式(2)所示:
其中,K是变量个数,通过计算单个变量的指数函数占所有变量指数函数总和的比例计算每个结果的输出概率,取概率的最大值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910583958.0A CN110276357A (zh) | 2019-07-01 | 2019-07-01 | 一种基于卷积神经网络的验证码识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910583958.0A CN110276357A (zh) | 2019-07-01 | 2019-07-01 | 一种基于卷积神经网络的验证码识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110276357A true CN110276357A (zh) | 2019-09-24 |
Family
ID=67963955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910583958.0A Withdrawn CN110276357A (zh) | 2019-07-01 | 2019-07-01 | 一种基于卷积神经网络的验证码识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110276357A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611988A (zh) * | 2020-05-22 | 2020-09-01 | 上海携程商务有限公司 | 图片验证码识别方法及装置、电子设备和计算机可读介质 |
CN111652233A (zh) * | 2020-06-03 | 2020-09-11 | 哈尔滨工业大学(威海) | 一种针对复杂背景的文本验证码自动识别方法 |
CN111986117A (zh) * | 2020-08-31 | 2020-11-24 | 南京大学 | 一种算术作业批改系统及方法 |
CN112686266A (zh) * | 2021-01-11 | 2021-04-20 | 安徽希施玛数据科技有限公司 | 一种验证码识别方法及装置 |
CN113159045A (zh) * | 2021-04-14 | 2021-07-23 | 西安工业大学 | 一种结合图像预处理与卷积神经网络的验证码识别方法 |
CN114627730A (zh) * | 2022-03-31 | 2022-06-14 | 北京科技大学 | 一种盲文电子书 |
CN117132989A (zh) * | 2023-10-23 | 2023-11-28 | 山东大学 | 基于卷积神经网络的字符验证码识别方法、系统及设备 |
-
2019
- 2019-07-01 CN CN201910583958.0A patent/CN110276357A/zh not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611988A (zh) * | 2020-05-22 | 2020-09-01 | 上海携程商务有限公司 | 图片验证码识别方法及装置、电子设备和计算机可读介质 |
CN111652233A (zh) * | 2020-06-03 | 2020-09-11 | 哈尔滨工业大学(威海) | 一种针对复杂背景的文本验证码自动识别方法 |
CN111986117A (zh) * | 2020-08-31 | 2020-11-24 | 南京大学 | 一种算术作业批改系统及方法 |
CN112686266A (zh) * | 2021-01-11 | 2021-04-20 | 安徽希施玛数据科技有限公司 | 一种验证码识别方法及装置 |
CN113159045A (zh) * | 2021-04-14 | 2021-07-23 | 西安工业大学 | 一种结合图像预处理与卷积神经网络的验证码识别方法 |
CN114627730A (zh) * | 2022-03-31 | 2022-06-14 | 北京科技大学 | 一种盲文电子书 |
CN117132989A (zh) * | 2023-10-23 | 2023-11-28 | 山东大学 | 基于卷积神经网络的字符验证码识别方法、系统及设备 |
CN117132989B (zh) * | 2023-10-23 | 2024-01-26 | 山东大学 | 基于卷积神经网络的字符验证码识别方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110276357A (zh) | 一种基于卷积神经网络的验证码识别方法 | |
CN107194418B (zh) | 一种基于对抗特征学习的水稻蚜虫检测方法 | |
CN109949278B (zh) | 基于对抗自编码网络的高光谱异常检测方法 | |
CN108665005B (zh) | 一种利用dcgan提高基于cnn图像识别性能的方法 | |
CN103440495B (zh) | 一种复合绝缘子憎水等级自动识别方法 | |
CN107038416B (zh) | 一种基于二值图像改进型hog特征的行人检测方法 | |
CN111798312A (zh) | 一种基于孤立森林算法的金融交易系统异常识别方法 | |
CN110197205A (zh) | 一种多特征来源残差网络的图像识别方法 | |
CN107729820A (zh) | 一种基于多尺度hog的手指静脉识别方法 | |
CN111738367B (zh) | 一种基于图像识别的零件分类方法 | |
CN112733742B (zh) | 一种基于深度学习的铁路货车下拉杆圆销故障检测方法 | |
CN107145885A (zh) | 一种基于卷积神经网络的单字图文字识别方法及装置 | |
CN106339984A (zh) | 基于k均值驱动卷积神经网络的分布式图像超分辨方法 | |
CN115205689B (zh) | 一种改进的无监督遥感影像异常检测方法 | |
CN113989257A (zh) | 基于人工智能技术的电力综合管廊沉降裂缝识别方法 | |
CN112597495A (zh) | 一种恶意代码检测方法、系统、设备及存储介质 | |
CN113159045A (zh) | 一种结合图像预处理与卷积神经网络的验证码识别方法 | |
CN112070720A (zh) | 一种基于深度学习模型的变电站设备缺陷识别方法 | |
CN116910752A (zh) | 一种基于大数据的恶意代码检测方法 | |
CN112990371B (zh) | 一种基于特征扩增的无监督夜间图像分类方法 | |
CN111091554B (zh) | 铁路货车摇枕断裂故障图像识别方法 | |
CN110349119B (zh) | 基于边缘检测神经网络的路面病害检测方法和装置 | |
CN115358952B (zh) | 一种基于元学习的图像增强方法、系统、设备和存储介质 | |
CN114663731B (zh) | 车牌检测模型的训练方法及系统、车牌检测方法及系统 | |
CN110059557A (zh) | 一种基于低照度自适应的人脸识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190924 |