Jetson Nano系列教程8:HelloAIWorld

摘要: NVIDIA为Jetson Nano做了一系列的教程,其中,HelloAI是基于Jetson Nano的较为基础的一个教程,其中用的项目就是Jetson-Inference.
前言

作为NVIDIA的基础教程,同样这里我们只是做一下搬运和翻译。如果您有什么问题,请直接留评。这里我们不再对如何安装镜像,网络设置和远程登录多做解释,如果还是不清楚怎么操作这些步骤的同学,请自信查看之前的相关教程。这里我们直接从配置Jetson-Inference项目的环境开始。首先,Jetson-Inference的github项目链接:https://github.com/dusty-nv/jetson-inference
有兴趣的同学可以直接参考官方链接,由于本教程是由官方教程翻译而来,可能没有办法跟着官方教程同步更新,不便之处,敬请谅解。
硬件配置
运行本项目,需要用到的配件:
将以上设备连接好。当然,为了好看一点,你可以另外加一个外壳。这里推荐我们的Jetson Nano Case (B)
软件配置
上电启动系统,打开终端(或者远程登录Jetson nano)。
  • 安装cmake
    1sudo apt-get update
    2sudo apt-get install git cmake
  • 下载jetson-inference 项目资源
    1cd ~/
    2git clone https://github.com/dusty-nv/jetson-inference
    3cd jetson-inference
    4git submodule update --init
  • 安装python3.6版本的libpython3-dev和numpy依赖库
    1sudo apt-get install libpython3-dev python3-numpy
  • 配置项目资源
注意:在最后一个cmake语句运行的过程,如果出现error等报错信息的时候,检查一下网络连接是否异常,然后再重新运行一遍该语句
1cd ~/jetson-inference   
2sudo mkdir build
3cd build
4sudo cmake ../
  • 出现下面提示时候,使用箭头->跳过选择,因为国内的下载不了box.com上文件。


 

虽然因为网络问题,国内的用户无法下载box.com上的文件,但是官方也为大家提供了一个方便下载的版本:https://github.com/dusty-nv/jetson-inference/releases 你可以单独去将各个model下载,然后再放置到 ~、jetson-inference/data/networks目录下,然后解压。为了方便用户,这里我们提供参考下载指令

1cd ~/jetson-inference/data/networks/
2#如果你需要下载更多的算法,请参考这里的方法,首先在github上获取model的下载地址,然后用wget 加指令下载。这里下载三个model以作参考
3wget https://github.com/dusty-nv/jetson-inference/releases/download/model-mirror-190618/facenet-120.tar.gz
4wget https://github.com/dusty-nv/jetson-inference/releases/download/model-mirror-190618/GoogleNet.tar.gz
5wget https://github.com/dusty-nv/jetson-inference/releases/download/model-mirror-190618/SSD-Mobilenet-v2.tar.gz
6#下面的指令是解压前面下载的model的,只有解压出来才能用
7tar -zxvf facenet-120.tar.gz
8tar -zxvf GoogleNet.tar.gz
9tar -zxvf SSD-Mobilenet-v2.tar.gz
这里说明下,我们只是各种神经网络(NN)的搬运工,那些动辄上百层的深度神经网络(DNN),目前得靠服务器集群加速训练,训练好权重和偏置后在JetsonNano等端设备上进行部署。
  • 编译工程
1cd ~/jetson-inference/build
2make
3sudo make install
二、使用GoogleNet对物体进行识别
①、静态图片识别,例程包含了C++和Python两种源码,这里使用C++进行演示,输入文件orange_0.jpg,输出文件为output_0.jpg。
1cd ~/jetson-inference/build/aarch64/bin/
2./imagenet-console --network=googlenet orange_0.jpg output_0.jpg
用户可自行将一些物体图片放到 ~/jetson-inference/build/aarch64/bin/ 目录下,使用上面的 ./imagenet-console 命令执行检测。下图展示googlnet对橙子orange的97.923%识别效果。

②、使用摄像头对环境物体进行识别
首先安装视频相关库,在JetsonNano控制台输入下面命令:
1sudo apt-get install v4l-utils
2v4l2-ctl --list-formats-ext
再输入下面命令启动IMX219-77摄像头:
1./imagenet-camera
文档说明GoogleNet能对1000类物体进行识别,小编对周遭物体进行测试,效果如下:


三、使用FaceNet-120进行人脸检测
FaceNet-120可以对视频中出现的人脸进行实时检测,在JetsonNano终端按下Ctrl+Z退出上面演示,输入下面命令:
1./detectnet-camera --network=facenet
启动摄像头后可以观察到当有人经过摄像头画面范围时,可观察到对人脸区域进行标签。感兴趣读者可进行相关测试,用户也可下载github上相关神经网络解压到jetson-inference/data/network目录下,在输入上面命令时将facenet替换为你想验证的神经网络,地址请点击我,enjoy it!
TAG: luckfox-pico-ultra-gpio 树莓派Pico 2 RP2350 2.8寸LCD开发板电容显示触摸屏 QMI8658 6轴/ PCM5101音频解码 /SD /RTC PCF85063 Jetson Orin Nano UGV Rover ROS2 六轮四驱 双脑开源AI云台机器人小车OpenCV MP2.5GD 树莓派5 PCIE转双2.5G以太网扩展板 Pi5 RTL8125 ESP32舵机驱动板 树莓派5 27W电源 树莓派7寸DSI MIPI显示屏LCD 720x1280 ESP32-P4 Luckfox Lyra RK3506/Omni3576 机箱副屏 15.6寸双显示屏 笔记本电脑扩展屏 LCD 1080P 内置重力感应 喇叭 FT3267 ESP32直驱伺服轮毂电机WIFI驱动板DDSM ESP DDSM400支持树莓派 NVIDIA 工业级USB转CAN 以太网继电器 树莓派5外壳 7.5寸 NFC电子墨水屏 电子标签相册名牌 无须电池供电 无线刷图 工业级 树莓派5/4B UPS带PD快充诱导输出激活Type C不间断电源9600mAh 5V/5A 25W 充电宝 也支持手机/平板/迷你PC电脑等 斑梨 编程手表