使用百度 Unlimited-OCR 為影像與 PDF 建置端到端 OCR 流程
重點速覽
- •MarkTechPost 發布了一篇教學,說明如何在 Google Colab 中於文件影像與多頁 PDF 上執行百度 3B 參數 Unlimited-OCR 視覺語言模型。
- •Unlimited-OCR 執行端到端文件理解,降低對傳統 OCR 引擎所需之文字偵測、辨識與版面分析等獨立階段的依賴。
- •教學比較了 Gundam 模式與 Base 模式;前者使用分塊影像裁切處理密集版面,後者使用單一 1024 像素視圖以更快處理乾淨頁面。
- •該流程透過 PyMuPDF 將頁面光柵化,並傳入長程推論函式,同時加寬重複控制,以延伸支援多頁 PDF 解析並維持穩定解碼。
- •結果可匯出為 Markdown、JSON 與 MMD 等多種結構化格式,支援文件撰寫、程式化使用與圖表渲染工作流程。

MarkTechPost 發布的一篇教學說明如何建置完整工作流程,在文件影像與多頁 PDF 上執行百度的 Unlimited-OCR 模型。該流程以 Google Colab 為設計環境,涵蓋環境設定、相依套件安裝、模型載入、範例文件生成、單頁 OCR,以及多頁 PDF 解析。Unlimited-OCR 代表視覺語言模型處理文件理解的更廣泛趨勢,透過單一端到端系統降低對傳統 OCR 引擎所採用之多階段流程——文字偵測、辨識與版面分析——的需求。
工作流程首先設定啟用 GPU 的執行環境,並安裝 Unlimited-OCR 推論所需的函式庫。它會確認可使用具備 CUDA 能力的 GPU,接著依硬體支援情況自動選擇 bfloat16 或 float16。教學從 Hugging Face 載入 tokenizer 與 3B 參數視覺語言模型,將模型切換為評估模式,並移至 GPU 進行推論。模型託管於 Hugging Face,使開發者能直接載入預訓練權重,不必從零開始訓練或微調文件辨識模型。
為建立可重現的測試輸入,教學設定必要的輸入與輸出目錄,並使用 PIL 生成三頁逼真的範例文件。這些頁面包含標題、段落、表格與註腳,使流程能在結構化且版面豐富的內容上測試辨識能力,而不僅限於簡單文字區塊。第一頁生成的文件會先以 Matplotlib 預覽,再送入 OCR 工作流程。
在單張影像 OCR 方面,教學首先使用 Gundam 模式,該模式結合文件的全域視圖與分塊影像裁切。在此設定中,crop_mode 會被啟用,並使用較小的 tile size 以保留細小文字,提升密集版面的辨識效果。工作流程也套用長輸出生成設定與重複控制,使模型在處理複雜文件時能產生穩定且結構化的輸出。
接著,同一份文件會以 Base 模式處理,該模式使用單一 1024 像素影像視圖。在此模式下會停用影像裁切,以降低推論複雜度,並提升乾淨、印刷清楚頁面的處理速度。教學保留相同的輸出長度與重複控制設定,以便在一致的生成參數下直接比較 Base 模式與 Gundam 模式。
隨後,該流程從影像 OCR 延伸至多頁 PDF 解析。教學由生成的文件影像建立一份三頁 PDF,並使用 PyMuPDF 將每一頁光柵化為高解析度 PNG。產生的頁面影像序列會傳入 infer_multi(),讓模型能在單次長程推論執行中解析完整文件。n-gram 重複視窗也會被加寬,以支援跨多頁的穩定解碼。
完成單頁與多頁推論後,教學會檢視工作流程產生的輸出目錄。它列出每個生成檔案,並顯示受支援的文字、Markdown、MMD 與 JSON 成果預覽。教學也包含一份簡明參考,用於選擇推論模式,針對密集影像、乾淨頁面與多頁 PDF 建議不同設定。結果可匯出為多種結構化格式——用於文件撰寫的 Markdown、用於下游程式化處理的 JSON,以及用於圖表渲染的 MMD——使該流程能適應不同的文件處理需求。
完成後的工作流程展示了如何在 Google Colab 中使用 Unlimited-OCR 處理高細節單頁文件與較長的多頁 PDF。它比較 Gundam 與 Base 推論模式,將 PDF 轉換為模型可用的頁面影像,執行長程文件解析,並從輸出資料夾檢視生成的文字、Markdown 與輔助成果。該設定也能適應不同 GPU 能力,同時保留穩定長文件解碼所需的生成參數。
MarkTechPost 表示,該工作流程為將 Unlimited-OCR 應用於報告、掃描表單、技術文件、表格及其他版面豐富內容提供了可重複使用的基礎,而無需依賴獨立的傳統 OCR 與版面分析堆疊。完整教學程式碼可於 GitHub 取得。