Microsoft Azureを使用したNVIDIAハードウェアを使用したIntelligent Video Analyticsのエンドツーエンドアーキテクチャを実証するリポジトリです。
このプロジェクトには、様々なビデオ入力ソースを処理し、カスタムオブジェクト検出モデルを活用し、分析とレポートのためのクラウドサービスを提供するカスタムIntelligent Video Analyticsアプリケーションを開発する際にユーザーをガイドする、セルフペースの学習モジュールのコレクションが含まれています。
- Module 1 - Introduction to NVIDIA DeepStream
- Module 2 - Configure and Deploy "Intelligent Video Analytics" to IoT Edge Runtime on NVIDIA Jetson
- Module 3 - Develop and deploy Custom Object Detection Models with IoT Edge DeepStream SDK Module
- Module 4 - Filtering Telemetry with Azure Stream Analytics at the Edge and Modeling with Azure Time Series Insights
- Module 5 - Visualizing Object Detection Data in Near Real-Time with PowerBI
これらの各モジュールには、詳細に再現するための手順を説明するLiveStreamが付属しています。Youtubeでは、以下の5部構成のプレイリストをチェックすることで、プロジェクト全体を一から見ることができます。
このプロジェクトでは、NVIDIA Jetson Embedded hardware上で動作するNVIDIA DeepStream SDKを利用して、インテリジェントな動画解析パイプラインを作成しています。
このソリューションでは、Azure IoT Edgeランタイムを使用して計測されたNVIDIAハードウェアデバイス上で実行される多くのモジュールを採用しています。これらのモジュールには、オブジェクト検出のトレーニングサンプルをキャプチャし、ペアリングされたCamera Tagging Moduleを介してクラウドにミラーリングするためのAzure Blob Storage on IoT Edge Moduleが含まれています。これらのキャプチャしたサンプルは、Azure Cognitive ServicesのCustom Vision AIサービスを使用して、カスタムオブジェクト検出モデルをトレーニングするために使用されます。このサービスによって生成されたモデルは、Custom Yolo Parserを使用してDeepStream SDKモジュールによって活用されます。
オブジェクト検出がDeepStream SDKによって生成されると、出力を要約された検出に変換するAzure Stream Analytics on Edge Jobを使用してフィルタリングされます。これらのオブジェクト検出結果はAzure IoT Hubに送信され、処理とレポートのために追加のクラウドサービスに転送されます。
採用されているクラウドサービスには、時間の経過とともにデータを分析するための完全に管理されたイベント処理サービスであるTime Series Insightsが含まれています。また、物体検出データをPowerBIのデータセットに転送して、PowerBIのレポートやダッシュボード内で結果をライブで可視化する方法も実演しています。
これがどのように機能するかの詳細については、IoT Showのこのエピソードをご覧ください。
ハードウェア
- JetPack 4.4を実行しているNVIDIA Jetson 組み込みデバイス
- Nvidia Jetson Nano デバイスにインストールされている、または Nvidia Jetson Nano デバイスに向けられている冷却ファン
- RTSP対応カメラ(オプション
- 注:フォスカムのFI9821P をお勧めします。
- USB ウェブカメラ(オプション
- 注:Jetson Nanoを使用する場合、消費電力は、Open-CV対応カメラを使用して、ここに記載されているような5V/4A barrel adapterを使用するようにデバイスが設定されている必要があります。
開発環境
- Visual Studio Code (VSCode)
- 注意: VSCodeのARM64ビルドは公式にはサポートされていませんが、NVIDIA Jetsonデバイスに開発ツールをインストールして実行することは可能です。リソースの制限があるため、Jetson Nanoハードウェアではお勧めできません。詳細については、「Nvidia JetsonデバイスでのIoTエッジ開発の始め方」の記事を参照してください。
- Visual Studioコード拡張
- Git tool Git command line
クラウドサービス。
Azure IoT サービスを使ったソリューションの構築について詳しく学びたい方は、以下の無料学習リソースをチェックしてみてください。
IoT開発者としてスキルアップしたら、AZ-220 Azure IoT Developer certificationで正式なものにしましょう。