Detection of Abnormal Behavior of Train Drivers Based on Skeleton Data
Aiming at the challenges of low detection accuracy and efficiency in train driver abnormal behavior detection, this study proposes a model based on skeleton data, named Spatiotemporal Graph Attention and Multi-Time Scale Temporal Convolutional Network (ST-GAT), built upon the Spatial Temporal Graph Convolutional Network (ST-GCN) behavior detection model. By leveraging skeleton data for modeling, the model introduces a Graph Attention Network (GAT) module with a dynamic attention mechanism to enhance the ST-GCN model’s extraction of spatial features. Additionally, the model incorporates a Multi-Scale Temporal Convolutional Network (MS-TCN) module to extract temporal features at different scales, addressing the flexibility and scale limitations of the Temporal Convolutional Network (TCN) module in ST-GCN. To improve training efficiency, the model adopts the cross-entropy loss function to expedite convergence. Experimental results demonstrate an 8.8% improvement in accuracy and a 2% increase in FLOPS on the test set compared to the ST-GCN model. Therefore, the proposed method exhibits favorable performance in enhancing both the accuracy and efficiency of abnormal behavior detection.
Skeletal Data
列车司机的规范驾驶操作对于保障列车运行安全至关重要,异常的驾驶行为,诸如接打电话、吸烟、玩手机等,不仅对列车运行安全构成威胁,而且已成为造成重大交通事故的主要因素之一
列车司机异常行为的检测方法主要有传统检测方法和基于深度学习检测方法。传统检测方法主要依赖监测驾驶员的生理信号和车辆传感器来识别司机的异常状态,包括心电图
ST-GCN是一种时空信息检测模型,专为基于骨架数据的行为识别任务而设计,通过GCN和TCN的结合,可以有效捕获骨架数据中的时空关系
ST-GCN网络结构包含GCN模块和TCN模块,每个模块之后都进行了归一化和激活函数处理,能够消除数据间的差异和提高模型的泛化能力,然后通过池化操作对特征进行下采样,并输入全连接层进行特征整合,最后通过softmax分类器对输入的骨架序列进行行为分类。
基于ST-GAT的列车司机异常行为检测模型如
首先构建一个具有N个节点和T帧的无向时空图
,其中,V表示骨架时空图中所有关节点集合,E表示骨架时空图中所有骨架边集合。关节点集
,其中
表示第
帧上第
个关节点。边集E是由两个子集构成,第一个子集
描述帧内相邻节点的骨架边连接,表示为
,其中
表示
帧上第
个关节点;第二个子集描述帧间对应关节点的骨架边连接,表示为
,其中
表示第
帧上第
个关节点。所以在构建骨架时空图过程中,不仅要连接帧内相邻关节点,还要连接相邻帧之间的对应关节点,以形成包含空间和时间信息的骨架时空图,如
传统异常行为检测方法通常采用固定权重方式进行关节点特征提取,难以充分挖掘不同节点之间的空间信息
GAT模块构建过程如下:
首先设置给定节点为 , 是节点 的邻居节点, 表示输入的一组节点特征, 表示输出一组新的节点特征。
1) 对节点 ,逐个计算它的邻居节点 和它自己的相似系数 为:
(1)
式中: 是一个通过单层前馈神经网络实现的映射函数; 表示对节点 和邻居节点 的特征进行拼接; 是一个可学习的参数矩阵。
2) 为了使系数在不同节点之间进行比较,使用Softmax函数对注意力系数进行归一化,得到注意力系数 为
(2)
3) 根据计算得到的注意力系数 ,对邻居节点的特征按照注意力系数进行加权求和,得到节点 的新特征表示 为:
(3)
4) 为了增强模型表达能力,引入多头注意力机制,对于每个节点 ,计算多个注意力头结果,最后将它们拼接起来得到最终的特征表示 为:
(4)
式中: 表示注意力头的数量; 是第 个注意力头的参数矩阵。
MS-TCN模块结构如
假设该模块的输入序列为 ,其中T是序列长度, 是时刻 的输入向量。使用残差结构,将输入 通过残差时空卷积层,得到输出 。残差时空卷积层的计算可表示为:
(5)
式中 是卷积核的大小, 表示卷积操作及激活函数。
上述的残差结构通过 和 的加法操作,实现了在保留原始输入信息的同时引入更多的非线性特征。这种结构在深层网络中有助于减少特征冗余和缓解梯度消失问题,从而提升模型训练效果。这种上述设计使得MS-TCN能够更全面地理解行为的动态变化,提升了模型对时序信息的表达能力。
(6)
式中i表示类别的索引, 是实际类别i的样本的真实概率(通常为0或1), 是模型预测类别为i的样本的概率。整个损失函数的目标是最小化实际概率分布和模型预测概率分布之间的交叉熵,从而使模型更好地适应多分类任务。
实验平台采用的显卡为NVIDIA GeForce RTX 3060,处理器为i7-9700k,内存16GB,使用GPU加速。
由于目前没有公开的列车司机异常行为检测数据集,本实验采用自采数据集,在列车司机模拟试验平台上利用正前方摄像头采集了5500个视频片段,涵盖5种异常行为,每个异常行为至少有1000个视频片段,每个片段持续约5 s。本实验标记的异常行为包括接打电话、玩手机、喝水、与人交谈、吸烟等。在自采数据集标注方面,人工标注是解决该问题的主要方式之一。本实验使用可视化的图像标注工具Labelimg,通过可视化操作对自采数据集中司机异常动作进行标注,每隔10帧随机抽取一帧关键帧,共计标记20,000张视频帧图像,并通过姿态估计模型HRNet-W32获取骨架数据。本文模型的训练,将标注好的自采数据集的70%作为训练集,30%作为测试集。
为了有效地评估模型的训练效果,对训练模型的准确率和损失函数迭代曲线图进行了细致分析。首先,通过
为了客观评价本文模型的性能,采用准确率与FLOPs进行对比实验分析。实验对比结果如
方法 |
FLOPS |
准确率/% |
文献
|
3.37 |
83.48 |
文献
|
5.97 |
85.36 |
ST-GCN |
16.20 |
89.47 |
本文方法 |
16.52 |
98.27 |
为直观反映出本文方法采用GAT模块、MS-TCN模块以及优化损失函数等改进点对异常行为检测模型性能提升的作用,采用消融实验进行验证,通过在基准模型上进行训练以及测试,采用准确率作为评价指标,验证其有效性。所有消融实验均采用相同的实验环境,并以相同的数据集进行训练与测试。消融实验如
基准模型 |
GAT模块 |
MS-TCN模块 |
交叉熵损失函数 |
准确率/% |
√ |
89.60 |
|||
√ |
√ |
94.65 |
||
√ |
√ |
√ |
96.91 |
|
√ |
√ |
√ |
√ |
98.27 |
针对列车驾驶场景下司机异常行为检测过程存在检测准确率以及效率低的问题,本文提出了一种基于骨架数据的列车司机异常行为检测方法。本文方法创新点如下:在列车驾驶场景下,利用骨架数据建模,更好理解列车司机异常行为的复杂关系和时序动态变化。在ST-GCN的基础上,引入GAT模块、设计MS-TCN模块以及优化损失函数,提高模型检测的准确率和检测效率。相较于ST-GCN模型,本文方法在准确率上取得了显著的提高,综合全类平均准确率达到了98.27%,同时FLOPS提高了2%。实验结果表明:本文方法能够有效识别列车司机的多种异常行为,包括打电话、看手机、喝水、与人交流和抽烟等异常行为,具有较好性能。未来的研究将进一步拓展该模型的适用范围,并结合其他传感器数据进行更全面的异常行为识别和预测,进一步提升列车运行的安全性。