赵方 潘志刚 卫晨
(1.西安航天化学动力有限公司 陕西省西安市 710025 2.西安邮电大学 陕西省西安市 710121)
视频监控技术运用以来,已经从初期的全模拟系统,中期的数字化系统,发展到了网络化系统,目前正在向智能视频监控系统蓬勃发展。生产企业引入视频监控系统,有利于各个监督部门实时、远程掌握企业生产状况,及时发现安全隐患。如果遇到不法事件,也能方便职能部门进行取证,有效地震慑不法分子的违法行为[1]。但是,生产企业本身具有组织结构庞大、结构复杂、服务多元化、以及以此带来的信息量巨大等特点。如果不使用科学和高效的智能系统,而是仅仅依靠人工来提高服务,会带来很多问题。要让视频监控系统智能化,就需要让视频监控系统不仅能够提供视频数据,而且能够自动对视频内容进行分析和处理,从而使得监控系统从“看得见”转变为“看明白”。
智能视频分析是计算机图像视觉技术在安防领域的一个分支,是一种基于目标行为的智能监控技术[2]。在现代计算机强大的计算能力支持下,借助计算机视觉、机器学习、模式处理等方法,将场景中背景和目标分离[3-5],识别出真正的目标,进而分析并追踪在摄像机场景内出现的目标行为[6-8]。近年来在人工智能领域最受关注的,非深度学习莫属[9,10]。深度学习网络在视频数据处理时具有优势,因其深层结构而可以从大量数据中自动学习特征,从而避免了传统方法手工设计提取特征的缺点,并成功运用于图像分类、人脸检测、人脸识别、物体检测、目标跟踪等领域[11-13]。通过训练可以自行抽取视频流中的有用信息,视频信号的监控、提取、检测到最后预警的全过程均不需要人为参与,具有全天候的可靠性。其次,不用增加其他硬件设备,提高已有视频监控系统中视频资源的利用率,充分利用生产企业已有资源,不增加额外资金投入。通过视频数据的大数据挖掘以及基于视频大数据的智能化应用,使得生产企业视频监控系统能够从海量视频数据资源中捕捉到监控画面中的异常,经过比对就可以实现对可疑目标的身份识别,及时发出报警信息,从而实现生产企业视频监控智能化。
针对生产企业重点区域监控的问题,结合人员流动的特点及安全管理的需求,本文以深度学习理论为依据,提出使用基于深度学习的智能视频监控系统来代替人工视频监控系统。最后按照标准化、易用性、可扩展性等总体原则,设计并实现了智能视频分析系统与视频管理平台,方便了生产企业对重点区域的监控和管理。
智能视频监控系统设计的主要原则是提取并识别视频中的异常,并发出安全警报,减少企业的安全隐患。其次,系统的操作界面应该简单明了,便于操作,满足企业易用性的需求,尽量减少工作人员的培训时间和企业费用与负担。系统的响应时间应该符合人的视觉和感觉范围之内,满足用户的需求。主系统与各个子系统之间的数据交换、修改和传输保持数据一致和同步。对系统数据格式及类型要加以限制,并进行验证。作为生产企业安防系统,系统内的数据多数属于生产企业内部商业机密或者个人隐私,所以安全保密性对系统来说非常重要。只允许认证用户才能登陆该系统,系统对每个用户都有权限设置,对登录名、密码以及用户重要信息进行加密,保证账号信息安全。注重系统的整体安全性,在数据传输保存的环节使用先进的安全技术减小数据丢失风险。
按照智能视频监控系统的应用需求,主要由智能视频识别系统和智能视频管理系统两部分组成,如图1所示。将整个系统按业务流程分为两大部分方便进行分析与设计,其中视频智能分析系统替代原有人工识别非法入侵的功能,进行自动识别;智能视频管理系统为视频分析系统的次级系统,进行非法闯入事件的报警、记录、查询等功能。
图1:智能视频监控系统设计
(1)智能视频服务器Linux 平台:乌班图(Ubuntu)。Ubuntu 具有出色的性能与良好的用户界面,主流驱动大都可以在安装包中找到,而且预装了许多常用软件。
(2)数据库是一个存放数据的仓库,并按照一定的数据结构来组织、存储的,本系统采用MySQL 数据库。
(3)集成开发环境:MyEclipse。MyEclipse 是对Eclipse IDE的扩展,它是功能丰富的J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。利用它我们就可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
生产企业视频智能分析系统由视频采集部分和视频处理部分组成。视频采集部分主要利用生产企业已有的基础有线视频监控系统作为主干网络,新增加的监控区域需要增加新的线路或无线摄像头。将采集到的视频信号传输到Caffe 服务器进行实时判断,当发现有非法入侵事件时,视频信息处理平台发出信号交由智能视频管理系统进行处理。视频智能分析系统结构如图2所示。
图2:视频智能分析系统结构
视频智能分析系统运行流程为:摄像头连续无间断运行采集所在区域的视频信息,并将该视频信息发送到视频处理平台。视频处理平台将视频处理为格式化的信息后转发到Caffe 服务器。Caffe 服务器中运行着预先训练好的判断模型(Model),当视频中出现的人是有许可的员工时服务器不做反应,当判断出进入该区域的人员没有权限时向视频信息平台反馈确认信号,视频信息处理平台接收到反馈信号后,将入侵信息发送至视频信息管理系统,流程图如图3所示。
图3:视频智能分析系统运行流程
生产企业视频智能分析系统由视频采集部分和视频处理部分组成。将采集到的视频信号传输到Caffe 服务器进行实时判断,当发现有非法入侵事件时,视频信息处理平台发出信号交由智能视频管理系统进行处理。
2.2.1 智能视频人脸识别
人脸具有区分不同个体身份的特征信息,这是人类视觉系统以人脸作为输入确定人身份的基础。智能视频人脸识别分为视频预处理、人脸检测、特征提出和分类识别三部分。图像预处理包括图像变换、增强、边缘检测、恢复、分割等。人脸检测是人脸识别的第一步,人脸检测的准确性对人脸识别有较大的影响。视频中包含有大量的背景信息,而这些背景信息对人脸检测毫无益处,必须要提取出含背景信息尽可能少的人脸图像,并实现准确定位。特征提取的目的是为了最小化类内差异而最大化类间差异,另外一个作用是降低图像的维数,减少图像的冗余信息,是实现高性能人脸识别的关键。特征提取后,将己提取的特征与己知的人脸特征进行比较,获得人脸的类别信息。本系统中选用Caffe 框架,对采集到的数据进行标记,标记好之后送入学习网络,对网络进行训练,训练后的网络就是一个模型,该模型能够得到数据中的特征。
2.2.2 系统硬件方案
2.2.2.1 Caffe 的硬件环境
(1)CPU 的选择。Caffe 支持CPU 训练和GPU 训练,如果采用CPU 训练,CPU 支持的线程数越多越好。若采用GPU 训练,则大量运算由GPU 完成。本文采用GPU 训练。
(2)内存的选择。采用GPU 训练下,内存频率不是重要的影响因数。但由于深度学习算法中设计大量的参数,另外深度训练的每个batch 的原始数据都放在内存中,导致深度学习算法对内存的容量要求很高。本系统配置16 GB 内存。
(3)GPU 的选择。采用GPU 进行训练,合适的显卡至关重要。目前,Caffe 只支持Cuda 库,而Cuda 库是NVIDIA 显卡专用,所以选择Caffe 作为深度学习框架,必须使用NVIDIA 显卡。本文使用NVIDIA-980Ti。
(4)硬盘的选择。Caffe 采用单独线程异步方式从硬盘中顺序读取数据,在正常情况下,机械硬盘的速度在GPU 速度不是很快下勉强够用。硬盘容量和训练所需的数据集密切相关。本文硬盘采用1 TG。
2.2.2.2 摄像头摄像头主要用于视频采集功能,能够采集特定环境的视频信息,具有分辨率高、自动白平衡调整、图像噪音小的优点。
视频管理系统主要由Web 管理服务器组成[15]。Web 管理服务器收到非法入侵信号后,控制连接继电器的树莓派在入侵处响起警报,并由数据库保存入侵时间信息,并接收来自视频处理平台发出的入侵信息,其结构如图4所示。为保证数据安全,数据库只与Web 管理服务器连接而不接入互联网,只有Web 管理服务器才能操作数据库,Web 管理服务器连接路由器与防火墙。
图4:智能视频管理系统结构图
视频管理系统运行流程为:Web 视频管理服务器监听视频分析系统发送的入侵信号,当无输入信号时保持监听;当接收到信号时将入侵信号保存入日志数据库,并控制连接继电器的树莓派发送报警信息。管理人员接到警报信息后前往处理,流程图如图5所示。
图5:视频管理系统流程图
根据生产企业安全管理业务流程的调查分析,将生产企业智能视频监控系统划分为四大管理模块,分别为监控信息管理模块、警报信息管理模块、安全管理模块以及系统管理模块,如图6所示。
图6:系统管理模块
(1)监控管理模块:查看实时监控画面,对摄像头云台进行调整,以及历史入侵画面的调取。
(2)警报信息管理模块:发送和查看报警日志。
(3)安全管理模块:对企业内部用户信息进行增删改查,以及设置员工的权限。
(4)系统管理模块:对系统本身进行配置,查看系统运行状态,管理系统设备,检测系统各部分硬件功能是否正常。
根据生产企业智能视频监控系统各个管理模块的设计目标,将系统的核心业务分为三层,自上向下包括应用层、支撑层以及网络层三部分。智能视频监控系统、安全管理和系统管理部分组成完整的系统结构,其架构如图7所示。
图7:系统设计架构图
(1)应用层:用户在应用层对软件进行操作。当指定好系统监控区域与相关报警流程后,智能视频监控系统会自动运行,提高了生产企业管理的可靠性与科学性,有效的减少相关人员的工作量。
(2)应用支持层:主要完成系统的数据处理以及系统软件的业务逻辑。自底向上使用的技术包括MySQL 数据库管理系统、数据库Hibernate 对象关系映射框架、SpringMVC 设计模式框架、Tomcat 应用服务器、Shiro 权限管理框架以及使用浏览器对服务器发起请求的B/S 架构[16]。
(3)网络层:为系统提供了网络与硬件支持,是系统实现的物理基础,包括有线连接与无线连接的方式。
数据库设计中包含多张信息表。以入侵信息表(invade_info)为例,主要记录入侵信息,包括记录入侵设备的编号(varchar 类型),设备所处位置(varchar 类型),入侵时间(datetime 类型)和入侵次数,如图8所示。
图8:入侵信息表
视频管理系统按照功能主要划分为管理系统操作(包括管理系统登录和用户权限管理)、实时监控画面、监控日志查询等功能,如图9所示。
图9:视频管理系统
本文结合生产企业视频监控的应用需求和深度学习网络的特点,提出了一种采用深度学习网络进行自动监控和视频管理的系统。基于Caffe 深度学习框架对生产企业监控视频进行智能分析,并对主要功能进行了模拟验证,包括视频人脸检测与识别等功能。对生产企业智能视频管理系统进行了实现,完成了员工权限管理、监控视频查看、入侵日志记录与查询等主要功能。