画像解析API各サービスの比較

2017/11/7

■はじめに

昨今、機械学習やAIの文脈で様々な「もの」を解析するサービスが登場しています。
解析対象の「もの」は多岐に渡り、たとえば文章、音声、動画、そして画像です。
本稿では「画像」を解析するサービスに注目し、実際に使用している広告画像をサービスのAPI(Application Programming Interface)に与えた時にどのような情報を取得できるのかをまとめます。

■各サービスの紹介

今回調査する対象は下記のAPIです。

  • Amazon Web Service (AWS) : Rekognition
  • Google Cloud Platform (GCP) : Cloud Vision API
  • Microsoft Azure : Computer Vision API

以下で各サービスの機能を紹介しますが、ここで紹介する機能が全てではないため、詳細な機能については各サービスの公式ページを参照してください。
また、この情報は2017年10月時点のものであり、現在は機能が追加/変更されている可能性がある点にご注意ください。

■AWS Rekognition

公式ページはこちら(https://aws.amazon.com/jp/rekognition/)になります。
AWS Rekognitionでは下記のような機能が提供されています。

  • オブジェクトの検出
  • 顔の分析/比較
  • 有名人の検出
  • 不適切なコンテンツの検出

■GCP Cloud Vision API

公式ページはこちら(https://cloud.google.com/vision/)になります。
GCP Cloud Vision APIでは下記のような機能が提供されています。

  • オブジェクトの検出
  • 顔の分析
  • 有名人の検出
  • ランドマーク/ロゴの検出
  • テキストの検出
  • 色情報の検出
  • 不適切なコンテンツの検出

■Azure Computer Vision API

公式ページはこちら(https://azure.microsoft.com/ja-jp/services/cognitive-services/computer-vision/)になります。
Azure Computer Vision APIでは下記のような機能が提供されています。

  • オブジェクトの検出
  • 顔の分析
  • 有名人の検出
  • テキストの検出
  • 色情報の検出
  • キャプションの付与
  • 不適切なコンテンツの検出

■調査内容

本稿では、広告画像の分析ということで、下記機能で取得できる情報を確認します。

  • オブジェクトの検出
  • 顔の分析
  • テキストの検出

調査対象サービスのAPIに下記3種類の画像を与え、各機能で取得できたデータをまとめます。

    • (img-A) テキストを含む画像
    • (img-B) 人を含む画像
    • (img-C) テキストが主体のバナー画像

■調査結果 : AWS Rekognition


顔の分析機能が強力で、性別や年齢だけでなく、目を開けているか、口を開けているか、サングラスをかけているかといった情報まで取得できています。
一方、オブジェクトの検出は今ひとつという結果になりました。また、テキストの検出機能はありません。

■調査結果 : GCP Cloud Vision API


オブジェクト、テキスト共になかなかの精度で取得できています。バナー画像に対して「banner」「advertising」と返してくるのは興味深い点ですね。「冬しか行けない、旅に出よう。」等テキストとして検出できています。「女性旅行がイマお得!」等の傾いている文字の検出はできませんでした。
一方、顔分析については、表情のみ喜びが大きいと検出ができました。性別や年齢は取得できませんでした。

■調査結果 : Azure Computer Vision API


テキストがなかなかの精度で取得できています。
また、img-Bについては全体的に高精度です。特に、キャプション(「説明」に相当)の精度が非常に高く驚いています。
ただし、テキストが混在すると精度が下がってしまうのか、img-Aとimg-Cのオブジェクト検出は今ひとつでした。

■おわりに

やはりサービス毎に得意/不得意がありますので、目的に応じて使い分けるのが良さそうですね。
顔に特化した分析がしたい場合は、AWS Rekognitionが最適な選択になると思います。本稿では扱っていませんが、顔同士の比較機能もあり、顔分析については機能が豊富に揃っています。
とにかく画像の情報を幅広く取得したいという場合は、GCP Cloud Vision APIが良さそうです。顔分析がやや弱くなりますが、オブジェクト/テキストの検出はなかなかの精度です。
顔情報も含めて幅広く取得したい場合は、Azure Computer Vision APIが良いと思います。特に、画像にキャプションをつける機能はなかなか強力です。ただし、本稿のimg-A、img-Cのように画像によってはオブジェクト検出が今ひとつの精度になる可能性はあります。

photo

ライター:石井 直人


コミュニケーションプランニング本部 テクニカルコンサルティング部所属
通信業界系SEを経て、2014年GMO NIKKOへ入社。現在はMARSDMP、MARSアナリティクス開発・運用を担当
人手をかけずにMARSシステムを運用する方法を日々研究

Contents

ico人気記事