1. 引言
列车司机在铁路运行安全中的作用至关重要,司机的操作行为直接关系到列车的安全性。研究表明,司机的认知负荷、疲劳及情绪状态会显著影响他们的操作表现和决策能力[1]。例如,在复杂的操作环境中,认知负荷的增加可能导致决策失误,进而影响列车的安全[2]。此外,过度工作和长时间驾驶常常导致司机的疲劳,这直接影响其警觉性和反应速度[3]。在紧急情况下,司机的应急决策能力和反应速度对于确保安全尤为重要[4]。因此,如何有效地减轻司机的认知负荷,并增强其应急反应能力,已成为铁路安全研究的重要方向。
随着铁路系统的逐步实现自动化,如何平衡自动化与人工操作,尤其是在紧急情况下保持司机的判断能力,是当前铁路安全研究的重点[5]。另外,列车司机的操作确认行为,尤其是手比行为,在复杂和高压的环境中对于减少操作错误、提高安全性起到了关键作用。在信息不完全或环境干扰较大的情况下,手比行为作为一种非语言的确认方式,有助于帮助司机迅速且准确地完成操作确认[6]。因此,深入研究并优化手比行为的应用,尤其在高风险环境下,将显著提高列车的安全性和操作效率。
目前,深度学习在行为检测中的应用已经取得了显著进展,特别是卷积神经网络(CNN)和循环神经网络(RNN)。CNN能够从数据中自动提取特征,提高行为识别的精度,而RNN通过时序数据的处理能力,在动作序列识别中展现出优势[7]。在手比行为的检测上,深度学习的应用显著提升了行为识别的精度和实时性。
Mediapipe是Google推出的一种高效跨平台计算框架,广泛应用于姿态估计、手势识别和面部表情检测等领域,尤其适用于实时图像和视频分析[8]。Mediapipe的高效性和轻量级特性使其成为嵌入式设备和移动端的理想选择。结合深度学习和Mediapipe技术,能够显著提高行为检测的准确性和实时性,尤其在多任务场景下,展示了其强大的应用潜力。
尽管深度学习和Mediapipe技术在行为检测领域取得了显著进展,仍面临一些挑战。首先,深度学习模型通常需要大量的标注数据和计算资源,这在实际应用中可能成为瓶颈[9]。其次,目前的研究多集中于单一场景下的行为识别,缺乏对复杂环境中行为检测的深入探讨[10]。特别是在动态和复杂的环境中,现有的深度学习和Mediapipe结合方法仍面临性能不稳定和环境适应性差等问题[11]。
本研究的主要目标是提高列车司机手比行为在复杂环境中的检测精度和实时性。具体来说,研究将结合深度学习和Mediapipe两种不同的技术方案,探索如何在复杂铁路环境中进行高效、准确的手比行为识别。
首先,利用深度学习算法,从列车司机的手比行为中提取关键特征,并提高识别精度。其次,采用Mediapipe技术进行实时的姿态估计和手势识别,确保系统在动态和复杂环境下的稳定性和高效性。
该研究的创新之处在于:
结合深度学习和Mediapipe技术:通过对比两者的优势,实现手比行为的高效检测。
环境适应性优化:特别针对复杂和动态环境,优化现有方法的适应性和稳定性。
通过这些创新方法,本研究旨在为列车司机提供更为高效的操作确认机制,提升铁路运行的安全性和效率。
2. 手比行为检测流程与背景介绍
2.1. 手比行为检测的核心问题与挑战
2.1.1. 手比行为的定义与分类
手比行为是列车在列车操作过程中通过特定的手部动作,传递信息或与其他所有权、工作人员进行协调的一种非语言沟通方式。在铁路运输中,尤其是在复杂、混乱的情况下的环境下,手比行为作为重要的沟通信号,助力传递紧急操作指令、调整列车运行状态、调整作业等[6]。司机手比行为可以按照动作方向分为横向手比及纵向手比,横向手比是指通常用于列车停运、车站或方向变更时的指示,纵向手比通常表示启动、加速或停车等重要信号。
2.1.2. 传统检测方法的不足
传统的手比行为检测方法各有其优势和局限性。模板匹配方法简单直观,但对复杂背景和姿势变化适应性差[12];特征点检测方法能够适应一定的姿势变化,但对精度和实时性要求较高[13];运动分析方法能够处理动态环境下的手比行为,但在复杂场景中容易发生误判[14];机器学习方法虽然具有较强的识别能力,但需要大量的标注数据并依赖精细的特征提取[15]。随着深度学习和更先进的计算机视觉技术的不断发展,这些传统方法逐步被更为智能、灵活的算法所替代,以提升手比行为检测的准确性和效率[16]。
2.2. 手比行为检测流程概述
2.2.1. 检测流程的总体框架
图1为检测流程的总体框架图:
Figure 1. Overall framework of the detection process
图1. 检测流程的总体框架
2.2.2. 关键技术与挑战
司机手比行为检测的关键技术包括骨架点提取、特征提取和行为识别。其中,骨架点提取利用工具(如Mediapipe和OpenPose)从图像或视频中捕捉手部关键点;特征提取通过卷积神经网络(CNN)获取空间特征,并结合循环神经网络(RNN)或Transformer捕捉时间特征;行为识别通过分类模型判断手比动作类型,同时支持实时推理和多任务学习。然而,该领域仍面临数据稀缺、环境干扰(如光线、遮挡)、实时性与精度平衡以及模型鲁棒性不足等挑战[17]。未来需通过构建多样化数据集、优化模型设计和提升环境适应性来进一步推动应用[18]。
3. 基于深度学习的列车司机室手比行为检测
3.1. 骨架点提取算法
在列车司机手比行为的分析中,骨架点提取技术作为核心方法,能够有效捕捉并识别司机在操作过程中的动态行为。近年来,深度学习技术在骨架点提取领域的应用取得了显著进展,尤其是在复杂环境下对列车司机行为的实时监控和识别中,具有重要的实际意义。
骨架点提取方法通常通过深度神经网络(DNN)、卷积神经网络(CNN)以及一些专门的人体姿态估计工具,如OpenPose和MediaPipe,实现对人体动作的精准捕捉。例如,OpenPose通过多层卷积网络进行人体关节点的检测,能够有效地提取出列车司机手比行为中的关键骨架点,为后续的行为分析提供数据支持。该技术在高速动态环境下仍保持高效,能应对复杂的手比动作。MediaPipe作为Google开发的实时多模态框架,进一步提高了骨架点提取的效率和精度,特别是在复杂的交通环境中,能够实时准确地捕捉司机的动作信息,保障列车操作的安全性。
骨架点提取流程一般包括数据采集、预处理、关节点检测和后续的行为分析。在列车司机手比行为的分析中,首先通过高精度摄像设备获取司机的实时视频数据,经过图像预处理后,利用深度学习模型,如OpenPose或MediaPipe,提取人体的骨架点。提取的骨架点通常包括肩膀、肘部、手腕等重要关节点,能够反映出司机的手比行为[19]。接下来,通过对这些骨架点的时序数据进行进一步分析,可以从中提取出行为特征,以判断操作是否符合安全规范。
为了进一步优化骨架点提取的精度和实时性,研究者们提出了多种策略。例如,结合时序深度学习模型(如LSTM)来处理骨架点的时间序列数据,能有效提高在快速、复杂环境下的检测精度。此外,使用算法剪枝和量化等技术对模型进行优化,能够提升实时处理能力,从而确保在列车运行过程中,手比行为的识别和确认能够及时完成[20]。
3.2. 数据增强算法
数据增强是深度学习领域中提高模型泛化能力和解决数据稀缺问题的重要手段。在列车司机手比行为的研究中,数据增强技术对骨架点数据的分析和建模起到了重要作用。通过样本扩充、数据归一化等技术,数据增强不仅能够丰富数据集的多样性,还能提升模型在复杂环境中的表现。数据增强技术的实施,包括样本扩充、数据归一化等。
3.2.1. 样本扩充
样本扩充是数据增强的核心方法之一,它通过对现有数据的变换、生成和合成,增加数据的多样性。常见的样本扩充方法包括数据旋转、翻转、裁剪、平移和缩放等。这些技术被广泛用于骨架数据的增强,例如在时间序列骨架数据中,利用数据扩展策略生成不同时间步的骨架点序列,从而提升模型对动态行为的捕捉能力[21]。
此外,生成对抗网络(GAN)等先进技术也被用于样本扩充,通过生成新的骨架点数据,进一步丰富数据集。例如,TorchIO框架提供了强大的数据扩充和采样功能,使得模型能够更高效地利用扩充数据,优化模型训练效果[22]。
3.2.2. 数据归一化
数据归一化是提高模型稳定性的重要步骤。骨架点数据往往包含坐标和时间序列信息,通过归一化处理,可以将不同范围的特征值转换为统一的尺度,从而减少模型训练中的数值偏差[23]。例如,在3D骨架数据中,通过归一化将关节点坐标映射到固定范围,能够减少因数据尺度差异引起的模型性能下降问题[24]。
3.2.3. 骨架点数据增强的效果
骨架点数据增强在提升动作识别模型的性能和鲁棒性方面表现显著。以下是数据增强带来的具体效果:
1) 提升模型的泛化能力
样本扩充和归一化技术能够有效缓解过拟合问题,提高模型对未见数据的预测能力。例如,在对骨架点的动作识别任务中,利用对比学习结合极端数据增强策略,可以增强模型对稀疏数据的适应能力,显著提升模型在复杂环境中的表现[25]。
2) 增强模型对动态行为的捕捉能力
骨架点数据包含丰富的时空信息,通过时间序列数据扩展和归一化技术,能够优化模型对动态行为的检测和识别。例如,利用深度学习模型处理扩展后的骨架点时间序列,可以更好地捕捉手比行为的连续动作,从而提高分类精度。
3) 优化稀疏数据集的表现
在数据稀缺的情况下,数据增强可以有效扩展数据量,降低模型对小样本数据的依赖。例如,通过生成对抗网络生成额外的骨架点样本,能够增强模型在小数据集上的学习能力,提升对列车司机手比行为的识别精度[23]。
3.3. 深度学习模型设计
深度学习模型设计是实现高效特征提取和分类的重要环节。在列车司机行为识别等领域,合理选择与设计模型架构,优化特征提取流程及分类器,是提高识别准确性和鲁棒性的关键。
3.3.1. 模型架构选择与设计
现代深度学习模型的架构多以卷积神经网络(CNN)、YOLO (You Only Look Once)及Transformer为核心。每种架构均针对不同的任务特点设计,以实现高效的特征提取和分类能力。
1) YOLO架构
YOLO是一种端到端的目标检测模型,其显著特点是将目标检测任务简化为单次回归问题,能够在保证检测精度的同时显著提高实时性能[26]。针对复杂环境中的列车司机行为检测,YOLO通过DarkNet骨干网络提取多尺度特征,并结合优化的分类器完成目标识别。此外,针对动态行为场景,可嵌入Transformer模块以增强全局上下文理解能力[27]。
2) CNN架构
CNN是深度学习中广泛应用的特征提取工具,其层次化结构能够从图像数据中提取低级和高级特征。在列车司机手势识别任务中,轻量化的CNN变种(如MobileNet)可以降低计算复杂度,同时保留较高的检测精度[28]。此外,通过改进卷积核设计,可以进一步优化模型在复杂背景下的表现。
3) Transformer架构
Transformer架构近年来被引入到目标检测和行为识别领域,以其自注意力机制实现了全局特征建模的优势。ViT-YOLO将Vision Transformer嵌入YOLO框架,通过多头自注意力模块捕捉复杂行为模式,在动态环境下表现出卓越的识别能力。此外,结合CNN的局部特征提取能力,形成混合模型进一步提高了分类性能。
3.3.2. 特征提取、分类器设计及优化策略
1) 特征提取
特征提取是深度学习模型的重要组成部分,其直接决定了模型的识别精度和泛化能力。YOLO通过多尺度特征融合方法,在检测大尺寸目标的同时确保对小目标的捕捉能力[29]。而Transformer通过自注意力机制建模全局上下文信息,进一步提升特征提取效果,适用于列车司机动态行为的复杂特征识别。
2) 分类器设计
分类器是特征提取后的核心任务。改进YOLO的分类器可通过引入损失函数优化(如焦点损失和IoU损失),增强对难分类目标的区分能力[30]。Transformer嵌入的分类模块则通过多头自注意力对输入数据的多维信息进行加权,使得分类结果更具鲁棒性。
3) 优化策略
优化策略是深度学习模型设计的关键步骤。包括以下几个方面:
超参数调整:结合Adam或SGD优化器调整学习率,提高模型收敛速度和稳定性。
数据增强与正则化:通过数据扩充(旋转、翻转等)和正则化(Dropout、Batch Normalization)策略,提升模型泛化能力。
轻量化设计:对于嵌入式场景的行为识别任务,可以通过网络剪枝和量化技术,降低模型的计算复杂度[31]。
多模态融合:结合视觉、语音等多模态数据的特征,提升模型的识别精度。
现代深度学习模型的架构多以卷积神经网络(CNN)、YOLO (You Only Look Once)及Transformer为核心。每种架构均针对不同的任务特点设计,以实现高效的特征提取和分类能力。
4. 基于Mediapipe的智轨司机室手比行为检测
随着人工智能和计算机视觉技术的发展,Mediapipe以其高效的骨架点提取和实时处理能力,在手势检测和行为分析中获得广泛应用[32]。列车司机手比行为检测可以通过结合Mediapipe的骨架点提取与深度学习分类器实现高效检测,并通过系统优化提高实时性能。
4.1. 骨架点提取与动作分类
4.1.1. Mediapipe骨架点提取的基本原理
Mediapipe使用基于深度学习的关键点检测网络,通过实时计算图像中的骨架点实现高效姿态估计。其内核利用图像金字塔、回归模型以及几何约束方法精确定位手部的关节点,包括指尖、手腕等关键点,形成2D或3D骨架图。这一特性为列车司机手势的准确捕捉提供了坚实基础。
4.1.2. 动作分类器的设计与实现
Mediapipe提取的骨架点数据可以被输入到深度学习分类器中进行动作识别。常见的分类器包括:
LSTM:适用于时间序列数据,能够建模手比行为的动态特性[33]。
CNN:用以捕捉骨架点的局部几何关系,对静态手势具有较强分类能力。
Transformer:通过多头自注意力机制捕捉全局上下文信息,适用于复杂手势分类[34]。
分类器设计需要结合列车操作场景,通过引入正则化和优化损失函数提高分类器的性能。
4.2. 实时检测与系统优化
实时检测是列车司机行为监测的核心要求。Mediapipe通过轻量化模型结构和GPU加速技术实现骨架点的实时检测[35]。以下是常见的优化策略:
模型压缩与剪枝:减少参数量以提高推理速度。
快速卷积算法:优化卷积计算以降低时间复杂度。
分布式计算:在多个节点间分担计算负载。
在低计算资源环境中,适配硬件和优化算法是关键。例如,使用Tiny YOLO或MobileNet等轻量化网络可在嵌入式设备上实现高效推理。进一步结合混合精度计算(FP16和FP32)以及硬件加速(如NVIDIA Jetson Nano)可以在保证性能的同时降低功耗[36]。
5. 仿真实验与分析
5.1. 实验数据
5.1.1. 数据集1 (基于深度学习的列车司机手比行为数据集)
实验数据集来源于2017~2020年轨道列车驾驶室的监控视频图像,本次实验选择其中9564张图像作为初始数据集,经过人工筛选,排除其中过曝、无效等图片后,选择了其中的500张图像作为本次实验的数据集,其中横向手比163张、纵向手比123张、未手比314张,示例如下图2~4:
Figure 2. Horizontal hand gesture
图2. 横向手比
Figure 3. Vertical hand gesture
图3. 纵向手比
Figure 4. Unmeasured gesture
图4. 未手比
5.1.2. 数据集2 (基于Mediapipe的列车司机手比行为数据集)
根据智轨驾驶舱的2段视频进行了图像分类,从两段视频中获取了1090张图像,经人工挑选后,得到449张质量较高图像,分为两手交叉、模拟握持方向盘、停止手势、单手大拇指、双手大拇指、未手比、握持方向盘、左手手比、右手手比9种类别。其中,左、右手手比是算法需要识别的项点,对于其他类别,应尽量避免误识别。示范数据如下图5、图6:
Figure 5. Left-hand gesture
图5. 左手比
Figure 6. Right-hand gesture
图6. 右手比
5.2. 基于深度学习的实验分析
5.2.1. 实验环境
本次研究采用Windows64位的计算机操作系统,CPU采用i5-12400F,GPU采用NVIDIA GeForce RTX 1650,具有4GB显存,模型训练以PyTorch2.0为框架,Python3.9为编译环境,使用Cuda11.7.1进行训练加速。
5.2.2. 数据预处理步骤
图像读取与转换:使用OpenCV读取原始图像,转换为RGB格式,并统一调整为224 × 224的尺寸。
骨架点提取:利用MediaPipe Pose模块提取每张图片中的人体骨骼关键点。
其中,
是从图像中提取出的每个关键点对应于三维坐标,共提取33个关键点。在提取出的坐标中,不仅包含二维坐标,还包括了深度
,有助于在三维空间进行手势识别。同时,为了避免关键点坐标受图像分辨率的影响,对提取的坐标进行了标准化处理,使得每个关键点的坐标在0到1之间。
对于骨架点检测缺失的图像,为了保证其具有一致的形状,因此需要进行骨架点填充,保证数据输入的统一性。具体公式如下:
其中,K是从图像中提取到的骨架点数据(形状为
,其中n是实际提取到的骨架点数量),
是经过填充后的数据,目标大小为33个关键点(每个关键点有三个坐标),即填充为
,从而确保每个输入样本均具有99维(33个关键点 × 3个坐标值)。
5.2.3. 数据增强技术
为了增强模型的泛化能力,采用了以下几种数据增强方法:
① 水平翻转:对输入图像进行随机的水平翻转,翻转操作概率为50%。
② 随机旋转:对输入图像进行随机旋转,旋转角度为0˚,90˚,180˚,270˚,旋转操作的概率为50%。
③ 随机颜色调整:对输入图像的颜色进行随机调整,包括对比度
和亮度
的变化,参数范围维:
这些增强方法有效扩展了数据集的多样性,帮助提高模型的鲁棒性和泛化能力。
5.2.4. 模型设计
本实验采用了一个简单但有效的全连接神经网络(Fully Connected Network, FCN)作为分类模型。模型的设计考虑到输入是人体骨骼的三维坐标,因此在架构上进行了优化:
1) 输入层:输入数据为33个关键点的三维坐标,总共99维特征。每个输入样本都是一个向量,包含了图像中所有关键点的位置。
2) 隐藏层:
第一个全连接层(fc1),其输出是经过展开后的关键点数据,输出是一个128维的特征向量。其数学表达可以用矩阵乘法进行表示:
假设输入的骨架点数据X是一个大小为
的矩阵,其中N是批量大小(bitch size),99是每个样本的特征维度(33个关键点 × 3个坐标值)。因此这层的权重矩阵
的大小维
,偏置项
的维度为
,输出是一个大小为
的矩阵。具体公式如下:
其中:
是输入数据矩阵;
是第一层的权重矩阵;
是第一层的偏置项;
是线性变换的结果;
是经过
激活函数处理后的输出。
这样,第一层的输出就是一个128维的特征向量,作为后续网络层的输入。
第二个全连接层(fc2):将128维的特征映射为64维,同样使用ReLU激活函数。因此,第二层计算公式可以细化为:
其中:
是输入数据矩阵;
是第一层的权重矩阵;
是第一层的偏置项;
是线性变换的结果。
使用
激活函数处理后:
3) 输出层:
输出层的作用是根据模型的计算结果进行分类,在本项目中,输出层采用3个神经元,分别对应三类手势(普通手势、向上指、水平指)。输出层(fc3)接受前一层(fc2)的64维输入并输出一个大小为
的向量。这个向量的每个元素表示对应类别的预测值。具体公式如下:
其中:
是类别分数向量,表示模型对每个类别的预测值(得分);
是权重矩阵,表示每个类别与前一层64个神经元之间的连接权重;
是来自fc2层的输入向量,表示从隐藏层中传递下来的特征信息;
是偏置项,通常用于调节每个类别的得分。
随后,通过Softmax激活函数将输出得分转换为类别概率:
其中,
是输出向量y中第c个元素,表示类别c的得分,C为类别总数。
输出采用Softmax激活函数,得到每个类别的预测概率。
4) 损失函数与优化器:
本实验的手势分类模型使用了交叉熵损失函数(Cross-Entropy Loss)和Adam优化器,适合处理多分类任务并且能够有效加速模型训练。在本实验中,通过标签映射(label_mapping)实现了清晰的类标签转换,将手势类别与具体数字标签一一对应,确保训练时的标签一致性。具体公式如下:
其中,C是类别数,
是实际标签,
是模型预测的类别概率。通过标签映射的方式,可以将类别转换为数值标签,从而在实际应用中快速调整和适应不同的手势识别任务。
5.2.5. 实验设置与训练过程
1) 训练过程的损失与准确率:在1000轮的训练过程中,模型的训练损失逐渐下降,验证集的准确率逐步提高。训练损失在第500轮后开始显著减小。图7展示了训练损失的变化趋势,表明模型在训练过程中得到了良好的优化。
2) 验证集上的分类性能:在验证集上,模型的总体准确率达到88.15%,对于每个类别的分类准确率分别为:普通手势90%、向上指88%、水平指86%。这一结果表明,模型能够有效区分不同类别的手势。同时根据模型在各类手势上的预测情况,其中大部分错误集中在“向上指”与“水平指”之间,表明这两类手势在姿态上有一定的相似性。
Figure 7. Loss function curve
图7. 损失函数曲线
3) 鲁棒性与泛化能力:模型在不同环境下表现出较强的鲁棒性。在测试时,我们使用了不同背景、光照和视角的图像,模型在这些变换条件下仍然保持较高的准确率。这表明基于骨骼关键点的手势识别方法对于环境变化具有较强的适应能力。
5.3. 基于Mediapipe的实验分析
5.3.1. 参数配置
手势检测模型:使用MediaPipe Hands模型,最大检测手数为2,设定置信度阈值为0.5,确保手势识别的准确性与处理效率平衡。
姿势检测模型:使用MediaPipe Pose,设置为模式2以提高精度,适合高精度的人体姿势分析。
几何阈值设定:在判断手势时,通过手部关键点与其它身体关键点(如肩部、肘部)的距离关系来确定手势类型,距离阈值设定为15~25像素。
5.3.2. 数据预处理
图像数据通过OpenCV读取,并转化为适合MediaPipe处理的RGB格式。在每一帧图像中,首先通过MediaPipe Hands模块检测手部关键点,接着使用MediaPipe Pose模块获取人体姿态关键点数据。这些关键点为后续手势分类和手臂检测提供了重要的空间信息。
5.3.3. 凸包算法
手势分类基于手部关键点的几何关系,通过计算手指端点与手部轮廓的相对位置来进行判定。具体方法如下:
1) 凸包的定义和数学框架
设
为二维平面上n个点的集合,其中每个点
,则点集
是所有点的最小凸多边形。形式化地,凸包
为满足以下条件的点集:
其中,
为权重系数,且满足
且
,即这些点通过凸组合的方式线性构造,且该构造保证了包含所有点集的最小凸多边形。
2) 凸包算法的实现
设
为手势中m个关键点的集合,凸包
可以用于判断这些关键点是否构成一个闭合的手势轮廓。通过计算这些关键点的凸包,能够有效地识别手势的类别及其内部结构。例如,在判断是否为“掌”或“指”手势时,可以依据关键点相对凸包的位置关系进行分类。
具体而言,假设
为手势关键点,利用点与凸包的距离测试,可以判定某点是否位于凸包外部。假设
表示点
到凸包H的距离,则根据点是否位于凸包外部,我们可以建立如下分类准则:
掌手势分类准则:若绝大多数关键点
位于凸包外部(即
),则该手势可以判定为“掌”手势。形式化地,若k个关键点满足
,则判定为掌手势的条件为:
掌手势
。
指手势:如果只有少数几个关键点位于凸包外部,则可以识别为指手势,分类条件为:
指手势
。
无手势:若所有关键点均位于凸包内,则识别为无手势状态:
无手势
。
5.3.4. 手臂抬起检测
手臂抬起检测的关键在于分析肩膀、肘部和手腕的相对位置。具体方法如下:
1) 通过计算肘部到肩膀的垂直距离来判断手臂是否抬起。
2) 若垂直距离小于预设阈值,则判定该手臂为抬起状态。
对于右臂和左臂,分别计算如下:
若
或者
小于阈值,则判定为右手或左手抬起。
5.3.5. 综合判断
在综合判断阶段,首先通
函数计算手腕到肩膀的距离,用于判断是左手还是右手。然后,结合抬手检测结果,输出相应的手势识别结果。最终,系统根据手势类型与抬手状态进行输出,若识别到有效的手势,则标注手势信息,并展示在图像上,如下图8、图9所示:
Figure 8. Left hand gesture (after recognition)
图8. 左手比(识别后)
Figure 9. Right hand gesture (after recognition)
图9. 右手比(识别后)
在实验中,我们使用了来自不同来源的图像数据集进行测试。每一张图像经过预处理后,输入到手势分类与抬手检测模块。表1为实验的输出结果:
Table 1. Hand ratio recognition test results
表1. 手比识别检测结果
动作分类 |
实际数量 |
模糊数量 |
无效手比 |
遮挡数量 |
有效样本数量 |
检出数量 |
有效样本检出率 |
手比 |
左手 |
88 |
17 |
10 |
0 |
61 |
43 |
70% |
右手 |
78 |
14 |
6 |
43 |
15 |
14 |
93% |
综合 |
166 |
31 |
16 |
43 |
76 |
57 |
75% |
行驶干扰动作 |
88 |
0 |
0 |
0 |
88 |
88 |
100% |
未手比 |
192 |
0 |
0 |
0 |
192 |
192 |
100% |
合计 |
446 |
0 |
0 |
0 |
356 |
337 |
95% |
5.3.6. 结果讨论
实验结果表明,系统能够较准确地识别并分类常见的手势类型,如掌手比和指手比。此外,系统对手臂的抬起状态也能够做出较为准确的判断。然而,系统在复杂环境下(如多手重叠、快速运动等)可能会出现一定的误差,未来可以通过优化检测算法和引入更多的训练数据来进一步提升系统的鲁棒性和精度。
6. 结语
本研究提出的基于深度学习和Mediapipe的列车司机手比行为检测方法,成功地提升了手比行为的检测精度和实时性。实验结果表明,使用ResNet50卷积神经网络,手比行为的分类准确率超过85%;通过Mediapipe框架的实时手部关键点检测,准确率进一步提高至90%。这些结果证明了深度学习和计算机视觉技术在复杂铁路环境下的有效性,尤其在提升驾驶安全性和操作精度方面具有重要意义。
然而,尽管本研究取得了较好的实验效果,仍有进一步研究的空间。未来的研究可着重于以下几个方面:首先,扩展数据集,涵盖更多复杂的驾驶环境和不同类型的手比行为,以进一步提升系统的适应性;其次,优化模型的实时性,特别是在计算资源有限的场景下;最后,结合更多的传感器数据和多模态信息,进一步提高手比行为识别的准确性和鲁棒性,为智能驾驶舱的安全性提供更强有力的技术支持。