APP下载

基于云边端架构的AI 视频监控系统研究

2022-08-28冯文奇张国强

设备管理与维修 2022年15期
关键词:边缘架构服务器

冯文奇,张国强,赵 兴

(河北省天然气有限责任公司,河北石家庄 050000)

0 引言

随着天然气的广泛应用,天然气管网迅速增长,天然气管道遭受第三方破坏造成的事故时有发生,对社会和用户产生了巨大的影响。视频监控系统是一个集日常生产管理、安全防范、事故防范为一体的综合动态安全系统,能提升危险源监测预警和事故隐患排查、治理能力,把事故隐患消灭在萌芽状态,从而达到防范、杜绝事故发生的目的。燃气行业作为爆炸性高危行业,视频监控系统是一种有效保障日常安全运营的必要手段之一。

随着燃气行业的高速发展,燃气公司的供气范围日渐扩大,广阔的地域、复杂的环境、有限的岗位、诸多的站点等已经成为燃气行业管理方面的瓶颈,通过有限的人员与精力来完成上述庞大的监管工作,成为每个燃气公司需要提上日程的课题。综合燃气视频监控系统的诸多特点,已经成为公认的解决上述问题的最佳选择。燃气视频监控系统已经成为燃气行业调度系统中不可或缺的组成部分。

目前早期实施的视频监控系统,无论是模拟系统还是数字系统,都只提供相对比较单一的功能模块,包括视频捕获和视频存储等功能[1]。这类系统所采集的视频数据只能用于事发时的记录和事发后的审计回放,无法对异常事件提供事前预警。对于视频数据的分析与查找,依然需要依赖大量的人力完成。由于无法全天候24 h 不间断地对视频数据进行甄别筛选,且在线的人工视频监控过程中,依然会有对视频漏看以及误判的各种人工错误操作,既浪费了大量人力资源,也不利于在黄金时间进行案件分析与处理。

随着计算机信息处理技术的快速发展,视频监控技术正在朝着数字化、网络化、智能化的方向发展[2]。为了加强安保措施,2008 年北京奥运会部署了中科院研发的实时智能视频监控预警系统[3],对各个体育场馆和周边环境进行24 h 人流监控和智能分析,实现对异常事件实时预警。该系统有效保障了奥运会期间的安防管理,但是由于奥运会场馆部署环境的硬件条件比较完善,供电和数据传输都不是系统实施的最大障碍。

由于视频监控系统的前端设备安装、供电以及数据通信等原因,一些户外以及人烟稀少的地区监控应用还存在各种实施困难和应用障碍。尤其是对于地理跨度范围较广、地势情况比较复杂的区域,尤其是当地环境比较恶劣的特殊情况,设备设施易受自然灾害和人为破坏,常规的视频监控解决方案需要提供市电供应和有线传输,很难有效监控燃气管道等基础设施的安全运营[4]。

针对这种情况,本文提出了一种基于云边端的分布式架构,通过提供超低功耗的ARM 边缘设备实现监控现场的视频采集与基础分析,通过4G/5G 网络完成数据传输到云端服务监控平台,能够有效解决户外环境下燃气管道等设施的电力供应以及远距离视频数据传输的技术难点。大量计算在云端完成,包括数据融合、处理以及基于机器学习的深度挖掘,对现场的各种异常情况进行自动报警,从而实现现场管线和设备的安全运营监控保障。该系统架构能够有效覆盖广袤区域,实现长时间、远距离的视频监控,为燃气系统运营管理部门提供实时运营保障以及为系统的科学决策提供辅助。

1 系统结构及原理

目前,移动计算应用程序不断增长的需求已触发了从集中式移动云计算向边缘计算的转变[5]。云平台计算是目前最常用的分布式计算模式,通过虚拟化技术整合后台数据中心的资源,屏蔽不同底层设备的差异性,向用户提供了透明的计算环境和开发平台。系统利用互联网实现了随时、按需地快捷使用共享计算设备和存储设备。这种计算模式和服务模式能够非常灵活的提供应用程序部署资源,具有灵活性、扩展性以及用户友好的技术优势。

边缘计算(Edge Computing)是在靠近数据源端的网络边缘侧,融合网络、计算、存储、应用核心能力的开放平台。对于需要实时处理的数据,就近提供边缘计算服务,完成有实时性需求的视频分析和数据处理[6-7]。对于需要大计算量的数据处理工作,例如数据融合和分析,则迁移到云平台计算。

边缘计算和云平台计算互相配合,协同工作,共同完成系统功能。通过基于ARM 平台的分布式架构部署,不但能够有效降低传统架构的成本,而且可以有效降低运行功耗,提高待机时间,实现长时间的户外工作。随着边缘计算和云计算技术的快速发展,云边端协同分布式框架作为一种有效的新型计算架构被提出,并在许多领域得到应用,例如Gang Y N 等人介绍了计算框架在电力负荷监控领域的应用,提出了一种在边缘进行处理、在云端进行优化的云边协同框架,有效地解决边缘端计算资源弱和云端通信压力大的矛盾[8]。但是常规的边缘计算设备由于设计架构、功耗以及相应的计算能力的差异,无法满足各种行业特殊应用[9]。

本系统采用云边端的整体架构,端侧与边缘侧实现数据采集和就地智能识别,云端实现智能分析和平台功能。前端感知层面包含视觉、气体、环境感知等传感设备,同时结合智能边缘计算设备实现前端数据的智能化分析。云端后台具备智能分析功能,可对端侧的识别结果进行二次确认,保障识别的准确性,系统架构如图1 所示。

图1 系统架构

2 系统硬件设计

系统硬件组成架构如图2 所示,前端设备主要涉及的硬件包括通信模块、边缘计算模块、存储模块、电源模块,采集设备(摄像头或激光检漏仪)、扬声设备、太阳能发模块和风能模块。远端设备主要包含推理服务器(用于运行后台的人工智能算法)、通用服务器(用于部署智能视频管理平台)、存储器(用于存储相应视频数据),这些设备通常部署在机房或者云端。

图2 硬件架构

3 系统软件设计

3.1 系统架构设计

系统的软件功能分布如图3 所示。前端设备包含的硬件较多涉及到不同类型的软件模块也相应较多,所以这里对软件进行了分层。其中底层主要与硬件控制相关,属于驱动类的软件模块,如电源管理、环境监测、云台控制、补光调节等,上层主要为应用类的软件模块,其中包括数据通信、AI 识别、节能控制、流媒体等软件模块。这些模块主要与系统的业务相关。

图3 软件功能分布

远端设备主要为远程视频管理平台。其软件模块包括预警、报表、流媒体、可视化、AI 识别、数据存储、视频存储、设备定位、数据通信等。这些模块涉及的中间件MySQL、ZeroMQ、Redis、Tomcat等。除此之外,软件预留相应API 接口供其它系统集成使用。

远程视频管理平台部署在云平台上,系统的总体架构如图4 所示。后端存储层列举了当前正在使用和未来可能会使用到的一些数据库技术。当前使用了主备MySQL 作为主数据库,并使用Redis 作为缓存。未来随着数据量的增长,可以使用集群模式的MySQL 和Redis。ES(Elastic Search)数据库可以作为未来全文搜索,如日志搜索所用。NoSQL 作为实时数据库,用于支持数据统计的需求,也可以作为监控机器人及管理系统运行情况的数据库。

图4 运维管理云平台架构

业务层以模块化的形式列举了系统所提供的各项功能,如用户管理、权限管理、菜单管理、数据字典、告警消息、统计报表、机器人管理、任务管理等。

业务层之上是一个API 层,封装了后台服务与前端或其它服务间通信的协议层差异,保证业务层的相对稳定。第三方平台可以通过API 层,访问系统提供的数据。

最上层为交互层和边缘端,前端设备通过Web Socket 与云平台进行数据交互,Web 客户端使用Vue 技术栈进行开发,通过RESTful 接口规范调用管理平台的接口进行数据交互。另外,管理平台通过Web Socket 向页面进行实时信息的推送。在边缘计算设备和云端系统之间的消息数据通过Web Socket 基于HTTPS 协议进行传输,数据传输格式为json 格式。对于占用带宽和资源较大的图片等数据采用ZMQ 以文件流的方式进行传输。

Web 服务器收到消息数据后,进行各种相关的业务处理,将处理结果保存到缓存和数据库中。Web 服务器收到图片和地图后,进行相关处理,将媒体文件保存到磁盘,并将媒体相关信息保存到数据库。用户使用WEB 客户端对系统进行访问。对于业务数据的查询、添加、修改、删除等操作,Web 客户端通过Post/Get请求,以Restful 方式调用后台程序的接口,数据传输协议采用HTTPS 协议。

Web 服务器后台程序收到请求后,进行相关业务处理,将处理结果返回给Web 客户端,数据传输以json 格式进行。对于需要实时展示的数据,Web 服务器通过Web Socket 向Web 客户端主动推送相关数据,客户端收到后进行实时展示。

系统采用当前流行的前后端分离技术进行开发,其中前端通过Axios 封装的post 或get 请求,调用后端接口,进行数据交互。对于边缘端设备上传的数据,云平台服务器使用Redis 进行缓存,并保存到数据库。对于需要实时展示的部分数据,云平台服务器通过Web socket 向前端页面进行推送,页面获得数据后进行显示。

3.2 视觉识别软件设计

国内外对于智能监控系统中异常行为检测算法的研究已经有很多年,学者们不断地设计出更优化的算法[10]。基于神经网络智能识别算法,对典型事件做出自我判断并识别预警:如人员聚集预警、工程车辆种类及数量、人员轨迹行为分析、管道周边异常对比等典型目标进行发现。经前期数据集训练后,后期可完全脱离人员监管,可交由神经网络系统自动值守真正做到24 h 不间断值守,大幅提升监管效率及安全手段,降低人员成本。基于神经网络模型训练后的车辆与人员识别效果如图5、图6 所示。

图5 车辆识别效果

图6 人员识别效果

系统为了满足低功耗、高待机的需求,配置前端设备为ARM 架构的低配设备,在运算能力较低,所以本系统采用轻量化的模型,如YOLOv5、PP-YOLO、Efficient Det、Mobile Net 等。该类模型网络规模较小,可以在算力受限的边缘计算设备上运行,同时较低的运算量可以降低模块的能耗。基于YOLOv5 模型的模型架构以及运算效果如图7、图8 所示。

图7 YOLOv5 目标检测网络的结构

图8 YOLO 不同版本推理性能对比

将YOLOv5 部署到边缘计算设备Jetson TX2后,对于512×512 的图片,其最高推理速度可达40 FPS,同时保持其功耗在5~10 W。考虑恶劣情况下电池电量受限,边缘计算设备可有效降低电量消耗同时具备前端AI 识别功能。后台由于运行环境为云平台服务器,所以可以满足智能识别算法的运行条件。对于后台识别功能,尽可能选取准确率较高的识别算法如EfficientDet-D7 网络,这样可以达到前端报警后、后台进行二次确认的目的。

对于高风险和临时施工区,有可能遇到极端恶劣天气,此时降低前端设备的能耗至关重要。因此可以依据电池电量以及电量的消耗情况,有计划的改变识别的频率和补光条件。例如当边缘设备的电池电量满格时,前端识别功能可采用较高的识别帧率(≥10 FPS),当设备电池电量降低到1/2 时,可以将识别帧率减半为5 FPS,且仅在需要识别时进行补光操作。通过动态的调整AI 识别模块的运算负载和硬件设备的补光时机,降低整机功耗。

4 实验结果与分析

4.1 实验步骤和方法

为了评估基于云边端分布式系统架构和常规X86 的单机/服务器模式系统架构的区别,使用阀门开关识别模型分别在基于ARM 平台和基于X86 平台的计算设备上运行,并查看CPU使用情况,GPU 使用情况以及模型推理的耗费时间,以此对本系统架构的性能进行评估。

4.2 实验数据分析

X86 服务器连续运行开关识别模型后显卡及CPU 占用情况,显存780 M,GPU 占用率约8%,CPU 占用不明显,模型推理时间0.012 s。系统在Jetson TX2 平台上连续运行开关识别模型后,显存占用3 GB,GPU 占用率90%,CPU 占用不明显。模型推理时间0.15 s。

4.3 实验结果分析

由上述对比试验结果可知,对于视觉识别的轻量化单一小模型可以在ARM 平台上正常运行,但是模型运行对系统内存占用较大,不建议在边缘端设备直接运行大型复杂模型或者并行运算,对比效果见表1。

表1 系统性能对比

由于视觉识别的推理模型没有进行压缩,本次对比实验使用f32 进行推理,可能是导致显存占用变大的原因。后续如果对推理模型压缩后,GPU 占用率应该可以进一步下降。后续工作可以对推理模型进行压缩和优化,尝试在云边端架构上进一步加强边缘端设备的运行效率。

5 结束语

本系统基于“云—边—端”分布式架构设计,通过前端部署的摄像头、云台、环境传感器等获取现场数据,采用ARM 平台作为边缘计算设备对需要实时反馈的现场视频进行处理,依赖云平台部署的运维管理系统完成大规模的视频数据计算和分析。系统将大量运算迁移到云端,并通过采用低功耗的Jetson TX2 平台完成边缘计算,能够实现长待机、不间断24 h 工作。

系统实际测试结果表明,该分布式系统架构能够满足用户实际使用需求,在本地完成必要的实时性运算后,大量的运算配置在云端完成。边缘段设备的CPU 和GPU 占用都在可控范围内,因此能够满足远程的燃气系统设备实时监控与视觉处理。由于前端边缘计算设备需要配置足够的算力才能覆盖多种数据处理场景,因此未来基于本系统可以在视觉模型优化以及计算优化方面进行改善,从而能够扩展应用场景。

猜你喜欢

边缘架构服务器
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
服务器组功能的使用
理解Horizon 连接服务器、安全服务器的配置
构建富有活力和效率的社会治理架构
PowerTCP Server Tool
一张图看懂边缘计算
计算机网络安全服务器入侵与防御
VoLTE时代智能网架构演进研究
在边缘寻找自我