LoginSignup
54
49

More than 1 year has passed since last update.

【2021年版】Azure/GCP/AWS OCRサービス比較

Posted at

はじめに

概要

AzureのOCR機能のレビュー記事を書いた際に、他のクラウドベンダーのOCRサービスとの比較についてお問合せ頂きました。
以下のレビュー記事です。
- AzureのOCR機能(Cognitive Service Read API v3.2)が日本語対応したので使ってみた

今回は、主要なパブリッククラウドであるAzure/GCP/AWSのOCRサービスについて比較してみましたので紹介したいと思います。

この記事の想定読者

クラウドが提供するOCR機能に興味のある方
どのクラウドサービスを導入しようか迷われている方

各社サービスの機能比較

Azure/GCP/AWSが提供するOCRサービスの比較を一覧表にまとめました。
※2021/5/17時点で最新のバージョンを使用して検証しています。

image.png
対応言語数、価格ではAzureが一歩リードしているように思います。
対応ファイル数はGCPが多く対応していますが、マイクロソフトも実用上問題ないレベルでカバー出来ているかなと思います。
AWSは他と比べて全体的に機能が弱いなという印象です。

ここからは、実際のデータを使って、OCRの認識精度や機能について詳細に比較していきたいと思います。
AWSのOCR機能は日本語未対応とのことで、AWSのOCR機能は比較対象外とします。

認識精度

精度検証データ

精度検証用のデータとして以下のデータ使用しました。
image.png
IPAで公開されている情報システム・モデル取引・契約書のテンプレートを基に作成した自作データです。
総文字数は1149文字で、言語は日本語、英語が含まれています。また、文章だけでなく表形式の記述が含まれている点が特徴です。

精度検証結果

今回は「文字認識率」と「ノイズ数」の2つの視点から精度評価を実施しました。
検証の結果、今回の検証データでは精度はAzureの方が良い結果となりました。

Azure GCP
文字認識率 99.74% 99.48%
ノイズ数 3文字 22文字
  • 文字認識率(%)…正しく認識された文字数 / 検証画像の総文字数 * 100
  • ノイズ数…検証データに含まれない文字を文字として認識した数

文字認識率はAzureもGCPともに精度は非常に高く僅差でAzureの方が良い結果でした。
ノイズ数はAzureの方が良い結果となりました。GCPの方がノイズが少し多めで、バグの様な出力も見られました。
以下で、具体的な事例をいくつか紹介したいと思います。

文字誤認識の例

まずはAzureのOCR機能(Read API)の誤認識の例です。
ベンダとOCRしてほしいところを"ペ"ンダとOCRしています。
image.png
次にGCPのOCR機能(Vision API)の誤認識の例です。
住所とOCRしてほしいところを主 PFとOCRしています。
PFとOCRされているのは少し笑ってしまいました。
image.png
Azure、GCP共に、別の箇所では正しく「ベンダ」「所」と認識できていたりするので、常にこの様な認識になるわけではありません。

ノイズの例

まずはAzureのOCR機能(Read API)のノイズの例です。
文字以外に、〇の記号があるのでそれが影響しているような気がします。
AzureのOCRで見られたノイズは大体このパターンでした。
image.png

次にGCPのOCR機能(Vision API)のノイズの例を2つ紹介します。
1つ目ですが、準委任の準の前にが認識されています。
表形式になっているところでこのパターンが多くみられました。表を構成する格子を誤認識しているようです。
image.png
続いて2つ目です。
何もないところに0 0 0 0 0 0が認識されています。これは何かしらのバグの様な気がします。
image.png

(参考)AWS Textractの認識精度

ちなみに、AWSのOCR機能(AWS Textract)についてもOCRを実施してみました。
日本語に関しては全然OCR出来ないことを改めて確認しました…。(日本語対応していないので当たり前ですが…。)
image.png
濃い灰色の部分が認識できている個所です。この例では、が認識されているように見えますが、OCR結果は意味不明な記号でした。
AWSの名誉のために。英語のドキュメントに対してはAzue、GCPと同等レベルに精度良く検出出来ています。
image.png

頑健性

スキャンに失敗して傾いたようなデータに対しては、Azure、GCPどちらも問題なく検出できています。
image.png

自然な読み取り順序

段組みデータに対して、Azureは自然な読み取り順序でOCR出来ていますが、GCPは対応出来ていません。
青色の番号がOCRの出力順です。
image.png
AzureのOCR機能(Read API)は、段組みデータの左半分をOCRした後に右半分をOCRしています。
GCPのOCR機能(Vision API)は、段組みデータに対応できておらず、左上から右下方向にZ型でOCRを実施しています。

まとめ

今回は、主要なパブリッククラウドであるAzure/GCP/AWSのOCRサービスについて比較してみました。

Azure、GCP共に高い精度で文字認識が出来ていることが分かりましたが、ノイズが少ない点、自然な読み取り順序でOCR出来る点で、機能的にはAzureの方が優れていると感じました。
また、コスト面や対応言語数の多さではAzureがリードしており、総合的に見てもAzureのOCR機能(Read API)が優れていると思います。
OCRサービスをご検討の方はまずAzureのOCR機能(Read API)を試して頂くのが良いのではないでしょうか。

54
49
0

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
54
49