吴福豪, 赵 倩
(上海电力学院 电子与信息工程学院, 上海 200090)
随着世界范围内城市化进程的不断推进,人群聚集现象变得越来越突出,如体育比赛、游行示威、恐怖活动等,密集人群中小群体检测技术在智能监控、虚拟现实、公共安全等方面的应用也越来越普遍。通常情况下,在一个群体中有50%~70%的人是以小群体的形式行动[1],故人群中个体之间的相互作用对于群体现象的研究十分重要[2]。然而,由于人类的社会性,人群中的相互作用不仅发生在个体与个体之间,而且也发生在各个小群体之间,所以密集人群中小群体检测也受到越来越多的关注。
密集人群的运动场景从宏观上可以分为两种类型——结构化的运动场景和非结构化的运动场景[3]。在结构化的运动场景中,人群运动发生在共同的路径上,运动路径不会频繁发生变化,并且场景中的每个空间位置都有一个关键的群体行为,例如公路自行车赛、马拉松比赛等。在非结构化拥挤的场景中,行人在不同的方向上自由移动,每个空间位置往往有几个群体行为。此外,人群之间由于存在遮挡等复杂的相互作用,进一步增加了在非结构化运动场景中对人群分割的难度,而本文将在非结构化的密集运动场景中进行群体检测。
在基于群组的方法中[4],拥挤人群具有高噪声或高复杂度的特点,小群体被认为是组成人群的基本要素,就导致有一部分个体难以区分。识别群体是掌握人群中复杂的社会动态和规范集体行为的重要步骤[5],就给计算机视觉带来了新的挑战,因为群体比单个个体或整个人群来说更难以表征。
目前,有些算法是通过物理模型(例如流体力学[6])来分析人群特性的。此类算法在极其密集的人群中有效,但由于其忽视了单个个体的主观目的和目标,因而具有一定的局限性。 文献[7]提出了行人动力学的社会力量模型,认为任何朝向目标移动的行人都会受到周围行人的影响。文献[8]认为社会关系会影响人们在人群中的行为方式,强调大多数人倾向于团体活动。这些算法都是通过由空间邻近性和速度特征的组合来定义社会学群体间的亲密度,从而逐次合并小群体。本文结合了轨迹时空特征[9]、个体运动方向特征[9]、格兰杰因果性特征[10]、热能图特征[11-12]以及个体之间运动相关性特征[12],将对群体的检测视为有监督的相关性聚类[13],采用结构支持向量机(Support Vector Machine,SVM)对提取的特征进行训练分类[14-15]。为了保证算法的鲁棒性,试验采用的数据集均为现实场景中的视频图像。
一个群体,可以被定义为两个或两个以上的人员,根据物理身份(空间邻近性)和社会身份(小群体内规则)达成共同目标并共享成员。
首先,将群体检测作为一个聚类问题进行处理,以获得各特征的权值。将一组行人编号为P={a,b,…},设函数Y(P)作为解决这个聚类问题的所有可能出现的方案。那么当a∈P,∃y∈Y(P)且∪y∈Y(P)y=P,y={y1,y2,y3,…}为一系列有效解。
相关性聚类算法将权值矩阵Wab作为输入。对于一个确定的|Wab|,当Wab>0时,行人a和行人b属于同一个小群体;当Wab<0时,行人a和行人b不属于同一小群体。因此,需要将同一聚类y中元素对的总和最大化
(1)
将W中的成对元素亲和度参数化为有界不相似度量权重的线性组合及其补充
(2)
式中:α,β——参数;
d(a,b)——组合特征。
根据不同场景的不同聚类规则,式(2)中的参数W=[α,β]保证了每个特征在识别群组时所占的比重有所不同。对于最佳参数W的选择受到文化、社会环境以及场景天气等诸多因素的影响,故采用学习框架来得到最合适的聚类规则。
本文算法设计了5个特征,分别为轨迹时空距离特征d1,运动方向特征d2,格兰杰因果性特征d3,热能图特征d4,运动相关性特征d5,用来捕捉运动行人的物理和社会身份,以及识别他们之间存在的共同目标。因此,两个成对的行人特征向量定义为
d(a,b)=[d1,d2,d3,d4,d5]
(3)
(4)
然后定义
(5)
式中:Na,Nb——行人a和行人b在时间窗T内的图像中出现的次数。
在无序运动的人群中,一个小群体内的行人往往会有一个共同的目的地,因此他们的运动方向在通向目的地的过程中会基本保持一致。
(6)
(7)
(8)
如果式(8)成立,则说明行人b对行人a的运动轨迹产生了影响。
引入约束和非约束模型的残差平方和分别为
(9)
(10)
式中:n——分析图像的总帧数。
定义测试统计为
(11)
本文采用 Fisher-Snedecor分布来计算格兰杰因果性特征,故
d3(a,b)=
(12)
在不同的位置,小群体的形成和散开对于群体检测来说也是一个非常有效的信息,因此采用热能图来描述群体活动成为一个十分有用的特征。当轨迹穿过一个区域,这个区域将被定义为一个区域热源。通过这种方式,轨迹可以被转换成一系列热源。此外,为了进一步捕捉轨迹的时间信息,在不同的热源上引入衰减因子,使得“较早的”热源(即离轨迹起点较近的小块)的热能较小,而“较新的”热源将具有较大的热能。
假设在当前的分组中,轨迹la的热源区域Ru1×v1的能量衰减为
(13)
式中:u1,v1——区域的长和宽;
e-kt·tint——衰减周期;
kt——衰减因数;
tint——行人a在热源区域的时间。
当轨迹la由路径(p,q)进入热源区域Ru1×v1在相关网格(u,v)处热源开始激发,其热源衰减过程Ha(u,v)为
(14)
式中:ks——在不同路径、不同距离下的重要性参数;
(p-u),(q-v)——轨迹la由路径(p,q)进入热源与网络(u,v)的距离。
把每一个轨迹都构建热能图,其热能图特征可表示为
(15)
如果行人a和行人b属于同一小群体,则其运动轨迹一致,表明两人的运动相关性比较高,从t→t+1时刻,行人a和行人b的运动相关性可表示为
(16)
本文采用结构化SVM来模拟和学习预测解决方案。SVM是一种监督式机器学习方法,用于分类和模式识别等。在该方法中,支持向量被用来表示决策边界,并将低维输入空间的线性不可分数据映射到高维特征空间,使其线性可分离。该算法将在第i个时间窗口所有可能两两成对的行人轨迹所提取的特征作为输入xi,xi={[1-di(a,b);di(a,b)]},yi为人群分类结果。构建一个由输入到输出的分类映射,输入输出对为{(x1,y1),(x2,y2),(x3,y3),…,(xn,yn)}。根据相关性聚类算法获得Wd,然后经过Frank-Wolfe算法迭代300次得到最优权值W[15]。由判别函数F测量(x,y)对之间的兼容性,并为那些良好的匹配给出高分。判别函数为
(16)
通过最小化一个凸目标函数,参数可以通过一组实例{(x1,y1),(x2,y2),(x3,y3),…,(xn,yn)}在大范围框架中学习。凸目标函数为
(17)
其中:∀i:εi≥0;∀i,∀y≠yi:WTδφi(y)≥Δ(y,yi)-εi;δ(φi(y))=φ(xi,yi)-φ(xi,y);Δ(y,yi)为损失函数。
(18)
(19)
由给定精确度P,召回率R和F1-score将损失函数定义为
Δ(y,yi)=1-F1
(20)
试验算法流程如图1所示。
图1 算法流程示意
本文在MPT和GVEII数据集上进行测试,数据集MPT和GVEII主要包括来自公共场所摄像机拍摄的不同场景条件下大量行人活动的视频(取4个群体典型视频)。算法使用MATLAB软件实现,试验均在Intel i5 CPU,4 G RAM下进行。将本文算法与文献[16]算法进行对比,结果如表1所示。
表1中,场景1为数据集GVEII中的一个室内场景,场景2为MPT中街道交叉口场景,场景3为MPT中机场内的场景,场景4为MPT中马路上的场景。
表1 两种算法的测试精确度对比 %
由表1可知,本文算法的精确度和召回率均高于文献[16],故在分割个体和小群体方面,本文算法要优于文献[16]的算法。
将参数W=[α,β]=[w1,w2,w3,…,w10]代入式(2),得
(21)
每个特征占分群得分的比例由式(21)中的常数项决定,其编码为特征本身系数的绝对值。
图2为式(21)中特征归一化的系数。
图2 式(21)中特征归一化的系数
由图2可知,在任何一个数据集中,轨迹时空距离特征都占有最高比重,其他特征的重要性随着视频序列的改变而有所变化。例如,在场景1和场景3中,运动方向特征在测量分群算法得分时起重要作用,而场景2中,运动方向特征所占比例极小。运动相关性特征在场景2和场景3中十分重要,但在场景1和场景4中热能图特征的关键性更高。
图3为不同场景分组检测结果对比。图3中,第一列为本文算法试验结果,第二列为文献[16]试验结果。根据已知分组情况,在场景1中,本文算法正确分组6个,错误分组零个;文献[16]算法正确分组5个,错误分组1个。在场景2中,本文算法正确分组10个,错误分组2个;文献[16]算法正确分组9个,错误分组5个。在场景3中,本文算法正确分组5个,错误分组3个;文献[16]算法正确分组5个,错误分组3个。在场景4中,本文算法正确分组3个,错误分组零个;文献[16]算法正确分组2个,错误分组零个。由此表明,本文算法的分组情况在整体上优于文献[16]算法。
在密集度较小的场景中,行人运动轨迹受同一组行人运动影响较大,文献[16]中的轨迹相似性特征对行人分组十分有利。但在密集度较大的场景中,一个人的运动轨迹不仅受到同一组行人的影响,而且也受到周围多个行人的影响。因此,文献[16]中的轨迹相似性特征在密集度大的拥挤场景中会使错误分组的情况增多。
图3 不同场景分组检测结果对比
本文算法通过连续能量最小化的方法提取了行人的坐标和轨迹信息[17]。在现实场景中,经常有不精确的地平面投影或跟踪误差,会造成定位行人坐标误差。由于自动人体检测器的定位误差会产生许多轨迹碎片,当计算轨迹时空距离特征和格兰杰因果性特征时,大量的轨迹碎片会影响群体检测的效果。因此,通过减小窗口的大小,可以最小化每个例子中的分割轨迹的数量,并恢复大部分轨迹的原始效果。
在无序运动的场景中,人群不仅有空间性特征,而且还保留有社会特征,因此本文提取了个体之间运动轨迹时空特征、运动方向特征、格兰杰因果性、热能图特征以及运动相关性特征来捕捉和表征不同群体的特性。为了得到有效的聚类规则,采用了结构化支持向量机。该算法综合了各个物理特征和社会特征,最大程度地利用了群体中的有效信息,使得分组更为精确。经过试验结果比较可知,本文的检测效果要高于文献[16]的算法。