Help us understand the problem. What is going on with this article?

【iOS】オープンソースのOCRライブラリ調査

More than 1 year has passed since last update.

はじめに

iOSで利用可能なオープンソースのOCRライブラリを調査してみました。

前提条件

下記条件で調査しました。

  • 無料であること
  • オフラインで利用できること
  • サーバサイドやクラウドサービスを介さず利用できること
  • 手書き文字は考慮しないこと
  • 日本語の認識が可能であること
  • 日本語学習データの作成 or チューニングが可能なこと

調査結果

以下の3つのライブラリをピックアップしてみました。

Tesseract OCR iOS SwiftOCR SwiftyTesseract
OCRエンジン パターン認識 ニューラルネットワーク LSTMニューラルネットワーク
日本語学習データの提供
ライセンス MIT license Apache License,
Version 2.0
MIT License
依存ライブラリ Tesseract 3
Leptonica
libpng
libjpeg
libtiff
Swift-AI
GPUImage
Union-Find
Tesseract 4
Leptonica
libpng
libjpeg
libtiff

Tesseract OCR iOS

OCRエンジンにGoogleが開発を進めているTesseractを採用しているだけあって、情報量が多く人気もあるライブラリです。ただし、Tesseract本体、及び、対応する学習データのバージョンが若干古いため、日本語の認識精度に関しては疑問符が付きます。現在進行系でTesseract最新バージョンの実装を進めている(?)模様。

SwiftOCR

Tesseractよりパフォーマンスに優れる点をアピールしているライブラリです。ただし、短い英数字コードの認識が得意らしく、誌や文を認識したい場合はTesseractが良いと説明しています。日本語を認識するためには学習データを作成する必要があり、トレーニングツールが提供されているとは言え、十分な精度を望むのであれば導入に相応の時間を要しそうです。

SwiftyTesseract

Tesseract OCR iOSに同じく、TesseractをOCRエンジンとして採用しているライブラリです。Tesseract OCR iOSとの違いは最新安定バージョンのTesseractを採用している点で、パフォーマンスと認識精度が大きく向上しています。ただし、Tesseract本体のAPIを完全にはサポートしておらず、利用できない機能があるので注意が必要です。

まとめ

ここ数年で見聞きする機会が多くなった「ディープラーニング」によって、OCRライブラリの文字認識精度が飛躍的に向上している印象を受けました。
調査したライブラリの中では、SwiftyTesseractが最も手軽かつ実用向きではないかと考えます。
他にも有用なライブラリをご存知の方がいらっしゃいましたら、ぜひご教示ください。

おまけ

クラウド可かつ課金可まで条件を緩めると、Firebase向けML Kitのテキスト認識(OCR)一択な気がします。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした