17
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NDL古典籍OCR-Lite で楽々古文書読み

17
Posted at

概要

国会図書館が古典籍資料からテキスト抽出する軽量OCRツールを公開 ~GPUなしでも動作という記事を遅ればせながら目にしたのでトライしました。

NDL古典籍OCR-Lite は、国立国会図書館(NDL)が公開する古典籍向け軽量OCRツールです。GPUを必要とせず、CPU環境でも動作可能である点が特徴です。

本書では、Ubuntu 24.04環境においてCUI(コマンドライン)で動作させるための手順を解説します。

動作環境

  • OS: Ubuntu 24.04
  • Python: 3.x 系
  • 仮想環境(venv)

Ubuntu 24.04では、システムPython環境に対して直接 pip install を実行することが制限されているため、Python仮想環境(venv)を使用します。

リポジトリの取得

公式リポジトリ:
https://github.com/ndl-lab/ndlkotenocr-lite

git clone https://github.com/ndl-lab/ndlkotenocr-lite
cd ndlkotenocr-lite

Python仮想環境の構築とインストール

python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

入力画像の配置

クローンされたndlkotenocr-liteの中にsrcというディレクトリがあるのでそこに移動します。src/ocr.py に直接パスを通して利用する方法もありますが、手っ取り早くすべての作業をこのディレクトリ内で完結します。

src 直下に fig ディレクトリを作成します。ここは、OCRしたい画像ファイルを入れます。

cd src
mkdir fig

今回は大正12年に厚沢部村役場に提出された陳情書の画像ファイル5枚を格納しました。読めなくはないですが、一般的なOCRだとかなり辛いものがあります。

01.png

OCRの実行

以下の手順でOCRを実行します。作業ディレクトリはsrcディレクトリです。

  1. 仮想環境を開く
  2. テキストを格納する tmpdir を作成する
  3. ocr.py を実行する
python3 -m venv .venv
source .venv/bin/activate
mkdir tmpdir
python ocr.py --sourcedir fig --output tmpdir --viz True

コマンドオプション解説

  • --sourcedirオプション
    処理したい画像の含まれるディレクトリを絶対パスまたは相対パスで指定する。ディレクトリ内の"jpg(jpegも可)"、"png"、"tiff(tifも可)"、"jp2"及び"bmp"の拡張子のファイルを順次処理する。
  • --sourceimgオプション
    処理したい画像を絶対パスまたは相対パスで直接指定する。"jpg(jpegも可)"、"png"、"tiff(tifも可)"、"jp2"及び"bmp"の拡張子のファイルを処理することが可能。
  • --outputオプション
    OCR結果を保存する出力先ディレクトリを相対パスまたは絶対パスで指定する。
  • --vizオプション
    --viz Trueを指定することで、文字認識箇所を青枠で表示した画像を出力先ディレクトリに出力する。

出力結果

tmpdir(出力ディレクトリ)には以下が生成されます:

  • 抽出テキストファイル
  • viz_*.jpg(認識領域可視化画像)

02.png

--vizオプションをつけると出力されるvix_☓☓.jpg には元の画像のうち、読み取ったテキスト部分が青枠で示されます。

03.jpg

まとめ

NDL古典籍OCR-Liteは、GPU非依存で動作する軽量かつ実用的な古典籍OCRツールです。役場で支給される(非力な)マシンでも十分動作します。人間の校正は必須ですが、史料デジタル化の一次抽出工程を効率化できると思います。

17
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?