一种点击动作的识别方法及点击动作识别装置转让专利

申请号 : CN201610302776.8

文献号 : CN107357414B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁玲燕刘丽艳王炜

申请人 : 株式会社理光

摘要 :

本发明提供了一种点击动作的识别方法及点击动作识别装置,本发明通过将点击动作分解成多个阶段,解决了点击过程中的运动自遮挡问题。本发明通过运动信息进行点击手势的识别,不需要精确的手指点定位,因此更加鲁棒简单。另外,本发明实施例对应于场景、环境要求较低,能够广泛应用于人机交互场景中。

权利要求 :

1.一种点击动作的识别方法,其特征在于,包括:

基于操作体的深度图像序列,分割得到前景图像序列;

对所述深度图像序列或前景图像序列进行帧差计算,得到由帧差图像组成的帧差图像序列;

在所述帧差图像序列中,确定有效像素点信息发生突变的突变帧差图像,并以相邻的两个突变帧差图像为分割点,将帧差图像序列划分为趋近阶段、接触阶段和远离阶段;

估计所述操作体在所述趋近阶段和远离阶段的运动状态;

根据所述操作体在所述趋近阶段和远离阶段的运动状态是否符合预定的点击动作匹配条件,判断所述操作体的动作是否为点击动作;

其中,所述估计所述操作体在所述趋近阶段和远离阶段的运动状态的步骤,包括:基于帧差图像序列,计算操作体在各阶段的时间轴上的运动方向;以及,基于所述深度图像序列,计算操作体在各个阶段中的深度值递增或递减的深度变化方向;

所述根据所述操作体在所述趋近阶段和远离阶段的运动状态是否符合预定的点击动作匹配条件,判断所述操作体的动作是否为点击动作的步骤,包括:在所述深度变化方向为深度值递增的第一深度变化方向时,若操作体在趋近阶段的运动方向与第一深度变化方向之间的夹角不大于第一角度,且操作体在远离阶段的运动方向与第一深度变化方向之间的夹角不小于第二角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作;

在所述深度变化方向为深度值递减的第二深度变化方向时,若操作体在趋近阶段的运动方向与第二深度变化方向之间的夹角不小于第二角度,且操作体在远离阶段的运动方向与第二深度变化方向之间的夹角不大于第一角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作。

2.如权利要求1所述的识别方法,其特征在于,

所述相邻的两个突变帧差图像包括时间上在前的第一突变帧差图像和时间上在后的第二突变帧差图像,且第一突变帧差图像和第二突变帧差图像之间的间隔不超过预设门限;

所述趋近阶段包括第一突变帧差图像之前的预定第一数量的帧差图像,所述远离阶段包括第二突变帧差图像之后的预定第二数量的帧差图像。

3.如权利要求1所述的识别方法,其特征在于,所述基于所述深度图像序列,计算操作体在各个阶段中的深度值递增或递减的深度变化方向的步骤,包括:根据该阶段的深度图像序列,建立并更新该阶段的深度-运动历史图的当前帧图像,其中,若一像素点在所述帧差图像序列的当前帧中为有效像素点,则该像素点在所述深度-运动历史图的当前帧图像中的深度值为第二值,否则,为0和该像素点在所述深度-运动历史图的前一帧图像中的深度值中的较大者;其中,所述第二值与该像素点在深度图像序列的当前帧中的深度值正相关;

计算该阶段的所述深度-运动历史图中深度值递增或递减的梯度主方向,得到该阶段的深度变化方向。

4.一种点击动作识别装置,其特征在于,包括:

前景分割单元,用于基于操作体的深度图像序列,分割得到前景图像序列;

帧差计算单元,用于对所述深度图像序列或前景图像序列进行帧差计算,得到由帧差图像组成的帧差图像序列;

阶段划分单元,用于在所述帧差图像序列中,确定有效像素点信息发生突变的突变帧差图像,并以相邻的两个突变帧差图像为分割点,将帧差图像序列划分为趋近阶段、接触阶段和远离阶段;

状态估计单元,用于估计所述操作体在所述趋近阶段和远离阶段的运动状态;

判断处理单元,用于根据所述操作体在所述趋近阶段和远离阶段的运动状态是否符合预定的点击动作匹配条件,判断所述操作体的动作是否为点击动作;

其中,所述状态估计单元包括:

第一计算单元,用于基于帧差图像序列,计算操作体在各阶段的时间轴上的运动方向;

第二计算单元,用于基于所述深度图像序列,计算操作体在各阶段中的深度值递增或递减的深度变化方向;

所述判断处理单元,具体用于在所述深度变化方向为深度值递增的第一深度变化方向时,若操作体在趋近阶段的运动方向与第一深度变化方向之间的夹角不大于第一角度,且操作体在远离阶段的运动方向与第一深度变化方向之间的夹角不小于第二角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作;或者,在所述深度变化方向为深度值递减的第二深度变化方向时,若操作体在趋近阶段的运动方向与第二深度变化方向之间的夹角不小于第二角度,且操作体在远离阶段的运动方向与第二深度变化方向之间的夹角不大于第一角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作。

5.如权利要求4所述的点击动作识别装置,其特征在于,

所述相邻的两个突变帧差图像包括时间上在前的第一突变帧差图像和时间上在后的第二突变帧差图像,且第一突变帧差图像和第二突变帧差图像之间的间隔不超过预设门限;

所述趋近阶段包括第一突变帧差图像之前的预定第一数量的帧差图像,所述远离阶段包括第二突变帧差图像之后的预定第二数量的帧差图像。

6.如权利要求4所述的点击动作识别装置,其特征在于,

所述第二计算单元,具体用于:根据该阶段的深度图像序列,建立并更新该阶段的深度-运动历史图的当前帧图像,其中,若一像素点在所述帧差图像序列的当前帧中为有效像素点,则该像素点在所述深度-运动历史图的当前帧图像中的深度值为第二值,否则,为0和该像素点在所述深度-运动历史图的前一帧图像中的深度值中的较大者;其中,所述第二值与该像素点在深度图像序列的当前帧中的深度值正相关;计算该阶段的所述深度-运动历史图中深度值递增或递减的梯度主方向,得到该阶段的深度变化方向。

说明书 :

一种点击动作的识别方法及点击动作识别装置

技术领域

[0001] 本发明涉及视觉跟踪及行为识别技术领域,具体涉及一种点击动作的识别方法及装置。

背景技术

[0002] 各种穿戴设备因它的体积小、便携和可移动等特点,受到越来越多人的关注,如智能眼镜和智能手环等。为了进一步改进穿戴设备的性能,如便携性和实用性等,越来越多的研究者对基于手势控制的智能交互进行研究。以智能眼镜为例,如果通过手势命令进行眼镜的控制,而不是通过普通的物理按钮进行控制,那么智能眼镜结构将会更加简单,同时人与眼镜之间的交互也更加自然。
[0003] 在移动人机交互操作中,手指点击动作是一个非常简单且容易完成的动作,用于穿戴设备的手势控制中,比较符合人们的操作习惯。基于穿戴设备的手势识别方法不同于传统的第三视角的手势识别方法,它的视角为第一人称视角,因此图像视野将受到限制。同时,在实际操作过程中,所要点击的对象未知,点击对象多变,另外,可能不同的操作者将有不同的操作习惯,因此,需要一种手指点击识别系统,能够提高识别的鲁棒性。

发明内容

[0004] 本发明实施例要解决的技术问题是提供一种点击动作的识别方法及点击动作识别装置,用以提高点击动作识别的鲁棒性。
[0005] 为解决上述技术问题,本发明实施例提供的点击动作的识别方法,包括:
[0006] 基于操作体的深度图像序列,分割得到前景图像序列;
[0007] 对所述深度图像序列或前景图像序列进行帧差计算,得到由帧差图像组成的帧差图像序列;
[0008] 在所述帧差图像序列中,确定有效像素点信息发生突变的突变帧差图像,并以相邻的两个突变帧差图像为分割点,将帧差图像序列划分为趋近阶段、接触阶段和远离阶段;
[0009] 估计所述操作体在所述趋近阶段和远离阶段的运动状态;
[0010] 根据所述操作体在所述趋近阶段和远离阶段的运动状态是否符合预定的点击动作匹配条件,判断所述操作体的动作是否为点击动作。
[0011] 优选的,上述方法中,
[0012] 所述相邻的两个突变帧差图像包括时间上在前的第一突变帧差图像和时间上在后的第二突变帧差图像,且第一突变帧差图像和第二突变帧差图像之间的间隔不超过预设门限;
[0013] 所述趋近阶段包括第一突变帧差图像之前的预定第一数量的帧差图像,所述远离阶段包括第二突变帧差图像之后的预定第二数量的帧差图像。
[0014] 优选的,上述方法中,所述估计所述操作体在所述趋近阶段和远离阶段的运动状态的步骤,包括:
[0015] 基于帧差图像序列,计算操作体在各阶段的时间轴上的运动方向;以及,基于所述深度图像序列,计算操作体在各个阶段中的深度值递增或递减的深度变化方向。
[0016] 优选的,上述方法中,所述基于所述深度图像序列,计算操作体在各个阶段中的深度值递增或递减的深度变化方向的步骤,包括:
[0017] 根据该阶段的深度图像序列,建立并更新该阶段的深度-运动历史图的当前帧图像,其中,若一像素点在所述帧差图像序列的当前帧中为有效像素点,则该像素点在所述深度-运动历史图的当前帧图像中的深度值为第二值,否则,为0和该像素点在所述深度-运动历史图的前一帧图像中的深度值中的较大者;其中,所述第二值与该像素点在深度图像序列的当前帧中的深度值正相关;
[0018] 计算该阶段的所述深度-运动历史图中深度值递增或递减的梯度主方向,得到该阶段的深度变化方向。
[0019] 优选的,上述方法中,所述根据所述操作体在所述趋近阶段和远离阶段的运动状态是否符合预定的点击动作匹配条件,判断所述操作体的动作是否为点击动作的步骤,包括:
[0020] 在所述深度变化方向为深度值递增的第一深度变化方向时,若操作体在趋近阶段的运动方向与第一深度变化方向之间的夹角不大于第一角度,且操作体在远离阶段的运动方向与第一深度变化方向之间的夹角不小于第二角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作;
[0021] 在所述深度变化方向为深度值递减的第二深度变化方向时,若操作体在趋近阶段的运动方向与第二深度变化方向之间的夹角不小于第二角度,且操作体在远离阶段的运动方向与第二深度变化方向之间的夹角不大于第一角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作。
[0022] 本发明实施例提供了一种点击动作识别装置,包括:
[0023] 前景分割单元,用于基于操作体的深度图像序列,分割得到前景图像序列;
[0024] 帧差计算单元,用于对所述深度图像序列或前景图像序列进行帧差计算,得到由帧差图像组成的帧差图像序列;
[0025] 阶段划分单元,用于在所述帧差图像序列中,确定有效像素点信息发生突变的突变帧差图像,并以相邻的两个突变帧差图像为分割点,将帧差图像序列划分为趋近阶段、接触阶段和远离阶段;
[0026] 状态估计单元,用于估计所述操作体在所述趋近阶段和远离阶段的运动状态;
[0027] 判断处理单元,用于根据所述操作体在所述趋近阶段和远离阶段的运动状态是否符合预定的点击动作匹配条件,判断所述操作体的动作是否为点击动作。
[0028] 优选的,上述点击动作识别装置中,所述相邻的两个突变帧差图像包括时间上在前的第一突变帧差图像和时间上在后的第二突变帧差图像,且第一突变帧差图像和第二突变帧差图像之间的间隔不超过预设门限;
[0029] 所述趋近阶段包括第一突变帧差图像之前的预定第一数量的帧差图像,所述远离阶段包括第二突变帧差图像之后的预定第二数量的帧差图像。
[0030] 优选的,上述点击动作识别装置中,所述状态估计单元包括:
[0031] 第一计算单元,用于基于帧差图像序列,计算操作体在各阶段的时间轴上的运动方向;
[0032] 第二计算单元,用于基于所述深度图像序列,计算操作体在各阶段中的深度值递增或递减的深度变化方向。
[0033] 优选的,上述点击动作识别装置中,所述第二计算单元,具体用于:根据该阶段的深度图像序列,建立并更新该阶段的深度-运动历史图的当前帧图像,其中,若一像素点在所述帧差图像序列的当前帧中为有效像素点,则该像素点在所述深度-运动历史图的当前帧图像中的深度值为第二值,否则,为0和该像素点在所述深度-运动历史图的前一帧图像中的深度值中的较大者;其中,所述第二值与该像素点在深度图像序列的当前帧中的深度值正相关;计算该阶段的所述深度-运动历史图中深度值递增或递减的梯度主方向,得到该阶段的深度变化方向。
[0034] 优选的,上述点击动作识别装置中,所述判断处理单元,具体用于在所述深度变化方向为深度值递增的第一深度变化方向时,若操作体在趋近阶段的运动方向与第一深度变化方向之间的夹角不大于第一角度,且操作体在远离阶段的运动方向与第一深度变化方向之间的夹角不小于第二角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作;或者,在所述深度变化方向为深度值递减的第二深度变化方向时,若操作体在趋近阶段的运动方向与第二深度变化方向之间的夹角不小于第二角度,且操作体在远离阶段的运动方向与第二深度变化方向之间的夹角不大于第一角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作。
[0035] 与现有技术相比,本发明实施例提供的点击动作的识别方法及点击动作识别装置,通过将点击动作分解成多个阶段,解决了点击过程中的运动自遮挡问题。另外,本发明实施例主要通过运动信息进行点击手势的识别,不需要精确的手指点定位,因此更加鲁棒简单。另外,本发明实施例对应于场景、环境要求较低,能够广泛应用于人机交互操作中。

附图说明

[0036] 图1为本发明实施例的点击动作的识别方法的流程示意图;
[0037] 图2为本发明实施例的步骤14的流程示意图;
[0038] 图3为本发明实施例计算帧差图像的一个示例图;
[0039] 图4为本发明实施例对点击动作进行阶段划分的一个示例图;
[0040] 图5为本发明实施例的时间-运动历史图的创建过程的一个示例图;
[0041] 图6为本发明实施例的深度-运动历史图的创建过程的一个示例图;
[0042] 图7a~7d为本发明实施例计算时间-运动历史图像的梯度主方向的一个示例图;
[0043] 图8为本发明实施例的点击动作识别方法的一种应用场景示意图;
[0044] 图9为本发明实施例提供的点击动作识别装置90的一种功能结构示意图;
[0045] 图10为本发明实施例的状态估计单元94的结构示意图;
[0046] 图11为本发明实施例提供的点击动作识别装置的一种硬件结构示意图。

具体实施方式

[0047] 为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
[0048] 应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
[0049] 在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0050] 应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0051] 在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
[0052] 另外,本文中术语“手势”和“动作”在本文中常可互换使用,“子手势”和“子动作”在本文中也常可互换使用。本文中,术语“图像序列”表示由时间上先后顺序的一系列帧的图像所组成的的序列。本文中,术语“操作体”是用于实现点击操作的物体,例如,可以是用户手指,或者用户手中握持的笔状物体等。
[0053] 本文中,“向下”、表示相对于某个初始位置朝向下方移动,“向上”表示相对于某个初始位置朝向上方移动,这里的“上方”、“下方”通常是相对于第一人称视角的用户来说的,例如佩戴有穿戴设备的用户,其穿戴设备采集图像的视角。应理解,当调整穿戴设备的图像采集视角时,上述“上方”、“下方”的方向可能发生变化,甚至颠倒。因此,这里的“向上”、“向下”是表示两种具有相反运动趋势的方向。
[0054] 手势控制已被应用于多个领域,尤其在人机交互领域。随着穿戴设备的不断发展,特别是智能眼镜的不断发展,基于手势控制的人机交互受到越来越多人的青睐。而手指点击动作是人机交互系统中较简单且方便的一种操作手势。
[0055] 手指点击识别动作同常规的手势识别方法一样,通常包括两类:基于训练学习的方法和基于模板匹配的方法。其中,基于训练学习的方法,收集训练样本是一项非常艰巨的工作,同时训练过程也较复杂。而基于模板匹配的方法则不需要进行大量训练样本的收集。在基于模板匹配的识别方法中,轨迹匹配是常用的模板匹配方法之一,通常采用图像运动信息或手指尖点位置信息进行运动轨迹表达。而对于穿戴设备而言,手势是基于第一视角进行识别,因图像视野有限,手指信息容易丢失。本发明实施例为了建立一种鲁棒的手指点击识别系统,采用运动历史图像方法进行点击动作的识别。
[0056] 一个点击动作通常可以分解为三个子动作:手指向下点击,接触,手指向上松开,因此,在点击动作的完成过程中,会存在一个运动自遮挡问题。如果采用一个运动历史图像记录整个运动过程,手指向上松开的运动过程可能会遮挡住手指向下运动的运动过程。
[0057] 为了解决运动自遮挡带来的运动信息损失问题,本发明实施例首先进行手势分割,将点击手势分割为三个子手势:手指向下运动,接触,手指向上松开。然后,识别每个子手势的运动状态以用于点击手势的识别。
[0058] 虽然运动自遮挡问题通过以上的手势分割处理被解决,但常规的运动历史图只能描述运动物体在时间轴上的运动趋势(时间-运动历史图),而不能对手指向下运动和向上运动进行区分。因此在本发明实施例中,增加了深度方向上的深度-运动历史图。通过结合两种不同的运动历史图像以进行子手势的运动状态估计,然后根据各个子手势的运动状态以识别手指点击操作。本发明实施例有效结合两种不同的运动历史图,对子手势运动状态进行估计,可以解决点击操作过程中的运动自遮挡问题。
[0059] 本发明实施例提出了一种点击动作的识别方法,通过动作的分解模式解决了手指点击动作的运动自遮挡问题,然后通过估计每个子手势的当前运动状态以进行点击手势识别,下面结合附图进行详细描述。
[0060] 请参照图1,本发明实施例提供的点击动作的识别方法,包括:
[0061] 步骤11,基于操作体的深度图像序列,分割得到前景图像序列。
[0062] 这里,可以通过穿戴设备中嵌入的深度相机采集操作体的第一视角的深度图像,获得深度图像序列,深度图像包含有操作体的距离信息,操作体通常是用户手指或用户手持的某个物体。这里,前景图像可以用二值图像表示,其像素点的值为0或1,其中0表示黑色的背景,1表示白色的前景,具体的,可以采用阈值分割法,从当前帧的深度图像中分割出当前帧的前景图像,并顺序输出先后得到的各帧前景图像,即输出前景图像序列。
[0063] 步骤12,对所述深度图像序列或前景图像序列进行帧差计算,得到帧差图像序列。
[0064] 这里,通过帧差计算,对前景图像序列或深度图像序列的当前帧和前一帧进行差值计算,找出两帧之间的不同信息以表示图像中的运动信息。例如,当前景图像静止时,帧差信息近似于0。通常,帧差计算是针对相邻两帧图像进行的,也可以间隔一帧或多帧图像进行,本发明实施例对此不作具体限定。
[0065] 步骤13,确定有效像素点信息发生突变的突变帧差图像,并以相邻的两个突变帧差图像为分割点,将帧差图像序列划分为趋近阶段、接触阶段和远离阶段。
[0066] 这里,帧差图像为二值图像,其有效像素点的取值为1,否则为0。本发明实施例将时间顺序上先后出现的两个相邻的突变帧差图像为分割点,表示操作体与待接触物体发生接触的开始时间点和结束时间点。利用上述分割点,将帧差图像划分为多个阶段。
[0067] 所述相邻的两个突变帧差图像包括时间上在前的第一突变帧差图像和时间上在后的第二突变帧差图像。进一步的,考虑到点击动作中的接触动作的持续时间较短,因此,这里可以设置一预设的第一门限,当第一突变帧差图像和第二突变帧差图像之间的间隔不超过该第一门限时,认为是点击过程中的接触动作,从而继续以下的步骤,否则,将认为是未检测到手指点击动作,重新进行手指点击动作检测。
[0068] 趋近阶段和远离阶段通常可以取一定长度的帧序列进行处理。例如,所述趋近阶段通常包括第一突变帧差图像之前的预定第一数量的帧差图像,所述远离阶段通常包括第二突变帧差图像之后的预定第二数量的帧差图像。这里,第一数量和第二数量可以相同或者不同,为降低处理复杂度,通常可以取4~10之间的任意整数。
[0069] 步骤14,估计所述操作体在所述趋近阶段和远离阶段的运动状态。
[0070] 这里,本发明实施例中结合两种不同的运动历史图,对子手势运动状态进行估计,具体的,如图2所示,上述步骤14可以包括:步骤141,基于帧差图像序列,计算操作体在各阶段(趋近阶段和远离阶段)的时间轴上的运动方向;以及,步骤142,基于所述深度图像序列,计算操作体在各阶段(趋近阶段和远离阶段)中的深度值递增或递减的深度变化方向。
[0071] 本发明实施例可以根据历史运动图来计算上述运动方向或深度变化方向。深度变化方向的计算结果,依赖于预先设定的参考主方向,参考主方向不同,深度变化方向可能具有不同的计算结果。例如,以深度值递增方向为参考主方向计算得到的深度变化方向,与以深度值递减方向为参考主方向计算得到的深度变化方向相反。
[0072] 步骤15,根据所述操作体在所述趋近阶段和远离阶段的运动状态是否符合预定的点击动作匹配条件,判断所述操作体的动作是否为点击动作。
[0073] 通过以上步骤,本发明实施例将点击动作划分为3个阶段,然后分别基于各个阶段的运动方向和深度变化方向,确定各个阶段的运动状态,进而与预设的点击动作匹配条件进行匹配,识别操作体是否发生了点击动作。由于是针对各个阶段分别进行运动状态的估计,因此可以避免点击过程中的运动自遮挡问题,另外,本发明实施例还利用了深度信息对运动状态进行估计,能够更好的确定操作体的运动状态,实现更为准确的点击动作识别。
[0074] 下面进一步结合一个示例对上述步骤作更为详细的描述。
[0075] 在上述步骤12中,为了去除两帧间因图像重叠而带来的噪声影响,可以按照以下方式进行帧差计算,具体的,针对每一像素点,计算该像素点在所述深度图像序列或前景图像序列的当前帧和前一帧之间的帧差信息,并在所述帧差信息大于一预设第二门限时,设置帧差图像中的该像素点位置处的值为1,否则设为0,从而得到当前帧的帧差图像。以上帧差计算是基于相邻帧进行的,具体可以用下述公式(1)表示:
[0076]
[0077] 在公式(1),Depth(x,y,i)表示在第i帧深度图像上,坐标位置(x,y)的像素点的深度值;Depth(x,y,i-1)则表示在第i-1帧的深度图像上,坐标位置(x,y)的像素点的深度值。如果Depth(x,y,i)和Depth(x,y,i-1)的深度值的差值大于门限值threshold,则将帧差图像中坐标位置(x,y)的像素点的值diff(x,y)设为1,否则diff(x,y)等于0。这里,帧差结果可以用二值图像diff(x,y)表示,如果diff(x,y)不为0,表示此处存在有效运动信息,该像素点(x,y)为有效像素点,否则表示此处没有运动信息,该像素点(x,y)为无效像素点。
[0078] 公式(1)还表示也可以根据基于阈值分割得到的前景图像进行帧差计算,Mask(i)和Mask(i-1)分别表示第i帧和第i-1帧深度图像对应的前景图像,用二值图像表示。Mask(x,y,i)和Mask(x,y,i-1)分别表示在第i帧和第i-1帧的前景图像上,坐标位置(x,y)的像素点的值。当Mask(x,y,i)和Mask(x,y,i-1)的差值大于0时,将帧差图像中坐标位置(x,y)的像素点的值diff(x,y)设为1,否则diff(x,y)等于0。
[0079] 图3给出了基于公式(1)计算得到的帧差图像的示例,图3中第1行为相邻的两帧前景图像,图3中的第2行是基于第1行两帧前景图像计算得到的帧差图像。
[0080] 在上述步骤13中,通过计算前景图像序列的帧差信息,获得帧差图像组成的帧差图像序列,进而分析该帧差图像序列中各个帧差图像的有效像素点信息,若某个帧差图像的有效像素点信息发生突变,则认为该帧差图像为突变帧差图像。具体的,判断突变的标准,可以是当前帧的帧差图像包含的有效像素点的数量ni,相对于前一帧帧差图像包含的有效像素点的数量ni-1的变化幅度,超出某个预设阈值,比如|ni-ni-1|/ni-1>L1,或者|ni-ni-1|/(ni-1+ni-1)>L2。当然,判断突变的标准还可以采用其他方式,例如,统计帧差图像序列的每帧图像包括的有效像素点的平均数量 若当前帧的帧差图像包含的有效像素点的数量ni,相对于平均数量 的变化幅度,超出另一预设阈值, 则认为当前帧发生突变,否则,认为没有发生突变。这里L1、L2、L3均为预先设置的一个阈值。
[0081] 当找到相邻的两个突变帧差图像时,可以认为第1个突变帧差图像对应的时间刚好为手指刚接触物体时的时间点,而第2个突变帧差图像对应的时间刚好为手指离开接触物体的时间点。因此,可以据此将帧差图像序列划分为趋近阶段、接触阶段和远离阶段,类似的,也可以根据突变帧差图像,将该帧差图像序列对应的前景图像序列和深度图像序列,划分为趋近阶段、接触阶段和远离阶段。图4进一步给出了上述阶段划分的一个示例。
[0082] 考虑到点击手势是一个连续的动作,因此手接触物体的停留时间是有限的。如果“开始点”和“结束点”之间的间隔时间太大,本发明实施例则认为这不是一个点击手势,将继续识别下一个点击手势。
[0083] 在上述步骤141中,计算操作体在趋近阶段/远离阶段的运动方向,具体可以按照以下方式进行:首先,根据该阶段的帧差图像序列,建立并更新该阶段的时间-运动历史图的当前帧图像,其中,若一像素点在所述帧差图像序列的当前帧中为有效像素点,则该像素点在所述时间-运动历史图的当前帧图像中的取值为第一值,否则,取值为0和衰退值中的较大者,衰退值为该像素点在所述时间-运动历史图的前一帧图像中的取值与一衰退参数的差值;其中,所述第一值与该阶段在截止到所述帧差图像序列的当前帧时的持续时间正相关;然后,计算该阶段的所述时间-运动历史图的梯度主方向,得到该阶段的运动方向。
[0084] 上述时间-运动历史图(T-MHI)根据以下公式(2)建立。
[0085]
[0086] 在公式(2)中,(x,y)表示像素点的位置坐标,t表示时间,当然时间也可以用帧数来表示;Hτ(x,y,t)表示像素点(x,y)在t时刻的时间-运动历史图中的灰度值;maskdiff(x,y,t)表示在像素点(x,y)在t时刻的帧差图像中的值。τ为所述第一值,τ与截止到t时刻该阶段的持续时间正相关,即持续时间越长,τ值越大。优选的,τ可以直接使用该阶段的持续时间来表示,又或者用该阶段截止到t时刻所包括的帧差图像的帧数来表征,即从帧数的角度确定运动的时间范围;δ为衰退参数,取值为一正数,比如取值为1。每次当有新的帧差图像更新时,可以调用该公式(2),从而建立时间-运动历史图(T-MHI)。
[0087] 图5给出了时间-运动历史图(T-MHI)的创建过程。其中图5的第1行表示一个连续的帧差图像序列,第2行则为基于帧差序列建立的时间-运动历史图(T-MHI)。该时间-运动历史图(T-MHI)根据公式(2)计算得到。图5所示的示例中的n=5。
[0088] 在上述步骤142中,计算操作体在趋近阶段/远离阶段的深度变化方向,具体可以按照以下方式进行:根据该阶段的深度图像序列,建立并更新该阶段的深度-运动历史图的当前帧图像,其中,若一像素点在所述帧差图像序列的当前帧中为有效像素点,则该像素点在所述深度-运动历史图的当前帧图像中的深度值为第二值,否则,为0和该像素点在所述深度-运动历史图的前一帧图像中的深度值中的较大者;其中,所述第二值与该像素点在深度图像序列的当前帧中的深度值正相关,即深度值越大,第二值也就越大。然后,计算该阶段的所述深度-运动历史图中深度值递增或递减的梯度主方向,得到该阶段的深度变化方向。
[0089] 上述深度-运动历史图(D-MHI)根据以下公式(3)建立,公式(3)中直接以像素点在深度图像序列的当前帧中的深度值作为所述第二值。
[0090]
[0091] 在公式(3)中,如果maskdiff(x,y,t)存在(即等于1),则所述深度-运动历史图的t时刻的像素点(x,y)的深度值HD(x,y,t)为:t时刻的深度图像中像素点(x,y)的深度值Ddepth(x,y,t),否则,所述深度-运动历史图的t时刻的像素点(x,y)的深度值为max(0,HD(x,y,t-1)),HD(x,y,t-1)为所述深度-运动历史图的t-1时刻的像素点(x,y)的深度值。
[0092] 例如,当深度图像序列依次为:第a帧深度图像,第a+1帧深度图像,第a+2帧深度图像……时,基于上述深度图像序列获得的前景图像序列分别为第a帧前景图像,第a+1帧前景图像,第a+2帧前景图像……。这里,第x帧的前景图像表示从第x帧深度图像中分割得到的前景图像。对应的,基于上述深度图像序列或前景图像序列进行帧差计算,可以获得第a帧帧差图像,第a+1帧帧差图像,第a+2帧帧差图像……组成的帧差图像序列。这里,其中,第y帧帧差图像表示第y帧与第y-1帧的深度图像(或前景图像)的帧差图像。由此可以得到深度图像序列、前景图像序列和帧差图像序列。在计算深度-运动历史图时,深度-运动历史图的当前帧图像中各个像素点的取值,可能与深度图像序列的当前帧中该像素点的深度值相关,这里的深度-运动历史图的当前帧和深度图像序列的当前帧,可以是各个序列具有相同帧序号的帧图像。
[0093] 本发明实施例在计算运动历史图像(如T-MHI或D-MHI)的梯度主方向时,可以通过统计运动历史图像的梯度方向直方图分布,以进行运动主方向的计算,具体的,可以将梯度信息分布最多的方向作为运动历史图像的主方向。
[0094] 图6给出了深度-运动历史图(D-MHI)的建立过程的一个示例。在本示例中,D-MHI根据公式(3)计算得到。D-MHI表示操作体的深度值变化。
[0095] T-MHI的梯度主方向表示在x-y平面上的运动方向,D-MHI的梯度主方向描述了操作体的深度值的增大方向的深度变化方向。图7a~7d是计算时间-运动历史图像的梯度主方向的一个示例。具体的,本发明实施例可以采用8个梯度方向进行描述,其中图7a描述了方向1~8共8个方向的分布,图7b描述了中心像素点与它所对应的邻域像素点之间的相对位置关系。图7c表示一个T-MHI在不同方向上的梯度分布。在图7c中,在方向2上的梯度分布最大,因此,该T-MHI的主梯度方向用方向2表示,如图7d中的箭头所示。
[0096] 在点击动作中,通过操作体在趋近阶段中接近物体,在接触阶段与物体发生接触,在远离阶段则离开所述物体。通常,用户在上述3个阶段的三种运动状态为“向下点击,接触,向上松开”操作序列。这种运动状态可以利用操作体在各个阶段的所述运动方向与深度变化方向之间的夹角来表征。
[0097] 作为一种实现方式,当所述深度变化方向采用深度值递增的第一深度变化方向来表征时,上述步骤15中,在判断所述操作体的动作是否为点击动作时,可以根据按照以下方式进行判断:若操作体在趋近阶段的运动方向与第一深度变化方向之间的夹角不大于第一角度,且操作体在远离阶段的运动方向与第一深度变化方向之间的夹角不小于第二角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作。
[0098] 作为另一种实现方式,当所述深度变化方向采用深度值递减的第二深度变化方向来表征时,上述步骤15中,在判断所述操作体的动作是否为点击动作时,可以根据按照以下方式进行判断:若操作体在趋近阶段的运动方向与第二深度变化方向之间的夹角不小于第二角度,且操作体在远离阶段的运动方向与第二深度变化方向之间的夹角不大于第一角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作。这里,所述第一角度通常不大于50度,所述第二角度通常不小于130度。
[0099] 作为另外一种实现方式,本发明实施例在上述步骤15中,可以按照以下方式进行判断:
[0100] 根据操作体在趋近阶段的运动方向与深度变化方向之间的第一关联性,与操作体在远离阶段的运动方向与深度变化方向之间的第二关联性的极性是否相反,并且,操作体在趋近阶段和远离阶段的深度随时间的变化分别是由小到大和由大到小,则判断所述操作体的动作是否为点击动作,否则,判断所述操作体的动作不是点击动作。这里,在所述运动方向与深度变化方向的夹角不大于第一角度时,所述运动方向与深度变化方向之间的关联性为第一极性;在所述运动方向与深度变化方向的夹角不小于第二夹角时,所述运动方向与深度变化方向之间的关联性为第二极性,所述第一极性与第二极性相反。
[0101] 本发明实施例中,所述运动方向与深度变化方向的关联性的极性,可以由两个方向之间的夹角来决定。例如,当所述深度变化方向采用深度值递增的深度变化方向来表征时,若所述运动方向与深度变化方向之间的夹角处于[0,A]时,则确定所述运动方向与深度变化方向的关联性为正关联;若所述运动方向与深度变化方向之间的夹角处于[B,180]时,确定所述运动方向与深度变化方向的关联性为负关联。而当夹角处于(A,B)时,则认为所述运动方向与深度变化方向之间没有关联性。这里,第一角度A通常为不大于50度的一个角度值,第二角度B则为不小于130度的一个角度值。作为一种优选方式,A可以为45度,B为135度。
[0102] 以下公式(4)给出了计算上述两个方向的夹角θ的公式,其中 分别表示所述运动方向与深度变化方向的单位向量。
[0103]
[0104] 常见的点击动作中,在操作体(如手指)趋近于物体的过程中,上述两种运动历史图像的梯度方向为正关联,表示在运动方向上,手的深度值不断增大,因此该子动作可能为向下点击运动。在操作体离开物体的过程中,两种运动历史图像的梯度方向为负关联,表示在运动方向上,手的深度值不断减小,因此该子动作可能为手指向上离开,即向上松开。结合3个阶段的运动状态,能够识别点击动作。如果3个阶段的运动状态不满足“向下点击,接触,向上松开”的操作序列,则该动作就不是一个点击动作。
[0105] 图8为本发明实施例的点击动作识别方法的一种应用场景示意图,图8包括:一个放于用户胸前的穿戴设备80和一个深度摄像头81。穿戴设备80还可以佩戴于人体的其他部位,如头部。深度摄像头81可与穿戴设备进行通信,一般情况下深度摄像头81可能内嵌于穿戴设备80中。图8中,视场82描述了深度摄像头81的可视范围,如果当前操作手势不在深度摄像头81的可视范围内,控制手势将不能被检测到。深度摄像头采集用户手部83的点击手势,获得深度图像序列84,整个点击手势的细节描述如深度图像序列84所示,该手势可分解为三个子手势:向下点击,接触,向上离开。通过本发明实施例的识别方法,能够识别出用户的点击动作,进而向穿戴设备输出该点击动作,穿戴设备可以基于该点击动作,执行相关命令。
[0106] 本发明实施例还提供了实现上述识别方法的点击动作识别装置,该点击动作识别装置可以设置于图8中的穿戴设备80中,也可以独立于穿戴设备80而设置。请参照图9,本发明实施例提供的点击动作识别装置90,包括:
[0107] 前景分割单元91,用于基于操作体的深度图像序列,分割得到前景图像序列;
[0108] 帧差计算单元92,用于对所述深度图像序列或前景图像序列进行帧差计算,得到由帧差图像组成的帧差图像序列;
[0109] 阶段划分单元93,用于在所述帧差图像序列中,确定有效像素点信息发生突变的突变帧差图像,并以相邻的两个突变帧差图像为分割点,将帧差图像序列划分为趋近阶段、接触阶段和远离阶段;
[0110] 状态估计单元94,用于估计所述操作体在所述趋近阶段和远离阶段的运动状态;
[0111] 判断处理单元95,用于根据所述操作体在所述趋近阶段和远离阶段的运动状态是否符合预定的点击动作匹配条件,判断所述操作体的动作是否为点击动作。
[0112] 这里,所述帧差计算单元92,具体用于:针对每一像素点,计算该像素点在所述深度图像序列或前景图像序列中的帧差信息,并在所述帧差信息大于预设第二门限时,设置帧差图像中的该像素点位置处的值为1,否则设为0,生成帧差图像;获得由先后生成的帧差图像组成的帧差图像序列。
[0113] 本发明实施例中,所述相邻的两个突变帧差图像包括时间上在前的第一突变帧差图像和时间上在后的第二突变帧差图像,且第一突变帧差图像和第二突变帧差图像之间的间隔不超过预设第一门限。所述趋近阶段包括第一突变帧差图像之前的预定第一数量的帧差图像,所述远离阶段包括第二突变帧差图像之后的预定第二数量的帧差图像。第一数量和第二数量的取值可以根据设备的处理能力以及图像的帧率等因素设置。
[0114] 请参照图10,本发明实施例的状态估计单元94,包括:
[0115] 第一计算单元941,用于基于帧差图像序列,计算操作体在各个阶段的时间轴上的运动方向;
[0116] 第二计算单元942,用于基于所述深度图像序列,计算操作体在各个阶段中的深度值递增或递减的深度变化方向。
[0117] 这里,所述第一计算单元941,具体用于:根据该阶段的帧差图像序列,建立并更新该阶段的时间-运动历史图的当前帧图像,其中,若一像素点在所述帧差图像序列的当前帧中为有效像素点,则该像素点在所述时间-运动历史图的当前帧图像中的取值为第一值,否则,取值为0和衰退值中的较大者,衰退值为该像素点在所述时间-运动历史图的前一帧图像中的取值与一衰退参数的差值;其中,所述第一值与该阶段在截止到所述帧差图像序列的当前帧时的持续时间正相关;计算该阶段的所述时间-运动历史图的梯度主方向,得到该阶段的运动方向。
[0118] 所述第二计算单元942,具体用于:根据该阶段的深度图像序列,建立并更新该阶段的深度-运动历史图的当前帧图像,其中,若一像素点在所述帧差图像序列的当前帧中为有效像素点,则该像素点在所述深度-运动历史图的当前帧图像中的深度值为第二值,否则,为0和该像素点在所述深度-运动历史图的前一帧图像中的深度值中的较大者;其中,所述第二值与该像素点在深度图像序列的当前帧中的深度值正相关;计算该阶段的所述深度-运动历史图中深度值递增或递减的梯度主方向,得到该阶段的深度变化方向。
[0119] 作为一种实现方式,本发明实施例的判断处理单元95,具体用于在所述深度变化方向为深度值递增的第一深度变化方向时,若操作体在趋近阶段的运动方向与第一深度变化方向之间的夹角不大于第一角度,且操作体在远离阶段的运动方向与第一深度变化方向之间的夹角不小于第二角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作;或者,在所述深度变化方向为深度值递减的第二深度变化方向时,若操作体在趋近阶段的运动方向与第二深度变化方向之间的夹角不小于第二角度,且操作体在远离阶段的运动方向与第二深度变化方向之间的夹角不大于第一角度,则判断所述操作体的动作为点击动作,否则,判断所述操作体的动作不是点击动作。
[0120] 作为另一种实现方式,本发明实施例的判断处理单元95,具体用于根据操作体在趋近阶段的运动方向与深度变化方向之间的第一关联性,与操作体在远离阶段的运动方向与深度变化方向之间的第二关联性的极性是否相反,并且,操作体在趋近阶段和远离阶段的深度随时间的变化分别是由小到大和由大到小,则判断所述操作体的动作是否为点击动作,否则,判断所述操作体的动作不是点击动作。这里,在所述运动方向与深度变化方向的夹角不大于第一角度时,所述运动方向与深度变化方向之间的关联性为第一极性;在所述运动方向与深度变化方向的夹角不小于第二夹角时,所述运动方向与深度变化方向之间的关联性为第二极性,所述第一极性与第二极性相反。
[0121] 下面结合图11描述本发明实施例涉及的点击动作识别装置的一种硬件结构图,如图11所示,该硬件结构110包括:
[0122] 深度相机1101、处理器1102、存储器1103以及点击动作识别装置1104,点击动作识别装置1104又包括前景分割单元11041、帧差计算单元11042、阶段划分单元11043、状态估计单元11044和判断处理单元11045。其中,所述前景分割单元11041、帧差计算单元11042、阶段划分单元11043、状态估计单元11044和判断处理单元11045各自实现的功能与图9所示的所述前景分割单元91、帧差计算单元92、阶段划分单元93、状态估计单元94和判断处理单元95相类似。
[0123] 图11中的硬件结构110还可能包括有一穿戴设备1105,该穿戴设备可以是智能眼镜、智能手环、智能头盔等设备。点击动作识别装置1104的识别结果将输出给该穿戴设备1105,穿戴设备1105基于上述识别结果执行对应的命令。
[0124] 图11中,上述深度相机1101、处理器1102、存储器1103以及点击动作识别装置1104独立于穿戴设备1105而设置。作为一种可选方式,上述深度相机1101、处理器1102、存储器1103以及点击动作识别装置1104可以作为穿戴设备1105的一个子模块而内嵌于穿戴设备
1105中。
[0125] 本发明实施例中,点击动作识别装置1104中的各个模块可以通过嵌入式系统来实现。作为一种可选方式,点击动作识别装置1104也可以通过处理器1102来实现,此时,当处理器1102调用并执行所述存储器1103中所存储的程序和数据时,可以实现如下的功能模块:
[0126] 前景分割单元,用于基于操作体的深度图像序列,分割得到前景图像序列;
[0127] 帧差计算单元,用于对所述深度图像序列或前景图像序列进行帧差计算,得到帧差图像序列;
[0128] 阶段划分单元,用于确定有效像素点信息发生突变的突变帧差图像,并以相邻的两个突变帧差图像为分割点,将帧差图像序列划分为趋近阶段、接触阶段和远离阶段;
[0129] 状态估计单元,用于估计所述操作体在所述趋近阶段和远离阶段的运动状态;
[0130] 判断处理单元,用于根据所述操作体在所述趋近阶段和远离阶段的运动状态是否符合预定的点击动作匹配条件,判断所述操作体的动作是否为点击动作。
[0131] 图11中,处理器1102和存储器1103分别通过总线接口与点击动作识别装置1104连接;总线架构可以是可以包括任意数量的互联的总线和桥;具体由处理器1102代表的一个或者多个处理器,以及由存储器1103代表的一个或者多个存储器的各种电路连接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其它电路连接在一起,这些都是本领域所公知的。因此,本文不再对其进行详细描述。
[0132] 综上,本发明以上实施例提供了一种基于深度图像的在第一视角下的点击动作识别方法及装置。本发明实施例通过估计子手势的运动状态以对点击手势进行识别。在本发明实施例中,一个点击动作被划分为三个子手势:向下点击,接触,向上离开。在点击动作的识别过程中,第一步首先找到接触子手势,然后根据接触子手势发生的开始时间点和结束时间点将点击动作分为三部分。然后分别估计每部分的运动状态以进行点击动作识别。通过动作分解模式,本发明实施例解决了点击手势的运动自遮挡问题,同时本发明实施例不需要采集训练数据进行手势分类器的训练学习。另外,本发明实施例主要通过运动信息进行点击手势的识别,而不需要精确的手指点定位,因此更加鲁棒简单。另外,本发明实施例使得用户能够在没有任何区域、场景限制的情况下,采用任何一只手完成点击操作,能够很便利的应用于人机交互操作中。
[0133] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。