如果你曾經嘗試從掃描的 PDF、歷史報紙檔案或一疊發票中提取結構化資訊,你就知道痛苦所在:每份文件看起來都不一樣,每個模型期望不同的輸入格式,每個 OCR 引擎以不同的座標系統輸出文字。LayoutParser 就是為了終結這種混亂而建立的。
由 Layout-Parser 團隊 開發,這個開源深度學習工具包提供了用於文件影像分析任務的統一介面,包括版面檢測、OCR 整合和視覺資訊提取。擁有超過 4,000 個 GitHub 星號,LayoutParser 已成為研究人員和從業者將文件影像轉換為結構化、機器可讀資料的首選函式庫。
LayoutParser 與眾不同之處在於其簡潔性。一個完整的版面檢測管線僅需 4 行 Python 程式碼即可運行。你載入影像、呼叫 detect()、視覺化結果並儲存。在這個精簡的 API 背後,是一個支援 Detectron2、TensorFlow 和 ADQ 模型後端的精緻架構,全部透過一致的介面存取。
LayoutParser 解決了哪些問題?
| 功能 | 描述 | 後端選項 |
|---|---|---|
| 版面檢測 | 偵測文件影像中的區域(文字、表格、圖形) | Detectron2, TensorFlow, ADQ |
| OCR | 從偵測到的區域提取文字 | Tesseract, 可插拔自訂引擎 |
| 模型動物園 | 常見文件資料集的預訓練模型 | PubLayNet, Prima, Newspaper |
| 視覺化 | 在影像上繪製檢測結果 | 基於 OpenCV 的渲染器 |
| 座標映射 | 將檢測到的區域映射到原始文件座標 | 內建仿射變換輔助工具 |
如何開始使用 LayoutParser?
pip install layoutparser
import layoutparser as lp
image = lp.load_image("document.png")
model = lp.DetectionModel("lp://PubLayNet/faster_rcnn_r50_fpn")
result = model.detect(image)
lp.draw_box(image, result, box_width=5).show()
模型動物園
| 資料集 | 可用模型 | 區域類型 |
|---|---|---|
| PubLayNet | Faster R-CNN, Mask R-CNN, RetinaNet | 文字, 標題, 表格, 圖形, 列表 |
| Prima | Faster R-CNN, Mask R-CNN | 文字, 影像, 表格, 圖形 |
| Newspaper | Faster R-CNN | 文字, 照片, 插圖, 地圖, 廣告, 標題 |
常見問題
什麼是 LayoutParser? 開源 Python 工具包,用於文件影像分析,將版面檢測、OCR 和模型動物園統一在單一一致的 API 下。首次在 CVPR 2021 論文中介紹,並持續積極維護。
如何使用 LayoutParser? 使用 pip install layoutparser 安裝。典型的版面檢測管線僅需 4 行程式碼。
支援哪些模型? 模型動物園包括在 PubLayNet、Prima 和 Newspaper 資料集上訓練的預訓練 Faster R-CNN、Mask R-CNN 和 RetinaNet 模型。
能與 OCR 引擎整合嗎? 是的,透過 lp.TesseractAgent() 包含內建 Tesseract 整合,並支援自訂 OCR 後端。
如何引用? 官方引用可在 LayoutParser 儲存庫的 CITATION 檔案中取得。
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!