基于面部识别与无线传感网的视频监控系统设计与实现
2019-11-16冯雨晴赵柳清
文/冯雨晴 赵柳清
1 引言
近年来,随着国民经济以及信息技术的迅速发展,视频监控系统在各行业的应用日渐广泛,监控系统已经不是单单在通信、安全等行业应用,银行、电力、交通、安检以及军事设施等领域对安全防范和现场记录报警系统的需求与日俱增。虽然监控系统己经广泛地存在于各种公共场所,但实际的监控任务仍需要较多的人工完成,而且现有的视频监控系统通常只是录制视频图像,提供的信息是没有经过解释的视频图像,只能用作事后取证,没有充分发挥监控的实时性和主动性。
现阶段研究,物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。通过物联网技术对外界环境进行检测和管理的手段也不断涌现,以用户体验为核心的创新2.0是物联网发展的灵魂。nRF2401具有很强的通信能力,通过字节的形式对数据进行封装,传输,在便捷性和低功耗上都具有优势。而通过高清摄像头,面部识别技术的也日趋的进步完善,使用通用的摄像机作为识别信息获取装置。以非接触的方式获取识别对象的面部图像,计算机系统在获取图像后与数据库图像进行比对后完成识别过程。现阶段比较流行的是通过C#封装的EmguCV库对图像信息进行处理,从而实现对图片中人脸信息的检查和识别。
综上,利用物联网技术,在检测环境中部署传感器节点,使外界环境因素可以与检测信息内容相互结合,再通过人脸识别技术,从而去更好的实现视频内容的监控报警工作。
2 系统需求分析
2.1 相关技术分析
本文设计的应用系统在遵循PC端开发标准的前提下,软件平台使用C#语言运用Emgu CV图像识别库函数以及MySQL数据库进行设计,硬件端使用AVR单片机,nrf2401传输芯片以及人体红外传感器,门磁传感器,震动传感器进行设计。
用到的主要知识和技术有:AVR单片机,nRF401传输芯片,人体红外传感器,温湿度传感器,震动传感器,EmguCV图像识别库函数的使用,.net技术开发,My SQL数据库。
2.2 功能分析
为达到采集环境信息需求,在环境中布置子节点,服务器端连接父节点,形成一对多的树状网络。通过在服务器端连接摄像头,对指定区域画面开始监控。当传感器被触发时,摄像头根据传感器坐标信息自动对区域画面进行拍摄,并开始对画面内容中的人脸信息进步分析,并把所有信息存储到数据库中。
3 系统设计
根据需求分析,系统分为三个界面,分别为用户登陆界面,视频监控界面,数据查询界面。
在用户登陆界面中,用户可以注册账号信息,通过注册后进行登陆,用户登陆之后,可以使用系统的全部功能权限,但是无法更改数据。在视频监控界面中,通过视频监控界面,实现对监控摄像头的调用,人脸特征模型训练库的信息录入,设置识别模式,打开监控和关闭监控。在数据查询界面中,通过数据库,查询报警信息的时间,地点,传感器信息,图像信息,并根据时间段,对所触发的信息绘制折线图。如图1所示。
4 系统模块与功能
4.1 系统软件设计
登陆界面供用户注册使用账户信息,没有使用账号的用户可以通过界面来注册使用账号信息;已经有使用账号的可以通过填写账号来登陆软件,使用全部功能。
图1:系统总体架构
图2:登陆流程
视频监控界面可以调用连接在PC端的摄像头设备,并把图像信息呈现在显示器中。用户可以通过摄像头,录入需要存储的人脸信息,当监控到视频中的人脸信息是与人脸训练库中的信息吻合度低于一定的阈值时,则会产生报警信息。环境周围的传感器触发会使摄像头转向指定的区域进行拍摄。通过监控界面还可以设置人脸识别的类型。
通过数据库的查询界面,可以查看指定日期的事件信息。数据库中共有两种模型,一个是用户模型,一个是事件模型。
用户模型中,共赋予了两个ID,其中username是用户的名字,password是用户的账号密码,则两个属性都依存与user表中。数据模型如表所示。
事件模型主要是对所拍摄的视频信息,其中每个事件信息都有六个ID属性,这些属性依存于test创建后都存储与test表中。六个ID属性分别为Time(事件时间),Address(事件地点),Sensor(触发的传感器类型),What(触发人信息),ID(传感器ID),Picture(拍摄图片)。数据模型如表所示。
通过点击登陆,系统会自动的把输入框中的信息与数据库中的信息相匹配并验证,全部相符则通过登陆,进入软件的视频监控操作界面,登陆的操作流程图如图2所示。当用户没有账号信息时,点击注册,来注册新的账号信息,其流程图如图3所示。
在通过登陆系统之后,就可以进入视频监控系统界面,对视频监控内容进行操作和处理了。监控界面主要是显示谁想投的监控信息,录入操作原所需要的人脸特征图到人脸识别模式训练库中,设置人脸识别类型,跳转到数据查看页面,打开摄像头等功能。
图3:注册流程图
图4:系统运行流程
4.2 系统硬件设计
核心板模块需要体积较小,并且能够较为快速的处理数据,为此,本设计选用AVR单片机的Arduino最小开发模块,通过对每个模块连接传感器和射频模块,从而达到采集环境中需要的数据,从而达到对指定位置进行监控的目的。
根据检测条件和模拟实验室环境的需求,我们选择温湿度传感器,人体红外传感器,震动传感器这三个传感器来采集相关的数据,通过两节五号电池供电,从而达到移动部署的效果。
为了可以在10米的范围内使得每个模块都能够快速有效的把所采集到的数据发送回PC端,PC端进行接收和处理,选择nRF401芯片作为数据的传输模块。其芯片的耗电量十分的低,当以-5dBm的功率发射时,工作的电流只有10.5mA,其多种低功率的工作模式,作为通过5号电池为能源的传感器节点来说十分的便捷。
5 系统实现
系统的软件设计全部使用C#语言进行开发,运用.net框架的设计,可以实现在所有的windows操作系统下的运行,系统运行流程如图4所示。
登陆界面功能,界面DLForm由两个lable控件(lab_uname,lab_password),两个textbox控件(tex_username,tex_password),四个button控件(btn_DL,btn_CT,btn_XG,btn_ZC)组成。登陆时,通过获取两个textbox中的数据信息,将其与数据库中的信息相互匹配,当信息匹配正确时,则会显示登陆成功的提示信息,并将程序跳转到视频监控的主界面。如果用户没有账户信息,可以通过功能,注册新的用户信息,系统会获取用户所填写的信息,因为用户名的唯一性,若用户名已经被注册,则会告知用户重新取用户名,当所取的用户名和密码信息符合要求时,系统会在数据库中记录信息的用户信息。
视频监控界面是本系统的核心界面。由查找摄像头设备的下拉窗口(comBox_CZ)两个显示视频画面的窗口(picShow1,picShow2),人脸特征训练窗口(sampleBox),输入人脸特征模型姓名信(textBox_fullname),设置人脸识别模式的下拉菜单(comBox_recognizerType)等控件组成。监控界面主要是显示摄像头的监控信息,录入操作原所需要的人脸特征图到人脸识别模式训练库中,设置人脸识别类型,跳转到数据查看页面,打开摄像头等功能。通过打开了摄像头设备,打开摄像头之后,把视频的信息显示在设备端,下方是训练人脸识别器,首先是获取到图像信息,然后对图像画面进行二值化处理,通过一定的均衡化灰度后的图片,将人的面部特征信息以list集合的形式存储,并在末尾出追加每个人脸信息的特征标号来区别。通过以上的功能处理之后,当视频画面中出现人的面部特征信息时,就会自动的去识别人的面部特征信息,并自动的跟人脸识别器中存储的信息相互的匹配。当阈值在3600以下时,会在人脸信息上显示出于此人相似的人名称,若阈值超过了3600,则会发送发出声音报警,并用过云端向手机发送报警信息
通过数据查询界面,可以根据指定的时间,来查看指定日期的数据信息,通过点击对应的图片,可以在右边查看大图信息。并且根据每天的所触发的传感器信息,绘制一天的时间曲线图。界面由一个显示数据窗口(dataGridView_show),一个日期显示窗口(monthCalendar),一个图片查看窗口(pictureBox_SPicture)和一个返回键(btn_Back)组成。通过点击对应的日期信息,系统会自动的根据所选择的日期,从数据库中读取信息,并显示在左侧的表格中。
6 总结
经测试,本系统各个模块功能均能正常实验,通过在实验环境中部署使用,运行良好,操作简单,实现传感器信息和视频信息的有效结合,使得摄像头可以自动识别图像信息并对事件进行捕捉的联动报警机制,与传统的视频监控系统相比,有效的提高了视频监控的主动性,大大降低了监控系统的漏报率和误报率。