こんにちは!株式会社神戸デジタル・ラボ DataIntelligenceチームの原口です。
今回は、前回の記事「YOLOv5+Arduinoで社内の個室スペースの空き検出システムを構築!」の構築の内容を、Azure Percept DKを用いて試します!
本連載は全3回を予定しています。
- Percept DKの使い方編
- クラウドの全体構成・IoT Hubと接続編
- Percept DKによる空きスペース検出編
今回は「Percept DKの使い方編」です!
Azure Percept DKとは?
まずAzure Percept DKについて簡単に説明します。
Azure Percept DKはAIモデルを実行できるエッジデバイスです。クラウドや別のデバイスを必要とせず、そのデバイス単体でAIモデルが実行が可能です。
その特性から、リアルタイムに検出・分類を行いたい場合やエッジデバイス上で計算した結果のみをクラウドに保存したい場合(例えば、収集するデータに個人情報が多く含まれているためクラウドに送信せずに扱いたい場合)など利用されます。
デバイスの詳細はこちらをご覧ください。
またAzure Percept DKは、Azureのクラウドサービスとのシームレスな統合が可能なのもポイントです。
クラウドサービスと連携できることで、画像データのアップロードを行い、そのデータを用いてCustom Visionで新たなモデルを作成、そしてAzure Percept DKにデプロイする、というMLOps(継続的なデータの収集・AIモデルの構築・AIモデルのデプロイ)が簡単に実行できます。
今回は、前回の記事で構築した個室スペースの空き検出システムを、Azure Percept DKを利用することでどれだけ簡単に構築できるか試します!
まずはレールシステムから取り外す
Azure Percept DKは美しい箱に入って届けられます。箱の真ん中にある「Microsoft Azure」の文字がたまりませんね。早速箱を開けてみましょう。
3種類のデバイスがレールシステム(銀色の棒)に取り付けられています。見た目がすごいスタイリッシュです。
うおおお!Azure Percept DKだあぁぁ!と勢いよくレールシステムから取り外そうとすると......取れない。自分が非力なのかと思うぐらいに頑丈に固定されています。
色々機器を眺めていると、どうやら装置の右上辺りに留め具が装着されているようです。
留め具は六角のねじが利用されています。そしてかなり細い......。手当たり次第に色々な六角レンチを差し込み回すことで、何とか取り外せました。
初期設定
まずは初期設定を行いましょう。初期設定はMicrosoftのドキュメント「Azure Percept DKデバイスを設定する」を確認しながら実行します。
以降の章でAzure Percept DKの動作を可視化する部分があります。この時、Azure Percept DKと実際の作業をするPCは同じネットワーク上に存在する必要があります。こちらも合わせて確認しましょう。
※企業で試す場合、ネットワークのセキュリティポリシーによってアクセス制限されている場合があります。アクセスできない場合はネットワークを管理されている方に相談しましょう。
モデルをデプロイする
初期設定が終わったところで、AIモデルをPercept DKにデプロイ(デバイス上に配置すること)して動かします。
まずはMicrosoft Azure Portalから、Azure Percept Studioにアクセスしましょう。
Azure Percept Studioの画面から、デバイスを選択。
初期設定で設定した名前のデバイスが表示されていると思います。この時、状態がConnectedであることを確認してください。もしDisconectedであれば電源が入っていない・ネットワークと接続できていないなど、何らかの問題が発生しています。
接続が確認できたところで、登録したデバイス名を選択します。
するとデバイスの設定に移るので、「Vision」から「サンプルモデルをデプロイ」を選択し、右側に表示された「Visionモデルのサンプルを試す」から「一般的なオブジェクトの検出」を選択、「デバイスへデプロイ」を実行します。
これだけで物体検出モデルが利用できます!前回はGithubからクローンして、ライブラリをインストールして、ごにょごにょ......とたくさん手間がかかりましたが、Azure Percept DKだとマウスと人差し指だけで物体検出モデルが利用できます!なんて便利なんだ!
検出結果を可視化する
デプロイが完了したら、お待ちかねの検出結果の確認を行いましょう。先ほどの画面の「Vision」から「デバイスストリームの表示」(デバイスストリーム:デバイスから連続的に送信される情報)を選択します。
準備が完了すると、右上に「ストリームの準備ができました」と表示されます。ここがエラーになっている場合は、カメラが接続されていない可能性があります。確認してみましょう!
無事表示された方は別のタブが開くと思います。別タブ内で検出結果が表示されれば完了です。画面上にLoad Modelと表示された方は、Percept DKがデプロイされたモデルを読み込んでいる状態を意味します。5分後くらいに再度アクセスして確認しましょう。
検出された情報を確認する
最後にPercept DKにデプロイしたAIモデルが検出された内容の元データを確認しましょう。画面から、ライブテレメトリ(リアルタイムに送られてくる検出した物体の位置・クラスの情報)の表示を選択します。
選択後、数秒すると下の図のように何やらたくさんの文字が表示されると思います。
この一つ一つが検出結果を表しています。よく見ると11行目や22行目の「label」という値にchairやtvmonitorと表示されているのが分かります。この内容を用いていろいろ出来そうですね。
まとめ
今回はAzure Percept DKのセットアップ方法と使い方について説明しました。
Azure Percept DKは簡単にセットアップができ、GUI上でモデルのデプロイも出来てしまうことが分かって頂けたと思います!
次回は「クラウドの全体構成・IoT Hubと接続編」です!この回でAzure Percept DKの検出結果のデータをAzure内のサービスで扱えるようになります!お楽しみに!
データインテリジェンスチーム所属
データエンジニアを担当しています。画像認識を得意としており、画像認識・ニューラルネットワーク系の技術記事を発信していきます