AWS DeepLensをセットアップしてみた #reinvent

2017.12.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

re:Invent 2017にて発表されたAWS DeepLensですが、ワークショップに参加したところ本体をもらえました!

早速セットアップしてアプリをデプロイしてみようと思ったのですが、回線が不安定なせいかデプロイがずっと完了しなかったため、本記事は

  • 実際にセットアップしてみた
  • アプリをデプロイしてみた(作業的には最後までやったがデプロイが完了せず)
  • デプロイ後のアプリの起動手順(ハンズオンにて体験した内容)

という内容になります。

前提条件

  • AWSアカウントが登録済みであること
  • AWS DeepLens一式
  • キーボード、マウス、モニタ(microHDMIのケーブルが必要)

やってみた(セットアップ編)

1. 以下のURLにアクセスし、Register deviceを選択

https://console.aws.amazon.com/deeplens/home?region=us-east-1

2. デバイス名を入力

3. パーミッションの設定

必要なロールを一通り作成します。

Create a role in IAMで直接ロールの作成ができるので、こちらから1つずつ作成していきました。 作成直後は作ったロールを選択できないのですが、右上のReflesh IAM rolesを選択すると選択肢がアップデートされます。

一通り設定して次へを選択します。

4. 証明書をダウンロードして登録

Download certificateを選択して証明書をダウンロードし、Registerから登録を完了します。

5. 電源を入れてPCと接続

デバイスの底にSSIDとパスワードが書いてあるので、PCからこちらに接続します。

6.ブラウザからアクセス

DeepLensのネットワークに接続した状態でhttp://192.168.0.1/にアクセスすると、セットアップの画面が開きます。

ネットワークを指定し次の画面に進むとアップデートが始まります。

しばらく放っておくと完了次第再起動します。

7. 証明書のアップロード

再度デバイス底のSSID,パスワードでDeepLensに接続し、http://192.168.0.1/にアクセスします。 ブラウザから4でダウンロードした証明書をアップロードします。

8. 設定

パスワード、SSHでの接続、自動でのデバイスアップデートの設定をします。

確認画面が出るのでFinishで完了です。

9. DeepLensでカメラから動画を再生

余談

ここからはDeepLensに直接入力デバイスとモニタをつないで操作していくのですが、手元にmicroHDMIケーブルもマウスもキーボードもないという状態でしたので、宿泊していたホテルの近くの電気屋で調達してきました。

カメラの映像を確認

DeepLensにモニターとキーボード、マウスをつなぐと、UbuntuがGUIで操作できます。

ターミナルを起動し、以下のコマンドを実行するとカメラの映像を出力できます。

mplayer –demuxer /opt/awscam/out/ch1_out.h264

10. テンプレートのプロジェクトをデプロイ

AWSコンソールからDeepLensのプロジェクトページより、Create new projectでプロジェクトを作成します。

Object detectionを選択し、次に進みます。プロジェクトの詳細設定は全てデフォルトのまま進めます。

作成したプロジェクトを選択します。

Deploy to deviceでデプロイのフローに進みます。

デバイスを選択し、Reviewを選択します。

Deployをクリックするとデバイスへのデプロイが開始します。

ホテルの回線が不安定なせいか、デプロイが完了しませんでした。 ここからはハンズオンでの手順の画像となります。

デプロイが完了すると上のバーが緑色になるので、DeepLensのターミナルから以下のコマンドを実行します。

mplayer –demuxer lavf -lavfdopts format=mjpeg:probesize=32 /tmp/ssd_results.mjpeg

プレイヤーが起動します。 カメラに映った映像で、検知したオブジェクトが青枠で囲まれています。

まとめ

AWS DeepLensの初期設定とテンプレートのデプロイまでを試してみました。 ここまではあくまでスタートラインで、本質的な利用方法としてはAmazon SageMakerによるモデルを使ったアプリケーションの、開発からデプロイ、実行までの流れをAWSのコンソールからGUIで簡単に素早く行えるデバイスであるという認識をしています。

私からは以上です。