摘要: NVIDIA为Jetson Nano做了一系列的教程,其中,HelloAI是基于Jetson Nano的较为基础的一个教程,其中用的项目就是Jetson-Inference.
前言
有兴趣的同学可以直接参考官方链接,由于本教程是由官方教程翻译而来,可能没有办法跟着官方教程同步更新,不便之处,敬请谅解。 硬件配置 运行本项目,需要用到的配件: 软件配置 上电启动系统,打开终端(或者远程登录Jetson nano)。 - 安装cmake
2 | sudo apt - get install git cmake |
- 下载jetson-inference 项目资源
2 | git clone https: / / github.com / dusty - nv / jetson - inference |
4 | git submodule update - - init |
- 安装python3.6版本的libpython3-dev和numpy依赖库
1 | sudo apt - get install libpython3 - dev python3 - numpy |
注意:在最后一个cmake语句运行的过程,如果出现error等报错信息的时候,检查一下网络连接是否异常,然后再重新运行一遍该语句
- 出现下面提示时候,使用箭头->跳过选择,因为国内的下载不了box.com上文件。
虽然因为网络问题,国内的用户无法下载box.com上的文件,但是官方也为大家提供了一个方便下载的版本:https://github.com/dusty-nv/jetson-inference/releases 你可以单独去将各个model下载,然后再放置到 ~、jetson-inference/data/networks目录下,然后解压。为了方便用户,这里我们提供参考下载指令 1 | cd ~ / jetson - inference / data / networks / |
3 | wget https: / / github.com / dusty - nv / jetson - inference / releases / download / model - mirror - 190618 / facenet - 120.tar .gz |
4 | wget https: / / github.com / dusty - nv / jetson - inference / releases / download / model - mirror - 190618 / GoogleNet.tar.gz |
5 | wget https: / / github.com / dusty - nv / jetson - inference / releases / download / model - mirror - 190618 / SSD - Mobilenet - v2.tar.gz |
7 | tar - zxvf facenet - 120.tar .gz |
8 | tar - zxvf GoogleNet.tar.gz |
9 | tar - zxvf SSD - Mobilenet - v2.tar.gz |
这里说明下,我们只是各种神经网络(NN)的搬运工,那些动辄上百层的深度神经网络(DNN),目前得靠服务器集群加速训练,训练好权重和偏置后在JetsonNano等端设备上进行部署。
1 | cd ~/jetson-inference/build |
二、使用GoogleNet对物体进行识别 ①、静态图片识别,例程包含了C++和Python两种源码,这里使用C++进行演示,输入文件orange_0.jpg,输出文件为output_0.jpg。 1 | cd ~/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控制台输入下面命令: 1 | sudo apt-get install v4l-utils |
2 | v4l2-ctl --list-formats-ext |
再输入下面命令启动IMX219-77摄像头: 文档说明GoogleNet能对1000类物体进行识别,小编对周遭物体进行测试,效果如下: FaceNet-120可以对视频中出现的人脸进行实时检测,在JetsonNano终端按下Ctrl+Z退出上面演示,输入下面命令: 1 | ./detectnet-camera --network=facenet |
启动摄像头后可以观察到当有人经过摄像头画面范围时,可观察到对人脸区域进行标签。感兴趣读者可进行相关测试,用户也可下载github上相关神经网络解压到 jetson-inference/data/network目录下,在输入上面命令时将facenet替换为你想验证的神经网络, 地址请点击我,enjoy it! |