首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NVIDIA Deepstream笔记(四):一个停车场管理系统实例

NVIDIA Deepstream笔记(四):一个停车场管理系统实例

作者头像
GPUS Lady
发布2019-07-04 15:57:10
3.8K0
发布2019-07-04 15:57:10
举报
文章被收录于专栏:GPUS开发者GPUS开发者GPUS开发者

今天是第四部分

让我们深入看下用DeepStream构建应用程序都需要什么,并且仔细了解一下我们已经做好的几个例子应用。 DeepStream依赖于配置文件,才能让你的应用程序有效运行。配置文件描述了你的应用程序如何处理,和如何同周边的环境进行交互。PPT上的就是当你下载DeepStream SDK后,所能参考的标准/参考配置文件。

注意PPT里显示的只是配置文件的一小部分,展示给你的目的是用来说明,标准参考配置文件中的条目都是具有良好的注释文档的,你看这些注释就可以理解这文件里的每个条目,都是做什么的。每个参数不仅仅在这这个配置文件中有注释(documented),在另外的一个DeepStream的PDF文档中,有详细的多的描述,里面说明了这些配置参数都是做什么的。

这里我们演示了一个打包了多个DeepStream组件的应用程序。 该应用程序是通过4个深度神经网络,以30FPS的速度,处理来源自30个高清视频流的,多视频流应用程序。 网络由1个主网络和3个次级网络构成:主网络负责检测是否视频中的东西是汽车还是行人,而3个次级网络负责检测如果是汽车的话,检测车的颜色、型号、品牌。然后分析到的关于汽车的这些信息,被提取出来,发送到屏幕上显示。屏幕上显示是通过将原本在之前的batch阶段被BatchingPlugin合并在一起的来自30个视频流的数据,拆分成30个小方块,然后统一在屏幕上显示(就是那种常见的视频监控画面),这样允许用户实时性的看到所有的视频信息.

这是Deep stream附带的参考应用程序,你可以看到有30个摄像机流全部由多个神经网络实时处理,你可以看到汽车和人们都可以被检测到,有个边界框框出来,尤其是后面这个视频,即便有手扶梯等障碍物,人们依旧可以被检测到。

这个例子是为NVIDIA总部大楼设计的的智能停车场解决方案。所以你可以看到我们设计的用户界面,这是我们的智能停车应用程序的命令中心UI,你可以看到通过他们的车牌跟踪,当汽车在系统中移动时事件被锁定。

它也可以产生警报,这些警报可以简单到汽车是否在停车场有短暂停留,或者是否有一些意外停车的情况下 ,现在这些类型的应用程序异常多样化,在这种情况下,我们现在结合实时和批量分析来制作热图,重要的是你可以使用它作为构建任何东西。

让我们深入分析一下该停车(车库管理)应用。如图是该应用程序的视觉理解流程图。该图中,直到将识别的元数据发送给分析服务器之前,所有的步骤都是通过DeepStream自身的流水线来处理一切的。我们还能看到,大量的这些组件都是现成可用的:对于来自摄像头的RTSP协议数据流的时候,我们有通讯Pluging来处理它。对于鱼眼摄像头的视频帧,我们有预处理插件来进行,带有鱼眼拉平矫正的视频解码。我们还有负责检测分类跟踪的Plugin。甚至实际上我们还用Plugin进行ROI区域矫正,因为我们应用程序所用到的来源摄像头的角度,需要被正确的映射到全局的位置。然后我们还继续往下将相关信息传递给tracker plugin,因为我们需要实时的对车辆们进行跟踪。我们通过DeepStream流水线弄出来的这个元数据信息,需要被发送分析服务器上,此时我们有效和高效率的,利用通讯Plugin来完成它。这就是为何DeepStream如此可贵,因为它能让我们集中力量完成推理和智能部分,其他部分都可以简单的利用插件,例如通信Plugin这货,或者更多的其他插件,来高效率的完成我们的应用效果。

为了能够让你的应用程序具有可移植性和可伸缩性,你可以用容器来部署应用的所有视频感知和分析组件。 你可以看到,我们并没有运行基于DeepStream的单体视频感知/采集服务器,而是有很多DeepStream应用在生成元数据,并通过一个消息中间件/消息代理,在本例中是Apache Kafka,然后发送一个分析服务器,以及做一些操作,例如通过一个Python模块进行多摄像头跟踪,或者画面拉平等。以及通过一个Apache Spark组件,做特殊意外情况检测,和停车位占据情况跟踪。还有一个通过Logstash方案进行ETL数据处理的组件。这些信息,然后发送给多个其他组件,例如通过使用Apache Cassandra数据库进行 车位/停车库状态管理组件时所需要的持久化存储功能。 以及,还有一个基于ElasticSearch的索引器。此外,因为这是一套基于ELK软件栈构建的应用,这还意味着, 最终的的分析数据,需要通过ELK套件中的最后一个的Kibana软件进行数据导出/Dashboard显示。 现在,整个视频感知/采集和分析应用,完全由容器化的每个组件构成了,每个组件都独立运行在自己的容器中。 最后还有一套API提供给你的基于浏览器的应用中的javascript脚本进行调用。 现在,整个视频感知/采集和分析应用,完全由容器化的每个组件构成了,每个组件都独立运行在自己的容器中。我们将其放在NVIDIA的github上,你可以可以通过NVDIA GPU Cloud Docker Registry/NGC,来获取他们。我们鼓励你这样做。

在这里,我们有一个漂亮的命令中心用户界面,你可以看到它做的事情,如传感器融合,并给你一个多层次的停车位占用地图,给你统计和异常和警报 ,这一切都通过基于浏览器的界面,你可以在github上看到这一点。

这是一个数据分析面板,演示给你这些数据如何汇集到一起,可视化的现实出来的。面板分别显示了,占用情况,任意时间点的停车位/库可用数,你能看到还有最近24小时的进入和离开的流量模型,以及还有最近24小时的异常情况,以及,热点图,显示了哪些是停车高峰时刻和高峰位置。

关于NVIDIA Deepstream用于停车场应用的视频介绍(中文字幕)

视频内容
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档