丁惠洋,霍冠英,2,馬云鵬,李佳
1.河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 常州 213022 2.河海大學(xué) 常州市傳感網(wǎng)與環(huán)境感知重點實驗室,江蘇 常州 213022
簽名鑒偽在金融、保險、刑事調(diào)查、法庭審判等諸多領(lǐng)域有著廣泛應(yīng)用,但實際生活中,各種商業(yè)合同、文件等在簽名處都會有下劃線,手寫簽名與下劃線相交大大增加了離線簽名鑒偽的難度。當(dāng)前,通常由技術(shù)人員將簽名部分單獨掃描出來,并使用Photoshop等圖像處理軟件對簽名下劃線進(jìn)行人工去除,精度較高但效率很低,因此實現(xiàn)手寫簽名下劃線的自動去除和筆畫修復(fù)具有重要意義。
在下劃線去除方面,較多的研究集中于文檔下劃線去除及票據(jù)表格框線去除。目前主要有以下典型的方法:基于數(shù)學(xué)形態(tài)學(xué)[1-2]、基于改進(jìn)Hough變換[3-4]、基于搜索和跟蹤類似線段的本地結(jié)構(gòu)作為線段候選像素方法[5-6]、基于投影法[7-8]及基于灰度圖像連通鏈[9]等方法。這些方法在去除下劃線時取得了一定的效果,但還存在一些局限性。比如,基于數(shù)學(xué)形態(tài)學(xué)去除文檔中下劃線的方法在應(yīng)用時必須知道文本大小并據(jù)此設(shè)計相應(yīng)的大小合適的結(jié)構(gòu)元素,因此當(dāng)筆畫和下劃線寬度變化較大時,無法有效去除下劃線?;诟倪M(jìn)Hough變換檢測文檔下劃線的方法通常在時間上進(jìn)行改進(jìn),當(dāng)字符筆畫長度與下劃線相近且方向相同時,容易出現(xiàn)誤檢?;谒阉骱透欘愃凭€段的本地結(jié)構(gòu)作為線段候選像素方法,如利用連通域在文檔中搜索并去除直線,當(dāng)直線像素不連通或者邊界不平滑時,這類方法將導(dǎo)致直線像素去除不全;同時當(dāng)文檔中存在水平筆畫時,經(jīng)常導(dǎo)致文檔中字符像素的過度移除。基于投影去除下劃線也是一種常用的方法,但該方法對圖像傾斜角度非常敏感,即使是很小的傾斜也會導(dǎo)致直線定位困難。基于灰度圖像連通鏈檢測表格框線的方法在手寫字符與框線的灰度值不同時可有效檢測出框線,但二者相同時檢測效果較差。
針對離線簽名鑒偽領(lǐng)域中存在的簽名下劃線影響離線簽名鑒偽準(zhǔn)確率,而現(xiàn)有算法的下劃線去除精度較低、適應(yīng)性較差等問題,本文提出一種基于主線段的簽名下劃線去除與筆畫修復(fù)方法。首先通過文獻(xiàn)[10]提出的骨架化算法將簽名圖像骨架化,采用高斯濾波和Laplace算子濾波對骨架圖像進(jìn)一步去噪并檢測邊緣像素。通過Hough變換初步檢測出簽名骨架圖像中的直線段,結(jié)合主線段信息從中檢測出下劃線線段并標(biāo)記。最后去除下劃線線段,并在下劃線像素8鄰域內(nèi)找到起點和終點像素,采用限距修復(fù)方法對筆畫進(jìn)行修復(fù)。實驗證明,本文提出的方法能夠有效去除簽名圖像中的下劃線并修復(fù)筆畫,保證簽名鑒偽的準(zhǔn)確率。
簽名下劃線是指在各種合同、票據(jù)、文檔等書面材料中,用于限制用戶簽名位置的書寫規(guī)則線。對用戶簽名進(jìn)行鑒偽時,通常先分割出手寫簽名,再對分割出的簽名圖像進(jìn)行真?zhèn)涡澡b別。而實際簽名中,用戶簽名與下劃線的距離太近導(dǎo)致分割出的簽名圖像中帶有下劃線,影響簽名鑒偽的準(zhǔn)確率。
離線簽名鑒偽中,通常會在預(yù)處理步驟將手寫簽名骨架化以消除筆畫寬度對鑒偽影響,如果直線去除不全或者過分去除后再修復(fù)會導(dǎo)致骨架化得到的筆畫拓?fù)浣Y(jié)構(gòu)改變,降低鑒偽準(zhǔn)確率。由于簽名骨架圖像較原始圖像像素點更少,拓?fù)浣Y(jié)構(gòu)清晰,采用同樣算法的情況下,下劃線越細(xì)越容易去除,因此,直接在簽名骨架圖像上對下劃線進(jìn)行去除和筆畫修復(fù)能最大程度地對手寫筆畫進(jìn)行保真,保證簽名鑒偽的準(zhǔn)確度。Phan等[10]提出的骨架化算法能夠有效完成手寫字符骨架化,同時不會因筆畫線段相交改變簽名原始拓?fù)浣Y(jié)構(gòu),滿足直接對含有下劃線手寫簽名進(jìn)行骨架化的要求?;赑han 等人的研究,本文利用該算法對簽名進(jìn)行骨架化,提出了基于主線段的直線段檢測 (main line segment detection, MLSD)和限距修復(fù) (restricted distance repair, RDR)算法,用于手寫簽名骨架下劃線去除及筆畫修復(fù)工作。
基于手寫簽名骨架去除下劃線并進(jìn)行筆畫修復(fù)的難點主要有:1)手寫簽名骨架化后,筆畫和下劃線由長短不一、方向不同的直線段組成,如何從這些直線段中初步檢測出下劃線線段是第1個難點;2)部分簽名筆畫線段與下劃線線段長度相同,方向相近且存在相交,如何從初步檢測出的線段中進(jìn)一步準(zhǔn)確篩選出下劃線線段是第2個難點;3)與筆畫線段相交的下劃線線段被去除后會造成筆畫斷裂,因此需檢測出斷裂位置并合理修復(fù)使其和原筆畫相同。針對上述3個難點,本文提出基于主線段的直線段檢測(MLSD)和限距修復(fù)(RDR)算法,算法的流程如圖1所示。
圖1 本文提出的MLSD和RDR算法的流程
復(fù)算法
2.1.1 手寫簽名骨架化
并行細(xì)化等經(jīng)典算法[11-13]對手寫簽名進(jìn)行骨架化時,在下劃線與簽名相交處會產(chǎn)生筆畫合并、拓?fù)浣Y(jié)構(gòu)改變現(xiàn)象,因此,如何保證手寫簽名骨架化后不會出現(xiàn)上述問題是在骨架圖像上去除下劃線的重要基礎(chǔ)。本文將文獻(xiàn)[10]中的算法用于簽名鑒偽領(lǐng)域的手寫簽名骨架化,有效避免上述問題的產(chǎn)生。該算法主要由輪廓提取、多邊形輪廓逼近、基于Delaunay三角剖分的網(wǎng)格生成和折線骨架估計4部分組成。在輪廓提取和多邊形輪廓逼近步驟中,采用直線擬合法自動獲得字符的多邊形骨架。在折線骨架估計部分,將Delaunay三角剖分生成的網(wǎng)格分成終端、相連、結(jié)合3種類型。終端類型三角形作為虛假片段,不進(jìn)行骨架連接,但可以用來判斷是否有相連三角形;相連類型的三角形將與其他三角形相鄰兩邊中點連線作為骨架;如圖2所示,結(jié)合類型的三角形引入最小變化方向角、凸多邊形外接圓圓心分別作為2條線相交和多條線相交時連接的判斷依據(jù)。
圖2 結(jié)合類型的最小方向變化角和外接圓圓心連接示意
2.1.2 手寫簽名直線段檢測
為抑制噪聲,提出的MLSD算法首先采用高斯濾波器對簽名骨架圖像進(jìn)行濾波。因圖像邊緣檢測結(jié)果對后續(xù)圖像處理有著直接影響,該算法隨后利用Laplace算子檢測濾波后圖像中的邊緣像素。當(dāng)一個像素的濾波值小于閾值τ1時,則將該像素設(shè)置為背景像素值。Laplace算子可以檢測潛在邊緣像素,這是因為邊緣像素的曲率總和比背景像素更大。本文采用的Laplace算子如式(1)所示。
(1)
Hough變換檢測直線具有較強(qiáng)魯棒性,同時可以有效排除噪聲干擾,因此本文使用Hough變換檢測手寫簽名骨架中的直線段。手寫簽名中,下劃線角度偏斜通常在±5°內(nèi),本文設(shè)置Hough變換檢測的角度為(-5°,+5°),初步過濾掉絕大部分不滿足條件的直線段。
2.1.3 下劃線線段檢測
圖3 線段位置關(guān)系示意
設(shè)置閾值τ2、τ3,當(dāng)Δki<τ2且Δdi<τ3,則認(rèn)為該直線段是下劃線部分直線段,予以標(biāo)記。其中
為便于后續(xù)下劃線線段去除,對Hough變換中檢測出的直線分別做斜率和中點縱坐標(biāo)統(tǒng)計,并與主線段進(jìn)行比較標(biāo)記出下劃線線段。設(shè)Hough變換在濾波后的圖像中共檢測到I條直線,用二維數(shù)組Line[i][4]表示,Line[i]中記錄該線段的起點和終點坐標(biāo),ρ[i]為每條線段長度,其中i=1,2,…,I。下劃線線段檢測偽代碼如下:
輸入:直線數(shù)組Line、ρ、閾值τ2、τ3。
輸出:下劃線線段下標(biāo)索引動態(tài)增長數(shù)組uIndex。
1) set flag equalsρ[0];
2) for eachido
3) ifρ[i]>flag
4) set flag equalsi;
5) end
6) set Line[flag] as main section
7) for eachido
8) if Δki<τ2&&Δdi<τ3then
9) Addito uIndex;
10) end
簽名筆畫與下劃線之間存在相離、相接、重疊和相交等幾種位置關(guān)系。相離和相交只需將直線去除即可,無需修復(fù),如圖4(a)和4(b);對于筆畫與直線完全重疊的情況,如圖4(c)所示,已無法從二值圖像恢復(fù)該筆畫;實際中更多的是4(d)所示相交的情況。因此,本文的斷裂筆畫修復(fù)算法主要針對相交情況。
圖4 筆畫與下劃線位置關(guān)系示意
手寫簽名主要是撇、豎、捺3種筆畫與下劃線相交,將下劃線去除后,其筆畫像素如圖5所示。
圖5 筆畫去除下劃線后示意
本文提出的RDR算法如下,以每個下劃線像素為單位,在其8鄰域內(nèi),將下劃線像素上一行的筆畫像素標(biāo)記為起點像素,下劃線像素下一行的筆畫像素標(biāo)記為終點像素。設(shè)起點像素共m個、終點像素共n個,其集合分別表示為
startPos=(x1,y1),(x2,y2),…,(xj,yj),…,(xm,ym),1≤j≤m
endPos=(x1,y1),(x2,y2),…,(xk,yk),…,(xn,yn),1≤k≤n
取起點像素pj、終點像素pk,設(shè)其坐標(biāo)分別為(xj,yj)、(xk,yk),起點和終點像素之間距離為djk。取閾值τ4,遍歷并計算每個起點像素pj到每個終點像素pk的距離djk。當(dāng)djk<τ4,則將pj與pk連線上的像素點設(shè)置為筆畫像素值,進(jìn)行筆畫補(bǔ)齊。其中
由于當(dāng)前并無帶有下劃線的手寫簽名數(shù)據(jù)集,本文專門制作了手寫簽名圖像(handwritten signature image,HSI)數(shù)據(jù)集用于驗證提出的算法性能。該數(shù)據(jù)集共收集了河海大學(xué)物聯(lián)網(wǎng)工程學(xué)院300名學(xué)生寫下的共計4 500個簽名,每個學(xué)生的簽名共15個,由以下3部分組成:1) 5個在下劃線上書寫的真實簽名;2) 5個在下劃線上書寫的偽造簽名;3) 5個未在下劃線上書寫的真實簽名。對每個學(xué)生在下劃線上書寫的真實簽名和偽造簽名進(jìn)行下劃線去除及筆畫修復(fù)實驗,將其未在下劃線上書寫的5個真實簽名作為簽名樣本對修復(fù)后的簽名進(jìn)行鑒偽。實驗的計算機(jī)硬件配置Intel(R)Core(TM)i5-3210M CPU@2.50GHz。實驗的軟件平臺是MATLABR2014a。
采用HSI數(shù)據(jù)庫進(jìn)行下劃線檢測實驗。本實驗將MLSD算法分別與Hough變換、文獻(xiàn)[1]和文獻(xiàn)[5]進(jìn)行比較。其中,MLSD算法中高斯濾波器的標(biāo)準(zhǔn)差為0.8,閾值τ1為6,τ2默認(rèn)值是0.1,以0.01為單位進(jìn)行微調(diào),τ3默認(rèn)值是10,以1為單位進(jìn)行微調(diào)。經(jīng)實驗驗證,在HSI數(shù)據(jù)庫中,τ2∈0.01,0.15,τ3∈0,20。
實驗1 原始簽名圖像大小為241×99,τ2、τ3分別設(shè)置為0.1和17。實驗中各算法檢測效果如圖6。
圖6 實驗1中各算法檢測效果
實驗2 原始簽名圖像大小為312×109,τ2、τ3分別設(shè)置為0.1和17。實驗中各算法檢測效果如圖7。
圖7 實驗2中各算法檢測效果
實驗3 原始簽名圖像大小為481×178,τ2、τ3分別設(shè)置為0.01和6。實驗中各算法檢測效果如圖8。
圖8 實驗3中各算法檢測效果
以上3組圖片中,MLSD算法均可以正確檢測出下劃線線段,其他3種算法則出現(xiàn)不同程度的漏檢、虛檢現(xiàn)象。為對實驗結(jié)果進(jìn)行量化,定義下劃線線段被正確檢測的簽名個數(shù)Nc,下劃線線段有效檢測率為Pe,下劃線線段正確檢測率為Pc。
Nc=Ne-Nf
式中:Nt為檢測的簽名總數(shù),Ne為下劃線線段有效檢測的簽名個數(shù)(所有下劃線線段都被檢測出來,其中也包含存在虛檢的簽名),Nf為Ne出現(xiàn)虛檢的簽名個數(shù)。表1記錄了4種算法在HSI數(shù)據(jù)庫中的下劃線檢測結(jié)果,可以看出,采用本文提出的MLSD算法進(jìn)行簽名下劃線檢測時,準(zhǔn)確率最高。
表1 手寫簽名骨架下劃線檢測結(jié)果比較
對上節(jié)MLSD算法正確檢測出下劃線線段的2 741個手寫簽名骨架進(jìn)行RDR算法實驗,并對修復(fù)后的簽名骨架進(jìn)行鑒偽,設(shè)置閾值τ4為6。3.1節(jié)3組圖片進(jìn)行下劃線去除和筆跡修復(fù)后的效果如圖9所示,對于相離和相接的情況,檢測出下劃線線段直接去除即可,如圖9(a);對于筆畫和下劃線相交的情況,去除直線后會造成筆畫缺失,如圖9(b)和9(c),RDR算法可以對其進(jìn)行有效修復(fù),修復(fù)結(jié)果如圖9(f)和9(g)所示。
圖9 下劃線去除及筆畫修復(fù)
為驗證經(jīng)本文提出方法處理后的手寫簽名用于鑒偽的有效性,本文以HSI數(shù)據(jù)集中未加下劃線的真實簽名作為簽名樣本,通過文獻(xiàn)[14-17]提出的簽名鑒偽算法對經(jīng)MLSD和RDR有效處理后的共2 741個真實簽名和偽造簽名進(jìn)行鑒別。表2記錄了修復(fù)后的簽名在不同簽名鑒別方法下的鑒偽準(zhǔn)確率,其中Ngf為修復(fù)后的真實簽名總數(shù),Nff為修復(fù)后的偽造簽名總數(shù),Ngs為數(shù)據(jù)集中未加下劃線的真實簽名總數(shù),Ncf為正確鑒別的簽名個數(shù),Pv為對修復(fù)后的真實簽名和偽造簽名鑒別的準(zhǔn)確率。
表2為修復(fù)后的手寫簽名鑒偽準(zhǔn)確率,從表2可以看出,采用本文方法對手寫簽名進(jìn)行下劃線去除和筆畫修復(fù)后,可以有效地對簽名進(jìn)行鑒偽。
表2 修復(fù)后的手寫簽名鑒偽準(zhǔn)確率
在金融、司法等諸多領(lǐng)域,離線簽名鑒偽作為一種重要的身份認(rèn)證方式已被廣泛應(yīng)用,而下劃線能否有效去除又直接影響著鑒偽準(zhǔn)確率。也正是因為如此,有關(guān)簽名下劃線的去除及筆畫修復(fù)成為了離線簽名鑒偽研究中十分重要的一部分。本文對該問題進(jìn)行了深入研究。
1)結(jié)合簽名筆畫特征及現(xiàn)有的簽名鑒偽方法,提出了首先對簽名進(jìn)行骨架化,再進(jìn)行下劃線去除與相應(yīng)斷裂筆畫修復(fù)的方案。將文獻(xiàn)[10]提出的細(xì)化算法首次用于簽名鑒偽領(lǐng)域的文字細(xì)化,保證了簽名拓?fù)浣Y(jié)構(gòu)的完整性。
2)提出一種基于主線段的下劃線線段檢測算法。研究簽名圖像特征,首次提出將骨架圖像中最長線段作為主線段,通過Hough變換初步檢測出骨架圖像中的線段,再結(jié)合主線段的斜率和位置信息進(jìn)一步找到所有下劃線線段。
3)提出相應(yīng)的筆畫修復(fù)算法。遍歷所有下劃線線段像素,在其8領(lǐng)域內(nèi)找到筆畫起點和終點像素進(jìn)行閾值判定以完成筆畫修復(fù)。實驗結(jié)果表明,與Hough、文獻(xiàn)[1]、文獻(xiàn)[5]算法相比,本文提出的方法能夠準(zhǔn)確檢測簽名圖像中的下劃線,漏檢、虛檢率低,并對斷裂筆畫進(jìn)行有效修復(fù),保證了離線簽名鑒偽的準(zhǔn)確率。
下一步工作將繼續(xù)研究自適應(yīng)的簽名下劃線去除方法,進(jìn)一步提高算法的處理效率。