一种手势识别方法及识别系统与流程

专利2022-05-09  89


本发明涉及手势识别技术领域,特别是涉及一种手势识别方法及识别系统。



背景技术:

随着人工智能的高速发展,神经形态计算逐渐成为一大研究热点,引起了国内外研究学者们的广泛关注。近年来,研究人员通过模拟生物视网膜对光信号的动态脉冲响应机制,开发出一系列的神经形态视觉传感器,也称为硅眼、事件相机等。不同于输出图像帧的传统相机,该传感器只响应场景中的动态变化,将外界视觉信息编码为异步的时空脉冲事件流,具有低功耗、低延时、高动态范围以及高时间分辨率等优点,有助于实现动态场景下手势的快速高效识别。

然而,大多数针对图像帧的手势识别方法无法直接处理这类事件流数据,需要建立一套新的神经形态视觉信息处理理论和方法,实现感知动态环境的生物视觉能力。现有面向神经形态视觉传感器的手势识别方法通常需要大量的手势样本进行训练。当样本数量不足时,模型经常遭受过拟合的问题,难以在未来的感知中识别出这些手势的变化。目前少有工作致力于解决小样本限制下的神经形态手势识别问题。基于此,亟需一种能够在小样本限制下对手势进行识别的方法。



技术实现要素:

本发明的目的是提供一种手势识别方法及识别系统,能够在手势样本较少的约束下,对手势进行识别,有效缓解样本依赖并提高手势识别的适用范围。

为实现上述目的,本发明提供了如下方案:

一种手势识别方法,所述方法包括:

获取若干个待识别手势分别对应的时空事件流;

利用时间坍缩机制调整所述时空事件流的时间分辨率,得到识别用事件流;所述识别用事件流包括多个时间步分别对应的事件特征图;

根据每一所述识别用事件流所属的手势类别集合,建立支撑集;所述支撑集包括所述手势类别集合内每一手势类别对应的多个手势和每一所述手势对应的类别标签;

利用所述支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,得到识别用模型;

以所述待识别手势对应的所述识别用事件流作为输入,利用所述识别用模型确定每一所述待识别手势对应的手势类别。

一种手势识别系统,所述系统包括:

采集模块,用于获取若干个待识别手势分别对应的时空事件流;

调整模块,用于利用时间坍缩机制调整所述时空事件流的时间分辨率,得到识别用事件流;所述识别用事件流包括多个时间步分别对应的事件特征图;

建立模块,用于根据每一所述识别用事件流所属的手势类别集合,建立支撑集;所述支撑集包括所述手势类别集合内每一手势类别对应的多个手势和每一所述手势对应的类别标签;

获取模块,用于利用所述支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,得到识别用模型;

确定模块,用于以所述待识别手势对应的所述识别用事件流作为输入,利用所述识别用模型确定每一所述待识别手势对应的手势类别。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明所提供的一种手势识别方法及识别系统,先获取若干个待识别手势分别对应的时空事件流,并利用时间坍缩机制调整时空事件流的时间分辨率,得到识别用事件流。再利用支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,得到识别用模型。最后以待识别手势对应的识别用事件流作为输入,利用识别用模型确定每一待识别手势对应的手势类别。本发明所提供的手势识别方法及识别系统,通过采用支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,能够在手势样本较少的约束下,快速捕捉并学习新手势的动态变化特征,有效缓解样本依赖并提高手势识别的适用范围,实现小样本约束下的手势识别。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例1所提供的识别方法的方法流程图。

图2为本发明实施例1所提供的调整时空事件流所用调整方法的流程图。

图3为本发明实施例1所提供的调整时空事件流所用调整方法的原理图。

图4为本发明实施例1所提供的进行预训练的方法流程图。

图5为本发明实施例1所提供的脉冲卷积神经网络的结构示意图。

图6为本发明实施例1所提供的代理梯度在线学习算法的原理图。

图7为本发明实施例1所提供的自适应门控网络的门控计算示意图。

图8为本发明实施例1所提供的得到识别用模型所用方法的方法流程图。

图9为本发明实施例2所提供的识别系统的系统框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种手势识别方法及识别系统,能够在手势样本较少的约束下,对手势进行识别,有效缓解样本依赖并提高手势识别的适用范围。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例1:

本实施例用于提供一种手势识别方法,如图1所示,所述方法包括:

s1:获取若干个待识别手势分别对应的时空事件流;

具体的,s1可以包括:利用动态视觉传感器(dynamicvisionsensor,dvs)分别对若干个待识别手势进行拍摄,得到若干个待识别手势分别对应的时空事件流。或者,利用传统相机获取若干个待识别手势的手势图像,通过脉冲编码方法将手势图像转换为待识别手势对应的时空事件流。

时空事件流具有高动态范围和高时间分辨率的优点,其可以表示为:{s′[t0],t0∈[1,t0]},时空事件流还可以用h×w×t0的二值事件矩阵表示,h和w分别表示dvs的感受范围,t0表示待识别手势的记录时间。二值事件矩阵中值为1的点代表了待识别手势在空间与时间上的动态变化所产生的事件流。

s2:利用时间坍缩机制调整所述时空事件流的时间分辨率,得到识别用事件流;所述识别用事件流包括多个时间步分别对应的事件特征图;

由于时空事件流的细粒度时间分辨率(μs)与预训练后脉冲卷积神经网络作用的时间尺度(ms)存在差异,不能直接作为预训练后脉冲卷积神经网络的输入。为了能够利用预训练后脉冲卷积神经网络对待识别手势进行识别,需要先对待识别手势对应的时空事件流的时间分辨率进行调整。本实施例采用时间坍缩机制来调整时空事件流的时间分辨率,如图2所示,s2可以包括:

s21:根据预训练后脉冲卷积神经网络的时间尺度,确定调整后时间分辨率;

s22:根据所述调整后时间分辨率,将所述时空事件流分为多个连续的片段;

将原始的时空事件流对应的二值事件矩阵以调整后时间分辨率分成多个连续的片段,每个片段可以表示为:h×w×α。

s23:对每一所述片段沿时间维度进行坍缩,形成每一时间步对应的事件特征图;

将每个片段(h×w×α)沿着时间维度坍缩成具有相同时间戳的矩阵(h×w×1),如图3(a)所示,如果在片段相同位置上存在多个不同时间戳的事件,则只保留一个。

坍缩过程可用下述公式进行表述:

式1中,s′[t0]为时空事件流的片段;t0为原始时间坐标;α为时间分辨率系数;s[t]为时间坍缩处理后得到的第t时间步的事件特征图,其大小为h×w×1。

式2中,

s24:按照时间顺序,将所有所述事件特征图进行拼接,得到识别用事件流。

如图3(b)所示,根据时间步之间的时间顺序,将所有事件特征图进行顺序拼接,即可得到识别用事件流,所得到的识别用事件流可以输入至预训练后脉冲卷积神经网络,进而能够使用预训练后脉冲卷积神经网络对待识别手势进行手势识别。

本实施例利用时间坍缩机制对待识别手势的时空事件流进行预处理,待识别手势在空间与时间上的动态变化产生的时空事件流具有时空属性,时间坍缩机制将时空事件流沿着时间维度进行压缩,调整时空事件流的时间分辨率,以适配预训练后脉冲卷积神经网络的输入,得到识别用事件流,该识别用事件流可根据时间步划分成多个事件特征图。

s3:根据每一所述识别用事件流所属的手势类别集合,建立支撑集;所述支撑集包括所述手势类别集合内每一手势类别对应的多个手势和每一所述手势对应的类别标签;

在对待识别手势进行识别之前,先根据待识别手势对应的识别用事件流可能属于的所有手势类别,确定所有待识别手势对应的手势类别集合,以建立支撑集。需要说明的是,支撑集中的手势是预先存储的手势,每一个手势都有自己的类别标签,即手势的真实类别。

s4:利用所述支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,得到识别用模型;

为了使脉冲卷积神经网络具有小样本手势学习能力,在s4之前,本实施例的方法还包括进行预训练,如图4所示,预训练的方法可以包括:

s31:获取数据集;

数据集可以是公开神经形态视觉数据集gesture-dvs。该数据集在自然光、荧光灯和led灯等三种照明条件下,用动态视觉传感器(dvs)记录了29人的11类手势动作(拍手、右手挥、左手挥、右臂顺时针、右臂逆时针、左臂顺时针、左臂逆时针、转手、打鼓、弹吉他、其他手势),共122个手势样本。当然,根据实际情况也可以使用其他数据集,或者直接采用dvs录制训练手势,得到数据集。或者,利用传统相机拍摄训练手势的手势图像,再通过脉冲编码方法转换成每个训练手势对应的时空事件流,得到数据集。但无论采用何种方式获取数据集,数据集中均包括多个类别,每一类别均包括多个训练手势,每个训练手势都有自身的真实类别标签,且每个训练手势都是具有高动态范围和高时间分辨率的时空事件流,在数据集中按照真实类别标签将多个训练手势分类存放。

在获取数据集后,同样需要利用s2所述的方法对数据集中的每个训练手势进行处理,即利用时间坍缩机制对数据集中每一训练手势对应的时空事件流进行处理,得到每一训练手势对应的识别用事件流,且每一识别用事件流可以按照时间步划分成多个事件特征图。

s32:根据所述数据集,利用n-way-k-shot方法建立训练支撑集和训练查询集;

根据n-way-k-shot小样本学习设置,将数据集划分为元训练集与元测试集。具体的,不同于传统手势识别将每类手势的样本按照比例直接划分为训练集和测试集,n-way-k-shot小样本学习设置首先根据手势类别将数据集划分为元训练集和元测试集。具体对于gesture-dvs数据集的11类手势动作,6类手势动作对应的训练手势作为元训练集,5类手势动作对应的训练手势作为元测试集,即先根据手势类别将数据集划分为具有6类手势动作的元训练集和5类手势动作的元测试集。然后,在元训练集中,需要构造由训练支撑集和训练查询集组成的任务片段(episode),其中训练支撑集是从元训练集中随机选择n个类别,并从每个选定类别中随机选取k个训练手势,选定类别中的剩余训练手势组成训练查询集,进而根据数据集,利用n-way-k-shot方法建立训练支撑集和训练查询集。元测试集采用与元训练集相同的方式构造由测试支撑集和测试查询集组成的任务片段(episode)。

s33:以所述训练支撑集作为输入,利用初始自适应门控网络对脉冲卷积神经网络进行预训练,得到预训练后脉冲卷积神经网络;

s33可以包括:

1)将训练支撑集中所有带有真实类别标签的训练手势输入到脉冲卷积神经网络,脉冲卷积神经网络依次处理训练手势每个时间步的事件特征图,利用代理梯度在线学习算法得到每个时间步脉冲卷积神经网络的网络参数对于训练手势的损失和梯度信息。

1.1)脉冲卷积神经网络前馈计算。将训练支撑集中所有训练手势在第t时间步的事件特征图输入到脉冲卷积神经网络中。脉冲卷积神经网络包括顺序连接的多个卷积块、扁平层和全连接层,每一卷积块均包括相连接的脉冲卷积层和脉冲平均池化层。其中,脉冲卷积层和脉冲平均池化层均采用泄露-整合发放神经元模型,全连接层采用具有无限阈值的整合神经元模型。

具体的,以脉冲卷积神经网络包括3个卷积块为例,如图5所示,其给出了脉冲卷积神经网络的模型结构图,脉冲卷积神经网络一共包含8层,具体说明如下。

第一层:脉冲卷积层。以batch(批处理)的形式输入训练支撑集内的所有训练手势在第t时间步的事件特征图(二值脉冲),尺寸为batch×32×32×1(batch为训练支撑集中所有训练手势的数量n×k,32×32相当于是h×w)。脉冲卷积层采用32个尺寸为3×3的卷积滤波器,使用全0补充。使用泄露-整合发放(leakyintegrateandfire,lif)神经元模型进行输出响应(之后的脉冲卷积层都采用该模型)。这一层在每个时间步输出尺寸为batch×32×32×32的二值脉冲矩阵。

第二层:脉冲平均池化层,这一层的输入为第一层的输出,是一个batch×32×32×32的二值脉冲矩阵。本层采用的滤波器大小为2×2,步长为2,不使用全0补充,在保留空间拓扑信息的同时,降低了卷积层的维度。使用lif神经元模型对输入脉冲进行响应(之后的脉冲平均池化层都采用该模型),所以本层的输出大小为batch×16×16×32的二值脉冲矩阵。

第三层:脉冲卷积层,本层输入的二值脉冲矩阵大小为batch×16×16×32,采用32个尺寸为3×3的卷积滤波器,使用全0补充。这一层输出大小为batch×16×16×32的二值脉冲矩阵。

第四层:脉冲平均池化层,本层输入的二值脉冲矩阵大小为batch×16×16×32,采用的滤波器大小为2×2,步长为2,不使用全0补充。这一层输出的尺寸为batch×8×8×32的二值脉冲矩阵。

第五层:脉冲卷积层,本层输入的二值脉冲矩阵大小为batch×8×8×32,采用32个尺寸为3×3的卷积滤波器,使用全0补充。这一层输出大小为batch×8×8×32的二值脉冲矩阵。

第六层:脉冲平均池化层,本层输入的二值脉冲矩阵大小为batch×8×8×32,采用的滤波器大小为2×2,步长为2,不使用全0补充。这一层输出的尺寸为batch×4×4×32的二值脉冲矩阵。

第七层:扁平层(flatten),用于将多维的矩阵输入变成一维向量,以输入到之后的全连接层。本层输入的二值脉冲矩阵大小为batch×4×4×32,将其拉直成一个长度为batch×512的向量。本层的输出神经元个数为512。

第八层:全连接层,本层的输入神经元个数为512个,输出的神经元个数为n个(n表示类别数量)。输出神经元采用具有无限阈值的整合神经元if模型,用膜电位代表输出神经元在整个时间床上的响应强度。

本实施例的脉冲卷积层和脉冲平均池化层使用泄露-整合发放神经元模型。与传统神经元的实数值输出不同,lif神经元模型输出离散的二值脉冲序列。在第t时间步上,lif神经元将其输入脉冲与权重核卷积,计算其输入电流,并将其整合到归一化膜电位ul[t]中。如果ul[t]>bl,则神经元发放脉冲,其ul[t]设置为0。否则,ul[t]将被视为下一时间步中的残余,并且在第t时间步中按比例衰减,具体计算公式如下:

ul[t]=λl(1-sl[t-1])ul[t-1] wlsl-1[t];(3)

式3中,ul[t]为第l层神经元向量在第t时间步的归一化膜电位;λl为第l层神经元向量的膜电位的衰减系数;sl[t-1]为第l层神经元向量在第t-1时间步的脉冲向量;ul[t-1]为第l层神经元向量在第t-1时间步的归一化膜电位;wl为第l层神经元向量与第l-1层神经元向量之间连接的权重矩阵;sl-1[t]为第l-1层神经元向量在第t时间步的脉冲向量。

式4中,vl[t]为第l层神经元向量在第t时间步的标准化膜电位;bl为第l层神经元向量的发放阈值。

式5中,sl[t]为第l层神经元向量在第t时间步的脉冲向量。当vl[t]>0时,神经元发出脉冲。

本实施例的全连接层采用具有无限阈值的整合神经元模型,膜电位加权累加突触前脉冲,而没有泄露和发放。其动力学可以表示为:

ul[t]=ul[t-1] wlsl-1[t];(6)

式6中,ul[t]为全连接层l中n个神经元在第t时间步的积膜电位向量;ul[t-1]为全连接层l中n个神经元在第t-1时间步的积膜电位向量;wl为连接输出层和扁平层的权重矩阵,sl-1[t]为扁平层在第t时间步输出的脉冲向量。

采用softmax函数对全连接层的神经元输出强度分布进行规范化:

式7中,

训练手势的真实类别标签和输出分布之间的交叉熵损失定义为:

式8中,e[t]是第t时间步上的损失函数,y是训练手势的真实类别标签的one-hot向量,p[t]是通过softmax函数p[·]归一化的输出向量。

1.2)代理梯度在线学习算法。如图6所示,利用代理梯度在线学习算法(surrogategradientonlinelearning,sgol)在第t时间步上计算输出神经元响应与真实类别标签分布的误差,截断梯度在时间上的传递,只保留神经元在空间上的反向传播,可以实时计算脉冲卷积神经网络的网络参数对于训练手势的误差和梯度信息,以反映脉冲卷积神经网络对于训练手势动态的内在响应,促使脉冲卷积神经网络快速捕捉训练手势的时空动态特征。

全连接层的权重矩阵wl的导数计算为:

根据链式法则,误差从全连接层反向传播到输入层所需的表达式以及突触权重矩阵wl梯度更新的导数值为:

式10中,ul 1[t]为第l 1层神经元向量在第t时间步的归一化膜电位;wl 1为第l 1层神经元向量与第l层神经元向量之间连接的权重矩阵。

式11中,bl 1为第l 1层神经元向量的发放阈值。

由于是不可微的,故本实施例引入分段线性函数g(u)作为替代梯度:

式13中,γ为确定梯度幅度的常数,本实施例将其设置为0.3。

除突触参数外,本实施例的算法还支持神经元参数的梯度学习,膜阈值更新规则为:

膜衰减更新规则为

为方便表示,本实施例使用符号分别表示在第t时间步计算的脉冲卷积神经网络所有网络参数的梯度和损失e[t]。

2)将第t时间步的损失和梯度信息同步输入到初始自适应门控网络,该初始自适应门控网络模拟和优化脉冲卷积神经网络的可学习参数的实时动态更新过程,并在第t时间步后将更新后的可学习参数传递给脉冲卷积神经网络,得到第t 1时间步所用的脉冲卷积神经网络。

具体的,如图7所示,初始自适应门控网络共享脉冲卷积神经网络的可学习参数,在第t时间步接收由1.2)计算得到的梯度和损失信息去更新脉冲卷积神经网络的可学习参数,然后将更新后的可学习参数传递回脉冲卷积神经网络,得到第t 1时间步所用的脉冲卷积神经网络,其用于对训练支撑集内的所有训练手势在第t 1时间步的事件特征图进行计算。同时,更新后的可学习参数也作为隐藏状态用于初始自适应门控网络在第t 1时间步的计算。自适应门控网络采用了一种自适应门控机制,可以动态并行调节脉冲卷积神经网络所有可学习参数(神经元和突触)的学习率以及权重衰减,进而优化脉冲卷积神经网络的可学习参数的更新过程,使其快速适应手势样本有限的约束。

这种自适应门控机制公式定义为:

式16中,θt 1为第t 1时间步的脉冲卷积神经网络的可学习参数所组成的向量,其可以表示为:⊙代表逐点乘法运算;θt为第t时间步的脉冲卷积神经网络的可学习参数所组成的向量;ηt 1为第t 1时间步的可学习参数的学习率。

式17中,αt 1为第t 1时间步可学习参数的权重衰减;门控机制表示为预处理梯度预处理损失相应的历史信息(αt)和θt的s型函数σ;[]表示向量的连接;wf和bf分别为初始自适应门控网络用于调节门控单元的权重和偏置。

式18中,门控机制表示为预处理梯度预处理损失相应的历史信息(ηt)和θt的s型函数σ;wi和bi分别为初始自适应门控网络用于调节门控单元的权重和偏置。

式19中,f(x)是归一化预处理函数;p>0,其是确定输入是减少还是扩大的边界参数;此归一化函数可缩放梯度和损失,同时还可拆分其幅度和符号;

每个可学习参数的更新取决于其自身的权重衰减αt 1和学习率ηt 1,初始自适应门控网络通过对脉冲卷积神经网络的可学习参数的权重衰减和学习率进行更新,以对脉冲卷积神经网络的可学习参数进行动态更新,能够有效缓解样本依赖并提高手势识别的适用范围。

基于此,可得到第t 1时间步的脉冲卷积神经网络,返回步骤1.1,对第t 1时间步的训练手势的事件特征图进行处理,不断进行迭代,直至已对最后一个时间步的训练手势的事件特征图进行处理后,迭代结束,得到预训练后脉冲卷积神经网络。

s34:以所述训练查询集作为输入,利用所述预训练后脉冲卷积神经网络计算所述训练查询集中的每一训练手势对应的预测类别;

s34与1.1)的方法一致,softmax函数对最后一层的神经元膜电位输出强度进行规范化后得到对应的手势类型的概率,找到一个概率最大的手势类型作为预测类别,得到每一训练手势对应的预测类别。

s35:根据所有所述训练手势对应的预测类别和真实类别,利用时间反向传播算法对所述初始自适应门控网络进行训练,得到训练后自适应门控网络;

s36:以所述预训练后脉冲卷积神经网络作为下一循环中的脉冲卷积神经网络,以所述训练后自适应门控网络作为下一循环中的初始自适应门控网络,返回“根据所述数据集,利用n-way-k-shot方法建立训练支撑集和训练查询集”的步骤,直至迭代次数达到第一预设次数,得到预训练后脉冲卷积神经网络和训练后自适应门控网络。

基于上述预处理过程,每个任务片段的训练支撑集都将包含少量的标记样本,可以模拟手势样本不足的约束环境,进而用来训练脉冲卷积神经网络的小样本手势学习能力,进而能够使预训练后脉冲卷积神经网络具有小样本手势学习能力,能够在手势样本较少的约束下,快速学习到新手势。本实施例通过上述预处理过程,通过时间反向传播(bptt)学习算法训练自适应门控网络,得到一套手势识别任务通用的参数初始以及迭代方法,使得脉冲卷积神经网络可以在少量标记样本的约束下,完成快速迭代与泛化。

为了对预训练后脉冲卷积神经网络和训练后自适应门控网络的性能进行测试,本实施例利用s32中获取的元测试集来进行测试。元测试集包括测试支撑集和测试查询集,以测试支撑集作为输入,利用训练后自适应门控网络对预训练后脉冲卷积神经网络进行更新,得到更新后的脉冲卷积神经网络。这一更新过程与s33的过程一致。然后,以测试查询集作为输入,利用更新后的脉冲卷积神经网络对测试查询集中的测试手势进行手势识别,得到每一测试手势的手势预测结果,根据这一手势预测结果与测试手势的真实类别标签来对性能进行具体检测。元测试集中的每个任务片段的测试支撑集都将包含少量的标记样本,可以模拟手势样本不足的约束环境,进而用来检测脉冲卷积神经网络的小样本手势学习能力。

具体的,如图8所示,s4可以包括:

s41:在所述支撑集中随机选取若干个手势类别,并随机选取每一所述手势类别对应的若干个手势;

s42:将所有所述手势在第一时间步对应的事件特征图作为输入数据;

s43:利用预训练后脉冲卷积神经网络对所述输入数据进行处理,得到损失和梯度;

利用预训练后脉冲卷积神经网络对输入数据进行处理,利用代理梯度在线学习算法计算预训练后脉冲卷积神经网络的网络参数对输入数据的损失和梯度。这一处理过程与1)中的方法相同,在此不再赘述。

s44:以所述损失和所述梯度作为输入,利用训练后自适应门控网络对所述预训练后脉冲卷积神经网络的可学习参数进行更新,得到更新后的脉冲卷积神经网络;

以损失和梯度作为输入,利用训练后自适应门控网络计算预训练后脉冲卷积神经网络的可学习参数的学习率和权重衰减,对可学习参数的更新过程进行优化,计算可学习参数的更新值,得到更新后的脉冲卷积神经网络。这一处理过程与2)中的方法相同,在此不再赘述。

s45:以下一时间步对应的事件特征图作为下一循环中的输入数据,并以所述更新后的脉冲卷积神经网络作为下一循环中的预训练后脉冲卷积神经网络,返回“利用预训练后脉冲卷积神经网络对所述输入数据进行处理,得到损失和梯度”的步骤,直至最后一个时间步对应的事件特征图已被输入至所述预训练后脉冲卷积神经网络后,一次迭代结束;返回“在所述支撑集中随机选取若干个手势类别,并随机选取每一所述手势类别对应的若干个手势”的步骤,直至迭代次数达到第二预设次数后,迭代结束,得到识别用模型。

s5:以所述待识别手势对应的所述识别用事件流作为输入,利用所述识别用模型确定每一所述待识别手势对应的手势类别。

本实施例所提供的手势识别方法。具有以下优点:

(1)高适应度,高稀疏鲁棒性:本实施例提出的代理梯度在线学习算法充分利用了每个时间步输入的脉冲信息计算即时梯度,驱动脉冲卷积神经网络高效捕获数据的稀疏特征,可以应对不同稀疏程度的事件流数据。对于事件流数据,通过调整时间分辨率控制事件流的稀疏性,从稀疏到密集设置了5种稀疏级别:6ms,10ms,15ms,20ms,25ms。如表1所示,其为神经形态事件流小样本分类精度。算法对于稀疏的脉冲模式具有较强的鲁棒性,能够适应一定程度的稀疏输入,并且保持相对可靠的性能。算法在事件流相对稀疏时(时间分辨率为6ms-15ms)的性能更加优异。

表1

(2)高精度、高效性、快速收敛性:本实施例提出的框架利用自适应门控网络,协调了不同时间尺度上的神经元和突触动态变化,支持神经元和突触参数的联合学习,充分优化了脉冲卷积神经网络的多尺度神经动力学,在小样本的条件下,可以快速捕获并学习样本特征,具有较高的识别精度。本实施例与现有的几种基于传统人工神经网络(ann)的识别方法在公开的静态图像与神经形态数据集上性能比较结果如下表:

表2为静态图像数据集omniglot小样本分类精度:

表2

其中,对比例1:santoroa,bartunovs,botvinickm,etal.meta-learningwithmemory-augmentedneuralnetworks[c]//internationalconferenceonmachinelearning.pmlr,2016:1842-1850.

对比例2:kochg,zemelr,salakhutdinovr.siameseneuralnetworksforone-shotimagerecognition[c]//icmldeeplearningworkshop.2015,2.

对比例3:vinyalso,blundellc,lillicrapt,etal.matchingnetworksforoneshotlearning[c]//proceedingsofthe30thinternationalconferenceonneuralinformationprocessingsystems.2016:3637-3645.

对比例4:finnc,abbeelp,levines.model-agnosticmeta-learningforfastadaptationofdeepnetworks[c]//internationalconferenceonmachinelearning.pmlr,2017:1126-1135.

表3为神经形态数据集gesture-dvs小样本分类精度。

表3

对比例4:finnc,abbeelp,levines.model-agnosticmeta-learningforfastadaptationofdeepnetworks[c]//internationalconferenceonmachinelearning.pmlr,2017:1126-1135.

对比例5:stewartk,orchardg,shresthasb,etal.on-chipfew-shotlearningwithsurrogategradientdescentonaneuromorphicprocessor[c]//20202ndieeeinternationalconferenceonartificialintelligencecircuitsandsystems(aicas).ieee,2020:223-227.

(3)低功耗、低延迟、仿脑性:本实施例借鉴大脑中信息表达与处理机制,充分考虑脉冲神经网络的多时间尺度动力学,并在不同尺度上优化神经元和突触参数变化,赋予网络从极少的样例中快速学习与泛化的能力。相比于同结构的卷积神经网络cnn,本实施例提出的框架更适用于低功耗,低延迟且生物可信的脉冲卷积神经网络scnn,优化后的时空动力学具有一定的记忆能力,能够用捕获输入的时间依赖关系,从而具有较高的小样本识别精度

表4为不同结构的小样本分类精度比较。

表4

针对现有手势识别技术样本需求量大、适用性差等问题,本实施例提出一种面向动态视觉传感器的小样本手势识别方法,该方法包括:利用时间坍缩机制调整时间分辨率,使得可以通过建立的脉冲卷积神经网络实时动态处理时空事件流。利用代理梯度在线学习得到脉冲卷积神经网络对于局部手势事件特征的损失和梯度信息,同时,自适应门控网络利用这些信息动态调节脉冲卷积神经网络所有学习参数,优化脉冲卷积神经网络的参数更新过程。可以在手势样本较少(1-5个)的约束下,快速捕捉并学习新手势的动态变化特征,有效缓解样本依赖并提高手势识别的效率与适用范围。

实施例2:

本实施例用于提供一种手势识别系统,如图9所示,所述系统包括:

采集模块m1,用于获取若干个待识别手势分别对应的时空事件流;

调整模块m2,用于利用时间坍缩机制调整所述时空事件流的时间分辨率,得到识别用事件流;所述识别用事件流包括多个时间步分别对应的事件特征图;

建立模块m3,用于根据每一所述识别用事件流所属的手势类别集合,建立支撑集;所述支撑集包括所述手势类别集合内每一手势类别对应的多个手势和每一所述手势对应的类别标签;

获取模块m4,用于利用所述支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,得到识别用模型;

确定模块m5,用于以所述待识别手势对应的所述识别用事件流作为输入,利用所述识别用模型确定每一所述待识别手势对应的手势类别。

本实施例所提供的识别系统,可以在手势样本较少(1-5个)的约束下,快速学习到新手势,脉冲卷积神经网络实时在线学习动态视觉传感器的手势事件流特征,提高手势识别精度与效率;自适应门控网络模拟和优化脉冲卷积神经网络参数的动态更新过程,有效缓解样本依赖并提高手势识别的适用范围。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。


技术特征:

1.一种手势识别方法,其特征在于,所述方法包括:

获取若干个待识别手势分别对应的时空事件流;

利用时间坍缩机制调整所述时空事件流的时间分辨率,得到识别用事件流;所述识别用事件流包括多个时间步分别对应的事件特征图;

根据每一所述识别用事件流所属的手势类别集合,建立支撑集;所述支撑集包括所述手势类别集合内每一手势类别对应的多个手势和每一所述手势对应的类别标签;

利用所述支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,得到识别用模型;

以所述待识别手势对应的所述识别用事件流作为输入,利用所述识别用模型确定每一所述待识别手势对应的手势类别。

2.根据权利要求1所述的方法,其特征在于,所述获取若干个待识别手势分别对应的时空事件流具体包括:

利用动态视觉传感器分别对若干个待识别手势进行拍摄,得到若干个所述待识别手势分别对应的时空事件流;

或者,获取若干个待识别手势的手势图像,通过脉冲编码方法将所述手势图像转换为所述待识别手势对应的时空事件流。

3.根据权利要求1所述的方法,其特征在于,所述利用时间坍缩机制调整所述时空事件流的时间分辨率,得到识别用事件流具体包括:

根据预训练后脉冲卷积神经网络的时间尺度,确定调整后时间分辨率;

根据所述调整后时间分辨率,将所述时空事件流分为多个连续的片段;

对每一所述片段沿时间维度进行坍缩,形成每一时间步对应的事件特征图;

按照时间顺序,将所有所述事件特征图进行拼接,得到识别用事件流。

4.根据权利要求1所述的方法,其特征在于,在利用所述支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,得到识别用模型之前,所述方法还包括进行预训练,具体包括:

获取数据集;

根据所述数据集,利用n-way-k-shot方法建立训练支撑集和训练查询集;

以所述训练支撑集作为输入,利用初始自适应门控网络对脉冲卷积神经网络进行预训练,得到预训练后脉冲卷积神经网络;

以所述训练查询集作为输入,利用所述预训练后脉冲卷积神经网络计算所述训练查询集中的每一训练手势对应的预测类别;

根据所有所述训练手势对应的预测类别和真实类别,利用时间反向传播算法对所述初始自适应门控网络进行训练,得到训练后自适应门控网络;

以所述预训练后脉冲卷积神经网络作为下一循环中的脉冲卷积神经网络,以所述训练后自适应门控网络作为下一循环中的初始自适应门控网络,返回“根据所述数据集,利用n-way-k-shot方法建立训练支撑集和训练查询集”的步骤,直至迭代次数达到第一预设次数,得到预训练后脉冲卷积神经网络和训练后自适应门控网络。

5.根据权利要求4所述的方法,其特征在于,所述脉冲卷积神经网络包括顺序连接的多个卷积块、扁平层和全连接层;每一所述卷积块均包括相连接的脉冲卷积层和脉冲平均池化层。

6.根据权利要求5所述的方法,其特征在于,所述脉冲卷积层和所述脉冲平均池化层均采用泄露-整合发放神经元模型;所述全连接层采用具有无限阈值的整合神经元模型。

7.根据权利要求1所述的方法,其特征在于,所述利用所述支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,得到识别用模型具体包括:

在所述支撑集中随机选取若干个手势类别,并随机选取每一所述手势类别对应的若干个手势;

将所有所述手势在第一时间步对应的事件特征图作为输入数据;

利用预训练后脉冲卷积神经网络对所述输入数据进行处理,得到损失和梯度;

以所述损失和所述梯度作为输入,利用训练后自适应门控网络对所述预训练后脉冲卷积神经网络的可学习参数进行更新,得到更新后的脉冲卷积神经网络;

以下一时间步对应的事件特征图作为下一循环中的输入数据,并以所述更新后的脉冲卷积神经网络作为下一循环中的预训练后脉冲卷积神经网络,返回“利用预训练后脉冲卷积神经网络对所述输入数据进行处理,得到损失和梯度”的步骤,直至最后一个时间步对应的事件特征图已被输入至所述预训练后脉冲卷积神经网络后,一次迭代结束;返回“在所述支撑集中随机选取若干个手势类别,并随机选取每一所述手势类别对应的若干个手势”的步骤,直至迭代次数达到第二预设次数后,迭代结束,得到识别用模型。

8.根据权利要求7所述的方法,其特征在于,所述利用预训练后脉冲卷积神经网络对所述输入数据进行处理,得到损失和梯度具体包括:

利用预训练后脉冲卷积神经网络对所述输入数据进行处理,利用代理梯度在线学习算法计算所述预训练后脉冲卷积神经网络的网络参数对所述输入数据的损失和梯度。

9.根据权利要求7所述的方法,其特征在于,所述以所述损失和所述梯度作为输入,利用训练后自适应门控网络对所述预训练后脉冲卷积神经网络的可学习参数进行更新,得到更新后的脉冲卷积神经网络具体包括:

以所述损失和所述梯度作为输入,利用训练后自适应门控网络计算所述预训练后脉冲卷积神经网络的可学习参数的学习率和权重衰减,对所述可学习参数的更新过程进行优化,计算所述可学习参数的更新值,得到更新后的脉冲卷积神经网络。

10.一种手势识别系统,其特征在于,所述系统包括:

采集模块,用于获取若干个待识别手势分别对应的时空事件流;

调整模块,用于利用时间坍缩机制调整所述时空事件流的时间分辨率,得到识别用事件流;所述识别用事件流包括多个时间步分别对应的事件特征图;

建立模块,用于根据每一所述识别用事件流所属的手势类别集合,建立支撑集;所述支撑集包括所述手势类别集合内每一手势类别对应的多个手势和每一所述手势对应的类别标签;

获取模块,用于利用所述支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,得到识别用模型;

确定模块,用于以所述待识别手势对应的所述识别用事件流作为输入,利用所述识别用模型确定每一所述待识别手势对应的手势类别。

技术总结
本发明涉及一种手势识别方法及识别系统,先获取若干个待识别手势分别对应的时空事件流,并利用时间坍缩机制调整时空事件流的时间分辨率,得到识别用事件流。再利用支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,得到识别用模型。最后以待识别手势对应的识别用事件流作为输入,利用识别用模型确定每一待识别手势对应的手势类别。本发明所提供的手势识别方法及识别系统,通过采用支撑集和训练后自适应门控网络对预训练后脉冲卷积神经网络进行训练,能够在手势样本较少的约束下,快速捕捉并学习新手势的动态变化特征,有效缓解样本依赖并提高手势识别的适用范围,实现小样本约束下的手势识别。

技术研发人员:唐华锦;姜润皓;董峻妃;燕锐;潘纲
受保护的技术使用者:浙江大学;之江实验室
技术研发日:2021.05.06
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-7535.html

最新回复(0)