您好, 访客   登录/注册

基于边缘计算模型的智能视频监控系统的设计

来源:用户上传      作者:

  摘要:面对视频监控的应用场景及技术需求,以云计算为代表的集中式数据处理模型在资源需求方面开销较大,过度依赖于云计算中心的网络带宽,在实时性等方面也难于满足视频处理的需求。本文提出一种适用于视频监控场景的边缘计算模型,从计算、网络带宽和存储3种主要资源为切入点,设计系统架构,在利用边缘节点的计算能力完成视频的预处理,构建Docker容器化平台,采用分级调度策略,降低网络拥塞问题。通过测试,该模型可以有效降低视频监控场景下的计算、存储及网络传输等开销。
  关键词:边缘计算模型;智能视频监控;Docker容器;调度策略
  0引言
  近年来,本校以建立智慧校园体系为目标,启动了信息化改造升级工程,其核心目标是建立综合安全监控系统。在图书馆、教室、走廊、校道及其它公共场所部署大量的摄像机,以满足各类安防视频采集的要求。然而,海量视频信息的产生也给信息化系统建设带来了存储、传输等方面的问题。
  云计算技术已日趋成熟,应用也越来越广泛。利用云计算技术构建智慧校园体系,采用资源整合的方式,可以降低项目建设成本,为用户带来按需扩展等优点。但集中式资源管理方式,在面对监控系统的应用场景,存在资源需求方面开销较大的问题。海量视频的传输、存储及分析都将消耗云计算中心的大量资源。在实时性方面也难于满足视频处理的需求。
  基于上述问题,本文提出在智慧校园体系中,部署基于边缘计算的视频采集框架及容器化应用。在边缘计算模型的视频监控系统中,利用边缘节点部署运动侦测算法,对边缘设备采集的视频流进行运动目标检测等预处理,减少冗余信息,降低系统对存储及传输的需求。部署容器化平台,带来更好的调度特性,解决边缘计算节点的资源调度问题,提高云计算中心的整体性能。
  1 相关工作
  1.1边缘计算
  随着技术的发展变革,智能终端的普及,应用场景越来越复杂。以云计算模型为代表的集中式数据处理模式,已经不适用于海量实时数据的处理。如直播、在线教育、智慧城市、智能安防等。针对这一问题,以“数据处理应更靠近数据源头”为核心理念的边缘计算模型应运而生。
  边缘计算(Edge Computing,EC)经过近年的发展,其定义和说法有多种,边缘计算产业联盟对边缘计算的定义是指在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的开放平台,就近提供边缘智能服务,满足行业数字化在敏捷连接、实时业务、数据优化、应用智能、安全与隐私保护等方面的关键需求。它可以作为联接物理和数字世界的桥梁,使用智能资产、智能网关、智能系统和智能服务。
  1.2 智能视频监控
  智能視频监控系统(Intelligent Video SurveillanceSystem,IVSS)是指不需要人工干预的情况下,利用计算机视觉、图像及视频分析算法,对视频采集设备所拍摄的流式视频图像进行分析,对视频中的运动目标进行检测、识别和跟踪,在此基础上对目标进行分析和行为判断。当发现异常情况时进行告警处理。
  在智能视频监控系统中,一般包含视频采集、图像预处理、运动目标检测、运动目标跟踪、运动目标分类、行为描述与理解和告警处理模块。相较于传统的监控系统,智能视频监控系统具有许多优点:
  (1)准确率高。在系统的前端集成视频采集、分析模块,用户可以根据需要对异常情况的特征进行详细定义,降低漏报和误报,提高告警的准确率。
  (2)响应速度快。系统中可以实现自动检测功能,识别异常情况,告警模块可以迅速提示安保人员查看监控系统或赶赴现场。可以提高异常事件的处理速度。
  (3)可靠性高。系统可以实现7*24全天候的自动分析处理功能,减少了现场人工监视,避免监视人员因疲劳等情形忽略视频中的异常情况。
  在智慧校园体系中,监控系统使用大量的摄像机进行7* 24小时的监控,将产生海量的视频数据。因此,通常在视频采集模块加入运动目标检测算法,在边缘节点对实时视频流进行预处理。提高视频的处理效率,避免了云计算中心产生大量的计算开销;算法可以筛选出有效视频帧,减少监控视频中的冗余信息,有效降低大量视频采集设备获取的海量视频信息对存储空间及网络带宽等方面的开销,达到节约建设成本的目的。
  1.3 容器化调度
  云计算是一种将计算资源按需供应给用户的新型商业模式,能满足用户复杂的动态资源需求,从而减少用户在购置基础设施及硬件维护成本方面的投入。传统的中心化、粗粒度的虚拟化架构,不太适合于海量视频信息的处理。
  Docker容器技术的出现为云计算以及企业IT架构的演进带来了新的革命。Docker相较于传统虚拟化技术减少了Hypervisor层带来的性能消耗,大幅提高了虚拟化性能,为云上部署的计算集群的性能优化提供了良好的基础。实现容器化应用平台。通过提供视频处理的镜像文件,简化了每个边缘计算节点部署的重复性工作,降低了部署的复杂性,实现敏捷化部署。
  充分利用Docker容器的特性,获取节点的资源状态信息,为边缘计算模型的资源调度提供支撑,提高资源利用率,达到节约建设成本的目的。
  2 视频监控需求分析
  2.1 运动检测功能需求
  在监控场景中,往往存在大量的摄像机,如果需要及时发现异常情况,通常都要安排大量的人工对视频进行7* 24小时的实时排查。同时,因为视频信息流具有持续性的特征,视频信息的传输也将带来巨大的网络负载:随着时间的推移,监控系统产生的视频数据也将带来巨大的存储压力。如果将这些海量视频数据直接上传到云计算中心,一方面视频信息的处理需要消耗大量的计算资源,另一方面数据的传输和存储也将面临巨大的压力。
  监控场景中视频信息的存储,其最主要的目的是记录场景中的变化信息及可疑信息,如果不采用合适的技术或方法,监控系统将占用较大的网络带宽,传输长时间记录无变化的监控场景,有效信息含量低,视频信息也失去了存储的意义。   因此,在智能视频监控系统中。运动检测技术是最基本也是最重要的技术。这种技术通过合适的算法,检测视频数据流中的运动目标,替代人工识别的工作。通过设置一定的参数,发现运动目标在监控场景中的运动特征或位置信息,实现自动告警或判断视频信息是否达到存储或传输备份的要求,可以有效的节省存储空间,降低网络传输的压力。
  在各类运动检测算法中以光流法、背景差分法和帧间差分法最为常见。
  2.1.1 光流法
  光流法最初是由Horn和Schunck提出。将二维速度场与灰度关联,引入约束方程,得到光流计算的基本算法。光流法算法较为简单,易于实现,但是当光照变化、物体被遮挡时,会影响光流场的分布,将增加算法的运算量,针对实时应用场景时存在一定的缺陷。
  2.1.2背景差分法
  背景差分法通过选取特定的图像作为背景帧,然后将当前需要判断的视频帧或图像与背景帧做差分运算,进而判断是否存在运动目标,背景差分算法的处理过程如下:
  (1)选取没有运动物体进人监控画面时的图像作为背景帧,定义为background(x,y);
  (2)选取当前需要比较判断的帧,定义为framek(x,y);
  (3)设定阈值为T,将当前帧framek(x,y)与背景帧background(x,y)做差分运算,差分的结果与阈值T进行比较,二值化得到运动目标。如果大于阈值T,则判断有运动目标,如果小于等于阈值T,则判断为没有运动目标。形式化计算公式表示如下:
  detect(x,y)为当前帧与背景帧经过差分运算、二值化后得到的二值图像,仅当detect(X,y)=1时,表示侦测到运动目标。背景差分法只需要进行一幅帧的差分检测,速度快,准确度高;但是背景差分算法很大程度上依赖于背景帧background(x,y)的可靠性,如果光照、阴影等变化,需要不断的调整背景帧,以适应环境的变化,因此,背景差分算法较适合于固定摄像机。
  2.1.3两帧差分法
  两帧差分法通常也称为帧间差分法,其算法设计思路与背景差分相似,采用改进的方式,选取相邻的两帧图像,将当前帧。framek(x,y)与上一帧。framek-1(x,y)进行灰度化处理后,进行差分运算,帧间差分法不会受到缓慢光线变化的影响,算法简单易实现。形式化计算公式表示如下:
  但只能检测到前后两帧变化的部分,不能检测到重叠部分,易出现边缘模糊不完整等问题,当物体移动缓慢时会出现误判或空洞现象。
  2.1.4三帧差分法
  在两帧差分法的基础上。研究学者提出了三帧差分法,基本思路是提取连续三帧图像framek-1(x,y),framek(x,y),framek+1(x,y),算法流程如图1所示。
  算法计算过程如下:
  (1)将第k-1帧与第k帧按公式(2)进行帧间差分法运算,得到detect1(x,y);
  (2)将第k帧与第k+1帧按公式(2)进行帧间差分法运算,得到detect2(x,y);
  (3)将detect1(x,y)与detect2(x,y)的计算结果进行与运算,形式化的计算公式表示如下:
  其中,DETE(x,y)是逻辑与的运算结果,與两帧差分法类似,三帧差分法在检测运动目标的过程中,仍存在空洞现象,但是三帧差分法可以定位出运动目标在监控画面中的位置,提高了运动检测的精确度,检测结果比两帧差分法更准确。
  基于上述运动检测算法的分析,在本文的研究过程中,可以采用三帧差分法实现运动检测模块,构建校园网的视频监控系统,降低系统构建的难度,实现对视频信息的选择性存储,筛选出有效视频帧,减少监控视频中的冗余信息,达到提高视频信息有效性的目的。同时,降低大量视频采集设备获取的海量视频信息对存储空间及网络带宽等方面的开销,达到节约建设成本的目的。
  2.2 存储与网络带宽需求分析
  2.2.1 摄像机码流分析
  为满足智慧校园的建设要求。在监控系统中以选用高清规格的摄像机为主。摄像机的规格各异,产生的数据量也各不相同。以HD数字摄像机为例,按2048Kbps码流进行计算,每个摄像机每小时产生约900M的视频数据。每天产生大约21G新视频数据。三种常见规格的摄像机,产生的视频数据见表1.
  2.2.2 视频数据传输与存储分析
  以教学楼为例,楼层建筑为回字形,上下方为走廊通道,左右两边各分布5间教室。每个楼层有10间教室,上下左右共计4个廊道。综合监控系统的建设成本,4个廊道的两端各选用安装1路FHD数字摄像机,在每个教室中选用安装2路HD数字摄像机,每个楼层合计28路两种规格的摄像机。
  在系统正常运行时。智能视频监控系统中的每路摄像机都将实时产生两个数据流,用于实时监控传输的视频数据流和视频数据文件传输至云计算存储中心的存储数据流。当发生应急情况时,监控中心的工作人员需要实时查看视频监控内容,云计算的存储中心也将实时存储视频信息,监控系统的网络带宽将达到最大需求。
  以表1中摄像机规格为例,当应急情况发生时,每个楼层实时产生的最大视频数据流和最大存储数据流均为:4Mbps* 8路+2Mbps* 20路=72Mbps。因此,按楼层计算,最大的网络带宽需求合计为144Mbps,对云计算中心的存储写入的最大速率要求为72Mbps。按相同的建设规格进行部署,若整幢建筑物发生应急情况,以6个楼层进行计算,最大的传输带宽需要864Mbps,最大存储写入速率需求为432Mbps。   2.3 管理需求分析
  智能视频监控系统一般都包含了视频采集、图像预处理、运动目标检测、运动目标跟踪、运动目标分类、行为描述与理解和告警处理模块,相应管理功能的需求也是围绕上述模块进行设计,提升系统的准确率和响应速度,提高系统的整体可靠性,为管理人员提供便捷的管理功能。
  基于边缘计算模型的视频监控系统,相较于传统的IVSS,除包含上述所涉及的功能,采用边缘计算模型,分散式的在边缘节点对视频信息进行预处理,存储初期数据。因此,设计采用容器技术,构建容器化的资源调度平台,采用合适的策略,实现网络带宽资源的调度控制,上传视频文件至云计算中心,实现视频文件的备份存储,降低网络负载和存储空间的需求,提高资源利用率,达到降低系统建设成本的目的。
  3 方案设计
  3.1 体系架构设计
  以教学楼的结构进行体系架构图设计,基于边缘计算模型的智能视频监控系统规划为以下4个角色:边缘计算单元(Edge Computing Unit,ECU)、智能视频监控单元(Intelligent Video Surveillance Unit,IVSU)、边缘计算节点(Edge Computing Node,ECN),云计算数据中心(Cloud Computing DataCenter,CCDC)。体系架构如图2所示。
  (1)ECU。边缘计算单元,具有一定计算能力,可以实现对摄像机采集的视频信息进行预处理,并提供文件存储及网络传输功能。在后续模型验证中,采用树莓派Zero w单板计算机,底层安装Linux,为后续提供Docker调度接口。
  (2)IVSU。智能视频监控单元,在ECU模块的基础上,安装motionEyeOS及CSI摄像头实现智能视频监控单元,部署视频采集点,如:教室、走廊、实训室、图书馆等。
  (3)ECN。边缘计算节点,具有较高的计算能力,并可以提供较大的存储空间,用于临时或长期存储IVSU产生的视频数据。可以根据摄像机的数量选择服务器或其它通用计算机作为硬件支撑环境,易于部署容器化平台,为后续资源调度及模型验证提供支持。
  (4)CCDC。云计算数据中心,部署大量的服务器及存储硬件,采用KVM、VMware等平台或工具,构建云计算资源管理中心,为智能视频监控系统存储海量的视频信息。
  3.2 视频采集框架设计
  进行视频采集框架设计时,在保障可用性的情况下。采用树莓派作为视频采集框架的硬件基础设施,降低建设成本。基于开源平台部署容器,在去中心化环境中,提供调度策略的支持。
  3.2.1 开放式硬件架构
  树莓派(Raspberry Pi)是一个开放式,易于扩展的小型的单板计算机,功耗低,可按需定制,提供所有预期的功能或能力。广泛用于实时图像、视频处理和基于IoT的各类应用程序。视频采集框架采用由树莓派Zero W作为核心组件的边缘节点,通过加载CSI摄像机,用于实现监控系统的视频采集功能。
  树莓派Zero W单板计算机,设计紧凑,功耗低,通过Micro USB接口供电,作为视频采集成本低。该单板计算机采用BCM2835作为SoC,集成了通用计算机中的各类功能。在计算模块中,采用ARM1176JZF-S,提供了700MHz的计算能力:在视频模块中,采用了Broadcom VideoCore IV技术。能够实现每秒30帧的1080p的H。264视频编码或解码,同时提供了miniHDMI输出功能:在网络连接方面,提供了Wifi及蓝牙模块,支持802.11n连接:在其他接口方面,提供了1个mini USB On the Go接口、一个Micro SD卡的接口和40pin的GPIO接口,针对摄像机提供了CSI接口,可以適配树莓派Camera Module V2摄像机,采集高达800万像素的高清视频。
  3.2.2 开源视频采集系统
  motionEyeOS是一套嵌入式操作系统,系统采用BuildRoot工具完成交叉编译,适合于部署在单板计算机上,提供实现完整的视频监控系统。视频监控系统的前端是采用Python编写的motionEye程序,提供web接人功能;后端采用高度可配置的motion程序,可以实时查看视频流,也可以实现面部识别、动态监测、摄像机直通录制、记录活动图片和创建动态视频文件等功能。在2.1节的需求分析的基础上,对motionEyeOS进行改进,简化流程,采用三帧差分算法,实现运动检测功能。
  3.3 容器化资源调度方案设计
  在调度方案的设计过程中,负载是影响应用资源需求的主要因素。结合智能视频监控系统的实际应用,系统瓶颈主要集中在网络及磁盘I/O方面。因此在设计调度方案时。先利用Docker容器引擎的特性,通过周期性的采集CPU、内存、磁盘I/O、网络带宽等资源负载情况信息,为容器化调度方案提供信息支撑。
  在调度模式上,充分体现边缘计算模型分散处理的特点。针对图1所示的体系架构。采用两级调度模式,即云计算数据中心(CCDC)对边缘计算节点(ECN)进行调度,边缘计算节点(ECN)对边缘计算单元(ECU)进行调度。执行调度任务时,发起的一方为主动调度对象(Active Scheduling Object,ASO),另一方为被动调度对象(Passive Scheduling Object,PSO)。
  在式(4)中,Asoi表示对应CCDC或ECN中,第i个主动调度对象(ASO)。Acpu表示ASO中的CPU资源的剩余情况,Amem表示ASO中的内存剩余情况,Anet表示ASO中网络带宽的剩余情况,上述3种资源以百分比计算,取值范围为(0,100);Ar表示ASO中磁盘I/O操作的读状态;Aw表示ASO中磁盘I/O操作的写状态;Atasked表示当前ASO中是否被上一级执行调度任务,结果为逻辑值,设定为(Ture | Fake),Ture表示当前正在被执行调度任务,False表示未被执行调度任务。   在式(5)中,Psoj表示对应ECN或ECU的第j个被动调度对象(PSO)。Pcpu表示PSO中CPU资源的剩余情况,Pmem表示PSO中内存资源的剩余情况,Pnet表示PSO中网络带宽剩余情况。与公式(4)类似,上述3种资源以百分比计算,取值范围为(0,100);Pr表示PSO中磁盘I/O操作的读状态,Pw表示PSO中磁盘I/O操作的写状态;Ptasked表示PSO是否被上一级执行调度任务,结果为逻辑值,设定为(Ture | False),Ture表示当前正在被执行调度任务,False表示未被执行调度任务;Presp表示从被PSO到ASO之间的网络状态:Pltime表示PSO上一次成功被执行调度任务的时间,Psize表示需要调度处理的文件大小。
  在式(6)中,Taskij表示主动调度对象Asoi发起调度任务至被动调度对象Psoj的执行参数。执行步骤如下:
  (1)预设系统调度周期的时间长度为Schetime,然后通过系统调用,取得系统当前时间,作为调度任务的启动时间:Tstime。
  (2)将启动时间Tstime与Psoj的Pltime参数进行计算,获取调度优先级,公式如下:Tpri=(Tstime-Pltime)÷Schetime,Tpri的数值越大,则优先级越高,需被调度紧急程度越高。
  (3)根据网络状况及Psoj的Psize參数进行计算,假设Asoi与Psoj之间的网络状态处于理想状态,则可以估算调度任务的最小执行时间,Texectime=Psize÷(Anet|Pnet),Anet与Pnet取其中的最小值。
  (4)调度策略采用较为简洁的权重轮询调度(Weighted Round-Robin Scheduling)算法,以Tpri作为权重,通过轮询方式在边缘计算模型中的各节点间进行调度。根据调度任务的完成情况,设定Taskij的值为逻辑值(Ture | False),Ture表示当前任务已完成,False表示调度任务未成功。
  4 模型测试
  4.1测试环境
  为减少对正常教学秩序的影响。选择暑期前进行测试,测试地点为全天对学生开放的信盈达CDIO智创工作室。基于图2所示的体系架构图进行部署,视频采集框架采用3.2节所述的设计,部署ECU节点,并安装摄像头,配置网络,构建IVSU。相关设备及主要参数见表2.
  在工作室完成IVSU的部署后,IVSU设备采集的视频通过无线网络进行数据传输:楼层的设备间部署边缘计算节点(ECN);再经校园网络传输至云计算数据中心(CCDC),ECN设备采用一台DELL服务器,其主要参数见表3.
  在本次测试过程中,未进行云计算数据中心(CCDC)的设计与部署,在学校现有的云计算数据中心申请一台虚拟机(VM),安装配备相应的软件环境,作为模拟CCDC,用于存储数据,实现调度功能。其参数见表4.
  4.2模型测试
  4.2.1 运动检测功能验证
  利用IVSU,录制一段视频。提取其中第1057帧、第1058和第1059帧进行测试,如图3所示。
  将描述的三帧图像,进行二值化处理后,如图4所示。
  在本文设计的模型中,采用三帧差分算法进行运动目标检测,将不变化的进行二值化处理,转化为黑色背景,通过算法提取的运动目标,轮廓较为清晰完整,结果达到预期的运动检测需求,如图5所示。
  4.2.2 存储需求验证
  根据第三部分的设计,同时也为了简化存储文件的管理,采用分时间段存储视频流的方式,记录视频信息。以每300s为一个时间段,即5min的时间长度为一个视频文件。当存储的视频帧中检测发现运动物体后,标记视频记录文件的状态,存储视频信息。连续5min视频帧中没有运动物体时,删除无运动状态的视频文件,达到节约存储空间。
  信盈达CDIO智创工作室的标准开放时间是从早上07:30至夜间23:00.在部署IVSU前,调查学生进入工作室的规律,工作室内存在活动的时间主要集中在早上07:30至12:15,下午14:10至晚上的23:00,其余时间活动较少。每天无活动时间,平均约10h 25min,占全天比例约43.40%。经过6月10日至7月7日,持续4周的测试,表5中的第1周至第2周为学校的正常教学周次:第3周为考前复习周;第4周为考试周。视频监控记录情况如表5所示,表中数据为文件个数,每个视频文件长度为5min。
  通过上述的测试数据可以看出。视频记录文件的数量与学生活动成正比关系。在学校的正常教学周次,学生进出工作室及在工作室内的活动较为规律,视频存储数量基本持平,临近期末数量稍有增长。第3周对应为考前复习周次,学生在工作室中的实践活动增加了,数量有所增加。第4周为考试周,工作室内的活动降低较为明显,且第4周的周五下午开始放假,关闭工作室后,视频记录文件数量记录为0个。
  统计分析其中的数据,对比加入运动检测功能的视频监控,以第1周至第3周的数据做分析对比未加入运动检测功能的视频监控。其所存储的视频文件数量约为每周1176个记录。约节省41.67%的存储空间。因此,如果在全校范围内开展应用,在存储方面可以明显降低建设成本。
  4.2.3 调度任务验证
  在进行测试过程中。暂未全校性部署智能视频监控系统,调度验证以边缘计算节点(ECN)至边缘计算单元(ECU)的测试为主,检测智能视频监控系统对网络带宽的利用情况。
  利用Docker容器引擎的轻量化等特性,通过周期性的采集CPU、内存、磁盘I/O、网络带宽等资源负载情况信息,为容器化调度方案提供信息支撑。
  假设共有n个ECU节点,则ECU列表为:ecu={ecu0,ecu1,…,ecun-1},weight(ecuj)表示第j个ECU节点的权重,即公式(6)中计算后的Tpri,j也表示为上一次调度的对象Psoj,max(ecu)表示所有节点中的最大值。gcdnumber(ectt)表示ECU列表中所有节点权值的最大公约数。变量j初始化为一1,curweight,表示当前的权重,初始化为0.
  调度执行伪代码如下:
  增加相应的权重,判断各节点的优先级,避免某个ECU节点的数据长期未备份。同时,通过相应的权重,充分考虑网络流量的负载等情况,避免边缘计算模型中个ECU节点的集中调度,导致网络拥塞的情形,降低整体的网络建设成本。
  5 结束语
  本文提出的方案引入边缘计算模型。在校园网内有机融合云计算数据中心与边缘计算环境。采用开源及开放式软硬件架构,充分利用边缘计算节点的计算资源,实现运动检测功能,有效降低监控系统对存储空间的需求:并利用Docker容器化平台收集各节点资源状态信息,设计资源调度策略,提高网络带宽的利用率。智能视频监控技术是大数据时代监控技术发展的趋势,因此,在后续的工作中,将结合ECU的计算能力,在智能视频监控系统中,实现目标识别及跟踪等功能:优化存储空间,采用分布式弹性存储机制,充分利用ECN的存储能力。
转载注明来源:https://www.xzbu.com/8/view-15125487.htm