【速報】Amazon Rekognition Videoが登場! #reinvent

2017.11.30

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

おはようございます、せーのです。現在re:Invent2017 Keynoteを会場で聞いております。

せーのからは画像認識サービス「Amazon Rekognition」の動画版、「Amazon Rekognition Video」を速報としてご紹介します。

その名の通り

「Amazon Rekognition」はお使いになったことがあるでしょうか?Deep Learningを用いて画像に何が写っているのか、どのようなシーンなのか、などの認識から、個人の顔認識まで様々な画像認識と分析が簡単にできる、素晴らしいサービスです。

今回発表された「Amazon Rekognition Video」はその名の通り、Amazon Rekognitionの機能が動画で使える、というものです。Rekognitionが発表されたのがちょうど1年前のre:Invent2016の時ですから、1年で凄まじい進化を遂げたことになります。

概要

Amazon Rekognition Videoは

  • S3にストアされているビデオ
  • ライブストリーミングビデオ

の2種類のビデオに対してスケールするサーバを使った動画分析サービスとなります。Rekognition Videoを使うとRekognition Image同様にモノの認識、人の認識ができます。その他に正確な情報を提供するだけでなく、動的な分析や人物追跡のための視覚、時間、モーションなどを完璧に捉えることができます。

例えば人や動物のような有機物から車のような無機物、木のような植物の認識、その他にも「この人は車に向かって走っている」というようなモーションまで答えられます。動画ならではですね。

API

スタート系API

  • StartPersonTracking
  • StartFaceDetection
  • StartLabelDetection
  • StartCelebrityRecognition
  • StartContentModeration

Get系API

  • GetPersonTracking
  • GetFaceDetection
  • GetLabelDetection
  • GetCelebrityRecognition
  • GetContentModeration

プロセス

Rekognition Videoの解析プロセスは以下の通りとなります。 まず用意する動画はH.264でエンコードされたものが必要です。ファイル型式はMOVかMP4となります。 予め処理結果のAPIの戻り値を送るSNSと、それを受けるSQSLambdaを用意します。 準備ができたらStart系APIを叩いてスタートさせます。 Rekognition Videoの処理が終わると「JobID」が発行されます。そのJobIDがSNSからパブリッシュされ、SQSかLambdaでそれをサブスクライブします。 SNSのJobIDを使用してGet系のAPIを叩き、結果をJSONで受け取ります。このJSONとトークンを合わせて結果セットとして次の処理に渡します。

使用環境

AWS CLI, AWS SDKs, REST APIs

Demo触ってみた

既にマネージメントコンソールにデモがあったので触ってみましょう。

実は言語を日本語にしていると見つかりません。英語にしてみると。。。

出てきました。Videoのデモをクリックします。

すでにサンプルファイルが入っていまして、分析が既に完了しています。ところで、このサンプルはどんな動画なのでしょう。

下の方にありました。Jeff BezosとWerner Vogelsの対談のようです。まずはJeffが話していて

2ショットになり

Warnerが話す、という動画です。resultのところを見ると

Peopleが2、Celebritiesも2、あとはobjectのようです。まずはPeopleとCelebritiesを見ていくと

2人のショットが写っています。Jeffと検索をかけてみると

Jeffだけに絞ることもできます。 Peopleは選択することができ

選択した人物がどの時間に映っているのか、が表示されます。

最後に認識されたオブジェクトがまとめて下に表示されます。

詳細なデータはJSONファイルとしてダウンロードすることができます。中身は

{"ModerationLabels":[],"fileName":"bezos_vogel.mp4",
"Labels":[
{"Label":{"Confidence":52.42720413208008,"Name":"File Binder"},"Timestamp":0},
{"Label":{"Confidence":52.42720413208008,"Name":"File Folder"},"Timestamp":0},
{"Label":{"Confidence":98.64299774169922,"Name":"Human"},"Timestamp":0},
{"Label":{"Confidence":97.28599548339844,"Name":"People"},"Timestamp":0},
{"Label":{"Confidence":98.64299774169922,"Name":"Person"},"Timestamp":0},
{"Label":{"Confidence":52.42720413208008,"Name":"File Binder"},"Timestamp":166},
{"Label":{"Confidence":52.42720413208008,"Name":"File Folder"},"Timestamp":166},
{"Label":{"Confidence":98.64299774169922,"Name":"Human"},"Timestamp":166},
{"Label":{"Confidence":97.28599548339844,"Name":"People"},"Timestamp":166},
{"Label":{"Confidence":98.64299774169922,"Name":"Person"},"Timestamp":166},
{"Label":{"Confidence":52.42720413208008,"Name":"File Binder"},"Timestamp":367},
{"Label":{"Confidence":52.42720413208008,"Name":"File Folder"},"Timestamp":367},
{"Label":{"Confidence":98.64299774169922,"Name":"Human"},"Timestamp":367},
{"Label":{"Confidence":97.28599548339844,"Name":"People"},"Timestamp":367},
{"Label":{"Confidence":98.64299774169922,"Name":"Person"},"Timestamp":367},
{"Label":{"Confidence":52.497398376464844,"Name":"File Binder"},"Timestamp":567},
{"Label":{"Confidence":52.497398376464844,"Name":"File Folder"},"Timestamp":567},
{"Label":{"Confidence":98.64299774169922,"Name":"Human"},"Timestamp":567},
{"Label":{"Confidence":97.28599548339844,"Name":"People"},"Timestamp":567},
{"Label":{"Confidence":98.64299774169922,"Name":"Person"},"Timestamp":567},
{"Label":{"Confidence":52.00889587402344,"Name":"File Binder"},"Timestamp":767},
{"Label":{"Confidence":52.00889587402344,"Name":"File Folder"},"Timestamp":767},
{"Label":{"Confidence":98.64299774169922,"Name":"Human"},"Timestamp":767},
{"Label":{"Confidence":97.28599548339844,"Name":"People"},"Timestamp":767},
{"Label":{"Confidence":98.64299774169922,"Name":"Person"},"Timestamp":767},
{"Label":{"Confidence":51.07539749145508,"Name":"File Binder"},"Timestamp":967},
{"Label":{"Confidence":51.07539749145508,"Name":"File Folder"},"Timestamp":967},
{"Label":{"Confidence":98.67340087890625,"Name":"Human"},"Timestamp":967},
{"Label":{"Confidence":97.3468017578125,"Name":"People"},"Timestamp":967},
{"Label":{"Confidence":98.67340087890625,"Name":"Person"},"Timestamp":967},
{"Label":{"Confidence":50.03459930419922,"Name":"File Binder"},"Timestamp":1167},
{"Label":{"Confidence":50.03459930419922,"Name":"File Folder"},"Timestamp":1167},
{"Label":
......
......

おなじみのRekognitionのデータが出てきました。これはワクワクしますね。

まとめ

以上、速報ながらRekognition Videoを試してみました。これは色々なことに使えそうです。ぜひデモを触ってみて下さい!!

参考リンク