Overvirew
FlutterでOCRアプリを開発する際にどんな方法があるのか調査まとめ。
Cloud Vision API
Google Cloud の OCR サービス。
画像から有用な情報を引き出し、事前トレーニング済みの Vision API モデルを使用して感情の検知、テキストの理解など行う。
Links
ML Kit for Firebase
Google の機械学習の機能を iOS/Android 向けに提供する Firebase SDK。
ただし古いSDKで現在では、 Firebase ML を通して ML Kit を扱うように提供されている。
Links
google_ml_kit
ML Kit を Flutter で扱えるライブラリ。
OCR をやりたい場合は、 Vision API の Text Recognition を用いることになる。
Firebase Console の Machine Learning から詳細を確認することができる。
オンデバイスの無料版では、ラテン語(英語)のみしか OCR 対応できないが、クラウドの無料枠(1,000回/月)まで日本語でも OCR 対応ため開発中はこの無料枠を利用し、アプリをリリースするときには次のような金額帯で支払いとなる。
引用: 料金 | Cloud Vision API | Google Cloud
- 最初の 1,000 ユニット/月
- 無料
- 1,001~5,000,000 ユニット/月
- $1.50 → 約¥164.78(2021/5/30現在)
- 5,000,001 以上のユニット/月
- $0.60 → 約¥65.91(2021/5/30現在)
料金はリクエスト 1,000 回単位で計算されます。
とのことなので、上記の 1,001 ユニット以上から 1,000 ユニットごとに $1.5 または $0.6 が請求される計算になる。
例えば、1万ユーザー居るとして、仮に OCR 機能を一人当たり平均 10回/月 使った場合、
10,000 * 10 = 100,000 ユニット
100,000 ユニット - 1,000ユニット(無料枠分) = 90,000ユニット
90,000 ユニット / 1,000 = 90 ユニット
90 ユニット * $1.5 = $135 → 約¥14,830.43(2021/5/30現在)
という計算になるらしい。もし、ユニット数が千単位以下がある場合は、例えば 90,100 ユニットだと 91,00 ユニットに強制的に次の千単位に繰り上げされて請求されるとのこと。
flutter_ml_vision
Firebase ML for Flutter.
引用:FirebaseExtended/flutterfire/packages/firebase_ml_vision
Links
flutter_mobile_vision
Google Mobile Vision for Flutter.
Links
tesseract_ocr
Tesseract OCR 4.0 for flutter.
Tesseract は、Google が作った様々なOS上で動作する光学式文字認識エンジン。
luyongfugx/flutter_ocr
※ 最新更新日時が3年前で止まっている。
Links
kidneyweakx/flutter-ml-ocr
app using firebase ml-kit and tesseract to OCR
※ Firebase ML Kitは古くなったため、最新更新日時が1年前で止まっている。