NVIDIA Jetsonの開発を加速させる Jetson Platform Services ~前編:機能概要~

昨今では生成AI、AIカメラ、AIロボットなどディープラーニングを用いた多種多様な分野にNVIDIA® Jetson™が活用されています。

 

組込み型のエッジAIデバイスとしてさまざまな機能を有しているJetsonですが、その開発にはアプリケーションシステムやインターフェースなど通常の組込みプロセッサーに必要なソフトウェア開発に加え、ディープラーニングを実装する場合はAIモデルなどの開発も必要になります。

 

本記事では、Jetsonの開発を加速させるプラットフォームサービス「Jetson Platform Sevices」について、機能概要と導入手順を前後編に分けてそれぞれ紹介します。Jetsonユーザーはこのサービスを利用することで、独自のAIモデルの開発に注力することができ、製品の市場投入までの期間や開発費用をより低減させることが可能になります。また、これからJetsonの開発を始められる方でも手軽に動作させることができますので初心者の方にもお勧めです。

Jetson Platform Servicesとは

Jetson Platform Servicesは、Jetsonを用いたエッジAIアプリケーションの開発を加速し、その運用を簡素化するプラットフォームを提供しています。Jetson外部のアプリケーションやサービスに統合するためのAPIを備えたマイクロサービスとして、モジュール式の拡張可能な構成となっています。このマイクロサービスには、AI機能、画像分析機能、ビデオストレージ機能、IoT/APIゲートウェイ機能、リソースモニタリング機能などさまざまな機能が提供されています。ユーザーは、これらのマイクロサービスから必要な機能を選択し、必要に応じてカスタマイズすることで、システムを迅速に実装することができます。

Jetson Platform Servicesは、NVIDIA JetPack™ SDK 6.0 GAリリース以降に対応しており、Jetson Orinシリーズをサポートしています。

Jetson Platform Services

Jetson Platform Servicesのアプリケーションブロックイメージ 出典:AI NVR

さまざまなマイクロサービス

Jetson Platform Servicesが提供する代表的なマイクロサービスについて紹介します。

NVStreamer

NVStreamerは、RTSPプロトコルを使用してストリーミングできるビデオファイルを提供する開発用ツールです。実際のカメラに代わりMP4などのビデオストリームを、RTSPストリームとして入力することができ、アプリケーションの動作テストを実施する際に便利な機能となっていて、下図のようにWebUIを用いてRTSPストリームの追加、削除を容易におこなうことができます。
Ubuntu 20.04以降のLinuxワークステーション上でも実行することができますので、Jetson外部のWorkstation PCのストレージに保存されているビデオファイルを入力ソースとして利用することも可能です。

NVStreamer

Video Storage Toolkit(VST)

Video Storage Toolkit(VST)は、ビデオデコード、ストリーミング、およびストレージ機能を提供します。ローカルネットワーク上のONVIF-Sプロファイル準拠のIPカメラを自動検出し、ビデオソースとして使用することもでき、NVStreamerで取り込んだRTSPストリームも利用可能です。また、下図のようなWebベースのUIを用いて、簡単操作でビデオの操作、マルチストリームのライブ再生をおこなうことができます。

VSTは、カメラデバイスのステータス変更イベントを発行するためにRedisストリームを使用します。また、AIサービスを実行する際のメタデータの受信にも利用されています。Redisもマイクロサービスの一部として提供されています。

Video Storage Toolkit(VST)

Analytics AI Service

Analytics AI Serviceは、カメラ映像内の人数検出(FOV)、指定トリップワイヤーラインの横断人数検出(Tripwire)、指定領域内の人数検出(ROI) 機能を提供し、行動分析マイクロサービスとして利用できます。
また、ユーザー定義されたアラートルールに沿って、発報する機能も有しています。この機能を監視カメラソリューションなどに流用可能です。

IoTGateway、Firewall Service

IoTGatewayサービスにより、クラウド経由でJetsonデバイスへアクセスできるようになり、モバイルデバイスからのアクセスの認証および、管理、デバイス間のビデオストリーミング機能を提供しています。
また、Firewallサービスは、Uncomplicated Firewall (UFW) を使用して実装されます。本機能はデフォルトでは無効になっていることにご注意ください。

Monitoring

Monitoringサービスは、Jetson上のGPUやGPU、RAMの使用状況やカメラステータスに関する情報を提示し、アプリケーション監視に利用できます。これらの機能はサードパーティサービス(Grafana、Prometheus)として提供されています。

Monitoring

出典:System Metrics

AI Perception Service

NVIDIA DeepStream SDK:

これまで、個別のソフトウェアパッケージとして提供されていた、NVIDIA DeepStream SDKの機能もJetson Platform Servicesに統合されています。DeepStreamは、入力したビデオストリームに対してオブジェクト検出やトラッキング機能などを実装することができ、AI画像解析アプリケーションに最適なサービスとなっています。

DeepStreamについては、下記の記事でも解説していますので、ご興味がありましたらこちらもご覧ください。

 

 [AI画像解析アプリ開発に必要な知識] 第1話 NVIDIA DeepStream SDKとは

 

 

 

Zero Shot Detection:

このAIサービスは、NanoOwlサンプルソフトウェアとして、Docker composeで起動できるビルド済みのDockerコンテナとして提供されています。

 

Visual Language Models (VLMs):

VLMは、画像とテキスト入力に対応した大規模言語モデルとビジョントランスフォーマーを使用したマルチモーダルモデルです。入力画像に対するチャット機能や、自然言語ベースでのアラート設定と、モバイルアプリとの連携により、モバイルデバイスからライブストリームの表示や、チャット機能、アラート設定をおこなうことができます。

また、このAIサービスもDocker composeで起動できるビルド済みのDockerコンテナとして提供されています。

下図は、モバイルアプリの応用例を示しており、例えばあらかじめ「火事ですか?」などのアラート設定をおこなうことにより、火災現場のライブストリームに対して、Trueと評価された時にプッシュ通知を受信するような使い方ができます。

Visual Language Models (VLMs)

後編では、実際のJetson Platform Services導入方法についてご紹介!

本記事では、Jetson Platform Serveicesの概要と代表的な機能について解説させていただきましたが、いかがでしたでしょうか。
後編では、実際の導入方法とIVAアプリケーションの実行手順について解説します。


ボタンをクリックすると簡単なフォーム入力画面へと遷移します。入力完了後に後編をご覧いただけるページURLがメールで通知されます。

AI導入をご検討の方は、ぜひお問い合わせください

AI導入に向けて、弊社ではハードウェアのNVIDIA GPUカードやGPUワークステーションの選定やサポート、また顔認証、導線分析、骨格検知のアルゴリズム、さらに学習環境構築サービスなどを取り揃えています。お困りの際は、ぜひお問い合わせください。