CN117746442A - 手写签名验证方法、装置及电子设备 - Google Patents
手写签名验证方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117746442A CN117746442A CN202311521084.9A CN202311521084A CN117746442A CN 117746442 A CN117746442 A CN 117746442A CN 202311521084 A CN202311521084 A CN 202311521084A CN 117746442 A CN117746442 A CN 117746442A
- Authority
- CN
- China
- Prior art keywords
- signature
- image
- verification
- character
- handwriting
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 160
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000000605 extraction Methods 0.000 claims description 24
- 238000012549 training Methods 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000032683 aging Effects 0.000 claims description 3
- 238000007499 fusion processing Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000013136 deep learning model Methods 0.000 abstract 1
- 238000012015 optical character recognition Methods 0.000 description 6
- 238000005242 forging Methods 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- BULVZWIRKLYCBC-UHFFFAOYSA-N phorate Chemical compound CCOP(=S)(OCC)SCSCC BULVZWIRKLYCBC-UHFFFAOYSA-N 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Collating Specific Patterns (AREA)
Abstract
本申请涉及文字识别技术领域,具体提供一种手写签名验证方法包括:基于预先设置的标准字符图像库,获取标准字符骨架图像库,基于采集签名画布上进行签名的手写签名视频获取多个手写签名笔迹数据,分别基于各个手写签名笔迹数据截取到的目标签名字符图像提取目标签名骨架图像,分别基于各个手写签名笔迹数据及其对应的目标签名骨架图像和标准字符骨架图像库利用签名模型进行第一验证,得到多个第一验证结果,若多个第一验证结果均为正确则对签名画布内的数字水印进行第二验证,基于得到的第二验证结果,确定签名是否为正确签名。本申请通过利用深度学习模型和数字水印技术提供了一种签名验证方法,能够对签名图像和用户姓名进行准确的匹配和验证。
Description
技术领域
本申请涉及计算机信息处理技术领域,具体涉及一种手写签名验证方法、装置、及电子设备。
背景技术
手写签名是一种重要的身份认证方式,在各个领域得到了广泛应用,例如银行、医院、法律等行业。在针对普通用户的签名场景中,如临床实验、实名问卷填写等,通常只有用户的姓名信息,而没有预存签名模板,无法使用图片对比的方案进行签名校验,只能通过比较签名和标准文本姓名的一致性进行。
然而,现有的签名识别技术在处理手写签名时存在一些问题。如一种轮廓示范方案是在画布上示出签名的轮廓,让签名者照着轮廓去写,得到正确的签名文字,这种方式虽然能够完成验证,但却有违背真实签名的本意。
此外,另有的方案借由光学文字识别OCR技术识别手写字体的方式验证一致性,但由于手写字体的识别相对于印刷字体更加困难,因为手写字体存在连笔或其他个性化特征,因此传统的OCR技术在处理手写字体时往往准确率较低,容易产生识别错误。
发明内容
为解决以上问题,本申请提供一种手写签名验证方法,通过预先设置包含多个标准字符图像的标准字符图像库,基于标准字符图像库,获取标准字符骨架图像库,能够预先构建正确的字符图像信息,为后续手写签名图像校验提供基础校验数据;然后采集签名画布上进行签名的手写签名视频,基于手写签名视频获取多个初始签名字符图像,分别获取各个初始签名字符图像的手写签名笔迹数据,分别基于各个手写签名笔迹数据截取对应的初始签名字符图像,得到各个手写签名笔迹数据对应的目标签名字符图像,基于各个目标签名字符图像,分别提取目标签名字符图像的签名骨架图像,得到各个手写签名笔迹数据对应的目标签名骨架图像,最后分别基于各个手写签名笔迹数据及其对应的目标签名骨架图像和标准字符骨架图像库,利用预先训练的签名模型进行第一验证,得到多个第一验证结果,能够根据采集到的手写签名视频获取各个始签名字符图像的手写签名笔迹数据,基于这些手写签名笔迹数据能够轻松捕捉到手写签名的动态特征,然后结合各个手写签名笔迹数据对应的目标签名骨架图像与标准字符骨架图像库进行验证,有效地提高校验的敏感度和精确性;若多个第一验证结果均为正确,则对签名画布内的数字水印进行第二验证,得到第二验证结果,基于第二验证结果,确定手写签名是否为正确签名,能够防止伪造签名的情况,有效提高手写签名校验的安全性和可靠性,提高用户的使用体验感。
第一方面,本申请实施例提供了一种手写签名验证方法,包括:预先设置包含多个标准字符图像的标准字符图像库,基于所述标准字符图像库,获取标准字符骨架图像库;采集签名画布上进行签名的手写签名视频,基于所述手写签名视频获取多个初始签名字符图像;分别获取各个所述初始签名字符图像的手写签名笔迹数据;分别基于各个所述手写签名笔迹数据截取对应的所述初始签名字符图像,得到各个所述手写签名笔迹数据对应的目标签名字符图像,基于各个所述目标签名字符图像,分别提取所述目标签名字符图像的签名骨架图像,得到各个所述手写签名笔迹数据对应的目标签名骨架图像;分别基于各个所述手写签名笔迹数据及其对应的所述目标签名骨架图像和所述标准字符骨架图像库,利用预先训练的签名模型分别进行第一验证,得到多个第一验证结果;若多个所述第一验证结果均为正确,则对所述签名画布内的数字水印进行第二验证,得到第二验证结果;基于所述第二验证结果,确定手写签名是否为正确签名。
第二方面,本申请实施例提供了一种手写签名验证装置,包括:设置模块,用于预先设置包含多个标准字符图像的标准字符图像库,基于所述标准字符图像库,获取标准字符骨架图像库;第一获取模块,用于采集签名画布上进行签名的手写签名视频,基于所述手写签名视频获取多个初始签名字符图像;第二获取模块,用于分别获取各个所述初始签名字符图像的手写签名笔迹数据;提取模块,用于分别基于各个所述手写签名笔迹数据截取对应的所述初始签名字符图像,得到各个所述手写签名笔迹数据对应的目标签名字符图像,基于各个所述目标签名字符图像,分别提取所述目标签名字符图像的签名骨架图像,得到各个所述手写签名笔迹数据对应的目标签名骨架图像;签名校验模块,用于分别基于各个所述手写签名笔迹数据及其对应的所述目标签名骨架图像和所述标准字符骨架图像库,利用预先训练的签名模型分别进行第一验证,得到多个第一验证结果;数字水印校验模块,用于若多个所述第一验证结果均为正确,则对所述签名画布内的数字水印进行第二验证,得到第二验证结果;确定模块,用于基于所述第二验证结果,确定手写签名是否为正确签名。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述第一方面所述的方法。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请实施例通过预先设置包含多个标准字符图像的标准字符图像库,基于标准字符图像库,获取标准字符骨架图像库,能够预先构建正确的字符图像信息,为后续手写签名图像校验提供基础校验数据;然后采集签名画布上进行签名的手写签名视频,基于手写签名视频获取多个初始签名字符图像,分别获取各个初始签名字符图像的手写签名笔迹数据,分别基于各个手写签名笔迹数据截取对应的初始签名字符图像,得到各个手写签名笔迹数据对应的目标签名字符图像,基于各个目标签名字符图像,分别提取目标签名字符图像的签名骨架图像,得到各个手写签名笔迹数据对应的目标签名骨架图像,最后分别基于各个手写签名笔迹数据及其对应的目标签名骨架图像和标准字符骨架图像库,利用预先训练的签名模型进行第一验证,得到多个第一验证结果,能够根据采集到的手写签名视频获取各个始签名字符图像的手写签名笔迹数据,基于这些手写签名笔迹数据能够轻松捕捉到手写签名的动态特征,为后续手写签名的识别和校验提供重要依据,此外,通过基于深度学习的训练方法训练得到的签名模型进行第一验证,能够显著提升验证的泛化性和鲁棒性,提升校验姓名的准确率。
进一步地,通过结合各个手写签名笔迹数据对应的目标签名骨架图像与标准字符骨架图像库进行验证,能够有效地提高校验的敏感度和精确性;若第一验证结果为正确,则对签名画布内的数字水印进行第二验证,得到第二验证结果,基于第二验证结果,确定手写签名是否为正确签名,能够防止伪造签名或者篡改签名的情况,有效提高手写签名校验的安全性和可靠性,提高用户的使用体验感,而且还能够用于跟踪手写签名的授权和传播情况,提升对身份认证和签名授权管理的重要性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例所提供的一种手写签名验证方法的流程图;
图2示出了本申请实施例所提供的获取标准姓名骨架图像库的流程图;
图3示出了本申请实施例所提供的基于手写签名视频获取多个初始签名字符图像的流程图;
图4示出了本申请实施例所提供的采集签名画布上的手写签名笔迹数据和初始手写签名图像的流程图;
图5示出了本申请实施例所提供的生成签名画布的流程图;
图6示出了本申请实施例所提供的提取签名骨架图像的流程图;
图7示出了本申请实施例所提供的签名模型进行第一验证的流程图;
图8示出了本申请实施例所提供的训练签名模型的结构示意图;
图9示出了本申请实施例所提供的一种手写签名验证装置的结构示意图;
图10示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
手写签名是一种重要的身份认证方式,在各个领域得到了广泛应用,例如银行、医院、法律等行业。在针对普通用户的签名场景中,如临床实验、实名问卷填写等,通常只有用户的姓名信息,而没有预存签名模板,无法使用图片对比的方案进行签名校验,只能通过比较签名和标准文本姓名的一致性进行。
然而,现有的签名识别技术在处理手写签名时存在一些问题。如一种轮廓示范方案是在画布上示出签名的轮廓,让签名者照着轮廓去写,得到正确的签名文字,这种方式虽然能够完成验证,但却有违背真实签名的本意。
此外,另有的方案借由光学文字识别OCR技术识别手写字体的方式验证一致性,但由于手写字体的识别相对于印刷字体更加困难,因为手写字体存在连笔或其他个性化特征,因此传统的OCR技术在处理手写字体时往往准确率较低,容易产生识别错误。
基于此,本申请实施例提供一种手写签名验证方法。下面结合附图对本申请实施例的方案进行具体说明。
参见图1示出的一种手写签名验证方法的流程图,该方法具体包括以下步骤:
步骤101:预先设置包含多个标准字符图像的标准字符图像库。
步骤102:基于标准字符图像库,获取标准字符骨架图像库。
步骤101至步骤102的一个实施方式中,如图2所示,可以预先设置包含有多个用户姓名字符的字符库,然后针对预先设置的字符库中的每个用户姓名字符:利用预先设置的字体库将用户姓名字符加载为选择的字体样式,然后利用预先设置的图像处理库创建一个空白图像,并逐个将每个用户姓名字符绘制在空白图像上的指定位置,得到标准字符图像,最后将得到的所有标准字符图像的集合作为标准字符图像库。
进一步地,可以依次将标准字符图像库中的每个标准字符图像进行二值化处理,然后利用骨架提取算法对进行二值化处理后的标准字符图像进行提取处理,然后得到每个标准姓名图像对应的标准字符骨架图像,最后将所有的标准字符骨架图像的集合作为标准字符骨架图像库。
需要说明的是,骨架提取算法可以采用Zhang-Suen算法。同时,上述的骨架提取算法是本领域技术人员惯用的对图像进行骨架图像提取的算法,因此,本申请实施例不在详细进行赘述。
通过获取标准字符图像库的标准字符骨架图像库,能够有效地减少数据量,减少图像的存储难度和识别难度,提高识别精度,进而提升手写签名的验证精确度。
步骤103:采集签名画布上进行签名的手写签名视频,基于手写签名视频获取多个初始签名字符图像。
一种实施方式中,可以在用户在签名画布进行手写签名时,调用摄像装置进行录像,得到该签名画布上的进行签名的手写签名视频,然后对采集到的手写签名视频进行预处理,具体地如图3所示,可以是对该手写签名视频的视频帧依次进行帧率标准化、去噪声以及亮度和对比度调整处理,得到处理后的手写签名视频,最后使用OpenCV(跨平台计算机视觉和机器学习软件库)算法提供视频处理库对处理后的手写签名视频的视频帧进行提取处理,得到多个关键帧。
进一步地,可以使用边缘检测算法,对每个关键帧进行边缘检测,得到每个字符的边缘信息,分别对每个字符的边缘像素进行连通处理,得到多个连通区域,然后分别对各个连通区域进行切分处理,得到多个初始签名字符图像。
需要说明的是,使用OpenCV算法提供视频处理库对处理后的手写签名视频的视频帧进行提取处理可以采用图像差异法、运动信息法(如光流法)以及时间间隔法中的任意一种方式进行提取,本申请实施例不作具体限定。
边缘检测算法可以使用Sobel、Canny等算法,本申请实施例不作具体限定。
对连通区域进行分割处理可以采用分水岭算法、轮廓逼近等技术,本申请实施例不作具体限定。
步骤104:分别获取各个初始签名字符图像的手写签名笔迹数据。
一个实施方式中,如图4所示,可以通过签名设备进行签名操作,签名设备在签名画布上捕捉和记录各个初始签名字符图像及其对应的手写签名笔迹数据,然后将各个初始签名字符图像及其对应的手写签名笔迹数据保存到签名设备或者云端服务器或者其他的存储介质中,最后从签名设备或者云端服务器或者其他的存储介质中采集初始签名字符图像及其对应的手写签名笔迹数据。
进一步地,在签名设备上进行手写签名的过程中,可以将各个签名字符的签名过程转化为一系列坐标点,实时获取每个笔迹点的笔迹点坐标和笔迹点时间等签名信息,然后将签名信息序列化,得到Seq=[(x1,y1,t1),(x2,y2,t2),...,(xn,yn,tn)]。其中,Seq为各个签名字符的手写签名笔迹数据,xn为各个签名字符第n个笔迹点位置的横坐标,yn为各个签名字符的第n个笔迹点位置的纵坐标,tn为各个签名字符的第n个笔迹点位置的笔迹点时间。
进一步地,获取在签名设备上进行手写签名完成之后的初始签名字符图像。
需要说明的是,签名设备可以是包括电子签名板或者触摸屏或者数字笔等的手机、平板、电脑、电子表等电子设备。
通过采集各个初始签名字符图像对应的手写签名笔迹数据,能够有效地捕捉到手写签名过程中的动态特征,然后结合初始签名字符图像,能够从多个维度表征手写签名信息,提高手写签名校验的准确性。
在上述实施方式的基础上,在一些变更的实施方式中,如图5所示,在分别获取各个初始签名字符图像的手写签名笔迹数据之前,还可以基于预设的用户姓名、签名时间和签名地点生成空白签名画布的基础水印图像,然后利用预设的随机数种子对基础水印图像进行加密处理,得到加密数字水印图像,最后将加密数字水印图像进行嵌入处理,得到不可见数字水印的签名画布。
进一步地,利用预设的随机数种子对基础水印图像进行加密处理,得到加密数字水印图像,具体包括:将带有用户姓名、签名时间和签名地点信息的基础水印图像转换为二进制形式,遍历该基础水印图像的所有像素,获取每个像素的行序和列序,然后使用随机数种子打乱行序和列序的顺序,根据打乱后的行序和列序,重新排列原始图像的像素,将打乱后的像素按照新的顺序放置在新的图像中,得到基础水印图像。
进一步地,将数字水印进行嵌入处理,得到不可见数字水印的签名画布,具体可以是采用空域技术,频域技术或混合技术将加密数字水印图像进行嵌入处理,得到不可见数字水印的签名画布。
需要说明的是,预设的用户姓名可以是登陆当前签名设备的用户的登陆名称或者实际用户名称,签名时间指的是实时的当前时间,签名地点指的是实时的当前地点。
预设的随机数种子可以是任意的数字或者字符串,本申请实施例不作具体限定。
通过给签名画布嵌入加密数字水印图像,能够对签名的实时性和有效性进行进行检测,增加手写签名验证的时效性,有效预防手写签名伪造和篡改的情况,提高使用安全。
步骤105:分别基于各个手写签名笔迹数据截取对应的初始签名字符图像,得到各个手写签名笔迹数据对应的目标签名字符图像,基于各个目标签名字符图像,分别提取目标签名字符图像的签名骨架图像,得到各个手写签名笔迹数据对应的目标签名骨架图像。
一个实施方式中,如图6所示,可以基于第一手写签名笔迹数据,获取包含第一手写签名笔迹数据对应的初始签名字符图像的最小包围矩形图像,将该最小包围矩形图像转换为黑白图像,得到第一手写签名笔迹数据对应的目标签名字符图像,利用骨架提取算法对该目标签名字符图像进行提取,得到第一手写签名笔迹数据对应的目标签名骨架图像。
需要说明的是,第一手写签名笔迹数据为多个手写签名笔迹数据中的任意一个。
进一步地,基于第一手写签名笔迹数据,获取包含第一手写签名笔迹数据对应的初始签名字符图像的最小包围矩形图像具体可以是通过公式(1)-(4)计算第一手写签名笔迹数据中所有笔迹点位置的最小包围矩形的位置和大小,将该矩形作为边界框,然后该以该边界框为边界的包含第一手写签名笔迹数据对应的初始签名字符图像为最小包围矩形图像,公式(1)-(4)如下所示:
x1 = min(x for (x, y, t) in Seq) (1)
y1 = min(y for (x, y, t) in Seq) (2)
x2 = max(x for (x, y, t) in Seq) (3)
y2 = max(y for (x, y, t) in Seq) (4)
其中,Seq为第一手写签名笔迹数据,x1和y1是上述最小包围矩形的第一坐标,x2和y2是上述最小包围矩形的第二坐标,根据第一坐标和第二坐标确定该最小包围矩形。
进一步地,将该最小包围矩形图像转换为黑白图像,得到第一手写签名笔迹数据对应的目标签名字符图像具体地可以是采用图像二值化算法将该最小包围矩形图像转换为黑白图像,得到目标签名字符图像。
通过对最小包围矩形图像进行黑白图像转换,使得手写签名校验不受颜色的影响,提高手写签名图像的对比度,大幅地减少数据量,便于利用骨架提取算法对目标签名字符图像进行提取,得到第一手写签名笔迹数据对应的目标签名骨架图像,提升提取效率和计算速度。
步骤106:分别基于各个手写签名笔迹数据及其对应的目标签名骨架图像和标准字符骨架图像库,利用预先训练的签名模型分别进行第一验证,得到多个第一验证结果。
一种实施方式中,如图7所示,预先训练的签名模型可以包括第一子网络、第二子网络、计算层和输出层,利用第一子网络对第一手写签名笔迹数据进行序列特征提取,得到第一特征,对第一手写签名笔迹数据对应的目标签名骨架图像进行图像特征提取,得到第二特征,然后将第一特征和第二特征进行特征融合处理,得到待验证签名特征,利用第二子网络对标准字符骨架图像库进行特征提取,得到用户姓名字符特征库,利用计算层计算待验证签名特征与用户姓名字符特征库中用户姓名字符特征的相似度,利用输出层基于相似度,输出第一验证结果。
需要说明的是,第一手写签名笔迹数据为多个手写签名笔迹数据中的任意一个。
进一步地,第一子网络包括签名图像特征提取层、笔迹序列特征提取层以及特征融合层,利用笔迹序列特征提取层对第一手写签名笔迹数据进行序列特征提取,得到第一特征,利用签名图像特征提取层对第一手写签名笔迹数据对应的目标签名骨架图像进行图像特征提取,得到第二特征,然后将第一特征和第二特征输入到特征融合层,利用该特征融合层进行融合处理,得到待验证签名特征。
进一步地,第二子网络可以包括字符图像特征提取层,利用字符图像特征提取层对标准字符骨架图像库进行特征提取,得到标准字符骨架特征。
进一步地,利用输出层基于相似度,输出第一验证结果具体地可以是将相似度与预设的阈值进行比较,若相似度超过预设的阈值,则得到正确签名的第一验证结果,否则,得到错误签名的第二验证结果;或者,若相似度超过预设的阈值,则将1作为验证结果,否则,将0作为验证结果;或者,若相似度超过预设的阈值,则将YES作为验证结果,否则,将NO作为验证结果。
需要说明的是,验证结果可以使用中文、数字以及字符的其中一种或者多种组合进行表示,本申请实施例不作具体限定。
在上述实施方式的基础上,在一种变更的实施方式中,可以在利用笔迹序列特征提取层对第一手写签名笔迹数据进行特征提取,得到第一特征之前,获取签名画布的宽度和高度,然后分别对第一手写签名笔迹数据中每个点位置的横坐标、纵坐标进行归一化处理,归一化处理后的横坐标归一化后的纵坐标:/>W为签名画布的宽度,H为签名画布的高度;然后获取第一手写签名笔迹数据中时间的最大时间和最小时间,然后分别对第一手写签名笔迹数据中每个点位置的时间进行归一化处理,归一化处理后的时间tmin为最小时间,tmax为最大时间。
在上述实施方式的基础上,在一种变更的实施方式中,如图8所示,可以在分别基于各个手写签名笔迹数据及其对应的目标签名骨架图像和标准字符骨架图像,利用预先训练的签名模型分别进行第一验证,得到多个第一验证结果之前,还可以以多条对应的待训练手写签名笔迹数据、待训练签名骨架图像和待训练标准字符骨架图像构建为多模态训练数据集,基于多模态训练数据集,利用对比学习训练策略对待训练的签名模型进行训练,达到收敛条件时,获得签名模型。
具体地,利用待训练的第一子网络的第一特征提取模块对所有所述待训练手写签名笔迹数据分别进行单模态特征提取,生成能够反映手写签名笔迹信息的多个第一待训练特征,利用待训练的第一子网络的第二特征提取模块对所有所述待训练签名骨架图像分别进行单模态特征提取,生成能够反映签名骨架信息的多个第二待训练特征;
分别将多个第一待训练特征与第二待训练特征作为共同输入,对待训练的第一子网络的融合模块进行训练,学习包含多模态信息的签名骨架和手写笔迹特征表示;
利用待训练的第二子网络的第三特征提取模块对所有的待训练标准字符骨架图像分别进行单模态特征提取,生成能够反映标准姓名字符信息的多个第三待训练特征;
利用待训练的签名模型的计算层对融合模块学习到的特征表示与第三待训练特征进行相似度计算;
利用待训练的签名模型的输出层输出计算结果,获得签名模型。
需要说明的是,收敛条件可以是利用对比学习训练策略对待训练的签名模型进行训练时,采用对比损失函数得到的损失值,若该损失值小于预设的损失阈值时,确定为该训练值达到收敛条件,得到签名模型;收敛条件也可以是在利用对比学习训练策略对待训练的签名模型进行训练时,采用优化算法对模型参数进行优化时的优化次数,若该优化次数超过预设的次数时,确定为该优化次数达到收敛条件,得到签名模型;也可以是在上述的损失值和优化次数同时达到收敛条件时,得到签名模型。本申请实施例不作具体限定。
通过构建多模态训练数据集,对待训练的签名模型进行训练,能够为待训练的签名模型提供更加丰富的数据信息,使得待训练的签名模型学习到的表示更加完备,而且,多模态训练数据集可以显著增强待训练的签名模型的泛化能力,提高模型的鲁棒性,使得待训练的签名模型更好地适应不同的场景和任务。
步骤107:判断多个第一验证结果是否均为正确,若是,则跳转至步骤108;若否,则跳转至步骤111。
一个实施方式中,可以预先设置验证结果为正确签名的具体内容,若验证结果与预先设置的内容相同,则判定该验证结果为正确,否则,判定该验证结果为错误。例如,若预先设置的验证结果为正确签名的具体内容为“正确签名”,则若验证结果的内容也是“正确签名”,则判定该验证结果为正确;若预先设置的验证结果为正确签名的具体内容为“Aa123”,则若验证结果的内容也是“Ab123”,则判定该验证结果为错误。
步骤108:对签名画布内的数字水印进行第二验证,得到第二验证结果。
一个实施方式中,可以提取签名画布中的待验证数字水印图像,利用预设的随机数种子对待验证数字水印图像进行解密处理,得到解密后的待验证数字水印图像,根据解密后的待验证数字水印图像信息与预存的原始数字水印图像信息进行第二验证,得到第二校验结果。
通过检验签名画布中数字水印信息,能够防止伪造签名的情况,有效提高手写签名校验的安全性和可靠性,提高用户的使用体验感。
在上述实施方式的基础上,在一些变更的实施方式中,待验证数字水印图像包括签名时间,上述第二验证还包括时效检验,具体地可以是判断签名时间与当前时间的签名时长是否超过预设时长阈值,若超过,则判定手写签名为签名超时,输出签名超时提醒;若未超过,则判定手写签名为正确。
需要说明的是,预设时长阈值指的是预先设置的用于判断签名时长是否超时的时长。预设时长阈值可以是本领域技术人员根据实际需要设置的时长,也可以是本领域技术人员根据实际需要对已设置的时长进行调整后得到的时长。本申请实施例不作具体限定。
步骤109:判断第二验证结果是否正确,若是,则跳转至步骤110;若否,则跳转至步骤111。
步骤110:确定手写签名是否为正确签名。
步骤111:确定手写签名是否为错误签名。
本申请实施例通过预先设置包含多个标准字符图像的标准字符图像库,基于标准字符图像库,获取标准字符骨架图像库,能够预先构建正确的字符图像信息,为后续手写签名图像校验提供基础校验数据;然后采集签名画布上进行签名的手写签名视频,基于手写签名视频获取多个初始签名字符图像,分别获取各个初始签名字符图像的手写签名笔迹数据,分别基于各个手写签名笔迹数据截取对应的初始签名字符图像,得到各个手写签名笔迹数据对应的目标签名字符图像,基于各个目标签名字符图像,分别提取目标签名字符图像的签名骨架图像,得到各个手写签名笔迹数据对应的目标签名骨架图像,最后分别基于各个手写签名笔迹数据及其对应的目标签名骨架图像和标准字符骨架图像库,利用预先训练的签名模型进行第一验证,得到多个第一验证结果,能够根据采集到的手写签名视频获取各个始签名字符图像的手写签名笔迹数据,基于这些手写签名笔迹数据能够轻松捕捉到手写签名的动态特征,为后续手写签名的识别和校验提供重要依据,此外,通过基于深度学习的训练方法训练得到的签名模型进行第一验证,能够显著提升验证的泛化性和鲁棒性,提升校验姓名的准确率。
进一步地,通过结合各个手写签名笔迹数据对应的目标签名骨架图像与标准字符骨架图像库进行验证,能够有效地提高校验的敏感度和精确性;若第一验证结果为正确,则对签名画布内的数字水印进行第二验证,得到第二验证结果,基于第二验证结果,确定手写签名是否为正确签名,能够防止伪造签名或者篡改签名的情况,有效提高手写签名校验的安全性和可靠性,提高用户的使用体验感,而且还能够用于跟踪手写签名的授权和传播情况,提升对身份认证和签名授权管理的重要性。
参见图9,本申请实施例还提供一种手写签名验证装置,该装置用于执行上述实施例所述的手写签名验证方法,该装置包括:
设置模块201,用于预先设置包含多个标准字符图像的标准字符图像库,基于标准字符图像库,获取标准字符骨架图像库;
第一获取模块202,用于采集签名画布上进行签名的手写签名视频,基于手写签名视频获取多个初始签名字符图像;
第二获取模块203,用于分别获取各个初始签名字符图像的手写签名笔迹数据;
提取模块204,用于分别基于各个手写签名笔迹数据截取对应的初始签名字符图像,得到各个手写签名笔迹数据对应的目标字符签名图像,分别基于各个目标字符签名图像,分别提取目标字符签名图像的签名骨架图像,得到各个手写签名笔迹数据对应的目标签名骨架图像;
签名校验模块205,用于分别基于各个手写签名笔迹数据及其对应的目标签名骨架图像和标准字符骨架图像库,利用预先训练的签名模型分别进行第一验证,得到多个第一验证结果;
数字水印校验模块206,用于若多个第一验证结果均为正确,则对签名画布内的数字水印进行第二验证,得到第二验证结果;
确定模块207,用于基于第二验证结果,确定手写签名是否为正确签名。
本申请实施例提供的手写签名验证装置与上述实施例提供的手写签名验证方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的手写签名验证方法对应的电子设备。请参考图10,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图手写签名验证所示,所述电子设备30可以包括:处理器300,存储器301,总线302和通信接口303,所述处理器300、通信接口303和存储器301通过总线302连接;所述存储器301中存储有可在所述处理器300上运行的计算机程序,所述处理器300运行所述计算机程序时执行本申请前述任一实施方式所提供的手写签名验证方法。
其中,存储器301可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个物理端口303(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线302可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器301用于存储程序,所述处理器300在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述手写签名验证方法可以应用于处理器300中,或者由处理器300实现。
处理器300可能是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器300中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器300可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器301,处理器300读取存储器301中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的手写签名验证方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的手写签名验证方法对应的计算机可读存储介质,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的手写签名验证方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请实施方式还提供一种与前述实施方式所提供的手写签名验证方法对应的计算机程序产品,包括计算机程序,该计算机程序被处理器执行以实现上述各实施例提供的手写签名验证方法。
本申请的上述实施例提供的计算机可读存储介质、计算机程序产品均与本申请实施例提供的手写签名验证方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备有固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种手写签名验证方法,其特征在于,包括:
预先设置包含多个标准字符图像的标准字符图像库,基于所述标准字符图像库,获取标准字符骨架图像库;
采集签名画布上进行签名的手写签名视频,基于所述手写签名视频获取多个初始签名字符图像;
分别获取各个所述初始签名字符图像的手写签名笔迹数据;
分别基于各个所述手写签名笔迹数据截取对应的所述初始签名字符图像,得到各个所述手写签名笔迹数据对应的目标签名字符图像,基于各个所述目标签名字符图像,分别提取所述目标签名字符图像的签名骨架图像,得到各个所述手写签名笔迹数据对应的目标签名骨架图像;
分别基于各个所述手写签名笔迹数据及其对应的所述目标签名骨架图像和所述标准字符骨架图像库,利用预先训练的签名模型分别进行第一验证,得到多个第一验证结果;
若多个所述第一验证结果均为正确,则对所述签名画布内的数字水印进行第二验证,得到第二验证结果;
基于所述第二验证结果,确定手写签名是否为正确签名。
2.根据权利要求1所述的手写签名验证方法,其特征在于,所述对所述签名画布内的数字水印进行第二验证,得到第二验证结果,包括:
提取所述签名画布中的待验证数字水印图像;
利用预设的随机数种子对所述待验证数字水印图像进行解密处理,得到解密后的待验证数字水印图像;
根据所述解密后的待验证数字水印图像信息与预存的原始数字水印图像信息进行第二验证,得到第二校验结果。
3.根据权利要求2所述的手写签名验证方法,其特征在于,所述待验证数字水印图像包括签名时间,所述第二验证还包括时效检验,所述时效检验包括:
判断所述签名时间与当前时间的签名时长是否超过预设时长阈值;
若超过,则判定所述手写签名为签名超时,输出签名超时提醒;
若未超过,则判定所述手写签名为正确签名。
4.根据权利要求1-3任一项所述的手写签名验证方法,其特征在于,所述采集签名画布上进行签名的手写签名视频,基于所述手写签名视频获取多个初始签名字符图像之前,还包括:
基于预设的用户姓名、签名时间和签名地点生成基础水印图像;
利用预设的随机数种子对所述基础水印图像进行加密处理,得到加密数字水印图像;
将所述加密数字水印进行嵌入处理,得到不可见数字水印的签名画布。
5.根据权利要求1所述的手写签名验证方法,其特征在于,所述签名模型包括第一子网络、第二子网络、计算层和输出层,所述分别基于各个所述手写签名笔迹数据及其对应的所述目标签名骨架图像和所述标准字符骨架图像库,利用预先训练的签名模型分别进行第一验证,得到多个第一验证结果,包括:
利用所述第一子网络对第一手写签名笔迹数据进行序列特征提取,得到第一特征,对所述第一手写签名笔迹数据对应的所述目标签名骨架图像进行图像特征提取,得到第二特征,将所述第一特征和所述第二特征进行特征融合处理,得到待验证签名特征,其中,所述第一手写签名笔迹数据为多个所述手写签名笔迹数据中的任意一个;
利用所述第二子网络对所述标准字符骨架图像库进行特征提取,得到用户姓名字符特征库;
利用所述计算层计算所述待验证签名特征与所述用户姓名字符特征库中用户姓名字符特征的相似度;
利用所述输出层基于所述相似度,输出第一验证结果。
6.根据权利要求1所述的手写签名验证方法,其特征在于,所述预先设置包含多个标准字符图像的标准字符图像库,还包括:
针对预先设置的字符库中的每个用户姓名字符:
利用预先设置的字体库将所述用户姓名字符加载为选择的字体样式;
利用预先设置的图像处理库创建一个空白图像,并逐个将每个所述用户姓名字符绘制在所述空白图像上的指定位置,得到标准字符图像;
将得到的所有标准字符图像的集合作为所述标准字符图像库。
7.根据权利要求1所述的手写签名验证方法,其特征在于,所述分别基于各个所述手写签名笔迹数据及其对应的所述目标签名骨架图像和所述标准字符骨架图像库,利用预先训练的签名模型分别进行第一验证,得到多个第一验证结果之前,还包括:
以多条对应的待训练手写签名笔迹数据、待训练签名骨架图像和待训练标准字符骨架图像构建为多模态训练数据集;
基于所述多模态训练数据集,利用对比学习训练策略对所述待训练的签名模型进行训练,获得所述签名模型。
8.根据权利要求1所述的手写签名验证方法,其特征在于,所述分别基于各个所述手写签名笔迹数据截取对应的所述初始签名字符图像,得到各个所述手写签名笔迹数据对应的目标签名字符图像,基于各个所述目标签名字符图像,分别提取所述目标签名字符图像的签名骨架图像,得到各个所述手写签名笔迹数据对应的目标签名骨架图像,包括:
基于第一手写签名笔迹数据,获取包含所述第一手写签名笔迹数据对应的所述初始签名字符图像的最小包围矩形图像,其中,所述第一手写签名笔迹数据为多个所述手写签名笔迹数据中的任意一个;
将所述最小包围矩形图像转换为黑白图像,得到所述第一手写签名笔迹数据对应的目标签名字符图像;
利用骨架提取算法对所述目标签名字符图像进行提取,得到所述第一手写签名笔迹数据对应的所述目标签名骨架图像。
9.一种手写签名验证装置,其特征在于,包括:
设置模块,用于预先设置包含多个标准字符图像的标准字符图像库,基于所述标准字符图像库,获取标准字符骨架图像库;
第一获取模块,用于采集签名画布上进行签名的手写签名视频,基于所述手写签名视频获取多个初始签名字符图像;
第二获取模块,用于分别获取各个所述初始签名字符图像的手写签名笔迹数据;
提取模块,用于分别基于各个所述手写签名笔迹数据截取对应的所述初始签名字符图像,得到各个所述手写签名笔迹数据对应的目标签名字符图像,基于各个所述目标签名字符图像,分别提取所述目标签名字符图像的签名骨架图像,得到各个所述手写签名笔迹数据对应的目标签名骨架图像;
签名校验模块,用于分别基于各个所述手写签名笔迹数据及其对应的所述目标签名骨架图像和所述标准字符骨架图像库,利用预先训练的签名模型分别进行第一验证,得到多个第一验证结果;
数字水印校验模块,用于若多个所述第一验证结果均为正确,则对所述签名画布内的数字水印进行第二验证,得到第二验证结果;
确定模块,用于基于所述第二验证结果,确定手写签名是否为正确签名。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311521084.9A CN117746442A (zh) | 2023-11-14 | 2023-11-14 | 手写签名验证方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311521084.9A CN117746442A (zh) | 2023-11-14 | 2023-11-14 | 手写签名验证方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117746442A true CN117746442A (zh) | 2024-03-22 |
Family
ID=90255224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311521084.9A Pending CN117746442A (zh) | 2023-11-14 | 2023-11-14 | 手写签名验证方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117746442A (zh) |
-
2023
- 2023-11-14 CN CN202311521084.9A patent/CN117746442A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885644B2 (en) | Detecting specified image identifiers on objects | |
US11830230B2 (en) | Living body detection method based on facial recognition, and electronic device and storage medium | |
CN111950424B (zh) | 一种视频数据处理方法、装置、计算机及可读存储介质 | |
CN108875731B (zh) | 目标识别方法、装置、系统及存储介质 | |
TW201606556A (zh) | 利用卡片特徵進行身份驗證的方法、裝置及系統 | |
CN109255300B (zh) | 票据信息提取方法、装置、计算机设备及存储介质 | |
US11144752B1 (en) | Physical document verification in uncontrolled environments | |
CN111160395A (zh) | 图像识别方法、装置、电子设备和存储介质 | |
CN108875556B (zh) | 用于人证核验的方法、装置、系统及计算机存储介质 | |
CN114038004A (zh) | 一种证件信息提取方法、装置、设备及存储介质 | |
CN112200191B (zh) | 图像处理方法、装置、计算设备及介质 | |
US10909227B2 (en) | Certificate verification | |
CN111027545A (zh) | 卡证图片标志检测方法、装置、计算机设备及存储介质 | |
CN113221897B (zh) | 图像矫正方法、图像文本识别方法、身份验证方法及装置 | |
CN112419207A (zh) | 一种图像矫正方法及装置、系统 | |
CN113610090B (zh) | 印章图像识别分类方法、装置、计算机设备和存储介质 | |
CN111626244B (zh) | 图像识别方法、装置、电子设备和介质 | |
CN114241463A (zh) | 签名验证方法、装置、计算机设备和存储介质 | |
KR20110087620A (ko) | 레이아웃 기반의 인쇄매체 페이지 인식방법 | |
CN111476090A (zh) | 水印识别方法和装置 | |
KR102026280B1 (ko) | 딥 러닝을 이용한 씬 텍스트 검출 방법 및 시스템 | |
CN110428264A (zh) | 基于点阵屏防伪标签的识别验伪方法、装置、设备及介质 | |
US11216960B1 (en) | Image processing method and system | |
CN108875467B (zh) | 活体检测的方法、装置及计算机存储介质 | |
CN117746442A (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 |