图像相似度确定及模型训练方法、装置、设备和介质与流程

文档序号:24620452发布日期:2021-04-09 20:25阅读:82来源:国知局
图像相似度确定及模型训练方法、装置、设备和介质与流程

本公开涉及图像处理技术领域,尤其涉及一种图像相似度确定及模型训练方法、装置、设备和介质。



背景技术:

字符图像相似度评估是图像相似度评估的特定问题,所谓字符图像就是指图像的内容是字符、字母或者数字。字符图像相似度评估在很多问题中都有非常重要的价值,如笔迹对比、拍照搜题、电子化批改作业等。通过字符图像相似度评估可以识别图像中的手写字符,然后将识别的手写字符与其可能的标准字符图像进行比较,得到两者之间的相似度,为后续的字迹对比、判题和搜索等操作提供有力的先验知识。

目前的图像相似度评估多是利用深度学习方法,其利用神经网络模型对图像进行特征提取,能够将图像的数值信息和语义信息全部利用起来,并通过反向传播算法来优化损失函数,当损失函数的值被优化达到一个比较好的结果时,网络对图像进行相似度评估能够取得非常好的结果。

但是,考虑到书写者的笔迹与标准体之间的差距,以及书写者涂改、勾画、涂抹等随意操作导致的手写字符极难辨认或无法辨识等情况,使得基于深度学习的神经网络模型的字符识别的置信度很低。为了提高难辨识手写字符的模型识别准确率,需要利用大量的训练样本进行模型训练,但是,难辨识手写字符的训练样本的收集难度大,人力耗费大,使得模型训练效率低。



技术实现要素:

为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种图像相似度确定及模型训练方法、装置、设备和介质。

第一方面,本公开提供了一种图像相似度确定模型训练方法,该方法包括:

收集多个手写字符图像,并基于各所述手写字符图像和预设数据增广模型进行数据增广操作,生成训练样本集;其中,所述手写字符图像包含易辨识手写字符图像和难辨识手写字符图像,所述预设数据增广模型基于书写运动学而构建;

基于所述训练样本集,对预设神经网络模型进行训练,生成图像相似度确定模型。

在一些实施例中,所述基于各所述手写字符图像和预设数据增广模型进行数据增广操作,生成训练样本集包括:

将每个所述手写字符图像和各字符形变调整参数的设定参数值输入所述预设数据增广模型,生成相应手写字符图像的增广字符图像;其中,所述预设数据增广模型由第一预设数量的对数高斯函数响应信号构成,且每个所述对数高斯函数响应信号由第二预设数量的所述字符形变调整参数控制形变程度;

由各所述手写字符图像和各所述增广字符图像构建所述训练样本集。

在一些实施例中,所述基于所述训练样本集,对预设神经网络模型进行训练,生成图像相似度确定模型包括:

基于所述训练样本集和正负样本比例,构建包含各正样本的正样本集和包含各负样本的负样本集;其中,所述正样本包含任一个所述易辨识手写字符图像和第三预设数量的所述难辨识手写字符图像,且相应难辨识手写字符图像中的字符和相应易辨识手写字符图像中的字符相同;所述负样本包含任一个所述易辨识手写字符图像和所述第三预设数量的其他手写字符图像,所述其他手写字符图像包含所述易辨识手写字符图像和/或所述难辨识手写字符图像,且所述其他手写字符图像中的字符和相应易辨识手写字符图像中的字符不同;

基于各所述正样本和各所述负样本,对所述预设神经网络模型进行训练,生成所述图像相似度确定模型。

在一些实施例中,所述预设神经网络模型包含特征提取子网络和相似度估计子网络;其中,所述特征提取子网络为包含第四预设数量个分支的卷积神经网络,每个所述分支包含5个卷积层和3个池化层;所述第四预设数量为所述第三预设数量加1;所述相似度估计子网络包含3个全连接层和损失函数,且最后一个所述全连接层的节点数为所述第三预设数量。

在一些实施例中,所述基于各所述正样本和各所述负样本,对所述预设神经网络模型进行训练,生成所述图像相似度确定模型包括:

将所述训练样本集中的任一样本中的所述易辨识手写字符图像输入所述预设神经网络模型的第一分支,将所述样本中的剩余手写字符图像分别输入所述预设神经网络模型的各剩余分支,并运行所述预设神经网络模型,输出模型训练结果;其中,所述样本为所述正样本或所述负样本,所述模型训练结果为所述第三预设数量的图像相似度值;

基于所述模型训练结果、所述样本的样本类型和所述样本类型的训练参照值,利用所述损失函数,确定损失值;其中,所述样本类型为正样本类型或负样本类型;

若所述损失值或训练次数未满足模型收敛条件,则基于所述损失值,调整所述预设神经网络模型的模型参数,并继续模型训练过程,直至所述损失值或所述训练次数满足所述模型收敛条件,生成所述图像相似度确定模型。

在一些实施例中,所述基于所述模型训练结果、所述样本的样本类型和所述样本类型的训练参照值,利用所述损失函数,确定损失值包括:

若所述样本的样本类型为所述正样本类型,则基于所述模型训练结果中的最小图像相似度值和所述正样本类型的训练参照值,利用所述损失函数,确定所述损失值;

若所述样本的样本类型为所述负样本类型,则基于所述模型训练结果中的最大图像相似度值和所述负样本类型的训练参照值,利用所述损失函数,确定所述损失值。

在一些实施例中,所述手写字符图像为手写数字图像,所述第三预设数量为9。

第二方面,本公开提供了一种图像相似度确定方法,该方法包括:

获取易辨识手写字符图像和难辨识手写字符图像;

将所述易辨识手写字符图像输入所述图像相似度确定模型的第一分支,并将所述难辨识手写字符图像分别输入所述图像相似度确定模型的各剩余分支,并运行所述图像相似度确定模型,输出多个图像相似度值;其中,所述图像相似度确定模型预先利用本公开任意实施例所公开的图像相似度确定模型训练方法训练而获得;所述图像相似度值的数量比所述图像相似度确定模型的分支数量少1;

基于各所述图像相似度值,确定所述易辨识手写字符图像和所述难辨识手写字符图像之间的目标图像相似度值。

在一些实施例中,所述基于各所述图像相似度值,确定所述易辨识手写字符图像和所述难辨识手写字符图像之间的目标图像相似度值包括:

确定各所述图像相似度值的均值,并将所述均值确定为所述目标图像相似度。

在一些实施例中,所述图像相似度确定模型包含特征提取子网络和相似度估计子网络;其中,所述特征提取子网络为包含第四预设数量个分支的卷积神经网络,每个所述分支包含5个卷积层和3个池化层;所述相似度估计子网络包含3个全连接层和损失函数,且最后一个所述全连接层的节点数为所述第四预设数量减1。

在一些实施例中,所述易辨识手写字符图像和所述难辨识手写字符图像均为手写数字图像,所述第四预设数量为10。

第三方面,本公开提供了一种图像相似度确定模型训练装置,该装置包括:

训练样本集生成模块,用于收集多个手写字符图像,并基于各所述手写字符图像和预设数据增广模型进行数据增广操作,生成训练样本集;其中,所述手写字符图像包含易辨识手写字符图像和难辨识手写字符图像,所述预设数据增广模型基于书写运动学而构建;

模型训练模块,用于基于所述训练样本集,对预设神经网络模型进行训练,生成图像相似度确定模型。

在一些实施例中,训练样本集生成模块具体用于:

将每个所述手写字符图像和各字符形变调整参数的设定参数值输入所述预设数据增广模型,生成相应手写字符图像的增广字符图像;其中,所述预设数据增广模型由第一预设数量的对数高斯函数响应信号构成,且每个所述对数高斯函数响应信号由第二预设数量的所述字符形变调整参数控制形变程度;

由各所述手写字符图像和各所述增广字符图像构建所述训练样本集。

在一些实施例中,模型训练模块包括:

正样本集和负样本集训练子模块,用于基于所述训练样本集和正负样本比例,构建包含各正样本的正样本集和包含各负样本的负样本集;其中,所述正样本包含任一个所述易辨识手写字符图像和第三预设数量的所述难辨识手写字符图像,且相应难辨识手写字符图像中的字符和相应易辨识手写字符图像中的字符相同;所述负样本包含任一个所述易辨识手写字符图像和所述第三预设数量的其他手写字符图像,所述其他手写字符图像包含所述易辨识手写字符图像和/或所述难辨识手写字符图像,且所述其他手写字符图像中的字符和相应易辨识手写字符图像中的字符不同;

模型训练子模块,用于基于各所述正样本和各所述负样本,对所述预设神经网络模型进行训练,生成所述图像相似度确定模型。

在一些实施例中,所述预设神经网络模型包含特征提取子网络和相似度估计子网络;其中,所述特征提取子网络为包含第四预设数量个分支的卷积神经网络,每个所述分支包含5个卷积层和3个池化层;所述第四预设数量为所述第三预设数量加1;所述相似度估计子网络包含3个全连接层和损失函数,且最后一个所述全连接层的节点数为所述第三预设数量。

在一些实施例中,模型训练子模块包括:

模型训练结果输出单元,用于将所述训练样本集中的任一样本中的所述易辨识手写字符图像输入所述预设神经网络模型的第一分支,将所述样本中的剩余手写字符图像分别输入所述预设神经网络模型的各剩余分支,并运行所述预设神经网络模型,输出模型训练结果;其中,所述样本为所述正样本或所述负样本,所述模型训练结果为所述第三预设数量的图像相似度值;

损失值确定单元,用于基于所述模型训练结果、所述样本的样本类型和所述样本类型的训练参照值,利用所述损失函数,确定损失值;其中,所述样本类型为正样本类型或负样本类型;

模型参数调整单元,用于若所述损失值或训练次数未满足模型收敛条件,则基于所述损失值,调整所述预设神经网络模型的模型参数,并继续模型训练过程,直至所述损失值或所述训练次数满足所述模型收敛条件,生成所述图像相似度确定模型。

在一些实施例中,损失值确定单元具体用于:

若所述样本的样本类型为所述正样本类型,则基于所述模型训练结果中的最小图像相似度值和所述正样本类型的训练参照值,利用所述损失函数,确定所述损失值;

若所述样本的样本类型为所述负样本类型,则基于所述模型训练结果中的最大图像相似度值和所述负样本类型的训练参照值,利用所述损失函数,确定所述损失值。

在一些实施例中,所述手写字符图像为手写数字图像,所述第三预设数量为9。

第四方面,本公开提供了一种图像相似度确定装置,该装置包括:

手写字符图像获取模块,用于获取易辨识手写字符图像和难辨识手写字符图像;

图像相似度值输出模块,用于将所述易辨识手写字符图像输入所述图像相似度确定模型的第一分支,并将所述难辨识手写字符图像分别输入所述图像相似度确定模型的各剩余分支,并运行所述图像相似度确定模型,输出多个图像相似度值;其中,所述图像相似度确定模型预先利用如权利要求1~7任一项所述的图像相似度确定模型训练方法训练而获得;所述图像相似度值的数量比所述图像相似度确定模型的分支数量少1;

目标图像相似度值确定模块,用于基于各所述图像相似度值,确定所述易辨识手写字符图像和所述难辨识手写字符图像之间的目标图像相似度值。

在一些实施例中,目标图像相似度值确定模块具体用于:

确定各所述图像相似度值的均值,并将所述均值确定为所述目标图像相似度。

在一些实施例中,所述图像相似度确定模型包含特征提取子网络和相似度估计子网络;其中,所述特征提取子网络为包含第四预设数量个分支的卷积神经网络,每个所述分支包含5个卷积层和3个池化层;所述相似度估计子网络包含3个全连接层和损失函数,且最后一个所述全连接层的节点数为所述第四预设数量减1。

在一些实施例中,所述易辨识手写字符图像和所述难辨识手写字符图像均为手写数字图像,所述第四预设数量为10。

第五方面,本公开提供了一种的电子设备,该电子设备包括:

处理器和存储器;

所述处理器通过调用所述存储器存储的程序或指令,用于执行本公开任意实施例中所述方法的步骤。

第六方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或所述指令使计算机执行本公开任意实施例中所述方法的步骤。

本公开实施例提供的技术方案,通过收集多个手写字符图像,并基于各手写字符图像和预设数据增广模型进行数据增广操作,生成训练样本集;其中,手写字符图像包含易辨识手写字符图像和难辨识手写字符图像,预设数据增广模型基于书写运动学而构建;基于训练样本集,对预设神经网络模型进行训练,生成图像相似度确定模型。实现了基于书写运动学原理对收集的少量手写字符图像进行数据增广,以获取大量训练样本,避免了人工收集大量的难辨别手写字符图像而导致的人力耗费问题,也避免了样本过少而导致的模型准确率低的问题,提高了模型训练效率以及模型对手写字符图像的识别准确率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本公开实施例提供的一种图像相似度确定模型训练方法的流程图;

图2是本公开实施例提供的又一种图像相似度确定模型训练方法的流程图;

图3是本公开实施例提供的一种图像相似度确定方法的流程图;

图4是本公开实施例提供的一种图像相似度确定模型训练装置的结构示意图;

图5是本公开实施例提供的一种图像相似度确定装置的结构示意图;

图6是本公开实施例提供的一种电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步的详细描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。

本公开实施例提供的图像相似度确定模型训练方法,主要适用于针对手写字符图像(如数字、字母、符号、汉字等)的相似度确定模型的训练,尤其适用于难辨识手写字符的相似度确定模型的训练。本公开实施例提供的图像相似度确定模型训练方法可以由图像相似度确定模型训练装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在具有大量图像处理功能的电子设备中,例如笔记本电脑、台式电脑、服务器、超级计算机或服务器集群等。

图1是本公开实施例提供的一种图像相似度确定模型训练方法的流程图。参见图1,该图像相似度确定模型训练方法具体包括:

s110、收集多个手写字符图像,并基于各手写字符图像和预设数据增广模型进行数据增广操作,生成训练样本集。

其中,手写字符图像是指图像中的字符为手写的图像。该手写字符图像包含易辨识手写字符图像和难辨识手写字符图像。易辨识手写字符图像是指图像中的字符比较清楚、较容易识别的手写字符图像。难辨识手写字符图像是指因书写者涂改、勾画或涂抹等随意操作导致的手写字符极难辨认或无法辨识的手写字符图像。预设数据增广模型基于书写运动学而构建,其是对书写运动学进行建模而获得,用于对输入的图像进行数据增广操作,以获取更多的图像。书写运动学是对人快速书写的规律进行描述的原理。

具体地,预先收集一些易辨识手写字符图像和一些难辨识手写字符图像,作为模型训练的基础图像样本。然后,将这些基础图像样本逐个输入预设数据增广模型,通过该模型的运行,输出相应的增广图像,便生成图像数量较多的训练样本集。

在一些实施例中,基于各手写字符图像和预设数据增广模型进行数据增广操作,生成训练样本集包括:将每个手写字符图像和各字符形变调整参数的设定参数值输入预设数据增广模型,生成相应手写字符图像的增广字符图像;由各手写字符图像和各增广字符图像构建训练样本集。

其中,预设数据增广模型由第一预设数量的对数高斯函数响应信号构成,且每个对数高斯函数响应信号由第二预设数量的字符形变调整参数控制形变程度。形变调整参数是指对手写内容的形变进行调整的参数。字符形变调整参数是指对手写字符的形变进行调整的形变调整参数。设定参数值是指在字符形变调整参数的初始参数值(默认参数值)的基础上,引入一定程度的抖动而获得的参数值。在一些实施例中,预先设置多组设定参数值,每组设定参数值均对应一组字符形变调整参数。在另一些实施例中,可以不预先设置设定参数值,而是在模型运行过程中,通过为每个字符形变调整参数引入随机值来确定一组设定参数值。

具体地,书写运动学理论认为人在快速书写的时候,笔端速度信号由多个重叠的对数高斯函数响应信号叠加而成,其中每个信号由多个形变调整参数控制相应信号的形状。基于此,本公开实施例中的预设数据增广模型可构建为:叠加由第一预设数量(如6)的对数高斯函数响应信号,且每个对数高斯函数响应信号由第二预设数量(如6)的字符形变调整参数的参数值来控制,例如预设数据增广模型可实现为synsig2vec模型。具体实施时,将某一手写字符图像和某一组设定参数值输入预设数据增广模型,经过模型的运行,可输出引入字符形变的手写字符图像(即增广字符图像),该字符形变的程度取决于该组设定参数值引起的信号抖动程度,抖动程度越大,手写字符的形变程度越大。按照该过程,变换不同组的设定参数值,可为上述手写字符图像引入不同的形变程度,从而为该手写字符图像生成不同的增广字符图像。同样地,按照上述过程,变换不同的手写字符图像和不同组的设定参数值,可以为每个手写字符图像生成不同的增广字符图像。至此,可由所有的手写字符图像和所有的增广字符图像构成训练样本集。需要说明的是,易辨识手写字符图像对应的增广字符图像也属于易辨识手写字符图像,难辨识手写字符图像对应的增广字符图像也属于难辨识手写字符图像。

s120、基于训练样本集,对预设神经网络模型进行训练,生成图像相似度确定模型。

具体地,利用训练样本集中的各个字符图像对预设神经网络模型进行迭代训练,以不断调整预设神经网络模型中的模型参数,直至训练结束,获得最终的模型参数。将该最终的模型参数应用至预设神经网络模型,便可获得图像相似度确定模型。可以理解的是,预设神经网络模型和图像相似度确定模型的模型架构相同、模型参数不同。

在一些实施例中,预设神经网络模型包含特征提取子网络和相似度估计子网络;其中,特征提取子网络为包含第四预设数量个分支的卷积神经网络,每个分支包含5个卷积层和3个池化层;第四预设数量为第三预设数量加1;相似度估计子网络包含3个全连接层和损失函数,且最后一个全连接层的节点数为第三预设数量。

具体地,预设神经网络模型的模型架构与matchnet模型的模型架构类似,其包含特征提取子网络和相似度估计子网络。特征提取子网络用于提取图像中的特征信息,如数值信息和语义信息;相似度估计子网络用于综合各图像的特征信息,并评估图像间的相似度值。特征提取子网络为一个卷积神经网络模型,其包含第四预设数量个分支,每个分支包含5个卷积层和3个池化层,而第四预设数量个分支之间可以共享权重(即模型参数),第四预设数量个分支之间也可以不共享权重。相似度评估子网络包含3个全连接层和损失函数,且第3个全连接层后接一个softmax函数。由于相似度估计子网络是评估两两图像之间的图像相似度,而每个图像对应于特征提取子网络中的一个分支,故相似度估计子网络中最后一个全连接层的输出节点数为第三预设数量,该第三预设数量较第四预设数量少1。上述第四预设数量至少大于2,且第四预设数量的数值越大,模型分支越多,参与同一次模型训练的图像的数量越多,模型的识别准确率越高;但是,需要同时考虑模型运算速率,分支数量越多,模型运算量越大,模型运算速率越低。所以,需要根据业务需求,综合模型识别准确率和模型运算速率,确定合适的第四预设数量/第三预设数量的取值。

在一些实施例中,s120包括:基于训练样本集和正负样本比例,构建包含各正样本的正样本集和包含各负样本的负样本集;基于各正样本和各负样本,对预设神经网络模型进行训练,生成图像相似度确定模型。

其中,正样本包含任一个易辨识手写字符图像和第三预设数量的难辨识手写字符图像,且相应难辨识手写字符图像中的字符和相应易辨识手写字符图像中的字符相同。负样本包含任一个易辨识手写字符图像和第三预设数量的其他手写字符图像;该其他手写字符图像包含易辨识手写字符图像和/或难辨识手写字符图像;该其他手写字符图像中的字符和相应易辨识手写字符图像中的字符不同。也就是说,正样本和负样本中包含的手写字符图像的数量和预设神经网络模型中的分支数量一致,且第一个均为易辨识手写字符图像。不同的是,正样本中剩余第三预设数量的图像与第一个易辨识手写字符图像中包含有相同的字符,且剩余第三预设数量的图像均为难辨识手写字符图像。而负样本中剩余第三预设数量的图像可以是难辨识手写字符图像,也可以是易辨识手写字符图像,还可以是两种图像的混合;并且剩余第三预设数量的图像中包含的字符与第一个易辨识手写字符图像中包含的字符不同。

具体地,根据正负样本比例,如正样本:负样本为1:3,以及上述正样本和负样本的图像组成定义,对训练样本集中的图像进行组合,生成多个正样本,构成正样本集,以及多个负样本,构成负样本集。然后,将正样本和负样本作为预设神经网络模型的输入图像组,对模型进行训练,生成图像相似度确定模型。这样设置的好处在于能够利用更加全面的数据进行模型训练,且相对增加了参与模型训练的负样本的数据量,进一步确保模型准确率。

本公开实施例的上述技术方案,通过收集多个手写字符图像,并基于各手写字符图像和预设数据增广模型进行数据增广操作,生成训练样本集;其中,手写字符图像包含易辨识手写字符图像和难辨识手写字符图像,预设数据增广模型基于书写运动学而构建;基于训练样本集,对预设神经网络模型进行训练,生成图像相似度确定模型。实现了基于书写运动学原理对收集的少量手写字符图像进行数据增广,以获取大量训练样本,避免了人工收集大量的难辨别手写字符图像而导致的人力耗费问题,也避免了样本过少而导致的模型准确率低的问题,提高了模型训练效率以及模型对手写字符图像的识别准确率。

图2是本公开实施例提供的又一种图像相似度确定模型训练方法的流程图。其以手写字符图像为手写数字图像,且以第三预设数量为9,即图像相似度确定模型的分支数量为10分支为例,对图像相似度确定模型训练方法进行详细阐述。在此基础上,还可以进一步对“基于各正样本和各负样本,对预设神经网络模型进行训练,生成图像相似度确定模型”进行优化。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,该图像相似度确定模型训练方法包括:

s210、收集多个手写字符图像。

具体地,收集一些包含了0-9的易辨识手写数字图像和一些包含了0-9的难辨识手写数字图像。

s220、将每个手写字符图像和各字符形变调整参数的设定参数值输入预设数据增广模型,生成相应手写字符图像的增广字符图像。

s230、由各手写字符图像和各增广字符图像构建训练样本集。

s240、基于训练样本集和正负样本比例,构建包含各正样本的正样本集和包含各负样本的负样本集。

具体地,正样本中包含1个易辨识手写数字图像和9个包含相同数字的、随机挑选的难辨识手写字符图像。负样本包含1个易辨识手写数字图像和9个包含其他数字的、随机挑选的易辨识手写数字图像和/或易辨识手写数字图像。这里的其他数字是指与其对应的易辨识手写数字图像中包含的数字不同的数字。

s250、将训练样本集中的任一样本中的易辨识手写字符图像输入预设神经网络模型的第一分支,将样本中的剩余手写字符图像分别输入预设神经网络模型的各剩余分支,并运行预设神经网络模型,输出模型训练结果。

具体地,每次训练均选择一个样本,其可以是正样本,也可以是负样本。然后,将选定样本中的第一个易辨识手写数字图像输入预设神经网络模型的第一分支中,并将选定样本中的剩余9个手写数字图像分别输入预设神经网络模型中剩余的9个分支中,并通过模型的运算,得到每两个相邻分支之间的图像相似度值,即包含9个图像相似度值的模型训练结果。

s260、基于模型训练结果、样本的样本类型和相应样本类型的训练参照值,利用损失函数,确定损失值。

其中,样本类型为正样本类型或负样本类型。训练参照值是指输入样本对应的“相似度真值”。例如,输入样本为正样本,那么输出的任一图像相似度值理论上应当为1;反之,输入样本为负样本,那么输出的任一图像相似度值理论上应当为0。在该实施例中,正样本类型的训练参照值为1,负样本类型的训练参照值为0。

具体地,为了优化模型参数,每次训练过程中,都需要计算损失值,并利用损失值进行误差反传。具体实施时,根据输入样本的样本类型确定训练参照值。然后,根据模型训练结果中的9个图像相似度值和训练参照值计算损失值。

在一些实施例中,s260包括:若样本的样本类型为正样本类型,则基于模型训练结果中的最小图像相似度值和正样本类型的训练参照值,利用损失函数,确定损失值;若样本的样本类型为负样本类型,则基于模型训练结果中的最大图像相似度值和负样本类型的训练参照值,利用损失函数,确定损失值。

具体地,为了最大化正样本对应的图像相似度和负样本对应的图像相似度之间的差异,本实施例中利用如下所示的损失函数来计算损失值:

其中,loss为损失值,pmin为最小的图像相似度值,pmax为最大的图像相似度值。

如果输入样本是正样本,那么从9个图像相似度值中选出数值最小的图像相似度值,并利用正样本类型对应的损失函数计算式,计算得到损失值。这样能够最大化损失值,并根据迭代过程损失值趋于0的迭代目标,使得模型训练的优化结果是正样本对应的图像相似度值越来越大。如果输入样本是负样本,那么从9个图像相似度值中选出数值最大的图像相似度值,并利用负样本类型对应的损失函数计算式,计算得到损失值。这样能够最大化损失值,并根据迭代过程损失值趋于0的迭代目标,使得模型训练的优化结果是正样本对应的图像相似度值越来越大,而负样本对应的图像相似度值越来越小,并且能够加速模型收敛,进一步提高模型训练效率。

s270、若损失值或训练次数未满足模型收敛条件,则基于损失值,调整预设神经网络模型的模型参数。

其中,模型收敛条件是预先设定的收敛条件,其可以是损失值小于设定阈值,也可以是训练次数达到设定次数,还可以是两者的结合。

具体地,如果模型训练未满足模型收敛条件,则需要利用损失值进行误差反传,以此来调整预设神经网络模型的模型参数。

s280、继续模型训练过程,直至损失值或训练次数满足模型收敛条件,生成图像相似度确定模型。

具体地,调整模型参数之后,应当继续下一次模型训练过程,并且不断重复s250~s280,直至满足模型收敛条件,则结束模型训练过程,获得图像相似度确定模型。

本公开实施例的上述技术方案,通过将图像相似度确定模型设置为10个模型分支,增加了一次参与图像相似度评估的图像数量,增强了模型对于手写字符图像的特征提取强度,从而进一步提高了模型对手写字符图像的识别准确率。将训练样本集中的任一样本中的易辨识手写字符图像输入预设神经网络模型的第一分支,将样本中的剩余手写字符图像分别输入预设神经网络模型的各剩余分支,并运行预设神经网络模型,输出模型训练结果;其中,样本为正样本或负样本,模型训练结果为第三预设数量的图像相似度值;基于模型训练结果、样本的样本类型和样本类型的训练参照值,利用损失函数,确定损失值;其中,样本类型为正样本类型或负样本类型;若损失值或训练次数未满足模型收敛条件,则基于损失值,调整预设神经网络模型的模型参数,并继续模型训练过程,直至损失值或训练次数满足模型收敛条件,生成图像相似度确定模型。实现了利用合适的损失函数确定模型训练过程中的损失值,进而进行图像相似度确定模型的迭代训练,提高了模型训练过程中损失函数的收敛速度,从而进一步提高了模型训练效率。

本公开实施例提供的图像相似度确定方法,主要适用于针对手写字符图像(如数字、字母、符号、汉字等)的相似度确定的情况,尤其适用于难辨识手写字符图像的相似度确定过程。本公开实施例提供的图像相似度确定方法可以由图像相似度确定装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在具有图像处理功能的电子设备中,例如手机、掌上电脑、平板电脑、笔记本电脑、台式电脑、服务器或超级计算机等。

图3是本公开实施例提供的一种图像相似度确定方法的流程图。参见图3,该图像相似度确定方法具体包括:

s310、获取易辨识手写字符图像和难辨识手写字符图像。

具体地,获取需要识别的难辨识手写字符图像,及可能匹配的易辨识手写字符图像。

s320、将易辨识手写字符图像输入图像相似度确定模型的第一分支,并将难辨识手写字符图像分别输入图像相似度确定模型的各剩余分支,并运行图像相似度确定模型,输出多个图像相似度值。

其中,图像相似度确定模型预先利用本公开任意实施例所提供的图像相似度确定模型训练方法训练而获得。在一些实施例中,图像相似度确定模型包含特征提取子网络和相似度估计子网络;其中,特征提取子网络为包含第四预设数量个分支的卷积神经网络,每个分支包含5个卷积层和3个池化层;相似度估计子网络包含3个全连接层和损失函数,且最后一个全连接层的节点数为第四预设数量减1。由于图像相似度模型计算的是每两个相邻模型分支对应的图像之间的相似度值,故图像相似度值的数量比图像相似度确定模型的分支数量少1。

具体地,将易辨识手写字符图像输入训练好的图像相似度确定模型的第一分支,将难辨识手写字符图像分别输入图像相似度确定模型的剩余各分支中,并通过模型运行,计算出易辨识手写字符图像与难辨识手写字符图像之间的多个图像相似度值。

在一些实施例中,易辨识手写字符图像和难辨识手写字符图像均为手写数字图像,第四预设数量为10。本实施例中,图像相似度确定模型有10个模型分支,那么可获得易辨识手写数字图像与难辨识手写数字图像之间的9个图像相似度值。

s330、基于各图像相似度值,确定易辨识手写字符图像和难辨识手写字符图像之间的目标图像相似度值。

具体地,可以采用取最大值、取均值、取中值、设定阈值筛选等方式来对各图像相似度值进行处理,获得一个或多个图像相似度值,作为易辨识手写字符图像和难辨识手写字符图像之间的目标图像相似度值。

在一些实施例中,s330包括:确定各图像相似度值的均值,并将该均值确定为易辨识手写字符图像和难辨识手写字符图像之间的目标图像相似度。具体地,为了避免设置阈值引入的人为因素干扰,以及最值或中值等方式造成的模型输出结果不够平滑,本实施例中对各个图像相似度值进行取均值操作,并将获得的图像相似度均值作为易辨识手写字符图像和难辨识手写字符图像之间的目标图像相似度值。

本公开实施例的上述技术方案,通过获取易辨识手写字符图像和难辨识手写字符图像;将易辨识手写字符图像输入图像相似度确定模型的第一分支,并将难辨识手写字符图像分别输入图像相似度确定模型的各剩余分支,并运行图像相似度确定模型,输出多个图像相似度值;其中,图像相似度确定模型预先利用本公开任意实施例所公开的图像相似度确定模型训练方法训练而获得;图像相似度值的数量比图像相似度确定模型的分支数量少1;基于各图像相似度值,确定易辨识手写字符图像和难辨识手写字符图像之间的目标图像相似度值。实现了利用预先训练的多分支的图像相似度确定模型对易辨识手写字符图像和难辨识手写字符图像之间的图像相似度进行评估,提高了手写字符图像的相似度评估准确率和难辨识手写字符图像的识别准确率。

图4是本公开实施例提供的一种图像相似度确定模型训练装置的结构示意图。参见图4,该装置具体包括:

训练样本集生成模块410,用于收集多个手写字符图像,并基于各手写字符图像和预设数据增广模型进行数据增广操作,生成训练样本集;其中,手写字符图像包含易辨识手写字符图像和难辨识手写字符图像,预设数据增广模型基于书写运动学而构建;

模型训练模块420,用于基于训练样本集,对预设神经网络模型进行训练,生成图像相似度确定模型。

在一些实施例中,训练样本集生成模块410具体用于:

将每个手写字符图像和各字符形变调整参数的设定参数值输入预设数据增广模型,生成相应手写字符图像的增广字符图像;其中,预设数据增广模型由第一预设数量的对数高斯函数响应信号构成,且每个对数高斯函数响应信号由第二预设数量的字符形变调整参数控制形变程度;

由各手写字符图像和各增广字符图像构建训练样本集。

在一些实施例中,模型训练模块420包括:

正样本集和负样本集训练子模块,用于基于训练样本集和正负样本比例,构建包含各正样本的正样本集和包含各负样本的负样本集;其中,正样本包含任一个易辨识手写字符图像和第三预设数量的难辨识手写字符图像,且相应难辨识手写字符图像中的字符和相应易辨识手写字符图像中的字符相同;负样本包含任一个易辨识手写字符图像和第三预设数量的其他手写字符图像,其他手写字符图像包含易辨识手写字符图像和/或难辨识手写字符图像,且其他手写字符图像中的字符和相应易辨识手写字符图像中的字符不同;

模型训练子模块,用于基于各正样本和各负样本,对预设神经网络模型进行训练,生成图像相似度确定模型。

在一些实施例中,预设神经网络模型包含特征提取子网络和相似度估计子网络;其中,特征提取子网络为包含第四预设数量个分支的卷积神经网络,每个分支包含5个卷积层和3个池化层;第四预设数量为第三预设数量加1;相似度估计子网络包含3个全连接层和损失函数,且最后一个全连接层的节点数为第三预设数量。

在一些实施例中,模型训练子模块包括:

模型训练结果输出单元,用于将训练样本集中的任一样本中的易辨识手写字符图像输入预设神经网络模型的第一分支,将样本中的剩余手写字符图像分别输入预设神经网络模型的各剩余分支,并运行预设神经网络模型,输出模型训练结果;其中,样本为正样本或负样本,模型训练结果为第三预设数量的图像相似度值;

损失值确定单元,用于基于模型训练结果、样本的样本类型和样本类型的训练参照值,利用损失函数,确定损失值;其中,样本类型为正样本类型或负样本类型;

模型参数调整单元,用于若损失值或训练次数未满足模型收敛条件,则基于损失值,调整预设神经网络模型的模型参数,并继续模型训练过程,直至损失值或训练次数满足模型收敛条件,生成图像相似度确定模型。

在一些实施例中,损失值确定单元具体用于:

若样本的样本类型为正样本类型,则基于模型训练结果中的最小图像相似度值和正样本类型的训练参照值,利用损失函数,确定损失值;

若样本的样本类型为负样本类型,则基于模型训练结果中的最大图像相似度值和负样本类型的训练参照值,利用损失函数,确定损失值。

在一些实施例中,手写字符图像为手写数字图像,第三预设数量为9。

通过本公开实施例提供的一种图像相似度确定模型训练装置,实现了基于书写运动学原理对收集的少量手写字符图像进行数据增广,以获取大量训练样本,避免了人工收集大量的难辨别手写字符图像而导致的人力耗费问题,也避免了样本过少而导致的模型准确率低的问题,提高了模型训练效率以及模型对手写字符图像的识别准确率。

图5是本公开实施例提供的一种图像相似度确定装置的结构示意图。参见图5,该装置具体包括:

手写字符图像获取模块510,用于获取易辨识手写字符图像和难辨识手写字符图像;

图像相似度值输出模块520,用于将易辨识手写字符图像输入图像相似度确定模型的第一分支,并将难辨识手写字符图像分别输入图像相似度确定模型的各剩余分支,并运行图像相似度确定模型,输出多个图像相似度值;其中,图像相似度确定模型预先利用如权利要求1~7任一项的图像相似度确定模型训练方法训练而获得;图像相似度值的数量比图像相似度确定模型的分支数量少1;

目标图像相似度值确定模块530,用于基于各图像相似度值,确定易辨识手写字符图像和难辨识手写字符图像之间的目标图像相似度值。

在一些实施例中,目标图像相似度值确定模块530具体用于:

确定各图像相似度值的均值,并将均值确定为目标图像相似度。

在一些实施例中,图像相似度确定模型包含特征提取子网络和相似度估计子网络;其中,特征提取子网络为包含第四预设数量个分支的卷积神经网络,每个分支包含5个卷积层和3个池化层;相似度估计子网络包含3个全连接层和损失函数,且最后一个全连接层的节点数为第四预设数量减1。

在一些实施例中,易辨识手写字符图像和难辨识手写字符图像均为手写数字图像,第四预设数量为10。

通过本公开实施例提供的一种图像相似度确定装置,实现了利用预先训练的多分支的图像相似度确定模型对易辨识手写字符图像和难辨识手写字符图像之间的图像相似度进行评估,提高了手写字符图像的相似度评估准确率和难辨识手写字符图像的识别准确率。

值得注意的是,上述各装置的实施例中,所包括的各个模块、子模块和单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块/子模块/单元的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。

图6是本公开实施例提供的一种电子设备的结构示意图。参见图6,本公开实施例提供的电子设备600,其包括:处理器620和存储器610;处理器620通过调用存储器610存储的程序或指令,用于执行本公开任意实施例所提供的图像相似度确定模型训练方法的步骤,或者执行本公开任意实施例所提供的图像相似度确定方法的步骤。

图6显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:一个或者多个处理器620,存储器610,连接不同系统组件(包括存储器610和处理器620)的总线650。

总线650表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

电子设备600典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备600访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器610可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)611和/或高速缓存存储器612。电子设备600可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统613可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线650相连。存储器610可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。

具有一组(至少一个)程序模块615的程序/实用工具614,可以存储在例如存储器610中,这样的程序模块615包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块615通常执行本公开所描述的任意实施例中的功能和/或方法。

电子设备600也可以与一个或多个外部设备660(例如键盘、指向设备、显示器670等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出接口(i/o接口)630进行。并且,电子设备600还可以通过网络适配器640与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图6所示,网络适配器640通过总线650与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储程序或指令,该程序或指令使计算机执行本公开任意实施例提供的所提供的图像相似度确定模型训练方法的步骤,或者执行本公开任意实施例所提供的图像相似度确定方法的步骤。

本公开实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

需要说明的是,本公开所用术语仅为了描述特定实施例,而非限制本申请范围。如本公开说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。诸如“第一”、“第二”、“第三”和“第四”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。

以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1