官方教程
https://developer.nvidia.com/embedded/learn/tutorials
安装tensorFlow
https://developer.nvidia.com/zh-cn/embedded/downloads#?search=tensorflow
摄像头实时图像识别
cd jetson-inference/build/aarch64/bin目录下:
./imagenet-console ./images/bird_0.jpg output.jpg
执行等待许久后出现如下(第一次需要很长时间,后面执行就会很快)
实时图像识别演示位于jetson-inference/ aarch64 / bin中并被调用imagenet-camera。它在实时摄像机流上运行,并根据用户参数,使用TensorRT加载googlenet或alexnet。
$ ./imagenet-camera --network=googlenet #使用googlenet运行
$ ./imagenet-camera --network=alexnet #使用alexnet运行
使用DetectNet定位对象坐标
本教程包含以下预训练的DetectNet模型:
-
ped-100 (single-class pedestrian detector)
-
multiped-500 (multi-class pedestrian + baggage detector)
-
facenet-120 (single-class facial recognition detector)
-
coco-airplane (MS COCO airplane class)
-
coco-bottle (MS COCO bottle class)
-
coco-chair (MS COCO chair class)
-
coco-dog (MS COCO dog class)
#使用预训练的DetectNet-COCO-Dog模型
./detectnet-console --network=coco-dog images/dog_1.jpg output_2.jpg
./detectnet-console ./images/bottle_0.jpg output_3.jpg --network=coco-bottle
./detectnet-console ./images/airplane_0.jpg output_4.jpg --network=coco-airplane
./detectnet-console ./images/peds_0.jpg output_5.jpg --network=multiped
# pednet和multiped模型识别行人,同时[facenet](http://vis-www.cs.umass.edu/fddb/)识别面孔
$./detectnet-console ./images/peds_0.jpg output_5.jpg --network=multiped
$ ./detectnet-console ./images/peds_3.jpg output_6.jpg --network=multiped
$ ./detectnet-console ./images/peds_3.jpg output_6.jpg --network=facenet
实时摄像头检测
位于jetson-inference/blob/master/detectnet-camera/detectnet-camera.cpp启动
$ ./detectnet-camera --network=facenet #运行使用面部识别网络
$ ./detectnet-camera --network=multiped #运行使用多级行人/行李探测器
$ ./detectnet-camera --network=pednet #运行使用原始单级行人探测器
$ ./detectnet-camera --network=coco-bottle #在摄像头下检测 瓶/汽水罐
$ ./detectnet-camera --network=coco-dog #在摄像头下检测狗
注意:要在运行detectnet时获得最佳性能,请通过运行脚本来增加Jetson时钟限制: sudo ~/jetson_clocks.sh
上面执行过程中,第一次执行每个都会执行更新模型,需要花费很长时间,需要大家耐心等待,下次执行就直接执行。
以下是启动程序的一些典型方案:
C ++
$ ./detectnet-camera --network=facenet #使用FaceNet,默认MIPI CSI相机(1280×720)
$ ./detectnet-camera --camera=/dev/video1 --network=facenet #使用PedNet,V4L2摄像机/dev/video1(1280x720)
$ ./detectnet-camera --width=640 --height=480 --network=facenet #使用PedNet,默认MIPI CSI摄像机(640x480)
Python
$ python3 detectnet-camera.py --network=facenet #使用FaceNet,默认MIPI CSI摄像机(1280×720)
$ python3 detectnet-camera.py --network=facenet --camera=/dev/video1 #使用FaceNet,V4L2摄像机/dev/video1(1280x720)
$ python3 detectnet-camera.py --network=facenet --width=640 --height=480 #使用FaceNet,默认为MIPI CSI摄像机(640x480 )
如果视频馈送中未检测到所需的对象,或者您得到的是虚假检测,请尝试使用–threshold参数降低或提高检测阈值(默认值为0.5)。
./detectnet-camera --network=facenet --threshold=0.6
这是Hello AI World教程的最后一步,该教程涵盖了Jetson与TensorRT的推理。
总结一下,我们已经涵盖了:
· 使用图像识别网络对图像进行分类
· 用C ++编写自己的图像识别程序
· 从实时摄像机流中分类视频
· 执行对象检测以定位对象坐标
接下来,我们建议您遵循我们的完整培训+推理教程,该教程还包括在自定义数据集上重新培训这些网络。这样,您可以收集自己的数据,并让模型识别特定于您的应用程序的对象。完整的教程还包括语义分割,它类似于图像分类,但是在每个像素级别上,而不是为整个图像预测一个类。祝好运!
推荐专栏
Jetson Nano学习笔记
Jetson Nano
Jetson Nano
Jetson Nano
Jetson Nano
Jetson Nano
Jetson Nano
Jetson Nano
Jetson Nano