2. 河海大学 常州市传感网与环境感知重点实验室, 江苏 常州 213022
2. Changzhou Key Laboratory of Sensor Networks and Environmental Sensing Department, Hohai University, Changzhou 213022, China
签名鉴伪在金融、保险、刑事调查、法庭审判等诸多领域有着广泛应用,但实际生活中,各种商业合同、文件等在签名处都会有下划线,手写签名与下划线相交大大增加了离线签名鉴伪的难度。当前,通常由技术人员将签名部分单独扫描出来,并使用Photoshop等图像处理软件对签名下划线进行人工去除,精度较高但效率很低,因此实现手写签名下划线的自动去除和笔画修复具有重要意义。
在下划线去除方面,较多的研究集中于文档下划线去除及票据表格框线去除。目前主要有以下典型的方法:基于数学形态学[1-2]、基于改进Hough变换[3-4]、基于搜索和跟踪类似线段的本地结构作为线段候选像素方法[5-6]、基于投影法[7-8]及基于灰度图像连通链[9]等方法。这些方法在去除下划线时取得了一定的效果,但还存在一些局限性。比如,基于数学形态学去除文档中下划线的方法在应用时必须知道文本大小并据此设计相应的大小合适的结构元素,因此当笔画和下划线宽度变化较大时,无法有效去除下划线。基于改进Hough变换检测文档下划线的方法通常在时间上进行改进,当字符笔画长度与下划线相近且方向相同时,容易出现误检。基于搜索和跟踪类似线段的本地结构作为线段候选像素方法,如利用连通域在文档中搜索并去除直线,当直线像素不连通或者边界不平滑时,这类方法将导致直线像素去除不全;同时当文档中存在水平笔画时,经常导致文档中字符像素的过度移除。基于投影去除下划线也是一种常用的方法,但该方法对图像倾斜角度非常敏感,即使是很小的倾斜也会导致直线定位困难。基于灰度图像连通链检测表格框线的方法在手写字符与框线的灰度值不同时可有效检测出框线,但二者相同时检测效果较差。
针对离线签名鉴伪领域中存在的签名下划线影响离线签名鉴伪准确率,而现有算法的下划线去除精度较低、适应性较差等问题,本文提出一种基于主线段的签名下划线去除与笔画修复方法。首先通过文献[10]提出的骨架化算法将签名图像骨架化,采用高斯滤波和Laplace算子滤波对骨架图像进一步去噪并检测边缘像素。通过Hough变换初步检测出签名骨架图像中的直线段,结合主线段信息从中检测出下划线线段并标记。最后去除下划线线段,并在下划线像素8邻域内找到起点和终点像素,采用限距修复方法对笔画进行修复。实验证明,本文提出的方法能够有效去除签名图像中的下划线并修复笔画,保证签名鉴伪的准确率。
1 本文算法概述 1.1 签名下划线去除问题描述签名下划线是指在各种合同、票据、文档等书面材料中,用于限制用户签名位置的书写规则线。对用户签名进行鉴伪时,通常先分割出手写签名,再对分割出的签名图像进行真伪性鉴别。而实际签名中,用户签名与下划线的距离太近导致分割出的签名图像中带有下划线,影响签名鉴伪的准确率。
1.2 本文算法及研究难点概述离线签名鉴伪中,通常会在预处理步骤将手写签名骨架化以消除笔画宽度对鉴伪影响,如果直线去除不全或者过分去除后再修复会导致骨架化得到的笔画拓扑结构改变,降低鉴伪准确率。由于签名骨架图像较原始图像像素点更少,拓扑结构清晰,采用同样算法的情况下,下划线越细越容易去除,因此,直接在签名骨架图像上对下划线进行去除和笔画修复能最大程度地对手写笔画进行保真, 保证签名鉴伪的准确度。Phan等[10]提出的骨架化算法能够有效完成手写字符骨架化,同时不会因笔画线段相交改变签名原始拓扑结构,满足直接对含有下划线手写签名进行骨架化的要求。基于Phan等人的研究,本文利用该算法对签名进行骨架化,提出了基于主线段的直线段检测(main line segment detection, MLSD)和限距修复(restricted distance repair, RDR)算法,用于手写签名骨架下划线去除及笔画修复工作。
基于手写签名骨架去除下划线并进行笔画修复的难点主要有:1)手写签名骨架化后,笔画和下划线由长短不一、方向不同的直线段组成,如何从这些直线段中初步检测出下划线线段是第1个难点;2)部分签名笔画线段与下划线线段长度相同,方向相近且存在相交,如何从初步检测出的线段中进一步准确筛选出下划线线段是第2个难点;3)与笔画线段相交的下划线线段被去除后会造成笔画断裂,因此需检测出断裂位置并合理修复使其和原笔画相同。针对上述3个难点,本文提出基于主线段的直线段检测(MLSD)和限距修复(RDR)算法,算法的流程如图 1所示。
Download:
|
|
并行细化等经典算法[11-13]对手写签名进行骨架化时,在下划线与签名相交处会产生笔画合并、拓扑结构改变现象,因此,如何保证手写签名骨架化后不会出现上述问题是在骨架图像上去除下划线的重要基础。本文将文献[10]中的算法用于签名鉴伪领域的手写签名骨架化,有效避免上述问题的产生。该算法主要由轮廓提取、多边形轮廓逼近、基于Delaunay三角剖分的网格生成和折线骨架估计4部分组成。在轮廓提取和多边形轮廓逼近步骤中,采用直线拟合法自动获得字符的多边形骨架。在折线骨架估计部分,将Delaunay三角剖分生成的网格分成终端、相连、结合3种类型。终端类型三角形作为虚假片段,不进行骨架连接,但可以用来判断是否有相连三角形;相连类型的三角形将与其他三角形相邻两边中点连线作为骨架;如图 2所示,结合类型的三角形引入最小变化方向角、凸多边形外接圆圆心分别作为2条线相交和多条线相交时连接的判断依据。
Download:
|
|
为抑制噪声,提出的MLSD算法首先采用高斯滤波器对签名骨架图像进行滤波。因图像边缘检测结果对后续图像处理有着直接影响,该算法随后利用Laplace算子检测滤波后图像中的边缘像素。当一个像素的滤波值小于阈值τ1时,则将该像素设置为背景像素值。Laplace算子可以检测潜在边缘像素,这是因为边缘像素的曲率总和比背景像素更大。本文采用的Laplace算子如式(1)所示。
$ L = \left[ {\begin{array}{*{20}{c}} 0&1&0\\ 1&{ - 4}&1\\ 0&1&1 \end{array}} \right] $ | (1) |
Hough变换检测直线具有较强鲁棒性,同时可以有效排除噪声干扰,因此本文使用Hough变换检测手写签名骨架中的直线段。手写签名中,下划线角度偏斜通常在±5°内,本文设置Hough变换检测的角度为(-5°, +5°),初步过滤掉绝大部分不满足条件的直线段。
2.1.3 下划线线段检测2.1.2节检测出的线段中不仅有下划线线段,还存在部分签名笔画线段,须从中进一步检测出下划线线段。手写签名中最长直线是下划线,手写签名骨架的最长线段也在下划线线段中,这些下划线线段虽然长短不一且分布在不同直线上,但其方向相似且距离很近。基于这一特性,提出基于主线段的下划线线段检测算法,将手写签名骨架中最长直线段作为主线段,将其方向作为下划线线段主方向,记录其中点坐标作为签名下划线主位置,通过判断其他线段与主线段的位置关系检测出所有下划线线段。具体如下:设主线段为l0, 其端点坐标为(x0, y0)、(x′0, y′0), 其他线段为li,其端点坐标为(xi, yi)、(x′i, y′i)。计算l0与li斜率绝对值差Δki,纵向中点距离差Δdi,如图 3所示。
Download:
|
|
设置阈值τ2、τ3,当Δki<τ2且Δdi<τ3,则认为该直线段是下划线部分直线段,予以标记。其中
$ \begin{array}{l} \Delta{k_i} = \left| {\left| {\left( {{{y'}_0} - {y_0}} \right)/\left( {{{x'}_0} - {x_0}} \right)} \right| - \left| {\left( {{{y'}_i} - {y_i}} \right)/\left( {{{x'}_i} - {x_i}} \right)} \right|} \right|\\ \;\;\;\;\;\;\;\Delta {d_i} = \left| {\left( {{{y'}_0} - {y_0}} \right)2/\left( {{{y'}_i} - {y_i}} \right)/2} \right| \end{array} $ |
为便于后续下划线线段去除,对Hough变换中检测出的直线分别做斜率和中点纵坐标统计,并与主线段进行比较标记出下划线线段。设Hough变换在滤波后的图像中共检测到I条直线,用二维数组Line[i][4]表示,Line[i]中记录该线段的起点和终点坐标,ρ[i]为每条线段长度,其中i=1, 2, …, I。下划线线段检测伪代码如下:
输入:直线数组Line、ρ、阈值τ2、τ3。
输出:下划线线段下标索引动态增长数组uIndex。
1) set flag equals ρ[0];
2) for each i do
3) if ρ[i]>flag
4) set flag equals i;
5) end
6) set Line[flag] as main section
7) for each i do
8) if Δki<τ2 & & Δdi<τ3 then
9) Add i to uIndex;
10) end
2.2 笔画限距修复算法(RDR)签名笔画与下划线之间存在相离、相接、重叠和相交等几种位置关系。相离和相交只需将直线去除即可,无需修复,如图 4(a)和4(b);对于笔画与直线完全重叠的情况,如图 4(c)所示,已无法从二值图像恢复该笔画;实际中更多的是4(d)所示相交的情况。因此,本文的断裂笔画修复算法主要针对相交情况。
Download:
|
|
手写签名主要是撇、竖、捺3种笔画与下划线相交, 将下划线去除后,其笔画像素如图 5所示。
Download:
|
|
本文提出的RDR算法如下,以每个下划线像素为单位,在其8邻域内,将下划线像素上一行的笔画像素标记为起点像素,下划线像素下一行的笔画像素标记为终点像素。设起点像素共m个、终点像素共n个,其集合分别表示为
$ \begin{array}{l} {\rm{startPos = }}\left\{ {\left( {{x_1}, {y_1}} \right), \left( {{x_2}, {y_2}} \right), \ldots \left( {{x_j}, {y_j}} \right), \ldots \left( {{x_m}, {y_m}} \right)} \right\}, 1 \le j \le m\\ {\rm{endPos = }}\left\{ {\left( {{x_1}, {y_1}} \right), \left( {{x_2}, {y_2}} \right), \ldots \left( {{x_k}, {y_k}} \right), \ldots \left( {{x_n}, {y_n}} \right)} \right\}, 1 \le k \le n \end{array} $ |
取起点像素pj、终点像素pk,设其坐标分别为(xj, yj)、(xk, yk),起点和终点像素之间距离为djk。取阈值τ4,遍历并计算每个起点像素pj到每个终点像素pk的距离djk。当djk<τ4, 则将pj与pk连线上的像素点设置为笔画像素值,进行笔画补齐。其中
$ {d_{jk}} = \sqrt {{{\left( {{x_k} - {x_j}} \right)}^2} + {{\left( {{y_k} - {y_j}} \right)}^2}} $ |
由于当前并无带有下划线的手写签名数据集,本文专门制作了手写签名图像(handwritten signature image,HSI)数据集用于验证提出的算法性能。该数据集共收集了河海大学物联网工程学院300名学生写下的共计4 500个签名,每个学生的签名共15个,由以下3部分组成:1) 5个在下划线上书写的真实签名;2) 5个在下划线上书写的伪造签名;3) 5个未在下划线上书写的真实签名。对每个学生在下划线上书写的真实签名和伪造签名进行下划线去除及笔画修复实验,将其未在下划线上书写的5个真实签名作为签名样本对修复后的签名进行鉴伪。实验的计算机硬件配置Intel(R)Core(TM)i5-3210M CPU@2.50GHz。实验的软件平台是MATLABR2014a。
3.1 MLSD算法下划线线段检测结果和评价采用HSI数据库进行下划线检测实验。本实验将MLSD算法分别与Hough变换、文献[1]和文献[5]进行比较。其中,MLSD算法中高斯滤波器的标准差为0.8,阈值τ1为6,τ2默认值是0.1,以0.01为单位进行微调,τ3默认值是10,以1为单位进行微调。经实验验证,在HSI数据库中,τ2∈0.01, 0.15,τ3∈0, 20。
实验1 原始签名图像大小为241×99,τ2、τ3分别设置为0.1和17。实验中各算法检测效果如图 6。
Download:
|
|
实验2原始签名图像大小为312×109,τ2、τ3分别设置为0.1和17。实验中各算法检测效果如图 7。
Download:
|
|
实验3原始签名图像大小为481×178,τ2、τ3分别设置为0.01和6。实验中各算法检测效果如图 8。
Download:
|
|
以上3组图片中,MLSD算法均可以正确检测出下划线线段,其他3种算法则出现不同程度的漏检、虚检现象。为对实验结果进行量化,定义下划线线段被正确检测的签名个数Nc,下划线线段有效检测率为Pe,下划线线段正确检测率为Pc。
$ \begin{array}{l} \;\;\;{N_c} = {N_e} - {N_f}\\ {P_e} = \frac{{{N_e}}}{{{N_t}}} \times 100\% \\ {P_c} = \frac{{{N_c}}}{{{N_t}}} \times 100\% \end{array} $ |
式中:Nt为检测的签名总数,Ne为下划线线段有效检测的签名个数(所有下划线线段都被检测出来,其中也包含存在虚检的签名),Nf为Ne出现虚检的签名个数。表 1记录了4种算法在HSI数据库中的下划线检测结果,可以看出,采用本文提出的MLSD算法进行签名下划线检测时,准确率最高。
对上节MLSD算法正确检测出下划线线段的2 741个手写签名骨架进行RDR算法实验,并对修复后的签名骨架进行鉴伪,设置阈值τ4为6。3.1节3组图片进行下划线去除和笔迹修复后的效果如图 9所示,对于相离和相接的情况,检测出下划线线段直接去除即可,如图 9(a);对于笔画和下划线相交的情况,去除直线后会造成笔画缺失,如图 9(b)和9(c),RDR算法可以对其进行有效修复,修复结果如图 9(f)和9(g)所示。
Download:
|
|
为验证经本文提出方法处理后的手写签名用于鉴伪的有效性,本文以HSI数据集中未加下划线的真实签名作为签名样本,通过文献[14-17]提出的签名鉴伪算法对经MLSD和RDR有效处理后的共2 741个真实签名和伪造签名进行鉴别。表 2记录了修复后的签名在不同签名鉴别方法下的鉴伪准确率,其中Ngf为修复后的真实签名总数,Nff为修复后的伪造签名总数,Ngs为数据集中未加下划线的真实签名总数,Ncf为正确鉴别的签名个数,Pv为对修复后的真实签名和伪造签名鉴别的准确率。
$ {P_v} = \frac{{{N_{cf}}}}{{{N_{gf}} + {N_{ff}}}} \times 100\% $ |
表 2为修复后的手写签名鉴伪准确率,从表 2可以看出,采用本文方法对手写签名进行下划线去除和笔画修复后,可以有效地对签名进行鉴伪。
在金融、司法等诸多领域,离线签名鉴伪作为一种重要的身份认证方式已被广泛应用,而下划线能否有效去除又直接影响着鉴伪准确率。也正是因为如此,有关签名下划线的去除及笔画修复成为了离线签名鉴伪研究中十分重要的一部分。本文对该问题进行了深入研究。
1) 结合签名笔画特征及现有的签名鉴伪方法,提出了首先对签名进行骨架化,再进行下划线去除与相应断裂笔画修复的方案。将文献[10]提出的细化算法首次用于签名鉴伪领域的文字细化,保证了签名拓扑结构的完整性。
2) 提出一种基于主线段的下划线线段检测算法。研究签名图像特征,首次提出将骨架图像中最长线段作为主线段,通过Hough变换初步检测出骨架图像中的线段,再结合主线段的斜率和位置信息进一步找到所有下划线线段。
3) 提出相应的笔画修复算法。遍历所有下划线线段像素,在其8领域内找到笔画起点和终点像素进行阈值判定以完成笔画修复。实验结果表明,与Hough、文献[1]、文献[5]算法相比,本文提出的方法能够准确检测签名图像中的下划线,漏检、虚检率低,并对断裂笔画进行有效修复,保证了离线签名鉴伪的准确率。
下一步工作将继续研究自适应的签名下划线去除方法,进一步提高算法的处理效率。
[1] | REFAEY M A A. Ruled lines detection and removal in grey level handwritten image documents[C]//Proceedings of the 6th International Conference on Information and Communication Systems. Amman, Jordan: IEEE, 2015: 218-221. https://www.researchgate.net/publication/283813809_Ruled_lines_detection_and_removal_in_grey_level_handwritten_image_documents (0) |
[2] | IMTIAZ S, NAGABHUSHAN P, GOWDA S D. Rule line detection and removal in handwritten text images[C]//Proceedings of the 5th International Conference on Signal and Image Processing. Bangalore, India: IEEE, 2014: 310-315. https://www.researchgate.net/publication/261960043_Rule_Line_Detection_and_Removal_in_Handwritten_Text_Images (0) |
[3] | YAM-UICAB R, LOPEZ-MARTINEZ J L, TREJO-SANCHEZ J A, et al. A fast Hough transform algorithm for straight lines detection in an image using gpu parallel computing with CUDA-C[J]. The journal of supercomputing, 2017, 73(11): 4823-4842. DOI:10.1007/s11227-017-2051-5 (0) |
[4] | SIM L C, SCHRODER H, LEEDHAM G. Fast line detection using major line removal morphological Hough transform[C]//Proceedings of the 9th International Conference on Neural Information Processing. Singapore: IEEE, 2002: 2127-2131. https://www.researchgate.net/publication/4014480_Fast_line_detection_using_major_line_removal_morphological_Hough_transform (0) |
[5] | DAS S, BANERJEE P. Gabor filter based hand-drawn underline removal in printed documents[C]//Proceedings of the 1st International Conference on Automation, Control, Energy and Systems. Hooghy, India: IEEE, 2014: 1-4. https://www.researchgate.net/publication/262140583_Gabor_filter_based_hand-drawn_underline_removal_in_printed_documents (0) |
[6] | KIMURA T, PREMACHANDRA C, KAWANAKA H. Simultaneous mixed vertical and horizontal handwritten Japanese character line detection[C]//International Conference on Computer Vision and Graphics. Warsaw, Poland: Springer, 2016: 564-572. (0) |
[7] | ARVIND K R, KUMAR J, RAMAKRISHNAN A G. Line removal and restoration of handwritten strokes[C]//Proceedings of 2007 International Conference on Computational Intelligence and Multimedia Applications. Sivakasi, India: IEEE, 2007: 208-214. https://www.researchgate.net/publication/4309035_Line_Removal_and_Restoration_of_Handwritten_Strokes (0) |
[8] | CAO Huaigu, PRASAD R, NATARAJAN P. A stroke regeneration method for cleaning rule-lines in handwritten document images[C]//Proceedings of 2009 International Workshop on Multilingual OCR. Barcelona, Spain: ACM, 2009: 1-10. https://www.researchgate.net/publication/234787596_A_stroke_regeneration_method_for_cleaning_rule-lines_in_handwritten_document_images?_sg=wYWQGoIcOg3YG-Fo4wcubrk0yUKWA9XsdB5qyE5VlGN6I0EURqb4EtijnJBNqn7nRcmRjcB-jMAMurel7X9rxA (0) |
[9] | CALVO-ZARAGOZA J, VIGLIENSONI G, FUJINAGA I. Staff-line detection on grayscale images with pixel classification[C]//Proceedings of the 8th Iberian Conference on Pattern Recognition and Image Analysis. Faro, Portugal: Springer, 2017: 279-286. https://link.springer.com/chapter/10.1007/978-3-319-58838-4_31 (0) |
[10] | PHAN D, NA I S, KIM S H, et al. Triangulation based skeletonization and trajectory recovery for handwritten character patterns[J]. KSⅡ transactions on internet and information systems, 2015, 9(1): 358-377. (0) |
[11] | ZHANG T Y, SUEN C Y. A fast parallel algorithm for thinning digital patterns[J]. Communications of the ACM, 1984, 27(3): 236-239. (0) |
[12] | CHATBRI H, KAMEYAMA K. Using scale space filtering to make thinning algorithms robust against noise in sketch images[J]. Pattern recognition letters, 2014, 42: 1-10. DOI:10.1016/j.patrec.2014.01.011 (0) |
[13] | WU Yirui, SHIVAKUMARA P, WEI Wang, et al. A new ring radius transform-based thinning method for multi-oriented video characters[J]. International journal on document analysis and recognition (IJDAR), 2015, 18(2): 137-151. DOI:10.1007/s10032-015-0238-y (0) |
[14] | 鄢煜尘, 陈庆虎, 袁凤, 等. 基于特征融合的脱机中文笔迹鉴别[J]. 模式识别与人工智能, 2010, 23(2): 203-209. DOI:10.3969/j.issn.1003-6059.2010.02.011 (0) |
[15] | SUBHASH C, SUSHILA M, KISLAY S. Offline signature verification using artificial neural network[C]//Proceedings of the 4th International Conference on Frontiers in Intelligent Computing: Theory and Applications (FICTA) 2015. New Delhi, India: Springer, 2016: 191-200. https://rd.springer.com/chapter/10.1007/978-81-322-2695-6_17 (0) |
[16] | 马云鹏, 李庆武, 刘艳, 等. 基于图像特征融合识别的中文签名鉴伪方法[J]. 应用科技, 2015, 42(6): 10-14. (0) |
[17] | CHANDRA S, MAHESHKAR S. Static signature verification based on texture analysis using support vector machine[J]. International journal of multimedia data engineering and management (IJMDEM), 2017, 8(2): 22-32. DOI:10.4018/IJMDEM (0) |