在Jetson Nano安装测试YOLO v5目标识别示例

2023-05-16

参考链接
https://blog.csdn.net/carrymingteng/article/details/120978053
https://blog.csdn.net/weixin_43947712/article/details/115530913

YOLO作为一个快速高效的目标检测的方案,非常适合部署在边缘设备嵌入式系统上,这里参考网上链接,尝试在Jetson Nano上搭建一个YOLO v5的目标识别示例。

1. 修改显存
修改/etc/systemd/nvzramconfig.sh文件
把后面一行
mem = $((("${totalmem}"/2/"${NRDEVICES}")*1024))
修改为
mem = $((("${totalmem}"*2/"${NRDEVICES}")*1024))

修改之后重启,用
$ free -h
查看显存
在这里插入图片描述
在修改之前默认swap为1.9G,修改之后更改为7.7G。

2. 安装pytorch&torchvision
首先,预安装一些需要的软件
$ sudo apt install libopenblas-base libopenmpi-dev
$ pip3 install Cython
$ pip3 install numpy

这里略过了原文中的apt的更新和pip3的安装,假设都已经更新
然后安装pytorch

$ pip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl

这里采用离线的方式安装pytorch,whl文件从网上提前下载。
之后安装torchvision,先安装一些需要的软件包

$ sudo apt install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev

下载torchvision代码库
$ git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision

然后进入目录进行编译
$ cd torchvision
$ export BUILD_VERSION=0.9.0
$ python3 setup.py install --user
最后一步需要较长时间。

安装完成之后,就可以在python3里面import torch和torchvision,以及查看版本,如下
在这里插入图片描述

3 搭建YOLO v5环境
下载源代码库
$ git clone https://github.com/ultralytics/yolov5.git

然后按照目录下requirements.txt文件安装需要的python模块
$ cd yolov5
$ pip3 install -r requirements.txt

之后就可以运行程序来测试,在yolov5目录运行
$ python3 detect.py --source data/images/bus.jpg --weights yolov5n.pt --img 640 #图片识别
$ python3 detect.py --source test.mp4 --weights yolov5n.pt --img 640 #视频测试,mp4为提前准备的视频
$ python3 detect.py --source 0 --weights yolov5n.pt --img 640 #摄像头测试

个人在程序运行过程中出现了缺少_imagingft C module的问题,经查是pillow库的问题,重新安装了pillow库解决了问题。

测试程序会自动下载权重文件yolov5n.pt进行识别,识别结果会输出在runs/detect/exp文件夹中,图片识别结果如下
在这里插入图片描述
每运行一次测试程序,就会出现一个新的文件夹(exp2,exp3,exp4等),输出结果放置在新生成的文件夹。
经过实际测试,三个程序都可以顺利运行,其中摄像头测试通过连接Nano的USB摄像头,能够及时得显示出场景中的识别信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Jetson Nano安装测试YOLO v5目标识别示例 的相关文章

  • Ubuntu 18.04之安装中文输入法

    Ubuntu 18 04在安装时可以选择中文界面安装 xff0c 这样会默认安装中文输入法 xff0c 不过这样生成的系统目录名称等都变成中文 xff0c 对于有些技术人员不是很习惯 xff0c 更喜欢安装英文的Ubuntu xff0c 然
  • MySQL视图Duplicate column name问题的解决

    本文将介绍MySQL view视图出现 Duplicate column name 问题的解决解决方法 xff0c 在这里 xff0c 我用的是SQLyog程序 xff0c 其实和在MySQL命令行打代码是一样的 xff0c 只不过用SQL
  • Linux下逐页翻看文件内容的方法

    Linux下用cat查看文件的话会全部打印出文件的所有内容 xff0c 用gedit查看的话可能会死机 xff08 当文件大于5M的时候 xff09 xff0c 用more命令可以逐页翻看需要查看的文件内容 xff0c 命令格式 more
  • Linux下搜索包含指定文字内容文件的方法(grep)

    用grep命令可以方便地在Linux系统下搜索包含指定文字内容的文件 grep r lt text to find gt lt dir gt 搜索指定目录 lt dir gt 下 xff0c 所有包含 lt text to find gt
  • Ubuntu设置登录自动启动程序的方法

    参考链接 xff1a https www cnblogs com the wang p 11230087 html 如上 xff0c 设置自动启动程序的方法有多种 xff0c 分别在系统启动的不同阶段启动 xff0c 在这里需要在用户登录图
  • Linux下脚本自动输入sudo密码的方法

    在设置自启动程序时 xff0c 希望可以自动输入sudo密码以运行一些需要超级用户权限的程序 xff0c 可以如下例子 echo 123456 sudo S apt get update 其中123456为sudo密码 xff0c sudo
  • Linux Shell脚本参数传递与条件判断的方法

    参考链接 xff1a https www runoob com linux linux shell html 参数传递 Shell脚本中参数用 来表示 xff0c 如 1 第一个参数 2 第二个参数 xff0c 以此类推 xff0c 比如t
  • Linux下C检测按键按下并即时反馈的方法(不需要回车)

    在Linux下检查按键按下并即时反馈的方法 xff0c 如下 include lt stdio h gt include lt termio h gt int main termios tms old tms new tcgetattr 0
  • Linux下C语言检测多个按键按下状态的方法

    在需要同时监听多个按键按下状态的情况下 xff0c 可以通过监听 dev input event事件的方法来判断按键的状态 比如对于通过键盘控制小车时 xff0c 有可能多个方向键同时按下 xff0c 需要同时监测到 xff0c 通过前面文
  • Ubuntu ROS常用包安装

    参考链接 xff1a https www it610 com article 1290751077485977600 htm 在Ubuntu下进行ROS相关研究 xff08 比如SLAM等 xff09 xff0c 有一些常用的包需要安装 x
  • Linux下用户退出仍运行程序的方法

    在设置服务器上的应用程序时 xff0c 需要退出用户登录时仍然运行提供服务 xff0c 通过如下的命令 nohup cmd amp nohup表示不挂断程序运行 xff0c amp 表示后台运行 xff0c cmd表示需要运行的指令 xff
  • Linux下开启/关闭无线网络的方法

    参考链接 xff1a https www cnblogs com ztguang p 12648367 html 通过iwconfig命令查询和开启 关闭无线网络 iwconfig 列出启用的无线网络 sudo iwconfig lt 网络
  • 【Uni-App】出现Cannot read property ’apply’ of undefined错误

    错误日志如下 xff1a span class token number 14 span span class token punctuation span span class token number 47 span span clas
  • 通过SSH协议在本地和服务器之间传输文件和目录的方法

    参考链接 xff1a https blog csdn net w8827130 article details 90574699 通过SSH协议在本地和服务器之间传输文件 目录 xff0c 从一个地址拷贝至另一个地址 xff0c 如下 sc
  • Ubuntu强制修改用户口令的方法

    在忘记用户密码或者想要强制修改密码的时候 xff0c 可以采用启动至recovery mode的方式进行修改 在Ubuntu启动选项中 xff0c 选择Ubuntu advanced option xff0c 之后选择recovery mo
  • mqtt服务搭建及通过python进行消息交互

    参考链接 xff1a https www runoob com w3cnote mqtt intro html 对于需要与远程服务器进行数据交互的应用场景 xff0c mqtt是一种非常简便实用的数据交互机制 xff0c 通过消息的发布 订
  • RTMP服务器搭建

    参考链接 xff1a https www cnblogs com lidabo p 6404513 html 在Ubuntu 18 04上搭建一个RTMP服务器实现视频流的转播 xff0c 可以用以实现远程的监控 xff0c 通过nginx
  • CentOS下后台运行程序的方法

    参考链接 xff1a https www cnblogs com loveLands articles 10809333 html 方法一 xff1a amp 在运行命令后面加上 amp xff0c 程序就会放到后台执行 xff0c 不会占
  • 人工智能知名数据集

    网上有很多可以用于深度学习算法验证的数据集 xff0c 这里仅列出个人进行人工智能学习和研究工作涉及到的常用数据集 xff0c 比较适合初学者和刚开始从事人工智能方向研究的工作者 1 MNIST MNIST 数据集来自美国国家标准与技术研究
  • 几种查找人工智能数据集的方法

    数据集是人工智能算法训练和测试的基础 xff0c 不同专业的人工智能算法研究需要用到不同专业的数据集 xff0c 如下为网上推荐的几种寻找数据集的方法 1 Kaggle数据集 数据集地址 xff1a https www kaggle com

随机推荐