Amazon Web Services ブログ

Amazon Rekognition – 深層学習による画像検出と認識

この画像を見た時に、何が見えますか?

単純に、動物には見えるでしょう。ペット、犬、またはゴールデンレトリバーに見えるかも知れません。画像とこれらのラベルの連想は脳の中でハードウェアな回線があるわけではありません。代わりに、何百何千もの例を見た後でラベルを学んだのです。いくつかの異なるラベルを処理することで、動物と植物、犬と猫、ゴールデンレトリバーと他の品種を見分けることを学んでいます。

画像検出のための深層学習

コンピュータに同じレベルの理解力を与えるのは、非常に難しいタスクであると証明されています。数十年に渡り、コンピュータ科学者は多くの異なる手法でこの問題に立ち向かってきました。今日、この問題に対する最良の解として広く同意を得られているのが、深層学習を用いたものです。深層学習は特徴量の抽象化とニューラルネットワークの組合せを使うことで、(アーサー・C・クラークが言った様に)魔法と見分けがつかないような結果をもたらします。しかし、それには相応のコストがかかります。まず、学習段階で沢山の仕事が必要になります。本質的には、学習ネットワークを幅広いラベル(“これは犬です”、”これはペットです”、等)が付いた例に与えることで、ラベルのついた画像の特徴量を関連付けることができます。この段階は、その規模と複数層のニューラルネットワークにつきものですが、計算量的にとても高価になります。学習段階が完了すれば、新しい画像を学習したネットワークで評価することはとても高速です。結果は冷たい断定的なものではなく、慣習的に信頼レベル(0から100%)の形で表現されます。これによって、どの程度の精度がアプリケーションに適切かを自分自身で判断することができます。

Amazon Rekognitionの紹介

本日、Amazon Rekognitionを発表したいと思います。深層学習を使って、我々のコンピュータビジョンチームが何年もかけて作ってきたもので、このフルマネージドサービスは既に毎日数十億枚もの画像を分析しています。数千もの物体やシーンから学習されていて、今からあなたのアプリケーションで利用することが可能です。Rekognition APIを使ってコードを書き始める前に、Rekognition Demosを使ってサービスの性能を試してみることができます。

Rekognitionはスケールできるように設計されています。シーン、物体、そして顔を理解します。画像を1つ与えれば、ラベルのリストを返します。1つ以上の顔がある画像を与えれば、各顔の属性と共に境界を返します。私の犬の画像について、どのような情報が返ってくるかを見てみましょう(ところで彼女の名前はLunaと言います):

見ての通り、RekognitionはLunaに対し高い信頼度で、動物、犬、ペット、そしてゴールデンレトリバーというラベルを付けています。ここで重要なのは、これらのラベルは全て独立していて、例えば犬と動物の間の関係性について深層学習のモデルが明示的に理解しているわけではありません。Rekognitionに示された犬が中心となっている学習データに対して、これらのラベルが同時に与えられていることが多かっただけです。

私と私の妻の画像を見てみましょう:

Amazon Rekogitionは私達の顔を見つけていて、境界も設定できていて、そして私の妻が幸せであるということを教えてくれています。(この画像は彼女の誕生日に撮ったものなので、そうであって欲しいです)

また、Rekognitionは顔を比較して、与えられた画像の中にあなたが以前に認識をリクエストした顔が含まれているかを見つけることもできます。

これら全てはAPI関数の集合からアクセス可能となっています(コンソールはクイックデモにはとてもよいです)。例えば、DetectLabelsで最初の例、DetectFacesで2つ目の例をプログラム的に再現することができます。いくつかの顔を認識する準備として、IndexFacesを複数呼び出すことができます。その度に、Rekognitionは画像からいくつかの特徴量(顔ベクトルとして知られるもの)を抽出し、ベクトルを保存し、画像を廃棄します。1つ以上のRekognitionコレクションを作成して、関連する各顔ベクトルのグループを保存することができます。

RekognitionはAmazon Simple Storage Service (S3)に保存されている画像を直接処理することができます。実際、AWS Lambda関数を使って新しくアップロードされた写真を必要なスケールで処理することができます。AWS Identity and Access Management (IAM)でRekognition APIのアクセスを制御することができ、全てのAPIアクセスはAWS CloudTrailにログが取られます。

Rekognitionのアプリケーション

さて、これを使って何ができるでしょうか?皆さんが始められる様、沢山のアイデアを共有します。

もし多数の写真の集合を持っているなら、Amazon Rekognitionを使ってタグやインデックスをつけることができます。Rekognitionはサービスなので、インフラについて設定や実行方法、またはスケールについて全く心配することなく、毎日数百万枚の写真を処理できます。画像の検索や、タグベースの閲覧、そしてあらゆる種類の対話的な発見モデルを実装することができるでしょう。

Rekognitionをいくつかの異なる認証とセキュリティの文脈で使うことができます。従業員がセキュアな場所に入る時に、ウェブカメラに映る顔と社員バッジの写真を比較することができます。関心があったり心配している物体や人に対して、写真を解析することで視覚的な監視を実行することもできます。

閲覧者のデモグラフィックデータを収集する”賢い”マーケティング広告を作ることもできます。

今日から利用可能

Rekognitionは今US East (Northern Virginia)、US West (Oregon)、Europe (Ireland)リージョンで利用可能で、今日から使い始められます。AWS Free Tierの一部として、1ヶ月あたり5,000画像の分析と1年間1,000個の顔ベクトルを保存できます。それ以降(より大きいボリュームで)は、何枚の画像を分析したかといくつの顔ベクトルを保存しているかを基準とした階層型の料金体系となります。

Jeff;

原文: Amazon Rekognition – Image Detection and Recognition Powered by Deep Learning (翻訳: SA岩永)