用于生成电子签名的方法、计算设备和计算机存储介质与流程

文档序号:22916723发布日期:2020-11-13 15:58阅读:156来源:国知局
用于生成电子签名的方法、计算设备和计算机存储介质与流程

本公开总体上涉及信息处理,并且具体地,涉及用于生成电子签名的方法、计算设备和计算机存储介质。



背景技术:

无纸化操作在当下越来越流行,例如,用户利用电子画板签名工具或者终端设备的电子画布进行手写签名来生成带有电子签名的文件,进而作为交易(例如而不限于租车服务)中的确认文件(该确认文件例如是带有电子签名的关于租车的电子合同)。

传统的用于生成电子签名的方案例如是:通过采集用户手写签名过程中的触摸移动路径,然后经由人工针对显示的移动路径确认之后,将所采集的移动路径保存成签名图片并上传至服务器,以便生成带有电子签名的电子合同。在上述传统的生成电子签名的方案中,一旦生成签名图片即表示电子签名成功。但是,在签名过程中,难免存在签名不规范、假装签名却没有签名、签名过小或者过于潦草以至难以识别、签名不完整等问题,因此,如果没有辅助现场的人工确认或者现场人员因过于繁忙疏于确认签名,系统无法获知签名图片中是否包括有签名或者所包括签名是否规范,因此容易产生签名无效的问题,进而给交易安全带来隐患。而传统的ocr识别方法更多的被用于精确书写字体(例如印刷体)的文字匹配,而用户手写字体与规范的印刷体相比差异很大,因此手写字体的准确识别率较低,并且计算速度慢,难以替代人工确认签名的环节。

综上,传统的用于生成电子签名的方案存在无法脱离人工辅助确认,且存在交易安全隐患的不足之处。



技术实现要素:

本公开提供一种用于生成电子签名的方法、计算设备和计算机存储介质,能够实现远程电子签名确认,在脱离人工确认签名的情况下也能够降低交易安全隐患,提高交易的便捷性。

根据本公开的第一方面,提供了一种用于生成电子签名的方法。该方法包括:获取在终端设备的电子画布上的输入对象的移动路径,以用于计算移动路径的总长度;响应于确定移动路径的总长度大于或者等于预定长度阈值,基于移动路径生成签名图像数据;确定移动路径所包括的笔画的特征点,特征点至少包括笔画的起始点、结束点和转折点;获取与订单相关联的用户标识,以用于在预定字库中提取用户标识的对应文字的特征信息;基于特征点和特征信息,计算移动路径所包括的笔画与对应文字的笔画的相似度;以及响应于确定相似度符合预定条件,确认移动路径与用户标识相匹配,以便将签名图像数据附加至关于订单的文件。

根据本发明的第二方面,还提供了一种计算设备,该设备包括:至少一个处理单元;至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令当由至少一个处理单元执行时,使得设备执行本公开的第一方面的方法。

根据本公开的第三方面,还提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序被机器执行时执行本公开的第一方面的方法。

在一些实施例中,基于特征点和特征信息计算移动路径所包括的笔画与对应文字的笔画的相似度包括:确定移动路径所包括的笔画数与对应文字所包括的笔画数是否一致;以及响应于确定移动路径所包括的笔画数与对应文字所包括的笔画数相一致,计算第一角度和第二角度的差值,以用于至少基于差值确定相似度,第一角度为移动路径所包括的每一个笔画的特征点至特征点的前一个坐标点的直线相对于第一方向的角度,第二角度为对应文字的笔画的特征点至特征点的前一个坐标点的直线相对于第一方向的角度,对应文字的笔画的特征点包括在特征信息中,并且至少包括对应文字的笔画的起始点、结束点和转折点。

在一些实施例中,至少基于差值确定相似度包括:将第一角度和第二角度的差值取正值,以生成每一笔画相似值;基于每一笔画相似值,生成笔画平均点位相似值;以及基于每一笔画相似值的累加值和移动路径所包括的笔画数,生成文字平均笔画相似值。

在一些实施例中,基于每一笔画相似值生成笔画平均点位相似值包括:比较移动路径所包括的每一个笔画的第一特征点数量和对应文字的对应笔画的第二特征点数量,以便确定第一特征点数量和第二特征点数量的差值最小的笔画的最小坐标数据;以及基于每一笔画相似值和最小坐标数据,生成笔画平均点位相似值。

在一些实施例中,响应于确定相似度符合预定条件,将签名图像数据附加至第一数据包括:确定是否以下至少一项满足:笔画平均点位相似值小于或者等于第一相似度阈值;文字平均笔画相似值小于或者等于第二相似度阈值;响应于确定以上至少一项满足,将签名图像数据附加至第一数据。

在一些实施例中,用于生成电子签名的方法还包括:响应于确定移动路径的总长度小于预定长度阈值,生成用于指示重新签名的信号。

在一些实施例中,用于生成电子签名的方法还包括:响应于确定相似度不符合预定条件,生成用于指示重新签名的信号和用于指示签名不匹配的信号中的至少一个。

在一些实施例中,计算移动路径的总长度包括。响应于检测到输入对象触摸用户终端的电子画布,监听输入对象的移动,以便确定是否检测到触摸事件回调;响应于确定检测到触摸事件回调,基于当前坐标和检测到上一次触摸事件回调时的坐标,计算与当前次触摸事件回调相关的在第一方向上的坐标变化数据和在第二方向上的坐标变化数据;基于第一方向上的坐标变化数据和在第二方向上的坐标变化数据,计算与当前次触摸事件回调相关的移动路径的长度;以及响应于确认输入对象离开用户终端的电子画布,累加输入对象从触摸用户终端的电子画布至离开电子画布期间的与触摸事件相关的移动路径的长度,以便生成移动路径的总长度。

提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。

附图说明

图1示出了根据本公开的实施例的用于实施用于生成电子签名的方法的系统的示意图。

图2示出了根据本公开的实施例的用于生成电子签名的方法的流程图。

图3示出了根据本公开的实施例的用于计算移动路径的总长度的方法的流程图。

图4示意性示出根据本公开的实施例的用于计算笔画的相似度的方法的示意图。

图5示出了根据本公开的实施例的用于生成电子签名的方法的流程图。

图6示意性示出了适于用来实现本公开实施例的电子设备的框图。

在各个附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。

如前文所描述,传统的生成电子签名的方案,需要辅助现场的人工确认基于用户签名时的触摸移动路径所生成的签名图片是否符合要求,以避免签名不规范、未签名、签名过小或者过于潦草、签名不完整等问题,因此存在无法脱离人工确认、存在交易安全隐患,难以实现远程电子签名确认、不利于提高交易的便捷性等不足之处。

为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种用于生成电子签名的方案。该方案包括:获取在终端设备的电子画布上的输入对象的移动路径,以用于计算移动路径的总长度;响应于确定移动路径的总长度大于或者等于预定长度阈值,基于移动路径生成签名图像数据;确定移动路径所包括的笔画的特征点,特征点至少包括笔画的起始点、结束点和转折点;获取与订单相关联的用户标识,以用于在预定字库中提取用户标识的对应文字的特征信息;基于特征点和特征信息,计算移动路径所包括的笔画与对应文字的笔画的相似度;以及响应于确定相似度符合预定条件,确认移动路径与用户标识相匹配,以便将签名图像数据附加至关于订单的文件。

在上述方案中,通过计算所获取的移动路径的总长度,并且在移动路径的总长度大于或者等于预定长度阈值时生成签名图像数据,本公开可以避免在签名过小、签名不完整或者佯装签名等情况下生成无效的签名图像数据。另外,通过确定移动路径所包括的笔画的特征点,以及在预定字库中提取订单所指示的用户标识的对应文字的特征信息,本公开可以在系统内缺少预先存储的用户签名的情况下获取用于验证电子签名的匹配对象。再者,通过基于移动路径所包括的笔画的特征点和所提取特征信息来计算手写字的笔画与订单用户标识所对应文字的笔画之间相似度,并且在相似度符合预定条件时将签名图像数据附加至关于订单的文件,本公开可以快速并准确地计算手写字与匹配对象之间的相似度,不会出现因完全文字匹配而导致的运算速度慢、识别率低下、以及耗费算力等问题。因此,本公开能够实现远程电子签名确认,在脱离人工确认签名的情况下也能够降低交易安全隐患,提高交易的便捷性。

图1示出了根据本公开的实施例的用于实施用于生成电子签名的方法的系统100的示意图。如图1所示,系统100包括:多个终端设备110(例如包括:第一终端设备110-1至第n终端设备110-n)、计算设备130、网络150。多个终端设备110、计算设备130、可以通过网络150进行数据交互。

关于终端设备110,其用于采集用户输入对象在电子画布上的移动路径,然后向计算设备130提供所采集的输入对象的移动路径,然后由计算设备130计算移动路径的总长度,并且如果确定移动路径的总长度大于或者等于预定长度阈值时生成签名图像数据,以及计算移动路径所包括的笔画与用户标识的对应文字的笔画的相似度。在一些实施例中,终端设备110不仅可以用于采集用户输入对象在电子画布上的移动路径,并且终端设备110可以在本地计算移动路径的总长度,以及如果确定移动路径的总长度是否大于或者等于预定长度阈值,基于移动路径生成签名图像数据,并且计算移动路径所包括的笔画与对应文字的笔画的相似度。终端设备110例如是电子签名装置或者用户终端(该用户终端例如是销售人员的手机或者平板电脑、用户的手机或者平板电脑等设备)。终端设备110预先创建有用于供用户利用输入对象进行手写输入的电子画布。该输入对象例如而不限于是画笔等输入装置或者用户的手指。终端设备110的刷新频率例如是60帧/秒。

关于计算设备130,其用于获取在终端设备110的电子画布上的输入对象的移动路径并且计算移动路径的总长度;确认是否基于移动路径生成签名图像数据;确定移动路径所包括的笔画的特征点,在预定字库中提取订单关联用户标识的对应文字的特征信息;以及基于特征点和特征信息,计算移动路径所包括的笔画与对应文字的笔画的相似度;并且在确定相似度符合预定条件的情况下,将签名图像数据附加至关于订单的文件。计算设备130例如而不限于是服务器、台式计算机等。计算设备130也可以具有一个或多个处理单元,包括诸如图像处理单元gpu、现场可编程门阵列fpga和专用集成电路asic等的专用处理单元以及诸如中央处理单元cpu的通用处理单元。在一些实施例中,计算设备130例如包括:移动路径获取单元132、移动路径的总长度计算单元134、笔画特征点确定单元136、用户标识特征信息提取单元138、相似度计算单元140、签名图像数据附加单元142。

关于移动路径获取单元132,其用于获取在终端设备的电子画布上的输入对象的移动路径,以用于计算移动路径的总长度。

关于移动路径的总长度计算单元134,其用于确定移动路径的总长度是否大于或者等于预定长度阈值;并且如果确定移动路径的总长度大于或者等于预定长度阈值,基于移动路径生成签名图像数据。

关于笔画特征点确定单元136,其用于确定移动路径所包括的笔画的特征点,特征点至少包括笔画的起始点、结束点和转折点。

关于用户标识特征信息提取单元138,其用于获取与订单相关联的用户标识,以用于在预定字库中提取用户标识的对应文字的特征信息。

关于相似度计算单元140,其用于基于特征点和特征信息,计算移动路径所包括的笔画与对应文字的笔画的相似度。

关于签名图像数据附加单元142,其用于确定相似度是否符合预定条件;以及如果确定相似度符合预定条件,确认移动路径与用户标识相匹配,以便将签名图像数据附加至关于订单的文件。

以下将结合图2描述根据本公开的实施例的用于生成电子签名的方法200。图2示出了根据本公开的实施例的用于生成电子签名的方法200的流程图。应当理解,方法200例如可以在图6所描述的电子设备600处执行。也可以在图1所描述的计算设备130处执行。或者在图1所描述的终端设备110处执行。以下以计算设备130为例描述方法200。应当理解,方法200还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。

在步骤202处,计算设备130基于特征点和特征信息,计算移动路径所包括的笔画与对应文字的笔画的相似度。

关于终端设备,其例如预先被配置为已经创建了电子画布、画笔和路径对象。关于电子画布的创建方式,其例如包括:首先配置电子画布属性。然后设定电子画布的宽度、高度和方向,该宽度和高度例如是以像素为单位,电子画布的方向例如包括两种模式,一种是竖向,另一种是横向。之后,配置电子画布的分辨率和颜色模式。关于颜色模式,其例如被配置为rgb_565模式。由于创建电子画布涉及到位图(bitmap)的创建,由于bitmap创建过程中会占用终端设备大量的内存,通过将颜色模式设定为rgb_565模式,本公开可以减少终端设备内存的占用。例如,与将颜色模式设定为argb_8888模式相比,将颜色模式设定为rgb_565模式可以使得终端设备内存的占用减少一半。

关于输入对象,其例如而不限于是画笔。在一些实施例中,计算设备130还配置有消除锯齿、防止抖动等输入数据处理单元,以用于防止在用户手势移动过程中因画笔不顺滑或最终生成的签名图像数据不清晰。计算设备130还创建路径对象,以用于用户手势移动过程中将输入对象的移动路径被绘制成图像。

关于计算移动路径的总长度的方式,其例如包括:如果计算设备130检测到输入对象触摸用户终端的电子画布,监听输入对象的移动,以便确定是否检测到触摸事件回调;如果确定检测到触摸事件回调,基于当前坐标和检测到上一次触摸事件回调时的坐标,计算与当前次触摸事件回调相关的在第一方向上的坐标变化数据和在第二方向上的坐标变化数据;基于第一方向上的坐标变化数据和在第二方向上的坐标变化数据,计算与当前次触摸事件回调相关的移动路径的长度;如果计算设备130确认输入对象离开用户终端的电子画布,累加输入对象从触摸用户终端的电子画布至离开电子画布期间的与触摸事件相关的移动路径的长度,以便生成移动路径的总长度。下文将结合图3详细说明用于计算移动路径的总长度的方法300,在此,不再赘述。

在步骤204处,计算设备130确定移动路径的总长度是否大于或者等于预定长度阈值。

关于预定长度阈值,其例如是预先设置的、对应于人眼可见的像素长度阈值。例如,以android系统的终端设备的像素密度为160dpi为参考标准,其预定长度阈值例如而不限于被配置为50。例如,根据当前终端设备的像素密度与160dpi的像素密度参考标准的比较,等比例放大或缩小配置预定长度阈值。以下结合公式(1)说明预定长度阈值的配置方法。

k=p*50/160(1)

在上述公式(1)中,k代表针对当前终端设备所配置的预定长度阈值。p代表当前终端设备的像素密度。例如,对于像素密度为240dpi的终端设备,其预定长度阈值例如而不限于被配置为240/160*50=75。

如果计算设备130确定移动路径的总长度小于预定长度阈值,则跳转至步骤220,生成用于指示重新签名的信号。如果手写移动路径的总长度小于预定长度阈值则表明签名属于无效签名,例如签名过小,难以识别。

在步骤206处,如果计算设备130确定移动路径的总长度大于或者等于预定长度阈值,基于移动路径生成签名图像数据。通过将手写移动路径的总长度和预设人眼可见的像素阈值做对比,如果大于或者等于所预设的像素阈值则表明签字合乎可识别的要求,可以基于移动路径生成签名图像。由此,本公开可以保证所生成的签名图像便于人眼分辨。

在步骤208处,计算设备130确定移动路径所包括的笔画的特征点,特征点至少包括笔画的起始点、结束点和转折点。例如,以“七”字为例,计算设备130获取的特征点包括笔画的开始点、结束点和转折点。

关于转折点的确定方式,其例如包括:计算设备130计算当前笔画中各点位距离由该笔画的开始点和结束点所连成的直线的距离;然后,基于所计算的距离进行排序;之后,选取距离上述直线的距离最远的位点作为当前笔画的转折点。

在步骤210处,计算设备130获取与订单相关联的用户标识,以用于在预定字库中提取用户标识的对应文字的特征信息。

关于用户标识,其例如是用户姓名。

关于预定字库,其例如而不限于是tomoe字库。

例如,计算设备130首先获取关于租车订单中的用户姓名,然后提取预定字库中与该用户姓名中的各文字的特征信息。该特征信息例如包括用户姓名中的各文字的开始点、结束点和转折点数据。以下例如示例出用于实现在预定字库中提取用户标识的对应文字的特征信息的示意性代码:

“<character>

<utf8>七</utf8>

<strokes>

<stroke>

<pointx="85"y="508"/>

<pointx="895"y="338"/>

</stroke>

<stroke>

<pointx="465"y="120"/>

<pointx="483"y="802"/>

<pointx="860"y="800"/>

<pointx="905"y="667"/>

</stroke>

</strokes>

</character>”。

在步骤212处,计算设备130基于特征点和特征信息,计算移动路径所包括的笔画与对应文字的笔画的相似度。

关于计算移动路径所包括的笔画与对应文字的笔画的相似度的方式,其可以包括多种。例如,计算设备130确定移动路径所包括的笔画数与对应文字的笔画数是否一致;如果计算设备130确定移动路径所包括的笔画数与对应文字所包括的笔画数相一致,计算第一角度和第二角度的差值,以用于至少基于差值确定相似度,第一角度为移动路径所包括的每一个笔画的特征点至特征点的前一个坐标点的直线相对于第一方向的角度,第二角度为对应文字的笔画的特征点至特征点的前一个坐标点的直线相对于第一方向的角度,对应文字的笔画的特征点包括在特征信息中,并且至少包括对应文字的笔画的起始点、结束点和转折点。

以下结合公式(2)来说明用于计算第一角度或者第二角度的方法。

diretion=atan2(y,x)(2)

在上述公式(2)中,diretion代表所计算的第一角度或者第二角度。y代表特征点与该特征点的前一个坐标点的之间的y轴坐标的差值。x代表特征点与该特征点的前一个坐标点的之间的x轴坐标的差值。

在上述手段中,通过基于所计算第一角度和第二角度的差值来确定相似度,而非基于特征点的坐标来计算相似度,主要是因为:特征点的坐标通常与电子画板的大小相关,而计算设备130识别在终端设备处的手写输入的移动轨迹时,可能无法预先获取终端设备处的电子画布的大小,因此需要进行复杂的数据归一化处理,而上述所计算第一角度和第二角度与电子画布的大小无关,因此,本公开通过基于所计算第一角度和第二角度的差值来确定相似度可以进一步降低归一化处理的复杂性,提高手写签名匹配的运算速度。

下文将结合图4详细说明用于计算移动路径所包括的笔画与对应文字的笔画的相似度的方法400,在此,不再赘述。

在步骤214处,计算设备130确定相似度是否符合预定条件。

关于符合预定条件,其例如包括关于笔画平均点位相似值的第一相似度阈值和关于整个文字平均笔画相似值的第二相似度阈值。关于笔画平均点位相似值和文字平均笔画相似值的计算方式,下文将结合图4和方法400详细说明,在此,不再赘述。

在步骤216处,如果计算设备130确定相似度符合预定条件,确认移动路径与用户标识相匹配,以便将签名图像数据附加至关于订单的文件。如果计算设备130确定相似度不符合预定条件,跳转至步骤218,生成用于指示重新签名的信号和用于指示签名不匹配的信号中的至少一个。

例如,计算设备130首先确定是否以下至少一项满足:笔画平均点位相似值小于或者等于第一相似度阈值;文字平均笔画相似值小于或者等于第二相似度阈值。如果计算设备130确定以上至少一项满足,将签名图像数据附加至第一数据。

在上述方案中,通过计算所获取的移动路径的总长度,并且在移动路径的总长度大于或者等于预定长度阈值时生成签名图像数据,本公开可以避免在签名过小、签名不完整或者佯装签名等情况下生成无效的签名图像数据。另外,通过确定移动路径所包括的笔画的特征点,以及在预定字库中提取订单所指示的用户标识的对应文字的特征信息,本公开可以在系统内缺少预先存储的用户签名的情况下获取用于验证电子签名的匹配对象。再者,通过基于移动路径所包括的笔画的特征点和所提取特征信息来计算手写字的笔画与订单用户标识所对应文字的笔画之间相似度,并且在相似度符合预定条件时将签名图像数据附加至关于订单的文件,本公开可以快速并准确地计算手写字与匹配对象之间的相似度,不会出现因完全文字匹配而导致的运算速度慢、识别率低下、以及耗费算力等问题。因此,本公开能够实现远程电子签名确认,在脱离人工确认签名的情况下也能够降低交易安全隐患,提高交易的便捷性。

以下结合图3说明用于计算移动路径的总长度的方法300。图3示出了根据本公开的实施例的用于计算移动路径的总长度的方法300的流程图。应当理解,方法300例如可以在图6所描述的电子设备600处执行。也可以在图1所描述的计算设备130处执行。或者在图1所描述的终端设备110处执行。以下以计算设备130为例描述方法300。应当理解,方法300还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。

在步骤302处,计算设备130确定是否检测到输入对象触摸用户终端的电子画布。例如,计算设备130可以利用手势监听器(gesturedetector)中的内部接口来确认是否检测到“当轻触手势按下屏幕时发生的事件的通知”。上述通知例如在手指轻轻触摸屏幕一瞬间,由一个action_down触发,相关指令例如是‘ondown(motionevente)’。如果计算设备130确定没有检测到输入对象触摸用户终端的电子画布,继续执行步骤302。

在步骤304处,如果计算设备130确定检测到输入对象触摸用户终端的电子画布,监听输入对象的移动,以便确定是否检测到触摸事件回调。

关于监听输入对象的移动的方法,其例如包括计算设备130注册触摸事件回调。例如,如果终端设备的刷新频率是60帧/秒。即每帧的刷新时间约为16毫秒,则计算设备13可以配置为手势移动过程中每16毫秒回调一次。

在步骤306处,如果计算设备130确定检测到触摸事件回调,基于当前坐标和检测到上一次触摸事件回调时的坐标,计算与当前次触摸事件回调相关的在第一方向上的坐标变化数据和在第二方向上的坐标变化数据。根据每次触摸事件回调回来的当前坐标,计算设备130获取与单次触摸事件回调相关的x轴和y轴移动长度的绝对值。

在步骤308处,计算设备130基于第一方向上的坐标变化数据和在第二方向上的坐标变化数据,计算与当前次触摸事件回调相关的移动路径的长度。例如计算设备130获取与单次触摸事件回调相关的x轴和y轴移动长度的绝对值之后,通过勾股定理计算出与单次触摸事件回调相关的移动的路径长度。由于与单次触摸事件回调相关的移动的路径长度过小,因此,本公开可以采用浮点型计算,以便提高计算精度更高。

在步骤310处,计算设备130确认输入对象是否离开用户终端的电子画布。例如,计算设备130可以利用手势监听器(gesturedetector)中的内部接口来确认输入对象是否离开用户终端的电子画布。例如,计算设备130检测到“快速滑动后抬起事件的通知”(该通知例如由内部接口所获取的1个action_down和多个action_move和1个action_up所触发,相关指令例如是‘onfling(motionevente1,motionevente2,floatvelocityx,floatvelocityy)’)后的预定时间间隔内未检测到“当轻触手势按下屏幕时发生的事件的通知”,来确认输入对象离开用户终端的电子画布。

在步骤312处,如果计算设备130确认输入对象离开用户终端的电子画布,累加输入对象从触摸用户终端的电子画布至离开电子画布期间的与触摸事件相关的移动路径的长度,以便生成移动路径的总长度。例如,计算设备130可以针对根据手势移动路径中的与每一次触摸事件回调相关的移动的路径长度进行累加,最终得到从手指触摸电子画布开始至手指离开电子画布期间所获取的移动路径的总长度。

在上述方案中,本公开可以准确计算用户手写移动路径的长度,以用于识别签名过小等无效签名的情形。

以下结合图4说明用于计算笔画的相似度的方法400。图4示意性示出根据本公开的实施例的用于计算笔画的相似度的方法400的示意图。应当理解,方法400例如可以在图6所描述的电子设备600处执行。也可以在图1所描述的计算设备130处执行。或者在图1所描述的终端设备110处执行。以下以计算设备130为例描述方法400。应当理解,方法400还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。

在步骤402处,计算设备130将第一角度和第二角度的差值取正值,以生成每一笔画相似值。第一角度为移动路径所包括的每一个笔画的特征点至特征点的前一个坐标点的直线相对于第一方向的角度,第二角度为对应文字的笔画的特征点至特征点的前一个坐标点的直线相对于第一方向的角度。

以下结合公式(3)来说明用于计算每一笔画相似值的方法。

a+=fabs(diretiona-diretionb)(3)

在上述公式(3)中,diretiona代表所计算的第一角度。diretionb代表所计算的第二角度。a+代表第一角度和第二角度的差值的绝对值。第一角度和第二角度的差值的绝对值a+相加之后例如生成的每一笔画相似值a。

在步骤404处,计算设备130基于每一笔画相似值,生成笔画平均点位相似值。

关于生成笔画平均点位相似值的方式,其例如包括:比较移动路径所包括的每一个笔画的第一特征点数量和对应文字的对应笔画的第二特征点数量,以便确定第一特征点数量和第二特征点数量的差值最小的笔画的最小坐标数据;以及基于每一笔画相似值和最小坐标数据,生成笔画平均点位相似值。以下结合公式(4)来说明用于计算笔画平均点位相似值的方法。

b=a/fmin(pointsa-pointsb)(4)

在上述公式(4)中,pointsa代表移动路径所包括的每一个笔画的第一特征点数量。pointsb代表用户标识的对应文字的对应笔画的第二特征点数量。a代表每一笔画相似值。fmin(pointsa-pointsb)代表第一特征点数量和第二特征点数量的差值最小的笔画的最小坐标数据。b代表笔画平均点位相似值。一般而言,笔画平均点位相似值越小,表明移动路径所包括的每一个笔画与对应文字的对应笔画越为相似。

在步骤406处,计算设备130基于每一笔画相似值的累加值和移动路径所包括的笔画数,生成文字平均笔画相似值。一般而言,文字平均笔画相似值越小,表明移动路径所包括的手写体与对应文字的对应笔画越为相似。

在上述方案中,本公开可以快速并准确地计算手写字与订单关联用户标识的对应文字之间相似度。

以下结合图5说明用于生成电子签名的方法500。图5示出了根据本公开的实施例的用于生成电子签名的方法500的流程图。应当理解,方法500例如可以在图6所描述的电子设备600处执行。也可以在图1所描述的计算设备130处执行。或者在图1所描述的终端设备110处执行。以下以终端设备110为例描述方法500。

在步骤502处,终端设备110创建电子画布。

在步骤504处,终端设备110创建用于在电子画布上进行手写输入的画笔。

在步骤506处,终端设备110监听在电子画布上的画笔移动,以用于确定触摸事件回调,以及获取画笔的移动路径。

在步骤508处,终端设备110确定画笔的移动路径的总长度是否大于或者等于预定长度阈值。

在步骤510处,如果终端设备110确定画笔的移动路径的总长度小于预定长度阈值,生成用于指示重新签名的信号。

在步骤512处,如果终端设备110确定画笔的移动路径的总长度大于或者等于预定长度阈值,基于移动路径生成签名图像数据。

在步骤514处,终端设备110确定移动路径所包括的笔画的特征点,特征点至少包括笔画的起始点、结束点和转折点。

在步骤516处,终端设备110获取与订单相关联的用户标识,以用于在预定字库中提取用户标识的对应文字的特征信息。

在步骤518处,终端设备110基于特征点和特征信息,计算移动路径所包括的笔画与对应文字的笔画的相似度。

关于计算移动路径所包括的笔画与对应文字的笔画的相似度的方式,其例如可以基于knn算法来实现。例如,终端设备110利用欧式距离计算待识别的移动路径所指示的手写体文字所包括的各个笔画的特征点与用户标识的对应文字所包括各个笔画的特征信息之间的相似度。以下结合公式(5)说明基于knn算法来计算移动路径所包括的笔画与对应文字的笔画的相似度的方法。

(5)

在上述公式(5)中,代表欧几里得空间内关于特征点的特征向量和关于特征信息的特征向量之间的距离。代表关于移动路径所指示的手写体文字所包括各个笔画的特征点的特征向量。代表关于用户标识的对应文字所包括各个笔画的特征信息的特征向量。

在步骤520处,终端设备110确定相似度是否符合预定条件。

在步骤522处,如果终端设备110确定相似度符合预定条件,确认移动路径与用户标识相匹配,以便将签名图像数据附加至关于订单的文件。如果终端设备110确定相似度不符合预定条件,跳转至步骤524,生成用于指示重新签名的信号和用于指示签名不匹配的信号中的至少一个。

在上述方案中,本公开能够实现远程电子签名确认,在脱离人工确认签名的情况下也能够降低交易安全隐患,提高交易的便捷性。

图6示意性示出了适于用来实现本公开实施例的电子设备(或者计算设备)600的框图。设备600可以是用于实现执行图2至图5所示的方法200至500的设备。如图6所示,设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的计算机程序指令或者从存储单元608加载到随机存取存储器(ram)603中的计算机程序指令,来执行各种适当的动作和处理。在ram中,还可存储设备600操作所需的各种程序和数据。cpu、rom以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

设备600中的多个部件连接至输入/输出(i/o)605,包括:输入单元606、输出单元607、存储单元608,中央处理单元601执行上文所描述的各个方法和处理,例如执行方法200至500例如,在一些实施例中,方法200至500可被实现为计算机软件程序,其被存储于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram并由cpu执行时,可以执行上文描述的方法200至500的一个或多个操作。备选地,在其他实施例中,cpu可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200至500的一个或多个动作。

需要进一步说明的是,本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如c语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或步骤图描述了本公开的各个方面。应当理解,流程图和/或步骤图的每个方步骤以及流程图和/或步骤图中各方步骤的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给语音交互装置中的处理器、通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或步骤图中的一个或多个方步骤中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或步骤图中的一个或多个方步骤中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或步骤图中的一个或多个方步骤中规定的功能/动作。

附图中的流程图和步骤图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或步骤图中的每个方步骤可以代表一个模块、程序段或指令的一部分,该模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方步骤中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,步骤图和/或流程图中的每个方步骤、以及步骤图和/或流程图中的方步骤的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

以上仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

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