LoginSignup
8
11

More than 3 years have passed since last update.

Raspberry Pi 3B+における、Tesseract(5.0.0 alpha)のインストール方法と基本操作

Last updated at Posted at 2020-09-02

Tesseractについて

 TesseractはGoogleが開発したオープンソースのテキスト認識(OCR)エンジンで、Apache 2.0ライセンスで利用可能です。直接使用することも、APIを使用して画像から印刷されたテキストを抽出することもできます。幅広い言語をサポートしています。
 また、バージョン4.0からは、従来の認識エンジンに加え、LSTMベースのニューラルネットワークによる認識エンジンが搭載されている。

今回の最新Tesseractの導入の目的

 私は8月頃からWindows PCで接触確認アプリの利用状況を解析するために、Tesseractを用いてシステムを構築していた。今回は,従来のシステムを手元にあるRaspberry Piに移行し,PCから独立した形で自動化を行いたかった経緯があった。詳しい内容はhttps://qiita.com/Unagi_Create/items/7e1b01e43b71e0770727で公開している。

 しかし、移行する上で問題があった。WindowsPCではTesseract 5.0.0-Aplphaを用いていたが、Raspberry PiにTesseractを導入しようとしたところ,ネット上の解説ではTesseract 3.x系がインストールされる手順であった。

 私自身,既にバージョンが低いと文字の認識精度が著しく低下することを確認していたため、Tesseract 5.x系をRaspberry Pi 3B+に導入する必要があった。


Tesseract 3.x系がインストールされる手順例を以下に示す。(参考リンク:neko.ne.jp

sudo apt-get update
sudo apt-get -y install tesseract-ocr

前提環境

Hardware : Raspberry Pi 3 Model B+

pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.13 (stretch)
Release:        9.13
Codename:       stretch
pi@raspberrypi:~ $

インストール手順

1. ターミナルを開いて apt-transport-https をインストールします。

sudo apt-get install apt-transport-https

2. etc/apt/sources.listを開きます。

nano /etc/apt/sources.list

or

vi /etc/apt/sources.list

3. 手順2で開いたsources.listにこの行を追加。

deb https://notesalexp.org/tesseract-ocr-dev/raspbian/stretch/ stretch main

4. source.listを保存して閉じる。

5. GnuPGキーの取得とインストール

sudo apt-get update -oAcquire::AllowInsecureRepositories=true
sudo apt-get install notesalexp-keyring - oAcquire::AllowInsecureRepositories=true
sudo apt-get update

or

wget -O - https://notesalexp.org/debian/alexp_key.asc | sudo apt-key add -
sudo apt-get update

6. 最後にtesseract-ocrをインストール

sudo apt-get install tesseract-ocr

トレーニングデータ(tessdata)の導入方法

 tesseractをインストールできたが、認識させたい言語のトレーニングデータを入れなければ文字認識(OCR)が行えない。

 そこで、文字認識を行うトレーニングデータの中でbestfastを選んでダウンロードし、tessdataディレクトリにコピーする。2つのリンク先のファイルをダウンロードする。

今回は、日本語のtessdataを導入する場合のリンク先を紹介する。

保存場所は/usr/share/tesseract-ocr/tessdata or /usr/share/tessdata or /usr/share/tesseract-ocr/5/tessdataのどれかである。

  • best(精度重視)トレーニングデータ

https://github.com/tesseract-ocr/tessdata_best/blob/master/jpn.traineddata
https://github.com/tesseract-ocr/tessdata_best/blob/master/jpn_vert.traineddata

  • fast(速度重視)トレーニングデータ

https://github.com/tesseract-ocr/tessdata/blob/master/jpn.traineddata
https://github.com/tesseract-ocr/tessdata/blob/master/jpn_vert.traineddata

日本語以外が必要な場合、各言語に対して適宜ダウンロードを行う。
tessdataのリポジトリ: https://github.com/tesseract-ocr

動作確認

1. バージョン確認

pi@raspberrypi:~ $ tesseract --version
tesseract 5.0.0-alpha-773-gd33e
leptonica-1.78.0
libgif 5.1.4 : libjpeg 6b (libjpeg-turbo 1.5.1) : libpng 1.6.28 : libtiff 4.0.8 : zlib 1.2.8 : libwebp 0.5.2 : libopenjp2 2.3.0
Found NEON
Found OpenMP 201511
Found libarchive 3.2.2 zlib/1.2.8 liblzma/5.2.2 bz2lib/1.0.6 liblz4/1.7.1
pi@raspberrypi:~ $

2. インストールされている言語の確認

pi@raspberrypi:~ $ tesseract --list-langs
List of available languages (4):
eng
jpn
jpn_vert
osd
pi@raspberrypi:~ $

3. Tesseractの実行テスト

  • tesseract-ocrのコマンド形式

    tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
    
  • 実行例
    cocoa_info_0901.png

    pi@raspberrypi:~ $ tesseract /home/pi/Documents/Github/cocoagetinfo/getIMG_pool/cocoa_info_0901.png stdout -l jpn
    
    接触 確認 アプ リ は 、iOS・Android と も に 、 現 在 、「1.1.2」 を 配布 し て いま す 。
    古い バー ジョ ン の アプ リ を ご 利用 の 方 は 、 App Store ま た は Google Play か ら 「 接 触 確
    認 ア プリ 」 を 検索 いた だ き 、 アッ プ デ ー ト を お 願い し ます 。
    
    ダウ ン ロ ー ド 数 は 、9 月 1 日 17:00 現 在 、 合計 で 約 1.577 万 件 で す 。
    ・ios、Android 両 方 の 合計 の 数 に な り ま す 。
    
    ・ ダ ウン ロー ド 後 に 削除 し 、 再 度 ダ ウン ロー ド し た 場合 は 、 複 数 回 カウ ント され る 場
    合 が あり ます 。
    
    陽性 登録 件 数 は 、9 月 1 日 17:00 現 在 、 合計 で 533 件 で す 。
    
    pi@raspberrypi:~ $
    

参考文献・引用

一部Deeplで翻訳した文を本記事内に引用しています。

  1. https://ja.wikipedia.org/wiki/Tesseract
  2. https://tesseract-ocr.github.io/tessdoc/Home.html
  3. https://binary-star.net/tesseract-language-download
  4. https://rightcode.co.jp/blog/information-technology/python-tesseract-image-processing-ocr
8
11
2

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
8
11