APP下载

密集场景下基于轮廓运动的人群行为分析

2021-09-09唐志鸿胡小鹏

江苏通信 2021年4期
关键词:群组交点轮廓

唐志鸿 石 浩 胡小鹏

1.中国移动通信集团江苏有限公司;2.大连理工大学

0 引言

人群行为分析针对不同场景中的人群动向、密集程度、发生的人群行为事件等进行分析理解,从而检测或预测人群的异常行为,在人群监测分析、公共场所的规划和设计等领域都有巨大的应用价值。

当场景中人群密度越来越高时,人群由于行人个体空间位置受限和个体间的行为交互不能自由移动,就容易出现集群行为,进而形成多个具有不同运动特征的小规模集合,称为群组(Group)。人群群组行为分析方法提供了不一样的分析角度,群组级别的特征反映了人群更深层次、更丰富的语义信息,可以更好地应用于人群行为识别检测、人群场景理解等语义相关的任务。因此如何准确有效地进行人群群组检测以及利用群组特征来检测识别人群行为成为近年来人群行为分析算法的研究重点。

在密集场所条件下,群组中的个体相互影响,人体及人体各部分相互重叠,产生了不准确或不完备的人体表达,造成行为分析的困难。现有的基于监控视频的人群行为分析算法一般都是从整体或个体的角度来分析人群场景,将人群视为一个整体进行分析,或通过分析个体运动特征来找出人群运动的规律。在密集场所条件下,上述两种方法都存在一定缺陷:从个体角度分析需要对人群中个体或个体部分(如头部)进行准确地检测分离。在个体复杂行为交互的密集人群场景条件下,个体分离较难实现;基于人群整体分析的方法通常只关注人群的集体一致性行为,忽略了许多其他有用的信息(如群组行为轮廓、小群体交互的局部一致性、轨迹时间滞后特征、行人位置关系等等)。

为避免密集条件下个体分离困难,本文提取可靠的行人轮廓运动信息,通过聚类算法对运动特征分析,实现人群群组行为分析,给出了一种基于轮廓运动的人群群组行为分析算法。

本文方法主要通过前景边缘检测提取可靠前景轮廓,跟踪轮廓特征点提取运动特征,利用运动特征与群组中心的拓扑关系进行聚类,通过群组中心运动向量的交点、群组间距离变化和运动速度来对人群行为进行分析,采用Graham扫描法降低误报。本文算法主要分为三个部分:提取轮廓特征、群组检测和行为分析。

1 基于轮廓运动分析的行为分析

1.1 轮廓提取与跟踪筛选

本节将边缘检测与混合高斯背景建模相结合,直接对边缘梯度进行背景建模,实现快速有效的前景边缘提取。为了提高前景边缘的完整性和准确性,本节结合边缘检测算法增强边缘连续性的思想,对前景边缘进行扩展,得到更加准确的前景边缘。

具体做法是将Canny算法检测到的前景边缘作为“强边缘”,剩下的其他前景边缘作为“弱边缘”,进行“强”“弱”连接。当检测到的非前景边缘点即“弱边缘点”周围8邻域有前景边缘点即“强边缘点”存在时,就将该边缘点与前景边缘点连接,该边缘点则成为前景边缘点,直至最后所有前景边缘连接完成。

本文采用Senst和Geistert等人提出RLOF (Robust Local Optical Flow)光流算法进行跟踪。采用Shi-Tomasi方法提取前景轮廓上的特征点。

人群前景轮廓大部分是垂直走向,因此可以根据这个特征对前景边缘做初步筛选,凸显行人两侧的轮廓边缘。通过对垂直方向上两次遍历的方式,来求得前景轮廓的垂直高度,根据高度大小大致确定人群前景的垂直方向上的轮廓。如图1所示,树状图表示前景边缘点分布情况,垂直高度最大的边缘G0G1G2G3是前景轮廓的可能性最大。

图1 前景轮廓的垂直走向树状图

本文通过从上下两次遍历的方式来找到满足一定垂直高度的边缘作为前景轮廓。具体过程如下:

(1)第一次遍历(从上到下):边缘像素根节点G0开始向下遍历,寻找子节点的同时,记录父节点的值为遍历层数,直至没有找到子节点。

(2)第二次遍历(从下到上):第一次遍历,高层节点无法获取边缘高度,故从叶子节点G6开始向上遍历,将边缘高度传递给父节点,直至传到根节点G0。

为筛除异常特征点得到更加可靠的人群轨迹,需要解决跟踪漂移问题。本文采用光流反向检测方法来判别特征点是否发生跟踪漂移。具体判别方法如下:

当EPFB≤threshold时,P点为可跟踪点,否则为跟踪漂移点。

公式中EPFB为光流反向检测误差,具体计算方式公式如下:

其中,dI0.T1为某一特征点正常计算的光流矢量,dI1,I0视前一帧为当前帧,当前帧为后一帧反向计算的光流矢量,计算两者的相对差值即为光流反向检测误差EPFB。

在光流跟踪反向检测的人群特征点的基础上,为了剔除非人群前景边缘的杂点,本节先通过特征点的运动速度初步筛出静止或微小运动的点,具体判断过程公式如下:

首先通过计算当前帧的所有特征点运动速度的平均值Vaverage设置一个合适的阈值T,当某一特征点B速度V与平均速度相差过大超过阈值T时,剔除这个特征点;然后根据当前帧的某一特征点A的轨迹长度为d,设置阈值DT,按照公式(1.4)判断特征点是否为有效跟踪。

在对视频图像进行跟踪同时,记录所有有效特征点的被跟踪次数,可以根据有效特征点的连续跟踪次数来进一步判别行人轮廓上的特征点。判断过程公式如(1.5)所示。

公式中,k为有效特征点的跟踪次数,Th1、Th2、Th3为相关阈值,满足Th1

其中可靠的跟踪特征点为红色,可能的跟踪特征点为绿色,不可能的跟踪点特征点为蓝色,初步筛选后剔除这些点。

本文结合Canny边缘检测算法的边缘拓展的思想,进一步提高人群轮廓的可靠性,将可靠特征点定义为“强”轮廓上的点,可能特征点定义为“弱”轮廓上的点,通过8连通法对两类点分别进行拓展。利用“强”轮廓,可以增强垂直方向“弱”轮廓。

进一步筛选人体轮廓需要分析轮廓的形状特征,即轮廓的沿垂直和水平方向的长宽比以及轮廓长度。长宽比表征的是轮廓的边缘垂直走向程度,具体计算方法如下:

公式中,(x1,y1)和(x2,y2)分别为某一轮廓边缘的起点坐标和终点坐标。

长宽比σ越大,说明轮廓边缘越接近垂直走向,而人群轮廓边缘大部分都是垂直走向。少部分水平走向的边缘长度大都较短,因此可以进一步剔除非人群轮廓边缘。边缘长度计算方法如下:

对于某一轮廓边缘Edge,基于形状特征的轮廓边缘筛选方法如下:

根据公式(1.9)对前景轮廓进一步筛选之后,可以得到更为可靠“强”“弱”轮廓。对“强”“弱”轮廓进行一定的形态学处理得到完整可靠的人群前景。对“强”轮廓膨胀处理来填充轮廓间的区域,得到初步的前景区域。膨胀腐蚀“弱”轮廓,去除动态背景引起的微小轮廓。通过相与运算提取两个区域的公共部分,即为最终可靠的人群前景区域。

1.2 群组检测

人群群组行为分析方法先决步骤是群组检测,群组检测难点在于人群运动的结构复杂性。在前一节提取的可靠人群轨迹的基础上实现群组检测,采用基于群组中心的群组聚类算法来检测群组。本节算法利用群组中心特征点的空间特性,通过拓扑关系聚类,利用相似性以及群组间距离变化进行群组检测。为了降低误报,本文采用Graham扫描法来计算群组的凸包面积,根据面积大小排除行人个体行为的干扰。群组检测主要分成三个部分:群组中心检测、拓扑关系的局部一致性群组检测和相似性的全局一致性检测。

1.2.1 群组中心检测

对于密集场景下的人群群组,通常假定每个群组都存在一个群组中心。这个群组中心可以表征群组整体的运动特征,其他特征点围绕其形成一个群组。本节算法通过分析当前帧人群轨迹特征点间的相似性和空间位置分布来找到群组中心。

对于两个特征点Pi和Pj,如果它们运动方向一致且距离越相近,则这两个点越相似。因此两个人群轨迹特征点的相似性通过公式(1.9)来描述:

公式中,vi和vj为两个特征点的光流向量,d(i,j)为两个特征点间的距离,d(i,j)的具体计算方法如下:

假设要在N个特征点来找出群组中心,计算N×(N-1)/2对特征点间距离并从小到大排列,阈值r通常取值为排在第位的距离值。

根据公式(1.9),本文算法对人群轨迹特征点建立图搜索模型,采用深度优先原则来估计群组中心的个数,记为c。群组中心其临近的多个特征点有相似性,可以通过公式(1.11)来描述特征点与其临近点的联系,这里称之为密度属性ρi。

群组中心到其他密度属性比它大的点的距离都比较远,因此本节算法通过公式(1.13)来描述特征点与密度属性值高的点之间的距离关系,称之为距离属性δi。

1.2.2 拓扑的局部一致性群组检测

根据上一小节得到的c个群组中心,基于局部一致性将人群分为c个群组,此时群组检测问题可以看成是一个半监督分类问题。

首先用一个N×c矩阵Y来对特征点进行初始标记,如果特征点i为第j个群组中心,那么Yij=1,反之Yij=0。然后定义一个N×c关系矩阵F来描述特征点i与群组中心j拓扑关系。结合上一小节的特征点相似关系图G,可以根据公式(1.13)求解关系矩阵F。

公式中,D为相似图矩阵G的次数矩阵,Fi和Yi分别表示矩阵F和Y的第i行。求解公式(1.14)时,光滑性约束保证了聚类结果在邻域之间变化不大,拟合约束避免关系矩阵F的所有元素都相等。通过参数α来平滑这两项的作用,α通常取0.1。再对(1.13)进行求导,然后取导数等于0,可求得最优解:

对于特征点I,其关系矩阵F上的相应值Fij越大,就说明其它属于第j个群组的可能性就越大。当关系矩阵F上第i行的最大值maxFi小于阈值(((通常取0.2)时,表明特征点i不属于任何群组,为孤立的外点,外点的类别标签记为0。而对于非外点特征点i,其类别标签clusteri可表示为:

根据公式(1.16)对每个特征点进行分类标记,最终获得局部一致性的群组。

1.2.3 相似性的全局一致性群组检测

为了检测到具有全局一致性的群组,本小节通过分析群组的相邻群组不变性进行群组融合。因为群组中心反映了群组的整体运动特征,群组间的全局一致性可以用群组中心运动量的相似性来描述。两个特征点i和j分别为群组Ci和Cj的群组中心,两个群组的全局一致性可以用公式(1.16)表示:

公式中vi和vj为两个群组中心的光流向量。

此外,还应考虑群组的空间距离。如果两个群组彼此接近,很可能属于同一个全局组。本文算法通过两个群组最近点的距离来表示群组距离,具体计算方法如下:

如果Coh(Ci,Cj)且Dist(Ci,Cj)

本文算法通过循环迭代的方式对群组进行全局一致性合并,直到没有可以合并的群组,每次迭代只合并一致性最高的群组,这样可以有效降低合并顺序的影响。

本节算法检测运行结果如图2所示。

图2 多种群组检测结果

1.3 基于群组的人群行为分析

通过上一节的人群群组检测算法可以获得兼具全局一致性和局部一致性的人群群组以及反映群组整体运动特征的群组中心,根据群组中心的运动特征、群组间距离变化和面积大小关系,本节算法通过检测识别突发性的聚集、疏散和跑动行为来做出预警。

1.3.1 群组中心运动向量交点分析

根据相关文献,本篇论文的算法通过分析两两群组中心之间的相互关系,对人群的三种行为进行初步识别。具体做法是找到两个群组中心运动向量的交点,分析交点与这两个群组运动向量的位置关系。如图3所示。

图3 移动智慧门户效果图

图3 群组运动的位置关系

对群组中心运动向量两两求交点之后,为了有效区分人群聚集、疏散行为以及同向运动正常行为,本文算法首先统计交点个数,人群在同向运动时交点个数记为Numw,人群在聚集时交点个数记为Numf,人群在疏散时交点个数为Nume。然后计算各种事件在所有交点数中所占的比例,公式如下:

公式中,Ei表示交点类型,Total为交点总数,对于检测到c个群组的人群场景,其交点数可以表示为:

聚集、疏散人群行为是少见的异常行为,因此不能简单地根据相关比例进行判别。为了提高判别的准确性,本节给每类交点加了个权重系数ωi(聚集和疏散交点权重系数通常设置为0.2,同向运动权重设置为0.6)。

故而公式(1.19)变成了:

人群的聚集和疏散是常有的正常行为,为了降低误报率,采用了Graham扫描法求解群组点集凸包(即把群组包围成最小多边形)。

1.3.2 人群行为检测识别

本文算法只针对人群大规模突发性的聚集、疏散和同向跑动行为进行检测告警。针对突发性,本文算法分析检测到的各个群组中心光流向量的大小变化,若有80%的群组速度发生突变,则需要准备发出告警信号。根据公式(1.22),当同向运动的交点比例大于85%或者交点数量小于一定阈值(这里取总数的20%)时,发出人群跑动告警信号;根据公式(1.17)群组间的距离,当有70%的距离满足Dist(Ci,Cj)r且疏散交点比例大于85%时,发出人群疏散告警信号。

2 实验验证

实验验证在PC机上实现,CPU为i7-87059H、2.20GHZ,16G内存,windows10操作系统。实验环境和语言是OpenCV和C++。

实验数据在“千里眼”项目平台收集。场景包括地铁、火车站、夫子庙晚晴楼、博爱坊、淮安府衙等密集人群场景。收集时间从2018年5月开始,到2018年9月截止。

在轮廓特征提取实验中,本文用如下指标来评价算法质量和效率。

(1)人群跟踪成功率

通过人工的方式统计每帧算法检测到的轨迹属于真实人群数量N,其与算法检测到的轨迹总数M的比值N/M即为跟踪成功率。

(2)算法每帧平均耗时

实验结果如表1所示,本文算法跟踪成功率可以达到94.56%,每帧平均耗时最高只有157.3ms。针对不同人群场景,本文算法提高了跟踪成功率,有效降低了复杂背景的干扰;平均每帧耗时没有明显增加,可以满足实时性要求。

表1 轮廓提取跟踪实验结果

在人群群组行为分析实验中,本文通过三个指标来评价算法质量和效率。

(1)虚警率:事件在检测的正样本中的负样本比例,计算公式如下:

(2)召回率:检测正确的正常行为占所有正确行为的比例,计算公式如下:

(3)每帧平均耗时

fn表示把正常行为误判为异常的数量,fp表示把异常行为判别为正常行为的数量,tn表示正确判别为异常行为的数量,tp表示正确判别正常行为的数量。

本文算法对人群聚集、疏散和同向跑动行为检测的结果如图4所示。图(4-2)中红点表示群组中心,图(4-3)中不同颜色表示不同的群组(经过全局一致性分析),图(4-4)中多边形为群组凸包表示,红色的×点表示相应行为的群组中心运动向量交点。从图(4-3)结果可以看出本文方法能够较好的检测出人群群组,能够较好的分析群组的全局一致性。图(4-4)结果表明,当人群发生聚集时,群组间的距离变小,聚集交点变多;当人群处于疏散状态时,群组与群组之间的距离就会变大,导致疏散的交点也会变多;而人群同向跑动时,通常检测到的群组具有全局一致性,且群组中心运动向量的交点较少。由此说明本文方法可以较好分析人群行为。

图4 聚集、疏散和跑动行为检测结果

人群群组行为分析实验结果如表2所示,在三个不同的检测场景对三类突发性人群行为的判别都有较低的虚警率(低于4%)和较高的召回率(高于84%),同时每帧判别时耗在400ms和650ms之间,有较好的判别效率。本文算法可以满足应用中低虚警率、高召回率和实时性的要求,可以较为准确地对突发性人群聚集、疏散和跑动行为进行预警。

表2 人群群组行为分析实验结果

3 结束语

本文针对在密集场景条件下的行为,为避免个体分离检测的困难,提取可靠群体轮廓运动特征,通过轨迹起止位置的聚类运动特征分析,实现人群群组行为分析。本文利用人群轨迹特征点间的相似性来寻找群组中心,群组中心的运动特征可以表征群组的整体运动特征;通过特征点与群组中心的拓扑关系分析,得到了满足局部一致性的人群群组;通过分析群组中心的运动相似性和群组间的距离来将具有全局一致性的群组进行合并。在群组检测的基础上,本文算法通过群组中心的运动特征分析来初步识别人群异常行为。

经实验验证该方法可以适用于人流密集场景,有着较好的鲁棒性和准确性,能够满足实时性的检测分析需求。

本文在高密度场景下,个体以及小群体之间的相互重叠对实验性能造成影响。在未来的研究中,利用小群体间的交互,轨迹时间滞后特征等都对研究行为分析有着较大的帮助,可以围绕这一方向进行完善。

猜你喜欢

群组交点轮廓
OPENCV轮廓识别研究与实践
基于实时轮廓误差估算的数控系统轮廓控制
阅读理解
Boids算法在Unity3D开发平台中模拟生物群组行为中的应用研究
借助函数图像讨论含参数方程解的情况
高速公路主动发光轮廓标应用方案设计探讨
试析高中数学中椭圆与双曲线交点的问题
指数函数与幂函数图象的交点的探究性学习
群组聊天业务在IMS客户端的设计与实现
创造早秋新轮廓