CN112001416B - 一种自适应答题纸序列纠正方法 - Google Patents
一种自适应答题纸序列纠正方法 Download PDFInfo
- Publication number
- CN112001416B CN112001416B CN202010692787.8A CN202010692787A CN112001416B CN 112001416 B CN112001416 B CN 112001416B CN 202010692787 A CN202010692787 A CN 202010692787A CN 112001416 B CN112001416 B CN 112001416B
- Authority
- CN
- China
- Prior art keywords
- image
- training
- handwriting
- model
- loss value
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- 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/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/30—Writer recognition; Reading and verifying signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
Abstract
本说明书一个或多个实施例提供一种自适应答题纸序列纠正方法,包括:获取学生答题纸的A面扫描图像、B面扫描图像以及原始图像序列;将所述A面扫描图像及B面扫描图像分别进行分割,获得包含学生字迹的A面图像块和B面图像块;将所述的A面图像块和B面图像块输入预训练好的字迹匹配模型中,获得原始图像序列下相邻的A面扫描图像与B面扫描图像的匹配结果;将所述匹配结果中未匹配成功的A面扫描图像与B面扫描图像输入到预训练好的字迹搜索模型中,为每一个A面扫描图像搜索到与之相匹配的B面扫描图像,从而实现答题纸序列的自动纠正。
Description
技术领域
本发明涉及智能阅卷技术领域,尤其涉及一种自适应答题纸序列纠正方法。
背景技术
目前的智能阅卷系统在收集好学生的答题纸后,通过扫描仪将答题纸进行正反面的扫描并存储下来,交由后续系统进行自动批改。但是扫描仪扫描的过程中,会出现正反面不匹配的现象,具体地,扫描仪扫描完成后得到的答题纸序列中,存在A面B面并非来自同一个学生的情况,可能需要在其前后的扫描结果中才能找到相应匹配的另一面。
这种扫描顺序出错是由于扫描仪在遇到大量的扫描任务时,图片存储的过程和扫描过程产生的时序上的交错,最终导致顺序的错乱。
目前解决该问题的方法大多是通过人工核实并给予纠正,但是当答题纸数量庞大时,就需要消耗大量的人工资源,而且人工在长时间的纠正的过程中,会出现视觉的疲劳,严重降低人工纠正的效率,且无法保证准确性。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种自适应答题纸序列纠正方法,能够实现答题纸的自动匹配,以解决人工匹配效率低下且无法保证准确性的问题。
基于上述目的,本说明书一个或多个实施例提供了一种自适应答题纸序列纠正方法,包括:
获取学生答题纸的A面扫描图像、B面扫描图像以及原始图像序列;
将所述A面扫描图像及B面扫描图像分别进行分割,获得包含学生字迹的A面图像块和B面图像块;
将所述的A面图像块和B面图像块输入预训练好的字迹匹配模型中,获得原始图像序列下相邻的A面扫描图像与B面扫描图像的匹配结果;
将所述匹配结果中未匹配成功的A面扫描图像与B面扫描图像输入到预训练好的字迹搜索模型中,为每一个A面扫描图像搜索到与之相匹配的B面扫描图像。
作为一种可选的实施方式,所述将所述A面扫描图像及B面扫描图像分别进行分割,获得包含学生字迹的A面图像块和B面图像块,包括
将所述A面扫描图像或B面扫描图像输入至预训练好的目标检测模型中,获取字迹敏感区域坐标;
根据所述字迹敏感区域坐标,剪裁得到字迹集中区域;
基于横向像素统计的方法,对所述字迹集中区域按行进行分割,得到包含字迹的行数据图像;
对所述行数据图像进行轮廓检测,得到字迹在所述行数据图像中的起始坐标以及终止坐标;
根据所述行数据图像中的起始坐标以及终止坐标,去除所述行数据图像中头和尾的空白区域;
将去除头和尾的空白区域的行数据图像纵向分割,获得包含学生字迹的A面图像块或B面图像块。
作为一种可选的实施方式,所述目标检测模型为Yolo v3模型;
所述目标检测模型的训练方法为:
将预先标记好字迹敏感区域坐标的答题纸扫描图像输入Yolo v3模型进行迭代运算,直至达到预设的迭代次数;
获得训练好的Yolo v3模型。
作为一种可选的实施方式,所述字迹匹配模型的训练过程为:
获取多组训练数据对,每组所述训练数据对包括两个训练图像块以及标识两个训练图像块是否相似的相似标签;
针对每组训练数据对,将组内的两个训练图像块分别输入特征提取网络模型中,进行卷积运算,获得与两个所述训练图像块对应的训练低维空间特征向量;
计算组内的两个训练低维空间特征向量之间的欧式距离,所述欧式距离表征组内的两个训练图像块之间的相似度距离;
将所述欧式距离以及所述相似标签带入损失函数,计算损失值;
根据全部的损失值计算平均损失值;
判断当前平均损失值与前一次平均损失值的差值是否低于收敛阈值;
若当前平均损失值与前一次平均损失值的差值低于收敛阈值,则由当前平均损失值对应的相似度距离计算相似度阈值,获得训练好的字迹匹配模型;若当前平均损失值与前一次平均损失值的差值高于收敛阈值,则更新特征提取网络模型的参数,返回执行计算训练低维空间特征向量的步骤。
作为一种可选的实施方式,所述更新特征提取网络模型的参数,包括
采用梯度下降法对所述损失函数求偏导,进行反向传导,对所述特征提取网络模型的参数进行调整更新。
作为一种可选的实施方式,所述由当前平均损失值对应的相似度距离计算相似度阈值,包括
由当前平均损失值对应的相似度距离计算平均相似度距离;
所述相似度阈值等于所述平均相似度距离。
作为一种可选的实施方式,所述将所述的A面图像块和B面图像块输入预训练好的字迹匹配模型中,获得原始图像序列下相邻的A面扫描图像与B面扫描图像的匹配结果,包括
将原始图像序列下,相邻的A面扫描图像与B面扫描图像分别对应的A面图像块和B面图像块结成测试数据对;
针对每组测试数据对,将组内的A面图像块和B面图像块分别输入特征提取网络模型中,获得与A面图像块和B面图像分别对应的A面低维空间特征向量及B面低维空间特征向量;
计算组内的A面低维空间特征向量及B面低维空间特征向量的欧式距离,所述欧式距离表征组内A面图像块和B面图像块之间的组内相似度距离;
判断所述相似度距离是否超过相似度阈值;
若所述平均相似度距离没有超过相似度阈值,则该组测试数据对内的A面图像块与B面图像块匹配,反之,则不匹配;
采用投票机制,根据相邻的A面扫描图像与B面扫描图像分别对应的A面图像块和B面图像块所形成的测试数据对的全部匹配结果,获得原始图像序列下相邻的A面扫描图像与B面扫描图像的匹配结果。
作为一种可选的实施方式,所述字迹搜索模型的训练过程为
获取包含来自于不同学生的训练图像块的数据库;
从所述数据库中选择多个训练图像块,生成训练集;
针对所述训练集内的每个训练图像块,将其输入第一层卷积网络,计算得到浅层编码特征向量;
将所述浅层编码特征向量输入特征提取网络中,获得包含笔迹风格的深层特征向量;
通过全连接层将所述深层特征向量转换为K维连续编码;
将训练集内的训练图像块两两配对形成训练数据对,并根据所述训练数据对内的两个训练图像块是否相似定义相似标签;
针对每个训练数据对,计算所述训练数据对内两个训练图像块分别对应的两个K维连续编码之间的欧式距离,所述欧式距离表征两个训练图像块之间的相似度距离;
将所述欧式距离以及所述相似标签带入损失函数,计算损失值;
根据全部的损失值计算平均损失值;
判断当前平均损失值与前一次平均损失值的差值是否低于收敛阈值;
若当前平均损失值与前一次平均损失值的差值低于收敛阈值,获得训练好的字迹搜索模型;若当前平均损失值与前一次平均损失值的差值高于收敛阈值,则分别更新第一层卷积网络、特征提取网络以及全连接层的参数,返回执行生成训练集的步骤。
作为一种可选的实施方式,所述训练集中至少两个训练图像块来自同一个学生,且至少两个训练图像块来自于不同的学生。
作为一种可选的实施方式,所述将所述匹配结果中未匹配成功的A面扫描图像与B面扫描图像输入到预训练好的字迹搜索模型中,为每一个A面扫描图像搜索到与之相匹配的B面扫描图像,包括
针对每个未匹配成功的A面扫描图像或B面扫描图像,将其对应的每个A面图像块或B面图像块分别输入第一层卷积网络,计算得到浅层编码特征向量;
将所述浅层编码特征向量输入特征提取网络中,获得包含笔迹风格的深层特征向量;
通过全连接层将所述深层特征向量转换为K维连续编码;
对所述K维连续编码使用sign函数进行离散化,得到统一长度的二进制哈希编码;
针对每个A面图像块对应的二进制哈希编码,分别计算其与每个B面图像块对应的二进制哈希编码的汉明距离,将该A面图像块与汉明距离最小时所对应的B面图像块进行配对;
采用投票机制,根据A面扫描图像中全部的A面图像块的配对结果,获得与所述A面扫描图像匹配的B面扫描图像。
从上面所述可以看出,本说明书一个或多个实施例提供的一种自适应答题纸序列纠正方法,将答题纸扫描图像分割成包含字迹的最小单元,通过预先训练好的字迹匹配模型对原始图像序列下,相邻的A面扫描图像与B面扫描图像的匹配结果,针对其中未匹配成功的A面扫描图像与B面扫描图像,分别将其输入至预训练好的字迹搜索模型中,为每一个A面扫描图像搜索到与之相匹配的B面扫描图像,从而实现答题纸序列的自动纠正。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的逻辑示意图;
图2为本说明书一个或多个实施例的S200的详细的逻辑示意图;
图3为本说明书一个或多个实施例的字迹匹配模型训练过程的逻辑示意图;
图4为本说明书一个或多个实施例的S300的详细的逻辑示意图;
图5为本说明书一个或多个实施例的字迹搜索模型训练过程的逻辑示意图;
图6为本说明书一个或多个实施例的S400的详细的逻辑示意图;
图7为标注好字迹集中区域的训练用答题纸扫描图像;
图8为yolo v3模型检测到答题纸扫描图像的字迹集中区域的示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本公开进一步详细说明。
为了实现上述发明目的,本发明实施例提供了一种自适应答题纸序列纠正方法,包括:
获取学生答题纸的A面扫描图像、B面扫描图像以及原始图像序列;
将所述A面扫描图像及B面扫描图像分别进行分割,获得包含学生字迹的A面图像块和B面图像块;
将所述的A面图像块和B面图像块输入预训练好的字迹匹配模型中,获得原始图像序列下相邻的A面扫描图像与B面扫描图像的匹配结果;
将所述匹配结果中未匹配成功的A面扫描图像与B面扫描图像输入到预训练好的字迹搜索模型中,为每一个A面扫描图像搜索到与之相匹配的B面扫描图像。
本发明实施例中,将答题纸扫描图像分割成包含字迹的最小单元,通过预先训练好的字迹匹配模型对原始图像序列下,相邻的A面扫描图像与B面扫描图像的匹配结果,针对其中未匹配成功的A面扫描图像与B面扫描图像,分别将其输入至预训练好的字迹搜索模型中,为每一个A面扫描图像搜索到与之相匹配的B面扫描图像,从而实现答题纸序列的自动纠正。
请参考图1,本发明实施例提供了一种自适应答题纸序列纠正方法,包括:
S100、获取学生答题纸的A面扫描图像、B面扫描图像以及原始图像序列。
S200、将所述A面扫描图像及B面扫描图像分别进行分割,获得包含学生字迹的A面图像块和B面图像块。
可选的,如图2所示,所述S200包括
S201、将所述A面扫描图像或B面扫描图像输入至预训练好的目标检测模型中,获取字迹敏感区域坐标;
S202、根据所述字迹敏感区域坐标,剪裁得到字迹集中区域;
S203、基于横向像素统计的方法,对所述字迹集中区域按行进行分割,得到包含字迹的行数据图像;
S204、对所述行数据图像进行轮廓检测,得到字迹在所述行数据图像中的起始坐标以及终止坐标;
S205、根据所述行数据图像中的起始坐标以及终止坐标,去除所述行数据图像中头和尾的空白区域;
S206、将去除头和尾的空白区域的行数据图像纵向分割,获得包含学生字迹的A面图像块或B面图像块。
一种可选的本实施例中,所述目标检测模型为Yolo v3模型。
该实施例中,所述目标检测模型的训练方法为:
S2011、将预先标记好字迹敏感区域坐标的答题纸扫描图像输入Yolo v3模型进行迭代运算,直至达到预设的迭代次数;
S2012、获得训练好的Yolo v3模型。
在对Yolo v3模型进行训练之前,对答题纸数据集使用labelimg工具进行标注,对于每一张答题纸只标注其中字迹较为集中的区域,其余字迹稀疏的地方则不进行标注,如图7所示。在本实施例中,一共标注了800份答题纸数据,使用yolo v3模型在此数据集进行模型的训练,其中Yolo v3模型使用darknet预训练模型进行训练,网络输入大小设置为417*416*3,训练迭代次数设为5000,其余参数采用默认值。模型训练结束后通过所训练的yolo v3模型对输入的答题纸进行检测,可以检测得到其中的字迹集中区域的位置信息,检测结果如图8所示。以图示为例,yolo v3模型一共检测出5个字迹集中区域,并可以得到与其相应的位置坐标。
S300、将所述的A面图像块和B面图像块输入预训练好的字迹匹配模型中,获得原始图像序列下相邻的A面扫描图像与B面扫描图像的匹配结果。
一种可选的实施例中,如图3所示,所述字迹匹配模型的训练过程为:
S301、获取多组训练数据对,每组所述训练数据对包括两个训练图像块以及标识两个训练图像块是否相似的相似标签;
训练数据对中的训练图像块均来自于A面答题纸所提取出来的图像块。并且根据模型输入,构成相对应的训练数据对的形式(x1,x2,s),其中s代表这组训练数据对的标签:是否相似。
S302、针对每组训练数据对,将组内的两个训练图像块分别输入特征提取网络模型中,进行卷积运算,获得与两个所述训练图像块对应的训练低维空间特征向量;
特征提取网络模型基于Siamese网络,采用的Densenet网络结构,在基于cifar-10上提出的Dense-40网络结构进行重新设计:针对每一个残差块,残差块中每一层的输出都会作为后面所有层的输入,其中每一层中卷积核大小设为1*1,在每一个残差块后加上一个平均池化层构成一个完整的残差块块。整个残差块块可以将输入的维度降低,基于图像块的大小,一共设计了4个残差块结构来进一步降低特征维度和提取细微的风格特征,在模型的最后通过一个平均池化实现训练低维空间特征向量的解码。其中网络深度为65层,每个残差块的k=12。
S303、计算组内的两个训练低维空间特征向量之间的欧式距离,所述欧式距离表征组内的两个训练图像块之间的相似度距离;
S304、将所述欧式距离以及所述相似标签带入损失函数,计算损失值;
S305、根据全部的损失值计算平均损失值;
S306、判断当前平均损失值与前一次平均损失值的差值是否低于收敛阈值;
S307、若当前平均损失值与前一次平均损失值的差值低于收敛阈值,则由当前平均损失值对应的相似度距离计算相似度阈值,获得训练好的字迹匹配模型;若当前平均损失值与前一次平均损失值的差值高于收敛阈值,则更新特征提取网络模型的参数,返回执行计算训练低维空间特征向量的步骤。
可选的,所述更新特征提取网络模型的参数,包括
采用梯度下降法对所述损失函数求偏导,进行反向传导,对所述特征提取网络模型的参数进行调整更新。
可选的,所述由当前平均损失值对应的相似度距离计算相似度阈值,包括由当前平均损失值对应的相似度距离计算平均相似度距离;
所述相似度阈值等于所述平均相似度距离。
一种可选的实施例中,对比损失函数如下所示,其目的是使不相似图片之间的欧氏距离最大,使相似图片之间的欧氏距离最小:
其中x1,x2表示输入的两个图像,s表示对象对的相似标签。E为两张图片低维空间下特征向量的欧式距离,w则是网络中的参数,其中,欧式距离E表示为:
E(x1,x2)=||GW(x1)-GW(x2)||
G()表示的是特征提取网络,w为其中的训练参数,则G(x)则是图像x经过特征提取网络所得到的低维空间特征向量。整体Loss函数基于最大化不相似图片之间的距离,最小化相似图片之间的距离,当数据标签s=0时,loss函数的偏导应该成正相关,反之应该呈负相关,具体的Siamese网络的损失函数实现为:
其中,m表示一次训练迭代的图像对的数量,L()表示模型损失函数。
Siamese网络模型根据损失函数可以将相似图片之间的欧氏距离规约到一个范围内,而不相似图片之间的距离会分布在这一阈值e之外,即表示为:
EW(x1,x2,0)<e,EW(x1,x2,1)≥e,e=2
本实施例中,根据上述的损失函数对模型进行训练,进行迭代优化。具体的,在训练过程中,batchsize取值为32,即每次从数据集中选取32对数据对,根据模型的向前传导,首先进行特征向量的提取得到两个图像块对应的低维空间特征向量,计算两个低维空间特征向量之间的欧氏距离,根据欧氏距离以及数据对标签,带入损失函数可以计算出当前数据对所对应的损失值,由32对数据对的损失值同时计算平均损失值,作为本次迭代的整体损失值。随后使用动量梯度下降法,对损失函数求偏导,对模型进行反向传导,更新特征提取网络中的训练参数,完成一次迭代。之后再读取下一个batch数据进行迭代,直到损失值不再下降,模型达到收敛。
一种可选的实施例中,在获得训练好的字迹匹配模型后,如图4所示,S300包括
包括
S310、将原始图像序列下,相邻的A面扫描图像与B面扫描图像分别对应的A面图像块和B面图像块结成测试数据对;
S320、针对每组测试数据对,将组内的A面图像块和B面图像块分别输入特征提取网络模型中,获得与A面图像块和B面图像分别对应的A面低维空间特征向量及B面低维空间特征向量;
S330、计算组内的A面低维空间特征向量及B面低维空间特征向量的欧式距离,所述欧式距离表征组内A面图像块和B面图像块之间的组内相似度距离;
S340、判断所述相似度距离是否超过相似度阈值;
S350、若所述平均相似度距离没有超过相似度阈值,则该组测试数据对内的A面图像块与B面图像块匹配,反之,则不匹配;
S360、采用投票机制,根据相邻的A面扫描图像与B面扫描图像分别对应的A面图像块和B面图像块所形成的测试数据对的全部匹配结果,获得原始图像序列下相邻的A面扫描图像与B面扫描图像的匹配结果。
S400、将所述匹配结果中未匹配成功的A面扫描图像与B面扫描图像输入到预训练好的字迹搜索模型中,为每一个A面扫描图像搜索到与之相匹配的B面扫描图像。
可选的,如图5所示,所述字迹搜索模型的训练过程为
S4001、获取包含来自于不同学生的训练图像块的数据库;
可选的,字迹搜索模型训练所用到的图像块均来自答题纸A面图像数据,以不同学生作为划分类别的标准,来自同一学生答题纸上的图像块同属于同一个类别,即每一个图像块都有一个数据标签用以表示其所属类别(所属学生)。
S4002、从所述数据库中选择多个训练图像块,生成训练集;
可选的,所述训练集中至少两个训练图像块来自同一个学生,且至少两个训练图像块来自于不同的学生。如此,通过保证训练集中既有来自于同一个学生的多个训练图像块,又有来自于不同学生的多个训练图像块,在后续定义相似标签时,既能够出现相似的相似标签,也能够出现不相似的相似标签。
S4003、针对所述训练集内的每个训练图像块,将其输入第一层卷积网络,计算得到浅层编码特征向量;
S4004、将所述浅层编码特征向量输入特征提取网络中,获得包含笔迹风格的深层特征向量;
每一个残差块的内部结构如图所示,残差块中每一层的输出都会作为后面所有层的输入,其中每一层中卷积核大小设为1*1,在每一个残差块后加上一个平均池化层构成一个完整的残差块块。整个残差块块可以将输入的维度降低,基于图像块的大小,一共设计了4个残差块结构来进一步降低特征维度和提取细微的风格特征,其中网络深度为101层,每个残差块的k=12。
S4005、通过全连接层将所述深层特征向量转换为K维连续编码;
在特征提取最后的BN-RULE-POOL层后接上一个全连接层fch,用于K维连续编码的生成。全连接层使用tanh函数作为激活函数,将全连接的结果映射在(-1,1)之间。sign函数完成fch层结果到哈希码[-1,1]二值的转化。
常使用的哈希编码维度有32、64和128,本实施例所提出的哈希模型最后的哈希编码维度为64。
S4006、将训练集内的训练图像块两两配对形成训练数据对,并根据所述训练数据对内的两个训练图像块是否相似定义相似标签;
在训练时,需要将batch内的数据相互构成若干个训练数据对(x1,x2,s),其中s为相似标签。在构成数据对时,根据x1,x2对应的标签来判断数据对是否相似,即判断对应的标签是否属于同一个类别,同一类别则是相似。
S4007、针对每个训练数据对,计算所述训练数据对内两个训练图像块分别对应的两个K维连续编码之间的欧式距离,所述欧式距离表征两个训练图像块之间的相似度距离;
S4008、将所述欧式距离以及所述相似标签带入损失函数,计算损失值;
S4009、根据全部的损失值计算平均损失值;
S4010、判断当前平均损失值与前一次平均损失值的差值是否低于收敛阈值;
S4011、若当前平均损失值与前一次平均损失值的差值低于收敛阈值,获得训练好的字迹搜索模型;若当前平均损失值与前一次平均损失值的差值高于收敛阈值,则分别更新第一层卷积网络、特征提取网络以及全连接层的参数,返回执行生成训练集的步骤。
基于深度哈希模型的损失函数根据最大后验概率估计公式可以表示为:
其中S是两个数据是否相似的表示,H是数据的哈希编码表示。模型需要生成高质量的哈希编码,即使得相似数据的哈希编码之间的汉明距离很小,反之不相似的汉明距离尽可能大。根据公式可以得到其概率的正比关系,而P(S|H)和P(H)可以表示为:
其中,sij表示图像i和图像j的相似标签,hi和hj分别表示图像i和图像j所对应的哈希编码,N表示一次batch数据中所构成的数据对数量,wij表示平衡一组数据中正负数据对数量的权重。
为了方便损失函数的计算,对公式两边取对数:
在计算时,采用欧式距离去衡量两个K维连续编码的相似程度,d(hi,hj)表示两个哈希编码的欧式距离。当两个数据相似即s=0时,损失函数的偏导应该与欧氏距离呈正相关,不相似即s=1时,呈负相关:
根据贝叶斯学习框架,为任意一个明确的概率函数用于定义哈希模型,在本实施例中,函数采用的柯西分布概率函数。由于通过神经网络输出直接转化为二值离散编码是很困难的,所以采用了深度哈希中常用的连续放缩策略,先通过网络生成高质量K维连续编码,再通过sign函数进行二值化操作,得到最终的哈希编码。所以需要进一步控制K维连续编码的效果,即控制K维连续码与最终哈希编码的距离,使得K维连续编码尽可能地接近1和-1。这里则采用增加正则项的方式:用P(h)来计算K维连续码与全1编码之间的距离来控制编码效果:
p(hi)=φ(d(hi,1))
所以,最终的损失函数可以表示为:
其中λ表示的为正则项系数,系数可根据具体实验进行选取。
一种可选的实施例中,在字迹搜索模型的训练过程中,从数据集中读取第一个batch=32数据,经过第一层卷积网络得到浅层编码,然后经过特征提取网络,提取得到包含深层笔迹风格的深层特征向量,随后经过全连接层的计算,将特征向量转换成K维连续编码。可选的,在本实施例中,K=64。即得到32个图像块所对应的32个64维连续编码。随后,在batch内相互构成训练数据对,得到相似标签,计算所述训练数据对内两个训练图像块分别对应的两个K维连续编码之间的欧式距离d(hi,hj),再将相似标签带入到损失函数公式中计算损失值。最后取所有数据对的损失值的平均值计算平均损失值,平均损失值作为本次batch迭代的最终损失。随后使用动量下降法,向上传导,对第一层卷积部分和特征提取网络部分以及全连接层部分的训练参数进行更新,完成一次完整地迭代优化。随后再取下一个batch,进行相同的操作,以次往复,对模型进行训练,直到损失函数不再下降,模型达到收敛。这里每次数据集数据全部读取一次之后,会将训练集顺序打乱,这样再取读取batch数据时,在构成数据对的时候可以保证不重复。
一种可选的实施例中,在获得训练好的字迹搜索模型后,如图6所示,S400包括
S410、针对每个未匹配成功的A面扫描图像或B面扫描图像,将其对应的每个A面图像块或B面图像块分别输入第一层卷积网络,计算得到浅层编码特征向量;
S420、将所述浅层编码特征向量输入特征提取网络中,获得包含笔迹风格的深层特征向量;
S430、通过全连接层将所述深层特征向量转换为K维连续编码;
S440、对所述K维连续编码使用sign函数进行离散化,得到统一长度的二进制哈希编码;
S450、针对每个A面图像块对应的二进制哈希编码,分别计算其与每个B面图像块对应的二进制哈希编码的汉明距离,将该A面图像块与汉明距离最小时所对应的B面图像块进行配对;
S460、采用投票机制,根据A面扫描图像中全部的A面图像块的配对结果,获得与所述A面扫描图像匹配的B面扫描图像。
实施例
通过扫描得到学生答题纸序列(A1,A2,A3,A4,.....A32)、(B1,B2,B3,B4,,,,,,B32),本实施例中每次处理的序列数量为32,其中A表示答题纸A面数据,B表示答题纸B面数据,并且原始序列中存在AB面不匹配的情况。
将原答题纸序列的第一对AB面图像A1、B1分别输入到基于yolov3模型中,得到每一张图像中包含字迹内容的若干图像块(x1,y1,z1,.......)和(x2,y2,z2,...)。将对应的图像块相互组成数据对(x1,x2)(y1,y2).......,对于每一对数据对(x1,x2),将其输入到基于Siamese的字迹匹配模型中的特征提取网络Gw()中,提取得到对应的低维特征向量Gw(x1)和Gw(x2),随后按下面公式计算两个低维特征向量之间的欧氏距离E。
E(x1,x2)=||GW(x1)-GW(x2)||
根据字迹匹配模型拟合得到的相似度阈值e,在本实施列中,e=2,将所得到的欧氏距离E(x1,x2)与相似度阈值2进行判别,如果欧氏距离E(x1,x2)小于2,则说明输入的图像对(x1,x2)相似,反之则说明不相似。以次方法,对所得到的数据对(x1,x2)(y1,y2).......全部进行相似性的匹配。
本实施例中,每一张答题纸数据分别提取32个图像块,即A、B面扫描图像会产生32个需要进行相似匹配的数据对,根据字迹匹配模型的输出结果,将得到这32组数据对的匹配结果。在本实施例中,采取投票机制,这32组数据对若超过60%的数据对结果为相似,则整体的A、B面扫描图像判定为相似,反之,则不相似。A、B面扫描图像匹配成功,则直接将其对应的原始序列作为最终结果输出。而没有匹配成功的A、B面扫描图像,则将刚刚所提取出来的A面中的图像块(x1,y1,z1,.......)放入query集中,B面中的图像块(x2,y2,z2,...)放入database集中准备后续的搜索操作。
将query集和database集中的数据,分别输入到训练好的字迹搜索模型中。首先进过第一层卷积,得到图像x所对应的浅层编码特征向量,随后再将浅层编码特征向量输入到特征提取网络,得到包含笔迹风格的深层特征向量G(),然后经过全连接层的计算,可以生成K维连续编码h,具体的,在本实施例中,连续编码长度K=64。得到64维的连续编码后,通过sign函数以0为阈值,对K维连续编码h作离散化处理,得到仅包含(-1,1)的二值哈希编码。
将query集和database集中所有的图像块进行哈希编码生产,每一个图像块产生对应的二值哈希码。在编码完成后,对于query集中的图像块x1,计算其与database中所有图像块x2,y2,z2,.....之间的汉明距离,找到与之汉明距离最小的那一个database中的图像块。按此方法,query中每一个图像块都能搜索到相应汉明距离最小的那个database中的图像块。可选的,在计算汉明距离中,采用向量的运算方式,可以直接计算query和database之间搜索图像块之间的汉明距离。
根据上述过程,query集中每一个图像块都能够得到一个对应的搜索结果。按query集合构成的过程中,在本实施例中,每一个A面数据都包含了32个query集中的A面图像块,这32个图像块数据搜索得到32个database的B面图像块,针对任意一个B面图像块,根据其对应的标签,可知其来自于哪一个B面,采用投票的方式,根据搜索结果中,哪一个标签出现的次数最多,则这个标签所对应的B面扫描图像则是A面扫描图像所对应的结果,通过上述方式,能够将之前未匹配成功的A面扫描图像搜索到相应的B面扫描图像,进而得到纠正过后的答题纸序列。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种自适应答题纸序列纠正方法,其特征在于,包括:
获取学生答题纸的A面扫描图像、B面扫描图像以及原始图像序列;
将所述A面扫描图像及B面扫描图像分别进行分割,获得包含学生字迹的A面图像块和B面图像块;
将所述的A面图像块和B面图像块输入预训练好的字迹匹配模型中,获得原始图像序列下相邻的A面扫描图像与B面扫描图像的匹配结果;
针对每个未匹配成功的A面扫描图像或B面扫描图像,将其对应的每个A面图像块或B面图像块分别输入到预训练好的字迹搜索模型中,为每一个A面扫描图像搜索到与之相匹配的B面扫描图像。
2.根据权利要求1所述的自适应答题纸序列纠正方法,其特征在于,所述将所述A面扫描图像及B面扫描图像分别进行分割,获得包含学生字迹的A面图像块和B面图像块,包括
将所述A面扫描图像或B面扫描图像输入至预训练好的目标检测模型中,获取字迹敏感区域坐标;
根据所述字迹敏感区域坐标,剪裁得到字迹集中区域;
基于横向像素统计的方法,对所述字迹集中区域按行进行分割,得到包含字迹的行数据图像;
对所述行数据图像进行轮廓检测,得到字迹在所述行数据图像中的起始坐标以及终止坐标;
根据所述行数据图像中的起始坐标以及终止坐标,去除所述行数据图像中头和尾的空白区域;
将去除头和尾的空白区域的行数据图像纵向分割,获得包含学生字迹的A面图像块或B面图像块。
3.根据权利要求2所述的自适应答题纸序列纠正方法,其特征在于,所述目标检测模型为Yolo v3模型;
所述目标检测模型的训练方法为:
将预先标记好字迹敏感区域坐标的答题纸扫描图像输入Yolo v3模型进行迭代运算,直至达到预设的迭代次数;
获得训练好的Yolo v3模型。
4.根据权利要求1所述的自适应答题纸序列纠正方法,其特征在于,所述字迹匹配模型的训练过程为:
获取多组训练数据对,每组所述训练数据对包括两个训练图像块以及标识两个训练图像块是否相似的相似标签;
针对每组训练数据对,将组内的两个训练图像块分别输入特征提取网络模型中,进行卷积运算,获得与两个所述训练图像块对应的训练低维空间特征向量;
计算组内的两个训练低维空间特征向量之间的欧式距离,所述欧式距离表征组内的两个训练图像块之间的相似度距离;
将所述欧式距离以及所述相似标签带入损失函数,计算损失值;
根据全部的损失值计算平均损失值;
判断当前平均损失值与前一次平均损失值的差值是否低于收敛阈值;
若当前平均损失值与前一次平均损失值的差值低于收敛阈值,则由当前平均损失值对应的相似度距离计算相似度阈值,获得训练好的字迹匹配模型;若当前平均损失值与前一次平均损失值的差值高于收敛阈值,则更新特征提取网络模型的参数,返回执行计算训练低维空间特征向量的步骤。
5.根据权利要求4所述的自适应答题纸序列纠正方法,其特征在于,所述更新特征提取网络模型的参数,包括
采用梯度下降法对所述损失函数求偏导,进行反向传导,对所述特征提取网络模型的参数进行调整更新。
6.根据权利要求4所述的自适应答题纸序列纠正方法,其特征在于,所述由当前平均损失值对应的相似度距离计算相似度阈值,包括
由当前平均损失值对应的相似度距离计算平均相似度距离;
所述相似度阈值等于所述平均相似度距离。
7.根据权利要求6所述的自适应答题纸序列纠正方法,其特征在于,所述将所述的A面图像块和B面图像块输入预训练好的字迹匹配模型中,获得原始图像序列下相邻的A面扫描图像与B面扫描图像的匹配结果,包括
将原始图像序列下,相邻的A面扫描图像与B面扫描图像分别对应的A面图像块和B面图像块结成测试数据对;
针对每组测试数据对,将组内的A面图像块和B面图像块分别输入特征提取网络模型中,获得与A面图像块和B面图像分别对应的A面低维空间特征向量及B面低维空间特征向量;
计算组内的A面低维空间特征向量及B面低维空间特征向量的欧式距离,所述欧式距离表征组内A面图像块和B面图像块之间的组内相似度距离;
判断所述相似度距离是否超过相似度阈值;
若所述平均相似度距离没有超过相似度阈值,则该组测试数据对内的A面图像块与B面图像块匹配,反之,则不匹配;
采用投票机制,根据相邻的A面扫描图像与B面扫描图像分别对应的A面图像块和B面图像块所形成的测试数据对的全部匹配结果,获得原始图像序列下相邻的A面扫描图像与B面扫描图像的匹配结果。
8.根据权利要求1所述的自适应答题纸序列纠正方法,其特征在于,所述字迹搜索模型的训练过程为
获取包含来自于不同学生的训练图像块的数据库;
从所述数据库中选择多个训练图像块,生成训练集;
针对所述训练集内的每个训练图像块,将其输入第一层卷积网络,计算得到浅层编码特征向量;
将所述浅层编码特征向量输入特征提取网络中,获得包含笔迹风格的深层特征向量;
通过全连接层将所述深层特征向量转换为K维连续编码;
将训练集内的训练图像块两两配对形成训练数据对,并根据所述训练数据对内的两个训练图像块是否相似定义相似标签;
针对每个训练数据对,计算所述训练数据对内两个训练图像块分别对应的两个K维连续编码之间的欧式距离,所述欧式距离表征两个训练图像块之间的相似度距离;
将所述欧式距离以及所述相似标签带入损失函数,计算损失值;
根据全部的损失值计算平均损失值;
判断当前平均损失值与前一次平均损失值的差值是否低于收敛阈值;
若当前平均损失值与前一次平均损失值的差值低于收敛阈值,获得训练好的字迹搜索模型;若当前平均损失值与前一次平均损失值的差值高于收敛阈值,则分别更新第一层卷积网络、特征提取网络以及全连接层的参数,返回执行生成训练集的步骤。
9.根据权利要求8所述的自适应答题纸序列纠正方法,其特征在于,所述训练集中至少两个训练图像块来自同一个学生,且至少两个训练图像块来自于不同的学生。
10.根据权利要求1所述的自适应答题纸序列纠正方法,其特征在于,所述将所述匹配结果中未匹配成功的A面扫描图像与B面扫描图像输入到预训练好的字迹搜索模型中,为每一个A面扫描图像搜索到与之相匹配的B面扫描图像,包括
针对每个未匹配成功的A面扫描图像或B面扫描图像,将其对应的每个A面图像块或B面图像块分别输入第一层卷积网络,计算得到浅层编码特征向量;
将所述浅层编码特征向量输入特征提取网络中,获得包含笔迹风格的深层特征向量;
通过全连接层将所述深层特征向量转换为K维连续编码;
对所述K维连续编码使用sign函数进行离散化,得到统一长度的二进制哈希编码;
针对每个A面图像块对应的二进制哈希编码,分别计算其与每个B面图像块对应的二进制哈希编码的汉明距离,将该A面图像块与汉明距离最小时所对应的B面图像块进行配对;
采用投票机制,根据A面扫描图像中全部的A面图像块的配对结果,获得与所述A面扫描图像匹配的B面扫描图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010692787.8A CN112001416B (zh) | 2020-07-17 | 2020-07-17 | 一种自适应答题纸序列纠正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010692787.8A CN112001416B (zh) | 2020-07-17 | 2020-07-17 | 一种自适应答题纸序列纠正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112001416A CN112001416A (zh) | 2020-11-27 |
CN112001416B true CN112001416B (zh) | 2021-09-07 |
Family
ID=73467557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010692787.8A Active CN112001416B (zh) | 2020-07-17 | 2020-07-17 | 一种自适应答题纸序列纠正方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112001416B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095421B (zh) | 2021-04-20 | 2024-03-05 | 北京百度网讯科技有限公司 | 生成字体数据库的方法、神经网络模型的训练方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003107979A (ja) * | 2001-09-29 | 2003-04-11 | Kokuyo Co Ltd | 学習支援システム及び方法 |
US20070183688A1 (en) * | 2006-02-03 | 2007-08-09 | Gary Hollfelder | Data management system and method |
GB2473228A (en) * | 2009-09-03 | 2011-03-09 | Drs Data Services Ltd | Segmenting Document Images |
US8553280B2 (en) * | 2009-10-29 | 2013-10-08 | Xerox Corporation | Image on paper registration using image marks |
JP5489118B2 (ja) * | 2010-01-28 | 2014-05-14 | 健治 吉田 | 入出力装置、情報入出力システム |
CN106651876A (zh) * | 2016-12-13 | 2017-05-10 | 深圳市海云天科技股份有限公司 | 一种答题卡图像处理方法及系统 |
JP7147185B2 (ja) * | 2018-03-05 | 2022-10-05 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
CN209000245U (zh) * | 2018-08-01 | 2019-06-18 | 王琪 | 一种法语教学用答题卡判题装置 |
CN110766015A (zh) * | 2019-10-11 | 2020-02-07 | 深圳市鹰硕技术有限公司 | 一种答题卡识别方法、装置和服务器、系统及存储介质 |
-
2020
- 2020-07-17 CN CN202010692787.8A patent/CN112001416B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112001416A (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108985317B (zh) | 一种基于可分离卷积和注意力机制的图像分类方法 | |
CN109977861B (zh) | 离线手写体数学公式识别方法 | |
CN112651289B (zh) | 一种增值税普通发票智能识别与校验系统及其方法 | |
CN112818951B (zh) | 一种票证识别的方法 | |
CN108334805B (zh) | 检测文档阅读顺序的方法和装置 | |
US11132407B2 (en) | System for the automatic separation of documents in a batch of documents | |
CN110175248B (zh) | 一种基于深度学习和哈希编码的人脸图像检索方法和装置 | |
CN111738169A (zh) | 一种基于端对端网络模型的手写公式识别方法 | |
CN110598022B (zh) | 一种基于鲁棒深度哈希网络的图像检索系统与方法 | |
CN106709474A (zh) | 一种手写电话号码识别、校验及信息发送系统 | |
CN115116074A (zh) | 一种手写体文字识别、及模型训练方法和装置 | |
CN112001416B (zh) | 一种自适应答题纸序列纠正方法 | |
CN114756763A (zh) | 社交网络虚假新闻检测方法及装置 | |
CN113657377B (zh) | 一种机打票据图像结构化识别方法 | |
CN113903043A (zh) | 一种基于孪生度量模型的印刷汉字字体识别方法 | |
CN111242114B (zh) | 文字识别方法及装置 | |
Xu et al. | Application of Neural Network in Handwriting Recognition | |
CN109919950A (zh) | 一种基于遗传神经网络的无人艇水面目标图像识别方法 | |
CN115424275A (zh) | 一种基于深度学习技术的渔船船牌号识别方法及系统 | |
CN115601843A (zh) | 基于双流网络的多模态签名笔迹鉴别系统及方法 | |
CN103793720A (zh) | 一种眼睛定位方法和系统 | |
CN114155554A (zh) | 一种基于Transformer的相机域适应行人重识别方法 | |
CN113947678A (zh) | 一种适用于文本图像的图像对齐方法 | |
CN103150574B (zh) | 基于最邻近标签传播算法的图像型垃圾邮件检测方法 | |
CN115861663B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |