Amazon Web Services ブログ
Amazon Rekognition Video: ディープラーニングベースのビデオ認識
Amazon Rekognitionを発表したのは昨年のre:Invent 2016期間中でした。手を汚してコードを書き、サービスを活用して画像認識ソリューションを構築するのにとても興奮しました。ご存知かもしれませんが、Amazon Rekognition Imageは、ディープラーニングを利用してスケーラブルな画像認識と分析を提供するクラウドサービスです。Rekognitionを利用して、オブジェクトとシーンの検出、リアルタイム顔認識、セレブリティ認識、節度の認識だけではなく、テキスト認識をアプリケーションやシステム統合して構築することができます。
Amazon Rekognition Imageサービスは、深層ニューラルネットワークモデルを利用して作成されており、Prime Photosで毎日数億の画像分析を可能にしているのと同じテクノロジーに基づいています。これまで、Rekognitionはスケーラビリティ、自動的な分析、サーチ、画像の分類を提供することに重点的にフォーカスしてリリースされてきました。今その全てが変わっています。今回、このサービスの幾つかの追加機能についてお伝えできることを嬉しく思います。
Hello, Amazon Rekognition Video
Amazon Rekognition Videoは、S3に保管されたビデオやライブビデオストリームに対して、スケーラブルなコンピュータービジョン分析を可能にする新しい動画認識サービスです。Rekognition Videoを利用することで、動画中の数千のオブジェクトや顔、コンテンツを正確に検知し、追跡し、認識し、抽出し、節度を検出することができます。この新機能の特筆すべき点は、動画中のオブジェクトの正確な情報を提供するだけではなく、そのディープラーニングベース機能を使って、動画の中でどのようなアクティビティが行われているかの洞察をもたらすことです。例えばこの機能は、動画の中に男性が写っている、車がある、木があるというのを識別するだけではなく、ビデオの男性が車に向かって走っているという推論を行います。素晴らしい!この機能がお客様にもたらす全ての可能性があるシナリオを想像してみてください。
非同期のRekognition Video APIを利用してビデオ分析を行うプロセスは以下のとおりです:
- Amazon Rekognition Start operationは.mp4あるいは.movファイルに対して呼び出されたStart operation APIの処理を開始します。ビデオはH.264コーデックでエンコードされている必要がある点にご注意ください。Start Operation APIには以下のものがあります:
- StartPersonTracking
- StartFaceDetection
- StartLabelDetection
- StartCelebrityRecognition
- StartContentModeration
- Amazon Rekognitionは動画を処理し、Start Operation APIリクエストの完了をAmazon SNSトピックにパブリッシュします。
- SNSトピックをAmazon SQS キューあるいはAWS LambdaファンクションでサブスクライブしてAPIの完了結果を受け取ります。
- Start Operation APIに関連付けられたGet Operation APIを呼び出します。Get Operation APIはSNS通知で提供されるJobIDを利用して動画を処理します。Get Operation APIには以下のようなものがあります:
- GetPersonTracking
- GetFaceDetection
- GetLabelDetection
- GetCelebrityRecognition
- GetContentModeration
- Get Operation APIからJSONで返却される動画分析の結果および、後続の結果セットのページングトークンを取得します。
AWS CLI, AWS SDK, および REST APIを利用して、Amazon Rekognition Videoのビデオ分析機能を活用出来ます。新しいサービスを学習するのに、自分で経験するよりも良い方法はないと思っています。試してみましょう!
私のプレイリストでローテーションされている2つのミュージックビデオ(Foo FightersのRunとDJ KhaledのWild Thoughts)をS3バケットに.mp4フォーマットでアップロードすることからはじめます。なんというか私の音楽的嗜好は幅広く多様です。
Rekognition Videoの通知のためのSNSトピックとそのSNSトピックからの通知を受け取るSQSキューを作成します。
これで、SQSキューRekognitionVideoQueueでSNSトピックSNS-RekognitionVido-Topicをサブスクライブできます。
ここで、start-face-detection APIを呼び出して動画を処理するためにAWS CLIを使い、APIレスポンスからJobIdを取得します。
SNSトピックから、私のRekognitionVidoQueueに通知がきてメッセージのステータスがSUCCEEDEDであれば、動画分析の結果を取得するためにJobIdを指定してget-face-detection APIをコールできます。
また、start-label-detectionとget-label-detectionのAPIを他の動画に対して実行し、フレームの中で検出されたオブジェクトの情報を得るための動画分析を行うことができます。
Summary
Amazon Rekognition Videoは、携帯電話、カメラ、IoTビデオセンサー、およびリアルタイムライブストリームビデオ処理からキャプチャーされた動画を、スケーラブルで高精度で動画分析するソリューションに利用できます。この新しいディープラーニングビデオ機能は、ビデオの中のオブジェクト、顔、アクティビティの検知に必要な全てのタスクを自動化し、他のAWSサービスと組み合わせることで、様々なワークロードに対する強固なメディアアプリケーションを構築することが可能です。
Amazon Rekognitionと新しいRekognition Video機能に対してより深く知りたい方は、Rekognition開発者ガイドのGetting Startedセクションをご参照ください。