NVIDIA Deepstream SDK压箱底的资料都在这里了

WhoseAI
242 0 2019-10-16

什么是Deepstream?

DeepStream SDK是一个通用的流分析SDK,它使系统软件工程师和开发人员能够使用NVIDIA JetsonNVIDIA Tesla平台构建高性能智能视频分析应用程序。

什么是GStreamer,我如何开始使用它?

DeepStream SDK使用开源的GStreamer框架来提供低延迟的高吞吐量。GStreamer是一个用于构造媒体处理组件图的库。你可以构建应用程序,从简单的视频流和回放到复杂的图形来处理AI

关于Gstreamer的应用开发文档看这里:

https://gstreamer.freedesktop.org/documentation/application-development/index.html?gi-language=c

教程看这里:

https://gstreamer.freedesktop.org/documentation/tutorials/index.html?gi-language=c

使用DeepStream SDK可以部署哪些应用程序?

DeepStream SDK可用于构建端到端的ai应用程序来分析视频和传感器数据。一些流行的用例是:零售分析、停车场管理、管理物流、光学检查和管理操作。

DeepStream SDK开发指南:

https://docs.nvidia.com/metropolis/deepstream/dev-guide/index.html

DeepStream SDK API Reference

https://docs.nvidia.com/metropolis/deepstream/dev-guide/DeepStream_Development_Guide/baggage/index.html


Deepstream提供了哪些插件?

DeepStream还能为用户自有的函数和库,创建定制化的插件。开源插件改编后可以用于自己的应用,包括:

-H.264H.265视频解码

-流聚合和批处理

-基于tensorrt的推理,用于检测、分类和分割

-对象跟踪参考实现

-JPEG解码

-用于突出显示对象和文本覆盖的屏幕显示API

-从多源到一个二维网格阵列的帧渲染

-加速X11或者EGL的绘制

-缩放、格式转换和旋转

-为360度摄像机输入进行图像修正

-元数据的生成和编码

-消息传递到云

更多关于Deepstream 插件介绍:

https://docs.nvidia.com/metropolis/deepstream/plugin-manual/index.html

注意:

本手册描述了Deepstream GStreamer插件和Deepstream的输入、输出和控制参数。该手册是为那些希望使用DeepStream SDK开发DeepStream应用程序或附加插件的工程师准备的。它还包含有关SDK中使用的元数据的信息。开发人员还可以添加自定义元数据。该手册描述了SDK中定义的使用NVIDIA®TensorRT™IPlugin接口实现自定义推理层的方法。在使用本手册熟悉DeepStream应用程序和插件开发时,可以参考SDK附带的示例示例.


视频编解码所支持的最大指标是什么?

更多关于硬件加速的解码和编码参考这里:

https://developer.nvidia.com/nvidia-video-codec-sdk 


我在哪里可以找到所有的Deepstream样本应用程序?

/samples/configs/deepstream-app/

Sample APP包括:

DeepStream Sample App

/sources/apps/sample_apps/deepstream-app

说明:端到端示例演示了4级联神经网络(1个一级检测器和3个二级分类器)的多相机流,并显示平铺输出。

DeepStream Test 1

/sources/apps/sample_apps/deepstream-test1

说明:对单一H264视频流,应用filesrc, decode, nvstreammmux, nvinfer(主检测网络), nvosd, rendererDeepStream插件(元素)

DeepStream Test 2

/sources/apps/sample_apps/deepstream-test2 

说明:简单的应用程序,建立在test1之上,显示额外的属性,如跟踪和二级分类属性。

DeepStream Test 3

/sources/apps/sample_apps/deepstream-test3

说明:简单的应用程序,建立在test1的基础上,显示多个输入源和批处理使用nvstreammuxer

DeepStream Test 4

/sources/apps/sample_apps/deepstream-test4

说明:这是在Test1示例的基础上构建的,演示了“nvmsgconv”“nvmsgbroker”插件在物联网连接管道中的使用。对于test4,用户必须修改kafka代理连接字符串才能成功连接。需要安装分析服务器docker之前运行test4DeepStream分析文档有关于设置分析服务器的更多信息。

FasterRCNN Object Detector

/sources/objectDetector_FasterRCNN 

说明:FasterRCNN物体探测器实例。

SSD Object Detector

/sources/objectDetector_SSD

说明:SSD目标探测器实例。


其他Github上的APP例子:

360度智能停车App

 演示了一个或者多个360度视角的视频流的矫正功能。从一个CSV文件中读取摄像机矫正参数,然后将矫正后的过道和区域画面,呈现在屏幕上。

https://github.com/NVIDIA-AI-IOT/deepstream_360_d_smart_parking_application


DeepStream SDK for Redaction 

重点展示如何在DeepStream里,对一个视频流,同时对人脸区域和车牌区域进行模糊, 也展示了当该DeepStream流水线风格的应用程序在运行的时候,动态的添加删除视频流通道。

https://github.com/NVIDIA-AI-IOT/redaction_with_deepstream

异常检测参考应用

使用并行管道处理2个流的示例应用程序。

https://github.com/NVIDIA-AI-IOT/deepstream_reference_apps/tree/master/anomaly


是否有关于动态流管理的例子吗?

https://github.com/NVIDIA-AI-IOT/deepstream_reference_apps/tree/master/anomaly

里面包括了在管道运行时动态添加或删除通道。


如何在调试模式下运行DeepStream示例应用程序?

deepstream-app -c--gst-debug=

更多关于调试的文档参考这里:

https://gstreamer.freedesktop.org/documentation/tutorials/basic/debugging-tools.html?gi-language=c


更多教程:

DeepStream YOLO应用程序中自定义YOLO模型:

https://docs.nvidia.com/metropolis/deepstream/Custom_YOLO_Model_in_the_DeepStream_YOLO_App.pdf

使用图像校准:将视频数据映射到真实世界

https://devblogs.nvidia.com/calibration-translate-video-data/



更多关于Deepstream:

在NVIDIA Jetson 平台上运行Deepstream速度慢的常见解决办法

NVIDIA Deepstream 4.0笔记(完结篇):如何开始使用Deepstream以及容器

NVIDIA Deepstream 4.0笔记(五):仓储物流场景应用

NVIDIA Deepstream 4.0笔记(四):工业检测场景应用

NVIDIA Deepstream 4.0笔记(三):智能交通场景应用

NVIDIA Deepstream 4.0笔记(二):智能零售场景应用

NVIDIA Deepstream 4.0笔记(一):加速基于实时AI的视频和图像分析

NVIDIA Deepstream 4.0终于出来了,居然还有容器版本