Google VisionとAmazon Rekognition：ベンダーとニュートラルの比較

Google Cloud VisionとAmazon Rekognitionは、幅広いソリューションを提供します。その一部は、機能の詳細、品質、パフォーマンス、コストの点で同等です。 この投稿は、Google VisionとAmazon Rekognitionの事実に基づいた比較分析であり、2つのサービスを区別する技術的な側面に焦点を当てます。

画像認識のレンズからAIとMLの世界に慣れていない場合は、一般的なAIと画像固有の詳細の両方を提供するAmazon Rekognitionの入門コースに飛び込むと、すぐに慣れることができます。

この比較では、技術的な側面に加えて、データのサポートにより品質をより客観的に評価します。 最後に、実際のシナリオに基づいて、一般に利用可能な価格に基づいてコスト分析がモデル化されます。

注：Vision AIとRekognitionの最新の仕様の違いに関する最新情報については、この記事の最後にある2019年9月の付録をご覧ください。

次の表は、両方のプラットフォームでの主要な高レベル機能と対応するサポートをまとめたものです。

![微信截图_20190906144322.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448511/9bda8661-19d4-6827-6ee7-0768610a76a8.png)

利用可能な機能の重複が限られているため、オブジェクト検出、顔検出、感情検出に焦点を当てます。

#### Google VisionとAmazon Rekognition：オブジェクト検出
Google Cloud VisionとAmazon Rekognitionのオブジェクト検出機能は、構文的にも意味的にもほぼ同じです。 APIは常に、対応する信頼スコアでソートされたラベルのリストを返します。 Visionの回答には、Googleのナレッジグラフへの参照も含まれます。これは、同義語や関連概念などをさらに処理するのに役立ちます。

明らかに、各サービスは異なるラベルセットでトレーニングされており、特定の画像の結果を直接比較することは困難です。
そのため、20枚の画像の小さなカスタムデータセットで品質とパフォーマンスの分析を行い、4つのサイズカテゴリに分類しました。

小：1MP未満
中央：2MP未満
大：4MP未満
巨大：4MP以上
各カテゴリには、人、オブジェクト、屋内、屋外、パノラマ、都市などのランダムな分布を持つ5つの画像が含まれます。分類は、画像サイズ/解像度に基づいて品質またはパフォーマンスの相関を識別するために使用されます。

#### 物体検出の品質分析
サンプルに基づいて、Google Cloud Visionは誤解を招くラベルを検出することはめったにありませんが、Amazon Rekognitionはメガネ、帽子、人間、ソファなどの個々のオブジェクトを検出するのに優れているようです。

全体として、Visionは125個のラベル（平均して画像あたり6.25個）を検出し、Rekognitionは129個のラベル（画像あたり平均6.45個）を検出しました。 ラベルの数が少ないにもかかわらず、Visionのラベルの93.6％が関連していることが判明しました（8つのエラー）。 Rekognitionのラベルの89％のみが関連していました（14個のエラー）。

Amazon Rekognitionでは、画像内で人が検出されるたびに、3つの同等のラベル（「人」、「人」、「人」）がクラスター化されることがよくあります。 このようなラベルを1つに折りたたむと、検出されたラベルの総数は111になり、関連度は87.3％に下がります。

次の表は、各サブカテゴリの結果を比較しています。

![微信截图_20190906144700.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448511/87e716f3-3433-0db3-23a6-94d071eeba0b.png)

関連性は低いものの、Amazon Rekognitionは常に、各画像に対して少なくとも1つの関連するラベルを検出できました。代わりに、Google Cloud Visionは、70％の信頼度を超えるラベルを提供しないか、信頼性の高い誤解を招くラベルを表示するという2つのケースで失敗しました。

報告された関連性スコアは、かなり小さなデータセットに関連してのみ取得することができ、普遍的な精度率を意味するものではないことに注意してください。データセットのサイズを大きくすると、関連性スコアはより意味のある結果に収束しますが、部分的なデータであってもGoogle Cloud Visionの一貫した優位性を示します。一方、Amazon Rekognitionは検出されたラベルの数に関して一貫性があり、個々のオブジェクトの検出により焦点を当てているようです。

回転不変性に関する追加のメモ：完全なテストでは、画像が回転（最大90°）するとGoogle Cloud Visionのパフォーマンスが低下する傾向があることが示されています。一方、Amazon Rekognitionによって検出されたラベルのセットは、元の結果と同一ではないにしても、関連性が残っているようです。

####Google Vision対Amazon Rekognition：顔検出
両方のAPIが存在しない顔を検出したか、通常は低解像度の画像または部分的に隠された詳細のために一部の実際の顔がまったく検出されなかったいくつかのケースがありました。

####顔検出の品質分析
どちらのサービスも、顔が小さすぎる（100ピクセル未満）、部分的に画像から外れている、または手やその他の障害物で遮られている場合に検出の問題を示します。最初の2つのシナリオは情報が欠落しているために本質的に困難ですが、3番目のケースは、より特殊なパターン認識レイヤーを使用することで時間とともに改善される可能性があります。

Amazon Rekognitionは白黒画像と高齢者の検出に問題があるようですが、Google Cloud Visionは障害や背景/前景の混乱により多くの問題があるようです。

また、Amazon Rekognitionは、存在しない顔や動物やイラストに関連する顔など、予期しない顔を検出することができました。イラストやコンピューター生成画像は特別なケースであり、両方のAPIはそれらを管理するための適切なトレーニングを受けていません。ただし、それらはおそらくほとんどのエンドユーザーアプリケーションの範囲内ではありません。一方、動物はビジョンやレコグニションによって公式にサポートされていませんが、レコグニションは意図的であるかどうかにかかわらず霊長類でより成功しているようです。

オブジェクト検出と同様に、Amazon Rekognitionは非常に優れた回転不変性を示しています。完全ではありませんが、Rekognitionの結果は完全に回転した画像（90°、180°など）でそれほど苦しむことはないようです。一方、90°の回転に近づくと、Visionはうまく機能しなくなります。 Amazonの深層学習モデルは、回転不変性を達成するために意図的にトレーニングされている必要があります。これは、多くのシナリオで特に望ましい機能です。

場所、方向、特殊な特性、性別など、その他の精度パラメーターに焦点を当てていませんでした（Visionはそのようなデータを提供していません）。いくつかのピクセルの違いはほとんどのアプリケーションでは通常無視できるものですが、さらなる作業とかなりのデータセットの拡張により、顔の位置と方向の精度に関する有用な洞察が得られる場合があります。

####Google Vision対Amazon Rekognition：感情検出（顔）
どちらのサービスも、顔検出APIによって追加のランドマークとして返される感情を検出できますが、さまざまな種類の感情をさまざまな形式で抽出するようにトレーニングされています。

Google Cloud Visionが検出できる基本的な感情は、喜び、悲しみ、怒り、驚きの4つだけです。感情的信頼度は、「非常にありそうにない」、「ありそうにない」、「可能性がある」、「ありそうに」、「非常にありそうな」などのラベル付きのカテゴリー推定の形式で与えられます。可能な感情。特定の感情が検出されない場合、「非常に低い」ラベルが使用されます。

Amazon Rekognitionは、幸せ、悲しい、怒っている、混乱している、うんざりしている、驚いている、落ち着いているなど、より広範な感情を検出できます。また、この分析中に発生しなかった非常にまれなケースの追加の「不明」値も識別します。感情的な自信は、0から100の間の数値の形式で与えられます。

#### センチメント検出の品質分析
Google Cloud Visionによって提供される限られた感情の範囲は、比較を完全に公平にしません。心理学的研究では、人間の行動は、世界的に受け入れられている6つの感情、幸福、悲しみ、恐怖、怒り、驚き、嫌悪に分類できることが示されています。 Amazonが恐怖の代わりに冷静さと混乱を含めることを選択した場合でも、Amazonが選択した感情セットは、これらの普遍的な感情とほとんど同じです。

この制限は、同じ画像内で頻繁に見られる広範囲の感情的な色合いを考慮するとさらに重要になります。顔が幸せか驚きか、怒りか混乱か、悲しみか落ち着きかを判断することは、人間にとっても難しい仕事です。センチメント検出APIは、このような色合いを検出し、最終的にAPI消費者に複数の感情と比較的きめ細かな自信を提供できる必要があります。 Amazon Rekognitionはこのように動作するようです。

明確な感情がほとんど検出できない場合でも、Amazon Rekognitionは、信頼レベルが5％未満であっても、少なくとも2つの潜在的な感情を返します。一方、Visionは多くの場合、感情をまったく検出できません。これは、Googleが選択した感情の範囲が限られていることにも一部起因していますが、本質的なトレーニングの問題でもあるようです。全体的に、Amazon RekognitionはGoogle Visionよりもはるかに優れたパフォーマンスを発揮するようです。

次の表は、感情検出に関するプラットフォームのパフォーマンスをまとめたものです。

![微信截图_20190906144957.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448511/d430e382-1a38-557c-d089-ef36dfce70bd.png)

####Google Vision対Amazon Rekognition：結論
Amazon Rekognitionはずっと若い製品であり、非常に競争力のある価格設定と機能でAI市場に上陸しました。その感情分析機能と回転不変の深層学習アルゴリズムは、Googleのソリューションよりも優れているようです。

Rekognitionには、顔の比較や顔の検索などのより高度な機能も搭載されていますが、OCRとランドマーク/ロゴの検出がありません。

Google Cloud Visionはより成熟しており、より柔軟なAPI規則、複数の画像形式、ネイティブバッチサポートが付属しています。そのオブジェクト検出機能は、より関連性の高いラベルを生成し、その顔検出も現在はより成熟しているように見えますが、まだ完全ではありません。

Google Cloud Visionの最大の問題は回転不変性であるようですが、将来的には深層学習モデルに透過的に追加される可能性があります。同様に、感情セットを充実させ、よりきめ細かいマルチ感情結果を提供することにより、感情検出を改善できます。

どちらのサービスも、バッチ/ビデオのサポートと、画像検索、オブジェクトのローカライズ、オブジェクトの追跡（ビデオ）などのより高度な機能に関して大幅に改善されています。外部画像（URLなど）を取得できることは、APIの採用をスピードアップするのに役立ちますが、顔検出機能の品質を向上させると、ユーザーからの信頼が高まります。

![微信截图_20190904150555.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448511/b286b2de-0246-745c-72d5-f9ca7f88fd4c.png)


Google Edge TPUハードウェアデバイスについては、ここでチェックしてください: (https://store.gravitylink.com/global)