手势识别方法和电子设备

文档序号:1736919 发布日期:2019-12-20 浏览:20次 >En<

阅读说明:本技术 手势识别方法和电子设备 (Gesture recognition method and electronic equipment ) 是由 蔡志博 冯勇强 于 2019-05-30 设计创作,主要内容包括:本发明涉及手势识别技术,尤其涉及一种手势识别方法和电子设备。手势识别方法包括以下步骤:获取来自触控板的各预设分区的检测数据,检测数据对应于用户手势并且具有多个帧,其中的每一帧检测数据对应于某一时刻触控板的各个预设分区分别检测到的数据;基于检测数据获取特征数据,并将特征数据输入至手势识别模型中,匹配出最优的预设手势;以及,执行与最优的预设手势相对应的操作。本发明实施例提供的手势识别方案,可用于识别用户的多种触碰操作。(The present invention relates to gesture recognition technologies, and in particular, to a gesture recognition method and an electronic device. The gesture recognition method comprises the following steps: acquiring detection data from each preset partition of the touch pad, wherein the detection data corresponds to a user gesture and has a plurality of frames, and each frame of detection data corresponds to data respectively detected by each preset partition of the touch pad at a certain moment; acquiring feature data based on the detection data, inputting the feature data into a gesture recognition model, and matching an optimal preset gesture; and executing the operation corresponding to the optimal preset gesture. The gesture recognition scheme provided by the embodiment of the invention can be used for recognizing various touch operations of a user.)

手势识别方法和电子设备

技术领域

本发明涉及手势识别技术,尤其涉及一种手势识别方法和电子设备。

背景技术

市面上现有的具有触控板的电子设备,通常可以识别用户的简单手势,例如识别用户进行了单点式触碰操作或滑动触碰操作等;但是无法识别更复杂的手势,也无法区分相似度较高的手势,因此有必要提出一种新的手势识别方法,以更好地识别用户的多种触碰操作。

发明内容

本发明的目的在于提供一种手势识别方案,以更好地识别用户的多种触碰操作。

根据本发明的第一方面,提供了一种手势识别方法,包括以下步骤:

获取来自触控板的各预设分区的检测数据,所述检测数据对应于用户手势并且具有多个帧,其中的每一帧检测数据对应于某一时刻所述触控板的各个预设分区分别检测到的数据;

基于所述检测数据获取特征数据,并将所述特征数据输入至手势识别模型中,匹配出最优的预设手势;以及,

执行与所述最优的预设手势相对应的操作。

可选地,在将所述特征数据输入至手势识别模型之前,还包括截取特征数据的步骤:

所述截取特征数据包括:保留触摸事件期间、触摸事件开始前P帧、以及触摸事件结束后Q帧的特征数据;其中,P和Q为正整数。

可选地,基于所述检测数据获取特征数据,包括下列处理方式的任一或组合:中值滤波处理、归零去底噪处理、最大值归一化处理、动态范围控制处理。

可选地,所述方法还包括识别结果校验步骤:

所述识别结果校验步骤,包括:确定所述特征数据是否被误识别为所述最优的预设手势。

可选地,所述预设手势包括:单击任一个中心分区、双击任一个中心分区、三击任一个中心分区、单击任一个***分区、沿***分区顺时针滑动、沿***分区的逆时针滑动、同时触碰多个分区单次、同时触碰多个分区双次、同时触碰多个分区三次、全分区触碰、沿一***分区-中间分区-另一***分区滑动、长按任一个中间分区、长按任一个***分区、同时长时间触碰多个分区。

可选地,所述手势识别模型使用神经网络模型实现。

可选地,使用随机梯度下降算法进行迭代训练获得所述手势识别模型。

可选地,所述神经网络模型为循环神经网络模型。

可选地,所述神经网络模型为长短期记忆网络模型。

可选地,所述手势识别模型使用隐马尔可夫-高斯混合模型(HMM-GMM)实现。

可选地,所述匹配最优的预设手势,包括:

依照高斯混合模型参数计算每一帧特征数据对应于各隐马尔可夫(HMM)状态的概率,得到每一帧特征数据的HMM状态;

将每一帧特征数据对应的HMM状态输入到有限状态转换机(FST)解码网络,根据FST解码网络按照维特比算法搜索寻找最优的HMM状态序列路径以确定最优的预设手势。

可选地,所述手势识别模型,是使用样本特征数据训练获得,包括以下步骤:

将每帧样本特征数据输入到隐马尔可夫-高斯混合模型训练工具中;

根据正确手势标注以及最小识别单元的状态构建FST解码网络;

将正确手势标注跟每一帧特征进行对齐,得到对齐后的HMM状态序列;基于已有的正确手势识别标注作为监督,更新模型参数。

可选地,对于任一预设手势,将该预设手势的完整样本特征数据作为最小独立训练单元进行训练;其中,所述预设手势的完整样本特征数据包括各预设分区的样本特征数据;或者,

对于任一预设手势,将每个预设分区的样本特征数据分别作为最小独立训练单元进行训练。

可选地,所述手势识别模型使用隐马尔可夫-深度神经网络(HMM-DNN)模型实现。

可选地,所述匹配最优的预设手势,包括:

依照深度神经网络模型参数计算每一帧特征数据对应于各HMM状态的概率,得到每一帧特征数据的HMM状态;

将每一帧特征数据对应的HMM状态输入到FST解码网络,根据FST解码网络按照维特比算法搜索寻找最优的HMM状态序列路径以确定最优的预设手势。

可选地,所述手势识别模型,是使用样本特征数据训练获得,包括以下步骤:

将每帧样本特征数据输入到隐马尔可夫-深度神经网络模型训练工具中;

根据正确手势标注以及最小识别单元的状态构建FST解码网络;

将正确手势标注跟每一帧特征进行对齐,得到对齐后的HMM状态序列;基于已有的正确手势识别标注作为监督,更新模型参数。

可选地,对于任一预设手势,将该预设手势的完整样本特征数据作为最小独立训练单元进行训练;其中,所述预设手势的完整样本特征数据包括各预设分区的样本特征数据;或者,

对于任一预设手势,将每个预设分区的样本特征数据分别作为最小独立训练单元进行训练。

可选地,所述手势识别模型使用动态时间规整方法建模实现。

可选地,将所述特征数据输入至手势识别模型中,匹配出最优的预设手势,包括:

为每一个所述预设手势指定至少一帧样本特征数据作为所述预设手势的模板数据,所述模板数据用于形成所述手势识别模型;

利用动态时间规整方法计算所述特征数据与所述手势识别模型中每个所述模板数据的差异程度;

根据所述差异程度匹配出所述最优的预设手势。

可选地,相邻两帧所述检测数据之间的采样时间间隔为20-40ms。

可选地,还包括:

获取用户的自定义手势的特征数据;

将所述自定义手势的特征数据发送给服务器;

接收所述服务器下发的所述手势识别模型的更新模型,所述更新模型是由所述服务器利用所述自定义手势的特征数据重新训练获得;

使用所述更新模型替代原有的所述手势识别模型。

根据本发明的第二方面,提供了一种电子设备,具有触控板、存储器和处理器,所述存储器用于存储计算机指令,其特征在于,所述计算机指令在被所述处理器执行时实现根据本发明第一方面任一项所述的方法。

可选地,所述电子设备为音箱。

本发明实施例提供的手势识别方案,可用于识别用户的多种触碰操作。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的手势识别模型的识别过程的流程示意图;

图2示出了本发明实施例提供的触控板的分区示意图;

图3示出了本发明实施例提供的DRC曲线示意图;

图4示出了本发明实施例提供的电子设备的框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

<手势识别方法>

本发明实施例提供的手势识别方法,其使用的手势识别模型可以使用神经网络模型算法实现,或者使用隐马尔可夫-高斯混合模型(HMM-GMM)算法实现。

对于使用隐马尔可夫-高斯混合模型算法实现的手势识别模型,是通过以下学习训练步骤100-300获得。

100、获取触控板的各预设分区的原始的检测数据(以下也称为原始数据)。

以具有电容触摸屏的音箱为例,参见图2所示,圆形触摸屏被划分为15个分区(分区0~分区14),包括位于圆形触摸屏中心位置的3个中心分区(分区12~14)和位于中心分区***的12个***分区(分区0~11)。圆形触摸屏可以将分区以能够区分的方式显示出来,以方便用户的触摸操作。或者,圆形触摸屏只将0、2、4、6、8、10六个分区显示出来。

所述预设手势包括:单击任一个中心分区、双击任一个中心分区、三击任一个中心分区、单击任一个***分区、沿***分区顺时针滑动、沿***分区的逆时针滑动、同时触碰多个分区单次、同时触碰多个分区双次、同时触碰多个分区三次、全分区触碰、沿一***分区-中间分区-另一***分区滑动、长按任一个中间分区、长按任一个***分区、同时长时间触碰多个分区。在另一个实施例中,对于“沿一***分区-中间分区-另一***分区滑动”的触摸操作,还可以分类成多种预设手势,例如定义触摸操作滑动的方向为横向、纵向、或者斜向时对应于不同的预设手势,甚至可以根据斜向的角度进一步细分定义多种预设手势。

所属领域技术人员容易了解,对于电容触摸屏来说,当用户触摸电容触摸屏时,会引起相应电容的容值发生变化,该变化的电容值会被转换为与其成正比的数值,此处称为原始数据。

当然,在其它实施例中,触控板还可以是电阻式触摸屏,获取电阻式触摸屏的各分区的原始数据。

关于采样率的设置,采样率越高得到的信息越多,有利于模型的训练,但同时会增加解码的负担,影响解码的实时性。本实施例中采用的采样率对应的相邻两帧检测数据的采样时间间隔(即采样周期)是20-50毫秒(ms),优选地,可以是20ms,即采样率为50Hz。经过实践验证,这一采样率能够同时满足对解码速度和采样精度的要求,获得比较满意的效果。

需要说明的是,本实施例中的采样率是始终固定的,以免造成训练时和识别时的采样率不匹配,出现不可预料的结果。

200、对原始的检测数据进行预处理得到特征数据。

触控板的各个预设分区的一次采样的原始数据组成一帧数据,即帧长为一个采样周期,同一采样时刻的15个分区的检测数据组成一行15列的矩阵作为一帧原始数据。例如,当手指触摸中间分区时,其中相邻两帧的原始数据为:{14639,13692,13692,13995,14093,14566,13908,14111,14154,14764,13950,14252,14317,12927,13904},{14641,13692,13693,13996,14094,14566,13907,14115,14153,14765,13973,14295,14465,12964,13916}。

经过预处理后得到的特征数据为:{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,33.1,147.9,38.5,0}。

具体预处理包括以下部分:对原始数据进行中值滤波处理、信号估计、归零去底噪处理、限幅处理、归一化处理、DRC(Dynamic Range Control,动态范围控制)处理中的一项或多项。

对原始数据进行中值滤波处理,是对同一分区的前后连续几次原始数据进行平滑处理,以去除数据毛刺,降低噪声干扰。

针对所获取的触摸屏各分区电容对应的原始数值,计算其与基准电容(即无触摸时的电容)的原始数值之间的差值,在本发明实施例中,每个分区均有一个差值,即信号幅值,该幅值体现了因触摸引起的对应分区电容变化的大小。可以使用电容板厂商提供的基准电容原始数值的跟踪算法,也可以根据实际需求设定具体的基准电容原始数值的跟踪算法,来确定该信号幅值。

对估计出的小幅值信号进行归零去底噪处理,即把小于阈值下限(例如30)的信号数据赋值为零。

对估计出的大幅值数据进行限幅处理,即把大于阈值上限(例如600)的信号数据赋值为该阈值上限。

也可以对信号乘以一个缩放系数,使数值大多数处于0至1之间,即归一化处理。

对信号进行DRC处理,参见图3所示为本发明实施例使用的DRC曲线,横坐标为原始信号值,纵坐标为经过DRC处理后输出的信号值。参见图3所示,当原始信号幅值很小时,例如小于30时,可以认为是噪声,属于无用信号,不改变增益;当原始信号幅值较小时,例如在30-150之间时,对原始信号进行放大;当原始信号幅值较大时,例如原始信号幅值在200~600之间时,对原始信号幅值进行缩小;通过DRC非线性的增益处理,使得信号幅值的分布从相对稀疏变换为相对集中。

不同用户的触摸力度和触摸习惯不同,执行同一手势时检测数据可能有很大差异,经由预处理步骤,可以提高识别效果,避免由于训练数据的局限导致模型过拟合,提高模型的泛化能力。触发状态、触摸事件起止时间的判断以及多帧特征数据的截取:

在一个例子中,将特征数据与预先设定的阈值进行比较,即可以判断出对应分区是否被触发。在本发明的一个实施例中,原始数据经过预处理后得到特征数据的数值在0至300之间,如果某个分区的特征数据的数值大于90,则认为该分区被触发,如果有任一分区被触发,则触控板为触发状态;如果所有分区的特征数据的数值均小于90,即所有分区都没有被触发,则触控板处于非触发状态。

在另外的例子中,也可以直接将信号幅值(触摸屏各分区电容对应的原始数值与基准电容的原始数值之间的差值)与预先设定的阈值进行比较,以判断对应分区是否被触发。如果有任一分区被触发,则触控板为触发状态;如果所有分区都没有被触发,则触控板处于非触发状态。

触摸事件起始的标志是:上一个触摸事件结束之后,触控板从非触发状态变为触发状态。触摸事件结束的标志是:当触控板从触发状态变为非触发状态,并且该非触发状态维持达到预设时长,表明触摸事件结束。

从触摸事件起始到终止时间段内,触控板输出多个帧的特征数据。另外,触摸事件开始前P帧和触摸事件结束后Q帧的特征数据也包含一些有用信息。P和Q为预先设定的正整数,可以根据具体的应用场景选取合适的值。在本发明的一实施例中,P和Q分别为6和4。将以上时间区段截取出的多帧连续特征数据,当在模型训练阶段时,则作为特征数据以及其对应的手势标注数据一起作为训练数据;当在实时识别时,则作为模型的输入特征数据。

300、将预处理之后的每帧特征数据,全部输入到隐马尔可夫-高斯混合模型(HMM-GMM)训练工具中进行训练,具体训练过程如301-304所示。训练过程使用的特征数据为样本特征数据,已知这些样本特征数据对应的正确手势标注。

训练过程使用维特比(Viterbi)算法,在训练中用维特比(Viterbi)路径代替对所有状态路径的累积,能够大大减小计算量。在使用维特比(Viterbi)算法的训练中,先根据模型参数对特征数据进行强制对齐,对齐得到每一帧的特征所对应的HMM状态,形成对应于特征序列的状态序列。根据特征序列和其对应的状态序列,就可以通过简单的数学统计来更新HMM参数——转移概率矩阵。

每一个HMM状态对应有一个高斯混合模型概率密度函数(Gaussian mixturemodel probability density distribution function)。知道了特征序列和对齐序列后,找出每一个HMM状态对应的所有观测,也就得到了每一个HMM状态对应的高斯概率密度函数。

在本发明的一个实施例中,将每个分区作为最小识别单元,并且设定最小识别单元的状态数为3。在本发明的另一个实施例中,将预设手势作为最小识别单元,根据手势的复杂程度设定最小识别单元的状态数,手势越复杂,状态数越大;例如,“沿一***分区-中间分区-另一***分区滑动”手势对应的状态数较大,“单击任一个中心分区”手势对应的状态数较小。

需要说明的是,在其它实施例中,也可以通过隐马尔可夫-深度神经网络(DeepNeural Networks,DNN)模型来实现手势识别模型。HMM-GMM模型和HMM-DNN模型都是基于HMM模型来形成状态序列,区别在于HMM-GMM模型是通过GMM模型来计算每帧特征数据在某个状态下被观察到的观察概率,HMM-DNN模型是通过DNN模型来计算每帧特征数据在某个状态下被观察到的观察概率。两种方法的步骤基本相同,下文主要介绍HMM-GMM模型的识别步骤。应当理解,以下步骤301-405同样可以用于解释HMM-DNN模型的识别步骤。

301、初始化隐马尔可夫-高斯混合模型,包括步骤3011-3013。

3011、设置每一个最小识别单元对应的HMM状态的状态数。在本发明的一个实施例中,一共有15个分区,将每个分区作为最小识别单元,设定最小识别单元的状态数为3,即每个最小识别单元对应3个HMM状态。

3012、对于每一个HMM状态,创建只有一个分量的高斯概率密度函数。

3013、根据最小识别单元的状态数创建初始的转移概率矩阵,将初始的转移概率矩阵和与HMM对应的高斯概率密度函数写入到初始训练模型中。

302、根据已有的正确手势标注以及最小识别单元的状态构建FST(Finite StateTransducer,有限状态转换机)解码网络,以供手势识别时使用。训练得到的由一个或多个HMM模型按照上下文、语法等约束条件连接成的网络,进一步在各模型内部展开到状态层,形成了一个各状态之间可以转移或跳转的网络。另外,每个状态均有输出各帧特征数据的观察概率,即形成了一个FST网络。

303、将正确手势标注跟每一帧特征进行第一次对齐,得到对齐后的HMM状态序列。在本发明的一个实施例中,可以采用最简单的均匀对齐。基于已有的正确手势识别标注作为监督,更新模型参数,包括更新转移概率矩阵和每个状态对应的GMM(Gaussian mixturemodel,高斯混合模型)参数。

304、进入训练模型的主循环:在指定的对齐轮数将正确手势标注跟每一帧的特征进行对齐,更新HMM状态序列。每一轮都计算模型参数所用到的统计量,然后更新模型参数,包括更新转移概率矩阵和每个状态对应的GMM参数。

训练出的手势识别模型包含以下信息:最小识别单元的状态数,转移概率矩阵,每个状态对应的GMM参数。其中,GMM参数包括高斯概率密度函数。

参见图1所示,说明本发明实施例提供的利用训练好的手势识别模型进行手势识别的过程:

401、对原始数据做同样的预处理得到特征数据。在判断触摸事件开始后,从触摸事件开始前的P帧开始,将一帧一帧的特征数据进行和训练过程一样的预处理。

402、从触摸事件开始前的P帧开始,将特征数据一帧一帧地逐帧输入到训练好的手势识别模型中。

403、依照GMM参数计算每一帧特征数据在各个HMM状态的观察概率或似然度(state observation likelihood)。

404、将每一帧检测数据对应的HMM状态输入到FST解码网络,根据FST解码网络按照维特比(Viterbi)算法搜索寻找最优的HMM状态序列路径,也就是确定最优的手势。对于观察到的某手势特征数据,要从这个网络中找出能以最大概率产生该特征数据的状态序列,这个序列属于的那个HMM模型对应的手势即为识别的结果。这种从状态空间的网络中寻找最佳序列通常称为解码,寻找最优序列或路径本质就是一个动态规划(dynamicprogramming)问题,有许多搜索的方法,本实例以常用的维特比(Viterbi)算法来描述实现解码过程。

对于手势的第一帧特征数据X1,计算从初始状态S0跳转到当前S1状态(一个或多个)的转移概率P(S1|S0)与这些状态下输出特征数据的观察概率P(X1|S1)的乘积V1。输入第二帧特征数据X2,同样计算上一状态S1跳转到当前S2(一个或多个)状态的转移概率P(S2|S1)与观察概率P(X2|S2)的乘积,再乘以V1得到V2,对于每个当前状态,只保留一个最大累计概率的回溯路径节点,即多个状态S1中的一个。以此类推,直到输入最后一帧数据,计算得到各路径的累计概率Vn,选取累计概率最大一个,通过回溯各个节点得到最佳路径。最佳路径即状态序列归属的HMM模型对应的手势就是识别结果。

上面对根据观察概率寻找最佳序列这一方式的描述也可以用于解释根据似然度寻找最佳序列的方式,两者是类似的。

405、根据确定出的最优的预设手势进行应答。

例如,如果预设“沿***分区顺时针滑动”手势对应的操作是增大音量,则在确定出的最优手势为“沿***分区顺时针滑动”时,增大电子设备的音量。

在一个实施例中,在应答之前,还可以包括识别结果校验步骤。在该步骤中,确定所述特征数据是否被误识别为所述最优的预设手势。具体操作包括:手势识别模型将特征数据输入到该最优预设手势的正确识别/误识别特征数据二值分类器(例如支持向量机SVM分类器)中。确定特征数据是否属于该最优预设手势的误识别特征数据类别,如果特征数据属于该最优预设手势的误识别特征数据类别,则放弃所述应答;如果特征数据属于该最优预设手势的正确识别特征数据类别,则执行步骤405,根据该最优预设手势进行应答。

在一个实施例中,所述预设手势包括无效手势,HMM状态序列路径包括无效手势状态序列路径。也就是说,将各种无效操作为无效手势增加到预设手势中,当确定出的预设手势为“无效手势”,不做任何应答。

上述训练过程可以使用Matlab Python实现,也可直接使用HTK,kaldi等开源工具实现。

在另一个实施例中,也可以将特征数据输入到神经网络训练模型中进行神经网络训练,得到基于神经网络模型算法的手势识别模型。利用基于神经网络模型算法的手势识别模型进行手势识别。本发明实施例的手势识别模型,并不局限于隐马尔可夫-高斯混合模型或者神经网络模型,还可以采用其它适合的模型类别。

神经网络训练模型的训练包括以下步骤:

S1、预处理部分同上文隐马尔可夫-高斯混合模型一致。将预处理后的检测数据作为特征数据输入到神经网络,并对输入的特征数据做帧级别的随机初始化。

S2、对神经网络模型初始化。初始化时,神经网络模型只含有一个隐藏层,初始化每一个神经元到下一层的连接权重和激活阈值。随后在训练中逐渐增加隐藏层,本发明实施例中可以添加2-4层隐藏层,每一层设定128个神经元。

S3、神经网络训练。基于随机梯度下降算法进行迭代训练,训练过程中使用交叉验证的方式,防止过拟合,并用两个特征对齐的目录来进行监督训练,在每个迭代中计算训练与验证数据的目标函数。目标函数体现每层有多少个参数变化,以及有多少训练数据目标函数的变化对每一层的变化有作用。

S4、序列-辨别性训练,使神经网络模型能对整个手势正确分类,使用网格(lattice)框架来代表可能的假设,最大化状态标签的准确性,用随机梯度下降对每个手势进行更新的方式训练。

训练好的手势识别模型包含的信息:神经网络的层数和每一层神经元的个数,神经元之间的连接权重和激活阈值。

训练好手势识别模型以后,将特征数据输入到手势识别模型中,识别出最优预设手势并且进行应答(也就是执行与最优的预设手势对应的操作)。在识别过程中,对特征数据使用和训练过程同样的数据预处理步骤。

具体地,这里的神经网络模型可以是循环神经网络(Recurrent NeuralNetworks,RNN)或者长短期记忆网络(Long Short-Term Memory,LSTM)。这两种神经网络具有记忆性,能够很好地处理序列类的数据。

在其它实施例中,除了利用上文描述的HMM-GMM模型或神经网络模型以外,还可以利用动态时间规整(Dynamic Time Warping,DTW)方法实现手势识别。DTW是一种计算两个时间序列之间差异程度(或相似程度)的方法:给定两个时间序列,一个参考序列作为模板,另一个观察序列用来对比,它们的时长可能相同也可能不同。在一定的约束条件下,DTW可以通过在时间维度上规整对齐两个序列各个样点及计算每对样点距离,从多种规整对齐方式选出最小的累计距离,作为衡量观察序列与参考序列之间的差异大小。在一个例子中,以DTW作为建模方法的实现过程包括训练阶段和识别阶段。

在本实施例中DTW方法的训练阶段,主要是基于每个手势的数据样本生成该手势的模板。这里的特征数据样本可以是步骤300中使用的样本数据,对于每一种预设手势,可以从样本中选取最典型的样本作为模板。其中一种实现方法是在给定手势的样本集合内遍历每个样本与其它所有样本的距离,取距离平均值来表示该样本的典型性,最后选取距离平均值最小的样本作为该手势的模板。

在本实施例中DTW方法的识别阶段,计算特征数据和每个特征模板的差异程度,与特征数据差异程度最小的特征模板对应的手势也就是识别出来的手势。识别过程如下:

给定待识别特征数据X1,2,…,m,其中m表示此特征数据共有m帧,m为正整数,Xi={xi1,xi2…xi15}是第i帧的15个分区特征数据的数值,以及第g个手势的特征模板其中g=1,2,…G,共G个预设手势,ng表示第g个手势模板帧数,是第j帧的15个分区特征数据的数值。计算Xi之间的距离,例如可以使用欧氏距离(Euclideandistance),其中1≤k≤15,w表示规整路径节点坐标,w=(i,j),0≤i≤m,0≤j≤ng。在0≤i≤m,0≤j≤ng,同时(i,j)满足连续性、单调性等条件下找到一条规整路径W={w1,w2…wp}={(1,1),…(i,j),…(m,ng)},其中路径长度为P,使得路径上各节点的距离之和最小,即第g个手势Dg=min∑wdw,此值表示特征数据与第g个模板的差异程度。把特征数据与所有的模板按此方法计算差异程度,r=argming(Dg)手势r,也就是差异程度最小的模板对应的手势即为识别结果。

在一个实施例中,在应答之前,还可以包括识别结果校验步骤。在该步骤中,确定所述特征数据是否被误识别为所述最优的预设手势。具体操作包括:手势识别模型将特征数据输入到该最优预设手势的正确识别/误识别特征数据二值分类器(例如支持向量机SVM分类器)中。确定特征数据是否属于该最优预设手势的误识别特征数据类别,如果特征数据属于该最优预设手势的误识别特征数据类别,则放弃应答;如果特征数据属于该最优预设手势的正确识别特征数据类别,则根据该最优预设手势进行应答。

在一个实施例中,手势识别方案具有自适应学习能力,允许用户在使用过程中加入自定义手势。自适应学习能力可以通过在用户端电子设备中植入学习模块来实现,也可以由服务器根据收集到的数据自动更新模型并下发给用户端电子设备。

在一个例子中,自适应学习过程通过以下步骤实现:

首先,获取用户的自定义手势的特征数据。这里的自定义手势是用户输入的预设手势之外的手势。

其次,用户端电子设备将自定义手势的特征数据上传给服务器。这里的上传可以是定期上传的,也可以是满足一定条件后上传,例如在自定义手势的达到一定数量后上传。

再次,服务器对接收到的自定义手势重新进行标注,并且将标注好的新数据加入到原有训练过程中重新训练模型,得到手势识别模型的更新模型。

最后,服务器将手势识别模型的更新模型下发给用户端电子设备,用户端电子设备接收更新模型,并且使用更新识别模型替代原有的手势识别模型。

本发明实施例提供的手势识别方案,使用经过训练获得的手势识别模型识别用户对于触控板的操作,可用于识别用户的多种手势操作。

本发明实施例提供的手势识别方案,具有识别结果校验功能,提高了手势识别准确率。

本发明实施例提供的手势识别方案,基于不同用户的大数据统计基础训练获得手势识别模型,适用于不同用户的操作习惯,解决了不同用户的操作差异问题。本发明实施例提供的手势识别方案,对于滑动类的预设手势,可以根据大数据统计的结果进行模型的学习训练,适应不同用户的滑动角度范围、滑动速度、手指个数等,以适应不同用户的差别性的操作。

本发明实施例提供的手势识别方案,可定义的预设手势可以是多种多样的,手势的数量可以超出分区的数量,也可以定义两个或多个比较相似的手势,通过数据建模机器学习的方式得到手势识别模型,因此具备自适应学习能力,即使两个预设手势之间比较相似,也可以被手势模型识别区分出来。

本发明实施例提供的手势识别方案,具备自适应学习能力,训练过程中使用的样本数据可以来自于不同电子设备的触控板和不同用户的操作,能够补偿不同硬件的差异以及不同用户的手指条件的差异和操作习惯的差异,解决办法具有普适性。

本发明实施例提供的手势识别方案,可以由服务器负责对手势识别模型算法的更新,后续升级维护优化空间比较大。服务器可以升级手势识别模型算法以加入新的预设手势,将升级后的手势识别模型算法推送给具有触控板的用户端电子设备。

本发明实施例提供的手势识别方案,用户端电子设备可以将采集到的特征数据和识别结果上传到服务器,服务器迭代学习更新手势识别模型算法,将更新后的手势识别模型算法推送给用户,从而优化用户的使用体验。

本发明实施例提供的手势识别方案,可加入自适应训练,提供用户自定义手势进行训练,给予更加个性化的选择。例如:用户在触控板上执行某种自定义手势,注明对应的手势标注,手势识别模型获取该自定义手势的特征数据和对应的手势标注,进行训练学习增加手势。在用户自定义手势的前提下,可根据用户自定义的手势识别出不同用户,实现特定用户身份识别的功能效果。

<电子设备>

基于同一发明构思,参考图4所示,本发明实施例还提供了一种电子设备。电子设备3000具有触控板3050、存储器3020和处理器3010。存储器3020用于存储计算机指令,所述计算机指令在被处理器3010执行时实现前述手势识别方法。所述计算机指令在被处理器3010执行时还可以实现前述手势识别模型的训练学习方法。

该电子设备3000还可以包括接口装置3030、通信装置3040、输入装置3060、扬声器3070、麦克风3080等等。

处理器3010例如可以是中央处理器CPU、微处理器MCU等。存储器3020例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置3030例如包括USB接口、耳机接口等。通信装置3040例如能够进行有线或无线通信。输入装置3060例如可以包括按键、键盘等。用户可以通过扬声器3070和麦克风3080输出/输入语音信息。触控板3050可以采用电容触摸屏或者电阻触摸屏等。

可选地,电子设备为音箱。

电子设备也可以其它具有触控板的设备,例如电子设备可以是耳机。

图4所示的电子设备仅是解释性的,并且决不是为了要限制本发明、其应用或用途。本领域技术人员应当理解,尽管在图4中示出了多个装置,但是,本发明可以仅涉及其中的部分装置。本领域技术人员可以根据本发明所公开方案设计指令,指令如何控制处理器进行操作是本领域公知技术,故在此不再详细描述。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。

另外,对于装置实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可是不是物理上分开的。

另外,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于电动牙刷的交互方法、装置、设备及可读介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类