0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在deepstream-app里调用USB与CSI摄像头

GLeX_murata_eet 来源:NVIDIA英伟达企业解决方案 作者:NVIDIA英伟达企业解 2021-08-02 16:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前面介绍过使用 deepstream-app 工具,启用多个视频进行车辆与行人的识别,并且启动“追踪”功能进行物件追踪的高级功能,接下来就教大家如何在 deepstream-app 里调用 USBCSI 摄像头,并且与先前的视频同时启用来进行物件识别的应用。

这里使用 Jetson Nano 2GB 作为实验平台,上面安装一个 CSI 摄像头与一个 USB 摄像头。

在调用摄像头之前,建议先确认一下摄像头的位置与分辨率等信息,因为 DeepStream 会检查设定文件里的分辨率是否符合要求。使用 v4l2-utils 工具包来检查摄像头的信息,请按照以下步骤进行安装,并且检测摄像头分辨率:

sudo apt-get install v4l2-utils
v4l2-ctl --list-devices

下面显示的信息,表示目前接上一个 imx-219 的 CSI 摄像头,以及一个 USB 2.0摄像头。

75606ecc-ed73-11eb-a97a-12bb97331649.png

接下执行以下指令,查看个别摄像头可使用的分辨率为多少:

v4l2-ctl --list-formats-ext --device=0
v4l2-ctl --list-formats-ext --device=1

下面显示的信息,表示CSI摄像头(device=0)能支持3264x2464、3264x1848、1920x080、1640x1232、1280x720 等 5 种分辨率

7592d952-ed73-11eb-a97a-12bb97331649.png

下面显示的信息,表示 USB 摄像头(device=1)能支持 640x480、352x288、320x240、176x144、160x120 等 5 种分辨率

75c1b9c0-ed73-11eb-a97a-12bb97331649.png

接下来看看在DeepStream路径(/opt/nvidia/deepstream/deepstream)的samples/configs/deepstream-app 下面有个 source2_csi_usb_dec_infer_resnet_int8.txt 文件,这是专门以 CSI 与 USB 摄像头为输入源的配置,里面可以看到以下关于摄像头设置的内容:

[source0]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP 5=CSI
type=5
camera-width=1280
camera-height=720
camera-fps-n=30
camera-fps-d=1
camera-csi-sensor-id=0
[source1]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI
type=1
camera-width=1280
camera-height=720
camera-fps-n=30
camera-fps-d=1
camera-v4l2-dev-node=6

在[source1]下面的参数有点小问题,用粗体标识出来,因为我们装载的USB摄像头最大分辨率为640x480,因此这里的camera-width与camera-height都必须修改为摄像头所支持的分辨率,此外就是最下面的camera-v4l2-dev-node的部分,前面检查出来这台Jetson Nano 2GB上的USB摄像头编号为“1”,请按照实际状况修改。

将上面三地方修改完后,就可以直接执行以下指令去启动摄像头:

deepstream-app -c source2_csi_usb_dec_infer_resnet_int8.txt

由于配置文件里面原本设定使用INT8的精度去做推理,但是Jetson Nano 2GB并不支持,因此DeepStream自动切换成FP16精度,这需要重新生成对应的TensorRT引擎,会花点时间。

75f065fe-ed73-11eb-a97a-12bb97331649.png

执行之后就能看的画面上出现类似以下的画面,上下分别是CSI摄像头与USB摄像头的显示,由于选择的模型是检测“Car”与“Person”的,所以在这里没有检测到任何目标物件。

另外看一下先前下指令的终端上,显示在Jetson Nano 2GB上的执行性能如下截屏

76d9c19a-ed73-11eb-a97a-12bb97331649.png

两个摄像头都能达到18FPS左右性能,总性能在36FPS左右,已经非常接近实时识别的速度,非常好。您可以试试旋转摄像头或者将手放在前面晃一晃,看看延迟状况如何?应该是很流畅的。

接下来,再添加两个视频文件一起进来执行检测,我们以系统上提供的视频文件做示范:

/opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h264.mp4

/usr/share/visionworks/sources/data/pedestrians.h264

将这两个的设定添加到文件里的[source2]与[source3],内容如下:

[source2]
enable=1
type=2
uri=file://../../streams/sample_1080p_h264.mp4
[source3]
enable=1
type=2
uri=file:///usr/share/visionworks/sources/data/pedestrians.h264

最后调整文件最开始的“[tiled-display]”下面,将“columns=”的值改成“2”,存档后重新执行下面指令:

deepstream-app -c source2_csi_usb_dec_infer_resnet_int8.txt

现在可以看到如下图,两个摄像头与两个视频总共4个输入源同时执行的推理的功能。

接下来看看此时的性能如何?居然每个输入源只剩下8FPS的性能,总性能在32FPS左右,似乎有点慢了。这个问题有补救的办法吗?

7794c792-ed73-11eb-a97a-12bb97331649.png

实时上问题出现在[primary-gie]使用的模型上,因为Jetson Nano(含2GB)的计算资源较为缺乏,因此DeepStream专门为Nano提供resnet10.caffemodel_b8_gpu0_fp16.engine特调版加速引擎,存放在“../../models/Primary_Detector_Nano”路径下,这是第一个需要做修改的地方:

model-engine-file=../../models/Primary_Detector_Nano/resnet10.caffemodel_b8_gpu0_fp16.engine

其次就是下面的“config-file”置换成支持Nano版本的配置文件,如下:

config-file=config_infer_primary_nano.txt

修改完使用的模型之后,重新执行deepstream-app进行物件检测,发现每个数据源的识别性能,立即从原本的8FPS提升到14FPS,也就是总性能从32FPS上升到56FPS左右,提升大约1.8倍。到这里否已经满足样的性能呢?

如果还觉得不满足的时候,那就继续看下去,还有大招在后面。只要我们将[primary-gie]下面的“interval”参数设为“1”,这时候再执行看看性能如何?

下面的截屏是调整 interval 参数之后的性能,有没有吓一跳?瞬间提升一倍。

77ce1ede-ed73-11eb-a97a-12bb97331649.png

经过三步骤调整之后,我们在Jetson Nano 2GB上的4个数据源,识别性能都超过27FPS,总性能合计超过100FPS,并且维持识别效果。

现在是不是对Jetson Nano 2GB的性能感到非常满意了!

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 摄像头
    +关注

    关注

    61

    文章

    5058

    浏览量

    102422

原文标题:NVIDIA Jetson Nano 2GB系列文章(30):DeepStream 摄像头“实时性能”

文章出处:【微信号:murata-eetrend,微信公众号:murata-eetrend】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    求助:请高手指点浙江风向标智能摄像头如何恢复使用?

    以前买的浙江风向标智能摄像头,正常使用,后来厂家跑路App不能用了,家里的几个摄像头成了孤儿。家里装了海康智存的NAS,支持视频监控,想着把这几个摄像头利用上。没有
    发表于 10-07 11:36

    创世SD NAND贴片卡:智能摄像头存储难题的完美解决方案 #人工智能 #智能摄像头 #摄像头

    摄像头
    深圳市雷龙发展有限公司
    发布于 :2025年08月05日 11:17:13

    庐山派上用v1.9的linux+RTSmart SDK,修改摄像头接cs1报错怎么解决?

    庐山派上用v1.9的linux+RTSmart SDK跑ai_pocface_detection例程,目前摄像头csi2接口能在LCD上跑通,但是把摄像头接到cs1接口就提示如下错
    发表于 07-22 06:52

    【EASY EAI Orin Nano开发板试用体验】--USB摄像头使用

    本篇讲述USB摄像头接入开发板使用。准备200W像素/30FPS摄像头,接入开发板上层USB口(建议),如下 一.USB
    发表于 07-13 18:21

    【Milk-V Duo S 开发板免费体验】4 - OV5647 摄像头摄像头测试

    DuoS 有两个 CSI 摄像头接连器: J1 是 16 PIN 间距为 0.5mm 与 Duo 和 Duo256M 摄像头兼容的连接器,可以直接使用 CAM-GC2083 摄像头
    发表于 07-08 21:26

    【VisionFive 2单板计算机试用体验】USB摄像头测试

    使用opencv测试USB摄像头。 一、检测USB摄像头 插入USB摄像头,执行命令,提示没有找
    发表于 07-06 23:14

    庐山派K230可以直接使用usb摄像头吗,可以的话摄像头有啥要求吗?

    庐山派K230可以直接使用usb摄像头吗,可以的话摄像头有啥要求吗
    发表于 06-24 07:07

    K230micropython下能实现同时用USB摄像头和板载摄像头YOLO识别并显示在IDE上吗?

    K230micropython下能实现同时用USB摄像头和板载摄像头YOLO识别并显示在IDE上吗?以及如何提高USB进行YOLO识别的帧数?
    发表于 06-20 06:35

    【正点原子STM32MP257开发板试用】2.USB摄像头使用

    前言 感谢正点原子和电子发烧友论坛提供的这次机会让我有机会体验这款正点原子STM32MP257开发板,希望可以借这个机会好好学习一下。 接入摄像头 因为没有提供CSI摄像头,所以只能使用US
    发表于 06-16 19:16

    基于RK3576开发板的网络摄像头方案

    本地RTSP拉流的操作指南,并详细说明了代码组成、调用关系及开发指南,包括CMakeLists.txt文件解析和build.sh编译脚本的使用。整体方案旨在帮助用户快速上手并实现四路MIPI-CSI摄像头的流媒体输出。
    的头像 发表于 05-12 17:54 723次阅读
    基于RK3576开发板的网络<b class='flag-5'>摄像头</b>方案

    请问如何使用micropython在K230上使用usb摄像头

    如何使用micropython在K230上使用usb摄像头
    发表于 04-23 06:10

    【幸狐Omni3576边缘计算套件试用体验】测试USB 摄像头

    一、摄像头介绍 因为手头没用DSI摄像头,刚好USB摄像头也能支持,先测试下开发板和USB摄像头
    发表于 04-09 23:50

    社区安装IPC摄像头,跟安装一般安防监控摄像头有什么区别?

    为了保护社区或其他公共场所的安全,往往需要安装监控摄像头。但随着越来越多的公共安全事件发生,传统只单纯拍摄和记录画面的监控摄像头已不能满足社区安防的需求,需要更多功能的安防监控摄像头来进行更智能化
    的头像 发表于 04-03 10:00 1585次阅读
    社区安装IPC<b class='flag-5'>摄像头</b>,跟安装一般安防监控<b class='flag-5'>摄像头</b>有什么区别?

    RT1176是否有任何驱动程序示例可以通过并行摄像头接口与8/10/12位摄像头通信?

    对于RT1176,是否有任何驱动程序示例可以通过并行摄像头接口与 8/10/12 位摄像头通信?我在 SDK 中只看到一个 MIPI CSI2 示例。谢谢。
    发表于 03-28 06:54

    安防监控摄像头气密性测试案例-连拓精密#摄像头气密检测设备

    摄像头
    连拓精密科技
    发布于 :2024年12月11日 15:00:21