今回はTesseract OCRのOCR処理を行う環境をDocker上に構築する方法について記載いたします。
Tensorflowも然りですが機械学習系の環境はローカルPCをかなり汚染するのでDocker上に環境を構築ことはかなりメリットになると思われます。この機会に是非Dockerに入門してはいかがでしょうか。
TesseractOCR Ver 4.1.1 の OCR環境をDockerコンテナ (Ubuntu)に作る方法
流れとしてはDockerコンテナの立ち上げ、Tesseract OCRのインストール、テスト実行とします。
DockerコンテナのベースはPythonにしておきます。
Dockerコンテナ作成
Dockerのimageは3系であればおそらく何でもOKです。
imageを持っている方はそれを使用ない方は下記でPython imageを引っ張ってきます。
docker pull python
docker images
できたイメージのIDを確認して下記を実行。
docker run -it -p 8888:8888 [imageのID] /bin/bash
これでDockerコンテナは起動できており、コンテナ内に移動できていると思います。
コンテナは抜ける時、再度立ち上げ、コンテナに入るコマンドをしっかり覚えておくとあとは慣れるだけです。
コンテナから出る
exit
コンテナ起動
docker start [コンテナID]
コンテナに入る
docker attach [コンテナID]
Tesseract OCRインストール手順
次にTesseract OCR4.1.1をインストールしていきます。
apt-get update
#PPA取得用のモジュールインストール
apt-get install software-properties-common
#必要モジュールインストール
apt-get install -y libleptonica-dev
apt-get update -y
apt-get install automake
apt-get install -y pkg-config
apt-get install -y libsdl-pango-dev
apt-get install -y libicu-dev
apt-get install -y libcairo2-dev
apt-get install bc
#Tesseract本体
wget https://github.com/tesseract-ocr/tesseract/archive/4.1.1.zip
unzip 4.1.1.zip
#コンパイル
cd tesseract-4.1.1
./autogen.sh
./configure
make
make install
ldconfig
training
make training-install
#データセットインストール
git clone --depth 1 https://github.com/tesseract-ocr/langdata.git
echo "export TESSDATA_PREFIX=/tesseract4.1.1/tessdata/" >> ~/.profile && source ~/.profile
wget https://github.com/tesseract-ocr/tessdata/raw/master/jpn.traineddata -P $TESSDATA_PREFIX
wget https://github.com/tesseract-ocr/tessdata_best/raw/master/eng.traineddata -O $TESSDATA_PREFIX/eng_best.traineddata
wget https://github.com/tesseract-ocr/tessdata_best/raw/master/jpn.traineddata -O $TESSDATA_PREFIX/jpn_best.traineddata
wget https://github.com/tesseract-ocr/tessdata_best/raw/master/jpn_vert.traineddata -P $TESSDATA_PREFIX
combine_tessdata -e $TESSDATA_PREFIX/jpn_best.traineddata ~/tess/jpn_best.lstm
#パスを合わせる
export TESSDATA_PREFIX=/tesseract-4.1.1/tessdata
#確認
tesseract --version
#フォントインストール
sed -i '/vert/d' ~/tess/langdata/jpn/jpn.config
apt install -y fonts-noto-cjk fonts-takao fonts-vlgothic fonts-ipafont
text2image --list_available_fonts --fonts_dir /usr/share/fonts
かなり長いですがこれで環境構築は完了です。
Versionも4.1.1になっているはず。フォントのインストールなどは普通に使用する上では必要ないですが、再学習時に必要になるのでどうせならと言うことでインストール。
環境パスのところが難しめですかね。。
TesseractOCRで日本語文字認識
TesseractOCRはコマンド上で使用できるので今回はコマンド上でOCRを行ってみます。
tesseract -l jpn_best '画像へのパス' stdout
画像パスはUbuntuのどこに置いても問題ないですがフルパスで記載。
できましたでしょうか。
以上で環境構築からテスト使用まで完了です。
コメント
[…] 【TesseractOCR】最も精度の良いTesseractOCR Ver 4.1.1 の OCR環境をDockerコンテナ (… […]
[…] 【TesseractOCR】TesseractOCR Ver 4.1.1 の OCR環境をDockerコンテナ (Ubuntu)に作る方… […]