CN116612478A - 一种脱机手写汉字的评分方法、装置及存储介质 - Google Patents
一种脱机手写汉字的评分方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116612478A CN116612478A CN202310317071.3A CN202310317071A CN116612478A CN 116612478 A CN116612478 A CN 116612478A CN 202310317071 A CN202310317071 A CN 202310317071A CN 116612478 A CN116612478 A CN 116612478A
- Authority
- CN
- China
- Prior art keywords
- chinese character
- handwritten chinese
- handwritten
- scoring
- network
- 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
Links
- 238000013077 scoring method Methods 0.000 title abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000006870 function Effects 0.000 claims description 51
- 238000012549 training Methods 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000011156 evaluation Methods 0.000 claims description 14
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 230000005484 gravity Effects 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 6
- 238000003909 pattern recognition Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/1916—Validation; Performance evaluation
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19127—Extracting features by transforming the feature space, e.g. multidimensional scaling; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/242—Division of the character sequences into groups prior to recognition; Selection of dictionaries
- G06V30/244—Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
- G06V30/2455—Discrimination between machine-print, hand-print and cursive writing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种脱机手写汉字的评分方法、装置及存储介质,其中方法包括:获取待评分的手写汉字图像;将手写汉字图像输入训练后的汉字评分模型,提取手写汉字的特征结构,将提取的特征结构与标准库中对应的汉字进行对比分析,获得手写汉字的综合评分;和/或,基于汉字像素点的分布规律,分析手写汉字图像中汉字像素点的二维分布,获得多种二维特征,根据获得的多种二维特征与标准库中对应的汉字进行对比分析,获得手写汉字不同维度上的评分。本发明通过模型对手写文字图像进行处理,或者根据汉字像素点对手写文字图像进行处理,能够对手写汉字进行整体评分,为书写者提供改进参考。本发明可广泛应用于图像模式识别技术领域。
Description
技术领域
本发明涉及人工智能、深度学习及图像模式识别技术领域,尤其涉及一种脱机手写汉字的评分方法、装置及存储介质。
背景技术
脱机手写汉字识别和评分是图像模式识别领域中的一个子方向。脱机是指所处理的手写文字是通过扫描仪或摄像头等图像捕捉设备采集到的手写汉字二维图,以下均简称手写汉字。目前,对于学生练习的反馈指导主要依赖人工,而不同的人审美各异,标准难以统一,这导致了人工打分效率低下,同时结果难以保证。故理想的方法是让计算机来学会如何进行评分。
目前虽然已有相关的基于深度学习的手写汉字识别方法应用,且其识别准确率已达到90%以上,但对其进行评分的相关研究仍较少。
对比学习是近年来发展迅猛的深度学习中的一个子方向,是自监督学习的一种形式。其基本的思想是拉近同一张图片的不同视角在特征空间上的表示,也称为个体判别任务,以此来得到一张图片较好的特征表示,而提取出来的特征就可以用于各种各样的下游任务,如图像分类、物体分割等等,这种思想在计算机视觉领域中得到了广泛的应用。
对于手写汉字评分,传统的机器学习方法可以通过专家来设计选取影响手写汉字美学质量的指标,诸如线条粗细度、光滑度和字体的端正度等等,采用人工设定的阈值,对各项指标进行打分,最终综合各项得分得到最终的分数。但是只依赖专家的经验,难以应对手写汉字巨大的差异性。主要的缺点有:1、指标是人工选取的,是否还有其他的指标需要选取,以及这些指标对最终分数的评估是否重要,同时不同的字是否需要采用不同的评分指标,专家也无法给出答案;2、每个人的审美各异,在搜集评分数据集时,进行人工精细打分的工作量巨大,同时误差难以评估;3、无法分析出各项指标之间的关联关系,以及定量地确定它们对分数结果的贡献值。
发明内容
为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种脱机手写汉字的评分方法、装置及存储介质。
本发明所采用的技术方案是:
一种脱机手写汉字的评分方法,包括以下步骤:
获取待评分的手写汉字图像;
将手写汉字图像输入训练后的汉字评分模型,提取手写汉字的特征结构,将提取的特征结构与标准库中对应的汉字进行对比分析,获得手写汉字的综合评分;
和/或,
基于汉字像素点的分布规律,分析手写汉字图像中汉字像素点的二维分布,获得多种二维特征,根据获得的多种二维特征与标准库中对应的汉字进行对比分析,获得手写汉字不同维度上的评分。
进一步地,所述汉字评分模型通过以下方式训练获得:
收集带有类别信息的脱机手写汉字数据集,根据脱机手写汉字数据集获取评价数据集;
使用卷积神经网络作为提取手写汉字特征的骨干网络,采用脱机手写汉字数据集进行预训练;
在预训练后,在所述骨干网络之后添加一个分类识别网络,采用脱机手写汉字数据集进行训练,并在训练后,固定所述骨干网络的参数;
在所述骨架网络之后并行添加一个分数回归预测网络,采用评价数据集和预设损失函数进行训练,获得最终的汉字评分模型。
进一步地,所述使用卷积神经网络作为提取手写汉字特征的骨干网络,采用脱机手写汉字数据集进行预训练,包括:
对脱机手写汉字数据集进行数据增强,以使每张图片都能得到两个不同的视角;其中,同一张图片的两个不同视角作为正样本对,其余均为负样本对;
采用增强后的数据集和InfoNCE损失函数对骨干网络进行训练;
其中,InfoNCE损失函数的表达式如下:
式中,x代表经过数据增强后的图片数据,x+代表x的正样本,x-代表x的负样本;f_q代表骨架网络、一个映射MLP层和一个预测MLP层,f_k代表骨架网络和一个映射MLP层,f_k以一定的比例共享f_q的参数,称为动量编码器;符号·代表相似度计算方法,τ是温度超参数。
进一步地,在所述骨干网络之后添加一个分类识别网络,采用脱机手写汉字数据集进行训练,并在训练后,固定所述骨干网络的参数,包括:
对脱机手写汉字数据集中的数据进行随机变换处理;
对分类识别的结果使用交叉熵损失函数和中心距离损失函数进行约束,使用中心距离损失函数的目的是为了处理汉字种类较多的间题,让不同类的汉字经过网络模型得到的特征表示差异更大:
Loss=LosscrossEntropy+λLossCenter
其中,λ是超参数;W、b是分类预测网络中可以训练的模型参数;xi表示图片数据经过卷积神经网络抽取得到的特征,yi是图片i的类别标签;m表示一批量图片的数量,n表示总类别数;是类yi的特征中心。
进一步地,所述在所述骨架网络之后并行添加一个分数回归预测网络,采用评价数据集和预设损失函数进行训练,包括:
所述分数回归预测网络的激活函数为softmax函数,用于手写汉字分成优秀、良好和较差三类;根据分类结果计算评分分数score;可选地,评价数据集中每组数据包含一个标准字和五个手写汉字;
其中,使用三元组损失函数和绝对值损失函数来约束分数回归预测网络的评分结果:
LossTriplet=max(d(a,p)-d(a,n)+margin,0)
式中,λ是超参数;yi为图片i根据统计规律得出的分数,score(i)为图片i通过神经网络得出的分数;a表示锚点图片,为一组数据中的标准字;p表示正样本图片,为一组数据中排名靠前的手写汉字;n表示负样本图片,为一组数据中排名靠后的手写汉字;margin为超参数,d表示两张图片经过评分网络后得到的分数的差。
进一步地,所述多种二维特征包括手写汉字的饱满度特征、匀称性特征、重心位置特征和紧凑性特征;具体定义如下:
饱满度特征:用手写汉字凸包与其最小边界框的周长比,和凸包中黑色像素点的个数与凸包的面积比来表示,得分反映手写汉字的饱满程度是否与标准字一致;
匀称性特征:用手写汉字不同区域中黑色像素点的分布状况来表示,得分反映手写汉字整体的均匀程度是否与标准字一致;
重心位置特征:得分反映手写汉字的重心位置是否与标准字一致;
紧凑性特征:得分反映手写汉字整体的紧凑程度是否与标准字一致。
进一步地,所述饱满度特征饱满度特征用一个二维向量表示,定义为凸包与最小边界框的周长比f1和凸性f2,具体的计算公式如下:
式中,Pconvex表示该手写汉字凸包的周长;Pbounding_box表示该手写汉字最小边界框的周长;Cconvex表示该手写汉字凸包中黑色像素点的个数;Aconvex表示该手写汉字凸包的面积;
所述匀称性特征用一个八维向量f3-f10来表示,反映像素点的分布,具体的计算公式如下:
式中,f2+i在计算时将手写汉字按约束框等分成四个区域,约束框定义为正好框住整个手写汉字的最小正方形;Si表示区域i中的黑色像素点个数;n表示构成整个汉字的黑色像素点个数;f5+j在计算时将手写汉字的凸包按中心点分成四个区域;Cconvex(j)表示凸包区域j中黑色像素点的个数;Aconvex(j)表示凸包区域j的面积;
所述重心位置特征用一个二维向量f11-f12表示,具体的计算公式如下:
式中,W、H表示该手写汉字图片的宽和高;n表示构成该手写汉字的黑色像素点个数;Ii,j是指示函数,当图片上的点(xi,yj)的像素点为黑色时,值为1,其它则为0
所述紧凑性特征用一个七维向量f13-f19表示,代表构成汉字的所有n个黑色像素点与中心点的归一化平均距离和像素点整体的分布情况;其中像素点的分布情况先用三条水平线和三条垂直线均匀地将所有黑色像素点分成16个区域,然后用这六条线的位置坐标表示;具体的计算公式如下:
式中,W、H表示该手写汉字图片的宽和高;xcenter、ycenter表示中心点的坐标;Ii,j是指示函数,当图片上的点(xi,yj)的像素点为黑色时,值为1,其它则为0;n表示构成该手写汉字的黑色像素点个数;a表示该手写汉字图片的边长;xv(i)表示第i条垂直线的行坐标;yh(j)表示第j条垂直线的列坐标。
进一步地,不同维度上的评分的计算公式如下:
其中,f和fstandard表示手写汉字和其对应的标准字某种角度的特征表示;||f-fstandard||表示二者的差异,用L2范数计算;bound表示该种特征与标准字对比的变化区间。
本发明所采用的另一技术方案是:
一种脱机手写汉字的评分装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
本发明所采用的另一技术方案是:
一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
本发明的有益效果是:本发明通过模型对手写文字图像进行处理,或者根据汉字像素点对手写文字图像进行处理,能够对手写汉字进行整体评分,为书写者提供改进参考。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本发明实施例中一种基于深度学习的手写汉字识别和评分的总体流程图;
图2是本发明实施例中一种基于手写汉字像素点二维分布的脱机手写汉字评分方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
如图1所示,本实施例提供一种基于深度学习的脱机手写汉字识别和评分方法,通过对手写汉字数据集的构造以及设计合理有效的训练方式,使得算法能准确能识别出手写汉字的类型以及给出较符合人主观审美的总体评分。该方法具体包括以下步骤:
S1、收集带有类别信息的脱机手写汉字数据集,从中挑选一部分按人的主观审美进行标注,同时结合汉字标准库数据构造评价数据集。
其中,步骤S1具体包括步骤S11-S13:
S11、手写汉字数据集的收集可以采用开源的CASIA-HWDB1.0-1.2(下文简称为HWDB),该数据集是由中国科学院自动化研究所收集的脱机手写汉字样本,由1020个书写者写成,总共包含7185种汉字,有3721874张图片,是目前用于手写汉字研究中最多也是最权威的数据集之一。训练分类识别网络时按8:2划分训练集和测试集;
S12、预处理数据集:原数据集的分辨率大小不尽相同,不利于训练分类识别和评分网络,故需要先通过填充和缩放等操作将所有图片统一至64*64的分辨率大小,同时又保留其原有的形态;
S13、构造评价数据集:上述数据集HWDB仅仅包含了汉字的类别信息,只能训练分类识别网络,故需要进行人工打分以训练评分网络。为减少人工精细打分带来的误差,本发明在标注评分数据集时,每组数据为HWDB中随机挑选的5张同类图片,按人的主观审美进行排序,一共标注了8586组数据。同时构造出每种汉字的标准字体,可以采用标准楷体或使用多种不同的字体,通过与标准字体的对比来让模型学习到不同字之间的评分差异,以此来训练分数回归预测网络。
S2、使用卷积神经网络作为提取手写汉字特征的骨干网络,利用无监督的对比学习技术进行预训练。
其中,步骤S2具体包括步骤S21-S23:
S21、选择卷积神经网络ResNet18来提取手写汉字的特征,提取之后的特征维度为512;
S22、将所述数据集HWDB进行数据增强,目的是使每张图片都能得到两个不同的视角。具体的数据增强方式包括随机裁剪原图片中的一部分并调整回原来的大小,随机对原图片进行高斯模糊,以0.5的概率随机对原图片进行水平翻转,随机调整原图片的亮度、对比度和色相;
S23、进行预训练:将同一批量的n张图片进行数据增强后得到2n个样本数据,其中同一张图片的两个不同视角作为正样本对,其余均为负样本对;将所述的2n个样本数据输入到所述的骨架网络模型中,再使用特定的MLP网络进行映射,得到它们的向量表示。之后使用InfoNCE损失函数进行训练,表达式如下:
其中,x代表经过数据增强后的图片数据,x+代表x的正样本,x-代表x的负样本;f_q代表骨架网络、一个映射MLP层和一个预测MLP层,f_k代表骨架网络和一个映射MLP层,f_k以一定的比例共享f_q的参数,称为动量编码器;·代表相似度计算方法,此处使用的是余弦相似度;τ是温度超参数,采用0.2。
S3、在所述骨架网络之后添加一个分类识别网络(采用MLP的形式),使用手写汉字数据集进行训练,得到手写汉字较好的特征表示,之后固定住网络参数。
其中,步骤S3具体包括步骤S31-S32:
S31、为使分类识别的结果更鲁棒,需要对输入数据进行随机变换,包括随机加点、线进行干扰、随机高斯模糊、随机二值化和随机透射变换;
S32、对分类识别的结果使用交叉熵损失函数和中心距离损失函数进行约束,具体的损失函数表达式如下:
Loss=LossCrossEntropy+λLossCenter
其中,λ是超参数,用来平衡两个损失函数,采用0.1;W、b是分类预测网络中可以训练的模型参数;xi表示图片数据经过卷积神经网络抽取得到的特征,yi是图片i的类别标签;m表示一批量图片的数量,n表示总类别数;是类yi的特征中心,随训练进行而更新。
S4、在所述骨架网络之后并行添加一个分数回归预测网络(采用MLP的形式),使用评价数据集、设计合理有效的损失函数进行训练,得到手写汉字较符合人主观审美的总体评分。
其中,步骤S4具体包括步骤S41-S44:
S41、分数回归预测网络的激活函数使用softmax,将手写汉字分成优秀、良好和较差三类。最终的给分公式为:
score=p(优秀)*100+p(良好)*50+p(较差)*0
其中,p表示手写汉字所属类别的置信度。
S42、构造回归任务所需要的目标分数:统计HWDB中每个手写汉字与标准字的特征(由上述骨架网络模型提取)L2距离,划分距离区间,每个区间设定一个分数段。比如,距离的前15%得75-90分,中间70%得60-75分,后15%得45-60分。距离越近的手写汉字得分越高,标准字默认满分;
S43、网络的输入为手写汉字与其标准字经由所述骨架网络提取出的特征差,同时拼接上它的类别信息。直接输入二者的差异有利于训练,而拼接上类别信息则能实现差异化评分标准,让网络学习出对每种汉字采用不同的评分标准,结果更鲁棒;
S44、使用评价数据集,通过使用三元组损失函数和绝对值损失函数来约束网络的评分结果,让网络学习到手写汉字与其标准字的差异。
作为可选的所述方式,步骤S44具体如下:将评价数据集每组数据的六个汉字(包含一个标准字和五个手写汉字)记为A12345,构造三元组如下:A13、A14、A15、A24、A25和A35,这样的间隔构造可减少人工标注时产生的误差;使用这些三元组来训练网络的评分能力,具体的损失函数表达式如下:
LossTriplet=max(d(a,p)-d(a,n)+margin,0)
其中,λ是超参数,用来平衡两个损失函数,采用0.5;yi为图片i根据统计规律得出的分数,score(i)为图片i通过神经网络得出的分数;a表示锚点图片,为一组数据中的标准字;p表示正样本图片,为一组数据中排名靠前的手写汉字;n表示负样本图片,为一组数据中排名靠后的手写汉字;margin为超参数,用来调整分差,采用15;d表示两张图片经过评分网络后得到的分数的差。
综上所述,本实施例方法相对于现有技术,具有如下的优点及有益效果:
本实施例方法通过采用卷积神经网络ResNet18作为骨干网络来提取手写汉字的特征,并使用合适的对比学习技术对其进行预训练,然后在训练分类识别网络的同时微调该骨干网络,经实验验证在HWDB的测试集上的分类准确率可达96.24%,以此表明得到了手写汉字较好的特征表示;在此基础上,通过构造评价数据集中的排序数据,并结合三元组损失函数和绝对值损失函数让分数回归预测网络学习到不同手写汉字的差异,使得该算法可以给出更加符合人主观审美的总体评分,具体表现在所设计的损失函数在训练集和测试集上都能有效地下降。
如图2所示,本实施例还提供一种基于手写汉字像素点二维分布的脱机手写汉字评分方法,从不同角度分析手写汉字的二维分布,并与汉字标准库中的数据进行对比,得到手写汉字饱满度、匀称性、重心位置和紧凑性上的评分,为书写者提供改进参考。该方法具体包括以下步骤:
A1、对数据集HWDB中的手写汉字要统一分辨率大小,通过裁剪、填充空白和resize操作将它们都统一成64*64的大小,保留其原始形状,之后进行二值化。具体的实现通过调用python中OpenCV库中的函数实现,用以加快计算过程。
A2、饱满度特征用一个二维向量表示,定义为凸包与最小边界框的周长比f1和凸性f2,具体的计算公式如下:
其中,Pconvex表示该手写汉字凸包的周长;Pbounding_box表示该手写汉字最小边界框的周长,最小边界框为矩形;Cconvex表示该手写汉字凸包中黑色像素点的个数;Aconvex表示该手写汉字凸包的面积。
A3、匀称性特征用一个八维向量f3-f10来表示,反映像素点的分布,具体的计算公式如下:
其中,f2+i在计算时将手写汉字按约束框等分成四个区域,约束框定义为正好框住整个手写汉字的最小正方形;Si表示区域i中的黑色像素点个数;n表示构成整个汉字的黑色像素点个数;f5+j在计算时将手写汉字的凸包按中心点分成四个区域;Cconvex(j)表示凸包区域j中黑色像素点的个数;Aconvex(j)表示凸包区域j的面积。
A4、重心位置特征用一个二维向量f11-f12表示,具体的计算公式如下:
其中,W、H表示该手写汉字图片的宽和高;n表示构成该手写汉字的黑色像素点个数;Ii,j是指示函数,当图片上的点(xi,yj)的像素点为黑色时,值为1,其它则为0。
A5、紧凑性特征用一个七维向量f13-f19表示,代表构成汉字的所有n个黑色像素点与中心点的归一化平均距离和像素点整体的分布情况。其中像素点的分布情况先用三条水平线和三条垂直线均匀地将所有黑色像素点分成16个区域,然后用这六条线的位置坐标表示。具体的计算公式如下:
其中,W、H表示该手写汉字图片的宽和高;xcenter、ycenter表示中心点的坐标;Ii,j是指示函数,当图片上的点(xi,yj)的像素点为黑色时,值为1,其它则为0;n表示构成该手写汉字的黑色像素点个数;a表示该手写汉字图片的边长;xv(i)表示第i条垂直线的行坐标;yh(j)表示第j条垂直线的列坐标。
A6、根据公式从饱满度、匀称性、重心位置和紧凑性四种角度来对手写汉字进行评分,每种角度的特征用一个多维向量来表示,每种角度具体的给分公式如下:
其中,f和fstandard表示手写汉字和其对应的标准字某种角度的特征表示,是一个多维向量;||f-fstandard||表示二者的差异,用L2范数计算;bound表示该种特征与标准字对比的变化区间,通过统计HWDB中的数据得到,同时不同汉字也会有区别。
综上所述,本实施例方法相对于现有技术,具有如下的优点及有益效果:
本实施例方法通过人工设计提取手写汉字饱满度、匀称性、重心位置和紧凑性四种角度上的特征表示,并与对应的标准字进行对比,同时结合大量的数据比较,使得这四种角度上的评分更加科学,能够有效地对有练字需求的人提供一定的改进指导。
本实施例还提供一种脱机手写汉字的评分装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1和/或图2所示方法。
本实施例的一种脱机手写汉字的评分装置,可执行本发明方法实施例所提供的一种脱机手写汉字的评分方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1和/或图2所示的方法。
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种脱机手写汉字的评分方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种脱机手写汉字的评分方法,其特征在于,包括以下步骤:
获取待评分的手写汉字图像;
将手写汉字图像输入训练后的汉字评分模型,提取手写汉字的特征结构,将提取的特征结构与标准库中对应的汉字进行对比分析,获得手写汉字的综合评分;
和/或,
基于汉字像素点的分布规律,分析手写汉字图像中汉字像素点的二维分布,获得多种二维特征,根据获得的多种二维特征与标准库中对应的汉字进行对比分析,获得手写汉字不同维度上的评分。
2.根据权利要求1所述的一种脱机手写汉字的评分方法,其特征在于,所述汉字评分模型通过以下方式训练获得:
收集带有类别信息的脱机手写汉字数据集,根据脱机手写汉字数据集获取评价数据集;使用卷积神经网络作为提取手写汉字特征的骨干网络,采用脱机手写汉字数据集进行预训练;
在预训练后,在所述骨干网络之后添加一个分类识别网络,采用脱机手写汉字数据集进行训练,并在训练后,固定所述骨干网络的参数;
在所述骨架网络之后并行添加一个分数回归预测网络,采用评价数据集和预设损失函数进行训练,获得最终的汉字评分模型。
3.根据权利要求2所述的一种脱机手写汉字的评分方法,其特征在于,所述使用卷积神经网络作为提取手写汉字特征的骨干网络,采用脱机手写汉字数据集进行预训练,包括:
对脱机手写汉字数据集进行数据增强,以使每张图片都能得到两个不同的视角;其中,同一张图片的两个不同视角作为正样本对,其余均为负样本对;
采用增强后的数据集和InfoNCE损失函数对骨干网络进行训练;
其中,InfoNCE损失函数的表达式如下:
式中,x代表经过数据增强后的图片数据,x+代表x的正样本,x-代表x的负样本;f_q代表骨架网络、一个映射MLP层和一个预测MLP层,f_k代表骨架网络和一个映射MLP层;符号·代表相似度计算方法,τ是温度超参数。
4.根据权利要求2所述的一种脱机手写汉字的评分方法,其特征在于,所述在预训练后,在所述骨干网络之后添加一个分类识别网络,采用脱机手写汉字数据集进行训练,并在训练后,固定所述骨干网络的参数,包括:
对脱机手写汉字数据集中的数据进行随机变换处理;
对分类识别的结果使用交叉熵损失函数和中心距离损失函数进行约束:
Loss=LossCrossEntropy+λLossCenter
其中,λ是超参数;W、b是分类预测网络中可以训练的模型参数;xi表示图片数据经过卷积神经网络抽取得到的特征,yi是图片i的类别标签;m表示一批量图片的数量,n表示总类别数;是类yi的特征中心。
5.根据权利要求2所述的一种脱机手写汉字的评分方法,其特征在于,所述在所述骨架网络之后并行添加一个分数回归预测网络,采用评价数据集和预设损失函数进行训练,包括:
所述分数回归预测网络的激活函数为softmax函数,用于手写汉字分成优秀、良好和较差三类;根据分类结果计算评分分数score;
其中,使用三元组损失函数和绝对值损失函数来约束分数回归预测网络的评分结果:
LossTriplet=max(d(a,p)-d(a,n)+margin,0)
式中,λ是超参数;yi为图片i根据统计规律得出的分数,score(i)为图片i通过神经网络得出的分数;a表示锚点图片,为一组数据中的标准字;p表示正样本图片,为一组数据中排名靠前的手写汉字;n表示负样本图片,为一组数据中排名靠后的手写汉字;margin为超参数,d是两张图片经过评分网络后得到的分数的差。
6.根据权利要求1所述的一种脱机手写汉字的评分方法,其特征在于,所述多种二维特征包括手写汉字的饱满度特征、匀称性特征、重心位置特征和紧凑性特征;具体定义如下:饱满度特征:用手写汉字凸包与其最小边界框的周长比,和凸包中黑色像素点的个数与凸包的面积比来表示,得分反映手写汉字的饱满程度是否与标准字一致;
匀称性特征:用手写汉字不同区域中黑色像素点的分布状况来表示,得分反映手写汉字整体的均匀程度是否与标准字一致;
重心位置特征:得分反映手写汉字的重心位置是否与标准字一致;
紧凑性特征:得分反映手写汉字整体的紧凑程度是否与标准字一致。
7.根据权利要求6所述的一种脱机手写汉字的评分方法,其特征在于,所述饱满度特征饱满度特征用一个二维向量表示,定义为凸包与最小边界框的周长比f1和凸性f2,具体的计算公式如下:
式中,Pconvex表示该手写汉字凸包的周长;Pbounding_box表示该手写汉字最小边界框的周长;Cconvex表示该手写汉字凸包中黑色像素点的个数;Aconvex表示该手写汉字凸包的面积;
所述匀称性特征用一个八维向量f3-f10来表示,反映像素点的分布,具体的计算公式如下:
式中,f2+i在计算时将手写汉字按约束框等分成四个区域,约束框定义为正好框住整个手写汉字的最小正方形;Si表示区域i中的黑色像素点个数;n表示构成整个汉字的黑色像素点个数;f5+j在计算时将手写汉字的凸包按中心点分成四个区域;Cconvex(j)表示凸包区域j中黑色像素点的个数;Aconvex(j)表示凸包区域j的面积;
所述重心位置特征用一个二维向量f11-f12表示,具体的计算公式如下:
式中,W、H表示该手写汉字图片的宽和高;n表示构成该手写汉字的黑色像素点个数;Ii,j是指示函数,当图片上的点(xi,yj)的像素点为黑色时,值为1,其它则为0所述紧凑性特征用一个七维向量f13-f19表示,代表构成汉字的所有n个黑色像素点与中心点的归一化平均距离和像素点整体的分布情况;其中像素点的分布情况先用三条水平线和三条垂直线均匀地将所有黑色像素点分成16个区域,然后用这六条线的位置坐标表示;
具体的计算公式如下:
式中,W、H表示该手写汉字图片的宽和高;xcenter、ycenter表示中心点的坐标;Ii,j是指示函数,当图片上的点(xi,yj)的像素点为黑色时,值为1,其它则为0;n表示构成该手写汉字的黑色像素点个数;a表示该手写汉字图片的边长;xv(i)表示第i条垂直线的行坐标;yh(j)表示第j条垂直线的列坐标。
8.根据权利要求7所述的一种脱机手写汉字的评分方法,其特征在于,不同维度上的评分的计算公式如下:
其中,f和fstandard表示手写汉字和其对应的标准字某种角度的特征表示;||f-fstandard||表示二者的差异,用L2范数计算;bound表示该种特征与标准字对比的变化区间。
9.一种脱机手写汉字的评分装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现权利要求1-8任一项所述方法。
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行如权利要求1-8任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310317071.3A CN116612478A (zh) | 2023-03-28 | 2023-03-28 | 一种脱机手写汉字的评分方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310317071.3A CN116612478A (zh) | 2023-03-28 | 2023-03-28 | 一种脱机手写汉字的评分方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116612478A true CN116612478A (zh) | 2023-08-18 |
Family
ID=87675332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310317071.3A Pending CN116612478A (zh) | 2023-03-28 | 2023-03-28 | 一种脱机手写汉字的评分方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116612478A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117541999A (zh) * | 2024-01-10 | 2024-02-09 | 江苏汉丹云教育科技有限公司 | 一种书写教学与评价系统及方法 |
-
2023
- 2023-03-28 CN CN202310317071.3A patent/CN116612478A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117541999A (zh) * | 2024-01-10 | 2024-02-09 | 江苏汉丹云教育科技有限公司 | 一种书写教学与评价系统及方法 |
CN117541999B (zh) * | 2024-01-10 | 2024-03-22 | 江苏汉丹云教育科技有限公司 | 一种书写教学与评价系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111325203B (zh) | 一种基于图像校正的美式车牌识别方法及系统 | |
US20190180154A1 (en) | Text recognition using artificial intelligence | |
US20190266435A1 (en) | Method and device for extracting information in histogram | |
CN107609549A (zh) | 一种自然场景下证件图像的文本检测方法 | |
CN108921163A (zh) | 一种基于深度学习的包装喷码检测方法 | |
CN111291629A (zh) | 图像中文本的识别方法、装置、计算机设备及计算机存储介质 | |
CN111639646A (zh) | 一种基于深度学习的试卷手写英文字符识别方法及系统 | |
CN111414906A (zh) | 纸质票据图片的数据合成与文本识别方法 | |
WO2006091626A2 (en) | Intelligent importation of information from foreign application user interface using artificial intelligence | |
CN110443235B (zh) | 一种智能纸质试卷总分识别方法及系统 | |
CN112307919B (zh) | 一种基于改进YOLOv3的单证图像中数字信息区域识别方法 | |
CN112052852A (zh) | 一种基于深度学习的手写气象档案资料的字符识别方法 | |
CN112052845A (zh) | 图像识别方法、装置、设备及存储介质 | |
CN112446259A (zh) | 图像处理方法、装置、终端和计算机可读存储介质 | |
CN112580507A (zh) | 一种基于图像矩矫正的深度学习文本字符检测方法 | |
CN110991374B (zh) | 一种基于rcnn的指纹奇异点检测方法 | |
CN116612478A (zh) | 一种脱机手写汉字的评分方法、装置及存储介质 | |
Wu et al. | STR transformer: a cross-domain transformer for scene text recognition | |
CN116012860B (zh) | 一种基于图像识别的教师板书设计水平诊断方法及装置 | |
CN115393861B (zh) | 一种手写体文本精准分割方法 | |
CN115984875A (zh) | 一种硬笔楷书临摹作品的笔画相似性评价方法及系统 | |
De Nardin et al. | Few-shot pixel-precise document layout segmentation via dynamic instance generation and local thresholding | |
CN114550176A (zh) | 基于深度学习的试卷批改方法 | |
CN111612045A (zh) | 一种获取目标检测数据集的通用方法 | |
CN117058437B (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 |