はじめに
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を検討いただければ幸いです。 次回もお楽しみに!