一种小样本条件下的三维人体行为识别方法

文档序号:31798381发布日期:2022-10-14 18:08阅读:406来源:国知局
一种小样本条件下的三维人体行为识别方法

1.本发明属于数字图像处理和机器学习的交叉技术领域,更具体地,涉及一种小样本条件下的三维人体行为识别方法。


背景技术:

2.基于深度视频信息的三维人体行为识别是计算视觉与模式识别研究领域中的前沿课题,具有重要的科学理论意义以及在视频监控、人机交互与智能医疗等领域的应用价值。随着深度相机的普及,三维数据的获取难度逐渐降低,随着大型数据集的提出和深度学习技术的引入,三维人体行为识别的性能也获得了极大提升。
3.然而,现有主流基于“大数据+深度学习”的理论范式在实际应用中面临着当训练样本数量不足时,深度学习网络的识别与泛化性能往往难以得到有效保证的局限。然而在很多现实应用中(如跌倒/坠床检测以及危险行为检测)有效训练样本往往获取难度较大,导致其数量和多样性严重不足人类非常擅长通过少量样本识别一类新行为,而现有行为识别模型还不具备此能力。
4.一方面当数据集的数量过少时,深度学习无法有效的提取出类别间的共性特征,而更倾向于模拟训练集中的某些独特性质,这也限制了测试集中网络未见过样本的分类准确率,导致了过拟合问题的产生。
5.目前小样本三维人体行为识别的研究仍然处于起步阶段,现有的方法主要通过图卷积网络gcn对人体三维骨架序列信息进行特征提取。通过测度学习或特征选择等理论手段增强所提取特征的判别能力,最终在测度空间上通过欧式距离等度量方式来分辨测试集样本所属的类别。然而现有的使用测度学习的方式在新类中出现近似动作时算法无法很好的区分。


技术实现要素:

6.针对现有技术的以上缺陷或改进需求,本发明提供了一种小样本条件下的三维人体行为识别方法,其目的在于提高小样本条件下的三维人体行为识别存在的过拟合,以及无法很好区分相似动作的问题。
7.为实现上述目的,本发明提供了一种小样本条件下的三维人体行为识别方法,包括:
8.s1.从行为视频中提取多个包含局部时序特征的小尺度短片段三维动态体素;
9.s2.将三维动态体素作为训练集,对人体行为特征提取网络进行训练;其中,所述人体行为特征提取网络包括:pointnet++特征提取网络、transformer编码器和多层感知机分类器;pointnet++特征提取网络,用于将多个短片段三维动态体素分别编码成特征向量;transformer编码器,用于计算可学习的类别特征与各个特征向量之间的相似度,根据相似度对各个短片段进行加权求和,得到进一步编码后的行为特征;多层感知机分类器,用于根据进一步编码后的行为特征输出行为分类结果;
10.s3.利用训练好的特征提取网络提取基类和新类中所有样本的特征向量,并且计算基类中每个类别的统计分布信息;并利用基类特征向量的统计分布信息与新类样本数据在特征空间中的余弦相似度指导新类与基类进行特征分布校准;
11.s4.使用多维高斯采样,以校准后的均值和协方差矩阵为参数对每个新类进行采样,利用采样出的特征向量训练分类网络,得到小样本分类器;
12.s5.使用训练的特征提取网络提取测试样本的特征向量,将特征向量输入小样本分类器,输出该测试样本属于的新类类别。
13.进一步地,步骤s1具体包括:
14.通过设定的体素尺寸对行为视频逐帧进行体素化;其中,所述体素尺寸20mm*20mm*20mm以下;
15.对体素化后的行为视频密集采样到固定长度,使用固定的窗口大小和步长将密集采样后的视频进行分段,对每一个视频片段分别提取三维动态体素,得到多个包含局部时序特征的短片段三维动态体素。
16.进一步地,体素尺寸设定为15mm*15mm*15mm。
17.进一步地,步骤s3具体包括:
18.计算基类中的每个类别所有训练样本特征向量的均值和协方差矩阵:
[0019][0020]
计算新类支撑集样本的特征与所有基类特征中心余弦相似度;
[0021]
从大到小排列后舍去相似度低于设定值的不相似部分,在剩余的高相似度部分中选择相似度最高的类加入基类标准分布集合sn中;
[0022]
对于相似度从高到低,相邻类别的相似度之比大于设置的峰旁比阈值,则将相邻的类别也加入到基类标准分布集合;
[0023]
将相似度高于sn中最低相似度的k-means子类聚类中心加入子类标准分布集合sm中,并且保证sn中的类别子类中心不在sm中出现;
[0024]
使用基类标准分布集合sn和子类标准分布集合sm校准新类分布的均值同时估计新类分布的协方差矩阵,校准后新类的分布中心和协方差矩阵为:
[0025][0026]
进一步地,在计算新类支撑集样本的特征与所有基类特征中心余弦相似度之前,所述方法还包括:
[0027]
使用k-means聚类方法将每个基类聚类成k个子类,并且计算所有子类的特征中心μ
ik

[0028]
进一步地,s5中小样本分类器使用多层感知机mlp或线性分类器svm。
[0029]
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果。
[0030]
本发明利用短片段小体素3dv提取有效的保留了更多行为细粒度信息;同时引入视觉transformer,利用其全局感受野和注意力机制进行时序特征融合,使网络能关注到最
具区分度的人体行为片段,减少无效行为片段干扰,进一步提升了原始三维动态体素算法的特征提取能力,提高了网络对于相似动作的区分能力。
[0031]
本发明在小样本分类模型上使用了生成式模型的设计,通过引入分布校准算法,建立基类数据分布与新类数据分布间的联系,将基类数据分布规律迁移至新类数据,通过高斯采样在特征空间对新类支撑集数据进行增强,提升小样本分类网络的鲁棒性和性能。
[0032]
本发明利用了余弦距离、k-means中心和自适应的阈值挖掘等手段缓解了分布校准的参数敏感问题,并且有效的提升了分布校准算法在小样本三维人体行为识别领域的性能。
附图说明
[0033]
图1是本发明提供的小样本条件下的三维人体行为识别方法流程图;
[0034]
图2是“安静”和“打哈欠”行为的全局和局部动态体素;
[0035]
图3是基于transformer的时序特征提取网络结构图;
[0036]
图4是新类与基类中心分布校准方法的示意图;
[0037]
图5是分布校准后,新类采样出的分布与真实分布对比图。
具体实施方式
[0038]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0039]
相比起传统三维人体行为识别,小样本限定的加入带来的难点主要体现在:当只用少量训练数据训练模型时,模型往往会通过最小化这些样本的训练损失来过度拟合这几个样本。这种基于少数示例的有偏分布可能会损害模型的泛化能力,因为它远不能反映评估期间测试用例抽样的基本事实分布。因此如何降低训练样本的有偏分布,提升训练的稳定性是本发明需要解决的问题。
[0040]
对于相似动作的区分,如动作“搓手”和“鼓掌”之间,形态上两个动作的区别局限在手部的小区域中,人体大部分的姿态都是固定一致的,此外考虑整体动作流程,两者均是将手从体侧抬起,直到汇聚于胸前,相似的动作流程也会给动作的分类进一步提升难度。鉴于数据库的以上特点,人体行为的类间差异较小,很多行为在形态上极为相似,在某些部位的运动模式接近,会导致分类时部分类别出现明显的类间重叠现象,降低特征的区分度,进而影响小样本的分类能力。但是现有的主流特征描述方法普遍对于细粒度行为的描述能力不强,因此,如何增强其对细粒度行为的特征编码能力是本发明需要研究的问题。
[0041]
基于上述问题,本发明采用两阶段的训练模式,首先基于三维动态体素算法利用完整的基类数据训练出可靠的特征提取器,之后利用该特征提取器将所有的新类样本投影到特征空间中,在对支撑集样本进行“分布校准”生成新的用于小样本分类的特征向量后,训练一个简单的多层感知机用于特征空间中的分类和识别。
[0042]
参考图1,本发明提供的小样本条件下的三维人体行为识别方法,包括以下步骤:
[0043]
s1.从行为视频中提取多个包含局部时序特征的小尺度短片段三维动态体素;
[0044]
具体地,步骤s1包括:通过设定的体素尺寸对行为视频逐帧进行体素化;其中,本发明设定的体素尺寸20mm*20mm*20mm以下;对体素化后的行为视频密集采样到固定长度,使用固定的窗口大小和步长将密集采样后的视频进行分段,对每一个视频片段分别提取三维动态体素,得到多个包含局部时序特征的小尺度短片段三维动态体素;
[0045]
三维动态体素(3dv)算法主要由三维人体行为体素化表达和人体行为特征提取网络两部分组成。其中在人体行为体素化表达阶段,3dv通过时间序列池化算法,将整个深度视频中蕴含的时间和空间信息压缩成一个单一的体素集表示。之后在特征提取部分,使用pointnet++基于点云的特征提取方法来对人体的运动信息进一步编码。
[0046]
研究3dv方法中的分类失败情况,发现当不同动作的整体三维动态体素之间只有少量区别时,3dv算法难以将这样的不同动作正确分类。比如动作“搓手”和“鼓掌”之间,整体动作流程相似,仅仅在动作后期在手部的运动模式上有所区别,再比如“安静”这类行为,动作主体仅为一根手指,动作幅度也局限在嘴边的小空间中,但由于3dv提取的是整个动作的全局动态编码,无法凸显小片段时间上动作的区别,提升了分类相似动作的难度。
[0047]
究其原因,发现在原始的点云空间中,可以准确观察到行为的细节,然而在生成三维动态体素的过程中,体素化的操作会导致空间中的部分细节被抹除。原始3dv中使用的体素尺寸是35mm
×
35mm
×
35mm,这也导致当细节结构的尺寸小于35mm时网络无法进一步对细节进行建模,分辨细节上的区别。针对如上不足,本发明使用更小的体素尺寸有利于网络捕捉更加细节的信息,优选地,使用了15mm
×
15mm
×
15mm的体素尺寸,有利于对手部等细节部位精细建模。
[0048]
除了空间上的精细建模外,更精细的时间片段对细粒度动作的分类也十分重要。原始3dv的建模过程更多关注了运动从开始到结束的长期过程,然而动作过程中的短期片段可以提供更多的细节信息,有利于网络去分辨细粒度动作间的区别。比如说如图2所示的“安静”和“打哈欠”两个动作,如果重点关注动作从开始到结束的整个过程的话,两个动作均是从站立姿态开始,动作主体将手从体侧移动到嘴边,并且在嘴边停留,在整个动作序列的时间尺度下,动作主体手势是竖起食指噤声还是手掌张开是难以分辨的(图2中左半部分);但如果仅仅关注手停留在嘴部后的短时动作片段,手部动作细节能够提供具有更高辨识性的精细运动信息(图2中右半部分)。因此,本发明利用动作过程中的短期片段提供更多的细节信息,有利于网络去分辨细粒度动作间的区别。
[0049]
s2.将三维动态体素作为训练集,对人体行为特征提取网络进行训练;
[0050]
本发明构建的人体行为特征提取网络通过在原始3dv网络结构的基础上引入时序的自注意力机制,让网络能够学习出哪些行为片段在特征提取中起到了更加重要的作用,是应该更加关注动作整体还是起始或终止片段,进而提取出对行为分类最有利的动作片段,同时降低不同行为类别间相似动作过程片段低区分度的动态体素对分类准确度的影响。利用transformer结构对不同时间片段的特征进行更深层次的建模。整体网络结构如图3所示,网络结构设计上,使用一个共享参数的pointnet++骨架网络对多段短时间动态体素的特征进行提取,每个短时间动态体素片段的特征向量均可以视作包含着其对应的时间片段的主要运动信息。在得到由所有特征向量组成的特征图后,首先在特征图上拼接一组类别分类特征,用于融合所有时间片段的特征编码,表达出对于整体分类最有效的部分,之后加上一组可学习的位置编码,以强调当前片段在整体视频中的位置,最后将完成了位置编
码和分类特征拼接的特征图输入到多层transformer自注意力编码器中。
[0051]
特征提取网络训练时,只能使用基类样本数据进行训练,使用交叉熵损失函数,采用adam优化器来进行优化,学习率设置为0.001,每训练5个epoch时学习率下降为原来的四分之一,最终网络训练20个epoch收敛。
[0052]
s3.利用训练好的特征提取网络提取基类和新类中所有样本的特征向量,并且计算基类中每个类别的统计分布信息;并利用基类特征向量的统计分布信息与新类样本数据在特征空间中的余弦相似度指导新类与基类进行特征分布校准;
[0053]
本发明所研究的小样本三维人体行为问题与ntu rgb+d 120(ntu120)数据集同时提出,该数据集其包括了120个不同的动作类别,来自106位不同的演员从155个不同的深度相机视角捕捉的共计114480个视频样本,是当前最大的用于三维人体行为识别问题的数据集
[0054]
本发明研究的小样本三维人体行为识别任务将整体120类动作分为不相交的两部分,一部分称为“基类”由100类动作构成,可以使用其中的所有动作样本用于训练稳定的特征提取网络;另一部分称为“新类”,由其余的20类动作构成,每一类仅提供一个样本用于训练小样本行为识别分类网络,已知的这一个样本称为“支撑集”,新类中剩余的所有样本则组成“测试集”,用于测试小样本分类器的分类准确度。
[0055]
如前所述,小样本限定的加入带来的难点主要体现在:当只用少量训练数据训练模型时,模型往往会通过最小化这些样本的训练损失来过度拟合这几个样本。
[0056]
为了解决该问题,本发明采用图4所示“分布校准”的方法对新类提供的一个样本进行数据增强,生成大量与之近似的样本使得训练可以稳定进行。其假定每一类样本的特征向量分布符合多维高斯分布,并且满足相似的类别通常具有高相似度的分布均值和方差,这样虽然无法仅仅利用一个样本获得新类分布的真实均值和方差,但是可以将已知基类的相关信息迁移到新类中,来矫正单一样本可能导致的有偏分布。
[0057]
具体来说基类特征获取具体方法如下:训练集中的每个样本经过步骤s2的特征提取网络后,网络的输出为一个c维的特征向量,该特征向量在“线性层-bn-relu-线性层”的分类头的bn层输出处取得,通常选定为256维,计算训练集中的每个类别所有训练样本特征向量的均值和协方差矩阵:
[0058][0059]
式中μi表示第i个基类的特征均值,σi表示第i个基类的协方差矩阵,ni表示第i个基类中样本的数量,xj表示第i个基类中j号样本的特征向量。
[0060]
为了避免基类中心与新类之间相似度不够时,低相似度的中心反而会降低新类分布校准后的分布准确度,本发明对每个基类类别内部展开聚类操作,使用k-means聚类方法将每个基类聚类成k个子类,并且计算所有子类的特征中心μ
ik

[0061]
具体来说新类分布校准的具体方法如下:
[0062]
计算新类支撑集样本的特征与所有基类特征中心余弦相似度;
[0063]
从大到小排列后舍去相似度低于设定值(如0.5)的不相似部分,在剩余的高相似度部分中选择相似度最高的类加入基类标准分布集合sn中;
[0064]
若相似度从高到低,相邻类别的相似度之比大于设置的峰旁比阈值,则将相邻的类别也加入到基类标准分布集合;
[0065]
将相似度高于sn中最低相似度的k-means子类聚类中心加入子类标准分布集合sm中,并且保证sn中的类别子类中心不会在sm中出现。
[0066]
接下来使用基类标准分布集合sn和子类标准分布集合sm来校准新类分布,校准后新类的分布中心和协方差矩阵为:
[0067][0068]
式中μ

表示校准后新类的特征分布均值,σ

表示校准后的新类协方差矩阵,μi表示用于新类均值校准的基类特征均值,μj表示用于新类均值校准的k-means子类特征均值,x表示新类支撑集样本特征向量,|sn|和|sm|分别表示两个集合中的元素数量,σi表示用于新类协方差矩阵校准的基类协方差矩阵。
[0069]
α,ω为超参数,用于对校准后的新类分布进一步微调;
[0070]
s4.小样本分类器训练:在对小样本支撑集样本的分布进行校准后,使用多维高斯采样,以校准后的均值和协方差矩阵为参数,对每个新类进行采样,利用采样出的特征向量训练分类网络;
[0071]
分类网络使用含有两个线性层的多层感知机(mlp)网络,损失函数设置为交叉熵损失,adam优化器,学习率设置为0.001,训练5个epoch收敛;小样本分类器也可以采用其他的线性分类器如svm等。
[0072]
s5.新类中的测试集样本测试时,首先使用一阶段中训练的特征提取网络提取测试样本的特征向量,将特征向量输入二阶段训练的小样本分类器,输出该测试样本属于的新类类别。
[0073]
在本具体实施方式中,对经过校准后使用多维高斯采样得到的新类分布与新类测试集的真实分布的tsne可视化如图5所示,两者分布基本相同,证明了本发明方法的有效性。
[0074]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1