張 展,高 峰,劉成林
(1.安陽(yáng)師范學(xué)院, 甲骨文信息處理教育部重點(diǎn)實(shí)驗(yàn)室, 河南 安陽(yáng) 455000;2.中國(guó)科學(xué)院自動(dòng)化研究所, 模式識(shí)別國(guó)家重點(diǎn)實(shí)驗(yàn)室, 北京 100190)
對(duì)于甲骨人工拼接,甲骨學(xué)者提出了不同的方法:鄭慧生等在《甲骨綴合八法小議—<甲骨文合集>綴合筆記》提到8法[1]。白玉崢等在《讀甲骨綴合新編暨補(bǔ)編略論甲骨綴合》中提出5法[1]。黃天樹等歸納總結(jié)了4法[2,3],根據(jù)字體、殘字、碴口、同文等信息拼接甲骨。以上皆是甲骨學(xué)專家提出的人工拼接甲骨的方法,為計(jì)算機(jī)拼接甲骨提供了思路。
如圖1所示,根據(jù)龜甲的生理結(jié)構(gòu)[4],周鴻翔等將龜甲分為左右對(duì)稱的兩部分,每部分分為首甲、前甲、后甲和尾甲,中甲C。首甲、尾甲細(xì)分為3個(gè)部分,前甲和后甲細(xì)分為4個(gè)部分,用于編碼甲骨字出現(xiàn)的位置。甲骨的尺寸被分為小、中和大3種。文字被分為非常細(xì)、正常和像頭發(fā)3種。依次根據(jù)甲骨碎片在乙編中的編號(hào)、甲骨碎片在烏龜生理的位置、甲骨的尺寸、甲骨刻畫文字的字體、以及甲骨碎片上刻畫的位置等信息,對(duì)甲骨碎片進(jìn)行編碼。童恩正等增加了用于編碼的甲骨信息,并進(jìn)行甲骨編碼拼接數(shù)字化[5],此處的數(shù)字化改進(jìn)了編碼拼接方法。其采用的編碼信息有6項(xiàng),包括時(shí)代、字跡、骨板、碎片、卜辭和邊緣等。根據(jù)確定碎片屬于哪一部分,可以參考甲骨的邊緣、紋理、卜辭走向、卜辭等確定拼接規(guī)則。

圖1 甲骨碎片信息編碼
文獻(xiàn)《如何利用電腦影像處理技術(shù)整理甲骨拓片重片》中,將二維的封閉圖形放大、旋轉(zhuǎn)、平移后產(chǎn)生一個(gè)一維的特征值,盡量準(zhǔn)確地描述圖形的物理特征,以便分類,從而找出重片。該論文首次采用計(jì)算機(jī)圖像技術(shù)處理甲骨片,其本質(zhì)是比較圖像,不是進(jìn)行甲骨的計(jì)算機(jī)拼接,但對(duì)甲骨拼接有借鑒意義。
臺(tái)灣清華大學(xué)林雅婷等[6, 10],提出邊緣長(zhǎng)度比值法。其關(guān)鍵技術(shù)路線是:甲骨邊緣提取、邊緣向量化和多邊形調(diào)整等預(yù)處理技術(shù),向量化的特征依序?qū)⒏鼽c(diǎn)X、Y、Z坐標(biāo)和所屬輪廓線編號(hào)分列存成文字檔。在甲骨彩色圖像拼接時(shí),提出基于邊緣凹角與凸角的拼接技術(shù),具體包括單一角的比較、連續(xù)多角的比較、以及三個(gè)角綜合360度三種情況。
具體的思路如圖2所示,為計(jì)算機(jī)拼接甲骨碎片三種情況的思路。在邊角近似相同的情況下,如圖2a中,計(jì)算擬拼接甲骨碎片圖像兩邊線段的比值,若比值的平方和約等于2,則認(rèn)為兩者可以拼接;如圖2c中連續(xù)的角的邊的比值平方和約等于邊的個(gè)數(shù);如圖2e中,360度角相應(yīng)邊的比值平方和約等于3。此處的比值平方和,被稱為拼接得分,對(duì)應(yīng)的比例分別如下公式1、公式2和公式3所示。

圖2 凹凸角拼接

公式(1)

公式(2)
公式(3)
劉永革等[7]根據(jù)提取甲骨拓片圖像輪廓的序列點(diǎn),每三個(gè)近鄰序列點(diǎn)連線構(gòu)成向量的夾角角度,并在多尺度的情況下,計(jì)算輪廓序列點(diǎn)連線組成的角度序列,將此角度序列作為甲骨碎片拓片圖像特征,據(jù)此進(jìn)行甲骨碎片拓片圖像匹配。如果某一尺度下,源輪廓角度特征序列的第i個(gè)角度與目標(biāo)輪廓角度序列特征的第j個(gè)角度,滿足公式(4),則認(rèn)為兩者在此尺度下匹配。
|aiT-bjT|<ε
公式(4)
王愛民等對(duì)甲骨圖像二值化后,跟蹤甲骨圖像輪廓結(jié)合輪廓旋轉(zhuǎn)角度,提取輪廓鏈碼、傅里葉描述子等特征,并計(jì)算待拼接輪廓特征向量Fs與數(shù)據(jù)庫(kù)中的特征向量Fd的歐氏距離,若此距離小于閾值則認(rèn)為兩者可能拼接。因?yàn)檫x定閾值困難,所以計(jì)算兩向量的相似度作為評(píng)分標(biāo)準(zhǔn),如公式(5)所示:
公式(5)
張長(zhǎng)青等根據(jù)甲骨圖像邊界匹配等,進(jìn)行甲骨拼接[8, 9]。主要技術(shù)包括邊界增補(bǔ)、邊界提取等。在拼接形狀時(shí),把源邊界平移與旋轉(zhuǎn)到目標(biāo)邊界上,將邊界匹配長(zhǎng)度與匹配邊界縫隙面積比值作為相似度s的計(jì)算,并定義了匹配度Sm,如公式(6)和公式(7)所示,選取最大匹配相似度對(duì)應(yīng)的匹配邊界對(duì)應(yīng)的甲骨,作為可拼接甲骨碎片。
公式(6)
Sm=a*s +(1-a)*s
公式(7)
為了有效拼接甲骨碎片圖像,本文提出兩種甲骨圖像拼接方法:等像素拼接法和等距離拼接法。如圖3所示,粉紅曲線是乙編3337號(hào)甲骨拓片圖像邊緣(與水平直線相交的曲線),即源甲骨碎片圖像邊緣,綠色曲線是乙編2556號(hào)甲骨拓片圖像邊緣,即目標(biāo)甲骨碎片圖像邊緣。

圖3 兩種算法的步長(zhǎng)
針對(duì)甲骨碎片圖像邊緣坐標(biāo)匹配,提出等像素拼接和等距離拼接兩種方法。等像素拼接方法,如圖3a所示,將源甲骨碎片圖像邊緣的一段,旋轉(zhuǎn)平移到目標(biāo)甲骨碎片圖像邊緣的位置,每隔固定數(shù)目的像素采樣一個(gè)像素點(diǎn)(紅色點(diǎn)),計(jì)算此段采樣點(diǎn)與目標(biāo)甲骨碎片圖像邊緣相應(yīng)采樣點(diǎn)的距離和,并作為不相似度,將不相似度小于閾值的甲骨碎片圖像組,作為邊緣坐標(biāo)匹配甲骨碎片圖像,如公式(8)所示,Sj是粉紅采樣點(diǎn),Di是綠色采樣點(diǎn),Sdi是等像素拼接算法采樣點(diǎn)距離和。等距離拼接方法,如圖3b所示,在源甲骨碎片圖像邊緣旋轉(zhuǎn)平移到目標(biāo)甲骨碎片圖像邊緣后,使用半徑依次等距離增加的圓形,將甲骨碎片圖像邊緣分多個(gè)小段進(jìn)行采樣,計(jì)算源甲骨碎片圖像與目標(biāo)甲骨碎片圖像邊緣采樣點(diǎn)之間的距離和,作為不相似度處理,如公式(9)所示,SRj是粉紅采樣點(diǎn),DRi是綠色采樣點(diǎn),SdRi是等距離拼接算法采樣點(diǎn)的距離和。等像素拼接法的計(jì)算量小,等距離拼接法的適應(yīng)性好。
公式(8)
公式(9)
實(shí)驗(yàn)使用Windows平臺(tái),VS2017開發(fā)環(huán)境,OpenCV圖像處理函數(shù)庫(kù)。實(shí)驗(yàn)使用中歷藏1920幅圖像庫(kù)。打開797號(hào)甲骨圖像,提取甲骨邊緣,選擇甲骨邊緣的一部分,讓程序搜索從1到1920號(hào)甲骨拓片圖像的匹配邊緣,并保存搜索到的滿足閾值的圖像。
如圖4舉例說明甲骨碎片圖像邊緣等距離拼接法,圖4a左側(cè)為社科院歷史所編號(hào)為797號(hào)甲骨,圖4a右側(cè)為社科院歷史所編號(hào)為799號(hào)甲骨,左側(cè)甲骨局部邊緣(綠色曲線)旋轉(zhuǎn)平移到右側(cè)甲骨局部邊緣后,計(jì)算兩甲骨對(duì)應(yīng)局部邊緣(紅色平行線之間)采樣點(diǎn)坐標(biāo)的距離和,若滿足設(shè)定閾值,則保存下來,作為邊緣坐標(biāo)匹配甲骨碎片圖像。甲骨碎片圖像邊緣坐標(biāo)拼接時(shí),甲骨拓片圖像比甲骨彩色圖像邊緣坐標(biāo)拼接更加準(zhǔn)確,因?yàn)榧坠峭仄瑘D像的邊緣更加清晰(圖4b所示),而甲骨彩圖往往會(huì)拍攝到甲骨碎片斷口(圖4a右圖),但是甲骨拓片在甲骨盾紋部分呈白色,提取其邊緣會(huì)有偏差(圖4b右圖粉紅色輪廓),甲骨碎片圖像邊緣等距離拼接法就是為了解決這兩個(gè)問題。

圖4 中歷藏797與799號(hào)的甲骨拼接
如圖5所示,使用本文算法發(fā)現(xiàn)的可拼接被認(rèn)證的第一組甲骨圖像,中歷藏1003號(hào)與1242號(hào)甲骨。

圖5 中歷藏1003與1242號(hào)甲骨綴合
計(jì)算機(jī)拼接甲骨圖像的前期,使用的編碼拼接法、數(shù)字化拼接法,大多需要甲骨專家事先統(tǒng)計(jì)甲骨的位置,字?jǐn)?shù)等信息,并且正確率不夠高,這兩種方法雖然沒有使用數(shù)字圖像處理與計(jì)算機(jī)視覺,但使用了計(jì)算機(jī)進(jìn)行甲骨拼接,對(duì)后來的甲骨碎片圖像拼接具有參考意義。