【论文阅读】Improving Table Structure Recognition with Visual-Alignment Sequential Coordinate Modeling
利用視覺對齊順序坐標建模改進表格識別
- 論文來源
- 論文內容
- Abstract
- Introduction
- Related Work
- Task Definition
- Methodology
- CNN圖像編碼器
- HTML序列解碼器
- 坐標序列解碼器
- Visual-alignment loss
- 實現細節
- Experiments
- Datasets and Evaluation Metrics
- 與最新的方法比較
- 消融實驗
- Limitations
- Conclusion
論文來源
這兩天閱讀了一篇發表在CVPR2023的關于表格識別的論文。
論文鏈接: https://arxiv.org/pdf/2303.06949.pdf
論文內容
Abstract
表結構識別旨在將非結構化表圖像的邏輯和物理結構提取為機器可讀的格式。最新的端到端圖像-文本方法通過兩個解碼器同時預測這兩種結構,其中物理結構(單元格的包圍框)的預測基于邏輯結構的表示。然而,由于邏輯表示缺乏局部視覺信息,以往的方法都存在邊界框不精確的問題。為了解決這個問題,我們提出了一個用于表結構識別的端到端順序建模框架,稱為VAST。它包含由來自邏輯結構解碼器的非空單元格的表示所觸發的新的坐標序列解碼器。在坐標序列解碼器中,我們將邊界框坐標建模為語言序列,其中左、上、右和下坐標按順序解碼,以利用坐標間依賴關系。此外,我們提出了一個輔助視覺對齊損失來強制非空單元格的邏輯表示,以包含更多的局部視覺細節,這有助于生成更好的單元格邊界框。大量的實驗表明,我們提出的方法可以在邏輯和物理結構識別方面取得最先進的結果。消融研究也驗證了所提出的坐標序列解碼器和視覺對準損失是我們方法成功的關鍵。
Introduction
表是表示結構或半結構信息的基本媒介。表結構識別包括識別表的邏輯和物理結構,對于理解和進一步編輯可視化表格至關重要。邏輯結構表示單元格的行列關系和單元格的跨度信息。物理結構不僅包含邏輯結構,還包含單元格的包圍框或內容,聚焦于圖像中的確切位置。
表識別可以通過端到端編碼器-解碼器范式實現。這種方法擅長于預測邏輯結構,但通常產生不太準確的物理結構,即單元格的邊界框或單元格內容。然而,邊界框精度對于下游任務(如文本信息提取或表格QA)至關重要。本工作設計了序列坐標譯碼,并采用了更多的視覺信息來生成更精確的邊界框。
在坐標序列解碼器中,非空單元格的開始嵌入是來自HTML序列解碼器的表示。這種表示通常包含更多的表的全局上下文,并具有較小的局部可視化細節。由于局部視覺外觀對于預測準確的坐標很重要,我們將HTML序列解碼器中的非空單元格的表示與CNN圖像編碼器中的視覺特征對齊。
本文貢獻:
- 在端到端表識別系統中,提出了一種坐標序列解碼器來顯著提高表的物理結構精度。
- 引入了HTML解碼器和坐標序列解碼器之間的視覺對齊損失。它強制HTML解碼模塊的表示包含更詳細的可視信息,這可以為非空單元格生成更好的邊界框。
- 開發了一個端到端序列的表結構識別建模框架,對比實驗證明了方法可以達到最先進的性能,消融實驗證明了方法的有效性。
Related Work
最近的深度學習方法在表結構識別任務中表現出了優異的性能,方法分為三類:基于分割和合并的方法,基于檢測和分類的方法,以及圖像到文本生成法。
- 基于分割和合并的方法
包括兩個階段。第一階段檢測行和列,然后通過行和列的交集將表格分割為多個基本文本塊;第二階段合并文本塊以回復結構。
一些工作專注于更好地分割行和列。例如DeepDeSRT和TableNet將FCN從語義分割調整為行列分割。DeepTabStR將可變形卷積應用于Faster R-CNN, FPN和R-FCN,具有更廣泛的接收域來捕獲表行,可以準確地分割表行和列。Khan等和Li等使用雙向門控循環單元網絡來識別像素級的行和列分隔符。受DETR的啟發,TSRFormer將表分離線預測制定為直線回歸問題,他們提出了一個分離線回歸變壓器,直接從表圖像中預測分離線。
已經開發了幾種合并方法來識別包含跨行或跨列單元格的表。SPLURGE方法提出了表拆分和合并的思想。他們設計了一個合并模型來合并跨多列或多行的單元格。為達到一個更準確的合并結果,[54]融合了視覺特征和語義特征,得到了更精確的合并結果。RobusTabNet[29]提出了基于空間cnn的分離線預測模塊,將表格分割為單元格網格,并應用基于grid cnn的單元格合并模塊恢復跨單元格。TRUST[11]引入了基于端到端變壓器的基于查詢的分割模塊和基于頂點的合并模塊。分割模塊用于提取行/列分隔符的特征,并將行/列特征進一步輸入基于頂點的合并模塊,預測相鄰基本單元之間的連接關系。 - 基于檢測和分類
基本思想:首先檢測單元格,然后對單元格之間的行和列關系進行分類,根據單元格和連接構造圖來獲得表結構。
對于不規則布局的表格,良好的單元格檢測結果可以有效提高表格識別的準確率,[26,33,36,55]致力于提高單元格檢測的準確率。其他一些研究人員旨在對單元格關系進行分類來構建表結構,他們利用ground truth或OCR結果來獲取文本塊。然后,他們將文本塊作為頂點構造一個圖,并使用基于圖的網絡對單元格之間的關系進行分類。
最近的方法時把單元格檢測和單元格關系放在一個網絡當中,TableStructNet[37]和FLAG-NET[24]都是利用Mask R-CNN[13]網絡來獲取單元格區域和單元格視覺特征。他們都利用[34]中的DGCNN架構來模擬幾何相鄰檢測單元格之間的相互作用。Hetero-TSR[23]提出了一種新的神經協同圖機(NCGM),利用模態交互來增強復雜場景的多模態表示。Lee等[17]將表格制定為平面圖形,他們首先獲得了單元格頂點置信度圖和線域。之后,他們通過求解約束優化問題來重構表結構。 - 基于圖像到文本的生成方法
將表的結構視為一個序列,并采用端到端的圖像到文本范式來識別表結構。
Deng等[7]使用經典的IM2MAKEUP框架[5]來識別表的邏輯結構,其中設計CNN來提取視覺特征,使用帶有注意機制的LSTM來生成表的latex代碼。Zhong等[56]嘗試用編碼器-雙解碼器(EDD)架構生成邏輯結構和單元內容。在解碼階段,他們使用了兩個基于注意力的循環神經網絡,一個負責解碼表結構代碼,另一個負責解碼內容。TableMaster[53]和TableFormer[30]利用變壓器解碼器來改進EDD解碼器。此外,他們使用回歸解碼器來預測邊界框,而不是內容。由于缺乏局部視覺信息,這些方法預測的邊界框精度較低。在本文中,我們將邊界盒預測作為一個坐標序列生成任務,并配合視覺對準損失生成更精確的邊界盒。
Task Definition
給定一個表映像,我們的目標是預測它的邏輯結構和端到端的物理結構。邏輯結構指的是表的HTML,物理結構指的是所有非空單元格的包圍框坐標。我們用S = [s1,…, sT]表示標記化的HTML序列,其中T是序列的長度,s是預定義HTML標記的標記。我們定義B = {b1,…, bN}為所有非空單元格序列的集合,其中b = (xleft, ytop, xright, ybottom),為非空單元格包圍盒坐標序列,每個坐標離散為一個整數。一個非空單元格的表格和內容邊界框的HTML示例如圖2所示。
Methodology
我們的框架由三個模塊組成:CNN圖像編碼器,HTML序列解碼器和坐標序列解碼器。給定一張表格圖像,我們通過CNN圖像編碼器提取特征映射。特征圖輸入到HTML序列解碼器和坐標序列解碼器,分別生成非空單元格的HTML序列和包圍框。HTML序列解碼器中非空單元格的表示將觸發坐標序列解碼器。為了強化表示的局部視覺信息,在訓練過程中使用視覺對齊損失。
CNN圖像編碼器
使用了一個改進的ResNet作為CNN圖像編碼器,該編碼器具有多方面的全局內容關注。得到的圖像特征映射為C4,它來自第4階段最后一個卷積層的輸出。編碼器的輸入是一個大小為HxWx3的RGB圖像,輸出為特征圖M,大小為H/16XW/16Xd。
HTML序列解碼器
表的邏輯結構包含單元格、行、列、鄰接、跨度等信息。本文使用HTML表示表的邏輯結構。表邏輯結構的ground truth HTML被標記為結構標記。與工作[53]中一樣,使用合并標簽來表示非跨單元格,以減少HTML序列的長度。具體來說,使用和[]分別表示空單元格和非空單元格,對于跨單元格,HTML標記為<td, colspan=“n” or rowspan=“n”, > 和 ,使用第一個標記<td表示一個跨單元格。
HTML序列解碼器是一個具有N = 3個相同層的堆棧的轉換器。內存鍵和值是添加了定位編碼的扁平特征映射M。查詢是移位的結構標記。轉換器的輸出是一個HTML序列,它是通過自回歸解碼的。第t步的輸出是一個分布:p(st|M, s1:t?1)。在訓練中,我們使用交叉熵損失:
其中S?是目標表的ground truth HTML。起始標記s * 1或s1在訓練和測試階段都是一個的固定標記。
坐標序列解碼器
對于坐標預測,在HTML序列解碼器之后級聯坐標序列解碼器,解碼器由非空單元格觸發,左、上、右、下坐標一次解碼一個元素。特別是,每個連續角坐標被均勻離散為[0,nbins]之間的整數。在解碼器中,利用前一個預測坐標的嵌入來預測后一個坐標,將上下文信息注入到下一個坐標預測中。
與HTML序列解碼器類似,坐標序列解碼器將帶有定位編碼的flattened特征映射M作為內存鍵和值,并將移位的坐標標記作為查詢。
開始標記的嵌入是HTML序列解碼器中的snci表示,用fnci表示。第t步的輸出是一個分布:p(ct|c1:t?1,f nci, M),其中{ct}4t=1是范圍在[0,nbins]之內的離散隨機變量。
坐標序列解碼器也由交叉熵損失函數訓練:
其中K為圖像中非空單元格的數目,ci * 1、ci * 2、ci * 3、ci * 4分別對應第i個單元格的左、上、右、下坐標的ground truth值。nci的表示來自HTML序列解碼器,它包含上下文信息和可視化信息,可以幫助坐標序列解碼器描述不同的單元格。
討論。本文提出的坐標序列解碼器與Pix2Seq[1]相關。Pix2Seq也逐步解碼對象的坐標,但與我們的方法有三個明顯的不同。
1、Pix2Seq缺乏全局信息來指導在哪里解碼坐標,本文的方法基于表的全局上下文獲得的單元格來預測邊界框
2、Pix2Seq需要序列增強方法來方便訓練,原因之一是該模型需要同時進行分類和定位,不容易收斂。本文的方法不需要這樣。
3、Pix2Seq從一個長序列中逐個解碼不同的邊界框,本文的方法可以并行執行邊界框解碼。因為可以收集所有非空單元格的表示,然后立即提供給坐標序列解碼器。
Visual-alignment loss
為了豐富坐標序列解碼器開始嵌入時的局部視覺信息,本文提出了一種視覺對齊損失來輔助坐標序列解碼器的學習。視覺對齊損失的主要動機是將非空單元格的邏輯結構表示與其視覺特征對齊。
在訓練過程中,本文收集所有非空單元格{f nci}Ki=1的HTML表示。使用ROIAlign[13]為每個非空單元格提取視覺表示{gnci}Ki=1。根據ground truth的包圍框從圖像特征圖M中裁剪視覺特征。進一步投影為與fnci具有相同維數的向量。給定一個有K個非空單元格的表圖像,我們有K個visual-HTML對(gnci, fnci)。在f nci和圖像中所有視覺表示{gnci}Ki=1之間采用InfoNCE[48]損失。視覺對齊損失為:
其中τ是溫度超參數,設置為0.04。余弦相似度是通過點積來衡量的。值得一提的是,這個損失只在訓練時使用,在推理時不會對模型造成任何負擔。
實現細節
我們將我們的方法視覺對齊順序坐標表識別器(Visual-Alignment Sequential Coordinate Table Recognizer)表示為VAST。方法中的一些超參數如下:圖像特征的維數d設置為512。兩個解碼器都由N = 3個相同層的堆棧組成,頭數h設置為8。nbins的值設置為608。
訓練。統一損失L是方程中損失Ls、Lc和Lva的組合:
其中λ1、λ1、λ3分別為1.0、1.0、1.0。我們使用AdamW[27]作為優化器從頭開始訓練我們的VAST。初始學習率為1e-4,每步降低0.1。為了防止過擬合,我們將HTML序列解碼器和坐標序列解碼器的退出[45]速率設置為0.1。HTML序列解碼器的最大長度被設置為500。我們在4個特斯拉V100 gpu上訓練了48個epoch,mini-batch size為3。ROIAlign的輸出大小為2× 2,我們使用線性變換將平坦的可視化表示gnci∈R512×4投影到大小為512的向量。
推理。在推理階段,我們使用貪婪搜索進行HTML序列預測和坐標序列預測。對于單元格內容,如果輸入模式是PDF,我們使用預測的內容包圍框從PDF中抓取內容。如果輸入模態是圖像,我們使用PSENET[51]和MASTER[28]來檢測和識別文本,然后根據它們的包圍框進行合并。值得注意的是,在將內容插入單元格時,我們沒有對預測的邏輯結構和物理結構進行任何更正。補充材料提供了如何獲取內容的詳細信息。
Experiments
Datasets and Evaluation Metrics
- 數據集。可公開訪問的表結構識別基準數據集。
在PubTabNet [56], FinTabNet [55], ICDAR2013 [12], IC19B2M [9], SciTSR[2]和PubTables-1M上評估了我們的方法。 - 評估指標
PubTabNet和FintabNet使用基于樹距的相似度(TEDS)[56]作為評價指標。度量將表HTML表示為樹,通過計算ground truth和pred樹之間的樹編輯距離來獲得TEDS分數。除了TEDS之外,我們還提出了S-TEDS,它只考慮表的邏輯結構,而忽略了單元格內容。
對于ICDAR2013、IC19B2M和SciTSR,他們應用cell adjacency relations (CAR)[12]作為評價指標。具體來說,它生成了真陽性單元格與其垂直和水平鄰居之間的水平和垂直鄰接關系列表。然后,通過將該列表與ground-truth列表進行比較,可以計算精度、召回率和F1分數。不同之處在于,SciTSR和ICDAR2013使用單元格含量來匹配預測單元格和真實單元格,而IC19B2M使用不同的IoU閾值(σ)來將預測單元格映射到IoU最高且IoU≥σ的真實單元格。對于這三個數據集,我們將把預測的HTML和邊界框轉換為物理結構格式。
GriTS最近由Smock等[43]提出,PubTables-1M首先采用。它首先將ground truth和預測表表示為矩陣,GriTS通過兩個矩陣中最相似的子結構之間的相似性來計算。GriTS以統一的方式處理單元拓撲、單元內容和單元位置識別的評估。
與最新的方法比較
- 邏輯結構識別結果
VAST在FinTabNet和PubTabNet上的性能優于之前的所有方法。S-TEDS和TEDS的區別主要是由于內容識別或從PDF中提取的錯誤。對于TableMaster, TEDS比S-TEDS得分高是因為它們在獲取單元格內容時通過后處理糾正了邏輯結構。與強基線TableFormer相比,V AST在FinTabNet上提高了1.83%,在PubTabNet上提高了0.48%。值得一提的是,V AST在PubTabNet上將TEDS從93.60%提高到96.31%,從而優于TableFormer。TEDS評分的提高幅度大于S-TEDS,說明V AST在內容提取方面表現更好。
我們還研究了PubTabNet上單元格檢測的性能(AP50, MS COCO AP在IoU=.50)。VAST的AP50從82.1%提高到94.8%,優于TableFormer。
- 物理結構識別結果
結果顯示在表4、5和6中。VAST超越了大多數以前的方法,并在ICDAR2013, IC19B2M和PubTables-1M上實現了新的最先進的性能。
在SciTSR上,V AST獲得了最高的99.77%的精度分數,第二好的F1分數為99.51%。V AST的回憶評分低于NCGM。這主要是因為SciTSR中的一些樣本的列超出了圖像的范圍。我們認為這樣的數據是無效的,所以我們的模型在推理時忽略了這些殘缺的列。補充材料中提供了這些數據的一些可視化。
在ICDAR2013上,為了公平起見,我們只與在ICDAR2013完整測試數據集中報告結果的方法進行比較。如表4所示,我們的VAST在使用FinTabNet訓練時F1-score最好,達到96.52%,使用SciTSR訓練時F1-score最好,達到95.72%。
在IC19B2M上,我們報告了IoU閾值為0.5和0.6的結果,作為競爭基線方法GTE[55]。W A vg。F1分數是每個閾值下F1分數的加權平均值。如Tab所示。在IoU閾值0.5和0.6處,VAST的f1得分最高,分別比GTE高出12%和13.2%。與CascadeTabNet相比,當IoU閾值設置為0.6時,VAST超過了7.9%,即使它使用自己標記的ICDAR2019數據集進行訓練。固有地,在F1 (W average .F1)的總體平均分數中,V AST得分最高,為58.6%。
PubTables-1M是最具挑戰性的基準數據集,有93834個樣本可供評估。如表6所示,我們在AccCont, GriTSTop, GriTSCont和GriTSLoc上報告結果。VAST在AccTop、GriTSTop、GriTSCont的分數分別為90.11%、99.22%和99.14%,達到了目前最先進的性能。VAST的GriTSLoc評分比DETR低,這是因為DETR使用單元格中包含內容的邊界框來調整單元格的預測邊界框。
消融實驗
我們進行了一組消融實驗來驗證我們提出的模塊的有效性。我們使用FinTabNet進行訓練,然后在FinTabNet測試集和IC19B2M上進行測試。結果見表7,其中報告了邏輯結構和檢測AP的S-TEDS評分(MS COCO AP在IoU=.50:.05:.95)和非空單元格的WAvg.F1評分。
坐標序列解碼器的有效性。為了驗證坐標序列解碼器(CSD)的有效性,我們遵循TableFormer[30]和TableMaster[53]來實現回歸解碼器(RD)模塊,如4所示。CSD與RD的區別在于輸出頭和損失函數:
1)通過使用Softmax激活函數,CSD每次生成一個元素的離散坐標序列(xleft, ytop, xright, ybottom),它可以在生成下一個時消耗之前生成的坐標作為額外的輸入。RD使用Sigmoid激活函數進行輸出[xleft, ytop, xright, ybottom]規范化的坐標
2)我們用交叉熵損失來訓練CSD,用L1損失來訓練RD。
我們使用實驗2中的坐標序列解碼器(CSD)來學習和預測非空單元格的內容包圍框,同時使用實驗1中的回歸解碼器(RD),結果如表7所示。在FinTabNet上,Exp #2將S-TED評分和檢測AP評分分別提高了0.22%和8.3%。在IC19B2M上,Exp #2的WAvg.F1比Exp #1高9.4%。可以看出,CSD可以顯著提高物理結構識別的性能,表明CSD顯式地建模了坐標之間的依賴關系,預測了更準確的邊界框。
視覺對準損失的有效性。根據表7中的Exp #3和Exp #2,在訓練過程中增加視覺對齊損失(VA)有利于邏輯和物理結構的識別。在FinTabNet上,Exp #3在S-TEDS和AP方面分別提高了0.15%和0.6%。在IC19B2M上,Exp #3也給了WAvg.F1 6.5%的增益。這些結果證明了我們提出的視覺對齊損失的有效性和普遍性。
此外,我們還展示了一些定性結果,以表明VA如何加強非空單元格表示的局部視覺信息。在圖5中,我們可視化了當HTML序列解碼器預測非空單元格的標記時的交叉注意(頭和層的平均)。可以看到,當預測第一個非空單元格的標記時,兩個模型的注意力都可以正確地集中在該單元格上。在預測第二個非空單元格時,w/o VA模型的注意力不正確地集中在該行的頂部文本塊上,而不是整個單元格。而w/ V A模型可以正確地集中在第二個非空單元周圍。同樣的現象也出現在第三和第四個非空單元格。交叉注意地圖生成和更多可視化的細節在補充中給出。
Limitations
雖然大量的實驗結果證明了我們提出的方法的有效性,但我們提出的V AST仍然存在兩個局限性:
1)由于我們的模型采用自回歸方式,在推理過程中每次只生成一個標簽,推理速度比基于分裂和合并的方法慢。其中,VAST、EDD和TRUST的運行時間分別為1.38、1和10 FPS。
2)我們使用HTML序列來表示表的邏輯結構,即使我們合并一些標簽來減少HTML序列的長度,序列中仍然存在過多的冗余,例如’ ', ’ '等,導致較高的計算和內存消耗。
Conclusion
提出了一種表結構識別的端到端序列建模框架。該模型由兩個級聯轉換器解碼器組成,分別生成整個表的HTML序列和非空單元格的坐標。HTML序列解碼器中非空單元格的表示形式被用作開始嵌入以出發坐標序列解碼器。
此外,還提出了輔助視覺對齊損失,使每個非空單元格的開始嵌入包含更多局部視覺信息,從而產生更精確的包圍框。實驗結果表明,我們的方法在幾個基準數據集上取得了新的SOTA性能。
總結
以上是生活随笔為你收集整理的【论文阅读】Improving Table Structure Recognition with Visual-Alignment Sequential Coordinate Modeling的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dockerfile制作容器--ssh容
- 下一篇: 如何使用python画一个爱心