一种手势识别方法、手势识别装置及电子设备与流程

文档序号:16580115发布日期:2019-01-14 17:53阅读:232来源:国知局
一种手势识别方法、手势识别装置及电子设备与流程

本申请属于人机交互技术领域,尤其涉及一种手势识别方法、手势识别装置、电子设备及计算机可读存储介质。



背景技术:

基于生物特征的身份认证方法和系统的研究一直都是图像识别技术和模式识别领域研究的热点,例如:人脸识别、手势识别、指纹识别、语音识别等等。其中,手势识别在人机交互应用中成为一大热点,涌现出了各种各样的方法。但是现有的手势识别技术在可拓展性及高鲁棒性方面仍有所欠缺。



技术实现要素:

有鉴于此,本申请提供了一种手势识别方法、手势识别装置、电子设备及计算机可读存储介质,可以提高手势识别的鲁棒性及可拓展性。

本申请的第一方面提供了一种手势识别方法,包括:

对包含手势信息的第一图像进行图像分割处理,得到手势图像,其中,上述第一图像为深度图像;

将上述手势图像输入至预设的手势识别网络中,获得手势识别结果;

基于上述手势识别结果反馈相应的响应操作。

本申请的第二方面提供了一种手势识别装置,包括:

手势分割模块,用于对包含手势信息的第一图像进行图像分割处理,得到手势图像,其中,上述第一图像为深度图像;

手势识别模块,用于将上述手势图像输入至预设的手势识别网络中,获得手势识别结果;

手势响应模块,用于基于上述手势识别结果反馈相应的响应操作。

本申请的第三方面提供了一种电子设备,上述电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上第一方面的方法的步骤。

本申请的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上第一方面的方法的步骤。

本申请的第五方面提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。

由上可见,通过本申请方案,首先对包含手势信息的第一图像进行图像分割处理,得到手势图像,其中,上述第一图像为深度图像;将上述手势图像输入至预设的手势识别网络中,获得手势识别结果;基于上述手势识别结果反馈相应的响应操作。本申请方案可一定程度上提高手势识别的鲁棒性及可拓展性。

附图说明

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

图1是本申请实施例提供的手势识别方法的实现流程图;

图2是本申请实施例提供的手势识别方法中,手势识别网络的结构示意图;

图3是本申请实施例提供的手势识别方法中,手势追踪方法的实现流程图;

图4是本申请实施例提供的手势识别装置的结构框图;

图5是本申请实施例提供的电子设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请上述的技术方案,下面通过具体实施例来进行说明。

实施例一

下面对本申请实施例提供的一种手势识别方法进行描述,请参阅图1,本申请实施例中的手势识别方法包括:

在步骤101中,对包含手势信息的第一图像进行图像分割处理,得到手势图像;

在本申请实施例中,上述第一图像为深度图像,具体可以为通过kinect或其它图像采集设备获取到的图像,其中,深度图像中的像素值可以反映场景中物体到图像采集设备处的距离。由于该第一图像中除了手势信息之外,还有其它背景信息,因而需要对上述第一图像进行图像分割处理,获得仅包含手势信息的手势图像。其中

可选地,上述步骤101具体包括:

a1、获取不包含手势信息的第二图像;

在本申请实施例中,上述第二图像为深度图像,且上述第二图像的拍摄角度与上述第一图像的拍摄角度一致。也即是说,上述第一图像与第二图像的区别在于是否包含有用户的手势信息。具体地,上述第二图像也可以为通过kinect或其它图像采集设备获取到的图像。

a2、将上述第一图像与第二图像作差,得到前景图像;

在本申请该实施例中,通过上述第一图像中每一像素点与第二图像对应像素点作差,可以将前景图像与背景图像分离开。具体可由下述公式所表示:

df=dn-db

其中,上述df为分离得到的前景图像;上述db为第二图像,也即场景中不包含手势信息的背景图像;上述dn为第一图像,也即场景中包含手势信息的图像。可选地,为了保障背景图像的指令,使得背景图像更为稳定,可以在通过上述公式分离得到前景图像之前,获取多帧第二图像,即获取多帧不包含手势信息的背景图像,通过对多帧第二图像求平均后得到第二图像的平均值,再通过上述公式分离得到前景图像。

a3、将上述前景图像从rgb颜色空间转换至hsv颜色空间后,根据预设的肤色阈值提取出得到手势图像。

在本申请实施例中,由于人手与其他物体的颜色有较大差别,因而,可通过预设的肤色阈值将手势图像从上述前景图像中提取出来。具体地,由于在hsv颜色空间中,肤色范围更加紧密,比较不容易受到光照及其它物体的感染,因而可以先将前景图像从rgb颜色空间转换至hsv颜色空间,再根据预设的肤色阈值提取出得到手势图像

在步骤102中,将上述手势图像输入至预设的手势识别网络中,获得手势识别结果;

在本申请实施例中,上述手势识别网络是一种人工神经网络,参见图2,上述预设的手势识别网络具体依次由第一卷积层conv1-第二卷积层conv2-第一全连接层fc1-丢弃层(即dropout层)drop1-第二全连接层fc2-输出层prob构成,其中,上述卷积层的作用为提取特征,而采用两个卷积层是为了使得提取出的特征更多;上述全连接层的作用为将二维结构的图像转变为一维,使得特征更能刻画出输入的图像的一般性,更加适用于分类,同时能够增加上述手势识别网络对位移的鲁棒性,而采用两个全连接层是为了提高转变的准确率;上述丢弃层(即dropout层)的作用是避免过拟合;最后由输出层输出手势图像属于每一种手势的概率,并获得手势识别结果。进一步地,上述卷积层所做出的卷积操作具体为一个卷积核在图像矩阵上移动后,由该卷积核与上述图像矩阵上的相应位置的元素作乘积,最后将所得结果相加得到卷积操作的值。当卷积核移动完毕,上述得到的所有值就构成了一个新的图像矩阵,即完成了对上一层的特征抽取。

可选地,上述步骤102包括:

b1、将上述手势图像输入至上述手势识别网络后,分别得到上述手势图像与每一种手势样本的匹配概率;

在本申请实施例中,手势识别网络将最终基于输入的手势图像,获得该手势图像属于每一种手势的概率,也即分别得到上述手势图像与每一种手势样本匹配的概率。

b2、基于匹配概率最高的手势样本确定手势识别结果。

在本申请实施例中,通常经过手势识别网络后,会得到唯一的匹配概率最高的手势样本,基于该手势样本确定手势识别结果。例如,手势图像中包含未知手势x,在将该手势图像输入手势识别网络后,得到该手势x与手势样本a匹配的概率为5%,该手势x与手势样本b匹配的概率为90%,该手势x与手势样本c匹配的概率为5%,则可以识别确定该未知手势x为手势b。

在步骤103中,基于上述手势识别结果反馈相应的响应操作。

在本申请实施例中,不同的手势可分别对应不同不同的响应操作,例如手势a对应选择指令,手势b对应滑动指令,手势c对应关闭指令等,此处不作限定。具体地,上述手势与响应操作的对应关系可存储于电子设备的本地,或者,也可以将上述对应关系上传至云服务器中保存,此处不作限定。

由上可见,在本申请实施例中,在对图像进行分割后提取出手势图像,并将该手势图像输入至手势识别网络中获取到手势识别的结果,基于该手势识别的结果控制电子设备反馈相应的响应动作。通过手势识别网络的手势识别操作具有较强的学习能力和抗干扰能力,而且该手势识别网络能很好的拟合各类非线性映射,在拥有更快的计算速度的同时还有很强的鲁棒性与泛化能力,一定程度上提高手势识别的鲁棒性及可拓展性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

实施例二

在实施例一的基础上,本申请实施例中的手势识别方法还包括:手势追踪方法。具体地,如图3所示,该手势追踪方法包括:

在步骤301中,基于上述手势图像,获取手部的质心位置;

在本申请实施例中,可以先对上述手势图像进行二值化处理,得到手势二值图像,再根据预设的零阶矩公式及一阶矩公式对上述手势二值图像进行计算,得到手部的质心位置坐标。具体地,上述预设的零阶矩公式为:

上述预设的一阶矩公式为:

上述手部的质心位置坐标为:

其中,上述i(x,y)为手势二值图像,上述m00,m10及m01为计算手部的质心位置坐标的中间参数,xc为手部的质心横坐标,yc为手部的质心纵坐标。

在步骤302中,根据上述质心位置及卡尔曼滤波器计算得到上述手部下一时刻的预测位置。

在本申请实施例中,首先对卡尔曼滤波器作出说明。卡尔曼滤波器是一种递归的估计器,通过卡尔曼滤波器,不需要记录观测值和估计值的历史信息,也可计算出当前状态的估计值,效率较高。在二维空间中,因为在水平和垂直方向分别具有位置向量和速度向量,因此卡尔曼滤波器的状态向量通常被设定为四维(即水平位置向量、水平速度向量、垂直位置向量及垂直速度向量)。由于本申请中获取到的手势图像为深度图像,因而,可以将通过kinect获得的深度信息用于卡尔曼滤波,使得跟踪效果鲁棒性更高,因此,在本申请实施例中,手部为六维的状态向量(即水平位置向量、水平速度向量、垂直位置向量、垂直速度向量及深度位置向量、深度速度向量)。此处可用如下公式表示第n时刻的状态向量:

x(n)=[px(n)py(n)pz(n)vx(n)vy(n)vz(n)]t

其中,x(n)为第n时刻的状态向量,p(n)及v(n)为第n时刻的位置向量及速度向量,上述p(n)及v(n)均为三维的向量,px(n)、py(n)、pz(n)分别为p(n)在水平、垂直及深度这三个维度上的表达,vx(n)、vy(n)、yz(n)分别为v(n)在水平、垂直及深度这三个维度上的表达。

基于卡尔曼滤波器,可计算得到手部在新时刻的状态向量的估计值,公式如下:

x(n+1)=φx(n)+w(n)

其中,x(n+1)为手部在第n+1时刻的状态向量的估计值;x(n)为手部在第n时刻的状态向量的估计值;φ为状态转移矩阵;wn)为系统噪声,默认该系统噪声服从均值为0,方差为q的高斯分布。通过上述公知,可得到手部在新时刻(即第n+1时刻)的状态向量的估计值,基于该估计值能够确定手部在新时刻的坐标,实现对手部的跟踪。

进一步地,卡尔曼递归器中还可以用到如下公式:

y(n)=hx(n)+v(n)

其中,y(n)为手部在n时刻的状态向量的观测值;h为观测矩阵;v(n)为观测噪声,默认该观测噪声服从均值为0,方差为r的高斯分布。由于第n时刻的手势图像及在第n+1时刻的手势图像之间的时间间隔非常短,故可以近似的认为上述两帧手势图像之间,手部的运动为匀速直线运动。上两式的的参数表示如下:

其中,δt其中为第n时刻的手势图像及第n+1时刻的手势图像之间的时间间隔。

进一步地,卡尔曼递归器中还可以用到如下公式:

p(n+1|n)=φp(n|n)φt+q

以上两式为卡尔曼滤波器时间更新方程,用于表示如何将状态估计和协方差估计p从n时刻向前推算至n+1时刻。

k(n+1)=p(n+1|n)ht[hp(n+1|n)ht+r]-1

p(n+1|n+1)=[in-k(n+1)h]p(n+1|n)

以上三式为卡尔曼滤波器状态更新方程。首先通过以上三式中的第一式计算卡尔曼增益k,然后按以上三式中的第二式计算状态的后验估计,最后按以上三式中的第三式计算状态的后验协方差。每当通过上述卡尔曼滤波器时间更新方程及卡尔曼滤波器状态更新方式计算完毕后,上述两个更新方式将被重复执行,也即将前次计算得到的后验估计作为本次计算的先验估计。

由上可见,在本申请实施例中,还可以通过卡尔曼滤波器对手势进行跟踪,使得在用户手部有所晃动时也能够准确识别出手势,进一步提升手势识别的鲁棒性,避免跟丢手势。

实施例三

本申请实施例三提供了一种手势识别装置,如图4所示,本申请实施例中的手势识别装置400包括:

手势分割模块401,用于对包含手势信息的第一图像进行图像分割处理,得到手势图像,其中,上述第一图像为深度图像;

手势识别模块402,用于将上述手势图像输入至预设的手势识别网络中,获得手势识别结果;

手势响应模块403,用于基于上述手势识别结果反馈相应的响应操作。

可选地,上述手势识别装置400还包括:

手势跟踪模块404,用于基于上述手势图像,获取手部的质心位置,根据上述质心位置及卡尔曼滤波器计算得到上述手部下一时刻的预测位置。

可选地,上述手势跟踪模块404包括:

二值化处理单元,用于对上述手势图像进行二值化处理,得到手势二值图像;

质心位置计算单元,用于根据预设的零阶矩公式及一阶矩公式对上述手势二值图像进行计算,得到手部的质心位置坐标。

可选地,上述预设的零阶矩公式为:

上述预设的一阶矩公式为:

上述手部的质心位置坐标为:

其中,上述i(x,y)为手势二值图像,上述m00,m10及m01为计算手部的质心位置坐标的中间参数,xc为手部的质心横坐标,yc为手部的质心纵坐标。

可选地,上述手势分割模块401包括:

第二图像获取单元,用于获取不包含手势信息的第二图像,其中,上述第二图像为深度图像,且上述第二图像的拍摄角度与上述第一图像的拍摄角度一致;

前景图像获取单元,用于将上述第一图像与第二图像作差,得到前景图像;

手势图像提取单元,用于将上述前景图像从rgb颜色空间转换至hsv颜色空间后,根据预设的肤色阈值提取出得到手势图像。

可选地,上述手势识别网络依次由第一卷积层-第二卷积层-第一全连接层-丢弃层-第二全连接层-输出层构成,上述手势识别模块402包括:

手势图像输入单元,用于将上述手势图像输入至上述手势识别网络后,分别得到上述手势图像与每一种手势样本的匹配概率;

识别结果确定单元,用于基于匹配概率最高的手势样本确定手势识别结果。

由上可见,在本申请实施例中,手势识别装置在对图像进行分割后提取出手势图像,并将该手势图像输入至手势识别网络中获取到手势识别的结果,基于该手势识别的结果控制电子设备反馈相应的响应动作。通过手势识别网络的手势识别操作具有较强的学习能力和抗干扰能力,而且该手势识别网络能很好的拟合各类非线性映射,在拥有更快的计算速度的同时还有很强的鲁棒性与泛化能力,一定程度上提高手势识别的鲁棒性及可拓展性。

实施例四

图5是本申请实施例六提供的电子设备的示意图。如图5所示,该实施例的电子设备5包括:处理器50、存储器51以及存储在上述存储器51中并可在上述处理器50上运行的计算机程序52。上述处理器50执行上述计算机程序52时实现上述各个手势识别方法实施例中的步骤,例如图1所示的步骤s101至s103。或者,上述处理器50执行上述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块401至404的功能。

示例性的,上述计算机程序52可以被分割成一个或多个模块/单元,上述一个或者多个模块/单元被存储在上述存储器51中,并由上述处理器50执行,以完成本申请。上述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述上述计算机程序52在上述电子设备5中的执行过程。例如,上述计算机程序52可以被分割成手势分割模块、手势识别模块、手势响应模块、手势跟踪模块,各模块具体功能如下:

手势分割模块,用于对包含手势信息的第一图像进行图像分割处理,得到手势图像,其中,上述第一图像为深度图像;

手势识别模块,用于将上述手势图像输入至预设的手势识别网络中,获得手势识别结果;

手势响应模块,用于基于上述手势识别结果反馈相应的响应操作。

可选的,上述手势识别装置还包括:

手势跟踪模块,用于基于上述手势图像,获取手部的质心位置,根据上述质心位置及卡尔曼滤波器计算得到上述手部下一时刻的预测位置。

上述电子设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。上述电子设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是电子设备5的示例,并不构成对电子设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如上述电子设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器50可以是中央处理单元cpu,还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic、现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

上述存储器51可以是上述电子设备5的内部存储单元,例如电子设备5的硬盘或内存。上述存储器51也可以是上述电子设备5的外部存储设备,例如上述电子设备5上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,上述存储器51还可以既包括上述电子设备5的内部存储单元也包括外部存储设备。上述存储器51用于存储上述计算机程序以及上述电子设备所需的其他程序和数据。上述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

由上可见,在本申请实施例中,电子设备在对图像进行分割后提取出手势图像,并将该手势图像输入至手势识别网络中获取到手势识别的结果,基于该手势识别的结果控制电子设备反馈相应的响应动作。通过手势识别网络的手势识别操作具有较强的学习能力和抗干扰能力,而且该手势识别网络能很好的拟合各类非线性映射,在拥有更快的计算速度的同时还有很强的鲁棒性与泛化能力,一定程度上提高手势识别的鲁棒性及可拓展性。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

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

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

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1