mittagessen/kraken

OCR engine for all the languages

kraken とは何か?

kraken は、歴史的文書や主流のOCRエンジンでは十分に対応できない非ラテン文字のデジタル化を目的としたオープンソースのOCR(光学文字認識)ツールキットです。トレーナブルなレイアウト解析器、読み順検出器、および右から左、双方向、縦書きのテキストを処理できるニューラルネットワーク認識器を統合しています。


主な機能

機能 重要性
完全にトレーナブルなパイプライン – 新しいページレイアウト、読み順、文字セットをシステムに学習させることができ、古文書、非ラテン文字、カスタムフォントの処理に不可欠です。
双方向・縦書きテキスト対応 – アラビア語、ヘブライ語、CJKの縦書きテキストなどに対応します。
複数の出力フォーマット – ALTO、PageXML、abbyyXML、hOCR など、デジタル図書館ワークフローに即座に組み込める形式を提供します。
単語レベルのバウンディングボックスと文字切り出し – 学術的注釈に有用な細かい位置情報の提供。
Zenodo上のモデルズー – 事前学習済みモデル(例:印刷体フランス語、歴史的フォント)の公開リポジトリで、1つのコマンドで取得可能です。
プラグイン可能なネットワークアーキテクチャ – 速度や精度のニーズに応じて認識器のバックボーンを切り替えられます。
クロスプラットフォーム – 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]

1行でOCRを実行

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

このコマンドは以下の3つの処理を自動で実行します:

  1. 画像の2値化(nlbinアルゴリズム)。
  2. テキスト行へのセグメンテーション(ベースラインセグメンタ)。
  3. 認識 – デフォルトモデルを使用してテキストを認識し、プレーンテキストファイルを出力。

個別のステップも呼び出し可能(例:kraken -i img.tif bw.png binarize)。


自分のモデルで拡張する

# 公開されているZenodoコレクションから準備済みモデルを取得
kraken get 10.5281/zenodo.10592716

# 利用可能なコミュニティモデル一覧を表示
kraken list

カスタムプロジェクトでは、独自のアノテーションデータで新しいモデルを学習できます(https://kraken.re のドキュメントにフルワークフローが記載されています)。


だれが使っているか?

kraken は、École Pratique des Hautes Études、Université PSL に所属する eScripta 研究グループによって開発されており、トレーニングデータのアノテーションと推論をGUIで行える eScriptorium Webインターフェースと密接に統合されています。EU研究プログラム(ATRIUM、ERC MiDRASH、RESILIENCE、およびフランスのANR Biblissima+)からの資金提供を受け、デジタル人文科学および文化遺産プロジェクトにおける重要性を証明しています。


詳細情報の入手先


TL;DR

kraken は、歴史的および非ラテン文字に特化した、完全にトレーナブルなPythonベースのOCRエンジンで、2値化 → レイアウト解析 → 認識のエンドツーエンド処理を提供し、オープンなモデルライブラリを備えています。pipx install kraken でインストールし、モデルを取得して kraken -i file.tif out.txt binarize segment ocr を実行することで、古いテキストのデジタル化をすぐに開始できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト