はじめに
LINEが提供するCLOVA OCRをとある開発で使うことになりました。あまりドキュメントがないようだったのでざっと試したことを書いておきます。とりあえずはOCR Freeプランのセットアップからベータテストによる認識テストまでやってみました
利用できるようになるまで
CLOVA OCRは産業利用に絞って提供されているようで利用するためには 資料請求 -> LINEの担当さんと話をする -> アカウントの払い出してもらう という流れになります
利用可能となるとまずNEVER CLOUD PLATFORMアカウント登録を済ませてコンソールにサインイン -> CLOVA OCRのサービスドメインを作成 というステップでCLOVA OCRをセットアップします。CLOVA OCRはNEVER CLOUD PLATFROMの中のサービスの一つという位置づけのようです。コンソールはこんな感じです
CLOVA OCRのドメインを作成する
コンソールのサイドメニュー Products & Services からCLOVA OCRを選択し、+ 新規ドメイン ボタンをクリックしてCLOVA OCRのドメインを作成します
登録画面はこんな感じです。ドメイン名とドメインコードは任意の文字列。それぞれ入力した後にチェックをクリックして検証してください。よくわからないけどドメイン名とドメインコードは同一でも問題ないっぽい?
サポート言語は日本語、サービスタイプはとりあえず無料プランがあるTemplateを選択。たぶんここでGeneralを選択して作成するとGeneral(非定型型)の定額料金が課金されると思うので注意。認識モデルはBasic、サービスプランは無料のFreeを選択します。
ドメインを作成するとコンソールのリストに追加されるので、右端のテンプレートビルダをクリックします。CLOVA OCRのコンソールに遷移するのでサイドメニューのテンプレートリストをクリックします。
テンプレートを作成する
+テンプレート作成をクリックするとテンプレート作成に遷移します。テンプレート名を入力して認識モデルBasicを選択し確認ボタンをクリックすると検証後テンプレートが作成されます。まずこのステップを踏まないと下段でサンプル画像がアップロードできないので注意してください。
サンプル画像をアップロードすると検出フィールドが設定可能になります。今回のサンプル画像リアル業務を想定して出金伝票の無料テンプレートをダウンロードして印刷したものを撮影したものを使用しました。
学習する画像自体に影があったりする業務で現実的な品質の場合もちゃんとした検出精度が出るか?を検証する意図です
まず、代表サンプルとして書類の見出しを設定する。画像の「出金伝票」を囲って枠右下✓をクリック、代表サンプル名を「出金伝票」と入力し確認をクリックして設定します
次にフィールド指定欄の+フィールドをクリックしてプレビューで検出フィールド範囲を設定します
検出フィールド枠の右下の✓をクリックするとフィールド指定欄に新規フィールドが追加されるのでフィールド名を入力して保存をクリックします
上記の操作を繰り返して検出するすべてのフィールドを設定します。今回は内訳の1行目だけを検出するようにしました。金額欄はマルチボックスにしないといけないんだろうけどBasicでは使えないためフィールドで設定してみた。金額の認識精度は悪くなるんじゃないかと思います
作成したテンプレートはテンプレートリストに掲載されます
テンプレートをベータリリースする
サイドメニューのリリースをクリックします
リリース管理画面から上記でつくったテンプレートのベータリリースをクリックする
確認をクリックする。これで作成したテンプレートがベータリリースとして展開されテスト画面でテスト可能になります
検出テストする
サイドメニューのテストをクリックしてテスト画像欄のファイル選択をクリック、テストのための記入済み伝票の画像をアップロードします
今回は印刷した伝票に手書きで記入したものを撮影しテスト画像として使用しました
アップロード後、テストをクリックします
確認をクリックします
テストが正常に完了するとプレビュー右側に検出結果が表示されます。ざっと見た感じいい感じで検出されているようですね
このテストで意図しなかった検出結果は以下2点になりました
-
コードフィールドは100100123と書いたつもりだったが100 100123となった。まあたしかに手書きのほうで間空けちゃってるよね -
金額1フィールドの値が空白で区切られている
金額1のほうは予想通りPremiumで利用可能なマルチボックスを指定してないので精度は落ちました。また何度かテストしたら2 8 0 0 0 O(最後がアルファベットのオー)になったりしました。おしい
しかしFreeプランで利用できるフィールドだけでも思ったよりしっかりと認識できてました。Premiumを利用するという手もありますが、これくらいならどちらもAPIで結果取得後に後処理すという手でも十分いけそうに思います
おわりに
CLOVA OCRをざっと体験してみました。この後も手書き出金伝票をいくつかテストしてみましたが、検出精度は期待より良くて普通に業務で利用できる品質だと感じました。
テンプレートの設定がWebベースのGUIで簡単にできるがいいです。実業務でテンプレートを量産する負担も少なくなりそう。トラフィックが少ない利用ケースだとFreeプランでも十分行けそうな気がするのでうまく使うとコスパはとても高い何かができそうな気もします。
今後は時間を見つけて踏み込んだ精度検証をやったりPremiumを使ってみたりしてそのあたりも書いていこうと思います。























