0


Jetson nano (4GB B01) 系统安装,官方Demo测试 (目标检测、手势识别)

Jetson nano (4GB B01) 系统安装,官方Demo测试 (目标检测、手势识别)

此文确保你可以正确搭建jetson nano环境,并跑通官方”hello AI world” demo. 核心的步骤都来自一手官方教程,如果访问不了可以使用代理或者把com域名修改为cn域名:

Getting Started With Jetson Nano Developer Kit

注意:官方”hello AI world“ demo 来自jetson-inference这个API仓库,它没有deepstream复杂,但同样基于tensorrt加速,并充分利用了jetson的硬件编解码器。deepstream的安装与使用不在这篇文档中描述。

第一步,硬件准备与安装

参考下表,检查你需要准备的硬件与设备
#名称作用提供方备注1模组与载板核心部件官方到手后应该已经插在了一起2风扇散热非官方3DC电源供电非官方jetson支持两种供电模式:1) USB2) DC尽量使用DC供电,确保可提供5V/4A输出,让jetson工作在高功率状态4micro-SD (32GB),读卡器镜像烧录/Disk非官方6跳线帽一个确保DC电源可用-7USB键盘,鼠标,HDMI或DP线与显示器,网线---8亚克力外可或官方纸盒---
如果你是从京东或者淘宝购买的jetson nano,那么除了键盘鼠标显示器,厂家基本会给你配齐所有需要的硬件。

参考下图,该怼的硬件怼上去就可以,注意不要插电源,等我们烧好系统SD卡后再插电源。
在这里插入图片描述

继续参考下图,把跳线帽插上,注意要两个针脚都插进去,否则开不了机
在这里插入图片描述

最后成品参考:
在这里插入图片描述

第二步,使用jetpack 安装系统镜像

jetpack 可以简单理解为jetson专用镜像包,使用它安装的操作系统中除了基础的ubuntu系统之外,还包括如下针对AI开发相关的组件:L4T Kernel / BSP,CUDA Toolkit,cuDNN,TensorRT,OpenCV,VisionWorks,Multimedia API’s

ok,开始

  1. 找台电脑,从 https://developer.nvidia.com/jetson-nano-sd-card-image 下载官方镜像 (如果打不开,把com改成cn再试试)
  2. SD卡插入读卡器,然后插到你的电脑上
  3. https://www.sdcard.org/downloads/formatter_4/eula_windows/ 下载SD卡格式化工具,安装并打开,参考下图点击”Format”把SD卡格式化一次在这里插入图片描述
  4. https://www.balena.io/etcher下载烧录软件,安装并打开,参考下图选择你刚才下载的镜像包,根据提示,点击Flash将镜像烧录到SD卡(中途如果出现弹窗,全部点击cancel)

在这里插入图片描述

  1. 参考下图,把SD卡插入jetson nano中,接上DC电源,插上鼠标键盘显示器,安装系统(和常规系统安装方式一样,有一步会让你选择”APP partition size“,直接选择最大即可)在这里插入图片描述
  2. 看到如下界面就是成功了

在这里插入图片描述

第三步,官方 Hello AI World demo测试

注意: jetpack安装好系统后,尽量不要根据非官方步骤来跑demo,否则你的demo可能由于无法使用nano硬件而跑不出应有的性能,同时你也可能会在基础库版本问题上耗费大量的精力。

这里我们还是根据官方的入门教程,安装jetson-inference并跑官方demo。

1. 根据下面的命令,下载jetson-inference源码,编译并安装

$ sudoapt-get update
$ sudoapt-getinstallgit cmake libpython3-dev python3-numpy
$ git clone --recursive https://github.com/dusty-nv/jetson-inference
$ cd jetson-inference
$ mkdir build
$ cd build
$ cmake ../
$ make -j$(nproc)
$ sudomakeinstall
$ sudo ldconfig

当你执行到上面”cmake …/“ 命令的时候,会弹出如下的界面,这个是让你选择下载官方的预训练模型界面,这里我们不用选择,直接回车下载默认的模型
在这里插入图片描述

下载完成后,又会弹出如下界面让你选择下载pytorch版本,控制方向键到python 3.6 版本,点击空格选择好,然后点击回车开始下载

在这里插入图片描述

好了,等待一会儿jetson-inference以及它需要的组件就全部下载好了,继续执行剩下的命令,完成编译与安装。

jetson-inference安装好后,系统中会安装一下几个支持不同AI模型的程序,使用这些程序并选择支持的预训练模型就可以完成基本的任务,参考如下:

在这里插入图片描述

接下来,通过两个demo来体验一下jetson,一个目标检测,一个实时手势识别

2. 使用 detectnet 和默认模型 SSD-Mobilenet-v2 对图片进行目标检测

进入 /build/aarch64/bin 目录,参考运行下面的命令,注意第一次跑这个模型会等待几分钟来对模型进行优化,耐心等待即可

# C++
$ ./detectnet --network=ssd-mobilenet-v2 images/peds_0.jpg images/test/output.jpg     # --network flag is optional# Python
$ ./detectnet.py --network=ssd-mobilenet-v2 images/peds_0.jpg images/test/output.jpg  # --network flag is optional

结果:
在这里插入图片描述

除了支持图片,程序也支持对视频或者摄像头进行实时识别,参考下面的命令

$ ./detectnet /usr/share/visionworks/sources/data/pedestrians.mp4 images/test/pedestrians_ssd.mp4  #本地视频
$ ./detectnet csi://0                    # CSI摄像头
$ ./detectnet /dev/video0                # USB摄像头
$ ./detectnet /dev/video0 output.mp4     # USB摄像头保存

同时,我们可以通过修改—network参数来指定使用不同的模型来做目标检测,参考:

在这里插入图片描述

3. 使用 posenet 和 默认网络 实时识别摄像头中的手势

准备一个USB摄像头,插入,参考运行如下命令进行实时手势识别:

# C++
$ ./posenet --network=resnet18-hand /dev/video0

# Python
$ ./posenet.py --network=resnet18-hand /dev/video0

效果:
在这里插入图片描述

4. 使用jetson硬件解码器加速视频解码

对视频进行目标检测的第一步就是解码,jetson强大的地方就是自带硬件编解码器,我们来看demo,运行下面的程序,通过指定—input-codec指定硬解码

detectnet --input-codec=CODEC /usr/share/visionworks/sources/data/cars.mp4

使用jtop命令(参考下一节安装),可以看到硬件解码器已经启动
在这里插入图片描述

运行 detectnet —help 可以查看编解码器的支持情况。

最后,jetson-stats 工具安装

Nvidia官方目前没有系统性能监测工具,我们可以使用 jetson-stats 这个工具包来实时的监控系统的性能以及各项指标,它的官网链接:https://github.com/rbonghi/jetson_stats

运行下面的命令安装:

sudo -H pip3 install -U jetson-stats

如果提示没有pip3则运行如下命令

sudoapt-getinstall python3-pip

安装完成后reboot你的系统,就可以使用了,直接运行jtop命令

sudo jtop
# 如果无法启动,运行下面命令手动启动服务# systemctl restart jetson_stats.service

在这里插入图片描述
jetson stats除了jtop工具外,还同安装jetson_config,jetson_release,jetson_swap等工具,具体的含义和使用方式参考官网。


本文转载自: https://blog.csdn.net/delpanz/article/details/127223321
版权归原作者 delpanz 所有, 如有侵权,请联系我们删除。

“Jetson nano (4GB B01) 系统安装,官方Demo测试 (目标检测、手势识别)”的评论:

还没有评论