
ビデオ処理が必要なアプリケーションには、今やNVIDIA Jetsonは無くてはならない存在となっているのではないでしょうか。NVIDIA社からはDeepStream SDKやNVIDIA Isaac SDKなどのソフトウェアや、NVIDIA社のGPU向けに最適化された周辺ツールも充実しており、Jetsonを用いたアプリケーション開発には、ぜひこれらのツールを利用されることをお勧めしております。しかしながら、開発するアプリケーションによっては、適当なSDKが見つからない、または特殊な要求によりそれらSDKが適さない場合もあります。その場合は、JetPackに含まれるライブラリのAPIを直接コールするようなアプリケーション開発が必要となります。
本連載記事では、システムとしてはカメラから取り込んだ画像情報をJetsonモジュール内のGPUで処理して結果を表示するものを想定し、開発を実践されるお客様向けにビデオ処理の各ステップにおける処理方法を解説します。第1話ではJetson上に構築するシステムのソフトウェア構成について考えてみます。
[Jetsonビデオ処理プログラミング]
第1話 NVIDIA提供 JetPackとSDKでできること
第2話 ビデオ入力(CSI接続のLibargus準拠カメラ)
第3話 ビデオ入力(USB接続のV4L2準拠カメラ)
第4話 リサイズとフォーマット変換
第5話 画像表示
第6話 動画エンコード
第7話 動画デコード
第8話 画像処理
第9話 ディープラーニング推論
第10話 計算リソースの最大活用
Jetsonソフトウェア開発キット
Jetson向けソフトウェア開発キット(SDK)として、NVIDIA社からJetPackが提供されています。Jetson開発者キットにJetPackを導入することで、Jetson用アプリケーションソフトウェアの開発をすぐに始めることができます。JetPackには以下のソフトウェアが含まれています。これらのソフトウェアはアプリケーションの分野を特に選ばない汎用のものです。
オペレーティングシステム(L4T)
|
|
|
|
|
|
|
|
|
|
コンピュータービジョン
|
|
開発ツール
(ホストPCへインストール) |
|
アプリケーションの分野に特化したSDKの利用
もっとアプリケーションの分野に特化したSDKを、JetPackの上に導入することもできます。代表的なものは以下のとおりです。これらSDKは「フレームワーク」、「ツールキット」、「プラットフォーム」などと呼ばれる場合もあります。アプリケーションの分野に特化したSDKを利用できれば、より少ないプログラミング工数でアプリケーションを構築できる可能性があります。半面、きめ細やかな制御が難しい場合があります。プログラミング工数を取るか、アプリケーション固有部分の作りこみのしやすさを取るか、トレードオフです。また、そのSDKの使い方が難しいと、習得するためのコストが高くつく場合もあり、注意が必要です。
SDK |
用途 |
特長 |
インテリジェントビデオ解析
|
NVIDIA Metropolisの一要素として提供され、学習済みモデルや、転移学習用ツールであるTransfer Learning Toolkitと組み合わせて利用可能
|
|
AIを活用したロボット
|
シミュレーターも併せて提供されている
|
|
オープンなSDK
ROSなど |
各SDK毎に異なる
|
エコシステムの充実
|
サードパーティーが販売するJetson対応SDK
|
各SDK毎に異なる
|
サードパーティー毎に特色がある
|
アプリケーションに特化したSDKが見つからない、または、適さない場合
冒頭にもありましたが、基本的にはNVIDIA DeepStream SDKやNVIDIA Isaac SDKの利用をお勧めしていますが、JetPackに含まれるライブラリーのAPIを直接コールする方法を知っていると今後のアプリケーション開発に役立てていただくことが可能です。
想定するビデオ処理ステップと利用するライブラリー/APIは以下のとおりです。
処理 |
利用するライブラリー/API |
|
|
|
|
|
|
|
|
動画エンコード
|
|
動画デコード
|
|
画像処理
|
|
ディープラーニング推論
|
|
次回はビデオ処理システムでまず最初に考慮すべき「ビデオ入力」方法の解説!
連載記事「Jetsonビデオ処理プログラミング」の第1話、NVIDIA提供 JetPackとSDKでできることをご紹介しましたがいかがでしたでしょうか。
次回はいよいよビデオの入力方法についてご紹介します。
お困りのことがあれば、ぜひお問い合わせください
弊社ではハードウェアのNVIDIA GPUカードやGPUワークステーションの選定やサポート、また顔認証、導線分析、骨格検知のアルゴリズム、さらに学習環境構築サービスなどを取り揃えております。お困りの際は、ぜひお問い合わせください。