OutsystemsのGoogle Cloud Vision OCRを使ってみた


はじめに

ある日、プロジェクトでOCRの技術検証をしていました。
いつもの如く、あんまりドキュメントないなーと思ったのでここに記します。

内容としては、Google Cloud Vision OCRの簡単な使い方になります。
既存のDEMOアプリがベースになります。

想定読者

OutsystemsでOCR使おっかなーって思っている方
Google Vision APIってどうなの?と思っている方

事前準備

■Forgeから下記モジュールをDL
https://www.outsystems.com/forge/component-overview/1572/googlecloudvisionocr

※ちなみにDLしなくても、「Try Now」ボタンを押下することでWEB上でOCRの検証はできるようになってます。

■Google Vision APIのAPIキーを取得

こちらに詳しくまとめてありました。
Google Cloud Vision APIで文字認識を試してみる

できること

Google Vision APIにはいろいろOCRの機能がありますが、このForgeは文字識別のみ対応しています。

今回は文字認識の中でも、下記2つを使ってみました。
※デフォルトは、「TEXT_DETECTION」でした。

その他の機能はこちらをご確認ください。
https://cloud.google.com/vision/pricing?hl=ja

①DEMOの画面を選択

②事前に用意したAPIキーをセット

③Processボタンを押下して、結果を取得

まぁそこそこ取得できている:D

④DOCUMENT_TEXT_DETECTIONに変えてテスト

helper.csのtypeを「TEXT_DETECTION」を「DOCUMENT_TEXT_DETECTION」に修正してPublish。

var feature = new Feature { Type = "DOCUMENT_TEXT_DETECTION" };

・・・・・しかし、結果はTEXT_DETECTIONと変わらず

免許書の写真とかでやってみたら、わずかに差はありました。

⑥上記の取得した値をフォームなどに自動でセットしたい場合

戻り値はTEXT型で返していました。

DEMOアプリを見ると、Extension側の「GetDateAndAmountRegex」アクションでゴリゴリ↑の戻り値をトリムしていました。
なので、そのトリムした値を画面上でセットする流れになります。
※Outsystems側でトリムしてもいけるとは思いますが。

私はこれから、「GetDateAndAmountRegex」アクションを参考にして、トリム処理を拡張していこうと思います。

終わりに

Google Cloud Vision APIの他の機能もForgeで対応してほしい(切実)
精度は思ったほどではなかったですが、使いようによっては使えるかなレベル..