開發者 | 袁佑緣 |
時間 | 包含燒錄系統70分鐘 |
難度 | *** |
電腦/筆記型電腦/SD讀卡機 外接螢幕(HDMI接頭/ VGA轉HDMI轉接線 ) X1 USB 鍵盤 / 滑鼠 X1 Jetson Nano™ Developer Kit (全配)X1 —Nvidia JETSON NANO X1 — 5V3A變壓器 X1 — 64GB Samsung micro SD卡 X1 — 羅技C270 HD 網路攝影機 X1 — USB Wi-Fi dongle + 90度轉接頭 / 有線網路 X1 |
小編感謝大家對JETSON NANO熱烈回應,這次與大家分享如何“執行”NVIDIA原廠為JETSON NANO準備的範例,範例為分類辨識、人臉偵測。
安裝作業系統的部分,請參考: NVIDIA Jetson Nano 實際使用難不難?從入手到安裝系統、開機與遠端連線。
請注意!!執行本文章範例”目前”需要寫入Jetson Download Center的映像檔-映像檔連結,目前JETBOT專案的映像檔無法執行範例,已回報狀況給NVIDIA。此映像檔的作業系統需要自行設定使用者名稱與密碼,遠端連線時也會使用您設定的使用者名稱與密碼。
第一個範例是辨識圖片中的動物,下圖是執行範例後,將辨識結果印在圖片上,辨識圖片中的動物為"北極熊",辨識信心指數為100%
本文章分為三個階段分享:
- 軟體環境安裝
- 執行深度學習範例-分類應用
- 物件偵測應用-人臉辨識
1、軟體環境安裝
Step1:JETSON NANO開機之後,點選左上角的圖示搜尋Terminal。
開啟後就會看一個終端機的介面,接下來的指令都會在這個介面裡面做操作。
Step2: 輸入以下的指令安裝git、cmake套件。
sudo apt-get install git cmake
Step3:下載jetson-inference專案程式
git clone https://github.com/dusty-nv/jetson-inference
由於在這個repo裡面會用到 jetson-utils 這個額外的submodule,所以要
一併把它載下來
cd jetson-inference
git submodule update --init
Step4: 使用CMake來準備編譯所需的相依套件
mkdir build && cd build
cmake ../
過程中會呼叫一個叫CMakePrebuild.sh的腳本,其中會需要超級使用者的權限(sudo), Jetson Nano中預設使用者就有sudo的權限,請直接輸入使用者的密碼即可。
接下來程式就會自動下載各種相依的函式庫跟一些訓練完的模型,如下圖(下載googlenet.caffemodel中)。
由於要下載的模型眾多,整個過程會花上不少時間, 所以在一步可以先讓機器跑一陣子再回來看。
Step5: 使用make編譯程式碼
make
編譯完成!
執行make install,最後完整的輸出檔案將會在 jetson-inference/build/aarch64 這個資料夾中, 接下來所有要執行的範例程式都能夠在 jetson-inference/build/aarch64/bin 資料夾中找到。
make install
執行深度學習範例
2、分類應用
我們先來試跑一些基本的分類問題。
Step1:我們先將工作目錄移到以下的資料夾中
cd ~/jetson-inference/build/aarch64/bin
Step2:呼叫imagenet的範例來做辨識
比如說我們想要辨識一張北極熊的圖片polar_bear.jpg, 然後辨識完的結果叫做 polar_bear_inferenced.jpg。
./imagenet-console polar_bear.jpg polar_bear_inferenced.jpg
第一次跑的話,您可能會發現畫面會卡在下面那張圖, 這是因為TensorRT會花上些許的時間來最佳化這個網路,請耐心等候,之後跑的話就會快很多了。
原圖
辨識結果:北極熊
3、物件偵測應用-人臉辨識
Step1:修改攝影機設置
Jetson Nano可以使用RaspberryPi的鏡頭, 範例預設連結內建的CSI Camera, 本次分享如何在範例中更改使用的鏡頭,本次使用為Logitech的C270, 需要對程式做一些小修改。
請輸入以下的指令將視訊的裝置指定為 /dev/video0, 也就是一般預設的USB Camera的裝置位置。
sed -i 's/DEFAULT_CAMERA\s* -1/DEFAULT_CAMERA 0/' ~/jetson-inference/detectnet-camera/detectnet-camera.cpp
Step2:編譯範例
接下來我們需要重新編譯一次程式, 先將工作目錄切換到 ~/jetson-inference/build , 然後重新編譯 detectnet-camera 一次。
cd ~/jetson-inference/build
make detectnet-camera
重新編譯完後,我們把工作目錄切換回 ~/jetson-inference/build/aarch64/bin , 然後跑facenet的模型來執行人臉辨識。
cd ~/jetson-inference/build/aarch64/bin
./detectnet-camera facenet
成功執行人臉辨識!
今天分享到這邊,感謝大家支持CAVEDU,如果您喜歡JETSON NANO的相關文章,請多多與我們反應。