Jetson Nano のイントロダクション・チュートリアル
jetson で推論する一式
動画がわかりやすかったので、これを見ながらやっていく
英語苦手だけど、自動音声文字起こし+自動翻訳でほぼ問題なく見れる。
動画、全部 docker で済ませるの良いな。今風。
video-viewer
$ export DISPLAY=:0.0
$ video-viewer --input-width=640 --input-height=480 --input-flip=rotate-180 csi://0
detectnet
$ detectnet --input-width=640 --input-height=480 --input-flip=rotate-180 csi://0
ssd_mobilenet_v2_coco.uff で推論、46ms ほどだから20fpsの速度で推論できてる。
uffはTensorRTで扱える形式のモデルか
TensorRT は推論特化に変換される模様
video input / output 周り
headless で起動し、動画を rtp のストリームで飛ばす
$ detectnet --input-width=640 --input-height=480 --input-flip=rotate-180 --headless csi://0 rtp://192.168.24.20:1234
rtp を受け取り、動画のストリーミングで流す
nano -> windows PC は rtp で VLC につなぐのがお手軽
VLC の標準設定ではバッファリングがききすぎてリアルタイム配信には向かないので設定変更したほうが良い
nano -> mac / linux は gstreamer 入れるのがお手軽
gstreamer のほうが低遅延
windows も gstreamer 使うの難しくなかった
detectnet を detectnet.py に替えると python でも叩ける
パフォーマンスもcppのより若干悪い程度ですごい、とコードを見てみたら cpp で binding 作って、python からたたけるようにしたいただけであった…。
しかし python で簡単に画像(動画ストリーム)の input / output を jetson.utils 経由で叩けるのは簡単そうだなー。
ふつうに tensorflow / pytorch で使えそう。
----
ソースから入れる