Jetson nano
DeepStreamを使ってみた
2020/01/07
ブローダービズ株式会社
大橋 淳
johashi@broader.biz
ブローダービズ株式会社
inquiry@broader.biz
業務内容
• 情報通信技術を企業活動に適用するためのコンサルティング
• 上記に付帯するユースケースやソフトウエアの開発・運用
• 事業向けネットワークサービスの企画・開発・運用・利用支援
• 企業コミュニケーション活動の企画・実施・運用支援
• デザイン業務
• その他付帯する業務
大橋 淳
johashi@broader.biz
通信キャリアのエンジニアからコンテンツ系の仕事に携わるためヤフーに転職、
以降ベンチャー企業数社を経て、2017年7月~ブローダービズ株式会社に創業メ
ンバーとして参画
主に画像・映像解析に関するAI・機械学習分野を中心にエンジニアとしてお仕
事をさせていただいています
DeepStreamって何?
NVIDIA社によるIVA(インテリジェント・ビデオ解析)向けライブラリ
映像解析に必要な各種プラグインが含まれる
・GPU(ハードウェア)を使ったエンコード/デコード
・TensorRTを使った高速な推論
・各種メタデータのハンドリング
・トラッキング
・OSD(画面表示)
オープンソースのGstreamerがベース
SRC SRC SINKSINK
ソースエレメント フィルターエレメント シンクエレメント
カメラ等の映像ストリーム 推論等の処理 映像出力など
一般的な映像解析フロー
Yolo
Tensorflow
等による推論
カメラや映像ファイルからの入力を
OpenCVでフレーム単位に分解
フレーム画像のデータに対して推論
を実行
推論の実行結果をレンダリングし
画面やファイルへ出力
OpenCVじゃなぜダメなのか
• 時間軸の概念がない
フレーム毎に分解した画像を使って処理を行うため、今、いつの映像を処理しているかという
時間的な概念がありません
• CPUリソースを意外と食う
GPUを使うようにビルドされていても、かなりCPUリソースを食います
JetsonデバイスではCPUはそれほど速いものが搭載されていませんし、CPU⇔GPU間のやり取
りにおいても時間のロスがあります
Yoloでの物体検知をやってみる(準備)
Yolo関連のファイル:DeepStreamインストールディレクトリのsources/objectDetector_Yolo
READMEに書かれている手順でセットアップする
1. ./prebuild.sh で必要なweight等をダウンロード
2. export CUDA_VER=10.0 (使用するcudaのバージョンを指定)
3. make -C nvdsinfer_custom_impl_Yolo
deepstream_app_config_yoloV3_tiny.txtをベースに、USBカメラを使用できるように書き換え
入力である[source0]のセクションを以下のように設定する(解像度はカメラのcapabilityに合わせる)
type=1
num-sources=1
camera-width=640
camera-height=480
camera-fps-n=30
camera-fps-d=1
camera-v4l2-dev-node=0
Yoloでの物体検知をやってみる(実行)
実行コマンド
deepstream-app -c deepstream_app_config_yoloV3_tiny.txt
普通に入れたYoloとの動作比較

第4回 Jetsonユーザー会 LT 『Jetson nanoでDeepStreamを使ってみた』