[登壇資料] 写真・動画を解析するAmazon Rekognitionの基礎と実装(HIGOBASHI.AWS 第11回 テーマ別AWS活用入門 〜CI/CD、機械学習、AI編〜) #higobashiaws

2019年9月18日に開催された HIGOBASHI.AWS 第11回 テーマ別AWS活用入門 〜CI/CD、機械学習、AI編〜 で発表したスライドです。
2019.09.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

クラスメソッド大阪オフィスで開催されたAWSに関する勉強会HIGOBASHI.AWS 第11回に登壇させていただきました。HIGOBASHI.AWSは、肥後橋(大阪)界隈で開催する、AWSの勉強会コミュニティです。登壇者と参加者がディスカッションしながら進行していきます。

今回、画像や動画に「何がうつっているのか」を分析するサービスであるAmazon Rekognitionについて、基礎的な内容と実装上の考慮点をご紹介しました。

登壇資料

主な内容

Amazon Rekognitionとは?

  • 画像や動画に「何がうつっているのか」を分析するサービス
  • 動画分析はファイル分析とストリーミングビデオ分析が可能

今、問い合わせ増えています!

  • 大量のデジカメ写真を扱う企業様
  • ユーザーがアップロードする写真のチェックの効率化
  • オフィス、工場等の入場チェック
  • その他

ディープラーニングと『眼の誕生』

カンブリア大爆発

5億年間、数十数種しかなかった生物が、およそ5億4200万年前から5億3000万年前の間に突如として今日見られる動物の「門」が出そろった現象

光スイッチ説

はじめて眼を持った生物(三葉虫)の出現によりカンブリア大爆発がもたらされたとする古生物学者Andrew Parkerによる説

ディープラーニングは機械に視覚をもたらした

東京大学大学院工学系研究科 松尾豊先生の説。ディープラーニングは、いわば機械に視覚野をもたらした。今後、機械やシステムの「大爆発」と呼べるほど多様化が進むのでは

主な機能

1. 画像分析の機能

  • オブジェクト、シーンの検出
    • 物体("Palm Tree"など)、シーン("Tropical"、"Resort"など)、概念("Summer"など)
  • 顔検出
    • 顔の存在、顔の位置、大きさ、向き、髭やメガネ、推定(性別、年齢、感情)
  • 顔の認識(比較)
  • 画像内の不適切なコンテンツの識別
  • 有名人の認識
  • テキストの抽出

2. 動画分析の機能

  • オブジェクト、アクティビティの検出
    • モノだけなく「車から降りる」、「ジョギング」などのアクティビティも検出
  • 人物の追跡
    • 動線の追跡時点におけるビデオフレーム内の人物の位置
    • 検出時の顔のランドマーク
  • 動画内の不適切なコンテンツの識別
  • 有名人の認識

1.画像の入力形式

  1. 画像をbase64エンコードして渡す(SDKではエンコード不要)
  2. S3バケットの保存画像を指定(同じリージョンで)(S3バケットへのPUTイベントをトリガーにLambda関数を起動)

2. 動画の入力形式

  1. S3バケットの保存画像を指定(同じリージョンで)
  2. Amazon Kinesis Video Streamsでストリーミングビデオを分析

実装上の考慮点

  1. 画像分析での制限
  • 画像形式: PNGおよびJPEG形式
  • base64エンコード入力の最大サイズ: 5MB
  • S3バケットの保存画像: 15MBまで
  • 顔検出の最小サイズ: 40x40ピクセル以上 (Full-HD画像の場合)
  • テキスト抽出: 最大50単語

レイテンシ

base64エンコードは、S3アップロード+分析より高速(サイズが許せば)

実装上の考慮点(2)

  1. 動画分析での制限
  • 形式: H.264コーデック MPEG-4/MOV形式
  • ビットレート1.5Mbps以上
  • 長さ: 2時間まで
  • S3バケットの保存動画: 8GBまで
  • フレームレート: 5pfs以上、推奨30fps
  • 同時ジョブ数: 最大20 (制限拡大リクエスト可能)

その他の制限拡大リクエスト

1秒あたり1アカウントあたりトランザクション数など

実装上の考慮点(3)

1. ストレージ型APIオペレーション

  IndexFaces / ListFaces / SearchFacesByImage / SearchFaces
  DeleteFaces / DescribeCollection
  StartFaceSearch / CreateStreamProcessor

2. 非ストレージ型APIオペレーション

それ以外 APIの種類

APIの種類と料金(一部)

画像分析段階 処理画像 1,000 枚あたりの料金
処理された1か月あたりの画像 100万枚まで 1.30USD
処理された 1 か月あたりの画像 101万枚から1,000 万枚まで 1.00USD

*1枚または複数枚の画像を受け入れるAPIは、それぞれ処理された画像1枚分として計上されます。

Rekognition顔メタデータストレージ

顔メタデータのストレージ 1か月あたりに保存される顔メタデータ1,000件あたりの料金
保存された顔のメタデータ 0.013USD

ストレージ料金は月ごとに課金され、1 か月未満の料金は日割りで計算されます。

動画分析 動画1分あたりの料金
分析されたアーカイブ済みの動画 (1 秒ごとに課金) 0.13USD
分析されたライブストリームビデオ (1 秒ごとに課金) 0.15USD

Rekognition顔メタデータストレージ

顔メタデータのストレージ 1か月あたりに保存される顔メタデータ1,000件あたりの料金
保存された顔のメタデータ 0.013USD

ストレージ料金は月ごとに課金され、1 か月未満の料金は日割りで計算されます。

Rekognitionで「爆発」するほど多様な システムを構築しましょう!

最後に

当日は、多数の方にご参加いただき、ありがとうございました。 いくつか質問をいただいたり、懇親会でお話させていただいたことで、少しでも 皆様のお役に立てればと思います。またアンケートでも評価いただき、感謝しております。

今後とも、よろしくお願いいたします。