Jetson Nano系列教程8:HelloAIWorld

来自丢石头百科

一、前言

本文使用JetsonNano运行Nvidia官方给出的示例例程,让用户快速认识JetsonNano强大的运算能力,方便用户找到学习神经网络相关路径。
注意:
1. JetsonNano使用5V/3A MicroUSB电源
2. JetsonNano使用

IMX219-77 Camera

3. JetsonNano使用

7inch HDMI LCD(H)屏幕


143838wyefi5yimhz453ye.png

用户可以在JetsonNano使用键盘鼠标等设备方便演示和使用例程。
①、JetsonNano映像文(本文使用的映像文件为20190718发布的)中已经预装CUDA OpenCV等文件,下面是下载jetson-inference库,并编译源文件,当有提示时,要输入y确认下载,分别输入下面命令:
cd ~
sudo apt-get install git cmake
git clone https://github.com/dusty-nv/jetson-inference
cd jetson-inference
git submodule update --init
sudo apt-get install libpython3-dev python3-numpy

使用CMake配置进行相应配置,确认在jetson-inference目录进行操作,

cd ~/jetson-inference
mkdir build
cd build
cmake ../
当出现下面提示时候,使用箭头->跳过选择,国内下载不了box.com上文件。用户可以使用下面命令下载jetson-inference/data/network/目录下<a class="attach" href="portal.php?mod=attachment&id=1644" target="_blank">facenet-120.tar.gz

 <a class="attach" href="portal.php?mod=attachment&id=1645" target="_blank">GoogleNet.tar.gz :


151410d766246408rfod34.png


151411sheiwrwhmhvqrwem.png


wget -P ~/jetson-inference/data/network https://{{SERVERNAME}}/study/portal.php?mod=attachment&amp;id=1644
wget -P ~/jetson-inference/data/network https://{{SERVERNAME}}/study/portal.php?mod=attachment&amp;id=1645
cd ~/jetson-inference/data/network/
tar -zxvf facenet-120.tar.gz
tar -zxvf GoogleNet.tar.gz

GoogleNet相关内容可以点击参考


facenet相关内容可以点击参考

这里说明下,我们只是各种神经网络(NN)的搬运工,那些动辄上百层的深度神经网络(DNN),目前得靠服务器集群加速训练,训练好权重和偏置后在JetsonNano等端设备上进行部署。
②、编译工程
cd ~/jetson-inference/build
make
sudo make install

二、使用GoogleNet对物体进行识别

①、静态图片识别,例程包含了C++和Python两种源码,这里使用C++进行演示,输入文件orange_0.jpg,输出文件为output_0.jpg。
cd ~/jetson-inference/build/aarch64/bin/
./imagenet-console --network=googlenet orange_0.jpg output_0.jpg

用户可自行将一些物体图片放到 ~/jetson-inference/build/aarch64/bin/ 目录下,使用上面的 ./imagenet-console 命令执行检测。下图展示googlnet对橙子orange的97.923%识别效果。


155831iskh2ka4mlk5k5e4.jpg



②、使用摄像头对环境物体进行识别

首先安装视频相关库,在JetsonNano控制台输入下面命令:
sudo apt-get install v4l-utils
v4l2-ctl --list-formats-ext

再输入下面命令启动IMX219-77摄像头:

./imagenet-camera

文档说明GoogleNet能对1000类物体进行识别,小编对周遭物体进行测试,效果如下:


094514yx700yca1omlcdzz.gif

094521innjyo7ows6ykwxp.gif

094521pfmsgxsokmjgkwwj.gif

094521q5qgiptzruc05edt.gif

094522n2ieoo3f3smp6z36.png

三、使用FaceNet-120进行人脸检测 FaceNet-120可以对视频中出现的人脸进行实时检测,在JetsonNano终端按下Ctrl+Z退出上面演示,输入下面命令:

./detectnet-camera --network=facenet

启动摄像头后可以观察到当有人经过摄像头画面范围时,可观察到对人脸区域进行标签。感兴趣读者可进行相关测试,用户也可下载github上相关神经网络解压到jetson-inference/data/network目录下,在输入上面命令时将facenet替换为你想验证的神经网络,

地址请点击我 ,enjoy it!

点击我查看官方教程

以上资料由waveshare team整理。

Tab标签: Jetson Nano系列教程 c++ python