基于OpenCV的视频监控追踪系统的设计与实现
2018-03-15刘京城刘少华
刘京城,刘少华
(长江大学 地球科学学院,湖北 武汉 430100)
1 引 言
2007年10月,吉林省长春市开始打造城市安全网,最先将视频监控系统建设立项为“天网工程”。这一套系统是利用设置在城市及农村的大量摄像头,组成监控网络,以便于维护城市治安,打击街面犯罪,是城市治安的坚强后盾。目前,市面上大部分监控系统和公安“天网监控系统”一样,都是利用人工查看视频,效率低,浪费人力物力,给预防犯罪和执法工作带来了严峻的挑战[1]。
本文针对上述问题,设计开发了一套基于OpenCV技术为依托的人脸识别与基于神经网络路线预测模型的视频监控追踪系统。系统通过监控区域的监控设备获取监控图像,进行实时监控,并对目标人物进行识别追踪,取得目标人物连续的行为路线,利用神经网络预测模型,对目标人物的目的地进行预测,并辅助生成围堵方案,最后基于GIS空间位置信息,在地图模块上显示。从而提高对监控区域的管控能力,提高指挥准确性、科学性以及多单位协调能力,提高科技和信息化的应用水平,保证对紧急情况快速合理的处理[2,3]。
2 系统服务内容
为解决人工查看视频的问题,本系统根据需求调研和分析,提出如下几个方面的服务内容:①建立一个基于OpenCV的视频监控平台。将区域内监控设备取得的视频流,在监控界面显示。②利用GIS空间信息管理方式,利用OpenGL将空间信息直观地显示在系统内,如道路信息、设备位置信息以及目标任务位置信息等。③利用神经网络预测模型,基于目标人物的踪迹,对目标人物的目的地进行预测,并辅助生成围堵方案。
3 系统总体结构
系统总体结构为C/S(client/server)结构,如图1所示。
图1 总体结构图
3.1 系统功能设计
系统主要包括5个子功能系统,每个子系统实现了相应的功能,如图2所示。
图2 功能结构图
(1)视频监控模块。实现用户监控区域内监控画面的实时传输显示,用户打开系统后,查看监控区域的图像,可回放、暂停、提取目标人物等。
(2)地图显示模块。获取用户当前所在的位置,并默认读取本地文件,在地图模块显示道路、监控设备等信息。获取道路、监控设备位置信息后,系统会显示此信息,用户即可搜索或点击地物,察看地物的详细信息。
(3)人脸识别模块。用户通过系统添加目标人物的信息后,人脸识别模块启动,通过设置采集数据的时间间隔(0.5S),从监控视频流中读取当前的帧信息,利用系统已训练和学习的分类,当作查询输入系统进行检索,查看是否有匹配项,从而确定目标人物的位置信息。
(4)行动预测模块。根据识别到的一系列目标的行走路线,利用神经网络预测模型对目标的目的地进行预测,最后系统返回较准确的检索结果。根据系统检索结果,系统会自动将结果显示在地图界面,并闪烁显示。
(5)辅助围堵决策模块。利用目标的预测目的地,在一定缓冲区内,建立围堵模型,得到需要围堵的道路,生成辅助决策方案。
3.2 OpenCV中面部特征提取分类器
在OpenCV中,CascadelClassifier是一个做面部特征检测时关键的分类器,OpenCV低版本只支持Haar特征提取,但是新版本的分类器增加了LBP特征,既Haar特征与LBP特征。
本文中使用的OpenCV是2.4.6版本,使用Haar的特征。当Haar特征被用于识别对象时,需要计算积分图像以便于计算Haar特征。即选取训练时相同尺寸的窗口遍历图像,然后逐步扩大窗口,重复利用该方法对搜索目标进行脸部特征提取,然后移动搜索窗口位置,再次计算该区域内的Haar,并与Haar的特征分类阈值的加权比较,得到分支值,并累加一个级的分支值和相应级的阈值进行比较,当该值大于阈值时,则通过,进入下一轮计算比较。当该窗口通过分类器所有级时,说明目标很有可能被识别。也就是说,这个方法需要计算机对大量脸部轮廓样本进行训练和学习,从而进行脸部特征提取。本文主要使用DeTectFaces模型进行面部特征提取,效率比较高[4]。
3.3 OpenCV中人脸识别模型
人脸识别主要使用的是FaceRecognizor类,是一个基于Algorithm的常见类。其中方便用户使用FaceRecognizor类,FaceRecognizor类中定义了Ptr
本文主要采用OpenCV库中人脸识别类(FaceRecognizor)中的LBPH模型(即局部二进制模式直方图)。FaceRecognizor在建立数学模型时,需要准备一个向量vector
3.4 神经网络预测模型
理论上,BP模型能够无限向任意非线性函数逼近的优势。在已知模式下,通过模式训练以及学习,模型就能够进行预测。其中,输入层中的神经元数量和归一化位置信息特征向量的数量相同。在神经网络的实际应用中,样本数据用于训练和学习,在不断地测试中,寻找误差最小的神经元个数,80%-90%的模型采用BP网络或其变化形式。本文也是采用此模型[6,7]。
3.5 与GIS相结合的OpenGL底层图形库
通过OpenGl,将GIS技术引入,建立GIS空间数据库,将其具有空间位置信息的特点融入视频监控追踪工作中,连接数据库和地理信息系统,实现实体属性和图像数据的关联,存储汇总道路、监控设备等数据,对数据、表格、图像进行一体化管理,将数据以图的形式展示,从而进行区域分析和模型分析,使得图数并茂,为空间分析与辅助决策提供便利[8,9]。
4 平台实现与实例检测
选用Qt作为系统开发框架,使用MVC三层架构的设计思想,其中表现层以对PC客户端的接口形式存在。系统采用OpenCV中库函数cvCreateCameraCapture()实时的采集摄像头数据。系统采用性能高、稳定、安全的SQL Sever数据库,并采用JDBC技术访问数据库。客户端的开发工具选用Qt Creator(community)。此外,还需要在Qt中配置OpenGL环境。图3为系统界面,为了更好地与用户交互,左侧主要显示摄像头设备信息与查找对象的信息,用户可以对此类信息进行基本操作(增删改查),中间主要显示视频监控画面,右侧与GIS相结合,显示地图信息和通过人脸识别查找到的对象踪迹的详细信息。“监控设备”功能主要对设备的读取进行管理,在地图窗口中可以显示设备位置。“查找对象”功能主要可以查找对象的详细信息,在地图窗口中可以显示查找对象被识别出来的一系列位置[10]。
图3 系统主界面
为了验证本系统的性能,我们在系统开发平台的支持下,利用现有的硬件设备,选取长江大学武汉校区较均匀分布的16个监控摄像头的视频进行20组实验,其中理想情况中一组实验如图4所示,实验目标实际路径由A点到B点再到C点,即黄色路段,系统识别成功,并通过神经网络预测模型,预测目标将到达D点,并做出了详细的围堵方案,即红色路段。实际情况如图5所示,实验表明利用该系统能够快速高效地进行目标追踪和预测以及辅助生成围堵方案。
图4 某组实验结果图
数目百分比/%理想1470较理想315一般15失败210总计20100
图5实验验证情况
5 总 结
本系统结合GIS思想构建视频监控追踪平台,为用户提供基于地理位置的视频监控追踪服务,将监控和追踪置于同一平台,有效地解决了人工查看视频的难题,提高了效率。目前,GIS行业正蓬勃发展,80%信息数据都与地理空间信息有关,视频监控安保与GIS将结合还处于探索阶段,本文针对视频监控追踪的问题,提出了相应的解决思路并加以实现,具有一定的推广价值。
[1] 毋立芳,侯亚希,许晓等. 基于紧致全姿态二值SIFT的人脸识别[J]. 仪器仪表学报,2015,36(4):736~742.
[2] 严严,章毓晋. 基于视频的人脸识别研究进展[J]. 计算机学报,2009,32(5):878~886.
[3] 吴健新,李翠华,吴晓昶等. 数字视频监控系统开发平台的设计与实现[J]. 厦门大学学报·自然科学版,2006(3):352~354.
[4] 吕世良,王晓茜,刘金国. 数字视频监控系统设计与实现[J]. 测控技术,2014,33(2):80~82+86.
[5] 杨元挺. 快速反应智能安全监控系统的设计与实现[J]. 电子技术应用,2009(11):18~21.
[6] 范哲意,曾亚军,蒋姣等. 视频人脸识别实验平台的设计与实现[J]. 实验技术与管理,2016(3):159~161+165.
[7] 李海朋,李晶皎,闫爱云等. 人脸识别中的遗传神经网络并行实现[J]. 计算机科学,2015(S1):168~170+174.
[8] 吕世良,王晓茜,刘金国. 数字视频监控系统设计与实现[J]. 测控技术,2014,33(2):80~82+86.
[9] 朱庆,李德仁,龚健雅等. 数码城市GIS的设计与实现[J]. 武汉大学学报·信息科学版,2001(1):8~11+17.
[10] 顾志松,沈春锋,姚文韬等. 高清人像抓拍检索系统的设计与实现[J]. 控制工程,2015(S1):68~71.