CN114529911A - 基于改进yolo9000算法的验证码识别方法及系统 - Google Patents

基于改进yolo9000算法的验证码识别方法及系统 Download PDF

Info

Publication number
CN114529911A
CN114529911A CN202111634916.9A CN202111634916A CN114529911A CN 114529911 A CN114529911 A CN 114529911A CN 202111634916 A CN202111634916 A CN 202111634916A CN 114529911 A CN114529911 A CN 114529911A
Authority
CN
China
Prior art keywords
model
verification code
dbn
yolo
recognition
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.)
Pending
Application number
CN202111634916.9A
Other languages
English (en)
Inventor
李尚锴
王凯
袁明明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Communication Information System Co Ltd
Original Assignee
Inspur Communication Information System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Communication Information System Co Ltd filed Critical Inspur Communication Information System Co Ltd
Priority to CN202111634916.9A priority Critical patent/CN114529911A/zh
Publication of CN114529911A publication Critical patent/CN114529911A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Character Discrimination (AREA)

Abstract

本发明公开了基于改进YOLO9000算法的验证码识别方法及系统,属于验证码识别技术领域,要解决的技术问题为如何快速且准确的实现验证码识别。包括如下步骤:采集验证码图片,验证码图片中的验证码由汉字、英文和数字组成;对验证码中汉字进行标注,并对验证码图片进行图像变换处理;对于YOLO9000模型,通过减少瓶颈结构的卷积的构造,对卷积层进行改进,并使用交叉熵损失函数加平均差相似度函数作为损失函数,基于改进后YOLO9000模型构建验证码识别模型;基于DBN模型构建验证码识别模型;基于所述预处理后训练样本分别对所述YOLO模型和DBN模型进行训练;通过采用线性可信度累积的方式对分类结果进行融合。

Description

基于改进YOLO9000算法的验证码识别方法及系统
技术领域
本发明涉及验证码识别技术领域,具体地说是基于改进YOLO9000算法的验证码识别方法及系统。
背景技术
验证码识别是光学字符识别领域中的热点问题,研究持续了已有半个世纪的历史。因为带有汉字的验证码类别数较大(参考GB2312-80的标准常用汉字有6763个类别)汉字之间相似度较大,目前验证码识别的准确率仍较小。验证码识别中,出现的字符相对词库较为固定,范围相对窄,相对广义汉字识别要简单,圈定汉字类别少。
由于验证码跨域英文字符、数字及汉语字符,不同字体结构繁多,存在大量相似字符。本申请提案涉及的脱机的验证码识别针对静止的二维图像中的带有汉字的验证码进行识别,通过验证码图片特征提取文字,故而识别更为复杂困难,准确度难以提高。
目前脱机识别验证码的方案主要有两种:第一种是基于传统机器学习的方法进行的研究,主要应用支持向量机(SVM)、线性判别模型(LDA)与修正二次判别函数(MQDF)等的多特征验证码识别技术,在提取网格特征的基础上再增加对验证码多种主要特征的提取。这类方法在建模前需要对建模数据进行数据预处理和复杂的特征工程建设,由于提取特征复杂,包括汉字质心、笔画特征处理,难以全面的提取出准确的特征。另一种是基于深度学习进行验证码汉字的识别,卷积神经网络建立的模型有多种,目前主流应用的模型有VGGNet、ResNet等构建较深、构成复杂的神经网络进行验证码的识别,这类做法存在调优参数多、网络收敛缓慢、存储模型空间较大等问题。
基于上述分析,如何快速且准确的实现验证码识别,是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供基于改进YOLO9000算法的验证码识别方法及系统,来解决如何快速且准确的实现验证码识别的技术问题。
第一方面,本发明的基于改进YOLO9000算法的验证码识别方法,包括如下步骤:
采集验证码图片构建训练样本,所述验证码图片中的验证码由汉字、英文和数字组成;
对于训练样本,对验证码中汉字进行标注,并对验证码图片进行图像变换处理,得到预处理后训练样本;
对于YOLO9000模型,通过减少瓶颈结构的卷积的构造,对卷积层进行改进,并使用交叉熵损失函数加平均差相似度函数作为损失函数,得到改进后YOLO9000模型,所述改进后YOLO9000模型保留有预训练和多分类功能,基于所述改进后YOLO9000模型构建验证码识别模型,并记为YOLO 模型;
基于DBN模型构建验证码识别模型,并记为DBN模型;
基于所述预处理后训练样本分别对所述YOLO模型和DBN模型进行训练,得到训练后YOLO模型和训练后DBN模型;
对于待识别的验证码图片,对验证码中汉字进行标注,并对验证码图片进行图像变换处理,得到预处理后验证码图片;
通过训练后YOLO模型对所述预处理后验证码图片进行识别分类,得到第一分类结果,并通过所述训练后DBN模型对所述预处理后验证码识别图片进行识别分类的,得到第二分类结果,通过采用线性可信度累积的方式对所述第一分类结果和第二分类结果进行融合,得到最终分类结果。
作为优选,对验证码图片进行图像变换处理,包括对验证码图片进行旋转变换、平移变换、阴影处理以及图片增强处理。
作为优选,对于训练样本以及待识别的验证码图片,进行数据清洗,去除无效和不完整的汉字、英文以及数字。
作为优选,通过减少瓶颈结构的卷积的构造,对卷积层进行改进,删除两层1×1卷积,将检测头从九个卷积层减少到六个,在每个最大池化层后接入dropout层,以防止过拟合,所述改进后YOLO9000模型具有十五个卷积层。
作为优选,所述DBN模型包括受限玻尔兹曼机RBM和顶层的反向传播网络BP组成,RBM层共有三层,分别为可视层、隐藏层和全连接层,可视层用于输入数据,隐藏层用于进行特征检测,可视层与隐藏层之间通过全连接,通过RBM层进行无监督的机器学习训练,将下层RBM作为上一层的输出,通过BP神经网络对输出结果进行训练,并将实际输出与预期输出的误差逐层反向传播,调增网络的权重,最终得到适用验证码识别的三层 DBN模型。
作为优选,通过下式定义pi为验证码识别模型对第i个字的识别能力,ci表示第i种字符被识别正确的此申诉,ni代表第i种字符在样本集中出现的总次数, N为字符种类总数;
Figure RE-GDA0003599999000000031
第一验证码识别模型对N种字符的识别能力向量表示如下:
Figure RE-GDA0003599999000000032
其中
Figure RE-GDA0003599999000000033
表示YOLO模型对第N钟字符的识别能力;
第二验证码识别模型对N种字符的识别能力向量表示如下:
Figure RE-GDA0003599999000000034
其中
Figure RE-GDA0003599999000000035
表示YOLO模型对第N钟字符的识别能力。
作为优选,通过采用线性可信度累积的方式对所述第一分类结果和第二分类结果进行融合,包括如下步骤:
通过训练后YOLO模型对待识别验证码图片进行分类识别,得到的得分 XYOLO表示为:
Figure RE-GDA0003599999000000041
将YOLO模型的识别得分与YOLO模型的能力向量
Figure RE-GDA0003599999000000042
进行点乘的结果作为模型最后的识别得分OYOLO表示为:
Figure RE-GDA0003599999000000043
通过训练后DBN模型对待识别验证码图片进行分类识别,得到的得分XDBN表示为:
Figure RE-GDA0003599999000000044
将DBN模型的识别分数与DBN模型的能力向量pDBN进行点乘的结果作为模型最后的识别得分ODBN表示为:
Figure RE-GDA0003599999000000045
将训练后YOLO模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure RE-GDA0003599999000000046
将DBN模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure RE-GDA0003599999000000047
融合YOLO模型和DBN模型得到的结果,输出最后分类识别结果class,采用线性可信度累积(LCA),引入α,β作为加权因子,融合YOLO模型和DBN 模型的识别得分,其中α,β的相加和等于1,通过调节α,β的值权衡两个模型之间的比重,识别得分的计算公式如下,
O=αXYOLO+βXDBN=(o1o2,…,oN)
最后得到O中概率最大的分量,记为class并输出:
class=argmax(o1o2,…,oN) 。
第二方面,本发明的基于改进YOLO9000算法的验证码识别系统,通过如第一方面任一项所述的基于改进YOLO9000算法的验证码识别方法进行验证码识别,所述系统包括:
数据采集模块,所述数据采集模块用于采集验证码图片构建训练样本,所述验证码图片中的验证码由汉字、英文和数字组成;
数据预处理模块,所述数据预处理模块用于对验证码中汉字进行标注,对验证码图片进行数据清洗,去除无效和不完整的汉字、英文以及数字,并对验证码图片进行图像变换处理,得到预处理后训练样本;
YOLO模型构建模块,所述YOLO模型构建模块模块用于对于YOLO9000 模型,通过减少瓶颈结构的卷积的构造,对卷积层进行改进,并使用交叉熵损失函数加平均差相似度函数作为损失函数,得到改进后YOLO9000模型,所述改进后YOLO9000模型保留有预训练和多分类功能,基于所述改进后 YOLO9000模型构建验证码识别模型,并记为YOLO模型;并用于基于所述预处理后训练样本对所述YOLO模型进行训练,得到训练后YOLO模型;
DBN模型构建模块,所述DBN模型构建模块用于基于DBN模型构建验证码识别模型,并记为DBN模型;并用于基于所述预处理后训练样本对所述DBN 模型进行训练,得到训练后DBN模型;
识别预处理模块,所述识别模块用于调用数据预处理模块,对于待识别的验证码图片,通过数据预处理模块对验证码中汉字进行标注,并对验证码图片进行图像变换处理,得到预处理后验证码图片;
识别分类模块,所述识别分类模块用于通过训练后YOLO模型对所述预处理后验证码图片进行识别分类,得到第一分类结果,并通过所述训练后DBN 模型对所述预处理后验证码识别图片进行识别分类的,得到第二分类结果,通过采用线性可信度累积的方式对所述第一分类结果和第二分类结果进行融合,得到最终分类结果。
作为优选,所述YOLO模型构建模块用于通过减少瓶颈结构的卷积的构造,对卷积层进行改进,删除两层1×1卷积,将检测头从九个卷积层减少到六个,在每个最大池化层后接入dropout层,以防止过拟合,所述改进后YOLO9000 模型具有十五个卷积层;
所述DBN模型包括受限玻尔兹曼机RBM和顶层的反向传播网络BP组成, RBM层共有三层,分别为可视层、隐藏层和全连接层,可视层用于输入数据,隐藏层用于进行特征检测,可视层与隐藏层之间通过全连接,通过RBM层进行无监督的机器学习训练,将下层RBM作为上一层的输出,通过BP神经网络对输出结果进行训练,并将实际输出与预期输出的误差逐层反向传播,调增网络的权重,最终得到适用验证码识别的三层DBN模型。
作为优选,所述识别分类模块通过下式定义pi为验证码识别模型对第i个字的识别能力,ci表示第i种字符被识别正确的此申诉,ni代表第i种字符在样本集中出现的总次数,N为字符种类总数;
Figure RE-GDA0003599999000000061
第一验证码识别模型对N种字符的识别能力向量表示如下:
Figure RE-GDA0003599999000000062
其中
Figure RE-GDA0003599999000000063
表示YOLO模型对第N钟字符的识别能力;
第二验证码识别模型对N种字符的识别能力向量表示如下:
Figure RE-GDA0003599999000000064
其中
Figure RE-GDA0003599999000000065
表示YOLO模型对第N钟字符的识别能力;
所述识别分类模块用于通过采用线性可信度累积的方式对所述第一分类结果和第二分类结果进行融合,包括如下步骤:
通过训练后YOLO模型对待识别验证码图片进行分类识别,得到的得分 XYOLO表示为:
Figure RE-GDA0003599999000000071
将YOLO模型的识别得分与YOLO模型的能力向量pYOLO进行点乘的结果作为模型最后的识别得分OYOLO表示为:
Figure RE-GDA0003599999000000072
通过训练后DBN模型对待识别验证码图片进行分类识别,得到的得分XDBN表示为:
Figure RE-GDA0003599999000000073
将DBN模型的识别分数与DBN模型的能力向量pDBN进行点乘的结果作为模型最后的识别得分ODBN表示为:
Figure RE-GDA0003599999000000074
将训练后YOLO模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure RE-GDA0003599999000000075
将DBN模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure RE-GDA0003599999000000076
融合YOLO模型和DBN模型得到的结果,输出最后分类识别结果class,采用线性可信度累积(LCA),引入α,β作为加权因子,融合YOLO模型和DBN 模型的识别得分,其中α,β的相加和等于1,通过调节α,β的值权衡两个模型之间的比重,识别得分的计算公式如下,
O=αXYOLO+βXDBN=(o1o2,…,oN)
最后得到O中概率最大的分量,记为class并输出:
class=argmax(o1o2,…,oN)
本发明的基于改进YOLO9000算法的验证码识别方法及系统具有以下优点:
1、对比现有、验证码识别使用传统的机器学习模型的做法,改进的 YOLO-9000通过改进损失函数,重构主干网络的做法融合DBN模型,使得模型在保证识别时长的情况下,提升了识别率;
2、对比深度学习模型,融合模型通过调节加权因子,使得识别率强于单一模型,且融合了传统机器学习算法,使得模型泛化性能比单一的深度学习模型好防止过拟合。由于对YOLO-9000主干网络的卷积层修改,使得运算识别速度强于一般深度学习模型。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
图1为实施例1基于改进YOLO9000算法的验证码识别方法的流程框图;
图2为实施例1基于改进YOLO9000算法的验证码识别方法中改进的 YOLO-9000的结构示意图;
图3为实施例1基于改进YOLO9000算法的验证码识别方法中DBN模型的结构示意图;
图4为实施例1基于改进YOLO9000算法的验证码识别方法中改进的 YOLO-9000和DBN的融合模型结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供基于改进YOLO9000算法的验证码识别方法及系统,用于解决如何快速且准确的实现验证码识别的技术问题。
实施例1:
本发明基于改进YOLO9000算法的验证码识别方法,包括如下步骤:
S100、采集验证码图片构建训练样本,验证码图片中的验证码由汉字、英文和数字组成;
S200、对于训练样本,对验证码中汉字进行标注,并对验证码图片进行图像变换处理,得到预处理后训练样本;
S300、对于YOLO9000模型,通过减少瓶颈结构的卷积的构造,对卷积层进行改进,并使用交叉熵损失函数加平均差相似度函数作为损失函数,得到改进后YOLO9000模型,改进后YOLO9000模型保留有预训练和多分类功能,基于改进后YOLO9000模型构建验证码识别模型,并记为YOLO 模型;
S400、基于DBN模型构建验证码识别模型,并记为DBN模型;
S500、基于预处理后训练样本分别对YOLO模型和DBN模型进行训练,得到训练后YOLO模型和训练后DBN模型;
S600、对于待识别的验证码图片,对验证码中汉字进行标注,并对验证码图片进行图像变换处理,得到预处理后验证码图片;
S700、通过训练后YOLO模型对预处理后验证码图片进行识别分类,得到第一分类结果,并通过训练后DBN模型对所述预处理后验证码识别图片进行识别分类的,得到第二分类结果,通过采用线性可信度累积的方式对第一分类结果和第二分类结果进行融合,得到最终分类结果。
本实施例中采集带有汉字、英文和数字的验证码,并将采集的验证码图片汇集为数据集作为训练样本集。
步骤S200对数据加工与图像增强过程。针对验证码汉字进行单独标注,并将采集的图片进行图像增强处理,由于验证码某些验证码字符出现频率多,用词要对数据集进行数据扩增,防止拟合模型时发生过拟合。对验证码图片进行图像变换处理,包括对验证码图片进行旋转变换、平移变换、阴影处理以及图片增强处理等。同时,进行数据清洗,去除无效和不完整的汉字、英文以及数字。
YOLO-9000是指可以对9000类物体进行识别。在常见的验证码中,每一个字符均可以认为是一个物体,而验证码识别中的常用的汉字约为 500-1000个,因此改进的YOLO-9000模型可以将分类减少到1000类。本申请提案中的卷积神经网络具有15层卷积层,以YOLOv2为基础,结合 GoogleNet的构建思想。改进的YOLO9000保留了通过预训练和进行多分类的能力,通过步骤S100的数据采集与步骤S200的数据标注,利用带标注的分类数据集量比较大的特点进行预训练。改进卷积层,通过减少瓶颈结构的卷积的构造,删除了两层1×1卷积,原本的检测头从9个卷积层减少到6 个,使得体量更加轻便适合验证码汉字识别的需求。在损失函数的选择上,本申请提案对以往的YOLO模型改造,使用交叉熵损失函数加平均差相似度函数作为损失函数,这种做法可以增加类间变异,减少类内变异,从而获得更好的分类性能。
改进的YOLO模型使用了最大熵正则化项加平均方差相似度函数作为损失函数,这种做法可以增加类间变异,减少类内变异,从而获得更好的分类性能。将两种损失函数结合使用,比单纯基于交叉熵作为损失函数的特征分类效果要好得多。
一般来说,验证码识别中预测的类内方差同样很大,即熵很大,我们希望将输出的熵进行正则化,使模型更加一般化,减轻过拟合,表达式如下, pi为模型对第i个字的识别能力,H(p)为模型输出的熵,
Figure RE-GDA0003599999000000111
熵是一个热向量时达到最小值,在p时均匀分布时达到最大值。前者是通过普通的交叉熵损失自动实现的,而后者则有望促进正则化。因此,我们将负熵作为最大熵正则化项,它直接作用于一般的交叉熵损失函数上,如下所示,回归的损失函数表示为LREG,是由负熵即熵的相反数λLMER,与LCE累加组成
LMER=-H(P)
LREG=LCE+λLMER
其中λ是决定MER影响的超参数。从直观上看,MER降低了交叉熵损失造成的极端置信值。考虑正则化损失对输出分数的导数,它与模型直接相关,对概率分布的导数为,此时由于模型概率的分布只与LMER有关,那么导数就变成了:
Figure RE-GDA0003599999000000112
求导后根据链式法则可得,其中梯度并不总是正的或负的,所以在更多分布的分数下,概率不会下降到0或增加到1。至此就完成了损失函数的构建。
以YOLOv2为基础,结合GoogleNet的构建思想建设改进的YOLO-9000 模型。改进的YOLO9000保留了通过预训练和进行多分类的能力,通过步骤1的数据采集与步骤2的数据标注,利用带标注的分类数据集量比较大的特点进行预训练。改进模型共又15层卷积层,通过减少瓶颈结构的卷积的构造,删除了两层1×1卷积及瓶颈卷积,原本的检测头从9个卷积层减少到6个,同时在每个最大池化层后接入dropout层,以防止过拟合,使得体量更加轻便适合验证码识别的需求。
DBN是一个具有层次特征的概率生成模型,通过训练神经元之间的权重。本申请提案中的DBN模型是由一系列的受限玻尔兹曼机(RBM)和顶层的反向传播网络(BP)组成。RBM层共有三层,由可视层输入数据,隐藏层做特征检测,两层之间全连接。通过RBM层进行无监督的机器学习训练,将下层RBM作为上一层的输出。再对输出结果使用BP神经网络进行训练,将实际输出与预期输出的误差逐层反向传播,调增网络的权重,最终得到适用验证码识别的三层DBN模型。在有标签样本的训练模型阶段,细分类会调整BP网络的权值,将实际输出与预期数据的误差逐层反向传播。通过RBM层进行无监督的机器学习训练,将下层RBM作为上一层的输出。再对输出结果使用BP神经网络进行训练,将实际输出与预期输出的误差逐层反向传播,调增网络的权重,最终得到DBN模型。
上述两个模型YOLO模型和DBN模型都可以验证码识别,并应用各自的网络进行特征提取。由于YOLO和DBN模型建模本质有区别,其提取特征的手段各有优势,融合的YOLO和DBN的融合模型,在效果上会超过单一模型的识别能力。YOLO-DBN整体过程分为训练过程和应用过程两部分。即分别单独进行训练,与应用进行融合的过程。应用过程采用线性可信度累计,引入加权因子α和β,通过调节加权因子得到最终分类结果。
本实施例中在对验证码进行识别时,通过改进的YOLO9000与DBN模型构成的融合模型进行识别,所示首先单独训练YOLO模型和DBN模型,并得到训练好的识别模型;然后在样本集上统计两个模型对不同字符的识别能力,通过下式定义pi为模型对第i个字的识别能力;ci表示第i种字符被识别正确的此申诉,ni代表第i种字符在样本集中出现的总次数。N为字符种类总数。
Figure RE-GDA0003599999000000121
YOLO对N种字符的识别能力向量表示如下,其中
Figure RE-GDA0003599999000000122
表示YOLO模型对第N钟字符的识别能力:
Figure RE-GDA0003599999000000131
同样的DBN模型对N种字符的识别能力向量表示如下,其中
Figure RE-GDA0003599999000000132
表示 YOLO模型对第N钟字符的识别能力:
Figure RE-GDA0003599999000000133
其中涉及的融合模型算法的主要步骤如下:
1)将字符图片经过YOLO模型计算得到分类的得分为XYOLO
Figure RE-GDA0003599999000000134
将YOLO模型的识别分数与模型的能力向量pYOLO进行点乘的结果作为模型最后的识别得分OYOLO:
Figure RE-GDA0003599999000000135
2)将字符图片经过DBN模型计算得到分类的得分为XDBN
Figure RE-GDA0003599999000000136
将DBN模型的识别分数与模型的能力向量pDBN进行点乘的结果作为模型最后的识别得分ODBN:
Figure RE-GDA0003599999000000137
3)将YOLO模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure RE-GDA0003599999000000138
4)将DBN模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure RE-GDA0003599999000000139
5)融合YOLO和DBN两模型的结果,输出最后分类识别结果class,采用线性可信度累积(LCA),引入α,β作为加权因子,融合两模型的识别得分,其中α,β的相加和等于1,通过调节α,β的值权衡两个模型之间的比重,识别得分的计算公式如下,
O=αXYOLO+βXDBN=(o1o2,…,oN)
最后得到O中概率最大的分量,记为class并输出:
class=argmax(o1o2,…,oN)
本实施例的验证码识别,在YOLO模型中,应用最大熵正则化来正则化训练过程应给予保护,最大熵正则化在交叉熵损失中添加一个负熵项,使用最大熵正则化与平均方差相似度函数联合作为损失函数这种做法可以增加类间变异,减少类内变异,从而获得更好的分类性能;同时,YOLO模型中,卷积神经网络具有15层卷积层,通过改进卷积层,减少瓶颈结构的卷积的构造减轻了网络的量级,删除了两层1×1卷积,原本的检测头从9个卷积层减少到6个,每个最大池层之后都应用dropout层以防止过拟合;通过增加加权因子调整每个模型结果占比,最后给出样本的最大概率分类class。融合机器学习的做法提高了模型的泛化能力,融合模型的方案也进一步解决了识别效率低的问题与重量级网络泛化难的问题。
实施例2:
本发明基于改进YOLO9000算法的验证码识别系统,包括数据采集模块、数据预处理模块、YOLO模型构建模块、DBN模型构建模块、识别预处理模块、识别分类模块,数据采集模块用于采集验证码图片构建训练样本,所述验证码图片中的验证码由汉字、英文和数字组成;数据预处理模块用于对验证码中汉字进行标注,对验证码图片进行数据清洗,去除无效和不完整的汉字、英文以及数字,并对验证码图片进行图像变换处理,得到预处理后训练样本;YOLO模型构建模块模块用于对于YOLO9000模型,通过减少瓶颈结构的卷积的构造,对卷积层进行改进,并使用交叉熵损失函数加平均差相似度函数作为损失函数,得到改进后YOLO9000模型,所述改进后 YOLO9000模型保留有预训练和多分类功能,基于所述改进后YOLO9000 模型构建验证码识别模型,并记为YOLO模型;并用于基于所述预处理后训练样本对所述YOLO模型进行训练,得到训练后YOLO模型;DBN模型构建模块用于基于DBN模型构建验证码识别模型,并记为DBN模型;并用于基于所述预处理后训练样本对所述DBN模型进行训练,得到训练后 DBN模型;识别模块用于调用数据预处理模块,对于待识别的验证码图片,通过数据预处理模块对验证码中汉字进行标注,并对验证码图片进行图像变换处理,得到预处理后验证码图片;识别分类模块用于通过训练后YOLO 模型对所述预处理后验证码图片进行识别分类,得到第一分类结果,并通过所述训练后DBN模型对所述预处理后验证码识别图片进行识别分类的,得到第二分类结果,通过采用线性可信度累积的方式对所述第一分类结果和第二分类结果进行融合,得到最终分类结果。
本实施例系统中,YOLO模型构建模块用于通过减少瓶颈结构的卷积的构造,对卷积层进行改进,删除两层1×1卷积,将检测头从9个卷积层减少到6个,在每个最大池化层后接入dropout层,以防止过拟合,所述改进后YOLO9000模型具有十五个卷积层。
一般来说,验证码识别中预测的类内方差同样很大,即熵很大,我们希望将输出的熵进行正则化,使模型更加一般化,减轻过拟合,表达式如下, pi为模型对第i个字的识别能力,H(p)为模型输出的熵,
Figure RE-GDA0003599999000000151
熵是一个热向量时达到最小值,在p时均匀分布时达到最大值。前者是通过普通的交叉熵损失自动实现的,而后者则有望促进正则化。因此,我们将负熵作为最大熵正则化项,它直接作用于一般的交叉熵损失函数上,如下所示,回归的损失函数表示为LREG,是由负熵即熵的相反数λLMER,与LCE累加组成
LMER=-H(P)
LREG=LCE+λLMER
其中λ是决定MER影响的超参数。从直观上看,MER降低了交叉熵损失造成的极端置信值。考虑正则化损失对输出分数的导数,它与模型直接相关,对概率分布的导数为,此时由于模型概率的分布只与LMER有关,那么导数就变成了:
Figure RE-GDA0003599999000000161
求导后根据链式法则可得,其中梯度并不总是正的或负的,所以在更多分布的分数下,概率不会下降到0或增加到1。至此就完成了损失函数的构建。
DBN模型包括受限玻尔兹曼机RBM和顶层的反向传播网络BP组成, RBM层共有三层,分别为可视层、隐藏层和全连接层,可视层用于输入数据,隐藏层用于进行特征检测,可视层与隐藏层之间通过全连接,通过RBM 层进行无监督的机器学习训练,将下层RBM作为上一层的输出,通过BP 神经网络对输出结果进行训练,并将实际输出与预期输出的误差逐层反向传播,调增网络的权重,最终得到适用验证码识别的三层DBN模型。
识别分类模块通过下式定义pi为验证码识别模型对第i个字的识别能力,ci表示第i种字符被识别正确的此申诉,ni代表第i种字符在样本集中出现的总次数, N为字符种类总数;
Figure RE-GDA0003599999000000162
第一验证码识别模型对N种字符的识别能力向量表示如下:
Figure RE-GDA0003599999000000163
其中
Figure RE-GDA0003599999000000164
表示YOLO模型对第N钟字符的识别能力;
第二验证码识别模型对N种字符的识别能力向量表示如下:
Figure RE-GDA0003599999000000171
其中
Figure RE-GDA0003599999000000172
表示YOLO模型对第N钟字符的识别能力;
所述识别分类模块用于通过采用线性可信度累积的方式对所述第一分类结果和第二分类结果进行融合,包括如下步骤:
通过训练后YOLO模型对待识别验证码图片进行分类识别,得到的得分 XYOLO表示为:
Figure RE-GDA0003599999000000173
将YOLO模型的识别得分与YOLO模型的能力向量pYOLO进行点乘的结果作为模型最后的识别得分OYOLO表示为:
Figure RE-GDA0003599999000000174
通过训练后DBN模型对待识别验证码图片进行分类识别,得到的得分XDBN表示为:
Figure RE-GDA0003599999000000175
将DBN模型的识别分数与DBN模型的能力向量pDBN进行点乘的结果作为模型最后的识别得分ODBN表示为:
Figure RE-GDA0003599999000000176
将训练后YOLO模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure RE-GDA0003599999000000177
将DBN模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure RE-GDA0003599999000000178
融合YOLO模型和DBN模型得到的结果,输出最后分类识别结果class,采用线性可信度累积(LCA),引入α,β作为加权因子,融合YOLO模型和DBN 模型的识别得分,其中α,β的相加和等于1,通过调节α,β的值权衡两个模型之间的比重,识别得分的计算公式如下,
O=αXYOLO+βXDBN=(o1o2,…,oN)
最后得到O中概率最大的分量,记为class并输出:
class=argmax(o1o2,…,oN) 。
本实施例的系统可执行实施例1公开的基于改进YOLO9000算法的验证码识别方法及系统。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

Claims (10)

1.基于改进YOLO9000算法的验证码识别方法,其特征在于包括如下步骤:
采集验证码图片构建训练样本,所述验证码图片中的验证码由汉字、英文和数字组成;
对于训练样本,对验证码中汉字进行标注,并对验证码图片进行图像变换处理,得到预处理后训练样本;
对于YOLO9000模型,通过减少瓶颈结构的卷积的构造,对卷积层进行改进,并使用交叉熵损失函数加平均差相似度函数作为损失函数,得到改进后YOLO9000模型,所述改进后YOLO9000模型保留有预训练和多分类功能,基于所述改进后YOLO9000模型构建验证码识别模型,并记为YOLO模型;
基于DBN模型构建验证码识别模型,并记为DBN模型;
基于所述预处理后训练样本分别对所述YOLO模型和DBN模型进行训练,得到训练后YOLO模型和训练后DBN模型;
对于待识别的验证码图片,对验证码中汉字进行标注,并对验证码图片进行图像变换处理,得到预处理后验证码图片;
通过训练后YOLO模型对所述预处理后验证码图片进行识别分类,得到第一分类结果,并通过所述训练后DBN模型对所述预处理后验证码识别图片进行识别分类的,得到第二分类结果,通过采用线性可信度累积的方式对所述第一分类结果和第二分类结果进行融合,得到最终分类结果。
2.根据权利要求1所述的基于改进YOLO9000算法的验证码识别方法,其特征在于对验证码图片进行图像变换处理,包括对验证码图片进行旋转变换、平移变换、阴影处理以及图片增强处理。
3.根据权利要求1所述的基于改进YOLO9000算法的验证码识别方法,其特征在于对于训练样本以及待识别的验证码图片,进行数据清洗,去除无效和不完整的汉字、英文以及数字。
4.根据权利要求1所述的基于改进YOLO9000算法的验证码识别方法,其特征在于通过减少瓶颈结构的卷积的构造,对卷积层进行改进,删除两层1×1卷积,将检测头从九个卷积层减少到六个,在每个最大池化层后接入dropout层,以防止过拟合,所述改进后YOLO9000模型具有十五个卷积层。
5.根据权利要求1所述的基于改进YOLO9000算法的验证码识别方法,其特征在于所述DBN模型包括受限玻尔兹曼机RBM和顶层的反向传播网络BP组成,RBM层共有三层,分别为可视层、隐藏层和全连接层,可视层用于输入数据,隐藏层用于进行特征检测,可视层与隐藏层之间通过全连接,通过RBM层进行无监督的机器学习训练,将下层RBM作为上一层的输出,通过BP神经网络对输出结果进行训练,并将实际输出与预期输出的误差逐层反向传播,调增网络的权重,最终得到适用验证码识别的三层DBN模型。
6.根据权利要求1所述的基于改进YOLO9000算法的验证码识别方法,其特征在于通过下式定义pi为验证码识别模型对第i个字的识别能力,ci表示第i种字符被识别正确的此申诉,ni代表第i种字符在样本集中出现的总次数,N为字符种类总数;
Figure FDA0003441717140000021
第一验证码识别模型对N种字符的识别能力向量表示如下:
Figure FDA0003441717140000022
其中
Figure FDA0003441717140000023
表示YOLO模型对第N钟字符的识别能力;
第二验证码识别模型对N种字符的识别能力向量表示如下:
Figure FDA0003441717140000024
其中
Figure FDA0003441717140000025
表示YOLO模型对第N钟字符的识别能力。
7.根据权利要求1所述的基于改进YOLO9000算法的验证码识别方法,其特征在于通过采用线性可信度累积的方式对所述第一分类结果和第二分类结果进行融合,包括如下步骤:
通过训练后YOLO模型对待识别验证码图片进行分类识别,得到的得分XYOLO表示为:
Figure FDA0003441717140000031
将YOLO模型的识别得分与YOLO模型的能力向量pYOLO进行点乘的结果作为模型最后的识别得分OYOLO表示为:
Figure FDA0003441717140000032
通过训练后DBN模型对待识别验证码图片进行分类识别,得到的得分XDBN表示为:
Figure FDA0003441717140000033
将DBN模型的识别分数与DBN模型的能力向量pDBN进行点乘的结果作为模型最后的识别得分ODBN表示为:
Figure FDA0003441717140000034
将训练后YOLO模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure FDA0003441717140000035
将DBN模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure FDA0003441717140000036
融合YOLO模型和DBN模型得到的结果,输出最后分类识别结果class,采用线性可信度累积(LCA),引入α,β作为加权因子,融合YOLO模型和DBN模型的识别得分,其中α,β的相加和等于1,通过调节α,β的值权衡两个模型之间的比重,识别得分的计算公式如下,
O=aXYOLo+βXDBN=(o1 o2,...,oN)
最后得到O中概率最大的分量,记为class并输出:
class=argmax(oi o2,...,oN)。
8.基于改进YOLO9000算法的验证码识别系统,其特征在于通过如权利要求1-7任一项所述的基于改进YOLO9000算法的验证码识别方法进行验证码识别,所述系统包括:
数据采集模块,所述数据采集模块用于采集验证码图片构建训练样本,所述验证码图片中的验证码由汉字、英文和数字组成;
数据预处理模块,所述数据预处理模块用于对验证码中汉字进行标注,对验证码图片进行数据清洗,去除无效和不完整的汉字、英文以及数字,并对验证码图片进行图像变换处理,得到预处理后训练样本;
YOLO模型构建模块,所述YOLO模型构建模块用于对于YOLO9000模型,通过减少瓶颈结构的卷积的构造,对卷积层进行改进,并使用交叉熵损失函数加平均差相似度函数作为损失函数,得到改进后YOLO9000模型,所述改进后YOLO9000模型保留有预训练和多分类功能,基于所述改进后YOLO9000模型构建验证码识别模型,并记为YOLO模型;并用于基于所述预处理后训练样本对所述YOLO模型进行训练,得到训练后YOLO模型;
DBN模型构建模块,所述DBN模型构建模块用于基于DBN模型构建验证码识别模型,并记为DBN模型;并用于基于所述预处理后训练样本对所述DBN模型进行训练,得到训练后DBN模型;
识别预处理模块,所述识别模块用于调用数据预处理模块,对于待识别的验证码图片,通过数据预处理模块对验证码中汉字进行标注,并对验证码图片进行图像变换处理,得到预处理后验证码图片;
识别分类模块,所述识别分类模块用于通过训练后YOLO模型对所述预处理后验证码图片进行识别分类,得到第一分类结果,并通过所述训练后DBN模型对所述预处理后验证码识别图片进行识别分类的,得到第二分类结果,通过采用线性可信度累积的方式对所述第一分类结果和第二分类结果进行融合,得到最终分类结果。
9.根据权利要求8所述的基于改进YOLO9000算法的验证码识别系统,其特征在于所述YOLO模型构建模块用于通过减少瓶颈结构的卷积的构造,对卷积层进行改进,删除两层1×1卷积,将检测头从九个卷积层减少到六个,在每个最大池化层后接入dropout层,以防止过拟合,所述改进后YOLO9000模型具有十五个卷积层;
所述DBN模型包括受限玻尔兹曼机RBM和顶层的反向传播网络BP组成,RBM层共有三层,分别为可视层、隐藏层和全连接层,可视层用于输入数据,隐藏层用于进行特征检测,可视层与隐藏层之间通过全连接,通过RBM层进行无监督的机器学习训练,将下层RBM作为上一层的输出,通过BP神经网络对输出结果进行训练,并将实际输出与预期输出的误差逐层反向传播,调增网络的权重,最终得到适用验证码识别的三层DBN模型。
10.根据权利要求8或9所述的基于改进YOLO9000算法的验证码识别系统,其特征在于所述识别分类模块通过下式定义pi为验证码识别模型对第i个字的识别能力,ci表示第i种字符被识别正确的此申诉,ni代表第i种字符在样本集中出现的总次数,N为字符种类总数;
Figure FDA0003441717140000051
第一验证码识别模型对N种字符的识别能力向量表示如下:
Figure FDA0003441717140000052
其中
Figure FDA0003441717140000053
表示YOLO模型对第N钟字符的识别能力;
第二验证码识别模型对N种字符的识别能力向量表示如下:
Figure FDA0003441717140000054
其中
Figure FDA0003441717140000061
表示YOLO模型对第N钟字符的识别能力;
所述识别分类模块用于通过采用线性可信度累积的方式对所述第一分类结果和第二分类结果进行融合,包括如下步骤:
通过训练后YOLO模型对待识别验证码图片进行分类识别,得到的得分XYOLO表示为:
Figure FDA0003441717140000062
将YOLO模型的识别得分与YOLO模型的能力向量pYOLO进行点乘的结果作为模型最后的识别得分OYOLO表示为:
Figure FDA0003441717140000063
通过训练后DBN模型对待识别验证码图片进行分类识别,得到的得分XDBN表示为:
Figure FDA0003441717140000064
将DBN模型的识别分数与DBN模型的能力向量pDBN进行点乘的结果作为模型最后的识别得分ODBN表示为:
Figure FDA0003441717140000065
将训练后YOLO模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure FDA0003441717140000066
将DBN模型得分的分量从大到小排序,选取最的大两个分量并记录,
Figure FDA0003441717140000067
融合YOLO模型和DBN模型得到的结果,输出最后分类识别结果class,采用线性可信度累积(LCA),引入α,β作为加权因子,融合YOLO模型和DBN模型的识别得分,其中α,β的相加和等于1,通过调节α,β的值权衡两个模型之间的比重,识别得分的计算公式如下,
O=αXYOLO+βXDBN=(o1 o2,…,oN)
最后得到O中概率最大的分量,记为class并输出:
class=argmax(o1 o2,...,oN)。
CN202111634916.9A 2021-12-29 2021-12-29 基于改进yolo9000算法的验证码识别方法及系统 Pending CN114529911A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111634916.9A CN114529911A (zh) 2021-12-29 2021-12-29 基于改进yolo9000算法的验证码识别方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111634916.9A CN114529911A (zh) 2021-12-29 2021-12-29 基于改进yolo9000算法的验证码识别方法及系统

Publications (1)

Publication Number Publication Date
CN114529911A true CN114529911A (zh) 2022-05-24

Family

ID=81620229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111634916.9A Pending CN114529911A (zh) 2021-12-29 2021-12-29 基于改进yolo9000算法的验证码识别方法及系统

Country Status (1)

Country Link
CN (1) CN114529911A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116452878A (zh) * 2023-04-20 2023-07-18 广东工业大学 一种基于深度学习算法与双目视觉的考勤方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116452878A (zh) * 2023-04-20 2023-07-18 广东工业大学 一种基于深度学习算法与双目视觉的考勤方法及系统
CN116452878B (zh) * 2023-04-20 2024-02-02 广东工业大学 一种基于深度学习算法与双目视觉的考勤方法及系统

Similar Documents

Publication Publication Date Title
CN112308158B (zh) 一种基于部分特征对齐的多源领域自适应模型及方法
CN108615010B (zh) 基于平行卷积神经网络特征图融合的人脸表情识别方法
CN111126386B (zh) 场景文本识别中基于对抗学习的序列领域适应方法
CN110084266B (zh) 一种基于视听特征深度融合的动态情感识别方法
CN109993236A (zh) 基于one-shot Siamese卷积神经网络的少样本满文匹配方法
CN110751038A (zh) 一种基于图注意力机制的pdf表格结构识别方法
CN111652332A (zh) 基于二分类的深度学习手写中文字符识别方法及系统
CN114038037B (zh) 基于可分离残差注意力网络的表情标签修正和识别方法
Zhang et al. Quantifying the knowledge in a DNN to explain knowledge distillation for classification
CN112070139A (zh) 基于bert与改进lstm的文本分类方法
CN110991554B (zh) 一种基于改进pca的深度网络图像分类方法
Inunganbi et al. Handwritten Meitei Mayek recognition using three‐channel convolution neural network of gradients and gray
CN110136113B (zh) 一种基于卷积神经网络的阴道病理图像分类方法
Zhuang et al. A handwritten Chinese character recognition based on convolutional neural network and median filtering
Zahoor et al. Deep optical character recognition: a case of Pashto language
CN111460146A (zh) 一种基于多特征融合的短文本分类方法及系统
CN114529911A (zh) 基于改进yolo9000算法的验证码识别方法及系统
Zhang et al. A novel deep LeNet-5 convolutional neural network model for image recognition
Xu et al. A novel image feature extraction algorithm based on the fusion AutoEncoder and CNN
CN111353032B (zh) 面向社区问答的问题分类方法及系统
Montalbo et al. Classification of stenography using convolutional neural networks and canny edge detection algorithm
Li et al. SwordNet: Chinese character font style recognition network
CN113408418A (zh) 一种书法字体与文字内容同步识别方法及系统
CN115640401B (zh) 文本内容提取方法及装置
CN111858939A (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