🥇

満洲語の OCR ツール ManchuOCR を使ってみた

2022/09/25に公開

はじめに

github のレポジトリを眺めていたら ManchuOCR という満洲語の OCR ツールらしきものがあったので試しに使ってみました。README を読むだけではわからなかった部分もあるので、備忘録がてら記事にしています。

使い方

準備

まず Git Large File Storage (LFS) をインストールします。ガイド に従えばインストールできます。後でモデルをここからダウンロードします。

ManchuOCR のインストール

まずは適当なディレクトリに ManchuOCR をクローンします。ここでは manchu というディレクトリにクローンします。

cd manchu
git clone git@github.com:tyotakuki/ManchuOCR.git
cd ManchuOCR

次に LFS に保存されているモデルをダウンロードします。ManchuOCR というディレクトリの中で以下のコマンドを実行します。これをしないと実行しても _pickle.UnpicklingError: invalid load key, 'v'. というエラーが出ます。

git lfs pull

これによって、 model ディレクトリにモデルがダウンロードされます。

最後に依存パッケージをインストールしておきます。

pip install -r requirements.txt

文字認識をしてみる

今回は レポジトリにあるサンプル画像を使います。

ManchuOCR/examples/ というディレクトリにある 003.png というファイルを使う場合は以下のコマンドを実行します。

python readmanchu.py --img_path ./examples/003.png

実行すると画像ファイルが開かれ、認識済みの箇所が囲まれていきます。実行が終わると以下のような出力が得られます。

Analyzing: ./examples/003.png
Using Möllendorff Alphabet List: ABCDEFGHIJKLMNOPQRSTUVWXYZŽŠŪ-'

ABKA TE ILAN JERGI NIYAKŪRAFI UJUN JERGI HENGKILEHE TERECI BEDEREFI 
HAN YAMUN DE TUCI TEHI MANGI GEREN BEISE AMBASA 
MENI MENI GŪSA GŪSAI JERGI BODOME ILATA 
JERGI NIYAKŪRAFI UJUTE JERGI HENGKILEHE TERE HENGKILERE DE 
HAN I JUWE ASHAN DE JUWE NIYALMA ILIFI EMU NIJALMA 
TENTEKI BEILE TENTEI AMBAN ANIYA SE BAHA 
SENME GEREN BI GAIFI HENGKILEMBI SENE HŪLAHA 

Reading Completed, Press Any Key to Exit. Ambula Baniha.

(実際は空行がめちゃくちゃありましたがここでは削りました)

おわりに

予想してたよりも精度がよくて驚きました。文書の権利関係がよくわかりませんが、これがあれば大規模コーパスを構築するのもかなり楽になるような気がします。

Discussion