基于CD运动特征的群体行为识别方法及系统
技术领域
本发明涉及的是智能视频监控领域,具体地,涉及的是一种监控场景下的群体行为识别方法及系统。
背景技术
在智能视频监控领域,如何及时有效地分析群体行为并给出公共安全管理的决策依据是非常重要的一个问题。随着人民生活水平不断提高,社会公共活动日趋频繁,且群体规模越来越大,导致维护公共安全秩序难度增大。近年来,为了有效防范群体性事件发生,加强公共安全管理,维护社会和谐稳定,我国公共安全管理等相关部门相继推出“金盾工程”、“平安城市”、“智慧城市”等一系列安防和应急管理信息化建设,建立了大规模城市高清图像监控网络和应急管理系统。但是,目前的视频监控技术还不能主动感知理解群体行为,亦不能达到及时防范群体性事件的目的。
经对现有的技术文献检索发现,目前群体行为分析多数都集中在群体异常事件检测,也就是正常\异常二分类问题。比如从社会力学角度出发,提取群体中的社会力特征,然后据此判断群体是否出现异常;从流体力学的角度出发,提出势能场来表示群体的运动状态,进而判断是否发生异常;从粘性流体场的角度出发,通过构建时空粘性力场来表示群体的运动特性,然后检测群体中是否发生异常事件;还有提出利用多尺度光流直方图检测群体场景中的异常事件。这些方法的局限性在于只能判断群体行为是否异常,却无法给出明确的群体行为类别,比如旋转、聚集或是发散。在识别群体行为类别方面,有研究者提出从动态系统的稳定性出发,利用雅可比矩阵的特征值来描述不同的群体运动类型。
但是这种方法依然存在一些问题,主要包括以下几点:1)由于其使用的特征是局部特征,易受透视畸变和尺度变化影响;2)在多种运动模式存在相互交叠的情况下,不能有效地分解出每个运动模式;3)仅仅给出群体行为的类别,却无法定量宏观地描述群体运动。
发明内容
鉴于现有群体行为识别方法存在上述不足,本发明提出了一种基于CD(C,即Curl,代表旋度;D即Divergence,代表散度)运动特征的群体行为识别方法及系统,可以有效地分解出一个监控场景的多个运动模式,并用CD运动特征从宏观上进行定量地描述,然后通过SVM分类器判断其行为类别;本发明具有很强的鲁棒性,可以有效应对透视畸变和尺度变化的影响,具有很好的实际应用价值。
为实现以上目的,本发明采用以下技术方案:
根据本发明的第一方面,提供一种基于CD运动特征的群体行为识别方法,包括以下步骤:
S1:对任意给定的群体监控视频,计算其光流场;
S2:对光流场进行时域上聚类,得到运动矢量场;
S3:对运动矢量场进行分解,得到基本的子运动矢量场;
S4:对每个子运动矢量场提取CD运动特征;
S5:对每个CD运动特征进行特征抽取,得到长度一致的特征向量;
S6:将特征向量输入到SVM分类器,从而判断群体行为类别。
优选地,步骤S1中,所述光流场的计算方法为:采用LK光流法,在相邻两帧计算光流;
假设有N+1帧图像序列,采用LK光流计算之后,得到N个连续的光流场,表示为:
{Oi(x,y)},i=1,2,...,N,
其中(x,y)为相应图像中的坐标点。
优选地,步骤S2中,所述光流场在时域上聚类的方法为:利用mean-shift算法对每个点的N个运动矢量进行聚类,结果表示为:
V(x,y)={vi(x,y)},i=1,2,...,c(x,y),
其中:c(x,y)表示聚类个数;{vi(x,y)}表示聚类之后的矢量;
相应的权重为:
而且满足
最终运动矢量场的聚类结果为:
优选地,步骤S3中,所述矢量场分解的方法为:在矢量场M(x,y)中的点(x,y)上放置c(x,y)个粒子,所述粒子由该位置相应的运动矢量驱动进行漂流;
假设p(t)=(x(t),y(t))表示粒子在t帧的位置,则在t+1帧的位置为:
p(t+1)=p(t+1)+V*(p(t)),
其中:V*(p(t))表示粒子在p(t)位置时的运动速度,V*(p(t))=vMH(V*(p(t-1),VM)VM∈M(p(t));H为速度相关函数,定义为:H(V1,V2)=V1·V2;
如果满足H(V*(p(t)),V*(p(t-1)))>Hth,Hth是指阈值,粒子以速度V*(p(t))继续漂流;当所有粒子停止漂流之后,形成一张粒子密度图;利用mean-shift算法进行聚类,得到一些聚集点;每个聚集点即表示一个子运动矢量场,通过该聚集点的成员粒子的初始速度进行恢复;
假设有m个成员粒子MP(t)={p1(t),p2(t),...,pm(t)属于一个聚集点,则相应的子运动矢量场为:
其中t0为初始时刻。
优选地,步骤S4中,所述提取CD运动特征的方法为:对每个子运动矢量场Msub(x,y)进行幅值归一化,然后计算其旋度图和散度图;在Msub(x,y)及其对偶矢量场上分别进行运动轨迹采样,得到切向轨迹和径向轨迹;最后对旋度图在切向轨迹上进行路径积分,得到旋度特征向量;对散度图在径向轨迹上进行路径积分,得到散度特征向量。
更优选地,所述旋度特征向量和所述散度特征向量共同构成CD运动特征。
优选地,步骤S5中,所述特征抽取的方法为:假设分别表示旋度特征向量和散度特征向量,将fc均匀地分成K个互不重叠的部分,表示为:
{fci},i=1,2,...,K;
对每个部分分别进行最大、最小特征抽取:
其中:Num+(fci)表示fci中非负元素个数,Num-(fci)表示fci中负元素的个数;
在特征抽取之后,新的旋度特征向量为:
类似地,对fd进行特征抽取得到新的散度特征向量
CD特征经过最大、最小特征抽取之后,得到低维的运动特征:
优选地,步骤S6中,所诉群体行为判别的方法为:将数据集分为训练集和测试集,分别提取每个样本的运动特征CDp并作为SVM分类器的输入;利用训练集的运动特征来训练SVM分类器,然后利用测试集的运动特征来测试群体行为识别方法的性能。
根据本发明的第二方面,提供一种基于CD运动特征的群体行为识别系统,包括:
计算光流场模块,对任意给定的群体监控视频,计算其光流场;
运动矢量场聚类模块:对光流场进行时域上聚类,得到运动矢量场;
运动矢量场分解模块:对运动矢量场进行分解,得到基本的子运动矢量场;
提取CD运动特征模块:对每个子运动矢量场提取CD运动特征;
特征抽取模块:对每个CD运动特征进行特征抽取,得到长度一致的特征向量;
SVM分类器:将特征向量输入到SVM分类器,从而判断群体行为类别。
与现有技术相比,本发明具有以下有益效果:
本发明提出的群体行为识别方法,由于使用CD运动特征,可以有效地应对透视畸变和尺度变化。另外,该方法亦可以分解出监控场景中存在交叠的多种运动模式,并分别从整体上进行定量描述。在实际应用场景中具有很好的鲁棒性和适应性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例的总体流程图;
图2为本发明一实施例的一个群体监控视频处理流程可视化效果图;其中:(a)为群体监控视频,(b)为光流场,(c)为运动矢量场,(d)为子运动矢量场,(e)为CD运动特征,(g)为群体行为;
图3为本发明一实施例的在公开的群体行为数据集上的识别结果,其中:(a)、(b)、(c)、(d)、(e)分别表示Lane、cArch、ccArch、Fountainhead、Bottleneck在UCF和CUHK数据集上的ROC曲线。图中纵轴True Positive Rate表示检测率,横轴False Positive Rate表示误检率。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
实施例1
如图1所示,一种基于CD运动特征的群体行为识别方法,该方法国际上公开的群体监控视频数据集,即UCF群体数据集和CUHK群体数据集。UCF数据集包括61个来自互联网的群体视频片段以及PETS2009的群体图像序列,其中总共包含的群体行为模式有66个lane(直行)、8个cArch(顺时针旋转)、20个ccArch(逆时针旋转)、29个fountainhead(散开)和20个bottleneck(聚集)。CUHK数据集由95个视频片段组成,其中总共包含的群体行为模式有91个lane、20个cArch,18个ccArch、9个fountainhead以及20个bottleneck。
参见图1所示流程图,本实施例所述方法具体实施步骤为:
(1):对任意给定的群体监控视频,如图2中(a)所示,计算其光流场;具体步骤如下:
采用LK光流法,在相邻两帧计算光流。假设有N+1帧图像序列,采用LK光流计算之后,得到N个连续的光流场,表示为:{Oi{x,y)},i=1,2,...,N,其中(x,y)是相应图像中的坐标点。如图2中(b)所示即为光流场示意图。
(2):对光流场进行时域上聚类,得到运动矢量场;具体步骤如下:
利用mean-shift算法对每个点的N个运动矢量进行聚类,结果表示为:V(x,y)={vi(x,y)},i=1,2,...,c(x,y),其中c(x,y)表示聚类个数。相应的权重则为:而且满足最终,运动矢量场的聚类结果是:值得注意的是,在实际场景中,由于噪声干扰或是个体运动的多样性,会出现一些小的聚类矢量,而这些对分析群体的整体运动模式并没有作用,所以M(x,y)中幅值比较小的运动矢量都会被丢弃,不会用作后续的分析。如图2中(c)所示即为运动矢量场示意图。
(3):对运动矢量场进行分解,得到一些基本的子运动矢量场;具体步骤如下:
在矢量场M(x,y)中的点(x,y)上放置c(x,y)个粒子,这些粒子由该位置相应的运动矢量驱动进行漂流。假设p(t)=(x(t),y(t))表示粒子在t帧的位置,则在t+1帧的位置为p(t+1)=p(t)+V*(p(t)),其中V*(p(t))表示粒子在p(t)位置时的运动速度,V*(p(t))=vMH(V*(p(t-1),VM)VM∈M(p(t))。H为速度相关函数,定义为:H(V1,V2)=V1·V2。如果满足H(V*(p(t)),V*(p(t-1)))>Hth,Hth是指阈值,取值范围[0,1]。在实验中一般设置为0.6。粒子以速度V*(p(t))继续漂流。当所有的粒子停止漂流之后,会形成一张粒子密度图。利用mean-shift算法进行聚类,得到一些聚集点。每个聚集点即表示一个子运动矢量场,可以通过该聚集点的成员粒子的初始速度进行恢复。假设有m个成员粒子MP(t)={p1(t),p2(t),...,pm(t)属于一个聚集点,那么相应的子运动矢量场为:
其中t0为初始时刻。如图2中(d)所示即为分解后的子运动矢量场示意图。
(4):对每个子运动矢量场提取CD运动特征;具体步骤如下:
对每个子运动矢量场Msub(x,y)进行幅值归一化,然后计算其旋度图和散度图。在Msub(x,y)及其对偶矢量场上分别进行运动轨迹采样,得到切向轨迹和径向轨迹。最后对旋度图在切向轨迹上进行路径积分,得到旋度特征向量;对散度图在径向轨迹上进行路径积分,得到散度特征向量。旋度特征向量和散度特征向量共同构成CD运动特征。如图2中(e)所示即为CD运动特征示意图。
(5):对每个CD运动特征进行特征抽取,得到长度一致的特征向量;具体步骤如下:
假设分别表示旋度特征向量和散度特征向量。将fc均匀地分成K个互不重叠的部分,表示为:{fci},i=1,2,...,K。对每个部分分别进行最大\最小特征抽取:
其中Num+(fci)表示fci中非负元素个数,Num-(fci)表示fci中负元素的个数。在特征抽取之后,新的旋度特征向量为类似地,对fd进行特征抽取得到新的散度特征向量CD特征经过最大\最小特征抽取之后,得到低维的运动特征如图2中(f)所示即为特征抽取之后的特征向量示意图。
(6):将特征向量输入到SVM分类器,从而判断群体行为类别,如图2中(g)所示;具体步骤如下:
将数据集分为训练集和测试集,分别提取每个样本的运动特征CDp并作为SVM分类器的输入。利用训练集的运动特征来训练SVM分类器,然后利用测试集的运动特征来测试群体行为识别方法的性能。如图3中(a)、(b)、(c)、(d)、(e)所示,分别表示Lane、cArch、ccArch、Fountainhead、Bottleneck在UCF和CUHK数据集上的ROC曲线,图中黑色实线即为本实施例所述的群体行为识别方法在UCF和CUHK数据集上的ROC曲线,曲线越逼近左上角,表明性能越好。从该图中可以看出,本实施例提出的方法在识别五个典型的群体行为中取得了非常好的分类结果。
实施例2
如图1所示,基于实施例1所述的方法,一种用于实现上述方法的基于CD运动特征的群体行为识别系统,包括:
计算光流场模块1,对任意给定的群体监控视频,计算其光流场;
运动矢量场聚类模块2:对光流场进行时域上聚类,得到运动矢量场;
运动矢量场分解模块3:对运动矢量场进行分解,得到基本的子运动矢量场;
提取CD运动特征模块4:对每个子运动矢量场提取CD运动特征;
特征抽取模块5:对每个CD运动特征进行特征抽取,得到长度一致的特征向量;
SVM分类器6:将特征向量输入到SVM分类器,从而判断群体行为类别。
上述各个模块所采用的技术特征见上述方法各个步骤对应部分,本系统能够很好的实现群体行为识别。
本发明提出的一种基于CD运动特征的群体行为识别方法,由于使用CD运动特征,可以有效地应对透视畸变和尺度变化。另外,该方法亦可以分解出监控场景中存在交叠的多种运动模式,并分别从整体上进行定量描述,在实际应用场景中具有很好的鲁棒性和适应性。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。