0 引言
人群运动模式的识别和分析是计算机视觉中最具挑战性的任务之一。人群集体性[1]是用来表示人群运动状态的描述符,集体性表示人群运动时所有个体的整体运动一致程度[1-2]。集体性的高低可以准确地描述运动人群是否混乱,为群体突发事件识别、人群疏散、公共场所安全管理等诸多应用领域提供决策支持。
由于公共场所中人群的空间分布和运动状态比较复杂,人群集体性的计算是一项较为困难的任务。目前的相关研究主要为基于个体的人群集体性计算。例如,ZOU等[3]基于任意一对个体之间的最大一致性路径来衡量全局一致性,并结合局部一致性计算人群集体性。MEI等[4]提出计算不同个体之间速度和方向的相似性来计算个体的集体性。REN等[5]首先累计个体之间所有路径的权重,并在此基础上,引入指数修正函数来提高集体性计算的准确率。上述研究建立在一个主观假设的基础上,即随着个体之间距离的增加,个体之间的相关性逐渐降低,这在真实场景中并不完全符合。随着研究的深入,基于人群运动全局结构的集体性计算方法也相继出现。XU等[6]根据全局特征点的相似性获取人群组数量,在此基础上进行集体性计算。LI等[7]提出了一种基于全局结构的集体性测量方法来表征具有各种空间结构的集体运动。
卷积神经网络(convolutional neural networks,CNN)可以提取复杂运动场景中的特征信息,建立空间上的关联,进而实现复杂场景的分类[8-10]。为了提高分类的准确度,相关研究引入注意力机制[11-15]。注意力机制可以细分为空间域注意力、通道域注意力、层域注意力、混合域注意力等。主要研究有:Woo等[16]提出了一种轻量级的混合域注意力模块(convolutional block attention module,CBAM)。LI等[12]采用通道注意力机制分配不同特征图之间的权重,进行了精确的火灾检测。LIU等[15]提出了一种新的空间注意力模块,以根据用户的识别结果,将不同层次的注意力权重分配到网络特征图的不同位置,使网络更关注人的运动区域。因此,将注意力机制应用到人群场景中,可以获得更好的集体性识别效果。
现有研究在集体性的计算方法上,一般只考虑到了个体与其邻域内相关个体的一致性,而未考虑到个体与整个场景内全部运动人群的一致性。如图 1(a)所示,场景中人群被简单地划分为3个邻域,在每个邻域内个体与其他成员的运动一致性程度高,从而获得较高的集体性,但是整个场景的集体性并不高。此外,集体性是一个复杂的现象,仅用单一的全局数值化结果不能有效描述人群运动的集体性。此外,如图 1(b)所示,由于场景中矩形区域标注部分的局部集体性较高,从而使得全局的集体性在计算时高于图 1(c)中的人群运动集体性,而按照个体在人群中参与程度的集体性定义,图 1(c)中的人群集体性要高于图 1(b)中的集体性。
针对以上分析,本文在卷积核提取局部运动信息的基础上,采用空洞卷积增大感受野,提取更多的局部人群集体性特征,并加入WOO等[16]提出的通道注意力模块来获取全局特征,构建了适用于人群集体性识别的卷积神经网络(collectiveness recognition convolutional neural networks,CRCNN)。本模型可以同时融合局部和全局特征进行人群集体性的分类和识别。对于图 1(a)和图 1(b)中局部集体性高的区域,通过卷积层的操作有效地提取局部特征;通过池化和全连接层的操作,建立特征在空间上的关联,获取全局特征,采用通道注意力关注不同特征对应的全局集体性高低,提升集体性分类的准确度,降低图 1(a)和图 1(b)中局部集体性高对全局集体性的影响。
此外,本文构造了人群集体性测度图,把视频的人群运动特征转换为适用于CRCNN网络输入的图像。通过计算每个光流点处的集体性值,并映射后得到集体性测度矩阵,基于该集体性测度矩阵获得集体性测度图,经过膨胀增强处理后输入到CRCNN网络中,训练得到视频场景的人群集体性识别模型。如图 2所示,CRCNN模型可用于识别集体性高、中、低的人群运动场景,例如在车站、商场、广场等公共场所内,某一时刻出现了集体性低的人群运动,则表明人群的运动发生了异常,这可能预示着火灾、踩踏等群体性安全事故的发生。
1 结合全局与局部特征的人群集体性卷积网络识别方法 1.1 集体性测度矩阵计算根据卷积神经网络需要以图像作为输入的特点,本文对公共场景下的人群运动视频进行预处理,将人群运动视频分割成单帧图像,即视频帧,并去除冗余视频帧。在视频帧中,每个行人作为运动人群的参与者,其运动趋势将直接和间接地影响相邻和周围的人群运动。因此,当前场景中人群的集体性是由所有个体的运动共同决定的,本文基于ZHOU等[17]提出的集体性计算方法,给出了视频帧的集体性测度矩阵生成方法。该方法的主要过程为:
1) 利用KLT(Kanade Lucas Tomasi)方法计算当前视频帧的光流向量。
2) 基于KNN(k-nearest neighbor)方法对所有的光流点进行分组。定义dk, k∈N为运动人群中的光流点,在t时刻,对于同一组下的光流点di和dj,它们的速度相关性为Ct(di, dj),在t时刻两个光流点之间的相关性通过式(1)来计算。
(1) |
3) 基于光流点之间的相关性计算光流点间的路径相似度。对运动的人群集合定义一个图的加权邻接矩阵W,在光流点的邻域内,定义一个路径相似度p,用这个路径相似度来表示两个光流点之间的集体性关系,对于要计算路径相似度的光流点di和dj,它们之间所经过的路径为(di, di+1, di+2, …, dj),因此,当k∈(i, j)时,在t时刻此路径上的路径相似度的计算方法如式(2)所示。
(2) |
4) 基于路径相似度计算获得光流特征点处的值。若M表示人群运动相关的人群集合,Pi∈M表示在人群集合中光流点di的所有路径相似度集合,x和y为光流点在视频帧中的位置,假设存在两个光流(x1, y1)和(x2, y2),则p就代表光流点之间的路径,而p∈M表示在人群集合M中的光流点(x1, y1)和(x2, y2)之间的路径。光流点的集体性定义为邻域内光流点之间p路径上的相似值,因此光流点在t时刻在位置(x, y)处的集体性值为个体邻域内所有路径相似度值的加和,如式(3)所示。
(3) |
通过上述方法过程可以计算出所有光流点的集体性值。
5) 生成集体性测度矩阵。若当前帧为第t帧,其具有n行m列像素,其位置(x, y)处光流点的集体性数值ct(x, y),1≤x≤m,1≤y≤n,则由以上结果可得到该帧的集体性测度矩阵如式(4)所示。
(4) |
集体性测度矩阵描述了当前帧中每个个体与整体运动的一致性程度。即集体性测度矩阵中的每一个元素代表图像中相应位置光流点的集体性值。例如ct=0,表示这个位置光流点的集体性值为0,ct数值越高,相应光流点的集体性就越高;ct数值越低,此处个体的集体性值就越低。由于人群运动视频帧环境基本不变且光线良好,对集体性值的计算无影响,本文对集体性测度矩阵中的数值进行归一化处理,将其元素的取值归一到[0, 255]区间,获得集体性测度矩阵。其具体采用的线性函数归一化方法如式(5)所示。
(5) |
其中,ct代表矩阵中的任一元素值,cmaxt和cmint分别为集体性最大值和集体性最小值。通过以上方式可以获得视频中每一帧的集体性测度矩阵。归一化后的矩阵如式(6)所示,本文称之为集体性测度矩阵。
(6) |
将矩阵中元素值的位置(x, y)对应为集体性测度图中像素值的坐标位置,该位置的元素值即为测度图中像素的灰度值,通过以上方式将集体性测度矩阵转换为集体性测度图,如图 3所示,集体性测度图中的像素点的灰度值大小代表着一个光流点的集体性高低。集体性越高,像素点的灰度值越大;集体性越低,像素点的灰度值越小。集体性测度图中灰度值高的像素点多一般表示人群运动的集体性较高。图 4中左侧是整帧的集体性测度图,右侧为集体测度图局部放大后的观察。
1.3 集体性测度图膨胀增强为了使CRCNN能够更好地对人群运动集体性进行分类识别,本文对集体性测度图进行增强处理。具体如下:1)本文定义一个33的方形结构元素,选取结构元素的中心作为锚点。2)用定义的方形结构元素从左到右,从上到下依次扫描需要膨胀的图像,计算出被方形结构元素所覆盖区域的最大值。例如图中覆盖区域的最大值为9。3)将计算出的最大值赋值给锚点所覆盖位置的像素,因此锚点处的像素值变为9,如图 5所示。
集体性测度图经过增强后作为CRCNN网络的输入图像,用来训练识别人群运动集体性高、中、低的模型。
1.4 CRCNN网络的结构 1.4.1 浅层网络相关研究表明,复杂且较深的网络不仅能学习到纹理、颜色、位置等特征外,更着重于学习图像的形状特征[18-19]。而在集体性分类任务中,人群的位置特征和纹理特征更加重要:人群集体性高低受到人群个体之间位置关系的影响,例如个体之间的距离;在运动的人群中包含相似分布规律的小群体,在图像中呈现规律性和重复性。而图像的形状特征对集体性影响不大,因此在本文的集体性测度图中,更加关注不同个体之间的影响关系,即集体性高低的识别更注重人群中的纹理和位置特征。
因此本文构建的CRCNN网络采用较浅的网络层次,包含6个卷积层、4个池化层以及全连接层,并加入通道注意力模块,位置为第一层和第二层卷积之间,网络结构如图 6所示。CRCNN侧重于识别集体性测度图的纹理和位置特征,进而有效地识别输入图像的人群集体性高低。
1.4.2 通道注意力WOO等[16]提出的卷积块注意力机制模块(convolutional block attention module,CBAM)包含通道注意力和空间注意力,由于空间注意力主要关注图像中不同位置的特征信息,即局部人群运动的特征信息,造成局部集体性高的特征影响全局集体性的问题,影响全局人群集体性的识别,因此,本文只保留CBAM中的通道注意力,将通道注意力加入到CRCNN网络的第1层卷积之后,采用通道注意力模块关注全局的人群集体性,从而避免局部集体性过高影响全局的问题。原理如式(7)所示。
(7) |
其中,AveragePool(F)表示对特征图F进行平均池化:MaxPool(F)表示对特征图F进行最大池化;Faverage表示经过全乙平均池化的特征图;Fmax表示经过全局最大池化的特征图。F为输入的特征图,经过全局平均池化和全局最大池化后输入到多层感知机(multi-layer perceptron,MLP);W0与W1为共享权重,
本文构建的CRCNN网络采用具有较大感受野的空洞卷积核,扩张率均为rate=2。由于集体性的高低受到个体邻域内其他所有行人的影响,3×3大小卷积核视野太小,不能充分提取局部邻域特征,人群运动视频在用KLT算法进行处理时,一个行人个体存在多个光流点表示,另外人群中个体的分布相对密集,空洞卷积核能够有效地对集体性测度图进行局部特征提取,因此,CRCNN的第1层和第2层卷积采用5×5的卷积核,rate=2,对应的感受野为9×9。第3层和第4层的卷积核大小为4×4,rate=2,感受野为7×7,第5层和第6层的卷积核大小为3×3,rate=2,感受野5×5。本文的激励函数采用Relu函数,公式为f(x)=max(0, x),该函数可以减少计算量,相比较sigmoid函数,该函数可以避免梯度消失的情况,另外,Relu函数会使一部分神经元的输出为0,使得网络更加稀疏,减少参数的相互依赖关系,缓解过拟合问题的发生。
CRCNN网络的最后是2个dropout层和3个全连接层,dropout的丢失率,通过权重矩阵对卷积等操作获得的局部特征重新融合,降维后输入到softmax进行预测。
2 实验和结果本文的实验运行环境为:Windows 10系统,Intel i7-10700K 3.8 GHz CPU,16 GB内存,NVIDIA GeForce GTX 1660Ti显卡,使用卷积神经网络框架tensorflow结合CUDA10.0和CUDNN10.0进行训练和测试。
2.1 实验数据集实验所采用的人群运动视频来自公共数据集WWW(who do what at somewhere)[20],该数据集共包含190个各种公共场所下固定摄像机采集的运动人群视频,视频背景基本不变,光线环境变化非常小,适用于人群集体性的实验研究。视频场景包括商场内逛街的人群,十字路口过马路的行人,火车站进出的旅客、士兵整齐地在路上行走、广场上集体活动的人群等。为了使训练的模型更加准确,本文首先选取时长在20 s内且行人周围环境变化相对较小的视频文件共50个,经过预处理后,共17 521帧图像。
为了保证实验结果的客观性和准确性,视频在经过预处理之前会进行分类,集体运动视频数据集的实际分类由10位志愿者采用德尔菲法进行独立的评定,视频的集体运动状态被评定为低、中和高,分别对应得分为0、1和2,总分数的范围为[0, 20]。本文依据每个视频的最终得分对数据集进行分类划分,即得分在[0, 6]范围内划分为低,得分在[7, 13]划分为中,得分在[14, 20]范围内划分为高。从分类后的50个视频中每类选取10个视频用作实验,第一类为低集体性图像,由10个视频组成,处理后获得3 293帧视频图像;第二类是中集体性图像,由10个视频组成,处理后获得4 086帧图像;第三类是高集体性图像,由10个视频组成,处理后获得4 180帧图像。
2.2 集体性测度图预处理集体性测度图中光流点的大部分亮度比较低,数量也相对较少,不利于CRCNN网络对集体性的分类识别。为了解决这个问题,本文对集体性测度图进行膨胀处理,如图 7所示,未膨胀和采用2×2结构元素膨胀后的集体性测度图相比,虽然部分集体性较高的区域光流点比较明显,但相比集体性比较低的区域的光流点仍然不明显,而考虑到太大的5×5结构元素对集体性测度图膨胀处理后局部特征又会掩盖部分细节区域,因此本文选择图 7所示
经过3×3结构元素膨胀过的集体性测度图。一些典型的数据如图 8所示。表 1为部分视频帧的预测结果,从表 1可以看出,经过膨胀的集体性测度图准确率明显提高。
图像 | 视频名称 | 视频帧数 | 预测正确数 | 准确率/% |
未膨胀 | low02 | 452 | 247 | 54.7 |
3×3结构元素膨胀 | low02 | 452 | 442 | 97.8 |
未膨胀 | medium09 | 461 | 219 | 47.5 |
3×3结构元素膨胀 | medium09 | 461 | 445 | 96.5 |
未膨胀 | high07 | 467 | 216 | 46.2 |
3×3结构元素膨胀 | high07 | 467 | 454 | 97.2 |
预训练常用于解决相似的问题,采用预训练后进行微调的方式可以快速得到最终模型,但是预训练的方式不适用于与原模型差异大的应用场景,本文的任务是对运动场景下的人群进行集体性高低分类,与常见的猫狗等分类任务差异较大,在进行微调时识别效果改变不明显,因此本文对VGG16[21]、MobileNet_v1[22]、Inception_v4[23]以及本文的CRCNN网络重新训练。除迭代次数和训练次数外,训练的loss、学习率、batch_size等参数均保持一致,以保证模型之间的公平性。本文对每个模型采取合适的迭代次数进行训练,对于每一个网络,均选择效果最好的模型作为该网络下的最终模型,然后与CRCNN网络模型进行对比。
本文采用留出法划分实验的训练集、验证集和测试集。按照6∶ 2∶ 2的比例获得低集体性训练集1 975帧,验证集659帧,测试集659帧;中集体性训练集2 452帧,验证集817帧,测试集817帧;高集体性训练集2 510帧,验证集835帧,测试集835帧。基于CRCNN网络的人群集体性分类识别实验中,网络参数的设置如下:batch_size=16,图像输入大小为224 224像素,冻结层数为0。
2.4 三分类预测结果召回率(Recall)、准确率(Accuracy)、精准率(Precision)是评估二分类任务使用的指标。对于人群集体性低、中、高三分类任务,计算相应的宏平均(Macro Average)和加权平均值(Weighted Average)可以衡量整体的分类识别效果。Macro Average通过对评价指标进行简单的取平均即可得到,但是在每一类的样本数不同时会产生误差,若相应分类的样本数差距很大,则会造成极端的不准确。而Weighted Average可根据不同类样本数占总样本数的权重来计算。因此,本文对集体性的三分类计算Weighted Average,混淆矩阵如表 2所示,表中的数值代表样本图像的数量。各指标Weighted Average计算方法如式(8)~(10)所示。
(8) |
(9) |
(10) |
其中,N代表分类数,recalli、accuracyi、precisioni分别表示不同类别下的召回率、准确率和精准率,计算结果保留一位小数。计算结果如表 3所示,从表 3中可以看出,CRCNN网络的加权平均召回率为94.5%、加权平均准确率达到了96.2%,加权平均精准率为94.5%。图 9所示为不同模型识别情况对比,从图 9可以看出,CRCNN模型的3种指标均高于VGG16、MobileNet_v1和Inception_v4模型。
单位: % | |||||||||||||||||||||||||||||
模型 | Recallweighted-agverage | Accuracyweighted-agverage | Precisionweighted-agverage | ||||||||||||||||||||||||||
vgg16 | 86.7 | 91.2 | 86.9 | ||||||||||||||||||||||||||
mobileNet_v1 | 86.4 | 91.1 | 86.3 | ||||||||||||||||||||||||||
Inception_v4 | 75.5 | 67.2 | 81.6 | ||||||||||||||||||||||||||
CRCNN | 94.5 | 96.2 | 94.5 |
为了使通道注意力能够提升CRCNN网络的分类准确度,本文将通道注意力模块分别加入到第1层卷积后和第2层卷积后进行训练,并与未加入通道注意力模块的CRCNN网络进行对比,验证通道注意力对人群集体性分类的影响。
表 4所示为不同位置下通道注意力模块获得的分类结果。从表中可以看出。相比于没有注意力的网络,加入通道注意力的网络的各项指标都明显提升。除此之外,在第1层卷积之后的注意力效果要略好于第2层卷积之后,这是因为浅层的特征图更接近真实的人群运动场景分布,更能表征人群集体的运动状态。因此文本将通道注意力加入到第1层卷积之后。
单位: % | |||||||||||||||||||||||||||||
通道注意力的位置 | Recallweighted-agverage | Accuracyweighted-agverage | Precisionweighted-agverage | ||||||||||||||||||||||||||
无通道注意力 | 78.9 | 86.1 | 89.1 | ||||||||||||||||||||||||||
第二层卷积后 | 90.3 | 87.4 | 90.2 | ||||||||||||||||||||||||||
CRCNN | 94.5 | 96.2 | 94.5 |
本文给出了适用于运动人群集体性分类识别的深度学习网络模型CRCNN,该网络包括6个卷积层,4个池化层和3个全连接层,网络引入通道注意力以获取人群运动集体性的全局特征,并采用空洞卷积的方式获取人群运动集体性的局部特征。相对于典型深度学习网络模型,例如VGG16、MobileNet等,CRCNN网络更侧重于识别图像中人群运动的纹理和行人之间的位置关系。基于CRCNN,本文进一步给出了人群集体性分类识别方法。该方法首先获取分析图像的光流点,并基于这些光流点获得集体性测度矩阵,然后构建集体性测度图,通过3×3结构元素对集体性测度图进行膨胀后,获得适用于深度网络输入的数据;最后基于膨胀后的集体性测度图训练出人群集体性的分类识别模型。将该模型用在公有数据集WWW上进行测试,分类的加权平均准确率等各项平均指标取得了较好的结果。实验证明,该模型能够对运动人群的集体性进行有效地分类识别,识别结果可以为运动人群的异常监控,人群显著性检测、群落的组内划分等领域提供重要依据。
[1] |
SHAO J, LOY C C, WANG X G. Learning scene-independent group descriptors for crowd understanding[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2017, 27(6): 1290-1303. DOI:10.1109/TCSVT.2016.2539878 |
[2] |
SHAO J, LOY C C, WANG X G. Scene-independent group profiling in crowd[C]//Conference on Computer Vision and Pattern Recognition. Piscatauay, USA: IEEE, 2014: 2227-2234.
|
[3] |
ZOU Y, ZHAO X, LIU Y C. Measuring crowd collectiveness by macroscopic and microscopic motion consistencies[J]. IEEE Transactions on Multimedia, 2018, 20(12): 3311-3323. DOI:10.1109/TMM.2018.2832601 |
[4] |
MEI L, LAI J H, CHEN Z Y, et al. Measuring crowd collectiveness via global motion correlation[C]//2019 IEEE/CVF International Conference on Computer Vision Workshop. Piscataway, USA: IEEE, 2019: 1222-1231.
|
[5] |
EN W Y, LI S H, GUO Q, et al. Agglomerative clustering and collectiveness measure via exponent generating function[DB/OL]. [2015-07-30](2021-06-30). https://arxiv.org/abs/1507.08571.
|
[6] |
XU M L, LI C X, LYU P, et al. An efficient method of crowd aggregation computation in public areas[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2018, 28(10): 2814-2825. DOI:10.1109/TCSVT.2017.2731866 |
[7] |
LI X L, CHEN M L, WANG Q. Quantifying and detecting collective motion in crowd scenes[J]. IEEE Transactions on Image Processing, 2020, 29(1): 5571-5583. |
[8] |
HU Z M, LI S, ZHANG C Y, et al. Frontal facial expression recognition using parallel CNN model[C]//National Conference on Communications. Piscataway, USA: IEEE, 2020: 1-5.
|
[9] |
LI P, ZHANG D, CHEN P, et al. Multi-adversarial partial transfer learning with object-level attention mechanism for unsupervised remote sensing scene classification[J]. IEEE Access, 2020, 8(1): 56650-56665. |
[10] |
BI Q, QIN K, LI Z, et al. A multiple-instance densely-connected convnet for aerial scene classification[J]. IEEE Transactions on Image Processing, 2020, 29(1): 4911-4926. |
[11] |
LI Y, GUO K, LU Y, et al. Cropping and attention based approach for masked face recognition[J]. Applied Intelligence, 2021, 51(5): 3012-3025. DOI:10.1007/s10489-020-02100-9 |
[12] |
LI S B, YAN Q D, LIU P. An efficient fire detection method based on multiscale feature extraction, implicit deep supervision and channel attention mechanism[J]. IEEE Transactions on Image Processing, 2020, 29(1): 8467-8475. |
[13] |
ZHANG Q, LEI Z, LI S Z. Neighborhood-aware attention network for semi-supervised face recognition[C]//International Joint Conference on Neural Networks. Piscataway, USA: IEEE, 2020: 5.
|
[14] |
LIU M, LIU J J, ZHANG P, et al. PA-GAN: A patch-attention based aggregation network for face recognition in surveillance[J]. IEEE Access, 2020, 8(1): 152780-152789. |
[15] |
LIU S C, MA X, WU H B, et al. An end to end framework with adaptive spatio-temporal attention module for human action recognition[J]. IEEE Access, 2020, 8(1): 47220-47231. |
[16] |
WOO S, PARK J, LEE J, et al. CBAM: Convolutional block attention module[C]//European Conference on Computer Vision. Berlin, Germany: Springer, 2018: 3-19.
|
[17] |
HOU B L, TANG X O, ZHANG H P, et al. Measuring crowd collectiveness[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(8): 1586-1599. DOI:10.1109/TPAMI.2014.2300484 |
[18] |
LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-444. DOI:10.1038/nature14539 |
[19] |
KUBILIUS J, BRACCI S, BEECK H O D. Deep neural networks as a computational model for human shape sensitivity[J]. Journal of Vision, 2016, 12(4): 759-774. |
[20] |
SHAO J, KANG K, LOY C C, et al. Deeply learned attributes for crowded scene understanding[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2015: 4657-4666.
|
[21] |
SIMONYAN K, ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[EB/OL].[2014-09-04](2021-05-18).https://arxiv.org/abs/1409.1556.
|
[22] |
HOWARD A, ZHU M, CHEN B, et al.Mobilenets: efficient convolutional neural networks for mobile vision applications[DB/OL].[2017-04-17](2021-05-18).https://arxiv.org/abs/1704.04861.
|
[23] |
SZEGEDY C, IOFFE S, VANHOUCKE V, et al.Inception-v4, inception-resnet and the impact of residual connections on learning[EB/OL].[2016-02-23](2021-06-28).https://arxiv.org/abs/1602.07261.
|