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: ESP32 C6开发板1.47寸LCD显示屏172x320带RGB灯SD槽兼容Arduino Milk-V Duo S 512MB SG2000 RISC-V USB Type A 接口的使用 RoArm-M2-S WIFI配置 加速度 ESP32 S3开发板1.75寸AMOLED显示屏GPS虾哥小智AI Deepseek N16R8 香橙派 Jetson摄像头 Sipeed NanoCluster迷你集群板 数据中心 集群电脑 树莓派CM45 LM3H M4N Modbus RTU RS485继电器 lilygo Jetson Orin专用铝合金外壳 带摄像头支架迷你机箱 适用于Jetson Orin Nano和Jetson Orin NX套件 斑梨 USB转CAN FD LC76G模组GNSS模块 支持GPS/北斗BDS/GLONASS/Galileo/QZSS多卫星系统 ESP32-S3 UART转以太网 树莓派14寸2K Type C LCD显示屏HDMI触摸2160x1440迷你PC电脑副屏 ESP32-S3小智AI盒子3.49寸电容触摸LCD显示屏开发板172×640 N16R8豆包Deepseek USB转串口 XIAO ESP32 S3超小SuperMini开发板Tiny兼容Arduino IDE