一种用于手写签名矫正的方法与设备与流程

文档序号:22472147发布日期:2020-10-09 22:05阅读:168来源:国知局
一种用于手写签名矫正的方法与设备与流程

本申请涉及计算机图像处理技术领域,尤其涉及一种用于手写签名矫正的技术。



背景技术:

手写签名作为一个人独有的标识,在人们社会工作和生活中得到了广泛的应用。对手写签名的真伪识别传统的做法是依靠人眼手动地去逐一鉴别,不仅耗时,而且浪费了大量的人力。随着深度学习的兴起,用于手写签名识别的深度学习网络得到开发和发展,现在有较多深度学习网络可以有效识别手写签名。但是由于书写习惯或其它客观原因,存在倾斜的手写签名,对于此类手写签名直接用于现有深度学习网络进行识别,识别准确率较低、效果较差。



技术实现要素:

本申请的目的是提供一种用于手写签名矫正的方法与设备,用以解决现有技术中深度学习网络针对倾斜手写签名识别效果较差的技术问题。

根据本申请的一个方面,提供了一种用于手写签名矫正的方法,其中,所述方法包括:

获取待矫正手写签名图片;

基于所述待矫正手写签名图片确定手写签名中每个字符对应的检测框信息,其中,所述检测框信息用以指示对应字符在所述待矫正手写签名图片中的位置信息及大小信息;

基于所述检测框信息确定矫正参数,其中,所述矫正参数用以指示手写签名的字符倾斜角度;

若所述矫正参数满足预设阈值,基于所述矫正参数对所述待矫正手写签名进行矫正。

可选地,其中,所述基于所述待矫正手写签名图片确定手写签名中每个字符对应的检测框信息包括:

将所述待矫正手写签名图片输入训练好的检测网络模型,以获得手写签名中每个字符对应的检测框信息。

可选地,其中,所述基于所述检测框信息确定矫正参数包括:

根据手写签名中首字符的检测框信息和尾字符的检测框信息确定字符倾斜角度。

可选地,所述矫正参数还至少包括交叉次数,其中,所述交叉次数的确定包括:

遍历手写签名中每个字符对应的检测框信息,获取相邻字符的交叉距离;

基于所述相邻字符的交叉距离确定所述交叉次数。

可选地,所述矫正参数还至少包括高度异常字符个数,其中,所述高度异常字符个数的确定包括:

基于手写签名中每个字符的检测框信息,确定字符高度均值;

遍历手写签名中每个字符的检测框信息,获取每个字符高度与所述字符高度均值的比值;

基于所述比值确定所述高度异常字符个数。

可选地,其中,所述基于所述矫正参数对所述待矫正手写签名进行矫正包括:

按照检测框将每个字符从所述待矫正手写签名图片中裁剪出来;

将裁剪出来的每个字符图片反向旋转所述字符倾斜角度。

可选地,所述方法还包括:

对矫正后的字符图片做图片填充预处理,以获得待识别手写签名图片;

将所述待识别手写签名图片送入训练好的识别网络模型进行签名识别。

可选地,所述方法还包括:

确定矫正后字符图片的中心点坐标;

将矫正后字符映射到所述待矫正手写签名图片中,以查看矫正效果,其中,将矫正后字符图片的中心点坐标与所述待矫正手写签名图片中对应字符的中心点坐标重叠。

根据本申请的另一方面,还提供了一种用于手写签名矫正的设备,其中,所述设备包括:

第一装置,用于获取待矫正手写签名图片;

第二装置,用于基于所述待矫正手写签名图片确定手写签名中每个字符对应的检测框信息,其中,所述检测框信息用以指示对应字符在所述待矫正手写签名图片中的位置信息及大小信息;

第三装置,用于基于所述检测框信息确定矫正参数,其中,所述矫正参数用以指示所述待矫正手写签名图片中字符的倾斜程度;

第四装置,用于若所述矫正参数满足预设阈值,基于所述矫正参数对所述待矫正手写签名进行矫正。

可选地,所述设备还包括:

第五装置,用于对矫正后的字符图片做图片填充预处理,以获得待识别手写签名图片;

第六装置,用于将所述待识别手写签名图片送入训练好的识别网络模型进行签名识别。

可选地,所述设备还包括:

第七装置,用于确定矫正后字符图片的中心点坐标,将矫正后字符映射到所述待矫正手写签名图片中,以查看矫正效果,其中,将矫正后字符图片的中心点坐标与所述待矫正手写签名图片中对应字符的中心点坐标重叠。

与现有技术相比,本申请通过一种用于手写签名矫正的方法与设备,首先获取待矫正手写签名图片,接着基于所述待矫正手写签名图片确定手写签名中每个字符对应的检测框信息,然后基于所述检测框信息确定矫正参数,最后若所述矫正参数满足预设阈值,基于所述矫正参数对所述待矫正手写签名进行矫正。通过该方法,使得满足条件的倾斜手写签名得到矫正,将矫正后的手写签名再用于现有深度学习网络,可大大提高此类倾斜手写签名的识别准确率,识别效果较好。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一个方面的一种用于手写签名矫正的方法流程图;

图2示出根据本申请另一个方面的一种用于手写签名矫正的设备示意图;

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本发明作进一步详细描述。

在本申请一个典型的配置中,系统各模块和可信方或设备均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及优选实施例,对本申请的技术方案,进行清楚和完整的描述。

图1示出本申请一个方面的一种用于手写签名矫正的方法流程图,其中,一个实施例的方法包括:

s11获取待矫正手写签名图片;

s12基于所述待矫正手写签名图片确定手写签名中每个字符对应的检测框信息,其中,所述检测框信息用以指示对应字符在所述待矫正手写签名图片中的位置信息及大小信息;

s13基于所述检测框信息确定矫正参数,其中,所述矫正参数用以指示手写签名的字符倾斜角度;

s14若所述矫正参数满足预设阈值,基于所述矫正参数对所述待矫正手写签名进行矫正。

在本申请中,所述方法通过设备1执行,所述设备1为计算机设备和/或云,所述计算机设备包括但不限于个人计算机、笔记本电脑、工业计算机、网络主机、单个网络服务器、多个网络服务器集;所述云由基于云计算(cloudcomputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。

在此,所述计算机设备和/或云仅为举例,其他现有的或者今后可能出现的设备和/或资源共享平台如适用于本申请也应包含在本申请的保护范围内,在此,以引用的方式包含于此。

在该实施例中,在所述步骤s11中,设备1获取所述待矫正手写签名图片可以是通过网络传输、拷贝、扫描等方式获取,也可以是通过外置或网络连接的手写签名采集设备获取。在此,不限定手写签名图片的获取方式,其他手写签名图片获取方式如适用于本申请也应包含在本申请的保护范围内。

其中,所述待矫正手写签名图片的文件格式可以是png,也可以是jpg,其他图片的文件格式如适用于本申请也应包含在本申请的保护范围内。

其中,在获取所述待矫正手写签名图片时,如果手写签名存在字形字体潦草或其它无法分辨出字形字体情况,应重新获取。

继续在该实施例中,在所述步骤s12中,所述基于所述待矫正手写签名图片确定手写签名中每个字符对应的检测框信息,其中,所述检测框信息用以指示对应字符在所述待矫正手写签名图片中的位置信息及大小信息,例如,字符的中心点坐标、字符的宽和高的坐标。

可选地,其中,所述基于所述待矫正手写签名图片确定手写签名中每个字符对应的检测框信息包括:

将所述待矫正手写签名图片输入训练好的检测网络模型,以获得手写签名中每个字符对应的检测框信息。

其中,所述训练好的检测网络模型是基于倾斜手写签名样本集对现有检测网络进行训练后,选择在倾斜手写签名测试集上准确率和召回率较高的模型作为训练好的检测网络模型。现有检测网络可以是例如ssd(singleshotmultiboxdetector,单点多框检测器)、ctd(curve-text-detector,曲线文本检测器)等检测网络。

其中,所述倾斜手写签名样本集可从多种应用现场采集原始倾斜手写签名数据,例如银行业务办理窗口、各种需要手写签名的业务办理窗口等现场部署的手写签名输入屏,然后对采集的原始倾斜手写签名数据进行清洗,排除不符合条件(例如字迹潦草无法分辨字符)的签名数据,保存为原始倾斜手写签名图片,接着对每个原始倾斜手写签名图片打上标签,即将原始倾斜手写签名图片中的签名作为保存图片的文件名,一个原始倾斜手写签名图片及其文件名组成一个样本,采集到足够数量符合条件的原始倾斜手写签名图片及其保存的图片名组成倾斜手写签名样本集和测试集。

其中,所述字符对应的检测框信息可以包括字符的中心点坐标、字符的宽和高。

继续在该实施例中,在所述步骤s13中,基于所述检测框信息确定矫正参数,其中,所述矫正参数用以指示手写签名的字符倾斜角度。

可选地,其中,所述基于所述检测框信息确定矫正参数包括:

根据手写签名中首字符的检测框信息和尾字符的检测框信息确定字符倾斜角度。

所述字符倾斜角度可定义为倾斜手写签名图片中首字符(第一个字符)和尾字符(最后一个字符)的中心点连线与水平方向的夹角。基于获得的每个字符的检测框信息,例如其中首字符的检测框信息是中心点坐标(x1,y1),首字符的检测框的宽度w1,首字符的检测框高度h1,尾字符的检测框信息是中心点坐标(x2,y2),尾字符的检测框的宽度w2,尾字符的检测框的高度h2,根据首字符和尾字符的中心点坐标计算,则确定待矫正手写签名的字符倾斜角度即计算首字符和尾字符的中心点连线与水平方向的夹角θ。夹角θ的计算公式如下:

θ=arctan(x1-x2,y1-y2)*(180/π)

可选地,其中,所述矫正参数还至少包括交叉次数,其中,所述交叉次数的确定包括:

遍历手写签名中每个字符对应的检测框信息,获取相邻字符的交叉距离;

基于所述相邻字符的交叉距离确定所述交叉次数。

所述相邻字符的交叉距离可定义为相邻字符的检测框之间的距离。例如,当前字符的检测框信息为中心点坐标(xi,yi),当前字符的检测框的宽度wi,当前字符的检测框的高度hi,其相邻的下一个字符的检测框信息为中心点坐标(xi+1,yi+1),相邻的下一个字符的检测框的宽度wi+1,相邻的下一个字符的检测框的高度hi+1,则当前字符与下一个字符这两个相邻字符的交叉距离l的计算公式如下:

li=xbi+wi-xbi+1,(其中i<n-1)

xbi是当前字符的检测框的左上角x轴坐标,可根据当前字符的中心点坐标(xi,yi)和当前字符的检测框的宽度wi计算获得;

wi是当前字符的检测框的宽度;

xbi+1是当前字符相邻的下一个字符的检测框的左上角x坐标,可根据下一个字符的中心点坐标(xi,yi)和下一个字符的检测框的宽度wi计算获得;

n为待矫正手写签名图片中检测出的字符对应的检测框的数量。

所述待矫正手写签名图片包含n个字符,则遍历所述待矫正手写签名图片中每个字符对应的检测框信息,参照上述公式计算,可以获得(n-1)个相邻字符的交叉距离。预设相邻字符的检测框交叉距离阈值,将获取到(n-1)个相邻字符的交叉距离与预设的交叉距离阈值逐一比较,统计交叉次数:如果待矫正手写签名图片中的某个相邻字符的交叉距离小于预设的交叉距离阈值,则认定对应的相邻两字符检测框是交叉的,将初值为零的交叉次数加1;如果待矫正手写签名图片中的某个相邻字符的交叉距离大于预设的交叉距离阈值,则交叉次数不变。(n-1)个相邻字符的交叉距离与预设的交叉距离阈值全部逐一比较后确定交叉次数。

可选地,其中,所述矫正参数还至少包括高度异常字符个数,其中,所述高度异常字符个数的确定包括:

基于手写签名中每个字符的检测框信息,确定字符高度均值;

遍历手写签名中每个字符的检测框信息,获取每个字符高度与所述字符高度均值的比值;

基于所述比值确定所述高度异常字符个数。

其中,可定义每个字符的检测框的高度为该字符对应的字符高度,例如,若字符的检测框的高度为hi,则该字符对应的字符高度即为hi。所述待矫正手写签名图片包含n个字符,则可确定字符高度均值hm:

hm=∑hi/n,其中1≤i≤n

计算每个字符hi与该字符高度均值的比值pi,若该比值pi超出预设阈值范围p,则认定hi对应的字符高度异常,将初值为零的高度异常字符个数加1;如果若该比值pi处于预设阈值范围p,则高度异常字符个数不变。遍历所述待矫正手写签名图片中每个字符对应的字符高度hi(i取值1~n),计算每个字符对应的比值pi后,确定高度异常字符个数。

继续在该实施例中,在所述步骤s14中,若所述矫正参数满足预设阈值,基于所述矫正参数对所述待矫正手写签名进行矫正。

在其中的一个实施例中,若所述矫正参数中,字符倾斜角度大于预设的字符倾斜角度阈值,且和/或交叉次数不超过预设的交叉次数阈值、和/或高度异常字符个数不超过预设的高度异常字符个数阈值,则基于所述矫正参数对该待矫正手写签名进行矫正。

可选地,所述基于所述矫正参数对所述待矫正手写签名进行矫正包括:

按照检测框将每个字符从所述待矫正手写签名图片中裁剪出来;

将裁剪出来的每个字符图片反向旋转所述字符倾斜角度。

其中,根据获取的所述待矫正手写签名图片各个字符的检测框信息,记录所述待矫正手写签名图片各字符检测框的中心点坐标和在所述待矫正手写签名图片中的相应位置。以每个字符检测框的中心点作为字符图片的中心点,按照每个字符检测框的高宽将每个字符从所述待矫正手写签名图片中裁剪出来,裁剪出来的字符图片中心点与所述待矫正手写签名图片中该字符对应的检测框中心点相同,裁剪出来的字符图片宽度和高度(即尺寸大小)为所述待矫正手写签名图片中该字符对应的检测框的宽度和高度。

将裁剪出来的每个字符图片基于中心点,反向旋转所述字符倾斜角度,以实现对该字符的矫正。

可选地,所述一种用于手写签名矫正的方法还包括:

对矫正后的字符图片做图片填充预处理,以获得待识别手写签名图片;

将所述待识别手写签名图片送入训练好的识别网络模型进行签名识别。

其中,首先将矫正后的字符图片参照中心点及尺寸整合在一起,并对整合图片做填充预处理,以获得待识别手写签名图片;然后将所述待识别手写签名图片输入训练好的识别网络模型进行签名识别,根据该训练好的识别网络模型的输出结果以识别手写签名。

其中,对整合图片做填充预处理,以满足所述训练好的识别网络模型对输入图片的要求。

其中,所述训练好的识别网络模型是基于手写签名样本集对现有用于图像文本识别的神经网络进行训练后,选择在手写签名测试集上准确率较高的模型作为训练好的识别网络模型。现有用于图像文本识别的神经网络可以是例如crnn(convolutionalrecurrentneuralnetwork,卷积循环神经网络)。

其中,所述手写签名样本集可从多种应用现场采集原始手写签名数据,例如银行业务办理窗口、各种需要手写签名的业务办理窗口等现场部署的手写签名输入屏,然后对采集的原始手写签名数据进行清洗,排除不符合条件(例如字迹潦草无法分辨字符、倾斜角度太大、字迹重叠较严重、不同字符高度异常等)的签名数据,保存为原始手写签名图片,接着对每个原始手写签名图片打上标签,即将原始手写签名图片中的签名作为保存图片的文件名,一个原始手写签名图片及其文件名组成一个样本,采集到足够数量符合条件的原始手写签名图片及其保存的图片名组成手写签名样本集和测试集。

可选地,所述一种用于手写签名矫正的方法还包括:

确定矫正后字符图片的中心点坐标;

将矫正后字符映射到所述待矫正手写签名图片中,以查看矫正效果,其中,将矫正后字符图片的中心点坐标与所述待矫正手写签名图片中对应字符的中心点坐标重叠。

其中,根据记录的每个字符的中心点坐标和在所述待矫正手写签名图片中的相应位置,确定矫正后字符图片的中心点坐标,然后将矫正后字符图片的中心点坐标与所述待矫正手写签名图片中对应字符的中心点坐标重叠,将矫正后字符映射回所述待矫正手写签名图片相应位置,展示矫正效果。

图2示出根据本申请的另一方面的一种用于手写签名矫正的设备,其中,所述设备包括:

第一装置21,用于获取待矫正手写签名图片;

第二装置22,用于基于所述待矫正手写签名图片确定手写签名中每个字符对应的检测框信息,其中,所述检测框信息用以指示对应字符在所述待矫正手写签名图片中的位置信息及大小信息;

第三装置23,用于基于所述检测框信息确定矫正参数,其中,所述矫正参数用以指示所述待矫正手写签名图片中字符的倾斜程度;

第四装置24,用于若所述矫正参数满足预设阈值,基于所述矫正参数对所述待矫正手写签名进行矫正。

可选地,所述设备还包括:

第五装置25(未示出),用于对矫正后的字符图片做图片填充预处理,以获得待识别手写签名图片;

第六装置26(未示出),用于将所述待识别手写签名图片送入训练好的识别网络模型进行签名识别。

可选地,所述设备还包括:

第七装置27(未示出),用于确定矫正后字符图片的中心点坐标,将矫正后字符映射到所述待矫正手写签名图片中,以查看矫正效果,其中,将矫正后字符图片的中心点坐标与所述待矫正手写签名图片中对应字符的中心点坐标重叠。

根据本申请的又一方面,还提供了一种计算机可读介质,所述计算机可读介质存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述方法。

根据本申请的又一方面,还提供了一种用于手写签名矫正的设备,其中,该设备包括:

一个或多个处理器;以及

存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述方法的操作。

例如,计算机可读指令在被执行时使所述一个或多个处理器:获取待矫正手写签名图片;基于所述待矫正手写签名图片确定手写签名中每个字符对应的检测框信息;基于所述检测框信息确定矫正参数;若所述矫正参数满足预设阈值,基于所述矫正参数对所述待矫正手写签名进行矫正。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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