一种基于自编码器的地铁行人异常行为检测方法

未命名 10-19 阅读:91 评论:0


1.本发明属于计算机视觉技术和深度学习领域,具体是涉及一种基于自编码器的地铁行人异常行为检测算法。


背景技术:

2.随着城市化进程的不断加快,地铁作为城市交通的重要组成部分,越来越受到人们青睐。然而,地铁作为人流密集的场所,也面临着安全风险,如打架斗殴、踩踏行为等,这些行为可能威胁到地铁系统的安全和乘客的生命财产安全。因此,对于地铁异常行为的检测具有重要的意义。目前,现有的地铁异常行为检测方法主要基于传统的机器学习算法和人工规则。这些方法存在许多局限性,例如:(1)需要大量的人工参与,开销大、实时性低;(2)传统机器学习算法提取特征复杂,且提取的特征无法很好表征行人行为的特征,对异常行为检测性能有极大影响;(3)行人异常行为具有多样性,特征提取器可能无法捕捉所有异常行为,缺乏通用性。因此,需要一种更加高效和准确的方法来检测地铁异常行为。自编码器是一种在深度学习中广泛被应用的半监督学习算法,其具有重构的特性,可以在训练时只使用正常行为数据作为自编码器的输入,使自编码器模型学习正常行为的分布,即可对正常行为具有较好的生成能力,但对异常行为事件具有较差的生成能力,最后通过异常行为事件的高重构误差来判断异常,这使自编码器成为行人异常行为检测的一种潜在的解决方案。


技术实现要素:

3.本发明的目的是提供基于自编码器的地铁行人异常行为检测算法,该方法不仅可以保证高效快速地检测出地铁场景中行人异常行为,还能进一步提高行人异常行为检测地准确率,最终优化算法的复杂度,提升模型整体的性能。
4.为了实现上述任务,改善现有技术存在的缺陷,本发明提供了一种基于自编码器的地铁行人异常行为检测方法,该方法包括:
5.步骤1:数据集采集与预处理;
6.采集地铁站台视频数据,并对视频数据进行分帧处理,并将视频帧的尺寸调整为统一的大小,方便后续对模型的训练,最后将处理后的视频帧划分成训练集、测试集两部分;其中训练集只包含有正常行为的视频段帧,测试集包含正常行为和异常行为两种类别的视频段帧;
7.步骤2:数据集标注;
8.测试集标注使用帧级异常事件标注方法,对每段测试视频的所有帧标注正常事件以及异常事件;标注完成后,每一段测试视频都会产生一个与文件名相同的mat二进制文件,其中0代表正常事件标注,1代表异常事件标注;
9.步骤3:构建网络模型;
10.该网络模块输入为连续帧图像,依次经过:第一3d卷积模块、第二3d卷积模块、第
三3d卷积模块、第四3d卷积模块、第一记忆模块、第一3d逆卷积模块、第二记忆模块、第二3d逆卷积模块、第三记忆模块、第三3d逆卷积模块、3d逆卷积层,额外的,第二3d卷积模块通过第一注意力模块与第一3d逆卷积模块连接,第三3d卷积模块通过第二注意力模块与第二3d逆卷积模块连接,第四3d卷积模块通过第三注意力模块与第三3d逆卷积模块连接,3d逆卷积层的输出为整个网络模型的输出,输出为重构连续帧;
11.所述每个3d卷积模块依次包含3d卷积层、3d批归一化层和lakeyrelu激活函数;解码器网络由三层3d逆卷积模块组成,其中每个3d逆卷积模块依次包含3d逆卷积层、3d批归一化层和lakeyrelu激活函数;
12.所述网络模型的的输入数据经过3d卷积模块或3d逆卷积模块后生成一个特征矩阵,这个特征矩阵中的每一个查询向量为q
t
∈rc,t=1,2,...,h
×
w,其大小为1
×1×
c,被用来获取记忆模块中的信息;当一个查询向量q
t
在经过记忆模块后生成由记忆矩阵重加权组成的新的向量q
t
为:
[0013][0014]
式中,mi代表记忆矩阵m中每一个内存项,ωi代表mi对应的权重关系,i=1,2,...,n;矩阵w∈r1×n表示记忆模块中每个内存项权重再分配的相关性权重矩阵,m∈rn×c表示记忆模块中包含n个有效正常信息的记忆矩阵,c代表了记忆矩阵的维度;w矩阵从内存模块中寻址出更重要的正常行为模式记录到q
t
中;
[0015]
计算更新权重矩阵ωi;
[0016][0017]
其中,ε是非常小的正参数,λ为常数,取值为(1/n,3/n)区间;
[0018]
将ωi进行归一化:ωi=ωi/||w||1;其中w是使用relu激活函数对权重矩阵w的稀疏化处理,||w||1表示w的1范数;
[0019]
得到编码向量经过记忆模块后的输出为:
[0020]qt
=wm;
[0021]
步骤4:模型训练;
[0022]
在训练阶段,训练数据集只包含正常事件的视频帧序列,使模型学习行人正常行为的特征表达;模型的损失函数分为两个部分,自编码器网络的重构损失函数l
rec
与记忆模块的熵损失函数l
mem

[0023][0024]
式中,i
t
代表当前视频帧,代表当前重构帧,||
·
||2代表了l2范式;
[0025][0026]
式中,f是记忆模块的个数,ω
k,i
指第k个记忆模块中的第i个内存项;所述网络模型的总损失函数为:
[0027]
l=λ
rec
l
rec

mem
l
mem

[0028]
步骤5:模型验证:训练完成后,将带有异常事件的测试集中的视频帧送入训练好的模型中,通过对比测试帧与模型输出的重构帧之间的重构误差检测异常发生以及发生的区域。
[0029]
本发明实现基于自编码器的地铁行人异常行为检测算法,与现有技术相比,其优点在于:1)本发明采用了3d卷积作为特征提取手段,能够提取出地铁站视频数据中行人的外观特征和运动信息,利用了数据的时空特征,加强了模型对行人正常行为和异常行为之间差异的判断能力,提升异常行为检测效果;2)本发明使用多级记忆力模块解决了自编码器泛化能力过强的问题,加强了模型对正常行为的生成能力,抑制了模型对异常行为的重构能力,从而提升了二者之间的重构误差,提高了模型异常行为检测性能;3)本发明采用基于通道注意力机制的跳跃连接,可以使解码器网络更专注于解码前景目标的编码信息,侧重于生成前景行人目标,从而解决地铁场景中背景复杂的问题。同时,跳跃连接还可以减轻由于引入多级记忆模块而导致信息过度过滤的问题,使得模型解码过程更轻松。
附图说明
[0030]
图1为本发明的行人异常行为检测算法整体流程图;
[0031]
图2为本发明的行人异常行为检测整体网络结构图;
[0032]
图3为本发明的行人异常行为检测记忆模块的原理图;
[0033]
图4为本发明的行人异常行为检测通道注意力机制的原理图;
[0034]
图5为成都地铁站数据集摔倒异常行为实验图;
[0035]
图6为成都地铁站数据集急速奔跑异常行为实验图;
[0036]
图7为成都地铁站数据集打架异常行为实验图。
[0037]
实施方式
[0038]
为了实现上述任务,改善现有技术存在的缺陷,本发明提供了一种基于自编码器的地铁行人异常行为检测算法。经过研究讨论和反复实践,最终确定方案步骤如下:
[0039]
步骤1.数据集采集与预处理:采集地铁站台视频数据,并对视频数据进行分帧处理,并将视频帧的尺寸调整为统一的大小,方便后续对模型的训练,最后将处理后的视频帧划分成训练集、测试集两部分。
[0040]
通过网络爬虫、实地采集地铁场景视频数据,其中包含了正常行为事件与异常行为事件,通过使用opencv对视频进行分帧处理,并将尺寸统一调整成256
×
256
×
3的大小。最后将切好的视频帧分为训练集和测试集两部分,其中训练集只包含有正常行为的视频段帧,测试集包含正常行为和异常行为两种类别的视频段帧。
[0041]
步骤2.数据集标注:自编码器模型属于半监督学习算法,因此需对数据集中的测试集进行异常事件标注,以便验证模型异常行为检测性能。测试集标注使用帧级异常事件标注方法,对每段测试视频的所有帧标注正常事件以及异常事件。标注完成后,每一段测试视频都会产生一个与文件名相同的mat二进制文件,其中0代表正常事件标注,1代表异常事件标注。
[0042]
由于验证模型的异常行为检测性能时,需要根据是否准确检测出异常事件作为模型性能好坏的依据,因此要对测试集数据进行数据标注。通过编写python程序,对每段测试视频对应创建一个字典数据类型的二进制文件,当某帧出现了异常行为事件时,在字典对
应索引的元素标记为1,否则默认为0,最终每段测试视频帧都产生了一个与文件名相同的mat二进制文件代表其标签。
[0043]
步骤3.构建网络模型:1)使用3d卷积搭建自编码器的编码器和解码器网络;2)在解码器网络中加入多级记忆模块,记录不同层次维度的正常行为信息;3)在编码器和解码器中使用带有通道注意力机制的跳跃连接传递具有代表性的编码信息。
[0044]
步骤3-1,自编码器网络中主要使用3d卷积作为模型特征提取手段,能够提取视频序列数据的行人运动信息与外观特征。其中编码器网络由三层3d卷积模块组成,其中每个3d卷积模块包含3d卷积层、3d批归一化层和lakeyrelu激活函数。解码器网络由三层3d逆卷积模块组成,其中每个3d逆卷积模块包含3d逆卷积层、3d批归一化层和lakeyrelu激活函数。
[0045]
步骤3-2,本发明使用多个记忆模块在编码器和解码器的不同特征维度上进行记忆正常模式,以提高模型对正常行为的重构能力并抑制模型对异常行为的生成能力。这将导致模型对异常行为的重构误差增加,从而更容易检测出视频中的异常行为。
[0046]
具体的记忆模块算法如下:
[0047]
记忆模块可以被视为一个包含n个有效正常信息的记忆矩阵m∈rn×c,其中n是一个超参数,其决定了内存模块的最大容量,c代表了记忆矩阵的维度。模型的输入数据经过编码器处理后会生成一个特征矩阵,这个特征矩阵中的每一个查询向量为q
t
∈rc(t=1,2,...,h
×
w),其大小为1
×1×
c,都会被用来获取记忆模块中的信息。当一个查询向量q
t
在经过记忆模块后会生成由记忆矩阵重加权组成的新的向量q
t
,其公式如下:
[0048][0049]
式中mi(i=1,2,...,n)代表记忆矩阵m中每一个内存项,ωi(i=1,2,...,n)代表mi对应的权重关系。其中矩阵w∈r1×n是表示记忆模块中每个内存项权重再分配的相关性权重矩阵,w矩阵主要为了从内存模块中寻址出更重要的正常行为模式记录到q
t
中。其由输入查询向量q
t
和记忆矩阵m进行相似性计算得出,最后经过非指数形式softmax函数计算得出,如下式:
[0050][0051][0052]
上式是查询向量q
t
与各内存项mi的余弦相似度,然后对其进行softmax函数计算就可以得到权值ωi。但是经过编码器编码的低级特征信息存在冗余,因此为了进一步提取更有用的信息,使用了relu激活函数对权重矩阵w进行稀疏化处理。这种处理可以帮助去除一些不必要的特征,从而提取出更有用的信息:
[0053][0054]
式中max(
·
,0)为relu激活函数,ε是非常小的正参数,防止分母为0,λ通常取值为(1/n,3/n)区间。通过上述处理后再将权重进行归一化:
[0055]
ωi=ωi/||w||1[0056]
最终得到编码向量经过记忆模块后的变换公式:
[0057]qt
=wm
[0058]
步骤3-3,在上述自编码器网络中,本发明还采用了基于通道注意力机制的跳跃连接,将代表性的正常行为通道编码信息传输到解码器中。这样做的目的有两个:一方面,通道注意力机制可以让模型学习通道之间的相关性与重要性,为多级记忆模块提供前景目标通道的正常行为通道编码信息,降低地铁站复杂背景带来的干扰;另一方面,通过跳跃连接可以将正常行为通道编码信息直接传递给解码器中,避免因加入多级记忆模块而导致的信息过滤现象。
[0059]
步骤4.模型训练:在训练阶段,训练数据集只包含正常事件的视频帧序列,使模型学习行人正常行为的特征表达。其中模型的损失函数包括:1)输入图像帧与自编码器输出的重构帧之间的重构误差;2)多级记忆模块之间的稀疏化熵损失函数。通过降低两部分的损失函数得到模型的最优网络参数。
[0060]
使用adam算法对模型进行自适应学习训练。模型的损失函数分为两个部分,自编码器网络的重构损失函数与记忆模块的熵损失函数:
[0061][0062]
式中i
t
代表当前视频帧,代表当前重构帧,||
·
||2代表了l2范式,通过不断优化降低上式,可以使模型的重构误差不断减小,得到具有较强生成能力的自编码器模型。
[0063][0064]
式中m是记忆模块的个数,ω
k,i
指第k个记忆模块中的第i个内存项。将二者的损失函数结合就可以的到本发明所提模型的损失函数:
[0065]
l=λ
rec
l
rec

mem
l
mem
[0066]
通过反向传播算法优化上式可以不断加强自编码器的重构能力以及更新记忆模块中的内存项,使得各个记忆模块能够存储最具有代表性的正常行为模式,加强模型对正常行为的生成能力。
[0067]
步骤5.模型验证:训练完成后,将带有异常事件的测试集中的视频帧送入训练好的模型中,通过对比测试帧与模型输出的重构帧之间的重构误差检测异常发生以及发生的区域。
[0068]
将测试视频帧送入训练好的模型,模型的输出会对图像帧中正常行为的区域进行很好的生成,对于异常行为的区域生成效果很差。通过计算测试帧与重构帧之间的重构误差,当重构误差大于一定阈值时,则判断当前帧出现了行人异常行为事件。并且通过绘制误差热力图可以定位出行人异常行为所处的区域,能够方便监管人员迅速地检测、定位地铁场景下的行人异常行为事件。
[0069]
为了进一步验证所提方法的有效性,本发明将从成都地铁自建数据集中选择部分异常测试视频的实验结果进行展示,如图5、图6、图7所示,其中第一列图像代表了带有异常行为的测试帧,第二列图像代表了由本发明生成的对应重构帧,第三列图像代表了二者的重构误差热力图。其中异常行为主要包括:急速奔跑、摔倒、打架。
[0070]
从第二列图像重构帧与第三列图像重构误差热力图实验结果上看,本发明对异常行为区域的捕获更加明显,这与本发明中引入的记忆模块有很重要的关系,进一步验证了记忆模块能够抑制自编码器网络的泛化能力,使其增大对异常行为区域的重构误差。同时由图7所示,在其背景中有正在行驶的地铁列车,虽然在训练时列车的行驶会作为正常样本对模型进行训练,但是其剧烈的运动会使得模型在测试阶段对列车的重构造成困难,从而增加了行驶中地铁的重构误差。但由图7的重构帧和误差热力图可以看出,地铁的重构效果是较好的。这是因为本发明使用了通道注意力机制,其将模型的特征学习重点放在对前景行人目标的行为上,而对于背景通道的权重会降低,因此对背景的特征提取信息的强度会弱化,从时空特弱化成空间特征,一定程度上忽略了地铁列车的运动信息,所以重构地铁效果和重构固定背景一样稳定。这也是本发明在对一些行人正常行为的重构会有些模糊,而对急速行驶的列车反而重构效果较好的原因所在。

技术特征:
1.一种基于自编码器的地铁行人异常行为检测方法,该方法包括:步骤1:数据集采集与预处理;采集地铁站台视频数据,并对视频数据进行分帧处理,并将视频帧的尺寸调整为统一的大小,方便后续对模型的训练,最后将处理后的视频帧划分成训练集、测试集两部分;其中训练集只包含有正常行为的视频段帧,测试集包含正常行为和异常行为两种类别的视频段帧;步骤2:数据集标注;测试集标注使用帧级异常事件标注方法,对每段测试视频的所有帧标注正常事件以及异常事件;标注完成后,每一段测试视频都会产生一个与文件名相同的mat二进制文件,其中0代表正常事件标注,1代表异常事件标注;步骤3:构建网络模型;该网络模块输入为连续帧图像,依次经过:第一3d卷积模块、第二3d卷积模块、第三3d卷积模块、第四3d卷积模块、第一记忆模块、第一3d逆卷积模块、第二记忆模块、第二3d逆卷积模块、第三记忆模块、第三3d逆卷积模块、3d逆卷积层,额外的,第二3d卷积模块通过第一注意力模块与第一3d逆卷积模块连接,第三3d卷积模块通过第二注意力模块与第二3d逆卷积模块连接,第四3d卷积模块通过第三注意力模块与第三3d逆卷积模块连接,3d逆卷积层的输出为整个网络模型的输出,输出为重构连续帧;所述每个3d卷积模块依次包含3d卷积层、3d批归一化层和lakeyrelu激活函数;解码器网络由三层3d逆卷积模块组成,其中每个3d逆卷积模块依次包含3d逆卷积层、3d批归一化层和lakeyrelu激活函数;所述网络模型的的输入数据经过3d卷积模块或3d逆卷积模块后生成一个特征矩阵,这个特征矩阵中的每一个查询向量为q
t
∈r
c
,t=1,2,...,h
×
w,其大小为1
×1×
c,被用来获取记忆模块中的信息;当一个查询向量q
t
在经过记忆模块后生成由记忆矩阵重加权组成的新的向量q
t
为:式中,m
i
代表记忆矩阵m中每一个内存项,ω
i
代表m
i
对应的权重关系,i=1,2,...,n;矩阵w∈r1×
n
表示记忆模块中每个内存项权重再分配的相关性权重矩阵,m∈r
n
×
c
表示记忆模块中包含n个有效正常信息的记忆矩阵,c代表了记忆矩阵的维度;w矩阵从内存模块中寻址出更重要的正常行为模式记录到q
t
中;计算更新权重矩阵ω
i
;其中,ε是非常小的正参数,λ为常数,取值为(1/n,3/n)区间;将ω
i
进行归一化:ω
i
=ω
i
/||w||1;其中w是使用relu激活函数对权重矩阵w的稀疏化处理,||w||1表示w的1范数;得到编码向量经过记忆模块后的输出为:q
t
=wm;
步骤4:模型训练;在训练阶段,训练数据集只包含正常事件的视频帧序列,使模型学习行人正常行为的特征表达;模型的损失函数分为两个部分,自编码器网络的重构损失函数l
rec
与记忆模块的熵损失函数l
mem
:式中,i
t
代表当前视频帧,代表当前重构帧,||
·
||2代表了l2范式;式中,f是记忆模块的个数,ω
k,i
指第k个记忆模块中的第i个内存项;所述网络模型的总损失函数为:l=λ
rec
l
rec

mem
l
mem
。步骤5:模型验证:训练完成后,将带有异常事件的测试集中的视频帧送入训练好的模型中,通过对比测试帧与模型输出的重构帧之间的重构误差检测异常发生以及发生的区域。

技术总结
该发明公开了一种基于自编码器的地铁行人异常行为检测方法,属于计算机视觉技术和深度学习领域。本发明实现基于自编码器的地铁行人异常行为检测算法,与现有技术相比,其优点在于:能够提取出地铁站视频数据中行人的外观特征和运动信息,利用了数据的时空特征,加强了模型对行人正常行为和异常行为之间差异的判断能力,提升异常行为检测效果;加强了模型对正常行为的生成能力,抑制了模型对异常行为的重构能力,从而提升了二者之间的重构误差,提高了模型异常行为检测性能;使解码器网络更专注于解码前景目标的编码信息,侧重于生成前景行人目标,从而解决地铁场景中背景复杂的问题。题。题。


技术研发人员:叶润 闫斌 周小佳 何雪梅 张坤
受保护的技术使用者:电子科技大学
技术研发日:2023.07.10
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐