論文解讀丨表格識別模型TableMaster

華為雲開發者社群發表於2021-10-27
摘要:在此解決方案中把表格識別分成了四個部分:表格結構序列識別、文字檢測、文字識別、單元格和文字框對齊。其中表格結構序列識別用到的模型是基於Master修改的,文字檢測模型用到的是PSENet,文字識別用到的是Master模型。

本文分享自華為雲社群《論文解讀二十八:表格識別模型TableMaster》,作者: cver。

論文解讀丨表格識別模型TableMaster

1. 概述

在表格識別中,模型一般先回歸出單元格的座標,然後再根據單元格的座標得到表格的行列資訊。對於有表格線的場景,模型可以比較準確地獲取單元格座標,進而可以利用單元格座標後處理得到行列資訊。對於無表格線情況,通常難以直接得到單元格位置或表格線資訊,這時通常需要利用模型訓練的方式獲取文字塊的空間佈局。例如在圖模型中,常見的識別流程是先由OCR模型獲取文字框的座標和文字內容,然後結合視覺、位置、語義等多模態資訊,並利用圖網路來預測文位元組點的行列屬性,進而恢復出表格的結構。

在平安科技最新發布的表格識別模型TableMaster中,提出了另外一種解決思路,即同時訓練得到單元格內的文字塊位置和表格結構。這裡涉及到表格的另一種表達形式,這種形式在網頁中經常被用到,也即用超文字標記語言來定義表格(如圖1)。

論文解讀丨表格識別模型TableMaster

圖1 表格的超文字標記符和對應的表格

根據超文字標記語言的語法規則,表格是由 <table> 標籤來定義,每個表格均有若干行(由 <tr> 標籤定義),每行被分割為若干單元格(由 <td> 標籤定義)。從圖1可以看出,一個表格被表示成了一段文字字元序列,這樣就可以用序列化的模型(seq2seq或transformer)來進行表格結構預測。

2.TableMaster

2.1 表格結構識別流程

TableMaster採用多工的學習模式,它有兩個分支,一個分支進行表格結構序列預測,一個分支進行單元格位置迴歸。在TableMaster識別結束後,識別結果經過後處理匹配演算法,融合表格結構序列和單元格文字內容,得到表格最終的html(如圖2)。

論文解讀丨表格識別模型TableMaster

圖2 TableMaster表格識別流程 2.2 TableMaster原理

2.2 TableMaster原理

2.2.1 網路架構

TableMaster基於Master[2]模型進行了修改。Master是平安自研的文字識別模型, 其網路結構分為編碼和解碼兩個部分。編碼的網路結構借鑑ResNet的殘差連線結構。和ResNet不同的是,Master的編碼網路在每一個殘差連線塊之後接了一個多頭通道注意力模組(Multi-Aspect GCAttention):

論文解讀丨表格識別模型TableMaster

其中h是多頭注意力的個數。

編碼階段是整個Master網路的關鍵,其把一張圖片轉換成序列,使得可以用Transformer進行解碼。在編碼階段輸入的圖片維度為:48*160*1,輸出的維度為6*40*512,其中512就是模型的序列長度。編碼階段輸出的序列特徵再經過位置編碼,輸入到解碼階段。解碼部分是由三個常規的Transformer 解碼層組成(如圖3)。

論文解讀丨表格識別模型TableMaster

圖3 Master模型結構,圖片來源[2]

TableMaster特徵提取模型也即編碼結構和Master一致,和Master結構不同的地方在解碼部分。TableMaster的解碼部分相對於Master增加了一個分支:在經過一個Transformer層之後,TableMaster的解碼部分分成兩個分支。之後每個分支再接兩個Transformer層,分別對應兩個學習任務:單元格文字框的迴歸以及表格結構序列的預測。

論文解讀丨表格識別模型TableMaster

圖4 TableMaster和Master模型結構對比,圖片來源[1]

2.2.2 輸入和輸出

TableMaster特徵提取階段輸入圖片的維度為480*480*3,輸出的維度為7*7*500,然後把輸出的序列特徵reshape到49*500,輸入到解碼階段。其中500是模型的序列長度,49為每個位置序列特徵的維度。表格的類別標籤有38個(如圖5),再加上開始和結束兩個標籤,模型中用到的類別標籤一共是41個。

論文解讀丨表格識別模型TableMaster

圖5 Tablemaster模型中表格的38類標籤,圖片來源[1]

其中有兩個<td></td>,一個表示空單元格,一個表示非空單元格。

標記符中有<tbody>、</tbody>、<tr>、</tr>等表示表格開始和行的標記符以及空單元格的標記符。這些標記符沒有對應的文字塊座標。因此標記符序列長度比實際的單元格序列長。為了使得單元格序列和標記符序列一樣長,在單元格序列中,對應於<tbody>、</tbody>、<tr>、</tr>標記的位置會填充為0。而這些位置的座標在迴歸單元格座標時不用於引數的更新,會被一個Mask過濾掉。

下圖展示了TableMaster識別的表格結構序列和單元格座標:

論文解讀丨表格識別模型TableMaster

圖6 TableMaster預測的結果。(a)原圖;(b)預測的文字框;(c)預測的表格結構序列

2.2.3 文字框定位和識別

在文字檢測和識別階段用到的文字檢測模型為經典的PSENet[3]。文字識別用到的模型就是上文提到的Master。利用PSENet+Master模型組合,文字端到端的識別精度可以達到0.9885。

2.2.4 還原完整的html

TableMaster網路輸出的表格結構序列並不是最終的html序列。為了得到表格最終的html序列還需要在表格結構標記符中填充對應的文字內容,其流程如下:

論文解讀丨表格識別模型TableMaster

圖7 由識別結果到最終的html序列。(a)流程圖;(b)最終的html序列;(c)html序列視覺化

其中重要的一步就是單元格的匹配:根據單元格座標和文字框座標,把文字框座標和單元格座標進行對齊,然後就可以把對應文字框的識別內容填充到對應單元格的標記符序列中,從而得到最終的html文字。文字框的對齊主要基於三個規則:1、中心點規則,如果文字框的中心點在單元格框內,則把文字框相應的文字內容填充到對應的<td></td>中;2、IOU規則,在第一點不滿足的情況下,計算和文字框具有最大IOU的單元格框作為匹配項;3、距離原則,如果以上兩點都不滿足,則計算所有單元格和文字框的距離,選取距離最小的單元格框作為匹配項。

通過序列化模型來進行表格結構的還原是一種有效的表格結構識別方法,類似的還有百度的RARE。和TableMaster不同的是,RARE把TableMaster中的Transformer換成了GRU。另外,該方法只利用了影像的視覺資訊,後續工作中可以結合多模態特徵得到更好效果。

文獻引用

[1] Jiaquan Ye , Xianbiao Qi , Yelin He , Yihao Chen , Dengyi Gu , Peng Gao , and Rong Xiao. PingAn-VCGroup's Solution for ICDAR 2021 Competition on Scientific Literature Parsing Task B: Table Recognition to HTML. arXiv:2105.01848, 2021.

[2] Ning Lu, Wenwen Yu, Xianbiao Qi, Yihao Chen, Ping Gong, Rong Xiao, and Xiang Bai. Master: Multi-aspect non-local network for scene text recognition. Pattern Recognition, 2021.

[3]Wenhai Wang, Enze Xie, Xiang Li, Wenbo Hou, Tong Lu, Gang Yu, and Shuai Shao. Shape robust text detection with progressive scale expansion network. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 9336–9345, 2019.

 

點選關注,第一時間瞭解華為雲新鮮技術~

相關文章