劉國英
(安陽師范學院 甲骨文信息處理教育部重點實驗室,河南 安陽 455000)
甲骨文是迄今為止中國發現的年代最早的成熟文字系統,是漢字的源頭和中華優秀傳統文化的根脈。2017 年 10 月 30 日,甲骨文入選聯合國教科文組織“世界記憶名錄”,其研究價值得到全世界公認。然而,甲骨學一直是一個沒有多少人參與的冷門學科。主要原因有兩個方面。首先,甲骨學研究門檻高,必需具備古文字學、考古學、歷史學、文獻學等多學科知識背景,高水平人才匱乏。其次,甲骨文認讀難度大而難以被大眾接受。目前,甲骨文僅僅停留在少數甲骨學專家的學術研究中,普通大眾沒有熱情,社會上沒有培育出相應的土壤,后備人才匱乏。這一問題已經引起黨和國家的高度重視。2016年5月習近平在全國哲學社會工作座談會上指出要重視發展諸如“甲骨文等古文字研究”。在2019年11月1日,他在祝賀甲骨文發現和研究120周年的賀信中又進一步強調“在新形勢下,要確保甲骨文等古文字研究有人做、有傳承”。
在政府的大力倡導下,研究人員開始嘗試利用計算機技術進行甲骨文字的檢測與識別研究,以期在降低普通大眾認讀甲骨字難度的同時為甲骨學專家提供輔助工具。早期的甲骨文字檢測和識別研究基本按照傳統模式識別路線開展,特征提取和分類器設計等多個環節都需要人工參與。這對研究人員的經驗要求較高,且流程較為復雜,應用也不夠方便。近年來,深度學習技術尤其是自然場景目標檢測和識別技術的快速發展為甲骨文字檢測和識別注入了新的活力。研究人員逐漸開始嘗試使用深度神經網絡進行甲骨文字的檢測和識別研究,提出了一些新的方法,建立了多個甲骨文字檢測和識別數據集。對這些研究內容進行詳細梳理,將有助于加速甲骨文字檢測和識別技術的發展,為甲骨學研究和甲骨文活化利用提供支撐。
本文組織結構如下:第2節介紹甲骨文字識別的研究現狀;第3節介紹甲骨文字檢測的研究現狀;第4節具體分析當前研究的困難;第5節對全文進行總結并進行展望。
1.傳統甲骨文字識別技術
早期的甲骨文字識別遵循了“數據預處理+特征提取+分類識別”的傳統甲骨文字識別框架。復旦大學的周新倫和李鋒等[1-2]將甲骨文字視為“線”和“點”構成的無向圖,并基于圖論方法提取多層次圖特征,從而進行二級和三級甲骨文字識別。北京大學呂肖慶等人[3]將甲骨文字視為圖形符號,并利用輪廓線曲率直方圖獲得的傅里葉描述子表示甲骨字形狀,使用支持向量機(support vector machines , SVM)[4]進行甲骨字識別。安陽師范學院栗青生教授[5]將甲骨文字抽象為無向圖,并基于圖同構判定算法進行甲骨字識別。劉永革等[6]利用甲骨字的分塊直方圖表示文字特征、基于支撐向量機進行甲骨字識別。江蘇師范大學顧紹通[7]假設甲骨文異體字之間的拓撲結構具有不變特性,并利用最小距離對甲骨字拓撲結構編碼進行等價關系判斷,進而獲得甲骨文字的識別結果。日本立命館大學(Ritsumeikan University)L. Meng[8](p8-10)針對待識別甲骨文字圖像和模板甲骨圖像,分別使用霍夫變換和聚類來提取的直線特征點,并利用對應的最小距離進行一級識別,再使用模板匹配方法進行識別結果優化。這些方法主要針對甲骨文字的字形特征進行研究,并取得了有意義的結果。上述方法基本在較小的數據集上進行甲骨文字識別嘗試,方法的穩定性、準確率和泛化能力均難以滿足要求。
2.基于深度學習的甲骨文字識別
目前,基于深度學習的甲骨文字識別都是監督方式的。它們需要大量的訓練數據使深度神經網絡學習甲骨單字的不同模式,從而實現對單字圖像的自動識別。如圖1所示,常見的甲骨單字圖像主要有兩類:甲骨字模圖像和拓片文字圖像。

圖1 甲骨字模圖像與拓片文字圖像:第一行為字模圖像,第二行為對應拓片文字圖像。
最早將深度學習技術應用于甲骨字模圖像識別的代表性工作是2016年郭俊等[11]提出的多層次甲骨字符表示方法。該方法將基于稀疏自編碼的中層表示特征和基于Gabor的低層表示特征結合起來描述甲骨字符,采用的甲骨字模數據集包含291個甲骨文單字,共有20039個樣本。2018年,Zhen Yang等人[12]基于LeNet和AlexNet在一個含有21373個樣本、涉及39個單字的甲骨字模數據集上進行了識別研究。同年,我們設計了一個簡單的深度識別網絡,并在包含44868個樣本、共計5491個單字(含異體字)的甲骨字模數據集上進行了驗證[13]。甲骨字模數據集通過甲骨學專家手工描摹生成,不含任何噪聲,上述識別方法均能達到90%以上的識別準確率。
然而,甲骨字模圖像與拓片文字圖像有較大區別,后者噪聲影響極其嚴重,識別難度要大得多。因此,真正意義的甲骨文字識別工作需要在拓片文字數據集上進行。2019年,我校“甲骨文信息處理”教育部重點實驗室和華南理工大學金連文教授團隊[14]聯合推出了目前標注樣本最多的甲骨拓片文字數據集OBC306,包含306個甲骨文單字,共計309551個樣本,并通過Inceptiion-v4、ResNet-101、ResNet-50、VGG16、AlexNet等典型識別網絡提供了基準識別率。河南大學王慧慧[15]根據不同甲骨字的樣本分布構造了一組更為精細的拓片文字數據集,并利用非稀疏表示、深度學習和稀疏表示三類方法進行了識別實驗。甲骨磨損、拓印噪聲和甲骨紋理干擾對識別結果影響很大,從公開報道結果來看,整體識別率都不理想,最高的僅為70%左右。
1.基于傳統方法的甲骨文字檢測
基于傳統方法進行甲骨文字檢測的方法較少。安陽師范學院史小松老師進行了一定的嘗試[16]。她使用基于連通分量的方法進行了甲骨字檢測的探索,從一定程度上解決了純手工提取甲骨字的誤差和效率問題,并可作為進一步分析定位并識別甲骨字的基礎。但該方法在復雜背景或噪聲比較嚴重的拓片圖像中,效果不太理想,存在拓片上部分殘字或筆畫定位不準確的現象。
2.基于深度學習的甲骨文字檢測
隨著深度學習技術的發展,尤其是自然場景圖像中目標檢測技術的快速發展,促使研究人員逐漸開始利用深度學習技術進行甲骨文字的檢測嘗試。目前,基于深度學習的甲骨文字檢測也都是監督方式的。它利用大量已標注甲骨文字位置信息的訓練數據,采用一階段或者兩階段的方式訓練深度神經網絡,進而實現拓片圖像中甲骨文字的自動標注。
華南理工大學黃雙萍教授團隊[17]構造了一個甲骨文字檢測數據集OBCD,標注了5838幅甲骨拓片圖像。他們結合使用基于區域的全卷積神經網絡R-FCN(Region based Fully Convolutional Network)[18]和特征金字塔模型FPN(Feature Pyramid Networks)[19]進行甲骨字檢測研究。日本立命館大學Lin Meng[20]構造了一個包含330幅圖像的甲骨文字檢測數據集,改進了SSD[21]以提高較小字體甲骨字的檢測準確率。我們在甲骨文字檢測方面做了更為充分的基礎性研究工作[22]。首先,構造了一個包含9500張圖像的甲骨文字檢測數據集。基于該數據集,分析了近幾年有代表性的通用目標檢測框架(包括:Faster R-CNN[23]、 SSD[21]、RefineDet[24]、RFBnet[25]和YOLOv3[26])的甲骨文字檢測性能,并對性能最優的YOLOv3進行了改進。上述研究在字符分布均勻、大小相似、干擾較少的甲骨片上均表現良好。然而如圖2所示,字符粘連、背景干擾、殘缺字和重疊檢測等問題使得一些甲骨字的準確檢測十分困難。

圖2 甲骨字檢測面臨的主要困難
1.檢測和識別方法存在的問題
與自然場景圖像相比,甲骨圖像數據有其自身的特點,具體來說,:
① 甲骨字的背景噪聲嚴重。甲骨片在地下埋藏 3000 多年,經過長期的腐蝕變化,上面的文字變得模糊不清,獲取的甲骨圖像往往存在非常嚴重的背景噪聲,拓印出來的拓片也常常出現嚴重的干擾拓痕。
② 殘缺甲骨字較多。甲骨片在出土時很容易碎裂,甲骨字附近經常會出現斷裂,因此產生大量的甲骨殘字,這些殘字與甲骨天然紋理非常相似,其檢測與識別困難極大。
③ 甲骨字具有極強的不規則性。同一甲骨片上的甲骨字大小不一、方向隨意、分布分散,極大增加了檢測與識別的難度。
④ 甲骨文異體字出現頻繁,但具有部分相似性。甲骨字出現在殷商時期,當時并沒有統一的文字規范,再加上商周時期(約公元前 1600—公元前 256 年)跨度約 1300 多年,文字的演化比較明顯,導致甲骨文中出現大量的異體字。很多異體字之間存在部分的相似性,這為異體字的識別提供了新的線索。
⑤ 甲骨字出現頻率嚴重不平衡。在文獻[28]研究的56743個甲骨字樣本中,包含1425個單字。其中,常用字 366 個,次常用字 500 個,罕用字 559 個。甲骨字的字頻結構極不平衡,為深度學習技術的使用帶來困難。
然而,現有的檢測和識別方法僅僅簡單地將自然場景領域中的深度神經網絡模型遷移到甲骨文字的檢測和識別應用中來,并沒有考慮甲骨圖像數據自身的特點。這是現有方法不能取得令人滿意的結果的主要原因。
2.訓練數據集存在的問題
訓練數據集對監督方式的甲骨文字檢測和識別至關重要。然而因為主觀和客觀的原因,現有的訓練數據集仍存在一些較為嚴重的問題。具體來說:
① 訓練數據集規模不大,難以保證深度神經網絡的學習性能。檢測數據集主要來源于《甲骨文合集》[27]的部分掃描數據,最大的數據集僅含9500多幅圖像,數據多樣性得不到保證。識別數據集基本局限于樣本較多的幾百個甲骨單字,覆蓋不了已釋的1400個左右甲骨單字,更覆蓋不了所有的4500個左右甲骨單字。
② 訓練數據集標注質量不高,嚴重影響深度神經網絡的學習質量。甲骨學研究人員極少,現有訓練數據集基本依靠非甲骨學領域人員依據工具書進行標注,因甲骨學知識欠缺使得殘缺甲骨字、高噪干擾甲骨字、相近字形等難以標注,數據集質量不高。
③ 訓練數據標注標準不統一,嚴重影響深度學習的甲骨學實際應用。受標注人員個人素質影響,訓練數據標注的標準可能有所差別。沒有釋讀的甲骨字在進行類別劃分時沒有統一標準,甚至存在巨大爭議。考慮到甲骨學研究的實際水平和甲骨學專家稀缺的客觀現實,短期內難以獲取大規模、高質量的訓練數據集。

表1 用以深度學習的標注數據統計表
本文簡要回顧了甲骨文字檢測與識別的研究背景,分別介紹了傳統甲骨文字檢測與識別的主要成果,指出了存在的問題與缺陷,并介紹了基于深度神經網絡的甲骨文字檢測與識別研究現狀,并分析了當前研究所面臨的主要困難。
甲骨文字檢測與識別是近年來才被學者關注的一個研究課題。從最初利用傳統方法進行檢測與識別,到當前深度學習技術在甲骨文字檢測與識別上的應用嘗試,在檢測和識別的性能上均有明顯提高。然而,仍有許多問題亟待解決:
(1)噪聲干擾問題。甲骨拓片圖像的噪聲與常見的高斯噪聲、椒鹽噪聲等不同,難以用常規技術進行建模。從形態上看,這些噪聲與甲骨字刻痕存在一定程度的相似性,對甲骨文字的檢測與識別極為不利,嚴重影響了檢測和識別的精度。
(2)殘缺甲骨字的檢測與識別。甲骨字經常因甲骨片斷裂而導致殘缺,致使其字形特征與甲骨天然紋理極其相似,再加之殘缺甲骨字訓練樣本量極少,其檢測與識別困難非常大。
(3)超大類別的甲骨文字識別問題。已知的甲骨單字有4500多個,對甲骨單字圖像進行識別必須產生4500個左右的類別。而現有甲骨文字識別方法難以對甲骨字進行全類別識別,主要原因是部分甲骨字樣本極少,有的甚至只有幾個樣本。這極大增加了識別難度。
(4)甲骨文異體字的識別問題。甲骨文中嚴格意義上的異體字有1032 組,其字形總數為3085 個,占到了甲骨文字形總數的49.5%[28]。甲骨文異體字出現非常頻繁,同一甲骨字的不同異體字之間字形相差極大,對應的異體字識別非常困難。
(5)檢測和識別數據集的嚴重依賴問題。訓練數據的束縛使得監督方式的深度學習難以發揮自身優勢而陷入困境。事實上,通過數字化設備可以很容易獲取大規模甲骨拓片圖像數據。如果讓深度神經網絡學習數據自身的特性而不是學習難以獲取的監督信息,則更有利于發揮深度神經網絡強大的學習能力。
(6)甲骨字構件的檢測與識別問題。甲骨字具有明顯的構件信息。甲骨字中二級構件有291 個、三級構件有61 個,頻率不為1 的基礎構件為497 個,這些構件通過不同方式構成甲骨字[28]。構件的識別能夠為甲骨字的識別提供有用信息。然而,甲骨字構件之間空間關系復雜,包圍關系、嵌套關系等對甲骨字構件的自動分析技術提出挑戰。
總之,甲骨文字檢測與識別在近幾年來取得了一定的研究成果,但仍然有大量問題值得深入研究。本文通過對有關研究進展的回顧、分析和討論,以期為有興趣從事該項研究的研究人員提供全面的信息和研究思路,為早日甲骨文字檢測與識別研究的實用化貢獻力量。