NVDIA Jetson Nano Developer Kit – Part 2

, , Leave a comment

 

Artikel ini adalah kelanjutan dari Part -1 yang membahas tentang hardware Jetson Nano Developer Kit. Klik (link) untuk membacanya. NVDIA Jetpack yang ada pada OS image sudah termasuk didalamnya L4T Kernel, CUDA Toolkit, cuDNN, TensorRT, OpenCV, Visionworks dan Multimedia API. Selanjutnya kita perlu melakukan instalasi jetson-inference library agar kita dapat melakukan image recognition, object detection dan semantic segmentation dengan TensorRT deep learning networks. Jetson-inference library ini nantinya dapat dijalankan di Python maupun di C++.

Jetson-inference library juga dapat langsung menggunakan pre-trained network yang sudah ada atau yang pernah di built di PC. Sehingga tidak memerlukan proses konversi untuk dapat digunakan di Jetson Nano termasuk Caffe, TensorFlow UFF dan ONNX.

Saat menginstall jetson-inference library kita dapat juga memilih network mana yang akan diinstall. Jika SD card yang kita gunakan memiliki ukuran setidaknya 32 GB, maka kita tidak akan kesulitan untuk mendownload semua model image recognition, object detection dan semantic segmentation.

 

Setelahnya kita install Pytorch 1.1 untuk training ulang network dengan tambahan data set. Karena Python 2.7 akan retire dalam waktu dekat saya install Pytorch untuk Python 3.

Mengoperasikan Jetson Nano akan lengkap jika tanpa kamera untuk live detection/recognition. Namun tidak semua kamera bisa  di support oleh Jetson Nano, hanya beberapa seperti contoh berikut:

• e-con Systems e-CAM30_CUNANO (3.4 MP MIPI Camera)
• Logitech C270 (USB webcam)
• Logitech C920 (USB webcam)
• Leopard Imaging LI-IMX219-MIPI-FF-NANO (IMX219 sensor)
• Raspberry Pi Camera v2 (IMX219 sensor)
• Appro AP-IMX179-MIPIx1 (IMX179 sensor)
• Appro AP-IMX290-MIPIx1 (IMX290 sensor)
• Stereolabs ZED (stereo camera)

Jetson inference library memilih Raspberry Pi Camera v2 sebagai default device. Namun jika kita menggunakan camera usb, cukup memberikan keterangan device ID saat menjalankan script.

Pi Camera V2 NOIR dengan camera mounting

Saya menggunakan kamera Raspberry Pi V2 NOiR yang cukup disambungkan ke CSI port tanpa proses instalasi apapun, langsung plug and play. Jetson Nano tidak dapat mengenali kamera Raspberry Pi V1 karena sensor yang tidak disupport oleh kernel L4T. Dengan kamera terpasang, kita bisa langsung mencoba object detection, recognition, segmentation bahkan mengumpulkan training data set baru untuk re-train network yang sudah ada. Dengan Jetson Nano, kita bisa melakukan semua itu dalam satu machine saja.

Secara default Jetson inference library tidak merotasi gambar jadi untuk mendapatkan posisi yang sesuai dengan keinginan, kita mungkin perlu merubahnya. Perubahan tersebut tidak dilakukan di level Python script tapi di C. Jadi setelah script C dirubah, kita perlu melakukan make dan make install sekali lagi. Proses ini hanya membutuhkan kurang dari 1 menit.

jetson-inference/utils/camera/gstCamera.cpp

Berikut ini beberapa contoh dataset collection, image recognition langsung dari Jetson Nano:

Software Data Capture dari Jetson Inference untuk menambah data set dan memberi label

 

Contoh image recognition dan prediction dengan network Googlenet dengan fps yang tinggi. FPS akan turun saat object bertambah.

 

Confidence level berubah-ubah tergantung dari sudut kamera melihat object. Saat object tidak berada frontal dengan camera, prediksi menurun tapi network googlenet masih dapat mengenali object tersebut

Semoga sharing ini bermanfaat dan mohon dukungannya dengan memberikan like, subscribe dan share artikel ini agar blog ini bisa terus mensharingkan hal-hal terkait teknologi. Terima kasih sudah membaca, sampai bertemu kembali.

 

Facebook Comments
 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.