基于树莓派的智能视频监控终端系统的设计和实现
2018-07-09徐耀林梁旭
徐耀林 梁旭
摘要:城市规模也迅速增加,对城市安全方面的关注度也越来越高。由于视频监控系统是一种有效的安防手段。现有的视频内容分析一般都在云端运行,一些监控终端其边缘端没有计算能力,有一部分监控终端有计算能力,但其性价比较高,这种情况并不可取。为此,本文提出了基于边缘计算的智能视频监控系统架构,在前端对大规模的监控视频数据进行预处理,减轻视频数据传输对云端负载较重的问题,提高云端计算效率,在大规模的数据下进行视频内容处理以及达到实时性目标。
关键词:视频监控系统;云计算;边缘计算;智能摄像头终端
1 智能视频监控系统研究现状
智能视频监控是利用自动视频分析技术进行视频监控的技术。[1]其目的是通过自动检测、跟踪和识别感兴趣对象,理解和分析他们的活动,有效的从监控终端中收集的大量视频数据中提取有用的信息。[2]当检测到当前监控场景中出现符合某种规则的行为时,自动向监控系统发出提示信息,或采取某种对应的措施,以通知监控人员进行人工干预,从而提高安防系统的智能化水平。
随着经济的快速发展,城市规模也迅速增加,对城市安全方面的关注度也越来越高。由于视频监控系统是一种有效的安防手段,因此对视频监控终端的需求急剧增加,使得视频监控系统的监视范围急剧扩大,系统中监控终端的数目也随之增加,像面积占地3000余亩的 校内范围内,视频监控系统包含大约3700多部监控摄像头。视频监控系统广泛用于银行、交通、监狱、居民小区等场合,[3]特别是人员流动最大的区域,基本上每隔一段距离,都会安装一个视频监控终端,以保证能跟踪被监控对象,这些场所往往安装有成千上万个视频监控终端。
近几年,现代城市面临着紧急情况,如交通事故、恐怖袭击和犯罪等情况,[4]公众对自身人身安全、财产安全需求也在不断提升,视频监控系统也越来越多的被应用于企业、学校、银行、居民区中。为了及时检测到异常行为,使得智能视频监控系统的监控次数增加,监控对象也随之增加。
安全问题一直是世界上所有政府部门、企事业单位密切关注的问题。视频监控系统在城市公共安全、智能交通、打击犯罪等领域,发挥着巨大的作用,促进和谐社会的建设和健康发展,保卫着社会的稳定和繁荣。对于危害公共安全事件,我们需从视频的内容来进行处理,在对视頻内容进行处理时,需保证视频监控终端正常运作和视频内容清晰。但大多数视频监控作用的发挥主要依靠监控室的值班人员实时观看监控画面,对画面出现的异常事件作出判断,实现警联动指挥。在如此大规模的视频监控系统中,逐个查看监控终端,这会消耗大量的人力资源和时间消耗。研究表明,专业监控人员在仅仅监视2个监控器的情况下,22分钟后将错过95%的行为。[5]因此工作人员根本不可能管理和监看如此大规模的视频监控终端,视频监控系统己经失去原来拥有的预防和积极干预能力,几乎成为一种提供事后取证录像的工具。
针对此情况,我们需要实时监控视频内容,并对视频内容进行分析,争取做到能预测和实时监控人的行为,这将会大大减少突发事件的发生,减少人员伤亡和钱财的消耗。智能视频监控系统充分整合高速的网络带宽、快速的计算机处理能力、无线的视频存储容量,不仅具备视频采集、视频传输、视频存储、回放查看的功能,同时将智能性赋予监控设备,实时地处理读取数据,分析监控场景,检测异常行为并及时预警,实现无需人工参与的主动监督防控作用。智能监控系统在银行、广场、商场、停车场等的视频监控系统中,可以分析并检测出偷盗、抢劫。、打架、跌倒、集会等行为,也用于老人看护,能够检测出跌倒等行为,还应用与体育运动的姿态分析和轨迹分析等,但其存在一些问题,误报率较高,计算的复杂度较高以及监控系统实时性较低等。
现有的视频内容分析一般都在云端运行,一些监控终端其边缘端没有计算能力,有一部分监控终端有计算能力,但其性价比较高,这种情况并不可取。
2 智能视频监控系统存在问题
智能视频监控系统的使用需将数据传输到云端进行判断,在如此大规模的视频监控终端下,所有监控终端的数据一起传输到云端,并在云端进行运算,这使得云端会出现大量的问题,由于视频监控终端的个数巨大,云计算需要大量的时间检测所有的视频监控终端,这显得云端的计算能力不足。
云计算中心具有较强的计算和存储能力,[6]这种资源集中的大数据处理方式可以为用户节省大量开销,创造出有效的规模经济效益。但是在如此大规模的视频监控终端下,会存在大量的数据传输到云端,在此大规模数据下,云计算模型会出现问题:1)云计算架构下的数据增加速度与云计算能力的增加速度无法正常匹配,海量数据增加的速度较快,使得计算能力降低;2)从网络边缘设备传输到云数据中心的海量数据增加了传输带宽的负载量,造成网络延迟时间较长,也增加云端的负载承受力,造成异常行为检测时间较长;3)边缘设备数据涉及个人隐私和安全问题变得尤为突出;4)边缘设备具有有限电能,数据传输造成终端设备电能消耗较大等。总之,云中心需要处理的视频监控的数据量较大,在这数据管理结构随着视频监控规模的扩大,不仅给网络传输带宽造成重大负担,也会导致视频大数据处理的实时性较低,这将直接影响公共安全领域对突发事件的判定和决策。
云端处理大量的视频数据,使得视频监控系统的实时性降低。在此情况下,很可能会丢失大量有用的数据,导致无法查看到对我们有用的信息,这对公共安全方面存在重大的隐患。由于无法实现视频监控系统的实时性,使我们无法预测和阻止犯罪的发生,以至于错过对案件的处理和跟踪。
因此,如何处理如此大规模的监控终端数据,减轻其对云端负载较重的问题,提高云端计算能力,如何在这大规模的数据下进行视频内容处理以及达到实时性目标,这一问题是现今最引人注意的问题和一直在努力改正这一状况。
3 基于智能终端的视频系统架构
本文提出了具有前段智能处理能力的智能监控摄像头基本框架,本框架包含三部分组成,分别为云端、边缘端、用户端。从边缘端获取视频,并在边缘端进行视频内容分析预处理,得到的数据传输到云端,在云端进行最后的分析,用户端主要从云端和边缘端中获取监控终端视频数据。
(1)边缘端。在边缘端读取视频片段之前,需先保证监控终端是在线状态,所以在前期需要进行网络检测。将获取的视频片段在边缘端进行视频内容预处理,例如图片颜色空间变换、特征提取的前期处理等,然后将监控终端视频处理的结果传输到云端。向云端发送之前也需检验边缘端到云端的网络是否出现异常,当不存在异常状况时,将数据发送到云端。此外边缘端还有一项功能为视频内容的识别。
(2)用户端。用户端主要是查看监控终端视频数据。在查看监控终端视频数据之前,需先查看边缘端到用户端以及云端到用户端的网络是否正常。检测到网络无异常之后,才能从云端或边缘端中读取视频数据。当用户查看的视频数据为实况数据,则从边缘端传输数据到用户端,在这种情况下用户端从边缘端读取视频数据。当用户端查看某一时间段的视频数据,则用户端从云端读取视频判断。用户端还包含接收边缘端或云端发送的提示,该提示为说明监控终端出现异常。
(3)云端。在云端接收从边缘端发送的监控终端数据之前,需先检验云端到用户端的网络是否正常。当网络处于正常状态时,在接收从边缘端传输的监控终端视频数据。云端接收从边缘端发送的视频数据,并存储到云端视频数据存储库中。云端也接收从边缘端发送的处理后的视频数据,然后进行视频内容分析,例如对训练集进行训练等操作,并将训练的结果发送到边缘端,云端也向用户端发送提示信息,提示该视频监控终端是否出现异常现象。
视频监控系统长期以来一直被用于监控安全敏感区域。[7]传统的视频监控系统无自动报警装置,需要人为查看视频监控终端视频内容是否出现异常现象,需要长时间查看监控终端的视频内容。如今的监控系统大多数为智能视频监控系统,该类视频监控系统能自动检测、跟踪和识别被监控对象的遵循某种特定规则的行为,当检测到此类行为时,该智能视频监控系统能自动向用户发出提示信息,提示用户该视频监控终端发生异常现象。在本文中所提出的智能视频监控系统架构,在具有传统智能视频监控的优点下,增加在边缘端的计算单元,该单元主要用于视频内容分析前期处理。该方法由于在边缘端进行部分处理,有利于改善云计算计算能力不足和对云端负载压力过大的问题;在边缘端计算,有利于保护监控终端视频数据的监控对象的隐私和安全问题。本文设计了一种基于边缘计算的智能视频监控系统,使用树莓派代表边缘端,设计过程如所述。
4 基于树莓派的智能监控系统的搭建
本节,以树莓派为例,搭建一种基于边缘计算的智能视频监控系统。架构[8]如图所示,
该架构包含4部分。这4部分分别为树莓派开发板、交换机、摄像头、电脑,其中摄像头连接到树莓派开发板上,树莓派开发板、电脑通过网线连接在交换机上并相互进行通信。摄像头为视频监控终端设备,树莓派开发板模拟边缘端计算单元,实时从摄像头取出数据并进行判断。树梅派的基本架构如图3所示。
该树莓派开发板的版本为Raspberry Pi Model B,其参数如下:
(1)BCM2837 64位1.2GHz四核ARM CortexA53
(2)1GB內存
(3)10/100自适应网卡
(4)802.11n WiFi无线网卡
(5)蓝牙4.1
(6)HDMI接口
(7)USB2.0接口
(8)MicroSD 卡插槽
(9)3.5mm音频输出接口
(10)40OIN GPIO接口
(11)GSI摄像头接口
(12)DSI显示接口
树莓派有512MB的RAM内存,存储所需的内存由SD卡提供。需要外部SD卡插入树莓派主板,外部SD卡的最小内存为8GB容量大小。
5 基于视频监控系统的异常检测技术
行为检测主要检测异常行为,所谓异常行为,常指违反社会文明准则或成群体行为习惯和标准的“反常”行为,现今行为检测技术,主要在云端使用深度学习对视频