在Jetson Nano上十行代码实现目标检测(jetson_inference)

2023-05-16

网上有一个10行代码搞定目标检测的视频教程

参考网址:https://www.bilibili.com/video/av91150116/

经测非常实用,通过10行代码实现目标检测,在Jetson Nano上迅速搭建一个目标识别的示例和开发环境。

视频例程使用Jetson官方的深度学习库(jetson_inference)进行目标检测程序实现

项目链接:https://github.com/dusty-nv/jetson-inference

项目介绍页面中Building the Project from Source给出了从源代码进行安装和配置的指南

指南链接:https://github.com/dusty-nv/jetson-inference/blob/master/docs/building-repo-2.md

概要步骤如下

建议在进行安装之前先进行系统环境配置,如apt、pip的源设置,中文输入等。

一、jetson-inference下载和安装

步骤如下

1. 预安装软件

首先安装需要用到的软件包

$ sudo apt instal git cmake libpython3-dev python3-numpy

假定apt update在系统配置时已经运行过了,这里不再重复。

2. 下载代码库

然后下载软件源代码库

$ git clone --recursive https://github.com/dusty-nv/jetson-inference

这一步比较费事,这是一个递归的源代码库,包含多个子代码库,因为国内外网络环境的问题,从Github下载会出现连接不稳定,不能下载全的情况。这种情况建议多尝试几次,或者从其它地方进行下载。

3. 编译安装

之后进入代码目录进行编译安装

$ cd jetson-inference

创建一个cmake编译目录

$ mkdir build
$ cd build

进行cmake

$ cmake ..

在cmake过程中会弹出对话框让选择下载模型和安装pytorch,因为国内连接国外不稳定,建议选择不安装(通过TAB键选择Quit和Skip,按回车),后面进行离线下载和安装。

cmake完成之后,进行编译和安装

$ make -j4
$ sudo make install

这样jetson-inference库就安装完成了。编译之后会在build目录下生成jetson-inference库相关文件,包括头文件、库文件、帮助文件、脚本工具、示例程序等。make install会把相关的文件复制到对应的系统目录。

其中download-model.sh和install-pytorch.sh文件分别是下载模型和安装pytorch的脚本文件,可以查看参考文件,进行离线下载和安装。

其中会生成一个aarch64目录,里面包含jetson-inference库的相关文件,目录结构如下

其中lib目录包含库文件,include目录包含头文件,bin目录包含一些图像分类、目标识别等相关的命令和工具。

4. 测试

安装完成之后,build/aarch64/bin目录包含了一些图像分类、目标识别等方面的执行文件,如下 

可以用这些程序进行目标识别的测试。在bin目录下运行

$ ./imagenet.py --network=resnet-18 images/jellyfish.jpg images/test/output_jellyfish.jpg

就可以对imags/jellyfish.jpg图片进行分类识别。识别结果输出在images/test/output_jellyfish.jpg文件。

因为安装时没有选择在线下载模型,这个程序运行不能成功。可以自己下载模型和建立python文件来进行基于jetson-inference库的例程开发。

5. 模型下载

Github提供了离线下载模型的方法,通过

模型下载链接:https://github.com/dusty-nv/jetson-inference/releases

可以根据需要下载对应的模型,下载到data/networks目录,然后解压,比如

$ tar -zxvf SSD-Mobilenet-v2.tar.gz

常见的有GoogleNet,ResNet,SSD-Mobilenet等,如下

下载和解压到data/networks目录之后,就可以在程序中使用jetson-inference库调用这些模型了。

二、例程编写和测试

这里用一个10行代码的例程来实现目标识别。参考视频,代码如下

import jetson.inference
import jetson.utils

net = jetson.inference.detectNet('SSD-Mobilenet-v2', threshold=0.5)
camera = jetson.utils.gstCamera(1280,720,'0')
display = jetson.utils.glDisplay()

while display.IsOpen():
    img, width, height = camera.CaptureRGBA()
    detections = net.Detect(img, width, height)
    display.RenderOnce(img, width, height)
    display.SetTitle('Object Detection | Network %.1f FPS'%net.GetNetworkFPS())

采用SSD-Mobilenet-v2网络对摄像头视频进行在线目标识别。假定命名程序文件detect_net.py,然后运行

$ python3 detect_net.py

程序结果就会出现摄像头的画面和在线识别的结果,如下 

实际测试响应效果良好,能够达到20多fps的帧率,没有滞后感。

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

在Jetson Nano上十行代码实现目标检测(jetson_inference) 的相关文章

  • 配置Jetson XAVIER NX串口通信,不使用union传递浮点数

    下载minicom span class token function sudo span span class token function apt get span span class token function install s
  • Jetson TX2新手上路全记录(2)

    xff08 2 xff09 查看ubuntub版本 cat proc version 判断ubuntu网络是否连通 xff1a ping www baidu com 数据刷新无异常即连通 破防了 xff0c 前天刷机看来没成功 原因 xff
  • Jetson Xavier NX-EMMC重装系统

    Jetson xavier NX EMMC版本重装系统相对比较麻烦 xff0c 以下方法本人已经试过多次 xff0c 基本没有出现什么问题 一 安装虚拟机 安装虚拟机的步骤我们不多过述 xff0c 网上有许多博客讲述虚拟机安装 我们这里主要
  • Jetson Xavier NX安装Mavros

    Px4飞控通过USB线连接Jetson Xavier NX xff0c 如果需要进行软连接 xff0c 即通讯 xff0c 需要下载Mavros功能包 xff0c 并通过启动命令进行连接 安装Mavros sudo apt install
  • jetson tx2 刷机,安装 cuda、opencv 详细教程

    jetson tx2 刷机 xff0c 安装 cuda opencv 详细教程 jetson tx2 的详细介绍和用途可见官网 xff1a Nvidia jetson tx2 接下来主要说明jetson tx2 详细刷机过程以及在过程中踩过
  • Jetson Xavier gpio编程 (8)

    GPIO lines are attached to gpiochips Look in sys class gpio and you should see gpiochip240 248 and 288 I haven t yet det
  • 玩转Jetson Nano(三):安装Pytorch GPU版

    玩转Jetson Nano xff08 三 xff09 xff1a 安装Pytorch GPU版 前言安装Pytorch GPU版查看CUDA版本号下载Pytorch对应的wheel文件测试是否安装成功常见问题OSError libmpi
  • Nvidia Jetson Xavier 上使用CAN

    为了利于回忆 xff0c 将自己查询到的资料在这里记录一下 资料一 xff1a 20条消息 NVIDIA Xavier CAN weifengdq的专栏 CSDN博客 资料二 xff1a 英文版Enabling CAN on Nvidia
  • Jetson Nano 4GB 要怎么供电? Jetson Nano 2GB呢?

    Jetson Nano 4GB 常使用的电源连接方式有两种 xff1a 1 DC Power Jack 5 5 2 1mm 5V 4A xff0c 需使用跳帽将脚位 J48 短路 图一红框处 xff0c 电源连接方式请参照图一蓝框处 若一切
  • 基于Jetson NX的模型部署

    系统安装 系统安装过程分为3步 xff1a 下载必要的软件及镜像 Jetson Nano Developer Kit SD卡映像 https developer nvidia com jetson nano sd card image Wi
  • Nvidia Jetson nano 安装Archiconda、gpu版torch、踩坑记录

    Nvidia Jetson nano 安装Archiconda gpu版torch 踩坑记录 jetson nano 属于aarch64架构 xff0c 不同于一般的x86 64的linux系统架构 xff0c 而torch官网上面 htt
  • jeston nano安装Ubuntu镜像时启动遇到问题

    A start job is running for End user configuration after initial OEM installation 开始我跑了一下午 43 一晚上 xff0c 都没成功 xff0c 第二天 xf
  • Jetson AGX Xavier踩坑记录

    1 联网后 升级所有安装包 并且更新了一下系统 sudo apt get update 2 安装中文输入法 sudo apt get install fcitx googlepinyin 3 安装nano文本编辑器 比较喜欢这个文本编辑器
  • Jetson Nano安装pytorch 基于torch1.6和torchvision0.7

    需要注意的是 博主使用的是win10主机 通过局域网连接的jetson nano 其中jetson nano的预制CUDA版本为10 2 Jetpack 4 1 1 分别执行以下命令 即可查看自己的jetson nano 预搭载的CUDA版
  • jetson nano 安装pytorch装不上

    可以尝试 先把依赖装上在安装whl文件 安装依赖的指令如下 sudo apt get install libopenblas base libopenmpi dev
  • SPARQL 查询传递

    我是 SPARQL 的初学者 想知道是否有一个查询可以帮助我返回传递关系 例如下面的 n3 文件 我想要一个返回 a 与 c 相同 或类似内容的查询 谢谢 prefix
  • Dart 编译器能够推断 const 构造函数的用法吗?

    我认为 dart 会使用const构造函数 如果它能够自动完成 为了解释这个假设 让我们假设我们有一个小部件 它已经有一个const constructor like class Retry extends StatelessWidget
  • SPARQL 1.1 蕴含机制和使用 FROM 子句的查询

    我目前正在记录 测试 SPARQL 1 1 蕴涵制度 并且建议反复指出 范围图与活动图在图上等效 但它没有指定活动图指的是什么 它是查询中使用的数据集吗 商店中所有图表的并集 作为确定这一点的测试 我得到了这张图的 URIed
  • Python - 保存在 GNU Nano 2.2.4 中编辑的文件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我对编程 使用 Raspberry
  • 如何查找冻结模型的输入和输出节点

    我想使用张量流optimize for inference py来自模型动物园的冷冻模型的脚本 ssd mobilenet v1 coco 如何查找 确定模型的输入名称和输出名称 雇用张量板生成的图的版本 https i stack img

随机推荐

  • 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
  • Jetson Nano开发套件安装

    参考链接 xff1a https developer nvidia com embedded learn get started jetson nano devkit intro 新到一个Jetson Nano的开发板 xff0c 用以测试
  • Window环境运行Tensorflow目标识别示例程序

    Tensorflow提供了目标识别的API来支持通过各种深度学习网络实现目标识别的功能 通过访问Github项目https github com tensorflow models 可以看到Tensorflow目前支持的各种神经网络的模型实
  • Windows下查看显卡型号及所支持的CUDA版本

    参考链接 xff1a https blog csdn net weixin 55775980 article details 116074359 通常针对NVIDIA显卡 xff0c 已安装驱动情况下 xff0c 使用nvidia smi命
  • 【IDEA】idea写java代码运行按钮是灰色的解决办法

    问题描述 Run按钮灰色状态 xff0c 无法点击运行 xff0c 如图 xff1a 原因分析 上图估计大佬一看就看出问题了 xff0c 其实就是因为少了一个main函数 问题解决 我现在把main函数补上去 span class toke
  • Linux系统查看已安装的CUDA和cuDNN版本信息

    在Linux系统下 xff0c 除了可以用nvidia smi命令查看显卡类型以及对应的CUDA版本外 xff0c 可以通过查看安装目录中的文件获得CUDA和cuDNN的安装版本信息 CUDA通常安装与 usr local cuda目录 x
  • Linux常用软件包安装工具及配置方法(apt-get, pip, dpkg)

    通常Linux需要安装 卸载软件包或模块 xff0c 这里以Ubuntu系统为例 xff0c 其它Linux系统相同或者有对应类似的命令 1 apt 用于安装软件包 xff0c 如 sudo apt install cutecom 安装cu
  • Linux系统下which, whereis, locate的用法

    Linux系统下可以通过which whereis locate等命令来查找文件 程序的所在位置 1 which 通过which命令查找可执行文件 命令的位置 xff0c 比如 which ls 查找ls命令所对应的执行文件位置 xff0c
  • Linux下的链接与ln(link)命令

    最近安装了多个版本的python3 xff0c 涉及到了链接的问题 链接有点像Windows下的快捷方式 xff0c 本身是一个文件 xff0c 指向另一个文件或应用程序 xff0c 也可以指向一个目录 在访问这个链接的时候 xff0c 等
  • 当前主流目标识别(Object Detection)算法

    参考链接 xff1a https blog csdn net librahfacebook article details 103114747 https blog csdn net weixin 43196118 article deta
  • Ubuntu 18.04安装NVIDA显卡驱动

    Ubuntu 18 04安装NVIDIA显卡驱动方法比较简单 在Ubuntu系统安装之后 xff0c 通过运行程序按键 xff08 即Window按键 xff09 搜索运行Software amp Updates程序 xff0c 在Addi
  • Ubuntu 18.04安装CUDA 11.4.3和cuDNN 8.2.4

    CUDA和cuDNN为NVIDIA支持GPU运算以及深度神经网络计算加速的算法库 通常需要安装以支持利用GPU加速神经网络的训练和推理 在已经安装NVIDIA显卡驱动的情况下 xff0c 可以通过nvidia smi查看显卡信息和适合的CU
  • Ubuntu 18.04下测试YOLO v4

    在Ubuntu 18 04下测试了YOLO的方案 选择安装的是CUDA 11 4和cuDNN 8 2 xff0c 在测试v3版本时遇到了编译的问题 所以选择v4版本 参考链接 xff1a https pjreddie com darknet
  • 在Jetson Nano上安装NoMachine

    最近需要对Jetson Nano进行操作 xff0c 在它的上面测试目标识别的程序 习惯了用NoMachine远程进行操作 xff0c 所以先在Nano安装NoMachine Nano采用的是通过镜像刻录的Ubuntu 18 04系统 参考
  • Linux系统开机自启动程序设置

    用户可以在Linux系统配置自启动的程序 xff0c 可以通过多种方式来实现 1 rc local 系统启动阶段 xff0c 系统根据启动层级运行 etc rcN d目录下脚本 xff08 N为0 6之间的数字 xff0c 表示启动层级 x
  • 【Android】App安装提示“该安装包未包含任何证书”问题处理

    根据客户反馈 xff0c 安装App时会出现安装失败的问题 xff0c 如下图 xff1a 安装失败就算了 xff0c 还被怀疑我亲自动手打包的App不是正版 xff0c 这不能忍 xff0c 这个问题我一定要处理掉 可后来发现我错了 xf
  • Ubuntu系统apt-get, pip国内源设置

    Ubuntu系统默认设置apt get pip的源为国外服务器 xff0c 速度较慢 xff0c 以及有时有连接不上的情况 可以设置成国内的源以提高下载速度和稳定性 1 apt get apt get的源设置通过 etc apt sourc
  • 在Jetson Nano上十行代码实现目标检测(jetson_inference)

    网上有一个10行代码搞定目标检测的视频教程 参考网址 xff1a https www bilibili com video av91150116 经测非常实用 xff0c 通过10行代码实现目标检测 xff0c 在Jetson Nano上迅