1.异常轨迹、爬高、越界、藏匿等异常行为算法
(1)研究方案。
对于异常轨迹、爬高、越界、藏匿、徘徊等异常行为,可采用基于运动空间的行为轨迹分析方法,直接对连续的视频图像序列中的运动目标跟踪其运动轨迹,继而通过获取的运动轨迹特征信息来完成对异常行为的分析检测,算法流程如图5-16所示。
根据监控环境的实际情况,采取两点画线的方式设置警戒边界线,将监控区域一分为二,即正常区域和警戒区域。运动目标出现在正常区域是正常的,一旦有目标从正常区域穿越警戒线,可能有边界越线的异常行为发生。若运动目标的运动轨迹在警戒区域或正常区域,出现非正常的向上攀升趋势,可能发生爬高的异常行为;若运动目标的运动轨迹在画面中非正常消失或中断,可能发生藏匿的异常行为;若运动目标的运动轨迹在画面中出现往复振荡,说明运动目标在一定区域内来回反复运动,可能发生滞留徘徊的异常行为。根据爬高、越界、藏匿、徘徊等异常行为的轨迹特点,设计合理的判断规则,可实现此类异常行为的检测。
图5-16 异常行为的分析检测流程
(2)研究方法与研究过程。
按照研究方案,异常轨迹分析算法的具体研究过程如下。
①运动目标检测。实现并比较了单高斯背景建模、混合高斯背景建模和均值模型建模的建模效果,比较优缺点后,采用混合高斯背景建模。在运动目标提取中,运用多种滤波操作和二值形态学处理对图像进行去噪,提高目标检测准确性。
②运动目标跟踪。分析并实现了Mean Shift跟踪算法和Cam Shift算法,比较二者优缺点,根据单个固定摄像头的图像特点,采用计算量小、效果较稳定的CamShift算法。
③判定目标发生边界越线行为。采用的算法是判断运动目标中心像素点与边界线直线方程的位置关系,若目标轨迹与边界线有交叉,则判定为边界越线异常行为。
④判定目标是否发生滞留徘徊行为。采用的算法是计算运动目标轨迹的主方向角及运动距离,若出现2段以上曲线的主方向角差大于120°,且2次以上当前帧目标运动距离小于上一帧目标运动距离的情况,则判定为滞留徘徊。
(3)研究结果。
采用OpenCV和Python语言编程实现了异常轨迹分析算法,并与实时监控摄像头相连,对监控视频进行实时分析处理。对办公室走道场景进行实景测试,测试界面如图5-17所示。测试结果展示对异常轨迹、爬高、越界智能分析的误报率和漏报率为3%~5%,达到实用性要求,具有推广应用价值。
图5-17 异常轨迹分析实验仿真界面
经试验验证,该算法可分析处理的场景和性能如下。
①运动目标检测:支持对高清分辨率的监控视频进行处理,实时检测是从运动目标出现到系统自动检测并进行标注,检测时延不超过5秒,检测准确率不低于85%。
②轨迹跟踪分析:可对监控摄像中的人、物目标进行自动检测和跟踪,生成其行径路线和运动轨迹,进行实时监控及追溯该运动目标的行踪。
③越界/入侵检测判断:在摄像机监视的场景范围内,可根据实际需要设置一个或多个警戒线/警戒区域,当有人、物目标越过警戒线或进入警戒区域时,自动触发报警,同时标识出其运动轨迹,便于安保人员实时监控及追溯该运动目标的行为。
④异常轨迹判断:基于运动空间的行为轨迹分析方法,实现对爬高(翻墙)、藏匿、徘徊滞留等异常行为的检测和报警。
2.抛物、遗留物检测算法
(1)研究方案。
抛出的物体、遗留的物体一般是运动主体携带,从运动到静止,与主体分离并静止超过一段时间。对于此类异常行为,可以采用时序逻辑和空间运动信息相结合的方法,分析物体的运动轨迹、物体与运动主体的距离、物体在监控场景中的静止时间、物体在视频序列中的时空特性等,综合多项特征参数信息,来进行抛物或遗留物检测的准确判断。对于遗留物体的行为,可以提取目标的运动特征信息,进行运动目标分析和运动轨迹分析,若出现运动状态转为静止状态的对象,对其持续性的静止状态进行计时,超过一定时间的目标被判定为可疑遗留物。基于混合高斯背景建模学习率的遗留物检测算法,流程图如图5-18所示。
(2)研究方法与研究过程。
按照研究方案,遗留物检测算法的具体研究过程如下。
①在混合高斯背景建模的过程中,当学习率取值较低时,背景图像中会长时间存在已离开的前景目标,造成残影现象;当学习率取值较高时,则会把暂时停留的前景目标更新进背景图像中。所以,使用较高的学习率时,遗留物会被检测为背景;使用较低的学习率时,遗留物会被检测为前景目标。
②分别对视频进行高学习率和低学习率的检测,选取高学习率的背景图中检测为背景且低学习率的背景图中检测为前景目标。高学习率模型已把此像素点更新为背景,可见前景目标停止运动;低学习率模型还未更新,可见前景目标停留时间较短。此像素点为暂时静止的目标,可能为疑似遗留物。
③对疑似遗留物进行静止时间判定,结合运动目标检测算法,判定是否为主人离开的遗留物。
(3)研究结果。
采用OpenCV和Python语言编程实现了遗留物检测算法,并与实时监控摄像头相连,对监控视频进行实时分析处理。对办公室走道场景进行实景测试,测试界面如图5-19所示。实验证明我们的算法可以有效检测到静止超过一定时限的不明遗留物,自动触发报警,并用告警框标示可疑物。
图5-18 遗留物检测算法流程图
3.倒地行为检测算法
(1)研究方案。
图5-19 遗留物检测实验仿真界面
通过分析发现,一般连续行为视频序列包含人的静止、行走、慢跑、跌倒、下蹲、弯腰、坐下等常见行为。考虑到连续视频的信息量大,模型构建复杂,运动行为分析本身所要处理的数据量很大,所以可以对待识别的倒地行为进行初步过滤,锁定可疑行为时再进一步区分,简化处理过程。仔细分析上述运动行为的联系和区别,可以发现目标轮廓高度在这几类行为中具有很高的区分度,因此可以通过“高度是否变化”过滤掉“静止、行走、慢跑”等高度基本保持不变的运动行为,定位“跌倒、下蹲、弯腰、坐下”四种高度变化比较明显的可疑行为。在对目标行为进行定位后,再采用特征提取和机器学习的方法来细分易混淆的“跌倒、下蹲、弯腰、坐下”等行为,检测倒地行为,拟采取的算法流程如图5-20所示。
(2)研究方法与研究过程。
按照研究方案,倒地行为检测算法的具体研究过程如下。
①运动目标检测。采用混合高斯背景建模的方法分离视频帧中的前景目标和背景图像,并对含有噪声的目标图像依次使用中值滤波、开运算、删除小面积对象、基于canny算子的边缘检测、二次膨胀、区域填充法去除干扰噪声区域,得到完整的运动目标轮廓。
②行为特征提取和识别。初步提取运动目标的外接矩形,通过对外接矩形的变化程度与阈值的比较,判断出疑似跌倒的人体行为;然后进一步区分相近行为,提取跌倒行为与其相近行为的归一化外接矩形、归一化重心下降速率、Hu不变矩三项共计10个特征值向量,利用支持向量机搭建分类器,通过对学习样本的训练学习达到准确识别跌倒行为的目的。
图5-20 倒地行为检测算法流程图
(3)研究结果。
利用Matlab编程实现了倒地行为检测算法。在实验仿真中,用30个跌倒行为,15个下蹲行为,10个捡东西行为,以及5个坐下行为共60段视频序列作为样本集,其中包含3个正面跌倒视频。取学习和测试样本各30组,其中正负样本也平均分配。
首先实验论证了归一化外接矩形、归一化重心下降速率以及Hu不变矩三组共10个特征向量,是可以区分跌倒行为和疑似行为的有效分类特征,它们不仅在不同行为间表现出一定的差异性,并且在同类行为间具有稳定性,测试结果如表5-1所示。
表5-1 不同行为的分类特征数据比较
利用支持向量机得到的识别分类结果如表5-2所示,实验结果表明,在15个跌倒视频中,有2个视频被误判为非跌倒行为,其中包含1个正面跌倒。7个蹲下视频中有1个被判定为跌倒行为,其余两种行为没有发生错判。最后得到的总识别率达到90%。
表5-2 跌倒行为识别结果
对于测试结果进一步分析,可以发现正面跌倒行为不容易被辨识,实际上人体正面对着摄像头时,其运动行为对应的目标外接矩形的变化相对较小,尤其是运动目标的高度值由于角度关系,减小的程度不及侧面跌倒明显,易与蹲下行为混淆。而蹲下行为由于姿势和角度的不同等因素,可能会存在被误判为跌倒行为的情况。
4.非法聚集检测算法
(1)研究方案。
人群密度是判断突发人群聚集事件的一个重要指标,对于高密度非法聚集等异常行为进行监控,可以先对运动前景进行检测,然后对被监控场景的人群密度特征进行提取,将获取的特征输入到模式识别分类器中(如SVM支持向量机),由已训练好的分类器来判断是否发生了非法人群聚集事件,分析流程图如图5-21所示。
(2)研究方法与研究过程。
按照研究方案,非法聚集检测算法的具体研究过程如下。
图5-21 人群密度分析流程图
①分类特征的选取。灰度共生矩阵通过研究灰度的空间相关性对纹理进行描述,它是像素距离和角度的矩阵函数,通过计算图像中一定距离和一定方向的两点灰度之间的相关性,来反映图像在方向、间隔、变化幅度及快慢上的综合纹理信息。我们选用灰度共生矩阵的能量、对比度、自相关度和逆差矩四个分量作为图像纹理的分类特征参数。
②模式识别分类器的构建。利用支持向量机解决小样本分类回归的特点,通过样本的训练学习,构造支持向量机二分类机,将某一类训练样本同其他样本区别分出,通过层叠嵌套的二分类机有机结合,实现支持向量机多分类机,最终达到人群密度的多种分类要求。
(3)研究结果。
我们利用Matlab编程实现了人群密度分析算法。在实验仿真中,采用在校园上下课高峰中拍摄的视频共300段进行分析,将视频按照人群密度分为稀疏、正常和密集三类,并从中随机各选取50段视频作为训练样本,50段视频作为测试样本。用灰度共生矩阵对图像纹理进行能量、对比度、自相关度和逆差矩四个量的分析,角度取0°,45°,90°和135°四个值,最终得到的测试结果如表5-3所示。从实验结果中可以看出,利用灰度共生矩阵能够较好地获取图像纹理信息,实现的分类效果明显,正确率较高,达到了93.33%。算法的误判主要出现在分类的临界点处,通过增加临界点的样本量能够对准确率有所提升。
表5-3 人群密度分类实验表
5.打架、袭警行为检测算法
(1)研究方案。
由于打架、袭警等异常行为的复杂性,目前的有效检测算法大多采用模式识别的方法。人体行为识别的本质是三维时空数据的分类和匹配问题,也就是将待识别的人体行为序列(测试序列)与预先标记好的代表典型行为的参考序列进行匹配。因此,人体行为识别首先要从视频序列中提取可以描述行为的特征信息,然后用训练视频序列中提取的特征数据进行学习,建立人体行为模型,然后将测试视频序列中提取的特征数据输入人体行为模型进行分类,采取的识别过程如图5-22所示。
(2)研究方法与研究过程。
按照研究方案,打架、袭警行为检测算法的具体研究过程如下。
①轨迹特征提取。首先利用ORB(Oriented FAST and Rotated BRIEF)算法提取运动目标的兴趣特征点,并采用FLANN算法对每相邻帧进行特征点的匹配,获得了大量的表示目标运动趋势的兴趣点轨迹,作为区分暴力行为与非暴力行为的模式特征。
②轨迹特征优化。我们采用了短轨迹优化和多段最小二乘法等措施,针对暴力行为轨迹进行了优化,以加快训练速度,使得算法的识别率进一步提升。
图5-22 打架行为分析流程图
③打架行为模式识别。在得到兴趣点运动轨迹后,我们利用BRIEF描述子和马尔科夫链模型,分别从外形层次和几何层次两方面提取出这些轨迹的特征向量,并采用词袋模型进行了数学建模,再把提取到的特征投入支持向量机SVM中进行训练和分类。我们采用了多频SVM技术,使得多种输入向量能够对分类结果有着不同的影响,从而提高了机器学习的训练效果。
(3)研究结果。
我们利用OpenCV(函数库版本2.4.6)、Python(版本2.7)和Eclipse(版本Indigo)编程实现了打架行为检测算法,并在暴力行为视频数据库Hockey Fights上进行了大量的实验仿真,分别对仅采用ORB描述子向量作为词袋模型(方法1)、仅采用马尔科夫链的特征向量作为词袋模型(方法2)、结合方法1和方法2的特征向量作为词袋模型三种方案进行了测试,测试结果如表5-4所示。实验结果表明该算法对于暴力行为的优化分类达到较好的效果。
表5-4 打架检测算法在Hockey Fights数据集上的测试
6.其他研究内容
(1)视频镜头检测技术。
对视频建立索引,首先要将视频分割为镜头,镜头检测的关键是确定从镜头到镜头的转换处,并利用镜头之间的转换方式找到镜头图像之间的差别,镜头的切换方式有两种:突变和渐变。突变是指从一个镜头直接切变到另一个镜头;渐变是指从一个镜头慢慢切变到另一个镜头。常用的镜头检测方法主要有以下几种。
①模板匹配法。
将两帧图像对应像素差的绝对值之和作为帧间差,如果前后两帧的帧间差变化超出某个阈值,则认为有镜头的切换。模板匹配法的优缺点:对检测突变镜头很有效,但对摄像机和物体的运动非常敏感,当运动较大时,相邻两帧的差异往往会超过预定的阈值,从而产生误检。
②直方图法。
该方法利用帧与帧的直方图比较来检测镜头,是使用得较多的计算帧间差的方法。直方图法的基本原理:将颜色空间分为一个个离散的颜色小区间,然后计算落入每个小区间的像素数目,得到图像的直方图统计,通过比较两帧图像的直方图统计得到帧间差。直方图法的优缺点:不考虑像素的位置信息,抗噪声能力比模板匹配法强。当具有不同目标的场景有近似的灰度或颜色直方图时容易造成漏检。
③基于边缘的检测方法。
该方法将两幅图的边缘提取,利用镜头切换时出现的新边缘与消失的旧边缘的像素比例,若两者最大值大于某阈值,则认为有镜头切换。其缺点:这种方法在图像较暗或边缘不明显时往往会造成误检和漏检。
④基于模型的方法。
该方法是利用对镜头编辑的先验知识,对各种镜头切换建立一定的数学模型,自上向下来进行镜头切换的检测,对特定领域视频可通过数学模型加上一定的限制条件来提高方法有效性。因此这种方法对镜头渐变的检测往往能取得好的效果。建立数学模型过程较复杂,适用于专业领域模板匹配法、直方图法、基于边缘的方法都是利用帧间差自下而上来进行镜头边界的检测,它对于突变检测可以取得较好的效果,但是对于渐变检测则有一定的困难,因为它在很大程度上忽略了渐变切换中帧之间结构上的相关性。本研究采用了先进的基于模型的视频镜头检测技术。
(2)关键帧提取技术。
关键帧的作用类似于文本检索中的关键词。用关键帧来代表镜头,可以对视频镜头可用图像的技术进行检索,关键帧选取的条件:必须能够反映镜头中的主要事件,因而描述应尽可能准确完全;为便于管理,数据量应尽量小,且计算不宜太复杂。关键帧提取的基本方法主要有以下几种。
①特定帧法。
一段视频被分割成若干镜头后,一种最直接、最简单的关键帧提取方法就是将每个镜头的首帧、中间帧以及末帧作为镜头的关键帧。特定帧法的思路和实现都很简单,但这种方法不能反映镜头内视频内容的变化,不适用于在视频内容变化较多的镜头内提取代表帧。
②帧平均法和直方图平均法。
帧平均法是取一个镜头中所有帧的某个位置上的像素值的平均值,将镜头中该点位置的像素值等于平均值的帧作为关键帧。直方图平均法则是将镜头中所有帧的统计直方图取平均,然后选择与该平均直方图最接近的帧作为关键帧。其优缺点:使用帧平均法和直方图平均法能在一定程度上反映视频内容,计算量也不大,所选取的帧具有平均代表意义,但是由于需要记录每一帧每个像素的值或直方图,所以要实现动态选取,所需的存储量较大。无法描述有多个物体运动的镜头。(www.xing528.com)
③基于光流的运动分析。
上述两种方法都没有考虑运动特征。通过光流分析来计算镜头中的运动量,在运动量取局部最小值处选取关键帧,它反映了视频数据中的一个“静止”特点,视频中通过摄像机在一个新的位置上停留或通过人物的某一运动的短暂停留来强调其重要性。
首先通过Horn-Schunck法计算光流,对每个像素光流分量的模求和,作为第k帧的运动量M(k),即
其中Ox(i,j,k)是k帧内(i,j)像素光流的X分量,Oy(i,j,k)是k帧内像素(i,j)光流的Y分量。然后寻找M(k)的局部最小值:从k=0开始,扫描曲线M(k),找到两个局部最小值M(K1)和M(K2),M(K2)的值与M(K1)的值至少相差p%(由经验设定),如果M(Kj)=min(M(K)),K1<Kj<K2则把Kj选为关键帧;然后把K2作为当前的K1,继续寻找下一个Kj。
Wolf的这种基于运动的方法可以根据镜头的结构选择相应数目的关键帧。如果先把图像中的运动对象从背景中取出,再计算对象所在位置的光流,可以取得更好的效果。
(3)视频特征提取技术。
视频分割成镜头后就要对各个镜头进行特征提取,得到一个尽可能充分反映镜头内容的特征空间,这个特征空间将作为视频聚类和检索依据。
①颜色特征。
颜色是图像最显著的特征,与其他特征相比,颜色特征计算简单、性质稳定,对于旋转、平移、尺度变化都不敏感,表现出很强的鲁棒性。颜色特征包括颜色直方图、主要颜色、平均亮度等。其中利用主要颜色和平均亮度进行图像的相似匹配是很粗略的,但是它们可以作为层次检索方法的粗查,对粗查的结果再利用子块划分的颜色直方图匹配进行进一步的细查。
②纹理特征。
20世纪70年代初,Haralick等人提出了纹理特征的共生矩阵表示法,即利用纹理在灰度级的空间相关性,先根据图像像素间的方向和距离构造一个共生矩阵,再从中提出有意义的统计数据作为纹理的特征表示。纹理特征的缺点:这些统计特征没有和人在视觉上对纹理特征的感知之间建立对应。Tamura提出的纹理特征集可以很好地与人类视觉感知相对应,这些特征包括:粗糙度、对比度、方向性、线向度、规则性、粗略度。其中最重要的特征是纹理粗糙度、对比度和方向性。因为人对纹理的视觉特征的认识非常主观,目前还没有一个统一的标准来精确地表示纹理的特征。
③运动特征。
视频除了具有一般静态图像的特征外,更具有动态特征。而动态特征往往也是视频检索时用户给出的主要内容。运动特征反映了视频的时域变化。运动分析的方法有基于光流方程的方法、基于块的方法、像素递归方法和贝叶斯方法等,但这些方法计算量大。Tonomura等人提出了视频X光图像分析方法,可以用来检测类似的运动,将整个视频序列沿时间轴进行切片,从切片图像中分析运动情况,视频的运动变化在切片上将变现为一系列有序的条纹变化。通过对视频的研究发现,当目标运动时,其背景往往变化迅速,而目标在大小上的不断变化表现为像素色彩的扩张。因此,可采用视频切片技术,通过追踪某一位置线上图像目标的色彩变化来得到运动目标的大小变化。
(4)镜头聚类和场景提取。
场景可以通过对镜头的聚类来生成。在镜头聚类及场景生成过程中,镜头不仅在时间上是连续的,更重要的是它们在内容含义上是一致的,这是镜头聚类的关键。可按时间顺序和关键帧的相似度进行聚类,最简单的方法可以用内容上相关的镜头中的关键帧来代表情节,把镜头聚类为故事单元后,其数量明显减少。例如对于一部典型的连续剧,半小时的节目中约有300个镜头,经过聚类后可形成约20个故事单元。根据镜头的重复程度,视频一般可分对话型、动作型这两类。
①对话型视频。
对话型视频是指一段实际的对话或者像对话一样由两个或多个镜头重复交替出现的视频。例如一个有13个镜头的视频序列,各镜头分别标记为:A B A B A B A B C D E F G。
其中,前8个镜头可认为是对话型的,而后5个则是动作型的。通过视频聚类可以缩小检索的范围,提高检索的效率。
②动作型视频。
动作型视频反映故事的展开,镜头不是固定在一个地点或跟随一个事件,因而很少发生镜头的重复。
(5)视频浏览和检索。
在对视频流中各镜头提取关键帧并进行特征提取后,还要建立基于视频特征的索引。通过索引,就可利用基于关键帧特征,或是基于镜头动态特征,或是将二者结合对视频进行检索和浏览了。基于内容的检索是一个近似匹配,逐步求精的循环过程,主要包括初始查询说明、相似性匹配、返回结果、特征调整、人机交互、检索反馈等步骤,直至获得用户满意的查询结果。
①基于关键帧的检索。
视频被抽象为关键帧后,搜索就变成按照某种相似度来检索数据库中与查询描述相似的关键帧。通常使用的查询方法是通过目标特征说明(直接)的查询和通过可视实例(示例)的查询。检索时,用户也可以指定使用特定的特征集。如果检索到关键帧,用户就可以利用播放来观看它说代表的视频片段。浏览可以跟随检索,作为检验检索到的关键帧的上下文边界联系。浏览也可以初始化查询,即当浏览时,用户可以选择一个图像来查询所有与该图像相似的关键帧。
②基于镜头动态的检索。
基于镜头和主体目标的运动特征来检索镜头是视频查询的进一步要求。可以利用摄像机操作来查询镜头,也可以利用运动方向和幅度特征来检索运动的主体目标。在查询中还可以将运动特征和关键帧特征结合起来,检索出具有相似的动态特征但静态特征不同的镜头。
③视频浏览。
对于视频来说,浏览与有明确目的的检索同样重要。为了有效地浏览,视频文档的内容应表示成用户易于理解的静态画面的形式,并且必须提供非线性的访问。通常每个镜头的关键帧被用来作为“浓缩”了的视频序列,这种表现方式大大减轻了用户需要从头到尾观看整部影片的负担。然而,在许多影片中,常常有几百个镜头,另外仅用静态的画面常常不足以表示动态的信息。因此仅将代表帧排列起来的方法无法满足用户有效的浏览要求,对于头一次观看影片的用户尤其如此,他们面对没有组织的一堆画面往往不知所云。
④视频的检索反馈。
在检索的实现中除利用图像的视觉特征进行检索外,还应根据用户的反馈信息不断学习改变阈值重新检索,实现人机交互,直到达到用户的检索要求。如何定义两个视频是否相似,仍然是尚未解决的问题,限制了检索系统的应用范围。由于视频内容的复杂性,不同用户在检索过程中,即使对同一部视频,其注重的角度也有可能不同,因此接受用户的反馈意见,当用户对查询结果不满意时可以优化查询结果,突出用户的需要。
目前各厂商对智能化视频分析的定义出入较大,众多厂家的系统具备了某些智能化视频分析的能力,并通过VMD(Video Motion Detection,移动检测)技术来实现,由于VMD技术是把画面栅格化,分析对比单元像素的变化,通过特定的算法来判断是否有物体在运动,该方法太过简单,甚至根本称不上智能化,无法正式在实际项目中正常工作,如图5-23所示。例如,有些系统只是简单地完成了一些运动检测工作,并不能从根本上实现自动分析并提取有威胁信息的功能,从而产生大量误报现象;而另一些系统虽然可以满足复杂的模式识别、目标跟踪等功能,但是在多变的实际应用环境中的工作状况却并不理想,并且众多功能形同虚设。
图5-23 VMD技术
通过对实时视频画面中的背景、众多物体进行分离,并根据行为特征的特性,把每个物体的行为单独分析,并对视频监视场景中的各个物体设置相关参数,以便对场景中的人、车、猫、狗等进行特征分离,并排除该区域对各种异常阴影、灯光、飞虫等的干扰;采集关于视频监视场景的视频图像,根据所述视频图像的亮度值,进行所述视频监视场景处于白天还是处于晚上的判断,并根据本发明可以大幅提高监控视频画面的智能分析与识别检测的灵敏度和准确性,从而正式商用。如图5-24所示,首先通过人的形状特征,把人物从该视频画面中提取出来,其次再对人的行走、奔跑等行为特征进行分析,从而更为智能准确地判断出视频画面中的事件,从而理解其意义,并根据预设的规则进行相关智能报警。
把以上相关技术整合成为一个完整统一体,在不改变原有监控部署的情况下,通过网络监控数据,直接针对各种用户预设规则产生自动报警,大幅提升了众多监控图像的监控能力。针对各个视频图像实时进行智能监测,解决视频监控中的人为疏忽。为实现上述目的,本研究设计了一种全新智能视频分析处理系统、系统授权控制管理模块等,系统通过网络接入获取视频压缩流,再接视频处理系统。视频处理系统内还有视频智能分析模块,该模块内存储了该视频场景需捕捉的异常事件图像特征的N条规则。微处理器按规则分析实时视频,将符合规则的视频数据作为事件压缩后分类存储。微处理器还接有事件搜索模块,可按事件和时间对存储的视频数据进行搜索。
技术应用的广泛取决于技术上的完善程度,尽管目前很多厂家的智能视频监控系统仅仅达到了“检测”的水平,尚未做到“识别”的层面,但是该技术在很多方面已经无法满足产品化的要求。本研究不仅可以根据实时监测视频,做到“检测”的水平,并且可以根据“目标”的行为做到“识别”的层面,这将大幅提升“智能”的产业化应用领域。例如,在威胁状况预报警方面,智能化系统已经可以帮助操作者分析具有威胁的监控画面,有别于人力监控的是,系统能够保持持续性的检测和判断,而不会产生注意力不集中或者疲劳等现象;在人流、车流统计方面,智能系统可以更加准确、便捷的提供道路违章车辆的信息,在一些出入量较大的场所也能够较为准确地统计人流量数据;在物体跟踪方面,智能系统则帮助监控人员通过警报的方法呈现物体的遗失、移动、滞留等现象。这些功能都使得传统被动式的监控工作变得更为主动。
图5-24 目标特征行为提取分析
本研究采用了不同于普通视频分析系统的一些先进算法,这些算法对于系统的智能性和稳定性有很大的提高。与目前国内其他厂商的产品相比,本研究具有明显的技术先进性。传统的视频分析算法,例如背景图像差分法、帧间差分法等,这里就不详细分析介绍。本书主要就“智能哨兵”系统的一些先进算法进行简单的介绍。
本研究主要采用的先进视频分析算法包括:基于高斯混合模型(GMM)的背景分割算法,基于K-means聚类的目标提取算法,基于Cam Shift的运动目标跟踪算法,以及基于Kalman滤波器的运动估计算法等。
(1)基于高斯混合模型(GMM)的背景分割算法。
GMM的基本思想是把每一个像素点所呈现的颜色用M个状态来表示,通常M取值为3~5,将每个状态用一个高斯分布来近似,将像素点所呈现的颜色用随机变量X来表示,在每个时刻T得到视频图像的像素值作为随机变量X的采样值。则对于第k个状态(0<k≤M)的像素分布可表示为:
其中μk和∑k分别表示期望和协方差矩阵。
随机变量X的分布可用k个状态分布的加权和来表示:
其中πk,t是T时刻第k个高斯分布的权值,它代表了由第k个分布产生的采样值占总采样值的比例或者说k出现在该像素的先验概率,且πk,t=1,Φ是全部参数的集合,定义为Φ={π1,π2,…,πM;ϕ1,ϕ2,…,ϕM},所有参数需要从X的观察值估计得到。上述表达式的直观意义是:在T时刻观察到xk的概率等于该值分别属于M个高斯分布的概率的加权和。
GMM之所以能够将前景和背景分开是基于如下两点事实。一是在长期观测的场景中,背景占大多数时间,更多的数据是支持背景分布的。二是即使是相对颜色一致的运动物体也会比背景产生更多变化,况且一般情况下物体都是带有不同颜色的。我们之所以将前景也用一个高斯分布来表示,是因为前景物体也有机会变为背景,当场景中添加物体时,通过一段自适应过程,可以用新的背景模型来替换旧的背景模型。而当物体移走时,原来的背景模型依然存在,可以快速地恢复背景模型。
(2)基于K-means聚类的目标提取算法。
K-means算法接受参数K,然后将事先输入的n个数据对象划分为K个聚类,使所获得的聚类满足同一聚类中的对象相似度较高,而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)并进行计算的。
K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近它们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
假设要把样本集分为c个类别,算法描述如下。
①适当选择c个类的初始中心;
②在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类;
③利用均值等方法更新该类的中心值;
④对于所有的c个聚类中心,如果利用②③的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。
该算法的最大优势在于简洁和快速,算法的关键在于初始中心的选择和距离公式。具体流程为:首先从n个数据对象任意选择k个对象作为初始聚类中心;而对于所剩下的其他对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数。k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能地分开。
(3)基于Cean Shift的运动目标跟踪算法。
Mean Shift算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束。
基本的Mean Shift形式扩展为:
其中:),G(x)是一个单位核函数,H是一个正定的对称d×d矩阵,我们一般称为带宽矩阵,w(xi)≥0是一个赋给采样点xi的权重。
在实际应用的过程中,带宽矩阵H一般被限定为一个对角矩阵H=diag,甚至更简单地被取为正比于单位矩阵,即H=h2I。由于后一形式只需要确定一个系数h,在Mean Shift中常常被采用,在本书的后面部分我们也采用这种形式,因此上式又可以被写为:
对于目标跟踪而言,用一个物体的灰度或色彩分布来描述这个物体,假设物体中心位于,则该物体可以表示为:
候选的位于y的物体可以描述为:
因此物体跟踪可以简化为寻找最优的y,使得(y)与最相似。
(y)与的最相似性用Bhattacharrya系数(y)来度量分布,即:
式(3)在 ()点泰勒展开可得:
把式(2)代入式(3),整理可得:
其中,
对式(5)右边的第二项,我们可以利用Mean Shift算法进行最优化。
(4)基于Kalman滤波器的运动估计算法。
Kalman滤波基于时域描述的线性动态系统,它的模型是Markov Chain,而Markov Chain建立在一个被高斯噪声干扰的线性算子之上。系统的状态可以用一个元素为实数的向量表示。随着离散时间的增加,这个线性算子就会作用到当前状态之上,产生一个新的状态,并且会带入一定的噪声,同时一些已知的控制信息也会加入。同时另外一个受噪声干扰的线性算子将产生这些隐含状态的可见输出。Kalman滤波可以被看作为类似隐马尔科夫模型,它们的显著不同点在于:隐状态变量的取值空间是一个连续的空间,而离散状态空间则不是;另外,隐马尔科夫模型可以描述下一个状态的一个任意分布,这也与应用于Kalman滤波器中的高斯噪声模型相反。
Kalman滤波是一种递归的估计,即只要获知上一时刻状态的估计值以及当前状态的观测值就可以计算出当前状态的估计值,因此不需要记录观测或者估计的历史信息。卡尔曼滤波器与大多数滤波器的不同之处,在于它是一种纯粹的时域滤波器,它不需要像低通滤波器等频域滤波器那样,需要在频域设计再转换到时域实现。
卡尔曼滤波器的状态由以下两个变量表示:x^k|k,在时刻k的状态的估计;Pk|k,误差相关矩阵,度量估计值的精确程度。
卡尔曼滤波器的操作包括两个阶段:预测与更新。在预测阶段,滤波器使用上一状态的估计,做出对当前状态的估计。在更新阶段,滤波器利用对当前状态的观测值优化在预测阶段获得的预测值,以获得一个更精确的新估计值。
预测阶段:
更新阶段:
使用上述公式计算Pk|k仅在最优卡尔曼增益的时候有效。使用其他增益的话,公式要复杂一些。
如果模型准确,而且x^0|0与P0|0的值准确地反映了最初状态的分布,那么以下不变量就保持不变:所有估计的误差均值为零。
且协方差矩阵准确地反映了估计的协方差:
请注意,其中E[a]表示a的期望值,cov(a)=E[aaT]。
图像匹配在众多视觉应用中是一个关键技术,通过摄像头监控的视频流进行对特定目标的管控,最终也需要进行关键帧的图像匹配,而匹配的效果直接影响到后续分析处理的效果。特定目标的识别属于静态的图像匹配,即给定场景和特定目标的两幅图像,寻找同一场景点投影到目标图像中的像素之间的对应关系,其中主要方法为图像特征点提取和最小距离计算。Moravec等人采用角点算子来实现立体视觉匹配,在此基础上Harris等人对Moravec算子进行改进,Harris的角点检测算法具有旋转不变以及缩放不变等许多优良特点,因此被广泛应用于各种图像匹配算法中,然而它对视角、照明、尺度变化较为敏感,抗噪声能力不强。之后David Lowe等人提出了更加稳定的SIFT(scale invariant feature transform)特征算子,该算子不但具有尺度、旋转、仿射、视角、光照不变性,而且其匹配点多且稳定的特点对于复杂环境下目标的识别也较为有利,该算子已经广泛应用于三维目标识别、地图生成和末制导图像匹配等领域。针对不同应用和场景,SIFT算法也被不断地优化和改进且衍生出多种不同的改进算法。利用SIFT算法对监控视频中的特定目标进行识别和管控,不但降低了人工成本和人工检测的不确定性,极大解放了人力劳动,而且提高了对摄像头的利用率,可以真正做到对安全关键区域的特定目标进行24小时的实时监控和管理。
首先使用混合高斯背景建模进行场景识别,当场景中的情况满足了需要匹配的条件,如场景中目标无管控人员在周围管控之后,采用SIFT算法提取特定目标的特征点,然后进行特征点筛选及匹配,最后完成对特定目标的识别,并实现联动报警,以此对特定目标达到实时管控保护的目的。该方法在大量实验中证明了在特定场景下的可行性,且达到了较好的识别效果。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。