Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程

文章目录

    • 1. 烧入系统镜像
      • 1) 下载系统镜像
      • 2) 格式化 SD 卡
      • 3) 使用 Etcher 写入镜像
      • 4) 使用 SD卡开机
    • 2. 远程登录工具安装
      • 1)安装和使用远程登录工具PuTTY
      • 2)安装和使用远程文件传输软件WinSCP
      • 3) VNC 远程桌面控制
        • (1) 安装 vino
        • (2) Enable VNC 服务 (此时手动打开vnc server)
        • (3) 设置 VNC
        • (4) 重启机器,验证是否设置 vnc 成功
        • (5)设置开机自启动 VNC Server
        • (6) 连接 VNC Server
    • 3. 安装和测试DeepStream
      • 1) Install Dependencies
      • 2) Install the DeepStream SDK
        • 3) DeepStream测试

1. 烧入系统镜像

1) 下载系统镜像

英伟达官方地址 https://developer.nvidia.com/embedded/downloads
下载系统镜像JetPack 4.5.1(注意有4GB和2GB两个版本,根据Jetson Nano的型号选择相应的版本)
Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第1张图片
百度网盘下载链接:
链接:https://pan.baidu.com/s/1gpg9coTXgSyGgc5CDfv1iQ 提取码:sj5x

2) 格式化 SD 卡

  • 下载SD Card Formatter软件并安装
    https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-downloa
    d/
  • 使用 SD Card Formatter 格式化 SD 卡
    Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第2张图片
    micro SD卡放到读卡器,并插入电脑的USB口,就可以看到上图中对应的盘符比如G:\ ,格式化选项,默认选择Quick format ,可以在Volume label取一个相应的名字,然后点击Format进行格式化。

3) 使用 Etcher 写入镜像

下载Etcher软件并安装 https://www.balena.io/etcher/
使用Etcher软件写入镜像
大概30分钟,镜像写入完毕
Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第3张图片

  • 点击 Flash from file,选择我们下载的JetPack 4.5.1.zip文件,不需要解压。
  • 然后选择Select target ,弹出如下界面,然后勾选SDK,并点击Select按钮
    Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第4张图片
  • 然后点击Flash进行系统的烧入Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第5张图片
  • 烧入系统镜像大概会持续30分钟:
    Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第6张图片
    烧入完成后,会出现提示框询问使用驱动器G:中的光盘之前需要将其格式化,我们点击取消按钮,选择不进行格式化。这样就完成了系统的烧入。
    Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第7张图片

4) 使用 SD卡开机

  • 然后把烧入好的SD卡,插入Nano开发版进行,开机,完成一些设置,如时区、语言、输入法等。

其中有一步需要设置,your namepick a username我都设置为nano ,下面有个选择Log in automaticallyRequire my password,我这边选择的是Log in automatically
Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第8张图片

  • 其余步骤就按照默认的就行,选择Continue完成安装,最后在屏幕上出现如下界面,那么就意味着Nano开机就成功了。

Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第9张图片

2. 远程登录工具安装

安装登入Nano开发版的远程登录,使用远程登录工具,就可以不直接Nano开发版相连的键盘、鼠标以及显示器,而是在别的电脑上可以远程去Nano开发版进行操作,这样的话,就可以非常方便的开发。

我们要安装的远程登录工具一共有3个:putty(用于远程登录), WinScp(远程文件传输),VNC(远程桌面控制)
Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第10张图片

1)安装和使用远程登录工具PuTTY

(1)下载和安装PuTTY

https://www.chiark.greenend.org.uk/~sgtatham/putty/

(2) 确定自己开发板的 IP 地址

要登录开发板的话,需要知道开发版的IP地址,通过Nano开发版相连的键盘,通过 ctr+Alt+T 打开命令提示符,输入:ifconfig 找到对应的有线网卡 eth0 的 IP地址

(3)使用PuTTY远程登录Nano开发板
打开 PuTTY , 输入IP地址和端口号,默认开启 ssh 服务。
Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第11张图片
打开 Open;输入用户名和密码后进入终端模式
Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第12张图片
这样就可以远程登录到开发板上进行操作了

2)安装和使用远程文件传输软件WinSCP

WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。
方便在 windows 和 linux 两个不同的系统之间传输文件
下载和使用WinSCP https://winscp.net/
Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第13张图片
这样就可以在两个系统中进行文件传输,非常方便。

3) VNC 远程桌面控制

(1) 安装 vino

利用PuTTY远程登入Nano的linux系统, 在Nano上执行

sudo apt update
sudo apt install vino

(2) Enable VNC 服务 (此时手动打开vnc server)

执行

sudo ln -s ../vino-server.service /usr/lib/systemd/user/graphicalsession.target.wants

然后配置 VNC server:
执行

gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false

编辑 org.gnome.Vino.gschema.xml文件
执行

sudo vi /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml

文件最后添加

<key name='enabled' type='b'>
 <summary>Enable remote access to the desktopsummary>
 <description>
   If true, allows remote access to the desktop via the RFB
   protocol. Users on remote machines may then connect to the
   desktop using a VNC viewer.
 description>
 <default>falsedefault>
key>

设置为 Gnome 编译模式

sudo glib-compile-schemas /usr/share/glib-2.0/schemas

(3) 设置 VNC

登陆密码('thepassword' 修改为自己的密码)

gsettings set org.gnome.Vino authentication-methods "['vnc']"
gsettings set org.gnome.Vino vnc-password $(echo -n 'thepassword'|base64)

'thepassword'修改为自己的密码,比如'nano123'

(4) 重启机器,验证是否设置 vnc 成功

sudo reboot

上述方式属于手动启动
每次都需要手动启动会比较麻烦,下面会设置开机自启动的形式

(5)设置开机自启动 VNC Server

VNC 服务器只有在您本地登录到 Jetson Nano之后才可用。如果希望 VNC 自动可用,可使用系统设置应用程序来启用自动登录。

登录到Nano然后执行下面命令:

gsettings set org.gnome.Vino enabled true
mkdir -p ~/.config/autostart
vi ~/.config/autostart/vino-server.desktop

将下面的内容添加到该文件中,保存并退出。

[Desktop Entry]
Type=Application
Name=Vino VNC server
Exec=/usr/lib/vino/vino-server
NoDisplay=true

(6) 连接 VNC Server

使用 vnc viewer 软件进行VNC连接,点击File->NewConnection进行连接
Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第14张图片
首先需要通过ifconfig查询Nano上的 IP 地址;
输入 IP 地址后点击 OK,双击对应的VNC 用户输入密码,最后进入到 VNC 界面
Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第15张图片
登入成功后,就可以在在本地电脑访问Nano开发板的系统界面了。可以在自己本地电脑远程操作开发版的界面,这样会更方便开发
Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第16张图片

3. 安装和测试DeepStream

1) Install Dependencies

执行以下命令以安装需要的软件包:

sudo apt install \
libssl1.0.0 \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstrtspserver-1.0-0 \
libjansson4=2.11-1

2) Install the DeepStream SDK

Using the DeepStream tar package

  1. 在Nvidia官网下载 DeepStream 5.1 Jetson tar package deepstream_sdk_v5.1.0_jetson.tbz2, 通过winSCP传输到 Jetson Nano开发板上.
  2. 输入以下命令以提取并安装DeepStream SDK
sudo tar -xvf deepstream_sdk_v5.1.0_jetson.tbz2 -C /

Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第17张图片
然后在对应解压的位置上,对SDK进行安装

cd /opt/nvidia/deepstream/deepstream-5.1
sudo ./install.sh
sudo ldconfig

3) DeepStream测试

DeepStream安装好后,怎么知道是否安装成功呢?首先我们需要对DeepStream进行测试。

执行命令

cd /opt/nvidia/deepstream/deepstream-5.1/sources/objectDetector_Yolo
ls

Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第18张图片
这个目录下,它是可以支持Yolov2,Yolov3,Yolov2-tiny,Yolov3-tiny的一些测试,也就是说DeepStream已经内在支持了Yolov2,Yolov3,Yolov2-tiny,Yolov3-tiny的部署。

下面我们进行一些测试,目录下有一个文件叫prebuild.sh,我们编辑文件prebuild.sh,注释掉除yolov3-tiny的语句

vi prebuild.sh

Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程_第19张图片
只保留prebuild.sh文件中最后两句,把其他下载命令注释掉。只下载yolov3-tiny的权重文件和配置

然后执行:

./prebuild.sh

下载yolov3-tiny.cfgyolov3-tiny.weights

执行命令:

deepstream-app -c deepstream_app_config_yoloV3_tiny.txt

测试成功的话,就会出现yolov3目标检测的视频效果了。

tensort1

你可能感兴趣的:(模型部署,目标检测,深度学习,计算机视觉,人工智能)