RoBoard魔人的機器人日誌

2019/5/10

[Jetson Nano] 用攝影機來辨識物體

大家好,

上一篇已經和各位介紹了如何讀取圖片來辨識物體,

今天本魔要繼續和大家分享如何用 Jetson Nano 接 USB Camera 來辨識物體。

如果各位用的鏡頭是 CSI camera 就只要直接執行指令就可以了,輸入:
$ cd ~/jetson-inference/build/aarch64/bin/
$ ./imagenet-camera googlenet
但因為本魔使用的是 USB Camera,

所以必須要更改設定,

首先輸入:
$ ls -ltrh /dev/video*
你將會找到所有視訊裝置的編號,

知道我們的 USB Camera 是編號幾之後就可以更改程式的設定了,輸入:
$ sudo gedit ~/jetson-inference/imagenet-camera/imagenet-camera.cpp
然後將 DEFAULT_CAMERA 改為剛剛我們找到的編號,

本魔電腦偵測到的為 0,如圖:


修改完成後就可以儲存並關閉 gedit 了。

接著我們要重新編譯程式,輸入:
$ cd ~/jetson-inference/build/
$ cmake ../
$ make
$ sudo make install
完成後就可以回到 bin 資料夾,並執行程式囉!輸入:
$ cd aarch64/bin/
$ ./imagenet-camera googlenet 
接著你會看到你的鏡頭畫面被顯示在螢幕上了:


左上角可以看到和之前範例一樣的物體描述,

本魔隨意拿了手邊的幾樣東西來測試了一下:


隨手拿了一個馬克杯辨識結果為 Coffee mug,正確!


手上剛好握著滑鼠,來辨識一下,Computer mouse,正確!


夏天快到了,拿個小電風扇來辨識一下,Electric fan,電扇無誤!


針筒...,syringe,注射器無誤!

咦?你問我為什麼會帶著針筒?

不要問,很可怕!



本篇的教學就到此為止啦~,

各位一樣可以嘗試用其它物品來測試看看哦!

喜歡這個系列的話可以追蹤我的blogger哦,

本魔近期都會不定時更新此系列教學,

如果有疑問或任何指教也歡迎在下方留言提出哦!
Share:

2 則留言:

  1. 不好意思,我依照著步驟依序進行,執行./imagenet-camera facenet後出現程式記憶體區段錯誤(核心以傾印),請問這該如何解決?

    回覆刪除
    回覆
    1. 可以用其它方法確認一下 camera 是否能正常使用嗎?

      順帶一提 Imagenet 能使用的模型中並不包含您寫到的 facenet
      本魔在此範例中用的是預設的 Googlenet
      如果想用其它模型可以用安裝工具

      $ cd ~/jetson-inference/tools
      $ ./download-models.sh

      而可安裝的模型有這些 AlexNet, GoogleNet, GoogleNet-12, ResNet-18, ResNet-50, ResNet-101, ResNet-152, VGG-16, VGG-19, Inception-v4

      您提到的 facenet 應該是屬於 DetectNet 下能用的模型

      刪除

技術提供:Blogger.

追蹤者