1. HOME
  2. ブログ
  3. IT技術
  4. DeepLens で顔認識をする。

DeepLens で顔認識をする。

DeepLens で顔認識をしよう

「DeepLens」は、AWS(アマゾンウェブサービス)が発売している、カメラ型のデバイスです。

エッジ機器での深層学習を、安価に試すことができます。

昨年度からバージョン 1.1 となり、デバイス管理などがより使いやすくなりました。

DeepLens には GreenGrass という AWS のフレームワークがインストールされており、Python 2.7 のランタイムが含まれています。

DeepLens の特徴

AWS の管理コンソール(Web)を操作するだけで、以下のことが出来ます。

GreenGrass を通して、SageMaker などにより学習させたモデルと、モデルを起動する Lambdaで動作する Python プログラムを、DeepLens 側に転送して起動できる。

DeepLens では、GreenGrass をほとんど意識することなく簡単に使用できるのが特徴です。

今回の記事では、DeepLens の設定方法と動作確認についてお届けします

関連サイト

https://aws.amazon.com/jp/deeplens/

DeepLens をセットアップする

DeepLens を購入したら、まずセットアップする必要があります。

これを「登録」作業と呼びます。

登録作業を行わないと、プロジェクト画面に進めないようになっています。

登録するためには Windows パソコン上で、AWS 管理コンソールを動かしながら、USB で DeepLens に接続する必要があります

(※Mac でも良いらしいですが、うまくいかない場合があるようです)

DeepLens 登録画面

AWS 管理コンソールから、DeepLens を選択します。

「デバイスの登録」をクリックします。

バージョンを確認する画面が表示されますので、購入したバージョンに合わせて選択します。

今回の手順は、最新の 1.1 で検証した手順です。

バージョンを選択すると、USB を通した DeepLens との通信が始まります。

確立されると次の画面に進むことができます。

次の画面では、シリアル番号を入力します。

DeepLens デバイス画面

無事、登録が終わると、デバイス画面に移ります。

デバイス画面から、実際に DeepLens を操作することになります。

まずは、プロジェクトを作成します。

左側のメニューにある「リソース」下の「個のプロジェクト」を選びます

個のプロジェクト画面

個のプロジェクト画面では、プロジェクトの一覧が表示されます。

下の画像では、プロジェクトが2つありますが、最初の状態だとプロジェクトが1つもない状態で表示されます。

新しいプロジェクトを作成」を選択します。

ここで、左側の2段目にある「顔検知」を選択。

プロジェクト名と説明を入力します。

特に、変更する理由がなければ、デフォルトのままで構いません。

これで、プロジェクトは完成です。

デバイスへのデプロイ

次に「デバイスへのデプロイ」を選択すると、モデルと Lambda 関数の DeepLens への転送が始まります

ネットワークの速さに依存しますが、私の場合は10分程度かかりました。

デプロイ中は、デバイス画面の上側に青色でステータスが表示されます。

無事にデプロイが終わった場合は、これが緑になり、失敗した場合には赤になります。

通信状態が悪いと、失敗する場合があります

転送が終わると(ステータスが緑になると)、DeepLens のモデルの動作が始まります。

カメラランプが青に点灯すれば、動作は開始しています。

Lambda 関数を調べてみる

下のコードが推論を行っている主要部分になります。

awscam が API をインポートして使うオブジェクトで、 getLastFrame() によって撮影中のビデオストリームから1フレームを取り出します。

次に、これを model  オブジェクトの parseResult() 関数で呼びだして推論を実施。結果を配列に確保します。

実際の model は、GreenGrass がインストールしたものを使います。

DeepLens の動作確認

DeepLens を動作確認する方法には、以下の3つがあります。

  1. DeepLens にマイクロ HDMI ケーブルを接続して直接確認する
  2. DeepLens にWebで接続して、Web上で確認する
  3. IoT コンソールを使い、DeepLens からのメッセージを確認する

ここでは、Web で接続して確認するビデオストリーミングの方法を説明します。

ビデオストリーミング

ビデオストリーミングは非常に簡単で、ビデオストリームの表示ボタンを押すだけで表示することができます

ただし、ストリーミングに使用する PC 上に、あらかじめ DeepLens の管理コンソールで作成する証明書をインストールする必要があります。

これらの設定は、デバイス画面の「デバイス設定の編集」を選択し、遷移する画面で行う必要があります。

この時、USB で接続されていないと、「デバイス設定の編集」画面に遷移できないので注意してください

まとめ

DeepLens は、内部では GreenGrass 上で動作するものなので、とっつきづらいところがあるかもしれません。

しかし、モデルをデプロイしてしまえば、白物家電のように、電源ボタンを押すことで「開始」と「終了」ができるようになります

結果の受け取りを含め、全てクラウド上で行うように設計されています。

エンドユーザには、何も意識させずに使えることを目標に設計されているのです。

そのため、始めは戸惑うかもしれませんが、慣れると使いやすいデバイスです。

ちなみに、S3 へのアップロード後、S3 のイベントトリガーで「Rekognition」に問い合わせ等を行うと、誰の顔であるかなども識別可能になります。

この Rekognition については、機会があればご紹介したいと思います!

お楽しみに!

ライトコードよりお知らせ

にゃんこ師匠にゃんこ師匠
システム開発のご相談やご依頼はこちら
ミツオカミツオカ
ライトコードの採用募集はこちら
にゃんこ師匠にゃんこ師匠
社長と一杯飲みながらお話してみたい方はこちら
ミツオカミツオカ
フリーランスエンジニア様の募集はこちら
にゃんこ師匠にゃんこ師匠
その他、お問い合わせはこちら
ミツオカミツオカ
   
お気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

書いた人はこんな人

ライトコードメディア編集部
ライトコードメディア編集部
「好きなことを仕事にするエンジニア集団」の(株)ライトコードのメディア編集部が書いている記事です。

関連記事