![広告メディア事業部](/_next/image?url=https%3A%2F%2Fapi.rightcode.co.jp%2Fwp-content%2Fuploads%2F2022%2F08%2Fcropped-icon_tobaru_2_150150-150x150.png&w=64&q=75)
【前編】DeepLens で顔認識をしてみた~準備編~
![広告メディア事業部](/_next/image?url=https%3A%2F%2Fapi.rightcode.co.jp%2Fwp-content%2Fuploads%2F2022%2F08%2Fcropped-icon_tobaru_2_150150-150x150.png&w=64&q=75)
IT技術
![](/_next/image?url=https%3A%2F%2Fapi.rightcode.co.jp%2Fwp-content%2Fuploads%2F2020%2F05%2Fdeep.jpg&w=3840&q=75)
前編~DeepLens で顔認識をしよう!~
「DeepLens」は、AWS(アマゾンウェブサービス)が発売している、カメラ型のデバイスです。
エッジ機器での深層学習を、安価に試すことができます。
昨年度からバージョン 1.1 となり、デバイス管理などがより使いやすくなりました。
DeepLens には GreenGrass という AWS のフレームワークがインストールされており、Python 2.7 のランタイムが含まれています。
DeepLens の特徴
AWS の管理コンソール(Web)を操作するだけで、以下のことが出来ます。
GreenGrass を通して、SageMaker などにより学習させたモデルと、モデルを起動する Lambdaで動作する Python プログラムを、DeepLens 側に転送して起動できる。
DeepLens では、GreenGrass をほとんど意識することなく簡単に使用できるのが特徴です。
今回の記事では、DeepLens の設定方法と動作確認についてお届けします。
【DeepLens】
https://aws.amazon.com/jp/deeplens/
DeepLens をセットアップする
DeepLens を購入したら、まずセットアップする必要があります。
これを「登録」作業と呼びます。
登録作業を行わないと、プロジェクト画面に進めないようになっています。
登録するためには Windows パソコン上で、AWS 管理コンソールを動かしながら、USB で DeepLens に接続する必要があります。
(※Mac でも良いらしいですが、うまくいかない場合があるようです)
DeepLens 登録画面
AWS 管理コンソールから、DeepLens を選択します。
「デバイスの登録」をクリックします。
バージョンを確認する画面が表示されますので、購入したバージョンに合わせて選択します。
今回の手順は、最新の 1.1 で検証した手順です。
バージョンを選択すると、USB を通した DeepLens との通信が始まります。
確立されると次の画面に進むことができます。
次の画面では、シリアル番号を入力します。
DeepLens デバイス画面
無事、登録が終わると、デバイス画面に移ります。
![](https://api.rightcode.co.jp/wp-content/uploads/2020/05/deeplens-face-recognition_03.jpg)
デバイス画面から、実際に DeepLens を操作することになります。
まずは、プロジェクトを作成します。
左側のメニューにある「リソース」下の「個のプロジェクト」を選びます。
個のプロジェクト画面
個のプロジェクト画面では、プロジェクトの一覧が表示されます。
下の画像では、プロジェクトが2つありますが、最初の状態だとプロジェクトが1つもない状態で表示されます。
「新しいプロジェクトを作成」を選択します。
![](https://api.rightcode.co.jp/wp-content/uploads/2020/05/deeplens-face-recognition_04.jpg)
ここで、左側の2段目にある「顔検知」を選択。
プロジェクト名と説明を入力します。
特に、変更する理由がなければ、デフォルトのままで構いません。
これで、プロジェクトは完成です。
デバイスへのデプロイ
次に「デバイスへのデプロイ」を選択すると、モデルと Lambda 関数の DeepLens への転送が始まります。
ネットワークの速さに依存しますが、私の場合は10分程度かかりました。
デプロイ中は、デバイス画面の上側に青色でステータスが表示されます。
無事にデプロイが終わった場合は、これが緑になり、失敗した場合には赤になります。
通信状態が悪いと、失敗する場合があります。
転送が終わると(ステータスが緑になると)、DeepLens のモデルの動作が始まります。
カメラランプが青に点灯すれば、動作は開始しています。
Lambda 関数を調べてみる
下のコードが推論を行っている主要部分になります。
1while True:
2 # Get a frame from the video stream
3 ret, frame = awscam.getLastFrame()
4 if not ret:
5 raise Exception('Failed to get frame from the stream')
6 # Resize frame to the same size as the training set.
7 frame_resize = cv2.resize(frame, (input_height, input_width))
8 parsed_inference_results = model.parseResult(model_type,
9 model.doInference(frame_resize))
awscam が API をインポートして使うオブジェクトで、getLastFrame() によって撮影中のビデオストリームから1フレームを取り出します。
次に、これを model オブジェクトの parseResult() 関数で呼びだして推論を実施。結果を配列に確保します。
実際の model は、GreenGrass がインストールしたものを使います。
DeepLens の動作確認
DeepLens を動作確認する方法には、以下の3つがあります。
- DeepLens にマイクロ HDMI ケーブルを接続して直接確認する
- DeepLens にWebで接続して、Web上で確認する
- IoT コンソールを使い、DeepLens からのメッセージを確認する
ここでは、Web で接続して確認するビデオストリーミングの方法を説明します。
ビデオストリーミング
ビデオストリーミングは非常に簡単で、ビデオストリームの表示ボタンを押すだけで表示することができます。
![](https://api.rightcode.co.jp/wp-content/uploads/2020/05/deeplens-face-recognition_05.jpg)
ただし、ストリーミングに使用する PC 上に、あらかじめ DeepLens の管理コンソールで作成する証明書をインストールする必要があります。
これらの設定は、デバイス画面の「デバイス設定の編集」を選択し、遷移する画面で行う必要があります。
この時、USB で接続されていないと、「デバイス設定の編集」画面に遷移できないので注意してください。
中編へ続く!
DeepLens は、内部では GreenGrass 上で動作するものなので、とっつきづらいところがあるかもしれません。
しかし、モデルをデプロイしてしまえば、白物家電のように、電源ボタンを押すことで「開始」と「終了」ができるようになります。
結果の受け取りを含め、全てクラウド上で行うように設計されています。
エンドユーザには、何も意識させずに使えることを目標に設計されているのです。
そのため、始めは戸惑うかもしれませんが、慣れると使いやすいデバイスです。
ちなみに、S3 へのアップロード後、S3 のイベントトリガーで「Rekognition」に問い合わせ等を行うと、誰の顔であるかなども識別可能になります。
この Rekognition については、機会があればご紹介したいと思います!
お楽しみに!
続きの記事はこちら
2020.06.30【中編】 DeepLens で顔認識をしてみた~実践編~中編~DeepLens で顔認識をしよう!~前回は、「AWS の組み込みモデルを使うだけで顔認識ができる」ことを確認し...
こちらの記事もオススメ!
2020.07.28機械学習 特集知識編人工知能・機械学習でよく使われるワード徹底まとめ!機械学習の元祖「パーセプトロン」とは?【人工知能】ニューラルネ...
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
![広告メディア事業部](/_next/image?url=https%3A%2F%2Fapi.rightcode.co.jp%2Fwp-content%2Fuploads%2F2022%2F08%2Fcropped-icon_tobaru_2_150150-150x150.png&w=3840&q=75)
「好きを仕事にするエンジニア集団」の(株)ライトコードです! ライトコードは、福岡、東京、大阪の3拠点で事業展開するIT企業です。 現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。 いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。 システム開発依頼・お見積もり大歓迎! また、現在「WEBエンジニア」「モバイルエンジニア」「営業」「WEBデザイナー」「WEBディレクター」を積極採用中です! インターンや新卒採用も行っております。 以下よりご応募をお待ちしております! https://rightcode.co.jp/recruit