Amazon Rekognition Videoを使ってみた(AWS CLI/SDK版もあるよ!)
こんにちは。データサイエンスチーム tmtk です。
この記事では、先日のAWS re:Invent 2017で発表された、Amazon Rekognition Videoの使い方をご紹介します。
この記事は、#DataScience by NHN Techorus DATAHOTEL Tech Blog Advent Calendar 2017 9日目の記事です。
Amazon Rekognition Videoとは
Amazon Rekognition Videoは、AWSの動画認識サービスです。これまでのAmazon Rekognitionは画像認識サービスとしてリリースされていましたが、新たに動画認識サービスAmazon Rekognition Videoが加わり、これまでのAmazon RekognitionはAmazon Rekognition Imageと呼ばれるようになったようです。
まずはコンソールから試してみる
まずはコンソールから試してみましょう。
最初に、AWS マネジメントコンソールにアクセスします。メニューから、Rekognitionを選択します。
次に、リージョンを米国北部(バージニア東部)に、言語を英語に変えます。現在は一部リージョンでしかAmazon Rekognitionは使うことができず、Amazon Rekogniton Videoのデモ画面は言語を英語に切り替えないとアクセスできません。
画面左側に「Video Analysis」というリンクがあるので、クリックして移動します。
プルダウンメニューから「Your own video」を選択し、動画をアップロードします。長さが1分以下で容量が30MB以下の動画しかアップロードできないようです。
アップロードすると、Amazon Rekognition Videoによる解析が実行され、結果が表示されます。
AWS CLIから使ってみる
AWS CLIとAWS SDK for PythonからそれぞれAmazon Rekognition Videoを呼び出してみますが、その前に準備を行います。
AWSの最新サービスであるAmazon Rekognition Videoを使うために、botocoreの最新版をインストールします。
sudo pip3 install --upgrade botocore
また、分析対象の動画をAmazon S3にアップロードしておきます。AWS マネジメントコンソールからAmazon Rekognition Videoを試してみた場合は、自動的にS3に動画が保存されているので、それを使うとよいでしょう。バケット名とファイル名をメモしておきます。
Amazon S3、Amazon Rekognitionどちらも、使用するリージョンをあわせるようにします。ここでは、バージニア北部(us-east-1)を使用します。
以上で準備は完了です。
AWS CLIから
まずはAWS CLIからやってみます。
aws rekognition start-face-detection --cli-input-json '{"Video":{"S3Object":{"Bucket":"rekognition-video-console-demo-iad-hogehoge-fugafuga(動画ファイルが入っているS3 Bucket名)","Name":"hoge.mp4(動画ファイル名)"}}}'
上のようにコマンドを実行すると、JobIdが表示されます。
{ "JobId": "0123456789abcdefffffffffffffffffffffffffffffffffffffffffffffffff" }
表示されたJobIdをメモしておき、解析結果を取得しましょう。
aws rekognition get-face-detection --cli-input-json '{"JobId":"0123456789abcdefffffffffffffffffffffffffffffffffffffffffffffffff(メモしたJobId)"}'
すると、結果がJSON形式で表示されます。
{ "VideoMetadata": { "FrameRate": 23.976024627685547, "FrameHeight": 720, "DurationMillis": 30071, "Codec": "h264", "FrameWidth": 1280, "Format": "QuickTime / MOV" }, "JobStatus": "SUCCEEDED", ...(省略)
AWS SDK for Pythonから
AWS SDK for Pythonでも同様です。
Amazon Rekognition Videoにジョブを送信します。
import boto3 client = boto3.client('rekognition') response = client.start_face_detection(Video={'S3Object': {'Bucket': 'rekognition-video-console-demo-iad-hogehoge-fugafuga(動画ファイルが入っているS3 Bucket名)', 'Name': 'hoge.mp4(動画ファイル名)'}})
解析が終わるまでしばらく待ち、結果を取得します。
result = client.get_face_detection(JobId=response['JobId']) print(result['Faces'][0])
認識された顔の情報が表示されます。
このように、Amazon Rekognition Videoを使うことで、動画ファイルの処理について詳しい知識がなくても動画にうつっている顔や物の情報をとることができます。大変便利ですね。
さらに詳しい使い方については、各種公式ドキュメントをごらんください。
まとめ
- Amazon Rekognition VideoはAWS re:Invent 2017で最近発表されたサービスです
- Amazon Rekognition Videoを試してみました
当社ではマネージドクラウド for AWSとして、AWSの請求代行/導入支援/運用/監視サービスを行っております。EC2インスタンスの割引・ビジネスサポート無料・日本円でのお支払いなど、便利でお得になっております。ご活用ください。
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitterデータ分析と機械学習とソフトウェア開発をしています。 アルゴリズムとデータ構造が好きです。
Recommends
こちらもおすすめ
-
「21世紀の相関係数」を超える
2017.12.10
-
ID-POSデータから、顧客の将来価値を測定する
2017.12.24
-
Rで実践!欠損データ分析入門【2】
2017.12.20
-
TensorFlowとKerasで画像認識する方法
2017.12.6
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16