【Introduction to AWS DeepLens】の和訳してみた

Pocket

はじめに

AWSのMachine Learningに関するサービスの1つであるAWS DeepLensについての概要が「aws training and certification」にて公開されています。本記事では動画で紹介している内容を訳して紹介していきます。
コンテンツへのアクセス方法はこちらに記載しています。

AWS DeepLens とは


AWS DeepLensとは、AWSクラウドと統合した開発プラットフォーム搭載のワイヤレスビデオカメラです。Deep Learning などの最新の技術を利用してコンピュータビジョンアプリケーションの開発を行う事ができるデバイスです。


DeepLensに搭載されているアクセラレータは、コンピュータ処理を100GFLOPS、つまり1000億/秒の単位で処理を実行することが可能です。

AWS DeepLensのワークフローとして、基本的には以下の3つのAWSサービスと共に利用することとなります。

こちらの構成図で、先程紹介したAWSサービスの一連の流れを紹介していきます。

①AWS DeepLensがvideo streamをキャプチャし、Device streamとProject streamという2つのstreamを生成します。

②推論Lambda関数は、未処理のvideo framesを受け取るとDeep Learningモデル(Amazon SageMaker)に一旦渡して処理を行います。

③最後に、処理が完了したら推論Lambda関数はそれを再び受け取り、Project Streamに戻します。

構成図では紹介できませんでしたが、AWS DeepLensは他のAWSサービスと容易に連携できるサービスです。例えばAWS Greengrass を利用してAWS DeepLensのプロジェクトをセキュアに移すことができます。
またインターネットに接続した状態であれば、AWS DeepLensのアウトプットを AWS IoT やAmazon Kinesis Radio Streamsを利用してコンソールに戻すことも可能です。

AWS DeepLensでは、全部で7種類のサンプルプロジェクトのテンプレートが用意してあります。これらのプロジェクトはMachine Learningを使用してほんの10分ほどで実行することが可能です。また、これらのプロジェクトは編集やカスタマイズも可能です。

AWS DeepLensでは、オリジナルモデルのトレーニングやデプロイも可能です。また、MXNet・TensorFlow・CaffeなどDeep Learningのフレームワークに幅広く対応しております。

Demo

AWS DeepLensの物体認識の一連の流れをまとめると、図の様になります。モデルは AWS DeepLensより送られたvideo stramをインプットします。そして認識した対象物をラベル化します。ユーザはコンソール上からモデルがラベル化した対象物をレビューすることができます。

それではやってみましょう。コンソール画面より「DeepLens」と入力して検索します。

「Project」という画面に来たら、右の「Create new project」を選択します。

Project typeとProject templatesを選択します。今回のデモでは「Use a project template」と「Object Detection」をそれぞれ選択します。
選択したら、画面右下の「Next」を選択します。

確認画面が出るので、画面右下の「Create」を選択します。プロジェクトの構築には数分ほど時間がかかります。

プロジェクトの構築が完了したら、選択した後に「Deploy to device」をクリックします。

この画面ではデバイスを選択します。選択したら、「Review」をクリックします。

内容を確認したら、「Deploy」をクリックします。これにより、DeepLensにモデルのデプロイが行われます。デプロイが完了するのに約数分かかります。画面上に表示されているバナーが青→緑に変わったら完了です。

Project outputのタブに行き、「copy」をクリックしたら、「AWS IoT console」をクリックし、コンソール画面に移動します。


IoTコンソール画面に移動したら、先程コピーしたtopicを貼り付け、「Subscribe to topic」をクリックします。
以上で設定は完了です。あとは、AWS DeepLensに物体を認識させると、ラベル化が行われ、その結果を画面に出力してくれます。

この画面は、実際にAWS DeepLensに植木鉢の植物を見せた時の結果です。この様に、認識した物体に対する結果を画面上に表示します。

このデモではペットボトルをAWS DeepLensに見せた時の結果を表示しています。

まとめ

Introduction to AWS DeepLens ついての紹介は以上です。実機でなかなか試すことの出来ないサービスですのでコンソールの一連の動作をデモとして見れるのは嬉しいですね! Greengrass などAWSの各コンポーネントとの連携の高さも非常に魅力的なのでIoTプロジェクトにてPoCを行う際の選択肢にAWS DeepLensを検討いただければ幸いです。 次回もお楽しみに!