【速報】Amazon Rekognition Videoが登場! #reinvent
おはようございます、せーのです。現在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と、それを受けるSQSかLambdaを用意します。 準備ができたら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を試してみました。これは色々なことに使えそうです。ぜひデモを触ってみて下さい!!