mittagessen/kraken

OCR engine for all the languages

什麼是 kraken

kraken 是一個開源的 OCR(光學字元辨識)工具包,專為數位化歷史文獻以及主流 OCR 引擎無法充分支援的非拉丁文字而設計。它整合了可訓練的版面分析器、閱讀順序偵測器,以及能處理由右至左、雙向與由上至下的神經網路辨識器。


主要功能

功能 重要性
完全可訓練的流程 – 您可以教導系統新的頁面版面、閱讀順序與字元集,這對於古籍、非拉丁字母或自訂字型至關重要。
雙向與垂直文字支援 – 支援阿拉伯文、希伯來文、CJK 垂直文字等。
多種輸出格式 – ALTO、PageXML、abbyyXML、hOCR 等,可直接嵌入數位圖書館工作流程。
單詞級邊界框與字元切割 – 提供細緻定位,有利於學術註解。
Zenodo 上的模型倉庫 – 一個公開的預訓練模型資料庫(例如印刷體法語、歷史字型),可透過單一指令取得。
可插入的網路架構 – 可根據速度或準確度需求更換辨識器的主幹。
跨平台 – 支援 Linux 與 macOS,可在 x86_64 與 ARM CPU 上執行。

快速入門(推薦安裝)

# 推薦:使用 pipx 建立隔離環境
sudo apt install pipx            # 在 Debian/Ubuntu 上
pipx install kraken               # 下載套件及其相依性

若偏好傳統虛擬環境:

python -m venv venv && source venv/bin/activate
pip install kraken               # 或從程式碼庫執行 `pip install .`

如需 PDF 或多圖像 TIFF 支援,請加入額外套件:

pip install kraken[pdf]

一行指令執行 OCR

kraken -i image.tif image.txt binarize segment ocr

此指令會自動執行三項操作:

  1. 二值化 圖像(使用 nlbin 算法)。
  2. 分段 頁面為文字行(基線分段器)。
  3. 辨識 文字,使用預設模型並輸出純文字檔。

您也可個別呼叫各步驟(例如:kraken -i img.tif bw.png binarize)。


使用自訂模型擴充

# 從公開的 Zenodo 收集中取得現成模型
kraken get 10.5281/zenodo.10592716

# 列出所有可用的社群模型
kraken list

針對自訂專案,您可在自己的標註資料上訓練新模型(完整工作流程詳見 https://kraken.re 的文件)。


誰在使用它?

kraken 由 eScripta 研究小組(École Pratique des Hautes Études, Université PSL)開發,並與 eScriptorium 網頁介面深度整合,提供訓練資料標註與推論的 GUI。該專案獲得多個歐盟研究計畫(ATRIUM、ERC MiDRASH、RESILIENCE,以及法國 ANR Biblissima+)資助,凸顯其在數位人文與文化遺產專案中的重要性。


更多資訊


TL;DR

kraken 是一個基於 Python、完全可訓練的 OCR 引擎,專為歷史文獻與非拉丁文字設計,提供端對端處理(二值化 → 版面分析 → 辨識)與開源模型庫。使用 pipx install kraken 安裝,取得模型後執行 kraken -i file.tif out.txt binarize segment ocr 即可開始數位化古籍。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案