deepstream札记(2)----整体概要

良心整体框架介绍

压箱底
1、deepstream-app -c source1_usb_dec_infer_resnet_int8.txt:演示一台USB摄像机作为输入
2、开RTSP摄像头
3、NVIDIA硬件加速插件:

Gst-nvstreammux-在发送AI推理之前批处理流。
Gst-nvinfer-使用TensorRT运行推理。
Gst-nvvideo4linux2-使用硬件加速解码器(NVDEC)解码视频流;使用硬件加速编码器(NVENC)将I420格式的RAW数据编码为H264或H265输出视频流。
Gst-nvvideoconvert-执行视频颜色格式转换。Gst-nvdsosd插件之前的第一个Gst-nvvideoconvert插件将流数据从I420转换为RGBA,Gst-nvdsosd插件将Gst-nvdsosd插件将数据从RGBA转换为I420。
Gst-nvdsosd-绘制边界框,文本和关注区域(ROI)多边形。
Gst-nvtracker-跟踪帧之间的对象。
Gst-nvmultistreamtiler-从批处理缓冲区合成2D切片。
Gst-nvv4l2decoder-解码视频流。
Gst-Nvv4l2h264enc-编码视频流。
Gst-NvArgusCameraSrc-提供使用Argus API控制ISP属性的选项。


NVIDIA DeepStream SDK API Reference 4.0
1、用了deepstream使原来4s干完的事,1s就完事了
2、主要两部分GStreamer负责视频编解码,tensorRT加速GPU推理。
这里必须要提一下,GStreamer是C语言开发的,而我们知道C语言并非面向对象,如果要用到面向对象的特性必须采取其他措施,GStreamer就是使用了GObject那一套东西,GObject又是什么呢?它是一套在C中使用面向对象编程的规范。如果已经非常熟悉主流面向对象语言的人,再去接收GObject这种编程风格,会要疯掉,反人类
3、多路摄像头需要接多路Pipeline

如何换模型,如何接视频多路?在deepstream app里有两者的答案

------------------周见智
使用DeepStream SDK的好处有:
(1)内置推理加速插件nvinfer,注意普通深度学习模型(caffe、tensorflow等)在没有经过tensorRT加速之前,速度是上不来的。而DeepStream内置的nvinfer推理插件不断支持各种目标检测算法(SSD、YOLO、Faster-RCNN)以及各种深度学习框架模型(自由切换),内部还自带tensorRT INT8/FP16加速功能,不需要你做额外操作;
(2)内置目标跟踪插件nvtracker,目前DeepStream 3.0提供两种跟踪算法,一种基于IOU的,这种算法简单,但是快;另外一种KLT算法,准确但是相对来讲慢一些,而且由于这个算法是跑在CPU上,基于KLT的跟踪算法对CPU占用相对大一些;
(3)内置其他比较有用的插件,比如用于视频叠加(目标方框叠加到视频中)的nvosd、硬件加速解码插件nvdec_h264,专门采用GPU加速的解码插件,还有其他颜色转换的插件。
(4)提供跟视频处理有关的各种元数据类型以及API,方便你扩展自己的元数据类型,元数据在GStreamer中是一个很重要的概念。
使用DeepStream SDK的前提是要先掌握GStreamer的基本用法,否则就是抓瞎,前者其实就是后者的一堆插件集合,方便供你构建视频推理Pipeline。当然,你还需要一些CUDA编程的基础知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值