本发明属于信息处理技术领域,特别涉及一种拥挤场景下的异常事件检测技术,可用于公共安全智能监控、交通管制以及刑侦辅助等领域。
背景技术:
随着人们公共安全意识的提升,越来越多的监控设备被用于安防系统中。目前,监控系统仍然依赖于人的判断,不仅费时费力,而且由于视觉疲劳,很容易造成可疑事件的漏检。为此,让计算机自动识别异常事件的智能监控系统成为目前研究的重点。然而,异常事件的自动检测非常具有挑战性,因为异常的种类多种多样且具有不可预测性,人们很难罗列出特定场景下可能出现的所有异常类型。
根据监控场景中运动目标的多少,异常事件可以分为稀疏场景下的异常事件和拥挤场景下的异常事件。稀疏场景下,运动目标非常稀少,可以很容易检测和追踪目标,并提取有效的特征表达,因此异常检测的精度较高。在拥挤场景下,运动目标非常多,彼此之间不可避免地会发生频繁遮挡,因此目标的检测和追踪变得非常困难。基于此,目前通常采用基于视频块的特征对视频事件进行描述。
近年来,已有大量关于拥挤场景下异常事件检测的算法被提出。它们大多从一组只包含正常视频事件的训练集中学习出正常的事件模式,然后在测试的过程中找出与这些正常事件模式不匹配的视频事件判定为异常事件。lu等人在文献“c.lu,j.shi,andj.jia,abnormaleventdetectionat150fpsinmatlab,inproceedingsofieeeinternationalconferenceoncomputervision,2013,pp.2720-2727”中学习一组正常视频事件模式,将重构误差小的测试样本定义为异常。但是这类方法忽略了测试过程中异常事件的事件模式,而这对于异常事件的准确判别具有非常重要的作用;同时,人们很难在训练数据集中包含所有的正常事件模式。
技术实现要素:
为了准确判别异常事件,本发明提出一种基于半监督字典学习的拥挤人群异常检测方法,构建基于半监督学习的异常事件检测框架,将异常事件定义为包含异常事件模式,同时异常探测器得分较高的视频事件,在测试的过程中,自动挑选出训练过程中没有的正常视频事件对正常事件模式进行更新,提高模型表达精度。
本发明的技术解决方案是提供一种基于半监督字典学习的拥挤人群异常检测方法,包括以下步骤:
步骤1、构建数据集;
采集监控系统中的视频数据,构建数据集,将数据集划分为训练数据集与测试数据集,所述训练集中只包括正常视频数据;
步骤2、数据集中事件特征提取;
(2a)将数据集中的输入视频帧分割为空间上部分重叠的视频块;
(2b)计算每帧图像的梯度和光流图,并对每个视频块分别提取梯度和光流信息进行直方图统计,作为视频事件的局部特征表达;
步骤3、构建假设,所述假设包括零假设h0与备择假设h1;
(3a)零假设h0:正常视频事件只包含正常事件模式,即事件y只用正常事件模式进行稀疏线性组合,y=dα0+ε,其中,d是正常事件模式,α0是稀疏表达系数,ε是模型噪声;
(3b)备择假设h1:异常视频事件由正常和异常事件模式同时组成,即事件y同时包含正常和异常事件模式,y=dα1+sβ+ε,其中,s是异常事件模式,α1和β是稀疏表达系数;
步骤4、基于训练数据集中的正常视频事件,学习正常事件模式;
(4a)采用混合高斯分布对模型噪声进行建模,目标函数为:
其中,k为高斯成分的个数,π0k和
(4b)采用期望最大化算法对公式(1)目标函数中的参数进行优化;得到正常事件模式及其稀疏系数的目标函数:
其中,
(4c)公式(2)采用迭代更新策略进行优化;
步骤5、在测试数据集的测试样本和步骤4获得的已有正常事件模式的基础上学习异常事件模式;
(5a)采用混合高斯分布对模型噪声进行建模,目标函数为:
其中,k为高斯成分的个数,π1k和
(5b)采用期望最大化算法对公式(5)的目标函数参数进行优化;
(5c)对正常样本进行降采样或对可疑样本进行升采样,得到学习异常事件模式的目标函数:
其中,
(5d)异常事件模式s与表达系数α1、β采用交替迭代算法进行优化;具体优化方法同步骤(4c)。
步骤6,异常事件检测;
(6a)构建异常事件探测器det,计算相比于只利用正常事件模式,引入异常事件模式对表达精度的提升,即
(6b)检测过程中,若事件中包含异常事件模式且异常事件探测器det得分大于预设阈值ξ,则判定该事件为异常事件;
步骤7,事件模式更新;
(7a)检测过程中,利用包含异常事件模式,但异常事件探测器det得分小于预设阈值ξ的测试样本对正常事件模式进行更新;
(7b)将更新后的正常事件模式d带入公式(6),对异常事件模式进行更新,并用更新后的正常和异常事件模式检测异常事件。
进一步地,所述步骤(7a)具体为:
将包含异常事件模式,但异常事件探测器det得分小于预设阈值ξ的测试样本的集合记为
其中,w是对角阵,对角线上第i个元素为wi,d0为目前的正常事件模式。
进一步地,步骤(5c)中对正常样本进行降采样:选择p(y|h0)<p0的样本学习异常事件模式,p0为预设参数;
对可疑样本进行升采样:为每个样本分配一个权重r,其中r=1/p(y|h0)。
进一步地,采用hog和hof特征作为视频事件的局部特征表达。
进一步地,步骤(4c)具体为:
由于每个样本只包含有限的事件模式,因此系数向量α0i是稀疏的,即
||α0i||0计算α0i中非零元素的个数,t代表非零元素的上限个数。上式采用投影梯度下降法进行优化。关于字典d,目标函数可以写作
其中,w是对角阵,对角线上第i个元素为wi。约束条件
本发明还提供一种基于半监督字典学习的拥挤人群异常检测系统,包括处理器及存储器,其特殊之处在于:所述存储器中存储计算机程序,计算机程序在处理器中运行时,执行上述基于半监督字典学习的拥挤人群异常检测方法。
本发明还提供一种计算机可读存储介质,其特殊之处在于:储存有计算机程序,计算机程序被执行时实现上述基于半监督字典学习的拥挤人群异常检测方法。
本发明的有益效果是:
本发明由于考虑了测试过程中异常视频事件的组成,提出一种新的异常事件检测框架。采用混合高斯模型对模型噪声进行建模,提高了模型的表达能力。在测试的过程中,自适应地检测出较少发生的正常视频事件,并对视频事件模型进行更新,提高了模型的表达精度。
附图说明
图1为本发明基于半监督字典学习的异常事件检测方法流程图;
具体实施方式
以下结合附图及具体实施例对本发明实现的步骤作进一步地详细描述:
参照图1,本发明实现的步骤如下:
步骤1、采集监控系统数据,构建数据集,数据集包括训练数据集与测试数据集,训练集中只包括正常视频数据。
步骤2、数据集中事件特征提取:
(2a)将数据集中的输入视频帧分割为空间上部分重叠的视频块。
(2b)计算每帧图像的梯度和光流图,并在每个视频块内分别对梯度和光流信息进行直方图统计得到视频事件的局部特征表达;本实施例中选取hog(histogramofgradient)和hof(histogramofopticalflow)特征。
步骤3、构建假设:
(3a)零假设h0:正常视频事件只包含正常事件模式,即事件y可以只用正常事件模式进行稀疏线性组合,y=dα0+ε。其中,d是正常事件模式,α0是稀疏表达系数,ε是模型的噪声。
(3b)备择假设h1:异常视频事件由正常和异常事件模式同时组成,即事件y同时包含正常和异常事件模式,y=dα1+sβ+ε。其中,s是异常事件模式,α1和β是稀疏表达系数。
步骤4,基于训练数据集中的正常视频事件,利用最大似然估计算法学习正常的事件模式:
(4a)通常,模型噪声ε被认为采样自独立同分布的高斯分布。然而,在实际情况中,视频事件的表达和建模非常复杂,单一的高斯分布很难对噪声准确建模。为此,本发明采用混合高斯分布对噪声进行建模。理论上,当高斯成分足够多时,混合高斯分布可以逼近任意连续的密度函数。基于此,目标函数可以写作
其中,k为高斯成分的个数,π0k和
(4b)公式(1)中的参数采用期望最大化(expectationmaximization,简称em)算法进行优化。通常,公式(1)的最大化可以通过优化其下界实现。关于正常事件模式及其稀疏系数的目标函数,可以写作
其中,
公式(2)采用迭代更新策略进行优化。其中,由于每个样本只包含有限的事件模式,因此系数向量α0i是稀疏的,即
||α0i||0计算α0i中非零元素的个数,t代表非零元素的上限个数。上式采用投影梯度下降法进行优化。关于字典d,目标函数可以写作
其中,w是对角阵,对角线上第i个元素为wi。约束条件
步骤5,学习异常事件模式。
(5a)在输入测试数据集的测试样本和已有正常事件模式的基础上学习异常事件模式,采用混合高斯分布对模型噪声进行建模,目标函数为:
其中,k为高斯成分的个数,π1k和
(5b)公式(5)中的参数同样采用em算法进行优化。
(5c)由于异常视频事件的稀少特性,输入测试样本中正常样本的数量要远大于可能的异常样本的数量。
为了解决样本不均衡问题,本发明采用两个策略进行处理:1)正常样本进行降采样,选择p(y|h0)<p0的样本学习异常事件模式,即选择正常事件模式不能很好表达的样本(p0为预设参数);2)对可疑样本进行升采样,为每个样本分配一个权重,该权重与正常事件模式表达的精度呈反比,即r=1/p(y|h0),使得越可疑的样本升采样次数越多。基于此,学习异常事件模式的目标函数可以写作
其中,
步骤6,异常事件检测。
(6a)构建异常事件探测器,计算相比于只利用正常事件模式,引入异常事件模式对表达精度的提升,即
(6b)测试过程中,本发明将异常事件判定为包含异常事件模式,同时异常事件探测器得分大于预设阈值ξ(即β≠0&det>ξ)的视频事件。
步骤7,事件模式更新。
(7a)异常事件检测的结果共有四种情况:1)β=0&det>ξ;2)β=0&det≤ξ;3)β≠0&det>ξ;4)β≠0&det≤ξ。第一种情况不可能发生,因为β=0将使备择假设退化为零假设,此时探测器的得分将趋近于1;第二种情况表示正常事件;第三种为发生异常的情况;第四种情况下,测试样本既包含异常事件模式,同时这些异常事件模式对事件表达精度的提升又不高,因此属于较少发生的正常事件,本发明利用这些事件对正常事件模式进行更新。
(7b)记这些较少发生的正常事件样本集合为
其中,w是对角阵,对角线上第i个元素为wi。d0为目前的正常事件模式。约束条件的目的是防止dp过大使得a数值太小。
(7c)将更新后的正常事件模式d带入公式(6),对异常事件模式进行更新,并用更新后的正常和异常事件模式检测异常事件。
本发明的效果可以通过以下实验做进一步的说明。
1.仿真条件
本发明是在中央处理器为intel(r)corei3-21303.4ghz、内存16g、windows7操作系统上,运用matlab软件进行的仿真。
实验中使用的视频数据库是由香港中文大学于2013年发布的avenue数据集,测试视频中共包含14类异常事件,包括:奔跑、逗留、抛洒等。训练数据集和测试数据集分别包含16段和21段视频数据,每段视频的长度并不一致。在测试数据集中,每帧视频都有目标层的真实标注,即用方框标出异常的目标区域。该数据集共包含30,652帧视频数据,空间分辨率为360×640。
2.仿真内容
首先,在avenue数据集上,完成本发明算法(基于半监督字典学习的异常检测算法)与lu的算法的实验。然后,统计目标层异常事件检测的精度,即检测区域与真实异常区域重叠面积和总面积的比值大于预设值θ时的检测准确率。定量的检测精度如表1所示。
表1目标层检测精度
其中对比算法lu的结果来自文献:
c.lu,j.shi,andj.jia,“abnormaleventdetectionat150fpsinmatlab,”inproceedingsofieeeinternationalconferenceoncomputervision,2013,pp.2720-2727.
从表1可以看出,在所有检测阈值θ下,本发明都能比lu的方法更好地完成目标层异常事件的检测。这是因为本发明探索了测试过程中异常事件的模式组成,并构造模型的更新策略,实现了模型表达能力和精度上的提升。