GitHub Star 13.9k,頂級項目全新開源表格識別算法




導 讀

相信大家在工作生活中經常會遇到表格識別的問題,比如導師說,把下面 PDF 文件裏面的表格取出來整理成 Excel 表。



也可能會遇到,公司領導或者客戶發來一張截圖,需要裏面的表格取出來轉成 Excel 表。


這種情況下你會怎麼做呢,新建一個 Excel 一個一個數據敲麼,辛辛苦苦半天趕出來,領導還會來一句,怎麼這麼慢,簡直鬱悶死……



彆着急,只要稍微會一點 Python 代碼,這個開源項目神器拯救你!



效果展示


版面分析 + 表格識別





如圖所示,針對一張完整的 PDF 圖片,這個開源項目可以對文檔圖片中的文本、表格、圖片、標題與列表區域進行分類。同時還可以利用表格識別技術完整地提取表格結構信息,使得表格圖片變爲可編輯的 Excel 文件。


不僅僅是 PDF 文件轉 excel,如果編程能力再強一些,結合版面分析技術,PDF 轉 Word 都不在話下。


而且使用也是非常方便,在完成 Python whl 包安裝之後,簡單幾行代碼即可完成快速試用。


最終結果會輸出圖片文件夾,Excel 表和文字識別結果,確實是非常方便。

 

傳送門:

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.2/ppstructure/README_ch.md




版面分析與表格識別核心技術概述



不管是版面分析還是表格識別,現有方案可大致分爲基於圖像處理的傳統方法和基於深度學習的方法。


(1)傳統方法:版面分析比較著名的是 O’Gorman 在 1993 年 TPAMI 中發表的算法 Docstrum。通過自下而上的方法依次將圖像中的黑白連通域劃分爲文字、文本行與文本塊,從而得到版面佈局。表格識別的傳統方法通過腐蝕、膨脹等操作獲得表格線、劃分行列區域,然後將單元格與文本內容相結合重構爲表格對象。但是傳統算法主要問題在於,對於版面佈局分析和表格結構的提取,圖像處理的方法依賴各種閾值和參數的選擇,對於不同場景下的文檔圖片難以保證泛化性。


(2)深度學習方法:除了直接使用檢測模型來對版面內容進行分類以外,還融合了檢測、分割、圖神經網絡、注意力機制等衆多前沿技術能力。依賴算法工程師對於深度神經網絡的精心設計,可以不再依賴閾值與參數,具有更好的泛化性。




PP-Structure 核心技術解讀



  • 版面分析技術
PP-Structure 的版面分析技術,主要是對圖片形式的文檔進行版面分析,將文檔劃分爲文字、標題、表格、圖片以及列表 5 類區域(與 Layout-Parser 聯合使用)。其核心技術思路與 Layout-Parser 項目密切合作,參考了 Layout-Parser 的工程結構設計,配合 PaddleDetection 開源的高效檢測算法 PP-YOLO v2,在數據集 TableBank 和 PubLayNet 上 mAP 分別達到 93.6 和 96.2, NVIDIA Tesla P40 耗時僅需 66.6ms,且可以支持用戶根據自己的數據自定義訓練。

Layout-Parser 是開源的基於深度學習的文檔圖像分析工具箱,可用於佈局檢測,字符識別和許多其他文檔處理任務,包含大量豐富模型,支持自定義 DL 模型,支持多個文檔佈局檢測數據集。

GitHub 地址:

https://github.com/Layout-Parser/layout-parser


  • 表格識別技術
表格識別技術則主要使用基於注意力機制的圖片描述模型 RARE,整體流程如下圖所示,對於其中的表格區域進行表格識別處理。


表格識別的難點主要在於表格結構的提取,以及將表格信息與 OCR 信息融合。整體流程可以分爲上下兩部分, 其中上半部分(黑色支路)是普通的 OCR 過程,通過 (1)文本檢測模塊 對錶格圖片進行單行文字檢測,獲得座標,然後通過 (2)文本識別模塊 識別模型得到文字結果。

而在下半部分的在藍色支路中,表格圖片首先經過(3)表格結構預測模塊,獲得每個 Excel 單元格的四點座標與表格結構信息。結合黑色支路文本檢測獲得的單行文字文本框 4 點座標,共同輸入(4)Cell 座標聚合模塊,再通過(5)Cell 文本聚合模塊,將屬於同一單元格的文本拼接在一起。最後結合表格結構信息,通過 (6)Excel 導出模塊 獲得 Excel 形式的表格數據。

下面分別針每個模塊分別展開介紹。

(1)文本檢測模塊 (2)文本識別模塊
主要使用 PP-OCR 提供的檢測和識別算法。

(3)表格結構預測模塊, 主要使用基於 Attention 的圖片描述模型 RARE,RARE 模型可以實現:輸入一張圖片,通過帶有注意力機制的網絡輸出一段文字,描述圖片的內容,而針對於表格圖片的圖片描述網絡,輸入一張經過版面分析的表格圖片,輸出的是一串 HTML 字符(如下圖所示)。表格的結構通過 HTML 的結構標記表示,其中的內容即爲表格文本中的內容。通過進一步的 HTML 解析,可以獲得每個文本的單元格四點座標和表格結構信息。


(4)Cell 座標聚合模塊,主要用來解決如何將跨行單元格的文本重新拼接在一個單元格內的問題。它通過計算由文本檢測算法獲得的文本框座標(紅色框)與表格結構預測模塊得到的 Cell 座標(藍色框)之間的 IOU 和頂點距離來進行單行到多行的聚合。使用 IOU 判斷哪些紅色框同屬於一個藍色框,使用頂點距離和 IOU 判斷紅色框的排列順序。



(5)Cell 文本聚合模塊,根據已有的紅色文本框順序,按照從上到下從左到右順序利用(4)Cell 座標聚合模塊的結果將(2)文本識別結果和進行拼接,這樣對於多行文本的單元格內容即可拼接成一個字符串。


(6)Excel 導出模塊,將(3)表格結構預測結果 html 結果與(5)Cell 文本聚合模塊文本結果結合,最終導出爲 Excel 輸出。


以上所有內容均在 PaddleOCR 項目開源,目前 star 數量超過 13.5k




相關延伸閱讀:

PaddleOCR 歷史表現回顧


  • 2020 年 6 月,8.6M 超輕量模型發佈,GitHub Trending 全球趨勢榜日榜第一。

  • 2020 年 8 月,開源 CVPR2020 頂會算法,再上 GitHub 趨勢榜單!

  • 2020 年 10 月,發佈 PP-OCR 算法,開源 3.5M 超超輕量模型,再下 Paperswithcode 趨勢榜第一

  • 2021 年 1 月,發佈 Style-Text 文本合成算法,PPOCRLabel 數據標註工具,star 數量突破 10000+,截至目前已經達到 11.5k,在《Github 2020 數字洞察報告》中被評爲中國 GithubTop20 活躍項目。

  • 2021 年 4 月,開源 AAAI 頂會論文 PGNet 端到端識別算法,Star 突破 13k

  • 2021 年 8 月,開源版面分析與表格識別算法



文本檢測識別效果:



這個最強 OCR 項目,你值得擁有:

https://github.com/PaddlePaddle/PaddleOCR



8 月 12 日(週四)20:15-21:30 百度高級研發工程師將帶我們解讀文檔分析技術 PP-Structure 及 PaddleOCR 應用落地經驗,歡迎大家踊躍報名直播課!

 

掃描二維碼報名,立即加入交流羣





如果您想詳細瞭解更多飛槳的相關內容,請參閱以下文檔。

PaddleOCR 項目地址・

GitHub:
https://github.com/PaddlePaddle/PaddleOCR

Gitee:

https://gitee.com/paddlepaddle/PaddleOCR


· 官網地址・
https://www.paddlepaddle.org.cn/



戳原文,更有料!

本文分享自微信公衆號 - AI算法與圖像處理(AI_study)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章