Jetson Nano で Hello AI World を試してみました。

Jetson Nano で Hello AI World を試してみました。
Hello AI World
Inference
 Locating Objects with DetectNet をみて、今回は、最初に Object Detection を試して、次に、Jetson Nano で撮影、
検出した結果を、リモートのPC へ転送する機能を試してみました。

先ず、Object Detection から。
USB カメラを入力にするので、
$ cd build/aarch64/bin

c++ であれば、
$ ./detectnet /dev/video0

python3 であれば、
$ ./detctnet.py /dev/video0
だけで、OK です。

入出力先については、
For more info about loading/saving sequences of images, see the Camera Streaming and Multimedia page. とあるので、みてみると、..

入出力は、3つから選べるようです。

次に、オンちゃんは、Jetson Nano の USB カメラでのObject Detection の結果をGstreamer を使って、
別の、PC(Ubuntu Mate 18.04) で見る方法を試してみました。

いきなり、別の、PC で見るのを試すのは、無謀なのでまず、手始めに

1. Jetson Nano 上で、送信と受信が行えるか試してみます。
送信(ブロードキャスト)側の実行
localhost の port:10000 へ送信します。

$ ./video-viewer /dev/video0 rtp://@:10000

別のターミナルで、今度は、 RTP / Subscribe を実行します。
同じく localhost:10000 で受信ます。

$ ./video-viewer --input-codec=h264 rtp://@:10000

カメラ映像が、送信側、受信側の2つが表示されます。 OK

2. 次に、ブロードキャスト側を、 detectnet にしてみます。
送信(ブロードキャスト)側の実行
localhost の port:10000 へ送信します。

$ ./detectnet /dev/video0 rtp://@:10000

別のターミナルで、RTP / Subscribe は、上記と同じです。

うむ、簡単にできました。OK

3. RTP/Subscribe:受信 を今度は、gstreamer にしてみます。
ブロードキャストは、 2. のまま実行します。
受信側は、今度は、

注) -e を必ず指定します。そうしないと、 Ctl+C が効きません。
今度は、受信側が、 Full Screen になります。が、 -e を指定しておけば、Ctl+C で終了できます。

4. RTP/Subscribe:受信 の gstreamer を、今度は、別のPC で行います。
用意したPCは、下記になります。
Ubuntu Mate 18.04
IP: 192.168.1.170
Port UDP/10000

Gstreamer は、最初から入っていましたが、オンちゃんが実際に試したところ、
no suitable plugins found: Missing decoder:H.264(Constrained Base line Profile)
とエラーがでたので、
Install GStreamer
 Installing on Linux
  Install GStreamer on Ubuntu or Debian
を行いました。
多分、インストールすべき、パッケージが不足している。

今回は、PC 上の RTP/Subscriber:受信の gstreamer を先に起動します。
Ubuntu Mate で、ターミナルを開いて、

を行います。
念のため、ポートが受信状態かチェックします。
$ sudo nmap -sU 192.168.1.170

udp/10000 が一覧に出てくれば、OK です。
もし、出てこなければ、 Firewall で、UDP/10000 をオープンします。

名前: test_10000
ポリシー: Allow
方向: In
インターフェース: All Interfaces
ログ: ログ出力しない
プロトコル: UDP
From : --- ---
To: ---- 10000

Jetson Nano の、ブロードキャストの detectnet を起動します。
$ ./detectnet /dev/video0 rtp://192.168.1.170:10000

これで、Jetson Nano 上で、カメラ映像の検出が表示されるのと同時に、
PC(Ubuntu Mate 18.04) 上で、同じカメラの検出映像がでると思います。

終了は、どちらも Ctl+C で出来ると思います。

表示速度は、 UDP を使っているおかげか、それなりに使えそうです。
おんちゃんは、有線Lanですが、Lanケーブルが良くないので、100Mbps では?
Lanケーブルを変えれば、1000Mbps には、なるのか?

このブログ記事について

このページは、おんちゃんが2021年3月14日 00:26に書いたブログ記事です。

ひとつ前のブログ記事は「Visual Studio Code で Jetson nano(arm64) のリモート開発を行う」です。

次のブログ記事は「Jetson Nano での ROS/ROS2」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ