手势识别对象确定方法及装置
1.本技术要求于2021年06月30日提交的申请号为202110736357.6、发明名称为“一种手势识别的方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及计算机视觉领域,特别涉及一种手势识别对象确定方法及装置。
背景技术:3.在计算机视觉领域中,手势识别是一种非常重要的人机交互方式。手势识别技术是利用各类传感器对手部(手臂)的形态、位移等进行建模,形成信息序列,再将信息序列转换为对应的指令,用来控制实现某些操作。
4.由于多用户场景下会识别到多个用户的手势,如何在多个用户中确定手势识别对象,是实现准确进行手势控制的关键。
技术实现要素:5.本技术提供了一种手势识别对象确定方法及装置。
6.第一方面,提供了一种手势识别对象确定方法。该方法可以应用于通用计算设备。该方法包括:根据相机对拍摄区域进行拍摄得到的多帧第一图像,确定该拍摄区域内的一个或多个潜在用户,潜在用户满足:多帧第一图像中的每帧第一图像都包括潜在用户的人脸图像。根据多帧第一图像中潜在用户对应的待识别区域,确定该潜在用户的手部动作,该潜在用户对应的待识别区域包括潜在用户的手部图像。将一个或多个潜在用户中的目标用户确定为手势识别对象,目标用户的手部动作与预设手势匹配。
7.本技术将在相机拍摄的多帧图像的每帧图像中都存在人脸图像、且手部动作与预设手势匹配的用户确定为相机的拍摄区域内的手势识别对象。基于相机拍摄的图像即可实现自动确定手势识别对象,进一步可以对手势识别对象进行手势识别以实现隔空手势操作,适用于多种场景尤其是多用户场景下的手势识别,实现方式简单。
8.可选地,在将一个或多个潜在用户中的目标用户确定为手势识别对象之后,上述方法还包括:获取多帧第二图像中目标用户对应的待识别区域,目标用户对应的待识别区域包括目标用户的手部图像,该多帧第二图像是在将目标用户确定为手势识别对象之后,由相机对拍摄区域进行拍摄得到的。根据多帧第二图像中目标用户对应的待识别区域,对目标用户进行手势识别。这里可以理解为:只获取多帧第二图像中目标用户对应的待识别区域,并且只对目标用户进行手势识别。
9.本技术中,在将目标用户确定为手势识别对象之后,在一段时间内只对作为手势识别对象的目标用户进行手势识别,而不会对除目标用户以外的其它用户进行手势识别,即在一段时间内锁定识别一个用户的手势,可以避免用户之间手势互相干扰导致无法实现准确进行手势控制的问题。
10.可选地,预设手势包括待识别手势的起始部分,根据多帧第二图像中目标用户对应的待识别区域,对目标用户进行手势识别的实现过程,包括:根据多帧第一图像中目标用户对应的待识别区域以及多帧第二图像中目标用户对应的待识别区域,判断目标用户是否执行了待识别手势。
11.本技术中,将待识别手势的起始部分作为用来判定手势识别对象的预设手势,当用户需要进行隔空手势操作时,直接在相机的拍摄区域内执行待识别手势即可,而无需执行其它特定的唤醒手势来开启设备的手势识别功能,在用户无感知的情况下实现手势识别对象的确定,可以简化用户操作,提升用户体验。
12.可选地,获取多帧第二图像中目标用户对应的待识别区域的实现过程,包括:根据保存的目标用户的人脸信息,确定目标用户在第二图像中的人脸图像位置。根据目标用户在第二图像中的人脸图像位置,确定第二图像中目标用户对应的待识别区域。
13.本技术中,在将目标用户确定为手势识别对象之后,可以保存目标用户的人脸信息,以通过目标用户的人脸信息关联上目标用户的手部动作,实现对目标用户的手部追踪,进而实现对目标用户的手势识别。
14.可选地,当相机在目标用户作为手势识别对象之后,对拍摄区域进行拍摄得到的图像中不包括目标用户的人脸图像的图像数量超出数量阈值,或者,目标用户作为手势识别对象的持续时长达到时长阈值时,结束将目标用户作为手势识别对象。
15.本技术中,同一时刻最多只能确定出一个手势识别对象,由于手势识别对象可能会随着时间推移发生变化,因此通过设置一些结束将目标用户作为手势识别对象的条件,可以满足应用场景中手势识别对象灵活多变的需求。
16.可选地,在确定拍摄区域内的一个或多个潜在用户之后,上述方法还包括:确定潜在用户在第一图像中的人脸图像位置。根据潜在用户在第一图像中的人脸图像位置,确定第一图像中潜在用户对应的待识别区域。
17.可选地,将一个或多个潜在用户中的目标用户确定为手势识别对象的实现过程,包括:当拍摄区域内存在手部动作与预设手势匹配的多个潜在用户时,将距离相机最近的潜在用户作为目标用户。
18.可选地,在确定拍摄区域内的一个或多个潜在用户之后,上述方法还包括:获取潜在用户到相机的距离。当潜在用户到相机的距离超出距离阈值时,输出距离提示,距离提示用于提示潜在用户靠近相机。
19.如果潜在用户距离相机较远,那么相机拍摄的图像中该潜在用户的人体图像会较小,可能无法体现用户手部细节,这样可能会导致后续对用户的手部动作的误判,本技术通过输出距离提示来提示潜在用户靠近相机,如果潜在用户要进行隔空手势操作,那么可以根据距离提示靠近相机,这样可以提高对手势识别对象的判定准确性,进一步还可以提高对手势识别对象的隔空手势的识别准确性。
20.可选地,获取潜在用户到相机的距离的实现过程,包括:根据相机的焦距、潜在用户在第一图像中的双眼间距以及预设用户双眼间距,确定潜在用户到相机的距离。
21.例如,假设相机的焦距为f,用户在该相机拍摄的包含该用户的正脸图像的图像(即成像平面)中的双眼间距为m,预设用户双眼间距为k,假设用户到相机的距离为d,则根据相似三角形原理可以得到:m/f=k/d,由此可推导出用户到相机的距离d=(k*f)/m。
22.本技术中,不限于相机是单目相机、双目相机或者是否集成有深度传感器,基于相似三角形原理即可确定用户到相机的距离,计算方式简单,实现成本较低。
23.可选地,根据多帧第一图像中潜在用户对应的待识别区域,确定潜在用户的手部动作的实现过程,包括:对多帧第一图像中潜在用户对应的待识别区域分别进行关键点检测,得到潜在用户的多组手部关键点信息。根据潜在用户的多组手部关键点信息,确定潜在用户的手部动作。
24.可选地,潜在用户对应的待识别区域还包括潜在用户的肘部图像,根据多帧第一图像中潜在用户对应的待识别区域,确定潜在用户的手部动作的实现过程,包括:对多帧第一图像中潜在用户对应的待识别区域分别进行关键点检测,得到潜在用户的多组手部及肘部关键点信息。根据潜在用户的多组手部及肘部关键点信息,确定潜在用户的手部动作。
25.当用户的多个手部关键点过于紧凑或检测结果中缺失部分手部关键点时,可能会导致对用户的手部动作的误判或漏判,本技术通过结合用户的肘部关键点的移动方向来辅助判断用户的手部移动方向,可以提高对用户的手部动作的判定准确性。
26.可选地,上述人脸图像为正脸图像。也即是,潜在用户满足:多帧第一图像中的每帧第一图像都包括该潜在用户的正脸图像。
27.由于用户在进行隔空手势操作时通常是面对相机的,本技术还可以排除拍摄区域内侧对相机的用户,只在面对相机的用户中确定潜在用户,这样可以降低对手势识别对象的误判概率。
28.第二方面,提供了一种手势识别对象确定装置。所述装置包括多个功能模块,所述多个功能模块相互作用,实现上述第一方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
29.第三方面,提供了一种手势识别对象确定设备,包括:处理器和存储器;
30.所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
31.所述处理器,用于调用所述计算机程序,实现上述第一方面及其各实施方式中的方法。
32.第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现上述第一方面及其各实施方式中的方法。
33.第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现上述第一方面及其各实施方式中的方法。
34.第六方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现上述第一方面及其各实施方式中的方法。
附图说明
35.图1是本技术实施例提供的一种手势识别对象确定方法涉及的应用场景示意图;
36.图2是本技术实施例提供的一种手势识别对象确定方法的流程示意图;
37.图3是本技术实施例提供的一种测距原理示意图;
38.图4是本技术实施例提供的一种图像示意图;
39.图5是本技术实施例提供的一种手部关键点的分布示意图;
40.图6是本技术实施例提供的一种手势识别对象确定装置的结构示意图;
41.图7是本技术实施例提供的另一种手势识别对象确定装置的结构示意图;
42.图8是本技术实施例提供的又一种手势识别对象确定装置的结构示意图;
43.图9是本技术实施例提供的再一种手势识别对象确定装置的结构示意图;
44.图10是本技术实施例提供的还一种手势识别对象确定装置的结构示意图;
45.图11是本技术实施例提供的一种手势识别对象确定设备的框图。
具体实施方式
46.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
47.随着计算机视觉技术的发展,手机、电子屏幕、虚拟现实(virtual reality,vr)设备等多种形态的产品层出不穷,对人与机器的交互需求也日益增长。由于手势可以通过非接触式的方式表达丰富的信息,使得手势识别在人机交互、智能手机、智能电视等产品中有广泛的应用。尤其是基于视觉的手势识别技术,不需要在手上佩戴额外传感器以增加标记,便利性好,在人机交互等方面有很广泛的应用前景。本技术中提及的手势均指非接触式的手势,即隔空手势。
48.目前很多场景中都有对显示设备进行隔空手势操作的需求。例如在会议室场景中,与会者可以对会议终端上的显示画面进行例如向上翻页、向下翻页、向左翻页、向右翻页、截屏等隔空手势操作。又例如在家庭场景中,家庭成员可以对智能电视上的播放画面进行例如快进、后退、调高音量、调低音量、暂停等隔空手势操作。又例如在教室场景中,老师或学生可以对显示设备上的显示内容进行例如向上滚动、向下滚动等隔空手势操作。
49.但是这些场景中显示设备前通常都有多个用户,在基于相机采集的图像进行手势识别时,容易识别到多个用户的手势,显示设备可能无法分辨具体是哪个用户在进行隔空手势操作,用户之间的手势会互相干扰,导致显示设备无法实现准确进行手势控制。
50.基于此,本技术提出了一种确定手势识别对象的方案:通过对相机拍摄的多帧图像进行人脸检测以识别出拍摄区域内的潜在用户,再通过对潜在用户的手部动作进行判断以在潜在用户中确定手势识别对象,具体可以将在相机拍摄的多帧图像的每帧图像中都存在人脸图像、且手部动作与预设手势匹配的用户确定为相机的拍摄区域内的手势识别对象。本技术基于相机拍摄的图像即可实现自动确定手势识别对象,进一步可以对手势识别对象进行手势识别以实现隔空手势操作,适用于多种场景尤其是多用户场景下的手势识别,实现方式简单。另外,在对手势识别对象进行手势识别的过程中,不会识别除手势识别对象以外其它用户的手势,可以避免用户之间手势互相干扰导致无法实现准确进行手势控制的问题。
51.可选地,基于对用户操作习惯的考虑,由于用户在进行隔空手势操作时通常是面对相机的,基于此,本技术方案还可以排除拍摄区域内侧对相机的用户,只在面对相机的用户中确定手势识别对象,具体可以将在相机拍摄的多帧图像的每帧图像中都存在正脸图像、且手部动作与预设手势匹配的用户确定为相机的拍摄区域内的手势识别对象。这样可以降低对手势识别对象的误判概率。为了提高对手势识别对象的判定准确性,还可以在支持手势控制功能的显示设备的操作手册中明确指明:用户在进行隔空手势操作时需要面对
network,p-net)、细化网络(refinement network,r-net)和输出网络(output network,o-net)。基于mtcnn对图像进行人脸检测的过程包括:
61.首先,对输入的原始图像建立图像金字塔。图像金字塔包括对原始图像进行缩放得到的不同尺寸的多张图像。由于原始图像中可能存在尺寸不同的人脸图像,通过建立图像金字塔,可以在统一尺寸下检测到原始图像中不同尺寸的人脸图像,增强网络对不同尺寸的人脸图像的鲁棒性。
62.其次,将图像金字塔输入级联的三个网络(p-net、r-net、o-net)中,通过级联的三个网络完成对图像中的人脸图像由粗到细的检测,最终输出人脸检测结果。其中,p-net用于对输入的图像回归出多个检测框,再将回归出的多个检测框映射到原图中,通过非极大值抑制(non-maximum suppression,nms)算法去除部分冗余框,得到初步的人脸检测结果。r-net用于对p-net输出的人脸检测结果进行进一步细化和过滤。o-net用于对r-net输出的人脸检测结果进行进一步细化和过滤,输出最终的人脸检测结果。
63.可选地,基于mtcnn得到的人脸检测结果包括检测到的每个人脸图像对应的人脸检测框信息以及人脸关键点信息。其中,人脸检测框信息可以包括人脸检测框的左上角坐标和右下角坐标,人脸图像位于人脸检测框内。人脸关键点信息可以包括多个人脸关键点的坐标,该多个人脸关键点可以包括左眼、右眼、鼻子、左嘴角和右嘴角等。
64.在得到多帧第一图像中的人脸检测框信息之后,可以分别计算多帧第一图像中每相邻两帧第一图像中的人脸检测框的交并比(intersection over union,iou)值。再基于iou值确定相邻两帧第一图像中属于同一用户的人脸图像。这里的iou值可以等于将相邻两帧第一图像叠加后,该相邻两帧第一图像中的人脸检测框的相交面积与相并面积的比值。iou值的取值范围为0至1。例如,相邻两帧第一图像分别为图像a和图像b,当图像a中的第一人脸检测框与图像b中的第二人脸检测框的iou值大于预设阈值时,可以确定第一人脸检测框中的人脸图像与第二人脸检测框中的人脸图像属于同一用户。如果上述多帧第一图像包括相机连续采集的多帧图像,那么预设阈值可以取较大值,例如可以取值为0.8。如果上述多帧第一图像包括相机隔帧采集的多帧图像,那么预设阈值可以取较小值,例如可以取值为0.6。本技术实施例对预设阈值的具体取值不做限定。
65.或者,在得到多帧第一图像中的人脸图像之后,也可以通过计算人脸相似度的方式判断不同第一图像中的哪些人脸图像属于同一用户。
66.本技术实施例中,可以采用相同的用户标识来标识不同图像中属于同一用户的人脸图像,并采用不同的用户标识来标识同一图像中属于不同用户的人脸图像。如果上述多帧第一图像中的每帧第一图像都包括同一用户标识所标识的人脸图像,那么将该用户标识代表的用户确定为潜在用户。这里使用的用户标识只需区分不同用户,例如可以用数字、字符或其它标识作为用户标识。由于本技术方案无需识别出用户身份,而是只要能够区分不同用户即可,也就无需预先设置场景中可能存在的手势识别对象,可以灵活适用于各种多用户场景,尤其是用户群体多变的多用户场景,例如公用会议室等。
67.由于用户在进行隔空手势操作时通常是面对相机的,本技术实施例还可以排除拍摄区域内侧对相机的用户,只在面对相机的用户中确定潜在用户,这样可以降低对手势识别对象的误判概率。
68.可选地,上述潜在用户所满足的多帧第一图像中的每帧第一图像都包括该潜在用
户的人脸图像中的人脸图像这个条件中,人脸图像为正脸图像,即潜在用户满足:多帧第一图像中的每帧第一图像都包括该潜在用户的正脸图像。也即是,将在多帧第一图像的每帧第一图像中都存在正脸图像的用户作为拍摄区域内的潜在用户。
69.在一种实现方式中,可以将人脸图像输入预先训练得到的分类模型,以得到分类模型输出的分类结果,该分类结果指示输入的人脸图像属于正脸还是侧脸。该分类模型可以基于训练样本集通过有监督学习的方式训练得到。其中,训练样本集可以包括大量样本人脸图像,每张样本人脸图像都标注有标签,该标签指示样本人脸图像属于正脸还是侧脸。
70.例如,可以使用轻量级的深度神经网络——mobilenetv2建立二分类模型。mobilenetv2常应用于手机等移动端中的分类任务。向mobilenetv2输入人脸图像后,mobilenetv2会输出分类结果。分类结果有两种,可以分别采用0和1来表示。其中,0可以表示输入的人脸图像属于侧脸,1可以表示输入的人脸图像属于正脸。
71.在另一种实现方式中,可以预先设置人脸偏转角度范围,如果用户的人脸偏转角度在该人脸偏转角度范围内,那么视为这个用户是面对相机的,即图像中该用户的人脸图像为正脸图像。在获取人脸图像之后,可以基于人脸图像进行人脸姿态估计,以得到该人脸图像所属用户的人脸偏转角度。如果该人脸图像所属用户的人脸偏转角度处于预先设置的人脸偏转角度范围内,则判定该人脸图像为正脸图像,否则判定该人脸图像为侧脸图像。
72.如果潜在用户距离相机较远,那么相机拍摄的图像中该潜在用户的人体图像会较小,可能无法体现用户手部细节,这样可能会导致后续对用户的手部动作的误判。因此本技术实施例中,在确定拍摄区域内的潜在用户之后,还可以获取潜在用户到相机的距离。当潜在用户到相机的距离超出距离阈值时,输出距离提示。该距离提示用于提示潜在用户靠近相机。如果这个潜在用户要进行隔空手势操作,那么可以根据距离提示靠近相机,这样可以提高对手势识别对象的判定准确性,进一步还可以提高对手势识别对象的隔空手势的识别准确性。
73.当本技术方案由显示设备执行时,显示设备输出距离提示,可以是显示设备显示距离提示。当本技术方案由与显示设备连接的后处理端执行时,后处理端输出距离提示,可以是后处理端向连接的显示设备发送距离提示,以在显示设备上显示该距离提示。
74.可选地,获取潜在用户到相机的距离的实现过程,包括:根据相机的焦距、潜在用户在第一图像中的双眼间距以及预设用户双眼间距,确定潜在用户到相机的距离。这里,潜在用户在第一图像中的双眼间距可以是,潜在用户在包含该潜在用户的正脸图像的第一图像中的双眼间距。其中,预设用户双眼间距是预先设置的固定值。由于不同用户的实际双眼间距的差异较小,因此可以选用多个用户的实际双眼间距的平均值作为预设用户双眼间距。
75.例如,图3是本技术实施例提供的一种测距原理示意图。如图3所示,相机的焦距为f,用户在该相机拍摄的包含该用户的正脸图像的图像(即成像平面)中的双眼间距为m,预设用户双眼间距为k,假设用户到相机的距离为d,则根据相似三角形原理可以得到:m/f=k/d,由此可推导出用户到相机的距离d=(k*f)/m。
76.本技术实施例中,不限于相机是单目相机、双目相机或者是否集成有深度传感器,基于相似三角形原理即可确定用户到相机的距离,计算方式简单,实现成本较低。
77.可选地,当相机为双目相机时,还可以基于双目测距原理计算得到潜在用户到相
机的距离。或者,当相机集成有深度传感器时,还可以通过深度传感器测量得到潜在用户到相机的距离。其中,深度传感器可以是超声波雷达、毫米波雷达、激光雷达或者结构光传感器,本技术实施例对此不作限定。应理解,该深度传感器也可以为其它可测量距离的设备。
78.步骤202、分别获取多帧第一图像中潜在用户对应的待识别区域,潜在用户对应的待识别区域包括潜在用户的手部图像。
79.可选地,每帧第一图像中都有潜在用户对应的待识别区域。可选地,潜在用户对应的待识别区域还包括潜在用户的肘部图像。本技术实施例涉及的图像中的待识别区域为图像中的感兴趣区域(region of interest,roi),即图像中需要被处理的区域。
80.在上述步骤201确定拍摄区域内的潜在用户的过程中,可以得到潜在用户分别在多帧第一图像中的人脸图像。相应地,步骤202的实现过程可以包括:确定潜在用户在第一图像中的人脸图像位置,并根据潜在用户在第一图像中的人脸图像位置,确定该第一图像中该潜在用户对应的待识别区域。潜在用户对应的待识别区域除了包括该潜在用户的手部图像以外,还可以包括该潜在用户的人脸图像。
81.可选地,可以对潜在用户在第一图像中的人脸成像区域进行拓展,裁剪得到包含手部图像以及人脸图像的待识别区域。例如,图4是本技术实施例提供的一种图像示意图。如图4所示,该图像包括用户a的人体图像、用户b的人体图像、用户c的人体图像以及用户d的人体图像。其中,用户a和用户b的人体图像包括正脸图像,用户c和用户d的人体图像包括侧脸图像。假设用户a和用户b是拍摄区域内的潜在用户,则可以对用户a在图像中的人脸成像区域a1进行拓展,裁剪得到该图像中用户a对应的待识别区域(区域a2);对用户b在图像中的人脸成像区域b1进行拓展,裁剪得到该图像中用户b对应的待识别区域(区域b2)。
82.步骤203、根据多帧第一图像中潜在用户对应的待识别区域,确定潜在用户的手部动作。
83.可选地,步骤203的实现过程可以包括:对多帧第一图像中潜在用户对应的待识别区域分别进行关键点检测,得到该潜在用户的多组手部关键点信息。根据该潜在用户的多组手部关键点信息,确定该潜在用户的手部动作。
84.其中,对多帧第一图像中潜在用户对应的待识别区域分别进行关键点检测,得到该潜在用户的多组手部关键点信息,可以是对每帧第一图像中潜在用户对应的待识别区域进行关键点检测,以得到该潜在用户的一组手部关键点信息。
85.可选地,一组手部关键点信息包括多个手部关键点的位置以及多个手部关键点之间的连接关系。每个手部关键点代表手部的一个特定部位。例如,图5是本技术实施例提供的一种手部关键点的分布示意图。如图5所示,手部可以包括手腕(0)、腕掌骨关节(1)、拇指掌指关节(2)、拇指指间关节(3)、拇指指尖(4)、食指掌指关节(5)、食指近端指间关节(6)、食指远端指间关节(7)、食指指尖(8)、中指掌指关节(9)、中指近端指间关节(10)、中指远端指间关节(11)、中指指尖(12)、无名指掌指关节(13)、无名指近端指间关节(14)、无名指远端指间关节(15)、无名指指尖(16)、小指掌指关节(17)、小指近端指间关节(18)、小指远端指间关节(19)、小指指尖(20)这21个手部关键点。
86.本技术实施例在对包含潜在用户的手部图像的待识别区域进行关键点检测时,可以检测上述21个手部关键点,或者也可以检测更多或更少的手部关键点。
87.例如,可以使用基于深度神经网络的关键点检测器对待识别区域进行关键点检
测,该关键点检测器可以是基于热力图(heatmap)技术实现的。关键点检测器可以采用自下而上的方式对待识别区域进行关键点检测。假设检测目标包括21个手部关键点,则可以生成包含21个通道的热力图,每一个通道即为一个手部关键点的概率图(热力分布图);概率图中的数字表征了该处为手部关键点的概率大小,数字越接近1表示该处为手部关键点的概率越大。同时生成包含21*2个通道的矢量图,每2个通道包含一个手部关键点的位置信息(二维信息)。由此可以得到手部关键点的位置。进一步,关键点检测器基于部分亲和字段(par affinity fields,paf)将检测得到的手部关键点连接起来,由此可以得到多个手部关键点之间的连接关系。
88.可选地,在得到潜在用户的多组手部关键点信息之后,可以根据多组手部关键点信息确定潜在用户的手部的形态变化和/或位移,进而确定该潜在用户的手部动作。
89.当用户的多个手部关键点过于紧凑或检测结果中缺失部分手部关键点时,可能会导致对用户的手部动作的误判或漏判,因此可以结合用户的肘部关键点的移动方向来辅助判断用户的手部移动方向,进而确定用户的手部动作。可选地,第一图像中潜在用户对应的待识别区域可以包括潜在用户的手部图像和肘部图像。则步骤203的实现过程可以包括:对多帧第一图像中潜在用户对应的待识别区域分别进行关键点检测,得到该潜在用户的多组手部及肘部关键点信息;根据该潜在用户的多组手部及肘部关键点信息,确定该潜在用户的手部动作。
90.步骤204、将一个或多个潜在用户中的目标用户确定为手势识别对象,目标用户的手部动作与预设手势匹配。
91.可选地,预设手势包括待识别手势的起始部分。例如,一个完整的待识别手势需要10帧图像才能判定,则可以选取用作判定为待识别手势的起始3帧图像对应的手势作为预设手势。这样,当用户需要进行隔空手势操作时,直接在相机的拍摄区域内执行待识别手势即可,而无需执行其它特定的唤醒手势来开启设备的手势识别功能,在用户无感知的情况下实现手势识别对象的确定,可以简化用户操作,提升用户体验。
92.其中,待识别手势为显示设备中预先配置的能够转换为控制指令的手势。例如在会议场景中,会议终端上预先配置的待识别手势可以包括向上翻页手势、向下翻页手势、向左翻页手势、向右翻页手势和截屏手势。当确定某个潜在用户的手部动作是从左向右移动时,则可以判定该潜在用户的手部动作与向左翻页手势的起始部分匹配,进而可以将该潜在用户确定为手势识别对象。
93.可选地,当相机的拍摄区域内存在手部动作与预设手势匹配的多个潜在用户时,将距离相机最近的潜在用户作为目标用户。
94.本技术实施例中,同一时刻最多只能确定出一个手势识别对象,手势识别对象可能会随着时间推移发生变化。距离相机越近的用户被确定为手势识别对象的概率越高。
95.可选地,当相机在目标用户作为手势识别对象之后,对拍摄区域进行拍摄得到的图像中不包括目标用户的人脸图像的图像数量超出数量阈值,或者,目标用户作为手势识别对象的持续时长达到时长阈值时,结束将目标用户作为手势识别对象。例如,数量阈值可以取值为3帧,即当相机采集的图像中不包括目标用户的人脸图像超过3帧时,则不再将该目标用户作为手势识别对象,并重新开始执行手势识别对象确定流程。时长阈值为预先设置的老化时间,例如可以取值为20秒,即每次确定的手势识别对象的最多有效时长为20秒,
超过20秒则确定的手势识别对象失效,需要重新再确定手势识别对象,以满足应用场景中手势识别对象灵活多变的需求。
96.可选地,结束将目标用户作为手势识别对象的条件还可以是目标用户作为手势识别对象之后的一定时长(取值小于老化时间)内没有作出正确的待识别手势,或者,检测到目标用户的手放下了,或者,目标用户的手部保持不动(这种情况可以排除用户恶意占用手势识别对象的情况),等等,本技术实施例对将目标用户不再作为手势识别对象的结束条件不做限定。
97.例如,假设采用3帧图像来判定潜在用户,且判定条件中的人脸图像为正脸图像,结束将用户作为手势识别对象的条件为:相机在用户作为手势识别对象之后对拍摄区域进行拍摄得到的图像中不包括该用户的人脸图像的图像数量超出数量阈值。则本技术实施例提供的手势识别对象确定方法的实现可以如下:在确定手势识别对象的过程中,如果存在3帧图像满足包括用户的正脸图像,且基于这3帧图像确定这个用户的手部动作与预设手势匹配,那么可以将该用户确定为手势识别对象,接下来会对该用户进行手势识别。同时,在将该用户确定为手势识别对象之后,还会实时检测接下来采集的图像中是否包括该用户的正脸图像,如果不包括该用户的正脸图像的图像达到一定数量,则结束将该用户作为手势识别对象,并重新开始执行手势识别对象确定流程。手势识别对象确定流程可以是在相机的拍摄区域内不存在手势识别对象时执行的,也即是,在确定手势识别对象之后,显示设备或与显示设备连接的后处理端可以停止执行手势识别对象确定流程直至上一次确定的手势识别对象失效。
98.步骤205、获取多帧第二图像中目标用户对应的待识别区域,目标用户对应的待识别区域包括目标用户的手部图像。
99.这里,获取多帧第二图像中目标用户对应的待识别区域,可以理解为,只获取多帧第二图像中目标用户对应的待识别区域,而不再获取多帧第二图像中除目标用户以外的其它用户对应的待识别区域。该多帧第二图像是在将目标用户确定为手势识别对象之后,由相机对拍摄区域进行拍摄得到的。也即是,第二图像的拍摄时刻在时序上位于第一图像的拍摄时刻之后。例如,在一种情况下,多帧第二图像的拍摄时刻与多帧第一图像的拍摄时刻是连续的,即相机对拍摄区域进行拍摄得到的前n帧图像为第一图像,在这n帧图像之后拍摄得到的图像为第二图像。在另一种情况下,多帧第二图像的拍摄时刻也可以与多帧第一图像的拍摄时刻不连续。本技术中采用“第一图像”和“第二图像”来区分图像的拍摄时机,第一图像指的是在确定手势识别对象之前相机拍摄的图像,第二图像指的是在确定手势识别对象之后相机拍摄的图像。
100.可选地,在上述步骤204中将目标用户确定为手势识别对象之后,还可以保存目标用户的人脸信息,以通过目标用户的人脸信息关联上目标用户的手部动作,实现对目标用户的手部追踪,进而实现对目标用户的手势识别。其中,目标用户的人脸信息包括目标用户的人脸图像在相机拍摄的多帧第一图像中的位置以及运动趋势,或者,目标用户的人脸信息包括目标用户的人脸特征。步骤205的实现过程可以包括:根据保存的目标用户的人脸信息,确定目标用户在第二图像中的人脸图像位置。根据目标用户在第二图像中的人脸图像位置,确定第二图像中目标用户对应的待识别区域。
101.可选地,可以对第二图像进行人脸检测,以得到第二图像中的人脸图像。当保存的
目标用户的人脸信息为目标用户的人脸图像在相机拍摄的多帧第一图像中的位置以及运动趋势时,可以通过人脸跟踪算法确定第二图像中属于目标用户的人脸图像,例如基于mtcnn对第二图像进行人脸检测,并分别计算第二图像中的一个或多个人脸检测框与前一帧图像中目标用户的人脸检测框的iou值,以确定第二图像中目标用户的人脸检测框,进而得到目标用户在第二图像中的人脸图像位置。或者,当保存的目标用户的人脸信息为目标用户的人脸特征时,在得到第二图像中的一个或多个人脸图像之后,可以通过计算人脸相似度的方式确定第二图像中的哪个人脸图像属于目标用户。
102.可选地,根据目标用户在第二图像中的人脸图像位置,确定第二图像中目标用户对应的待识别区域的实现方式可参考上述步骤202中根据潜在用户在第一图像中的人脸图像位置,确定该第一图像中该潜在用户对应的待识别区域的实现方式,本技术实施例在此不再赘述。
103.步骤206、根据多帧第二图像中目标用户对应的待识别区域,对目标用户进行手势识别。
104.在目标用户作为手势识别对象的过程中,可以持续对目标用户进行手势识别。对目标用户进行手势识别,可以是,判断目标用户的手部动作是否与预设的待识别手势匹配。
105.可选地,步骤206的实现方式包括:将多帧第二图像中目标用户对应的待识别区域作为图像序列输入手势识别模型,以得到手势识别模型输出的手势识别结果。其中,手势识别结果可以指示某个预设的待识别手势,表示在该多帧第二图像的拍摄时段内,目标用户执行了该待识别手势;或者,手势识别结果可以指示不存在匹配的待识别手势,表示在该多帧第二图像的拍摄时段内,目标用户没有执行任何预设的待识别手势;又或者,手势识别结果可以包括预设的各个待识别手势的置信度,显示设备或与显示设备连接的后处理端可以将置信度最高且高于某个阈值的待识别手势作为目标用户执行的待识别手势,如果不存在置信度高于该阈值的待识别手势,则表示在该多帧第二图像的拍摄时段内,目标用户没有执行任何预设的待识别手势。
106.进一步地,在对目标用户进行手势识别之后,如果确定在多帧第二图像的拍摄时段内,目标用户执行了某个待识别手势,则响应该待识别手势对应的操控指令,以实现隔空手势操作,并且继续对目标用户进行手势识别,直至满足结束将目标用户作为手势识别对象的条件。如果确定在多帧第二图像的拍摄时段内,目标用户没有执行任何待识别手势,那么可以继续对目标用户进行手势识别,直至满足结束将目标用户作为手势识别对象的条件。
107.可选地,如果上述用来判定手势识别对象的预设手势包括待识别手势的起始部分,那么可以根据多帧第一图像中目标用户对应的待识别区域以及多帧第二图像中目标用户对应的待识别区域,判断目标用户是否执行了包含该预设手势的待识别手势。也即是,用户在相机的拍摄区域内执行了某种待识别手势后,显示设备或与显示设备连接的后处理端可以基于该待识别手势将该用户确定为手势识别对象,然后响应该待识别手势对应的操控指令。
108.本技术实施例中,在目标用户作为手势识别对象的过程中,显示设备或与显示设备连接的后处理端在一段时间内只对目标用户进行手势识别,而不会对除目标用户以外的其它用户进行手势识别,即在一段时间内锁定识别一个用户的手势,可以避免用户之间手
势互相干扰导致无法实现准确进行手势控制的问题。
109.本技术实施例提供的手势识别对象确定方法的步骤的先后顺序能够进行适当调整,步骤也能够根据情况进行相应增减。任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本技术的保护范围之内,因此不再赘述。
110.综上所述,在本技术实施例提供的手势识别对象确定方法中,将在相机拍摄的多帧图像的每帧图像中都存在人脸图像、且手部动作与预设手势匹配的用户确定为相机的拍摄区域内的手势识别对象。基于相机拍摄的图像即可实现自动确定手势识别对象,进一步可以对手势识别对象进行手势识别以实现隔空手势操作,适用于多种场景尤其是多用户场景下的手势识别,实现方式简单。另外,在对手势识别对象进行手势识别的过程中,不会识别除手势识别对象以外其它用户的手势,可以避免用户之间手势互相干扰导致无法实现准确进行手势控制的问题。可选地,还可以排除拍摄区域内侧对相机的用户,只在面对相机的用户中确定手势识别对象,这样可以降低对手势识别对象的误判概率。可选地,将待识别手势的起始部分作为用来判定手势识别对象的预设手势,当用户需要进行隔空手势操作时,直接在相机的拍摄区域内执行待识别手势即可,而无需执行其它特定的唤醒手势来开启设备的手势识别功能,在用户无感知的情况下实现手势识别对象的确定,可以简化用户操作,提升用户体验。
111.图6是本技术实施例提供的一种手势识别对象确定装置的结构示意图。如图6所示,装置600包括:
112.第一确定模块601,用于根据相机对拍摄区域进行拍摄得到的多帧第一图像,确定拍摄区域内的一个或多个潜在用户,潜在用户满足:多帧第一图像中的每帧第一图像都包括潜在用户的人脸图像。
113.第二确定模块602,用于根据多帧第一图像中潜在用户对应的待识别区域,确定潜在用户的手部动作,潜在用户对应的待识别区域包括潜在用户的手部图像。
114.第三确定模块603,用于将一个或多个潜在用户中的目标用户确定为手势识别对象,目标用户的手部动作与预设手势匹配。
115.可选地,如图7所示,装置600还包括:第一获取模块604,用于在将一个或多个潜在用户中的目标用户确定为手势识别对象之后,获取多帧第二图像中目标用户对应的待识别区域,目标用户对应的待识别区域包括目标用户的手部图像,多帧第二图像是在将目标用户确定为手势识别对象之后,由相机对拍摄区域进行拍摄得到的。手势识别模块605,用于根据多帧第二图像中目标用户对应的待识别区域,对目标用户进行手势识别。
116.可选地,预设手势包括待识别手势的起始部分。手势识别模块605,用于:根据多帧第一图像中目标用户对应的待识别区域以及多帧第二图像中目标用户对应的待识别区域,判断目标用户是否执行了待识别手势。
117.可选地,第一获取模块604,用于:根据保存的目标用户的人脸信息,确定目标用户在第二图像中的人脸图像位置。根据目标用户在第二图像中的人脸图像位置,确定第二图像中目标用户对应的待识别区域。
118.可选地,如图8所示,装置600还包括:第四确定模块606,用于当相机在目标用户作为手势识别对象之后,对拍摄区域进行拍摄得到的图像中不包括目标用户的人脸图像的图像数量超出数量阈值,或者,目标用户作为手势识别对象的持续时长达到时长阈值时,结束
将目标用户作为手势识别对象。
119.可选地,如图9所示,装置600还包括:第五确定模块607,用于在确定拍摄区域内的一个或多个潜在用户之后,确定潜在用户在第一图像中的人脸图像位置。第六确定模块608,用于根据潜在用户在第一图像中的人脸图像位置,确定第一图像中潜在用户对应的待识别区域。
120.可选地,第三确定模块603,用于:当拍摄区域内存在手部动作与预设手势匹配的多个潜在用户时,将距离相机最近的潜在用户作为目标用户。
121.可选地,如图10所示,装置600还包括:第二获取模块609,用于获取潜在用户到相机的距离。输出模块610,用于当潜在用户到相机的距离超出距离阈值时,输出距离提示,距离提示用于提示潜在用户靠近相机。如果上述手势识别对象确定装置为显示设备,则输出模块610具体为显示模块。或者,如果上述手势识别对象确定装置为后处理端,则输出模块610具体为发送模块。
122.可选地,第二获取模块609,用于:根据相机的焦距、潜在用户在第一图像中的双眼间距以及预设用户双眼间距,确定潜在用户到相机的距离。
123.可选地,第二确定模块602,用于:对多帧第一图像中潜在用户对应的待识别区域分别进行关键点检测,得到潜在用户的多组手部关键点信息。根据潜在用户的多组手部关键点信息,确定潜在用户的手部动作。
124.可选地,潜在用户对应的待识别区域还包括潜在用户的肘部图像。第二确定模块602,用于:对多帧第一图像中潜在用户对应的待识别区域分别进行关键点检测,得到潜在用户的多组手部及肘部关键点信息。根据潜在用户的多组手部及肘部关键点信息,确定潜在用户的手部动作。
125.可选地,上述人脸图像为正脸图像。
126.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
127.图11是本技术实施例提供的一种手势识别对象确定设备的框图。该手势识别对象确定设备可以是通用计算设备,例如在会议场景中,该通用计算设备可以是会议终端或会议后处理端。可选地,会议终端可以是大屏或电子白板等。会议后处理端可以是一台服务器、或者由多台服务器组成的服务器集群、或者云计算平台等。如图11所示,该手势识别对象确定设备1100包括:处理器1101和存储器1102。
128.存储器1102,用于存储计算机程序,所述计算机程序包括程序指令;
129.处理器1101,用于调用所述计算机程序,实现如上述方法实施例中图2示出的方法步骤。
130.可选地,该手势识别对象确定设备1100还包括通信总线1103和通信接口1104。
131.其中,处理器1101包括一个或者一个以上处理核心,处理器1101通过运行计算机程序,执行各种功能应用以及数据处理。
132.存储器1102可用于存储计算机程序。可选地,存储器可存储操作系统和至少一个功能所需的应用程序单元。操作系统可以是实时操作系统(real time executive,rtx)、linux、unix、windows或os x之类的操作系统。
133.通信接口1104可以为多个,通信接口1104用于与其它存储设备或网络设备进行通
信。例如在本技术实施例中,当手势识别对象确定设备为会议后处理端时,会议后处理端的通信接口可以用于向会议终端发送手势识别对象确定结果等。网络设备可以是交换机或路由器等。
134.存储器1102与通信接口1104分别通过通信总线1103与处理器1101连接。
135.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现如上述方法实施例中图2示出的方法步骤。
136.本技术实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上述方法实施例中图2示出的方法步骤。
137.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
138.在本技术实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
139.本技术中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
140.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。