电子说
使用数码相机进行视频监控是一种不断增长的趋势,其中一些趋势是由物联网 (IoT) 的发展所推动的。2016 年,全球估计有 3.5 亿个监控摄像头在运行,其中约 65% 在亚洲运行。
但是,当在画面中检测到运动时,这些摄像头不仅仅可以被动地录制视频。该视频还可以实时用于分析。在此博客中,我们将探讨如何使用英特尔® OpenVINO ™工具包的停车场监视器应用程序根据进出停车场的车辆自动识别可用停车位。
停车场监控数据管道
在过去的博文中,我们探索了使用摄像头图像进行人脸和表情检测的应用。在此应用程序中,我们将探索深度学习的不同用途,以根据方向跟踪车辆并确定它们是进入停车场还是离开停车场。
图 1显示了停车场车辆跟踪管道。让我们仔细看看这个深度学习应用程序中发生了什么。
图 1:停车场车辆跟踪流水线图说明了 OpenVINO ™工具包的这个应用程序如何从捕获的图像执行车辆检测,然后计算质心(检测到的车辆的移动)以确定车辆的进出。(来源:作者)
该应用程序使用安装在停车场入口和出口上方的摄像机捕获的图像进行操作。从捕获的图像中,深度神经网络使用针对车辆识别训练和优化的卷积神经网络 (CNN) 识别画面中的车辆。CNN 是一种流行的深度神经网络,通常用于处理图像。CNN 识别捕获帧中的车辆,然后使用车辆矩形计算质心来表示车辆。然后存储这些质心。当捕获新帧并检测到车辆时,将根据旧质心检查新质心,并且最近的旧质心指示车辆(考虑到检测速度高而车辆速度慢)。然后这两个样本可以指示车辆行驶的方向,
图 2显示了这个深度神经网络的结果。请注意,图像中的绿色叠加层是汽车质心及其坐标(用于跟踪和关联)。
图 2:停车场计数器输出屏幕将质心显示为绿色圆圈,以确定车辆是进入还是离开停车场。(来源:英特尔)
示例应用程序还说明了消息队列遥测传输 (MQTT) 协议的使用,该协议将停车场信息传送到数据分析系统。
为什么这很酷
此应用程序是使用英特尔® OpenVINO™ 分发版和约 800 行 Go(或 700 行 C++)开发的。这个应用程序的复杂部分是通过预训练的深度神经网络执行的,它伴随着一些胶水代码,这些胶水代码实现了车辆跟踪和帧之间相关性的简单计算(通过跟踪代表车辆的质心)。根据检测到的矩形大小,应用程序可以丢弃对象(例如漫游到框架中的行人)。与功能强大的硬件配对时,例如基于第 6代英特尔®酷睿™处理器或英特尔神经计算棒 2 的硬件由 Intel Movidius™ X VPU 提供支持,可以获得令人印象深刻的推理速度,从而实现实时分析。
改编这个例子
应用程序存在许多用例,可以识别捕获的帧中的车辆,然后跟踪它们。考虑这样一种情况,道路安全工程师在麻烦的十字路口跟踪车辆以寻找潜在问题(例如车辆不遵守停车标志,或在盲点十字路口发生未遂事故)。道路安全工程师可以使用此应用程序收集的统计数据(质心位置和通过十字路口的速度)来提出更改建议(例如安装灯或额外的停车标志)。
另一个用途是跟踪特定区域中站立的人数。安装在人行横道上方或电梯外的摄像头可以帮助确定何时换灯——例如,如果交通畅通,道路安全工程师可以优化行人的交通流量——或者换到哪个楼层作为一种方式优化进出建筑物的人流。
在哪里了解更多
您可以在英特尔®物联网开发套件GitHub 上了解有关此演示的更多信息。
胶水应用程序是用 C++ 和 Go 语言开发的。该发行版包括针对 OpenVINO ™的英特尔®优化车辆和行人检测模型。您可以使用 Ubuntu 16.04 LTS Linux 操作系统、Intel ® OpenVINO ™工具包分发版和 OpenCL ™运行时包轻松试验此应用程序。
您还可以使用 AIoT 开发套件快速启动您的开发,其中包括 Ubuntu、OpenVINO ™、英特尔® Media SDK 和预装英特尔®酷睿™处理器的英特尔® System Studio 2018。开发工具包包括帮助您快速入门和运行的教程。
您还可以使用基于 Intel ® Apollo Lake ™平台的AAEON UP 板。
审核编辑 hhy
全部0条评论
快来发表一下你的评论吧 !