CN105046249B - 一种人机交互方法 - Google Patents

一种人机交互方法 Download PDF

Info

Publication number
CN105046249B
CN105046249B CN201510563584.8A CN201510563584A CN105046249B CN 105046249 B CN105046249 B CN 105046249B CN 201510563584 A CN201510563584 A CN 201510563584A CN 105046249 B CN105046249 B CN 105046249B
Authority
CN
China
Prior art keywords
hand
sequence
user
characteristic point
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510563584.8A
Other languages
English (en)
Other versions
CN105046249A (zh
Inventor
李建英
朱磊
韩琦
杨晓光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Yishe Technology Co Ltd
Original Assignee
Harbin Yishe Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Yishe Technology Co Ltd filed Critical Harbin Yishe Technology Co Ltd
Priority to CN201510563584.8A priority Critical patent/CN105046249B/zh
Publication of CN105046249A publication Critical patent/CN105046249A/zh
Application granted granted Critical
Publication of CN105046249B publication Critical patent/CN105046249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures

Abstract

本发明提供了一种人机交互方法,该人机交互方法包括:获取含有深度信息的使用者手部的待测图像序列;在待测图像序列的每帧图像中检测出使用者的手部轮廓;利用预设的手部结构模板,在待测图像序列的每帧图像中确定每只手的待测特征点序列;在多个预设特征点序列中确定每只手的待测特征点序列的匹配序列,以确定每只手的动作名称和位置;在预设手势表中选择与使用者双手的动作名称和位置相匹配的手势;根据预设操作指令表,确定与已识别手势对应的操作指令;对与确定的操作指令相关的设备进行与该操作指令对应的操作。本发明的上述技术能够在人机交互过程中准确识别使用者的手势,识别精度较高,而且识别速度较快。

Description

一种人机交互方法
技术领域
本发明涉及计算机技术,尤其涉及一种人机交互方法。
背景技术
随着移动计算设备从笔记本电脑到手机、平板电脑的演化,移动计算设备的操控方式也经历了从键盘、鼠标到手机按键、手写板,再到触摸屏、虚拟键盘的进化,可以看到,移动设备的操控方式是朝着越来越直观、简便,并且符合人的自然习惯的方向进化的。
目前在移动计算设备上广泛使用的基于触摸屏的操控方式,技术上是将一块透明的触摸感应屏和显示屏贴合在一起,触摸感应屏实质上是一个定位装置,能够捕捉到屏幕上的触摸动作并获取其位置,同时结合时间轴信息,将动作识别其为点触、长触、滑动等动作之一。进而将位置和动作信息作为指令传递给移动计算设备,移动计算设备基于该指令做出相应的操作反应。由于触摸感应屏与显示屏是叠加在一起的,因此带给使用者“所点即所想”的使用感受,相比鼠标、触控板等定位设备需要通过光标反馈位置的输入方式,屏幕触控方式带来更好的使用体验。
屏幕触控方式相比键盘加鼠标的方式,更加符合人的直观反应、更容易学习,但是屏幕触控方式毕竟只捕捉到了人体手指的动作,在一些需要更多使用者本体信息输入的场合,比如运动游戏、模拟训练、复杂操控、远距离操控等,屏幕触控方式就显示出其捕获人体信息过于单一的局限性了。从人机交互的角度,更多的使用者信息的获取,将能够传达更丰富、更精准的使用者操作意图,因此必然能够带来更便利的操控方法和更好的使用体验。然而,目前的人机交互技术中的手势识别处理所采用的算法较为复杂、耗费时间且识别精度低,实时性较差,不适合即时交互需求的场合。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
鉴于此,本发明提供了一种人机交互方法,以至少解决现有的人机交互技术中的手势识别处理所采用的算法较为复杂、耗费时间且识别精度低的问题。
根据本发明的一个方面,提供了一种人机交互方法,所述人机交互方法包括:步骤一、获取含有深度信息的使用者手部的待测图像序列;步骤二、根据图像深度信息和图像颜色信息,在所述待测图像序列的每帧图像中检测出所述使用者的手部轮廓;步骤三、针对所述使用者的每只手,利用预设的手部结构模板,在所述待测图像序列的每帧图像中确定该只手的待测特征点序列;步骤四、针对所述使用者的每只手,在多个预设特征点序列中确定该只手的待测特征点序列的匹配序列,以根据所述匹配序列确定该只手的动作名称和位置;步骤五、在预设手势表中选择与所述使用者双手的动作名称和位置相匹配的手势,作为已识别手势;步骤六、根据预设操作指令表,确定与所述已识别手势对应的操作指令;步骤七、对与确定的操作指令相关的设备进行与该操作指令对应的操作。
进一步地,步骤三可以包括:步骤三一、针对所述使用者的每只手,利用预设的手部结构模板,在所述待测图像序列的每帧图像的手部轮廓中确定该只手的预定数目个特征点;步骤三二、针对所述使用者的每只手,利用该只手在所述待测图像序列的各帧图像中对应的预定数目个特征点,获得该只手的待测特征点序列。
进一步地,步骤一可以包括:通过捕获预定成像区域内的所述使用者手部的图像,获得可见光图像序列和红外图像序列为所述可见光图像序列第i帧图像坐标(x,y)处的像素值,而为所述红外图像序列第i 帧图像坐标(x,y)处的像素值,根据如下公式获得抽取使用者双手信息的图像序列:
其中,α、β、λ为预设参数阈值,为获取的含有深度信息的使用者双手的图像序列,作为所述待测图像序列,i=1,2,…,M,M为所述待测图像序列所包含的图像帧数。
进一步地,步骤二可以包括:针对所述待测图像序列中的每帧图像结合颜色信息删除该帧图像中的噪声点及非肤色区域,利用边缘检测算子E(·)对删除所述噪声点和所述非肤色区域后所得到的图像进行边缘检测,得到边缘图像所述边缘图像即为仅包含所述使用者手部轮廓的图像。
进一步地,步骤三一包括:针对所述待测图像序列的每帧图像执行以下处理:根据该图像中的轮廓线的曲率找到该轮廓线中的指尖点和指根关节点;将所述指尖点作为定位基点,匹配每个单指的指根关节点,得到各单指的长度作为尺度缩放的基准;基于所述指尖点和所述指根关节点的位置以及各单指的长度对相应的所述手部结构模板进行缩放和形变,通过匹配得到每只手的各指关节特征点和手腕中点特征点;其中,所述手部结构模板包括左手结构模板和右手结构模板,所述左手结构模板和右手结构模板各自包括:各手指的指尖特征点、各指关节特征点、各指根关节特征点、手腕中点特征点以及各特征点之间的拓扑关系。
进一步地,步骤四可以包括:步骤四一、针对每只手的待测特征点序列,根据预定时间窗将该待测特征点序列分割为多个子序列,并获得每个子序列对应的平均位置;步骤四二、针对每只手对应的每个子序列,将该子序列与所述多个预设特征点序列中的每一个分别进行匹配,在所述多个预设特征点序列中选择与该子序列的匹配程度高于预设的匹配阈值、并且最大的预设特征点序列,作为该子序列的匹配序列;步骤四三、将每个子序列对应的平均位置与该子序列的匹配序列对应的动作名称相关联;步骤四四、针对每只手,将该只手对应的各子序列的匹配序列作为该只手对应的多个匹配序列,并将该多个匹配序列各自对应的动作名称作为该只手的多个动作名称。
进一步地,步骤五可以包括:步骤五一、预先设置如下映射列表来作为所述预设手势表:该映射列表中的每个映射的左端是一组动作名称对及每个动作名称对的位置;该映射列表中的每个映射的右端是一个手势;步骤五二、将所述预设手势表中的每个映射的左端与所述使用者双手的动作名称和位置进行匹配,其中,动作名称的匹配执行严格匹配,而位置则是通过使用者双手各自的平均位置计算得到相对位置信息,进而计算该相对位置信息与映射左端的位置之间的相似度来实现的。
进一步地,所述人机交互方法还可以包括:步骤八:将所述使用者每只手的位置传递给所述设备,以基于所述使用者每只手的位置在所述设备的屏幕上显示所述使用者手部的半透明简化手部模拟图形。
进一步地,步骤八可以包括:步骤八一、根据所述使用者每只手在所述待测图像序列的每帧图像中对应的待测特征点序列,通过连接骨骼后外延得到该只手的外轮廓图形,作为该只手的模拟图形;步骤八二、通过对所述使用者双手的相对位置进行平移校准和比例缩放,确定所述使用者的每只手在所述屏幕中的显示位置;步骤八三、基于所述使用者每只手的模拟图形和显示位置来在所述屏幕中显示所述使用者手部的模拟图形。
上述根据本发明实施例的人机交互方法,先识别单手动作、再通过双手动作识别手势,进而根据已识别手势来执行对应操作,在人机交互过程中能够准确识别使用者的手势,识别精度较高,而且识别速度较快。
此外,由于本发明实施例采用深度摄像头获取使用者的人体动作作为操作移动计算设备的输入操控指令,因此能够令使用者使用更加直观、便利的自然动作实现对移动计算设备的非接触式操控,为移动计算设备在诸如运动游戏、模拟训练、复杂操控、远距离操控等领域中的应用提供更加便捷精准的输入、控制方法。
本发明的上述人机交互方法采用层次化设计算法,算法复杂度低,便于实现。
此外,应用本发明的上述人机交互方法,当需要改变(例如修改、增加或减少等)对动作和/或手势的定义时,可以仅通过调整模板(即,通过修改预设特征点序列对应的动作名称来改变动作的定义,通过增加或减少预设特征点序列及其对应动作名称来增、减动作)以及预设手势表(即,通过修改预设手势表中手势对应的多个动作来改变手势的定义,通过增加或减少预设手势表中的手势及其对应动作来增、减手势),而不需改变算法或者重新训练分类器,大大提高了算法的适应性。
此外,本发明的上述人机交互方法的实时性强,能够适合即时交互需求的场合。
通过以下结合附图对本发明的最佳实施例的详细说明,本发明的这些以及其他优点将更加明显。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。在附图中:
图1是示出本发明的人机交互方法的一个示例处理的流程图;
图2是示出图1所示的步骤三的示例处理的流程图;
图3是示出图1所示的步骤四的示例处理的流程图;
图4是示出图1所示的步骤五的示例处理的流程图;
图5是示出本发明的人机交互方法的另一个示例的步骤八的示例处理的流程图。
本领域技术人员应当理解,附图中的元件仅仅是为了简单和清楚起见而示出的,而且不一定是按比例绘制的。例如,附图中某些元件的尺寸可能相对于其他元件放大了,以便有助于提高对本发明实施例的理解。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
本发明的实施例提供了一种人机交互方法,该人机交互方法包括:步骤一、获取含有深度信息的使用者手部的待测图像序列;步骤二、根据图像深度信息和图像颜色信息,在所述待测图像序列的每帧图像中检测出所述使用者的手部轮廓;步骤三、针对所述使用者的每只手,利用预设的手部结构模板,在所述待测图像序列的每帧图像中确定该只手的待测特征点序列;步骤四、针对所述使用者的每只手,在多个预设特征点序列中确定该只手的待测特征点序列的匹配序列,以根据所述匹配序列确定该只手的动作名称和位置;步骤五、在预设手势表中选择与所述使用者双手的动作名称和位置相匹配的手势,作为已识别手势;步骤六、根据预设操作指令表,确定与所述已识别手势对应的操作指令;步骤七、对与确定的操作指令相关的设备进行与该操作指令对应的操作。
图1示出了本发明的人机交互方法的一个示例处理的流程图。上述人机交互方法的示例性处理开始于步骤一。
如图1所示,在步骤一中,获取含有深度信息的使用者手部的待测图像序列。
根据一种实现方式,可以通过如下步骤来实现步骤一的处理:通过捕获预定成像区域内的使用者手部的图像,(例如可以利用深度摄像头上的可见光图像传感器和红外图像传感器)获得可见光图像序列和红外图像序列为可见光图像序列第i帧图像坐标(x,y)处的像素值,而为红外图像序列第i帧图像坐标(x,y)处的像素值,根据如下公式可以得到抽取使用者双手信息的图像序列:
其中,α、β、λ为预设参数阈值,这些预设参数阈值可以根据经验值来设定,也可以通过试验的方法来确定(例如通过实际使用特定型号的深度摄像头采集到的样本图像训练得到),这里不再赘述。为获取的含有深度信息的使用者双手的图像序列,作为上述待测图像序列。此外,i=1,2,…,M,M为待测图像序列中所包括的图像帧数。
需要说明的是,根据使用者手势所使用的手数量的不同(单只或双只),在预定成像区域内所捕获的图像可能是包含使用者双手的图像,也可能是仅包含使用者单只手的图像。另外,获取的待测图像序列可以是在一个时间段内获得的,该时间段可以预先根据经验值设置,例如可为10秒。
然后,在步骤二中,根据图像深度信息和图像颜色信息,在待测图像序列的每帧图像中检测出使用者的手部轮廓。其中,检测出的手部轮廓可能是双手轮廓,也可能是单手轮廓。
根据一种实现方式,可以通过如下步骤来实现步骤二的处理:针对待测图像序列中的每帧图像结合颜色信息删除该帧图像中的噪声点及非肤色区域,利用边缘检测算子E(·)对删除噪声点和非肤色区域后所得到的图像进行边缘检测,从而得到边缘图像
边缘图像即为仅包含使用者手部轮廓的图像。
其中,在“结合颜色信息删除该帧图像中的噪声点及非肤色区域”的处理过程中,可以利用现有的去噪方法来删除图像中的噪声点,并可以通过计算图像的均值来得到肤色区域,则肤色区域之外的区域即为非肤色区域,即可实现对非肤色区域的删除。例如,得到图像的均值之后,在该均值上下浮动一个范围,得到包含该均值的一个颜色范围,当图像中某点的颜色值落在这个颜色范围之内,则将该点确定是肤色点,否则认为不是肤色点;所有肤色点构成肤色区域,其余为非肤色区域。
由此,通过步骤二的处理,能够快速检测出使用者的手部轮廓,提高了整个处理的速度和效率。
接着,在步骤三中,针对使用者的每只手,利用预设的手部结构模板,在待测图像序列的每帧图像中确定该只手的待测特征点序列。
其中,手部结构模板包括左手结构模板和右手结构模板,左手结构模板和右手结构模板各自包括预定数目个特征点以及各特征点之间的拓扑关系。
在一个例子中,左手结构模板和右手结构模板可以各自包括如下20(作为预定数目的示例,但预定数目并不限于20,也可为19、21等数值)个特征点:各手指的指尖特征点(5个)、各指关节特征点(9个)、各指根关节特征点(5个)、手腕中点特征点(1个)。
根据一种实现方式,步骤三中的处理可以通过如图2所示的步骤三一和步骤三二来实现。
如图2所示,在步骤三一中,针对使用者的每只手,可以利用上述预设的手部结构模板,分别将待测图像序列的每帧图像中的手部轮廓与手部结构模板(左右结构模板和右手结构模板)进行匹配、对齐,得到该帧图像手部轮廓中的预定数目个(例如20个)特征点。
然后,在步骤三二中,针对使用者的每只手,可以利用该只手在待测图像序列的各帧图像中对应的预定数目个特征点(即特征点集),获得该只手的待测特征点序列。
这样,通过手部结构模板与之前获得的每个手部轮廓(即待测图像序列的每帧图像中的手部轮廓)进行匹配等处理,能够快速、准确地获得每个手部轮廓中的预定数目个特征点。由此,能够使得后续处理利用这些轮廓中的所述预定数目个特征点来进一步实现手势识别,相比于现有技术,提高了整个人机交互处理的速度和准确度。
在现有技术中,当根据不同应用场景需要改变(例如修改、增加或减少等) 对动作的定义时,需要修改算法以及重新训练分类器;在本发明中,可以仅通过调整动作模板(即预设特征点序列)来实现对动作定义的改变,大大提高了本发明技术的适应性。
在一个例子中,可以通过如下方式来实现步骤三一的处理。
根据人类双手的生理结构特征,可以对每只手提取20(作为预定数目的示例)个特征点。针对待测图像序列的每帧图像执行以下处理:首先根据该图像中的轮廓线的曲率找到该轮廓线中的指尖点和指根关节点;接着将指尖点作为定位基点,匹配每个单指的指根关节点,得到各单指的长度作为尺度缩放的基准;最后基于已找到的指尖点和指根关节点的位置以及得到的各单指的长度两方面的参数对相应的手部结构模板进行缩放和形变,通过匹配得到每只手其余的10个特征点,即每只手的各指关节特征点和手腕中点特征点。
例如,在找轮廓线中的指尖点和指根关节点的过程中,可以将其中曲率最大的凸点作为指尖点,将曲率最大的凹点作为指缝最低点,并将每个指尖点到该指尖点相邻的指缝最低点之间的距离定义为该指尖点对应的单位长度。对每两个相邻的指缝最低点,将此二点的中点再往手掌方向延伸三分之一单位长度(此时的单位长度为此二点之间的指尖点对应的单位长度)的点,定义为该指尖点对应的指根关节点,由此可以得到每只手的中间3个指根关节点。除此之外,对于每只手来说,可以通过在后续缩放和形变的过程中获得该只手的首尾两个指根关节点;或者,也可以将该只手的两个(例如任意选两个)相邻的指缝最低点之间的距离作为手指参考宽度,然后将该只手的首尾两个指缝最低点各沿切线方向、向外延伸半个手指参考宽度,得到的点分别作为该只手的首尾两个指根关节点。
需要说明的是,如果对于单只手所找到的凸点多于5个,可以在将其与手部结构模板进行匹配对齐的过程中将多余的凸点去除。
由此,用这样的方法匹配得到每一帧图像对应的左手的20个特征点 Pl={pl1,pl2,…,pl20}和右手的20个特征点Pr={pr1,pr2,…,pr20}。需要说明的是,若使用者手势仅包含单只手,则通过以上匹配所得到的是该单只手在每帧图像中的 20个特征点(称为特征点集),即Pl={pl1,pl2,…,pl20}或Pr={pr1,pr2,…,pr20}。其中, pl1,pl2,…,pl20分别为左手20个特征点的位置,而pr1,pr2,…,pr20分别为右手20个特征点的位置。
若使用者手势包含双手,则通过以上步骤三一和步骤三二的处理可以得到左手的待测特征点序列{Pli,i=1,2,...,M}和右手的待测特征点序列{Pri,i=1,2,...,M}。其中,Pli为使用者左手在待测图像序列的第i帧图像中对应的 20(作为预定数目的示例)个特征点,而Pri为使用者右手在待测图像序列的第i 帧图像中对应的20(作为预定数目的示例)个特征点。
若使用者手势仅包含单只手,则捕获的待测图像序列中的每帧图像均是仅包含该单只手的图像,从而通过步骤三一和步骤三二的处理之后能够得到该单只手的待测特征点序列,即{Pli,i=1,2,...,M}或{Pri,i=1,2,...,M}。
这样,执行完步骤三之后执行如图1所示的步骤四。
在步骤四中,针对使用者的每只手,在多个预设特征点序列中确定该只手的待测特征点序列的匹配序列,以根据该匹配序列确定该只手的动作名称和位置。
由此,通过步骤四,利用每只手的待测特征点序列与每个预设特征点序列进行匹配,得到匹配序列,进而根据匹配序列对应的动作名称快速确定该只手的动作。
根据一种实现方式,可以通过如图3所示的步骤四一至步骤四四来实现步骤四的处理。
首先,预设一个手部动作名列表,包括基本的手部动作,例如:挥、推、拉、张、合、转等,每个动作都有唯一的名称标识以及用归一化的用手部特征点序列(即预设特征点序列)表示的模板。需要说明的是,对于使用者的双手来说,每只手都具有一个上述的手部动作名列表。也就是说,对于左手来说,左手的手部动作名列表(简称左手动作名列表)中包括的每个动作除了分别具有各自的名称之外,还具有一个左手模板(即左手的一个预设特征点序列);对于右手来说,右手的手部动作名列表(简称右手动作名列表)中包括的每个动作除了分别具有各自的名称之外,还具有一个右手模板(即右手的一个预设特征点序列)。
例如,单只手的多个预设特征点序列分别记为序列A1、序列A2、…、序列 AH,其中,H为该单只手的上述多个预设特征点序列所包含的序列数,则在该单只手的手部动作名列表中:动作1的名称标识为“挥”且对应的模板(即预设特征点序列)为序列A1;动作2的名称标识为“推”且对应的模板为序列A2 ;…;动作H的名称标识为“转”且对应的模板为序列AH
在步骤四一中,针对每只手的待测特征点序列,根据预定时间窗将该待测特征点序列分割为多个子序列,并获得每个子序列对应的平均位置。其中,每个子序列对应的平均位置可以选取指定特征点(如手腕中点,或者也可为其他特征点)在该子序列中的平均位置。其中,预定时间窗约为一个单手基本动作 (即单手的握、抓等)从开始到结束的时间,可根据经验值来设定,或可以通过试验的方法来确定,例如可以为2.5秒。
在一个例子中,假设待测特征点序列是在10秒内采集的,利用2.5秒的时间窗可以将左手的待测特征点序列以及右手的待测特征点序列分别分割成4个子序列。以左手的待测特征点序列{Pli,i=1,2,...,M}为例(右手的待测特征点序列 {Pri,i=1,2,...,M}与其类似,这里不再详述),假设每秒采集10帧图像,则待测特征点序列对应的是100帧图像,即M=100,也就是说,{Pli,i=1,2,...,M}包括100组特征点集Pl1、Pl2、…、Pl100。这样,通过上述2.5秒的时间窗,可以将{Pli,i=1,2,...,M} 分割为{Pli,i=1,2,...,25}、{Pli,i=25,26,...,50}、{Pli,i=51,52,...,75}和 {Pli,i=76,77,...,100}4个子序列,且每个子序列各对应25帧图像,也即,每个子序列各包括25组特征点集。指定特征点选取手腕中点,以子序列{Pli,i=1,2,...,25}为例(其余三个子序列与其处理相似,这里不再详述),手腕中点在{Pli,i=1,2,...,25} 对应的25组特征点集中的位置分别为位置p1、p2、…、p25,于是手腕中点在子序列{Pli,i=1,2,...,25}中的平均位置为(p1+p2+…+p25)/25,作为子序列{Pli,i=1,2,...,25} 对应的平均位置。
然后,在步骤四二中,针对每只手对应的每个子序列,将该子序列与多个预设特征点序列中的每一个分别进行匹配,在多个预设特征点序列中选择与该子序列的匹配程度高于预设的匹配阈值(该匹配阈值可以根据经验值来设定,或者也可以通过试验的方法来确定)、并且最大的那个预设特征点序列,作为该子序列的匹配序列。其中,可以计算子序列与预设特征点序列之间的相似度,来作为二者之间的匹配程度。
需要说明的是,对于每个子序列,并非一定能够在多个预设特征点序列中找到该子序列对应的匹配序列。当对于单只手的某个子序列并未找到其匹配序列时,则将该子序列的匹配序列记为“空”,但该子序列的平均位置可以不为“空”。根据一种实现方式,若子序列的匹配序列为“空”,则将该子序列的平均位置设为“空”;根据另一种实现方式,若子序列的匹配序列为“空”,该子序列的平均位置为该子序列中指定特征点的实际平均位置;根据其他一种实现方式,若子序列的匹配序列为“空”,将该子序列的平均位置设为“+∞”。
此外,根据一种实现方式,若子序列中不存在指定特征点(也即不存在该指定特征点的实际平均位置),可以将该子序列的平均位置设为“+∞”。
然后,在步骤四三中,将每个子序列对应的平均位置与该子序列的匹配序列对应的动作名称相关联。
在步骤四四中,针对每只手,可以将该只手对应的各子序列的匹配序列作为该只手对应的多个匹配序列,并将该多个匹配序列各自对应的动作名称(按时间顺序排序后)作为该只手的多个动作名称。
例如,假设对于左手的待测特征点序列的多个子序列为{Pli,i=1,2,...,25}、{Pli,i=25,26,...,50}、{Pli,i=51,52,...,75}和{Pli,i=76,77,...,100},分别在左手的多个预设特征点序列中找到{Pli,i=1,2,...,25}、{Pli,i=25,26,...,50}、{Pli,i=51,52,...,75}的匹配序列依次为Pl1'、Pl2'、Pl3',而未找到{Pli,i=76,77,...,100}的匹配序列。假设Pl1'、 Pl2'、Pl3'在左手动作名列表中对应的动作名称依次分别为“挥”、“推”、“拉”, {Pli,i=1,2,...,25}、{Pli,i=25,26,...,50}、{Pli,i=51,52,...,75}和{Pli,i=76,77,...,100}各自的平均位置分别为pm1、pm2、pm3和pm4,则由此得到的左手的动作名称和位置包括:“挥”(位置pm1);“推”(位置pm2);“拉”(位置pm3);“空”(位置“pm4”)。需要注意到是,在不同实施例中,pm4可能是真实位置值,也可能是“空”或“+∞”等。
由此,通过步骤四一至步骤四四的处理,能够得到使用者每只手对应的多个动作名称(作为该只手的动作名称,也就是说,该只手的动作名称),且每个动作名称分别关联有一个平均位置(作为该只手的位置,“该只手的位置”中包括一个或多个平均位置,数量与动作名称的数量相同)。相比于单单识别单个动作作为手势的识别技术来说,上述处理所识别的双手各自的多个动作和位置,提供了更灵活的组合方式,一方面使得手势的识别精度更高,另一方面使得能够识别的手势更多样、丰富。
然后,在步骤五中,在预设手势表中选择与使用者双手的动作名称和位置相匹配的手势,作为已识别手势,即使用者的手势。
根据一种实现方式,可以通过如图4所示的步骤五一和步骤五二来实现步骤五的处理。
如图4所示,步骤五一、预定义一个从两只手动作和位置两个要素到手势的映射列表作为预设手势表:每个映射的左端是一组动作名称对及每个动作名称对的位置;每个映射的右端是一个手势HandSignal。然后,执行步骤五二。
其中,“一组动作名称对”包括多个动作名称对,每个动作名称对包括左手动作名称ActNameleft和右手动作名称ActNameright,每个动作名称对的位置包括两只手的相对位置。
例如,在预设手势表中,映射一为{(“拉”,“空”)、(“拉”,“拉”)、(“空”,“合”)、(“空”,“空”)}(作为要素一)、{(x1,y1),(x2,y2),(x3,y3),(x4, y4)}(相对位置,作为要素二)到手势“开关”的映射;映射二为{(“拉”,“拉”)、 (“张”,“张”)、(“空”,“空”)、(“空”,“空”)}、{(x5,y5),(x6,y6),(x7, y7),(x8,y8)}到手势“爆炸”的映射;等等。其中,每个动作对(如(“拉”,“空”))中左边的动作名称对应于左手动作,而右边的动作名称对应于右手动作。
以映射一为例,(x1,y1)表示的是左手第一个动作“拉”与右手第一个动作“空”之间的相对位置(即动作对(“拉”,“空”)中左手动作和右手动作对应的两只手的相对位置);(x2,y2)表示的是左手第二个动作“拉”与右手第二个动作“拉”之间的相对位置;(x3,y3)表示的是左手第三个动作“空”与右手第三个动作“合”之间的相对位置;而(x4,y4)表示的是左手第四个动作“空”与右手第四个动作“空”之间的相对位置。其他映射中的表述意义与此类似,不再赘述。
在步骤五二中,将预设手势表中的每个映射的左端与使用者双手的动作名称和位置进行匹配,以将与使用者双手动作名称和位置匹配的手势作为已识别手势。
其中,动作名称的匹配执行严格匹配,也即,在两个动作名称之间一字不差的情况下判定这两个动作名称是匹配的;而位置则是通过使用者双手各自的平均位置计算得到相对位置信息,进而计算该相对位置信息与映射左端的位置之间的相似度来实现的(如可以设定一个相似度阈值,当计算的相似度大于或等于该相似度阈值时判定位置是匹配的)。
例如,假设通过步骤四得到使用者双手各自的动作名称为{(“拉”,“拉”)、 (“张”,“张”)、(“空”,“空”)、(“空”,“空”)},位置为{(x11,y12)、(x21, y22)、(x31,y32)、(x41,y42)(对应左手);(x’11,y’12)、(x’21,y’22)、(x’31,y’32)、 (x’41,y’42)(对应右 手)}。
然后,将使用者双手的动作名称与预设手势表中的每个映射的左端进行匹配。
当与映射一进行匹配时,可以得出,使用者双手的动作名称与映射一的左端的动作名称不匹配,因此忽略映射一,继续匹配映射二。
当与映射二进行匹配时,可以得出,使用者双手的动作名称与映射二的左端的动作名称完全匹配,然后再将使用者双手的位置与映射二的左端的相对位置进行匹配。
在将使用者双手的位置与映射二的左端的相对位置进行匹配的过程中,首先计算使用者双手的相对位置如下:{(x’11-x11,y’12-y12)、(x’21-x21,y’22-y22)、 (x’31-x31,y’32-y32)、(x’41-x41,y’42-y42)(对应左手)}。然后,将计算得到的使用者双手的上述相对位置与映射二左端的相对位置{(x5,y5),(x6,y6),(x7, y7),(x8,y8)}进行匹配,也即,计算{(x’11-x11,y’12-y12)、(x’21-x21,y’22-y22)、 (x’31-x31,y’32-y32)、(x’41-x41,y’42-y42)(对应左手)}与{(x5,y5),(x6,y6), (x7,y7),(x8,y8)}之间的相似度,假设计算得到的相似度为95%。在该例子中,设相似度阈值为80%,于是判定计算得到的使用者双手的相对位置与映射二左端的相对位置是匹配的。由此,在该例子中,人机交互的结果为“爆炸”。
以上步骤五一和步骤五二,通过双手各自的多个动作和位置与预定手势表之间的匹配,来确定使用者的手势,识别的精度较高;当根据不同应用场景需要改变(例如修改、增加或减少等)对手势的定义时,不需要修改算法或重新训练分类器,可以仅通过调整预定手势表中的手势名称或者手势对应的动作名称等方式来实现对手势定义的改变,大大提高了算法的适应性。
接着,在步骤六中,根据预设操作指令表,确定与步骤五中已识别手势对应的操作指令。
例如,可以建立一个手势名称和操作指令之间的一个映射关系表,作为上述预设操作指令表。该预设操作指令表包括多个映射,每个映射的左边为一个预设手势的名称,而右边为与该预设手势对应的操作指令(比如用于移动计算设备图形界面操作的基本操作指令,例如焦点移动、点击、双击、点击拖动、放大、缩小、旋转、长触等)。由此,通过查表操作即可获得与步骤五中的已识别手势HandSignal对应的那个操作指令OptCom。
然后,在步骤七中,对与确定的操作指令相关的设备进行与该操作指令对应的操作。
由此,将确定的操作指令发送到相关设备,能够实现对诸如移动计算设备的相关设备的拟人化、自然化、非接触的操作与控制。
此外,根据其他一种实现方式,上述人机交互方法还可以包括如下的步骤八:将使用者每只手的位置传递给设备,以基于使用者每只手的位置在设备的屏幕上显示使用者手部的半透明简化手部模拟图形。
例如,可以通过图5所示的步骤八一至步骤八三来实现步骤八的处理:步骤八一、根据使用者每只手在待测图像序列的每帧图像中对应的待测特征点序列 (例如每帧图像中每只手的20个特征点),通过连接骨骼后外延得到该只手的外轮廓图形,作为该只手的模拟图形;步骤八二、通过对使用者双手的相对位置进行平移校准和比例缩放,确定使用者的每只手在所述屏幕中的显示位置;步骤八三、基于使用者每只手的模拟图形和显示位置来在屏幕中显示使用者手部的模拟图形。
由此,可以通过在移动计算设备的屏幕上显示半透明的手部图形来给用户提供视觉反馈,并帮助用户调整手部位置和操作。需要说明的是,在“通过对使用者双手的相对位置进行平移校准和比例缩放”的步骤中,如果已识别手势中只包含使用者的单只手,则不存在相对位置(或者相对位置被记为无穷大),此时,可以在一个指定的初始位置显示对应的单只手。此外,在“基于使用者每只手的模拟图形和显示位置来在屏幕中显示使用者手部的模拟图形”的步骤中,已识别手势中包括双手,则显示双手的模拟图形;若已识别手势仅包含单只手,则仅显示该只手的模拟图形。
例如,在实际应用中,可以将本发明的上述技术应用于平板电脑或笔记本电脑,实现非接触式的手势操作。在该应用场景中,深度摄像头安装于平板电脑或笔记本电脑屏幕上方,正对使用者,使用者抬起双手置于屏幕前,做出相关手势操作,即可:1、替代实体鼠标实现鼠标光标的移动及点击操作;2、在游戏或相关软件操作中通过手势实现场景导航,以及对象的缩放、旋转、平移等操作。
又如,在实际应用中,也可以将将本发明的上述技术应用于头戴式虚拟现实设备,不需借助任何手持设备,即可实现基于双手手势的设备操作和场景操作。在该应用场景中,深度摄像头安装于虚拟现实头盔上,视场朝下,使用者抬起双手的自然位置正处于视场中央。使用者抬起双手做出相关手势操作,即可:1、在虚拟现实设备中实现菜单选择等设备操作;2、在游戏或相关软件操作中通过手势实现场景导航,以及对象的缩放、旋转、平移等操作。
上述根据本发明实施例的人机交互方法,先识别单手动作、再通过双手动作识别手势,进而根据已识别手势来执行对应操作,在人机交互过程中能够准确识别使用者的手势,识别精度较高,而且识别速度较快。
此外,由于本发明实施例采用深度摄像头获取使用者的人体动作作为操作移动计算设备的输入操控指令,因此能够令使用者使用更加直观、便利的自然动作实现对移动计算设备的非接触式操控,为移动计算设备在诸如运动游戏、模拟训练、复杂操控、远距离操控等领域中的应用提供更加便捷精准的输入、控制方法。
本发明的上述人机交互方法采用层次化设计算法,算法复杂度低,便于实现。
此外,应用本发明的上述人机交互方法,当需要改变(例如修改、增加或减少等)对动作和/或手势的定义时,可以仅通过调整模板以及/或预设手势表来实现(即,通过修改预设特征点序列对应的动作名称来改变动作的定义,通过增加或减少预设特征点序列及其对应动作名称来增、减动作;通过修改预设手势表中手势对应的多个动作来改变手势的定义,通过增加或减少预设手势表中的手势及其对应动作来增、减手势),而不需改变算法或者重新训练分类器,大大提高了算法的适应性。
此外,本发明的上述人机交互方法的实时性强,能够适合即时交互需求的场合。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (8)

1.一种人机交互方法,其特征在于,所述人机交互方法包括:
步骤一、获取含有深度信息的使用者手部的待测图像序列;
步骤二、根据图像深度信息和图像颜色信息,在所述待测图像序列的每帧图像中检测出所述使用者的手部轮廓;
步骤三、针对所述使用者的每只手,利用预设的手部结构模板,在所述待测图像序列的每帧图像中确定该只手的待测特征点序列;
步骤四、针对所述使用者的每只手,在多个预设特征点序列中确定该只手的待测特征点序列的匹配序列,以根据所述匹配序列确定该只手的动作名称和位置;
步骤五、在预设手势表中选择与所述使用者双手的动作名称和位置相匹配的手势,作为已识别手势;其中,步骤五包括:步骤五一、预先设置如下映射列表来作为所述预设手势表:该映射列表中的每个映射的左端是一组动作名称对及每个动作名称对的位置;该映射列表中的每个映射的右端是一个手势;以及步骤五二、将所述预设手势表中的每个映射的左端与所述使用者双手的动作名称和位置进行匹配,其中,动作名称的匹配执行严格匹配,而位置则是通过使用者双手各自的平均位置计算得到相对位置信息,进而计算该相对位置信息与映射左端的位置之间的相似度来实现的;
步骤六、根据预设操作指令表,确定与所述已识别手势对应的操作指令;
步骤七、对与确定的操作指令相关的设备进行与该操作指令对应的操作。
2.根据权利要求1所述的人机交互方法,其特征在于,步骤三包括:
步骤三一、针对所述使用者的每只手,利用预设的手部结构模板,在所述待测图像序列的每帧图像的手部轮廓中确定该只手的预定数目个特征点;
步骤三二、针对所述使用者的每只手,利用该只手在所述待测图像序列的各帧图像中对应的预定数目个特征点,获得该只手的待测特征点序列。
3.根据权利要求1或2所述的人机交互方法,其特征在于,步骤一包括:
通过捕获预定成像区域内的所述使用者手部的图像,获得可见光图像序列和红外图像序列为所述可见光图像序列第i帧图像坐标(x,y)处的像素值,而为所述红外图像序列第i帧图像坐标(x,y)处的像素值,根据如下公式获得抽取使用者双手信息的图像序列:
其中,α、β、λ为预设参数阈值,为获取的含有深度信息的使用者双手的图像序列,作为所述待测图像序列,i=1,2,…,M,M为所述待测图像序列所包含的图像帧数。
4.根据权利要求1或2所述的人机交互方法,其特征在于,步骤二包括:
针对所述待测图像序列中的每帧图像结合颜色信息删除该帧图像中的噪声点及非肤色区域,利用边缘检测算子E(·)对删除所述噪声点和所述非肤色区域后所得到的图像进行边缘检测,得到边缘图像
所述边缘图像即为仅包含所述使用者手部轮廓的图像。
5.根据权利要求2所述的人机交互方法,其特征在于,步骤三一包括:
针对所述待测图像序列的每帧图像执行以下处理:根据该图像中的轮廓线的曲率找到该轮廓线中的指尖点和指根关节点;将所述指尖点作为定位基点,匹配每个单指的指根关节点,得到各单指的长度作为尺度缩放的基准;基于所述指尖点和所述指根关节点的位置以及各单指的长度对相应的所述手部结构模板进行缩放和形变,通过匹配得到每只手的各指关节特征点和手腕中点特征点;
其中,所述手部结构模板包括左手结构模板和右手结构模板,所述左手结构模板和右手结构模板各自包括:各手指的指尖特征点、各指关节特征点、各指根关节特征点、手腕中点特征点以及各特征点之间的拓扑关系。
6.根据权利要求1或2所述的人机交互方法,其特征在于,步骤四包括:
步骤四一、针对每只手的待测特征点序列,根据预定时间窗将该待测特征点序列分割为多个子序列,并获得每个子序列对应的平均位置;
步骤四二、针对每只手对应的每个子序列,将该子序列与所述多个预设特征点序列中的每一个分别进行匹配,在所述多个预设特征点序列中选择与该子序列的匹配程度高于预设的匹配阈值、并且最大的预设特征点序列,作为该子序列的匹配序列;
步骤四三、将每个子序列对应的平均位置与该子序列的匹配序列对应的动作名称相关联;
步骤四四、针对每只手,将该只手对应的各子序列的匹配序列作为该只手对应的多个匹配序列,并将该多个匹配序列各自对应的动作名称作为该只手的多个动作名称。
7.根据权利要求1或2所述的人机交互方法,其特征在于,所述人机交互方法还包括:
步骤八、基于所述使用者每只手的位置在所述设备的屏幕上显示所述使用者手部的模拟图形。
8.根据权利要求7所述的人机交互方法,其特征在于,步骤八包括:
步骤八一、根据所述使用者每只手对应的待测特征点序列,通过连接骨骼后外延得到该只手的外轮廓图形,作为该只手的模拟图形;
步骤八二、通过对所述使用者双手的相对位置进行平移校准和比例缩放,确定所述使用者的每只手在所述屏幕中的显示位置;
步骤八三、基于所述使用者每只手的模拟图形和显示位置来在所述屏幕中显示所述使用者手部的模拟图形。
CN201510563584.8A 2015-09-07 2015-09-07 一种人机交互方法 Active CN105046249B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510563584.8A CN105046249B (zh) 2015-09-07 2015-09-07 一种人机交互方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510563584.8A CN105046249B (zh) 2015-09-07 2015-09-07 一种人机交互方法

Publications (2)

Publication Number Publication Date
CN105046249A CN105046249A (zh) 2015-11-11
CN105046249B true CN105046249B (zh) 2018-09-11

Family

ID=54452778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510563584.8A Active CN105046249B (zh) 2015-09-07 2015-09-07 一种人机交互方法

Country Status (1)

Country Link
CN (1) CN105046249B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867602A (zh) * 2015-12-08 2016-08-17 乐视致新电子科技(天津)有限公司 一种基于手势的操作组件控制方法及设备
CN106293099A (zh) * 2016-08-19 2017-01-04 北京暴风魔镜科技有限公司 手势识别方法及系统
CN107818290B (zh) 2016-09-14 2021-03-16 京东方科技集团股份有限公司 基于深度图的启发式手指检测方法
CN106934351B (zh) * 2017-02-23 2020-12-29 中科创达软件股份有限公司 手势识别方法、装置及电子设备
US11693483B2 (en) 2021-11-10 2023-07-04 Huawei Technologies Co., Ltd. Methods and systems of display edge interactions in a gesture-controlled device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426480A (zh) * 2011-11-03 2012-04-25 康佳集团股份有限公司 一种人机交互系统及其实时手势跟踪处理方法
CN104281265A (zh) * 2014-10-14 2015-01-14 京东方科技集团股份有限公司 一种应用程序的控制方法、装置及电子设备
CN104571482A (zh) * 2013-10-22 2015-04-29 中国传媒大学 一种基于体感识别的数字设备操控方法
CN104598915A (zh) * 2014-01-24 2015-05-06 深圳奥比中光科技有限公司 一种手势识别方法与装置
CN104750397A (zh) * 2015-04-09 2015-07-01 重庆邮电大学 一种基于体感的虚拟矿井自然交互方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340077B2 (en) * 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426480A (zh) * 2011-11-03 2012-04-25 康佳集团股份有限公司 一种人机交互系统及其实时手势跟踪处理方法
CN104571482A (zh) * 2013-10-22 2015-04-29 中国传媒大学 一种基于体感识别的数字设备操控方法
CN104598915A (zh) * 2014-01-24 2015-05-06 深圳奥比中光科技有限公司 一种手势识别方法与装置
CN104281265A (zh) * 2014-10-14 2015-01-14 京东方科技集团股份有限公司 一种应用程序的控制方法、装置及电子设备
CN104750397A (zh) * 2015-04-09 2015-07-01 重庆邮电大学 一种基于体感的虚拟矿井自然交互方法

Also Published As

Publication number Publication date
CN105046249A (zh) 2015-11-11

Similar Documents

Publication Publication Date Title
CN105045398B (zh) 一种基于手势识别的虚拟现实交互设备
CN105045399B (zh) 一种具有3d摄像组件的电子设备
CN105302295B (zh) 一种具有3d摄像组件的虚拟现实交互设备
JP6079832B2 (ja) ヒューマンコンピュータインタラクションシステム、手と手指示点位置決め方法、及び手指のジェスチャ決定方法
CN105302294B (zh) 一种交互式虚拟现实演示装置
CN105046249B (zh) 一种人机交互方法
CN105068662B (zh) 一种用于人机交互的电子设备
CN105160323B (zh) 一种手势识别方法
RU2439653C2 (ru) Виртуальный контроллер для визуальных отображений
US20150084859A1 (en) System and Method for Recognition and Response to Gesture Based Input
CN205080499U (zh) 一种基于手势识别的虚拟现实交互设备
CN105069444B (zh) 一种手势识别装置
Störring et al. Computer vision-based gesture recognition for an augmented reality interface
Chowdhury et al. Gesture recognition based virtual mouse and keyboard
CN103543825B (zh) 摄像机光标系统
KR20190027287A (ko) 손가락 동작과 입 모양에 의한 키보드와 마우스 기능 모사 방법
CN205080498U (zh) 一种具有3d摄像组件的虚拟现实交互设备
Abdallah et al. An overview of gesture recognition
CN205080500U (zh) 一种具有3d摄像组件的电子设备
CN101446859B (zh) 一种基于机器视觉的输入方法及其系统
CN205080497U (zh) 一种交互式虚拟现实演示装置
CN113961067A (zh) 基于深度学习的非接触式涂鸦绘制方法与识别交互系统
Annachhatre et al. Virtual Mouse Using Hand Gesture Recognition-A Systematic Literature Review
Lee et al. Mouse operation on monitor by interactive analysis of intuitive hand motions
Rautaray et al. Adaptive hand gesture recognition system for multiple applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 150016 Heilongjiang Province, Harbin Economic Development Zone haping Road District Dalian road and Xingkai road junction

Applicant after: HARBIN YISHE TECHNOLOGY CO., LTD.

Address before: 150016 Heilongjiang City, Harbin province Daoli District, quiet street, unit 54, unit 2, layer 4, No. 3

Applicant before: HARBIN YISHE TECHNOLOGY CO., LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant