首页 > 新闻 > 行业研究
基于OpenCV的银行智能视频图象处理监控系统的研究
2012/6/25 10:52:00   中国安防行业网

    一、引言

    近几年来随着银行营业网点对其安全性保障需求的增加,视频监控系统作为安保的一个重要组成部分在系统内部已被广泛使用。但现有的银行视频监控系统大多是用于图像的采集以便用于案发后的取证,而不能起到预防、预警的实时智能化图像处理的作用。随着计算机视觉、视频智能识别等技术的高速发展,将人体特征识别技术融入到视频监控系统中,使其实现智能视频图像处理监控变为可能。因此,借助于Opencv软件开发平台,本文设计了一个基于OpenCV的银行智能视频图象处理监控系统,本系统通过对计算机视觉与模式识别的综合运用有效的实现了银行营业场所人员异常行为的分析与报警,从而极大的提高了所监控区域内的安全性,为银行营业场所的安全运行提供了强有力的保障。

    二、Opencv简介

    开放源代码的计算机视觉类库OpenCv(IntelOpenSourceComputerVisionLibrary)由英特尔公司位于俄罗斯的研究实验室所开发[4],它是由一些C函数和C++类所组成的库,用来实现一些常用的图像处理及计算机视觉算法。OpenCv与英特尔公司所开发的另一图像处理库IPL(IntelImageProcessingLibrary)兼容,IPL用于实现对数字图像的一些低级处理,而OpenCv则主要用于对图像进行一些高级处理[5],比如说特征检测与跟踪、运动分析、目标分割与识别以及3D重建等。由于OpenCv的源代码是完全开放的,而且源代码的编写简洁而又高效,特别是其中大部分的函数都已经过汇编最优化,所以近年来在国外的图像处理相关领域中被广泛地使用,成为一种流行的图像处理软件。

    与现有的计算机视觉库相比较OpenCv具有以下优点:OpenCv是一个包含了超过300个C函数的应用编程接口,它不依赖于外部库,既可以独立运行,也可在运行时使用其它外部库;OpenCv中所有的算法都是基于封装于IPL的具有很高灵活性的动态数据结构,而且其中有一半以上的函数在设计及汇编时被Intel公司针对其所生产的处理器优化所以使它具有了高效性;提供了一些与诸如EiC、Ch、MATLAB等其它语言或环境的接口,这些接口在其安装完之后位于安装目录opencv/interfaces下;OpenCv的源代码完全是开放,开发者可以对源代码进行修改,将自己设计的新类添加到库中,只要设计符合规范,自己的代码也可以被别人广泛使用。基于以上各点使得Opencv具有了极大的活力和开发潜力。

    三、智能视频图象处理监控系统的建立

    对于本智能视频图象处理监控系统而言,主要由硬件和软件两大部分构成,其中硬件部份由摄像机、视频采集卡和计算机组成。摄像机负责图像采集,并传输给视频采集卡,视频采集卡对图像进行模数转换.再将数字图像送到计算机,计算机通过相关算法,得到人体运动信息,并交由软件进行分析处理。软件部分主要由行为检测和运动跟踪算法构成,它们是整个系统的中心环节,它将摄像机传送来的视频图像经过预处理、处理、后处理、分析,并得到最终处理结果。因此,可以看出在本系统的构造中后续视频处理算法的实现与处理是系统设计的关键之处。对于这一部分我们主要是通过Opencv软件开发平台并结合人体检测、运动跟踪及行为判断的相关算法来加以实现的。整个系统的流程图如图1所示。

    图1系统流程图

    (一)人体运动检测

    人体运动检测的关键是背景图像的描述模型即背景模型,它是背景减法分割前景目标的基础。背景模型有单模态和多模态两种[6],前者在每个背景点上的颜色分布比较集中,可以用单个概率分布模型来描述;后者的分布则比较分散,需要多个分布模型来共同描述。本系统中的人体检测主要是利用背景更新算法来获得所需的背景图,再用当前帧减去背景图,取得人体区域,然后对图像进行二值化并滤波处理,最后利用二值图像分割技术定位人体图像区域。这里背景更新算法主要用于对图像的提取和更新。通过调用Opencv相关函数,我们就可以对背景建模并进行检测。

    为了验证对图像提取和更新效果我们分别在早上和下午对窗外道路的同一位置的图像进行了提取与更新,得到的结果如图2和图3所示,从得到的结果中我们可以看出图像效果较好,达到了预期目的。

    图3下午测试效果

[NextPage]

    (二)运动跟踪及行为判断

    行为的自动理解和分析是实现智能视频监控的关键,目前已有的行为分析方法主要有三种:基于人体结构分析方法、基于时空特征的模式分析方法、基于图像统计处理的分析方法。其中基于时空特征的模式分析方法是先提取每帧图像中的人体区域,然后利用该动作的人体轮廓序列的各种形状特征对人体行为进行表述和识别,如Bobick通过提取运动历史图像的Hu不变矩来描述人体行为[7],也有通过提取运动序列中所有人体轮廓线所组成的时空边缘线的各种几何特征来分析人体的动作[8][9]。这类方法依赖于每帧图像中人体区域的准确度的提取来对行为进行描述。本文中的人体跟踪及行为判断是基于时空特征的模式分析方法再结合Opencv相关函数提出的一个种改进方法。

    在本方法中人体跟踪算法及行为判断实现的过程为:在每帧图像中提取人体区域.每个行人的图像范围用矩形表示,选用矩形框中心点作为跟踪特征点。根据中心点的位置变化来算出人体运动的轨迹,画出人体运动曲线。利用矩形框获得人体水平投影和垂直投影的比值,根据此比值判定人体的各种姿势,描述人体运动的行为。其结构图如图4所示。

    对于前景检测针对本系统所面对的对象,我们采用的是背景法[10]该法对噪声具有相对的鲁棒性。从程序运行情况来看得到的检测结果是较好的如图5所示。从图中我们也可以看出基于Opencv程序实现的背景法不但继承而且提高了其对噪声的鲁棒性,只在第二个图中出现了一个噪声点。

    对于监控视频段的行为特征提取,本系统主要是通过提取该视频段中每一前景帧的团块运动方向,然后对该视频段的所有团运动方向做2值化如图6所示,得到该视频段的行为描述特征,团运动方向的2值化图可以有效地描述不同行为之间的差异,最后根据所得到的2值化图进行轨迹处理来得到视频段的行为判断。这种基于前景帧的团块运动方向轨迹处理得到的描述特征能够较好的区分正常行为和异常行为。在本系统程序中异常行为的判断主要是看是否有单向、双向跨越警戒线和是否有进入、离开、出现于警戒区域事件。这些都可以通过程序中的相关函数的调用来实现如double函数等。

    最后,对于实时监控报警的实现是当发现视频段出现了异常行为后,本系统会通过银行系统内部局域网向装在监控区域上方的音箱发出信号,使其发出报警信号,同时也将报警信号发送到该区域的安保中心,实现双向报警。从而实现对于银行相关区域的智能视频图象处理监控。

    四、结论

    本文从人体的检测、人体运动跟踪及行为判断出发。通过对计算机视觉与模式识别的综合运用并采用Intel公司开发的OpenCV视觉库,设计出了一个基于OpenCV的银行智能视频图象处理监控系统,本系统对于各种监控区域的变化有较强的适应性,能够确保基于其非变化区域刷新的背景图像及时的更新,而且通过对时空特征模式分析方法的改进,并利用背景法对噪声相对鲁棒的特点较好的实现了对前景帧的判断,为系统对异常行为的准确判断提供了保证,这也使得本系统从本质上解决了传统银行营业网点监控系统无实时性报警的缺点,极大的提高了所监控区域内的安全性,为银行营业场所的安全运行提供了强有力的保障。

相关新闻: