基于局部-全局双重时序建模的骨架动态手势识别方法

摘要: 本发明属于动态手势识别,尤其涉及基于局部-全局双重时序建模的骨架动态手势识别方法。背景技术:1、随着人机交互、虚拟现实、智能家居、机器人控制、医疗康复以及无接触...
基于局部-全局双重时序建模的骨架动态手势识别方法

本发明属于动态手势识别,尤其涉及基于局部-全局双重时序建模的骨架动态手势识别方法。

背景技术:

1、随着人机交互、虚拟现实、智能家居、机器人控制、医疗康复以及无接触式设备控制等应用场景的发展,动态手势识别技术逐渐成为智能交互领域的重要研究方向。相比基于rgb图像或深度图像的手势识别方法,基于骨架序列的手势识别方法通常以手部关节关键点作为输入,能够在一定程度上减少背景、光照、纹理变化等外部因素的干扰,因此更适合轻量化和实时部署场景。

2、现有基于骨架的动态手势识别方法通常将手部表示为由连续帧组成的骨架序列,每一帧包含掌部、指根、指节、指尖等多个关节关键点坐标。模型通过提取关节之间的空间结构关系以及不同时间帧之间的运动变化关系,实现对动态手势类别的识别。现有方法主要包括基于卷积神经网络、循环神经网络、时间卷积网络、图卷积网络以及注意力机制的识别方法。其中,卷积类方法通常将骨架序列转换为时空特征图后进行特征提取;循环网络和时间卷积网络主要用于建模手势序列的时间变化;图卷积网络则将手部关节看作图节点,将关节之间的物理连接关系看作边,通过邻接矩阵传播关节特征,以建模手部骨架拓扑结构;注意力机制方法则通过计算关节、手指或时间帧之间的相关性,自适应突出关键关节和关键运动片段。

3、近年来,为了提升细粒度动态手势识别效果,部分方法进一步引入动态图卷积、自适应邻接矩阵、多流融合或 transformer 结构,以增强模型对复杂时空关系的建模能力。例如,多流方法通常同时利用关节坐标、骨骼向量、关节运动和骨骼运动等特征,通过多个分支提取互补信息后进行融合;层次化注意力方法则按照关节、手指和整手的层级结构进行特征聚合,以降低模型复杂度并增强手部结构表达能力。这些方法在公开数据集上取得了一定效果,但在细粒度手势识别、局部手指动态建模以及轻量化部署方面仍存在改进空间。这些方法具体存在如下不足:

4、(1)在细粒度手势识别中,局部手指动作往往是区分类别的关键,但现有方法对此类细节利用不充分。目前多数骨架手势识别方法通常先对整只手的关节结构进行整体建模,或先将单帧内的多个关节特征聚合为手指级、整手级特征,再在后续网络中进行时间维度建模。该类结构虽然能够提取整体手势运动趋势,但在关节级特征进入手指级聚合之前,缺少对同一根手指内部相邻帧之间局部运动变化的显式建模。对于细粒度动态手势识别任务,不同类别之间的差异往往并不体现在整只手的大幅运动上,而是体现在某一根手指的弯曲程度、指尖运动方向、单指与全手动作差异等局部短时变化上。因此,若模型过早进行空间聚合,指尖位移、指节弯曲变化以及相邻帧中同一手指内部关节的协同变化等细粒度信息容易被压缩或弱化,导致相似手势类别之间的区分能力不足。

5、(2)为了增强时空关系建模,现有方法常采用全局图卷积或全局注意力结构,但这类结构容易带来冗余信息和较高计算开销。现有图卷积方法通常将整只手的所有关节作为图节点,并通过预定义邻接矩阵或动态学习的邻接矩阵进行特征传播;注意力或transformer 类方法则通常计算全局关节或全局时间帧之间的相关性。这类结构能够增强整体时空关系建模能力,但其建模范围覆盖整只手的所有关节,容易将与当前手势判别无关的关节信息一并引入。对于细粒度手势而言,关键差异可能只发生在少数手指或局部指关节上,过强的全局建模可能稀释局部关键特征。同时,全局图拓扑更新或全局注意力计算通常涉及关节间两两关系建模,计算量和参数开销较高,不利于移动端、嵌入式设备或实时交互系统中的轻量化部署。

6、(3)部分高精度方案依赖多流输入和多分支融合,虽然提升了识别性能,但也增加了系统复杂度。这类方法通常需要构造关节流、骨骼流、运动流、相对位置流等多种输入分支,并分别通过独立网络提取特征后再进行融合。该结构虽然能够利用不同特征之间的互补信息,但需要额外的数据预处理和多个网络分支,增加了模型结构复杂度、参数量、显存占用和推理时间。从结构上看,多流方法通常依赖多个独立特征提取模块,并在特征层或分类层进行融合,这会提高训练和部署成本;同时,不同分支之间可能存在贡献不均衡的问题,部分分支可能引入冗余甚至干扰信息。因此,现有多流方法虽然在精度上具有一定优势,但不适合资源受限的轻量级实时手势识别场景,仍需要一种在单流骨架输入条件下即可增强手指局部动态表达能力的方法。

7、基于此,本发明提出了一种基于局部-全局双重时序建模的骨架动态手势识别方法,在单流骨架输入条件下,构建局部手指时序建模支路和全局动作语义建模支路,分别增强局部短时手指动作特征和完整手势序列语义特征,并通过局部时序对比损失、全局时序对比损失和分类损失进行联合优化。

技术实现思路

1、本发明的目的在于提供一种基于局部-全局双重时序建模的骨架动态手势识别方法,以解决上述背景技术中提出的现有方法对局部手指动作利用不足、全局图卷积和全局注意力易引入冗余信息、多流输入和多分支融合结构复杂等问题。

2、为实现上述目的,本发明采用以下技术方案实现:

3、本发明提出了基于局部-全局双重时序建模的骨架动态手势识别方法,包括如下步骤:

4、s1、建立数据集;获取手部骨架序列数据,且对手部骨架序列数据预处理构建数据集;

5、s2、构建基于局部-全局双重时序对比学习的骨架动态手势识别模型;所述骨架动态手势识别模型包括关节特征映射模块、局部手指时序建模支路、全局手势时序建模支路和融合支路;

6、所述关节特征映射模块,对手部骨架序列坐标进行关节特征映射;

7、所述局部手指时序建模支路,基于手部关节点划分得到局部手指区域集合,对于局部手指区域集合提取每个手指区域在连续时间帧中的局部特征序列,建模单根手指在相邻帧间的短时动态变化,得到局部增强特征;

8、所述全局手势时序建模支路,基于关节特征映射后的手部骨架序列提取整体骨架的全局帧级特征序列,建模整体骨架不同时间帧间的全局语义变化,得到全局增强特征;

9、所述融合支路将局部增强特征和全局增强特征融合;

10、s3、模型训练;设计损坏函数,骨架动态手势识别模型在训练阶段采用分类损失、局部时序对比损失和全局时序对比损失联合优化;

11、s4、模型推理;基于训练后骨架动态手势识别模型输出手势类别。

12、优选地,所述s2中局部手指时序建模支路,具体如下:

13、手指区域集合表示为,第个手指区域的特征表示为,其中表示第个手指区域包含的关节点数量;对于每一个手指特征,提取连续时间帧中的局部特征序列:

14、首先对局部手指特征进行查询、键和值投影得到查询向量、键向量和值向量,计算局部手指时序注意力分数;将局部手指时序注意力分数经过softmax归一化得到局部注意力权重;将局部注意力权重作用于值向量进行加权聚合得到局部增强表示,最后将通过融合函数与原始局部手指特征拼接得到第个手指区域的局部增强时序特征;

15、对各手指区域分别完成局部时序增强后,将得到的 m 个局部增强时序特征按照其对应的原始关节点位置进行组合,形成局部增强特征。

16、优选地,所述s2中全局手势时序建模支路,具体如下:

17、对于整体手部骨架序列,将每一帧中的全部关节点特征进行拼接或聚合,得到全局帧级特征序列,第帧的全局手势特征表示为;

18、首先对全局帧级特征序列进行查询、键和值投影,得到查询向量、键向量和值向量,计算全局时序注意力分数;将全局时序注意力分数经过softmax归一化后得到全局时间注意力矩阵;将全局时间注意力矩阵作用于值向量进行加权聚合得到全局增强特征。

19、优选地,所述s2中融合支路包括双尺度手势时序特征融合模块、层次化时序特征聚合模块及分类输出模块;

20、所述双尺度手势时序特征融合模块,将局部增强特征与全局增强特征通过门控残差机制进行融合,得到融合后的手势时序特征;

21、所述层次化时序特征聚合模块,将融合后的手势时序特征依次进行关节级聚合、手指级聚合、时间级聚合和融合级聚合,得到最终手势特征;

22、所述分类输出模块,基于最终手势特征,通过全连接层和softmax分类器输出手势类别概率,选择概率最大的类别作为识别结果。

23、优选地,所述s3中损失函数,具体为:

24、

25、其中,表示交叉熵分类损失,表示局部时序对比损失,表示全局时序对比损失;和分别表示局部时序对比损失和全局时序对比损失的权重系数;

26、所述局部时序对比损失用于增强局部短时手指动作在不同增强视图下的一致性,并提高不同局部动作片段之间的区分度;

27、所述全局时序对比损失用于拉近同类手势序列的全局特征距离,并拉远不同类别手势序列的特征距离。

28、进一步地,所述局部时序对比损失表示为:

29、

30、其中,表示特征相似度,表示局部对比温度系数;、分别表示基于第一增强视图和第二增强视图所得到的局部特征,表示第二增强视图中的第

k个候选局部时序特征。

31、进一步地,所述全局时序对比损失表示为:

32、

33、其中,表示与样本属于同一类别的正样本集合,表示全局对比温度系数,表示当前第个手势样本的全局对比特征,表示与样本属于同一类别的正样本对应的全局对比特征,表示与样本属于不同类别的负样本对应的全局对比特征。

34、优选地,所述s4中模型推理,具体如下:

35、所述局部手指时序建模分支包括手指局部划分模块和局部手指时序对比建模模块;

36、所述全局手势时序建模分支包括全局手势时序对比建模模块;

37、所述关节特征映射模块,由线性映射层或多层感知机组成,基于手部骨架序列将三维关节坐标映射到高维特征空间,输出关节嵌入特征;

38、所述手指局部划分模块,输入端连接关节特征映射模块,将全部关节点划分为五个手指分支,输出五个手指的局部手指区域集合;

39、所述局部手指时序对比建模模块,针对每个手指区域分别建立局部时序建模分支,每个局部时序建模分支以单根手指在当前帧及相邻帧中的关节特征为输入,输出局部增强时序特征;再将局部增强时序特征聚合为局部增强特征;

40、所述全局手势时序对比建模模块,输入端连接关节特征映射模块,通过关节特征映射接收完整骨架高维特征,建模整体骨架不同时间帧间的全局语义变化,输出全局增强特征;

41、所述双尺度手势时序特征融合模块,输入端分别连接局部手指时序对比建模模块和全局手势时序对比建模模块,输出融合后的手势时序特征;

42、所述层次化时序特征聚合模块,输入端连接双尺度手势时序特征融合模块,输出最终手势特征;

43、所述分类输出模块,输入端连接层次化时序特征聚合模块,输出手势类别概率。

44、与现有技术相比,本发明的有益效果是:

45、(1)本发明中方法创新设计局部手指时序对比建模模块(local tcl)。针对现有方法对局部手指动作利用不足的问题,本发明以单根手指内部关节点序列为建模对象,显式提取相邻帧之间的指尖位移、指节弯曲和局部协同变化,从而增强模型对细粒度手势关键动作的感知能力。

46、(2)本发明中方法创新设计全局手势时序对比建模模块(global tcl)。针对全局图卷积和全局注意力易引入冗余信息的问题,本发明通过局部时序对比强化关键短时动作片段,通过全局时序对比保持完整动作语义一致性,在减少无关关节干扰的同时提升时序特征判别能力。

47、(3)本发明中方法针对多流输入和多分支融合结构复杂的问题,本发明仅采用单流骨架序列作为输入,在训练阶段引入局部和全局对比约束,推理阶段无需额外分支。该方法在训练阶段增强骨架序列的时序判别表征能力,在推理阶段无需额外多流输入或复杂分支结构,从而降低模型复杂度并提升实时识别适用性。