PaddleOCR3-0 最新開源最強高精度文檔解析神器,pdf 一秒轉換 markdown
在大模型與 RAG 技術快速發展的當下,結構化數據對於智能系統的重要性日益凸顯。將文檔圖像、PDF 等非結構化數據精準地轉換成結構化數據(如 Markdown、JSON)已成爲行業待解決的關鍵問題。
目前衆多開源方案在處理複雜文檔情形時,都會遇到文字識別能力差、閱讀順序無法正確恢復、表格識別不準、長難公式無法解析等問題。基於廣大用戶的反饋和對行業痛點的分析,飛槳團隊從文檔解析的多個模塊全棧優化,打造了新一代文檔解析利器——PP-StructureV3,即使面對複雜文檔場景,依舊遊刃有餘,爲解決大模型訓練微調的數據缺失和大模型的落地問題,提供強有力的保障。 該方案已隨着 PaddleOCR3.0 的發佈,全面開源!
PP-StructureV3 優勢
精度高: PP-StructureV3 支持多種場景、多種版式文檔圖像或 PDF 文件的高精度解析,可以將文檔圖像或者 PDF 文件無縫轉換爲帶圖像、文本、表格、閱讀順序等內容的 Markdown 文件和帶文字、段落等座標信息的 JSON 文件。PP-StructureV3 在 OmniDocBench 基準測試中領先衆多開源和閉源方案。
注:以上精度信息除 PP-StructureV3 和 MinerU-1.3.11 爲自測精度外,均來自 OmniDocBench
多項專精能力: PP-StructureV3 除了在 OmniDocBench 上的精度指標更高之外,還擁有很多其他開源文檔解析方案沒有的專精能力,如:印章識別、圖表解析、含公式 / 圖片的表格識別、豎排文本解析、中文公式、化學方程式及複雜表格識別等——這些能力是很多重要場景 AI 應用落地的剛需。
效果速覽
文檔解析效果速覽
-
論文
-
財報
-
雜誌
-
複雜公式
- 中文公式 / 化學方程式
- 豎版文字
-
-
含公式 / 圖像表格
在文檔解析任務中,閱讀順序恢復能力尤爲重要,飛槳團隊自研了全新的閱讀順序恢復解決方案,不僅可以應對常規文檔,也可以應對報紙、複雜佈局的雜誌、試卷等較難的文檔場景。對於複雜佈局的文檔,PP-StructureV3 的閱讀順序恢復能力遠超其他文檔解析方案。
複雜文檔閱讀順序效果速覽
- 雜誌
-
報紙
-
試卷
-
豎版文本
此外,如前文所述,PP-StructureV3 也支持將圖表轉換爲表格,圖表中的關鍵數據的獲取不再困難。
圖表轉表效果速覽
算法介紹
PP-StructureV3 採用了一種精細化的模型組合策略,通過高效協調不同模型的輸入輸出,來實現高精度的文檔解析。首先,文檔圖像經過文檔預處理(可選),然後執行版面區域分析和文字識別。接下來,版面區域分析和文字識別的融合結果會基於其所屬的不同版面類型被分別傳送到表格識別、公式識別、圖表解析和印章識別等多個子模塊。最後,閱讀順序恢復模塊對不同版面區域的識別結果基於人類閱讀順序進行排序,生成最終的文檔解析結果——對應的 Markdown 文檔和 JSON 文件。以上各個模塊涉及的模型算法,飛槳團隊均進行了全棧自研,並對關鍵模塊做了細緻優化。
其中幾個重要模塊的核心能力升級優化點如下:
-
文檔圖像方向分類:優化了預處理步驟中的文檔圖像方向分類模型的準確性,大大提升了純表格文檔場景、少文字文檔場景、其他語言文檔場景的方向分類準確性,整體方向分類的準確率大於 99%。
-
文字識別: 自研 PP-OCRv5,實現單一模型支持中文簡體、中文繁體、中文拼音、英語、日語五大文字類型,同時升級了中英手寫體、豎排文本、生僻字等複雜場景的識別能力,較 PP-OCRv4 端到端提升 13 個點。OCR 模型的升級,可以讓 PP-StructureV3 無縫高精度識別中、英、日三種文檔的文字內容。
-
版面區域檢測:升級了 PP-DocLayout 在複雜佈局文檔的版面區域檢測能力,包含多欄打印 / 手寫試卷、嵌套表格、研報、豎版報紙和雜誌等,相比於上一代,精度顯著提升。版面區域檢測模塊的升級,爲處理繁雜多樣的文檔提供了重要佈局分析的能力。
-
版面分塊檢測:爲了應對複雜版面的閱讀順序恢復問題,研發了版面分塊檢測模型 PP-DocBlockLayout,可以將複雜報紙、雜誌中不同的文章內容進行分塊區分,從而有效降低相近位置區域的相互干擾,從而提升閱讀順序恢復的可靠性。
-
表格識別:表格識別解決方案 PP-TableMagic 全新升級,新增單元格直轉 HTML、OCR 文本單元格切分、表格方向矯正等多個重要能力,對旋轉表格、複雜有線表等表格的識別準確率顯著提升。
-
公式識別:升級了 PP-FormulaNet 在複雜公式的識別能力,同時新增了中文公式識別、化學方程式識別的能力。
-
*圖表解析:自研圖表解析方案 PP-Chart2Table,可以將直方圖、餅圖、折線圖等多樣化且複雜的圖表轉換爲表格,爲圖表中的關鍵數據提取提供強有力的保障。
-
閱讀順序恢復:自研全新的複雜版面閱讀順序恢復解決方案,強化了對雜誌、試卷、報紙和豎版文字等複雜版面場景的閱讀順序恢復能力,可以在多場景中,將多版式的文檔段落閱讀順序進行恢復。
-
Markdown 後處理:支持不同層級標題的區分,支持跨段、跨頁文本內容的合併,支持根據真實文檔的圖片尺寸縮放圖像,支持居中顯示圖、表等,支持在識別的表格中插入公式、圖像等內容。
使用方式
爲了方便開發者使用 PP-StructureV3,我們提供了極簡 API 方案,可快速實現本地推理和服務化部署:
本地推理
本地推理提供了兩種方式,即 CLI 預測和 Python API 的方式,其中 CLI 預測方式如下:
# 支持傳入URL、圖片路徑、文件夾路徑、PDF文件、PDF文件夾路徑等
paddleocr pp_structurev3 -i pp_structure_v3_demo.png
Python API 預測方式如下:
from paddleocr import PPStructureV3
pipeline = PPStructureV3()
output = pipeline.predict("./pp_structure_v3_demo.png")
for res in output:
res.print() ## 打印預測的結構化輸出
res.save_to_json(save_path="output") ## 保存當前圖像的結構化json結果
res.save_to_markdown(save_path="output") ## 保存當前圖像的markdown格式的結果
經過預測後,會通過save_to_json()
和save_to_markdown()
方法將文檔圖像的結構化 JSON 結果和 Markdown 結果保存在save_path
中。
服務化部署
PaddleX 提供了 PaddleOCR 的服務化部署能力,可以通過 PaddleX 快速完成 PP-StructureV3 的服務啓動。
CLI 一鍵啓動服務:
paddlex --install serving
paddlex --serve --pipeline PP-StrcutureV3
服務啓動後,客戶端通過少量代碼即可調用服務。
import base64
import requests
import pathlib
API_URL = "http://localhost:8080/layout-parsing" # 服務URL
image_path = "./pp_structure_v3_demo.png"# 對本地圖像進行Base64編碼
with open(image_path, "rb") as file:
image_bytes = file.read()
image_data = base64.b64encode(image_bytes).decode("ascii")
payload = {
"file": image_data, # Base64編碼的文件內容或者文件URL
"fileType": 1, # 文件類型,1表示圖像文件
}# 調用API
response = requests.post(API_URL, json=payload)
# 處理接口返回數據
assert response.status_code == 200
result = response.json()["result"]
print (result)
關於 PP-StrutureV3 的其他介紹,詳見 PaddleOCR 官方文檔:
方案介紹:
https://paddlepaddle.github.io/PaddleOCR/latest/version3.x/algorithm/PP-StructureV3/PP-StructureV3.html
使用教程:
https://paddlepaddle.github.io/PaddleOCR/latest/version3.x/pipeline_usage/PP-StructureV3.html
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/Y01XVtQMcGibXXtRl7mERg