视频中群体行为自动分析方法

2015-04-01 01:02周虹伯
自动化仪表 2015年12期
关键词:像素点像素背景

周虹伯 金 烨 沙 力

(河北华电曹妃甸储运有限公司1,河北 唐山 063200;华电重工股份有限公司2,北京 100071;上海工业自动化仪表研究院3,上海 200233)

0 引言

人群群体行为研究是许多学科如社会心理学、生物学、疾病传播研究等的基础研究之一。监控摄像头所收集的大量的人群和人流场景的视频数据,为人群的群体行为研究提供了大量的原始材料。然而,在人数较多的环境中,人群所处的状态往往非常复杂,静止和运动的人同时存在、人体的遮挡聚集等使得要准确地检测到人群中的人体变得极为困难,而准确的人体检测和跟踪是视频群体行为自动分析技术的关键步骤。文献[1]和文献[2]所提出的基于方向梯度直方图(histogram of oriented gradient,HOG)特征的行人检测方法并不适用于人群中的人体检测,由于拥挤产生的严重遮挡会导致大量的漏检或误检。文献[3]提出了利用人群中人体头肩部分比较突出的特点,对头顶峰值点进行检测并采用人体模型匹配来定位人体,这种方式可以很大程度上减小遮挡的影响。文献[4]对动静人体同时存在的情况提出了一种基于块更新的动静人体检测方法,用人体检测的结果帮助更新背景模型,然而依赖检测结果对背景进行直接更新的方式有时候会将误检和漏检的区域更新到背景中,累积更多的误差。

针对上述问题,本文提出对基于头肩检测的自带反馈系统的人群群体行为分析方法。该方法主要包括以下几个方面:①背景剪除与人体检测相结合,通过反馈系统调节背景更新因子,使得背景剪除算法提取的前景同时包含运动和静止的人体;②采用多视角头肩模型进行人体检测;③对检测结果提取颜色特征,采用均值漂移进行多目标人体跟踪。

1 自带反馈系统的Vibe 背景剪除算法

在背景剪除算法实现前景分割之后再进行人体检测可以帮助移除大量背景噪声的干扰,提高后续检测和跟踪的准确性。文献[5]中提出了一种自带反馈系统的运动目标检测算法Subsense,该算法在运动目标检测的公共数据集CD2014 上取得了目前最好的效果。在人群群体行为分析中,不仅要检测出运动目标,静止的人体同样需要准确的检测。将文献[5]中的思想应用到动静人体检测,将视觉背景提取(visual background extractor,Vibe)运动目标检测算法改进成为一个通过反馈系统调节来检测人体所在区域的背景剪除算法。

1.1 Vibe 算法

Vibe 算法[6]由于其优异性能,一经提出就被应用到许多的实际应用当中。算法的主要思想是为每一个像素都建立一个样本集合作为背景模型,样本集中的采样值就是该像素点和其邻域像素点的历史像素值。该样本集可以表示为:

这里M(x,y)即(x,y)点处的样本集合,vx即像素值。新的一帧中对应的像素v'x 被用来与样本集中的像素点做聚类分析SR(v'x),聚类半径使用的是2D 欧式空间中的欧式距离R。最终背景像素点的判定定义为:

这里H{}表示的是样本集中与v'

x 的欧式距离小于R 的像素个数。当满足条件的样本像素个数大于#min时,像素点v'

x 被判定为前景,否则为背景。Vibe的样本集更新过程即背景模型的更新,其采用随机更新的方式。当一个像素点被分类为背景时,它有1/T的概率更新自己的背景模型集合,同时也有1/T 的概率更新其邻域像素点的背景模型集合。所以T 的大小在Vibe 算法中决定了背景模型的更新速率。

1.2 自带更新率反馈的Vibe 算法

单纯的运动目标检测算法检测不到静止的人体,这是因为静止的像素会被逐渐更新到背景模型当中。如果能将人体检测的结果反馈到运动目标检测算法中,检测到人体的像素给予很低的更新率,没有检测到人体的像素给予较高的更新率,这样静止的人体就会始终被检测到。假设上一帧Vibe 检测到前景掩膜为St-1,St-1(vx)=1 表示vx被判定为前景点;人体头肩检测的结果掩膜为Dt-1,Dt-1(vx)=1 表示的是像素点vx被检测为头肩点。通过这两个结果掩膜来调节更新率:

ω 是一个权重系数,由Dt-1经过多高斯加权得到。如式(4)所示,φ 在这里是一个服从高斯分布的Parzen窗函数,头肩点作为Parzen 窗的中心,hN是该高斯分布的方差。

函数O 表示的是非头肩像素点与最近头肩像素点之间的欧氏距离。这个权重的分布是以头肩点为中心的多高斯分布。离头肩点越近,ω 越大,更新概率T增大得越快,更新概率越小,对应像素就会很难被更新到样本集当中。人体上的像素特别是头肩部分的像素将很难被更新到背景模型中,这样,包含静止人体的前景掩膜始终能被Vibe 运动目标检测算法检测出来。

2 基于多视角头肩模型的人体检测

由于人群在运动的过程中因为聚集产生的遮挡情况时有发生,准确的人体检测变得非常困难。人体的头肩部位比较突出,人群中使用头肩检测相较全身的检测方式效果更好。本文根据头肩模型的特点改进了头肩模型的匹配方法,使得基于多视角头肩模型的人体检测在遇到遮挡和形变问题时表现得更好。

2.1 多视角头肩模型的训练

头肩点模型采用加权关键点模型的形式,关键点模型通过选取一些关键点建立模型,使得模型普适性更强,如图1 所示。

图1 多视角头肩模型训练Fig.1 Multi-view head and shoulders model training

多视角头肩模型的训练过程主要包括三个步骤。①训练图片初始化。收集大量的头肩模型实例图片,手动提取出头肩的边缘图,并且归一化到同一大小,根据视角分成正面、侧面和头顶视角三类。②关键点选取。根据不同的视角,在一个划分为N ×N 个小块的模型图像中叠加训练图片,落点较多的小块被认定为关键点,关键点内存有叠加的边缘像素点的平均梯度值Oi。③权重叠加。以小块的中心为Parzen 窗的中心,叠加一个服从高斯分布的权重Wi。

本文聚焦于由移除最高负载节点而引发的级联传播.之所以选择最高负载节点作为攻击或者故障的对象,是因为这类节点在以前大多数级联故障研究中起着重要作用.假设在t=1时执行攻击,即从网络中移除一个具有最高负载的中心节点.这个移除一般会改变全局最短路径的分布,导致网络其余节点上负载的全局重新分配.对于某些节点,更新的负载可能会增加而超过其容量.这些节点发生故障并从网络中移除.这又将导致新一轮的负载重新分配,结果可能会发生后续故障.当所有剩余节点负载不超过其容量时,级联故障传播才会停止.

上述头肩模型训练所得到的头肩模型包含两个信息,一是得到关键点的相对位置关系,即得到头肩点的模糊分布,Parzen 窗加权的目的就是对少许形变的容纳;二是关键点中存储了梯度信息,梯度信息的加入使得头肩模型更符合头肩边缘梯度变化的特点。

2.2 头肩模型匹配

头肩模型匹配采用滑窗匹配的方式。首先,对于前景掩膜对应的视频原始帧区域,通过Canny 运算求得这些区域的边缘。然后,对这些边缘求其边缘法线Fi,该区域是否存在人体的头肩由头肩模型匹配的得分S(x,y)所决定。

这里k 是关键点的数目。当得分S(x,y)超过一定的阈值时,认为点(x,y)为头肩点。

3 基于多目标跟踪的人群群体行为分析

在人体头肩检测的结果上进行人体的多目标跟踪,获取人群中个体的运动状态。获取的运动状态包括静止人体的位置、运动人体的速度与方向等,由此可以分析出一些常见的人群群体行为。

3.1 多目标跟踪

多目标跟踪采用的是基于Meanshift 的多目标跟踪算法。Meanshift 是一种基于核函数加权颜色直方图的邻域自动搜索算法[7]。在进行Meanshift 多目标跟踪时可以借助头肩检测的先验知识。假设上一帧视频人体头肩检测的结果包含有M 个目标{O1,O2,…,Om},对于每一个目标Oi的模板区域建立一个彩色直方图,直方图的第u 个bin(直方图每一个组)概率密度可以表示为:

这里xc为头顶像素点下方选定的中心像素位置(一般选择头顶像素点下方两倍肩宽处),xi为模板区域内的其他像素位置,b(xi)为xi处像素点对应直方图的颜色索引值。k(x)为核函数的轮廓函数,作为加权函数,其作用是给目标中心以较大的权值,使得该直方图模型对遮挡具有更好的抗干扰性。δ(x)为脉冲响应函数,当xi处像素点属于第u 个bin 时,δ[b(xi)-u]结果为1,否则为0。C 为归一化常量。

对于当前帧视频的头肩检测结果同样建立直方图模型作为候选模型p,上一帧建立的目标模型q 和候选模型之间用巴氏距离衡量相似度:

这里不采用Meanshift 自动迭代搜索的方式,而是直接利用人体检测的信息,选择最近的头肩点作为候选模型进行匹配。当相似度超过阈值时,认为两个模型匹配,为同一个目标,由此估测出目标的运动方向,目标的运动速度由多帧之间目标移动的像素点个数计算得到。当拥挤和遮挡发生时,往往能匹配到多个候选模型,这时选择相似度最高的候选模型作为跟踪结果。

3.2 人群群体行为分析

图2 群体行为分析示意图Fig.2 Group behavior analysis

如图2 所示,箭头表示的是移动的人体,圆点表示的是静止的人体,箭头的长短表示的是人体的移动速度。从左至右的人群群体行为可能被自动分析为:聚集行为,通道内正常流动,人群可能发生骚乱。人群群体行为分析的主要分析依据有:①静止人体集中区域,当静止人体数目超过阈值时认定为集中区域;②分析人体之间移动方向的相似性(即人群主流向)及其与人体集中区域的关系;③空间内的拥挤程度。

4 性能分析与实验验证

4.1 性能分析

与文献[8]和文献[9]中的方案相比,本文方案的性能特点如下。

(1)文献[8]在人群群体行为分析时采用的是集体跃迁和Kanade-Lucas-Tomasi(KLT)光流跟踪的方法。集体跃迁的方法并不追求人体的精准定位,所以相对来说本文方案对视频的分析能提供的信息更丰富。KLT 光流相对Meanshift 而言运算速度更慢,多目标的KLT 跟踪会使实时处理变得困难。

(2)文献[9]针对的是极其拥挤的场景,采用拉格朗日质子动力学分析高密度人群的流动状况和检测其中的不稳定性,同样是一种忽略细节的人群分析方式,所以其丢失的人群信息也非常严重。本文方法更注重人群中的可检测个体的运动状况,特别是静止人体状态的分析是整个人群群体行为分析的关键。

4.2 实验验证

本文的实验数据集主要包括文献[8]中提供的人群公共数据集和文献[4]中所收集的教室数据集。这两个数据集中都包含有数量较多的人体,并带有大量的人群群体行为,如拥挤,聚集,排队,通道内单向流动、双向流动,混乱等。

对算法性能的验证首先从各个模块的性能上进行验证。人体检测和多目标跟踪是整个人群群体行为分析方法的主要模块。文献[4]、文献[8]的数据集中一部分视频被挑选出来进行人工的人体目标数量和位置的标注并作为Ground truth(实际值)。图3 所示是某标注的数据集中人数实际值与人体检测和多目标跟踪的人数误差统计图。由图3 可以看到本文方法能将误差控制在3 人以内。当人数较多而拥挤时,误差相对要大。

图3 多人体检测与跟踪误差分析Fig.3 Multi-people detection and tracking error analysis

图4 所示是数据集中不同场所下的监控视频的群体行为分析实验效果图,包括商场、电梯、教室、过道等境景。图4 中,白色的圆点表示的是静止的人体,白色的箭头表示运动的人体,不同长短箭头表示不同的运动速度。由图4 可以看到这些场所下的人流状态,人群状态可以通过对这些静止和运动的数据分析而得到。

图4 群体行为分析实验效果图Fig.4 The effect diagram of group behavior analysis experiment

表1 所示是本文提出的群体行为分析方法在上述数据集上表现的总体性能。人体检测模块的平均检测准确率为0.92,多目标跟踪模块的平均跟踪准确率为0.84,在分辨率为640 ×480 的监控录像中,平均处理速度为52.1 F/s,满足实时处理(25 F/s)的要求。

表1 算法性能Tab.1 Algorithm performance

5 结束语

本文提出了一种基于多视角头肩检测的自带反馈系统的群体行为分析方法。通过对现有的Vibe 运动目标检测算法加以改进,结合人体检测的结果,反馈调节运动目标检测的更新环节,使得算法在移除背景噪声的同时也能将静止的人体检测出来。另外,通过建立多视角散点式头肩模型,使得头肩检测更加鲁棒。跟踪算法采用的是速度较快的基于颜色特征的Meanshift 跟踪。实验证明了该方案的可行性,整个群体行为分析算法满足实时处理的要求。

[1] Dalal N,Triggs B. Histograms of oriented gradients for human detection[C]// CVPR 2005. San Diego,USA:IEEE,2005.

[2] Felzenszwalb P F,Girshick R B,McAllester D,et al. Object detection with discriminatively trained part-based models[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2010,32(9):1627 -1645.

[3] Shao J,Loy C C,Wang X. Scene-independent group profiling in crowd[C]//Computer Vision and Pattern Recognition (CVPR)2014. Columbus,USA:IEEE,2014.

[4] Ali S,Shah M. A lagrangian particle dynamics approach for crowd flow segmentation and stability analysis[C]// CVPR,2007.Minneapolis USA:IEEE,2007.

[5] Luo J,Wang J,Xu H,et al. A real-time people counting approach in indoor environment[C]// MMM 2015. Sydney Australia:Springer,2015.

[6] Barnich O,Van Droogenbroeck M. Vibe:a powerful random technique to estimate the background in video sequences[C]//ICASSP 2009. Taipei,Taiwan:IEEE,2009.

[7] St-Charles P L,Bilodeau G A,Bergevin R. Subsense:a universal change detection method with local adaptive sensitivity[J]. IEEE Transactions on Image Process,2015,24(1):359 -373.

[8] Comaniciu D,Meer P. Mean shift:a robust approach toward feature space analysis[J]. Pattern Analysis and Machine Intelligence,IEEE Transactions on,2002,24(5):603 -619.

猜你喜欢
像素点像素背景
像素前线之“幻影”2000
“新四化”背景下汽车NVH的发展趋势
基于局部相似性的特征匹配筛选算法
《论持久战》的写作背景
黑洞背景知识
“像素”仙人掌
基于像素点筛选的舰船湍流尾迹检测算法
基于canvas的前端数据加密
ÉVOLUTIONDIGAE Style de vie tactile
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割