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

本次笔记整理自NVIDIA 8月20日在线研讨会,原讲座标题:DEEPSTREAM SDK – ACCELERATING REAL-TIME AI BASED VIDEO AND IMAGE ANALYTICS

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

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

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

应用程序的类型可能不同,但从视频像素到分析的流程在所有用例中仍然很常见。某些应用程序可能需要在边缘设备(如NVIDIA Jetson或Prem服务器)上进行处理。边缘的使用范围从安全到监控施工现场到制造。对于小型企业而言,ON-Prem Server(本地服务器)可以像基于人工智能的VR网络录像机一样简单。于其他应用程序,所有处理都可能在云上进行。DeepStream提供在边缘或云上的灵活部署。对于其他应用程序,所有处理都可能在云上进行.DeepStream提供在边缘或云上的灵活部署。Deesptream还集成了Nvidia的迁移学习工具包(TLT),您可以使用TLT为您的应用程序训练预训练模型。经过预先训练的模型可在NGC上获得。 您可以从NGC中取出所有内容,使用TLT重新训练并在deepStream上部署。

NVIDIA Deepstream 4.0笔记(一):加速基于实时AI的视频和图像分析
这是应用级别的整个deepsteam软件堆栈。顶部是应用程序。在应用程序层下面是SDK。Deepstream是一个流分析工具包,由各种硬件加速插件组成,可为任何计算机视觉和I VA应用程序提供最高吞吐量。配置方面,开发者可以利用NVIDIA容器runtime来配置自己的Deepatream应用。NVIDIA docter runtime可以启用GPU。整个应用都可以在一个Docker Contrainer里面打包。另外NVIDIA还提供了reference application和 orchestration recipes可以帮助你启动任何创意项目。最后就是跟云相连,DeepStream支持使用Azure lOT运行时与Microsoft Azure lOT云通信。这允许与云的无缝连接来运行分析和管理设备。

堆栈的下一级是CUDA X,它列出了Deepstream插件使用的各种NVIDIA软件技术。

在最底部列出了完整硬件堆栈。未来的应用程序可以在NVIDIA Jetson平台或数据中心上运行

NVIDIA Deepstream 4.0笔记(一):加速基于实时AI的视频和图像分析
Deepstream 4.0代表了功能可扩展性和可移植性的重大改变。

Deep stream 4.0的灵魂是支持NVIDIA Unified SDK的所有平台,从新推出的Jetson Nano到数据中心GPU,开发人员可以在一个平台上开始开发,然后将其移植到同一代码库不同平台上。

Deepstream 4.0提供交钥匙集成以连接到Microsoft Azure loT hub,我们有消息代理插件。Microsoft Azure loT帮助可用于连接管理和监视IOT边缘设备。

NVIDIA 为Deepstream 3.0的GPU产品发布了部署容器,到了DeepStream 4.0,NVIDIA 提供了对Jetson平台的容器化部署.

4.0还为工业和零售用例发布了新的模型和功能。有新的模型支持单色或灰度图像的图像分割。此外,NVIDIA正在添加硬件加速的PEG解码和编码。

最后,我们第一次开源了几个主要的插件源代码。这为我们的开发人员提供了更大的灵活性和控制性。 目前正在开源的是推理、解码和消息插件。
NVIDIA Deepstream 4.0笔记(一):加速基于实时AI的视频和图像分析

这是从像素到视频分析的典型构思图形的高级视图。摄像机上的像素在预处理后被捕获解码并进行预处理。我们将其应用于深度学习或AI以从视频中获得一些见解, 这个内部可以在屏幕上查看,或者可以发送到数据中心或云以进行进一步分析。

这个用于处理和理解视频或图像的pipline是工业的,不同行业之间可能存在一些细微差别。但总的来说,工作流程仍然非常相似。

NVIDIA Deepstream 4.0笔记(一):加速基于实时AI的视频和图像分析
DeepStream SDK是一个流分析工具包。基于开源Gstreamer平台的即插即用架构。这使得开发人员不仅可以灵活地使用NVIDIA自带的插件,还可以使用其他开源插件或创建自己的插件并在管道中使用它。

这是一个典型的Ivy管道,由deepstream插件构建,在底部,它显示了插件使用的底层硬件。第一步是捕获流数据。这可能来自RTSP流文件或USB或CSI摄像机。捕获之后,下一步是解码流。解码器插件使用NVIDIA的硬件加速解码引擎。与GPU上的CUDA内核不同。解码帧之后,可能需要进行一些预处理。这可以是图像转换、图像缩放、裁剪或如果流是来自一个360度摄像头,然后你需要转移图像。对于这个操作有各种各样的加速器。接下来的操作是推理,它执行对象检测分类和分割。这是运行在GPU或Jetson AGX Xavier的DLA上。

在进行推理之后,您可能需要跟踪对象以获得深入的了解,最后一步是使用附加元数据在屏幕上查看视频,或者仅将元数据发送到云中进行分析。
NVIDIA Deepstream 4.0笔记(一):加速基于实时AI的视频和图像分析

这是deepstream SDK中包含的插件列表。

第一个是NVIDIA4linux2,视频和图像解码和编码插件。

第二个是nvinfer,这是一个推理插件,在各种推理加速器上使用tensorRT,这样就可以对目标检测图像进行分类和分割.

第三个是nvtracker,部署几个参考跟踪器,比如KLT、IOU和NvDCF

第四是nvmsgbroker,这允许使用各种协议向云发送消息。

有关如何使用此插件的更多信息,请参考文档中的Plugins菜单。

NVIDIA Deepstream 4.0笔记(一):加速基于实时AI的视频和图像分析
这是在不同NVIDIA平台上利用Deepstream达到的实时性能。更详细的信息可以参考NVIDIA Deepstream开发者手册
NVIDIA Deepstream 4.0笔记(一):加速基于实时AI的视频和图像分析

下一部分我们将一起来看几个利用Deepstream SDK的工业案例,敬请大家关注本次话题。

原文发布于微信公众号 - 吉浦迅科技(gpusolution)