常见问题

TensorRT USB 摄像头实时图像识别教程

2022-04-27 14:19:31 admin 43

1、检测摄像头设备

 

假如你在 jetson-inference 目录下。如下图,执行:


ls
/dev

确定是否有 video0 这个设备,有可能多个摄像头时,注意后面的编号不同。


2、参数介绍

与前面的imagenet-console 示例类似,相机应用程序构建在该/aarch64/bin 目录中。它们在带有 OpenGL 渲染的实时摄像机流上运行,并接受 4 个可选的命令行参数:

--network 标志设置分类模型(默认为 GoogleNet 请参阅下载其他分类模型以获取可用的网络。

--camera 标志设置要使用的摄像头设备

通过指定传感器索引(0 1 等)来使用 MIPI CSI 摄像机

V4L2 USB 摄像机通过指定其/dev/video 节点(/dev/video0/dev/video1 等)使用。默认为使用 MIPI CSI 传感器 0--camera=0

--width --height 标志设置相机分辨率(默认为 1280x720 分辨率应设置为相机支持的格式。


使用以下命令查询可用格式:

您可以根据需要组合使用这些标志,并且还有其他命令行参数可用于加载自定义模型。启动  带有--help 标志的应用程序以获取更多信息,或参阅 Examples 自述文件。注意下方是直接了USB 摄像头所以一般 video0 USB 摄像头的编号。

以下是启动程序的一些典型方案:

C ++

Python


 

 3、执行图像识别命令

 

这个时候最好能通过桌面执行,否则可能看不到摄像头的界面,或者通过 VNC 远程桌面连接。

 

进入到 bin 目录下:

实时图像识别演示位于/ aarch64 / bin 中并被调用imagenet-camera。它在实时摄像机流上运行,并根据用户参数,使用 TensorRT 加载 googlenet alexnet,下方 video1 是由于 csi USB 摄像头同时连接,所以 USB 摄像头编号为video1

 

 

 

每秒帧数(FPS,来自视频的分类对象名称和分类对象的置信度被打印到 openGL 窗口标题栏。默认情况下,应用程序可以识别多达1000 种不同类型的对象,因为Googlenet Alexnet 是在包含 1000 类对象的 ILSVRC12 ImageNet 数据库上进行培训的。1000 种类型对象的名称映射,可以在 repo 下找到data/networks/ilsvrc12_synset_words.txt

 这样识别到物体就会在上面显示物体英文名称,百分数就是匹配百分比。


首页
产品
案例
联系