CN112036358B - 基于Untiy引擎的手势处理方法及系统 - Google Patents
基于Untiy引擎的手势处理方法及系统 Download PDFInfo
- Publication number
- CN112036358B CN112036358B CN202010945040.9A CN202010945040A CN112036358B CN 112036358 B CN112036358 B CN 112036358B CN 202010945040 A CN202010945040 A CN 202010945040A CN 112036358 B CN112036358 B CN 112036358B
- Authority
- CN
- China
- Prior art keywords
- gesture
- hand
- data
- user
- finger
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 103
- 230000009471 action Effects 0.000 claims abstract description 78
- 230000003068 static effect Effects 0.000 claims abstract description 46
- 210000003811 finger Anatomy 0.000 claims description 167
- 210000003813 thumb Anatomy 0.000 claims description 46
- 210000001145 finger joint Anatomy 0.000 claims description 42
- 210000004932 little finger Anatomy 0.000 claims description 37
- 238000005452 bending Methods 0.000 claims description 31
- 238000000034 method Methods 0.000 claims description 29
- 239000013598 vector Substances 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 16
- 210000004247 hand Anatomy 0.000 claims description 15
- 210000000707 wrist Anatomy 0.000 claims description 12
- 230000033001 locomotion Effects 0.000 claims description 11
- 210000003857 wrist joint Anatomy 0.000 claims description 11
- 238000013075 data extraction Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 6
- 238000000354 decomposition reaction Methods 0.000 claims description 6
- 230000007774 longterm Effects 0.000 claims description 3
- 238000000547 structure data Methods 0.000 claims description 3
- 230000001427 coherent effect Effects 0.000 claims 2
- 238000011161 development Methods 0.000 abstract description 14
- 238000007654 immersion Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 25
- 230000018109 developmental process Effects 0.000 description 13
- 230000007480 spreading Effects 0.000 description 8
- 238000011160 research Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/113—Recognition of static hand signs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/50—Maintenance of biometric data or enrolment thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/117—Biometrics derived from hands
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于Untiy引擎的手势处理方法及系统,通过收集用户手部数据;依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库,手势库包括静态手势识别库和动态手势识别库;手势阈值规则包括手部伸展阈值规则和手部弯曲阈值规则;运用手势处理算法划分手势识别区域,在手势识别区域内使用处理后的用户手部数据。本发明提供的基于Untiy引擎的手势处理方法及系统,用户能够根据自己的想法设定手部动作的表意,实现了动态手势的配置,同时也能够进行固定手势的识别;有助于开发手势识别应用以及自定义手势动作;手势动作识别精度高、增强用户沉浸感和体验感。
Description
技术领域
本发明涉及深度识别技术以及自然交互领域,尤其公开了一种基于Untiy引擎的手势处理方法及系统。
背景技术
目前在Untiy和手势识别的智能人工交互的大平台下,手势识别的数据会在手势识别应用的后台进行数据的校验以及传送,当接收到手势识别的数据后,手势识别应用虽然能够识别到用户的手,但是对于用户手部的动作没有进行解析,应用无法判断当前用户想要进行什么样的操作,手势识别后的手势处理不能够灵活的配置用户自己想要的手势动作。
对于手势识别后的手势处理在很大程度上能够提升手势识别应用项目的研发效率;除了开发者能够使用手势识别处理算法开发手势识别应用外,在非开发人员中,如果需要用到手势识别应用,手势识别的手势处理算法也能够让用户能够自定义的组成用户需要识别到的手势动作,同时在手势识别到动作后能够进行事件的触发。
目前手势识别对于没有学习过深度处理的人员来说,底层原理以及代码过于复杂,在项目开展期,需要投入大量的精力去研究深度处理的底层原理,在此基础上再去研究手势识别的数据。虽然花大量的精力能够去研究出深度处理的底层原理,但是对于整个项目开发而言,花费过多时间、以及整个项目实施周期过长的话,都会影响项目进度。
因此,现有Untiy不能够灵活配置手势动作,是一件亟待解决的技术问题。
发明内容
本发明提供了一种基于Untiy引擎的手势处理方法及系统,旨在解决现有Untiy不能够灵活配置手势动作的技术问题。
本发明的一方面涉及一种基于Untiy引擎的手势处理方法,包括以下步骤:
收集用户手部数据;
依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库,手势库包括静态手势识别库和动态手势识别库;手势阈值规则包括手部伸展阈值规则和手部弯曲阈值规则;
运用手势处理算法划分手势识别区域,在手势识别区域内使用处理后的用户手部数据。
进一步地,收集用户手部数据的步骤包括:
采用手势识别硬件识别用户手部数据,并将识别后的用户手部数据反馈给Unity;
Unity运用手势识别算法对手势识别硬件识别到的用户手部数据进行整理和收集,判断用户手部数据类型,并对用户手部数据中的手势进行分割、区分和分类。
进一步地,Unity运用手势识别算法对手势识别硬件识别到的用户手部数据进行整理和收集,判断用户手部数据类型,并对用户手部数据中的手势进行分割、区分和分类的步骤包括:
按照左右手的布置规则,依据手掌的关节点把识别到的用户手部数据中的手指分布进行数据的排列和组合,将识别到的用户手部数据中的手指分别按照关节和手部结构进行处理,以关节为主体的数据区分将手部所有的关节点排列成一个手的形式,以手部结构为主体的数据区分将手按手腕、手掌、掌心、拇指、食指、中指、无名指和小拇指进行区分;
结合以关节为主体的数据区分和以手部结构为主体的数据区分两种处理方式,组合成手腕关节、手掌关节、掌心关节、拇指关节、食指关节、中指关节、无名指关节和小拇指关节。
进一步地,依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库的步骤包括:
判断是否识别到用户手部数据;
若是则依据预设的手势阈值规则完成用户手部数据的定制;
若是则依据预设的手势阈值规则完成用户手部数据的定制的步骤包括:
将识别到的用户手部数据与实时的手势数据进行对比,判断收集到的用户手部数据是否属实;
若识别到的用户手部数据属实,则将识别到的用户手部数据与预设的手势阈值规则表进行对比,确认识别到的用户手部数据是否在手势阈值规则表中,如果识别到的用户手部数据不属于手势阈值规则表中的数据,则需要对识别到的用户手部数据按照手势阈值规则表进行重构,如果在重构数据时,判断出识别到的用户手部数据不满足重构的条件时,则需要对识别到的用户手部数据进行模型假设;
对识别到的用户手部数据进行模型假设,如果模型数据能够满足手势的构建,则进行模型的数据提取;
对提取的模型数据同时进行验证和分析,判断提取的模型数据否为长期持有的数据,若是则进行模型求解;在模型求解的过程中,如果识别到的手势不在定义的手势库中则再进行重构,并不进行手势动作输出;如果手势的模型求解成功,则说明当前手势动作满足手势库中的动作,则会进行手势动作的输出。
进一步地,运用手势处理算法划分手势识别区域,在手势识别区域内使用处理后的用户手部数据的步骤包括:
以相机两眼之间的中心点作为直视分界点,高于直视分解点的属于上半部分,低于直视分界点的部分属于下半部分;
以直视分界点为圆点做垂直且不平行于双眼的直线,在相机前面划分出一个三维的识别区域。
本发明的另一方面涉及一种基于Untiy引擎的手势处理系统,包括:
收集模块,用于收集用户手部数据;
处理模块,用于依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库,手势库包括静态手势识别库和动态手势识别库;手势阈值规则包括手部伸展阈值规则和手部弯曲阈值规则;
使用模块,用于运用手势处理算法划分手势识别区域,在手势识别区域内使用处理后的用户手部数据。
进一步地,收集模块包括:
识别单元,用于采用手势识别硬件识别用户手部数据,并将识别后的用户手部数据反馈给Unity;
处理单元,用于运用手势识别算法对手势识别硬件识别到的用户手部数据进行整理和收集,判断用户手部数据类型,并对用户手部数据中的手势进行分割、区分和分类。
进一步地,处理单元包括:
区分子单元,用于按照左右手的布置规则,依据手掌的关节点把识别到的用户手部数据中的手指分布进行数据的排列和组合,将识别到的用户手部数据中的手指分别按照关节和手部结构进行处理,以关节为主体的数据区分将手部所有的关节点排列成一个手的形式,以手部结构为主体的数据区分将手按手腕、手掌、掌心、拇指、食指、中指、无名指和小拇指进行区分;
结合子单元,用于结合以关节为主体的数据区分和以手部结构为主体的数据区分两种处理方式,组合成手腕关节、手掌关节、掌心关节、拇指关节、食指关节、中指关节、无名指关节和小拇指关节。
进一步地,处理模块包括:
判断单元,用于判断是否识别到用户手部数据;
定制单元,用于若是则依据预设的手势阈值规则完成用户手部数据的定制;
定制单元包括:
对比子单元,用于将识别到的用户手部数据与实时的手势数据进行对比,判断收集到的用户手部数据是否属实;
判断子单元,用于若识别到的用户手部数据属实,则将识别到的用户手部数据与预设的手势阈值规则表进行对比,确认识别到的用户手部数据是否在手势阈值规则表中,如果识别到的用户手部数据不属于手势阈值规则表中的数据,则需要对识别到的用户手部数据按照手势阈值规则表进行重构;如果在重构数据时,判断出识别到的用户手部数据不满足重构的条件时,则需要对识别到的用户手部数据进行模型假设;
数据提取子单元,用于对识别到的用户手部数据进行模型假设,如果模型数据能够满足手势的构建,则进行模型的数据提取;
输出子单元,用于对提取的模型数据同时进行验证和分析,判断提取的模型数据否为长期持有的数据,若是则进行模型求解;在模型求解的过程中,如果识别到的手势不在定义的手势库中则再进行重构,并不进行手势动作输出;如果手势的模型求解成功,则说明当前手势动作满足手势库中的动作,则会进行手势动作的输出。
进一步地,使用模块包括:
分界单元,用于以相机两眼之间的中心点作为直视分界点,高于直视分解点的属于上半部分,低于直视分界点的部分属于下半部分;
划分单元,用于以直视分界点为圆点做垂直且不平行于双眼的直线,在相机前面划分出一个三维的识别区域。
本发明所取得的有益效果为:
本发明提供的基于Untiy引擎的手势处理方法及系统,通过收集用户手部数据;依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库,手势库包括静态手势识别库和动态手势识别库;手势阈值规则包括手部伸展阈值规则和手部弯曲阈值规则;运用手势处理算法划分手势识别区域,在手势识别区域内使用处理后的用户手部数据。通过手势识别的硬件或者软件对在三维场景中对识别出来的手进行三维数据反馈后,再进行手势动作的识别处理,不仅解决了在开发手势识别应用前期对于人员安排、时间安排等大量的精力投入,避免了手势识别应用项目在研究过程中花时间成本、人力成本的投入过大等的问题,而且也解决了非开发用户自定义手势动作的问题,用户能够根据自己的想法设定手部动作的表意,实现了动态手势的配置,同时也能够进行固定手势的识别;有助于开发手势识别应用以及自定义手势动作。本发明提供的基于Untiy引擎的手势处理方法及系统,手势动作识别精度高、增强用户沉浸感和体验感。
附图说明
图1为本发明提供的基于Untiy引擎的手势处理方法一实施例的流程示意图;
图2为本发明提供的基于Untiy引擎的手势处理方法中一实施例的手势识别流程示意图;
图3为静态手势识别的结构示意图;
图4为左手手势识别范围的判定结构示意图;
图5为右手手势识别范围的判定结构示意图;
图6为动态手势的识别结构示意图;
图7为手势处理算法形成的动态手势示意图;
图8为手部伸展阈值规则中的7a阈值定义示意图;
图9为手部弯曲阈值规则中的5a阈值定义示意图;
图10为手部弯曲阈值规则中的3a阈值定义示意图;
图11为手部弯曲阈值规则中的1a阈值定义示意图;
图12为图1中所示的收集用户手部数据的步骤一实施例的细化流程示意图;
图13为图12中所示的Unity运用手势识别算法对手势识别硬件识别到的用户手部数据进行整理和收集,判断用户手部数据类型,并对用户手部数据中的手势进行分割、区分和分类的步骤一实施例的细化流程示意图;
图14为图1中所示的依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库的步骤一实施例的细化流程示意图;
图15为图14中所示的若是则依据预设的手势阈值规则完成用户手部数据的定制的步骤一实施例的细化流程示意图;
图16为手势动作的阈值对比的结构示意图;
图17为手势动作的阈值对比的流程示意图;
图18为手势阈值的定制的结构示意图;
图19为图1中所示的运用手势处理算法划分手势识别区域,在手势识别区域内使用处理后的用户手部数据的步骤一实施例的细化流程示意图;
图20为手势识别范围的判定的结构示意图;
图21为相机以两眼之间的中心点作为直视分界点形成的识别区域划分;
图22为以相机聚焦的物体为直视分界点形成的识别区域划分;
图23为本发明提供的基于Untiy引擎的手势处理系统一实施例的功能框图;
图24为图22中所示的收集模块一实施例的功能模块示意图;
图25为图24中所示的识别单元一实施例的功能模块示意图;
图26为图23中所示的处理模块一实施例的功能模块示意图;
图27为图23中所示的使用模块一实施例的功能模块示意图。
附图标号说明:
10、收集模块;20、处理模块;30、使用模块;11、识别单元;12、处理单元;121、区分子单元;122、结合子单元;21、判断单元;22、定制单元;221、对比子单元;222、判断子单元;223、数据提取子单元;224、输出子单元;31、分界单元;32、划分单元。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
如图1所示,本发明第一实施例提出一种基于Untiy引擎的手势处理方法,包括以下步骤:
步骤S100、收集用户手部数据。
收集用户手部数据是对用户手势识别的收集,例如手势硬件识别到用户的手后,手势识别处理算法会根据硬件识别到的数据反馈进行数据的整理和收集,判断那些数据是有效数据,那些数据是实时数据,那些数据是需要回收的数据。数据的收集中对于识别到的手部信息要做手势的分割,区分是识别的数据是左手数据还是右手数据,然后对数据进行分类,分成左手数据和右手数据。在手势识别处理中,数据的收集为手势数据处理提供了分类的基础,让数据在进行数据处理时可以不用再进行左右手的数据分割。
步骤S200、依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库,手势库包括静态手势识别库和动态手势识别库;手势阈值规则包括手部伸展阈值规则和手部弯曲阈值规则。
数据处理是收集到数据后根据左右手的数据进行数据的布局,在数据处理时,可以依据用户提供的手势阈值规则进行数据的处理,可以用户自定义的规则对手势的动作进行处理然后形成静态手势识别库以及动态手势识别库。
如图3至图5所示,静态手势:不做手势动作的识别,排除手势动作,只用于识别用户在手势识别范围内摆出的固定手势,其中只固定手势,不固定具体识别手的位置,经过手势处理算法在Untiy接收到手势识别的数据后,会对数据进行解析,同时生成手势动作类型。
如图6和图7所示,动态手势:是基于静态手势识别固定手势,同时在这个基础还能够识别到用户手的运动轨迹,用户能够使用固定手势加上运动轨迹做手的运动轨设定,主要作用与开发连贯性手势的处理,用户可以使用手势识别算法做组合手势识别动作,或者从某一固定手势动作到另一个固定手势动作的衔接以及过度判断。
手部伸展,包装了每个手指的节点,并依据统计出的常用手指展开深度形成了手势的展开数据库,其特点在于给出了参数对比形成了手指库,开发者能够使用手指伸展库做自定义的手势动作设定,也可以自定义设定动态动态手势。
手部弯曲,包装了每个手指的节点,并依据统计出的常用手指弯曲深度形成了手势的弯曲数据库,其特点在于给出了参数对比形成了手指库,开发者能够使用手指弯曲库做自定义的手势动作设定,也可以自定义设定动态动态手势。
静态手势识别库,用于存储已经写好的静态手势动作,其中包括了左手的手指数字识别分别是:数字一(食指展开,其余手指弯曲),数字二(食指和中指展开,其余手指弯曲),数字三(中指、五名字和小拇指展开,食指和拇指弯曲触碰指尖),数字四(拇指弯曲,其余手指展开),数字五(所有手指展开),数字六(拇指和小拇指展开,其余手指弯曲),数字七(食指展开,掌心与食指节点2的向量与食指节点2与食指节点3向量的夹角小于180°大于80°),数字八(拇指和食指展开,其余手指弯曲),数字九(掌心与食指节点2的向量与食指节点2与食指节点3向量的夹角小于90°大于10°),数字零(所有手指弯曲),同时在手势识别算法对每个手部每个手指以及掌心和腕部做了弯曲和展开的数据处理,并形成了数据库,如果用户需要在此基础上还需要对手部的节点进行特殊的处理,在静态手势识别库中也提供了每个关节点的数据调用方法。
动态手势识别库:包括在静态手势识别库的基础上自定义的组合两个手势动作形成一个新的手势事件组合,一个手势固定动作组合手势射线,手向上滑动,手向下滑动,手向左滑动,手向右滑动,收拖拽物体移动,手势射线点击按钮,手势射线拖动UI按钮,手势射线拖拽物体,手势射线点击可移动区域进行移动。
手部伸展阈值规则,包装了每个手指的节点,并依据统计出的常用手指展开深度形成了手势的展开的阈值范围确定,其特点在于给出了参数对比形成了手指库,开发者能够使用手指伸展库做自定义的手势动作设定,也可以自定义设定动态手势;节点1、节点2、节点3连接成的向量在同一平面中垂直于横向手掌B3-B6,平行于B6-B1和B3-B2,但是由于人的手指不能确保弯曲度以及形成夹角都是非常精确的,故而在阈值定义时,给阈值加上了垂直插值a,a的大小由用户自定义确定,a值越小,阈值定义越精确,同时对于用户的识别手势动作时需要用户把手势做到越标准,a值越大,阈值定义越广泛,用户在识别手势动作时,手势识别能识别到模糊手势,用户不需要做到非常的精确,只需要处在阈值范围之内就可以了,请见图8,在阈值定义中给此类型定义为7a。
手部弯曲阈值规则,包装了每个手指的节点,并依据统计出的常用手指弯曲深度形成了手势的弯曲的阈值范围确定,其特点在于给出了参数对比形成了手指库,开发者能够使用手指弯曲库做自定义的手势动作设定,也可以自定义设定动态手势;节点1在同一平面中垂直于横向手掌B3-B6,平行于B6-B1和B3-B2;节点2、节点3连接成的向量垂直于节点1到横向手掌B3-B6的向量,但是由于人的手指不能确保弯曲度以及形成夹角都是非常精确的,故而在阈值定义时,给阈值加上了垂直插值a,a的大小由用户自定义确定,a值越小,阈值定义越精确,同时对于用户的识别手势动作时需要用户把手势做到越标准,a值越大,阈值定义越广泛,用户在识别手势动作时,手势识别能识别到模糊手势,用户不需要做到非常的精确,只需要处在阈值范围之内就可以了,参见图9,在阈值定义中给此类型定义为5a。
节点1不在用以平面中垂直于横向手掌B3-B6,不平行于B6-B1和B3-B2;节点2、节点3连接成的向量垂直于节点1且平行于手掌B3-B6,但是由于人的手指不能确保弯曲度以及形成夹角都是非常精确的,故而在阈值定义时,给阈值加上了垂直插值a,a的大小由用户自定义确定,a值越小,阈值定义越精确,同时对于用户的识别手势动作时需要用户把手势做到越标准,a值越大,阈值定义越广泛,用户在识别手势动作时,手势识别能识别到模糊手势,用户不需要做到非常的精确,只需要处在阈值范围之内就可以了,请见图10,在阈值定义中给此类型定义为3a。
节点1不在用以平面中垂直于横向手掌B3-B6,不平行于B6-B1和B3-B2;横向手掌B3-B6的向量于节点1与节点2之间形成的夹角小于90°,节点1与节点2和节点3之间形成的夹角大于90°,小于180°,同时节点3与手掌的之间的距离小于一个节点距离单位,但是由于人的手指不能确保弯曲度以及形成夹角都是非常精确的,故而在阈值定义时,给阈值加上了垂直插值a,a的大小由用户自定义确定,a值越小,阈值定义越精确,同时对于用户的识别手势动作时需要用户把手势做到越标准,a值越大,阈值定义越广泛,用户在识别手势动作时,手势识别能识别到模糊手势,用户不需要做到非常的精确,只需要处在阈值范围之内就可以了,参见图11,在阈值定义中给此类型定义为1a。
静态手势识别库:静态手势识别库数字一手势,小拇指节点H3离掌心节点C1距离小于3a,无名指节点G3距离掌心节点C1距离小于3a,中指节点F3距离掌心节点C1距离小于3a,食指节点E3距离掌心节点C1距离不小于5a,拇指节点D3距离掌心节点C1距离小于3a。
静态手势识别库数字二手势,小拇指节点H3离掌心节点C1距离小于3a,无名指节点G3距离掌心节点C1距离小于3a,中指节点F3距离掌心节点C1距离不小于5a,食指节点E3距离掌心节点C1距离不小于5a,拇指节点D3距离掌心节点C1距离小于3a。
静态手势识别库数字三手势,小拇指节点H3离掌心节点C1距离不小于5a,无名指节点G3距离掌心节点C1距离不小于5a,中指节点F3距离掌心节点C1距离不小于5a,食指节点E3距离掌心节点C1距离小于5a,拇指节点D3距离掌心节点C1距离小于5a,食指节点E3距离拇指节点D3的距离小于食指节点一个单位节点的长度。
静态手势识别库数字四手势,小拇指节点H3离掌心节点C1距离不小于5a,无名指节点G3距离掌心节点C1距离不小于5a,中指节点F3距离掌心C1距离不小于5a,食指节点E3距离掌心C1距离不小于5a,拇节点D3距离掌心节点C1距离小于3a。
静态手势识别库数字五手势,小拇指节点H3离掌心节点C1距离不小于5a,无名指节点G3距离掌心节点C1距离不小于5a,中指节点F3距离掌心节点C1距离不小于5a,食指节点E3距离掌心节点C1距离不小于5a,拇节点D3距离掌心节点C1距离不小于5a。
静态手势识别库数字六手势,小拇指节点H3离掌心节点C1距离不小于5a,无名指节点G3距离掌心节点C1距离小于3a,中指节点F3距离掌心节点C1距离小于3a,食指节点E3距离掌心节点C1距离小于3a,拇节点D3距离掌心节点C1距离不小于5a。
静态手势识别库数字七手势,小拇指节点H3离掌心节点C1距离小于3a,无名指节点G3距离掌心节点C1距离小于3a,中指节点F3距离掌心C1距离小于3a,食指节点E3距离掌心节点C1距离小于7a,大于3a,,拇节点D3距离掌心节点C1距离小于3a。
静态手势识别库数字八手势,小拇指节点H3离掌心节点C1距离小于3a,无名指节点G3距离掌心节点C1距离小于3a,中指节点F3距离掌心C1距离小于3a,食指节点E3距离掌心节点C1距离不小于5a,,拇节点D3距离掌心节点C1距离不小于5a。
静态手势识别库数字九手势,小拇指节点H3离掌心节点C1距离小于3a,无名指节点G3距离掌心节点C1距离小于3a,中指节点F3距离掌心C1距离小于3a,食指节点E3距离手掌节点B3距离小于1a,拇节点D3距离掌心节点C1距离小于3a。
静态手势识别库数字零手势,小拇指节点H3离掌心节点C1距离小于1a,无名指节点G3距离掌心节点C1距离1a3a,中指节点F3距离掌心C1距离小于1a,食指节点E3距离手掌节点B3距离小于1a,,拇节点D3距离无名指G1距离小于1a。
步骤S300、运用手势处理算法划分手势识别区域,在手势识别区域内使用处理后的用户手部数据。
数据的使用为在数据处理以后用户对数据的使用,此时用户可以获取到处理后的用户手部数据,然后自定义数据的意义,也可以直接依据手势库进行使用,或者依据手势库进行新手势动作的组合。Leap手势识别的手势处理算法能够减少开发者在手势应用场景开发过程中再次熟悉手势手势识别硬件以及手势识别硬件的数据分析步骤,开发者能够直接调用开放的接口根据自身要求从新组合新手势动作,也可以直接调用动作库的手势动作,从而能够快速的开发手势识别应用,例如手势处理算法在开发VR场景中的使用,用于提供给VR场景设计人员制作手势操作应用场景;减少手柄的使用,使用手势处理算法是能够通过手势硬件直接定位用户的手部数据并及时把数据反馈到VR头盔中,其中能够给使用者提供识别库,能够减少开发者在使用手势手势识别硬件时对手势识别数据的处理,用户能够不使用硬件手柄也能够在沉浸式体验的场景中进行交互功能的操作。
本实施例提供的基于Untiy引擎的手势处理方法,通过收集用户手部数据;依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库,手势库包括静态手势识别库和动态手势识别库;手势阈值规则包括手部伸展阈值规则和手部弯曲阈值规则;运用手势处理算法划分手势识别区域,在手势识别区域内使用处理后的用户手部数据。通过手势识别的硬件或者软件对在三维场景中对识别出来的手进行三维数据反馈后,再进行手势动作的识别处理,不仅解决了在开发手势识别应用前期对于人员安排、时间安排等大量的精力投入,避免了手势识别应用项目在研究过程中花时间成本、人力成本的投入过大等的问题,而且也解决了非开发用户自定义手势动作的问题,用户能够根据自己的想法设定手部动作的表意,实现了动态手势的配置,同时也能够进行固定手势的识别;有助于开发手势识别应用以及自定义手势动作。本发明提供的基于Untiy引擎的手势处理方法,手势动作识别精度高、增强用户沉浸感和体验感。
进一步地,请见图12,图11为图1中所示的步骤S100一实施例的细化流程示图,在本实施例中,步骤S100包括:
步骤S110、采用手势识别硬件识别用户手部数据,并将识别后的用户手部数据反馈给Unity。
步骤S120、Unity运用手势识别算法对手势识别硬件识别到的用户手部数据进行整理和收集,判断用户手部数据类型,并对用户手部数据中的手势进行分割、区分和分类。
本实施例提供的基于Untiy引擎的手势处理方法,通过采用手势识别硬件识别用户手部数据,并将识别后的用户手部数据反馈给Unity;Unity运用手势识别算法对手势识别硬件识别到的用户手部数据进行整理和收集,判断用户手部数据类型,并对用户手部数据中的手势进行分割、区分和分类,不仅解决了在开发手势识别应用前期对于人员安排、时间安排等大量的精力投入,避免了手势识别应用项目在研究过程中花时间成本、人力成本的投入过大等的问题,而且也解决了非开发用户自定义手势动作的问题,用户能够根据自己的想法设定手部动作的表意,实现了动态手势的配置,同时也能够进行固定手势的识别;有助于开发手势识别应用以及自定义手势动作。本发明提供的基于Untiy引擎的手势处理方法,手势动作识别精度高、增强用户沉浸感和体验感。
进一步地,参见图13,图13为图12中所示的步骤S110一实施例的细化流程示意图,在本实施例中,步骤S120包括:
步骤S121、按照左右手的布置规则,依据手掌的关节点把识别到的用户手部数据中的手指分布进行数据的排列和组合,将识别到的用户手部数据中的手指分别按照关节和手部结构进行处理,以关节为主体的数据区分将手部所有的关节点排列成一个手的形式,以手部结构为主体的数据区分将手按手腕、手掌、掌心、拇指、食指、中指、无名指和小拇指进行区分。
步骤S122、结合以关节为主体的数据区分和以手部结构为主体的数据区分两种处理方式,组合成手腕关节、手掌关节、掌心关节、拇指关节、食指关节、中指关节、无名指关节和小拇指关节。
如图3至图5所示,在收集手部数据的处理时,会依据左右手把左右手的数据依据手掌的关节点,手指分布进行数据的排列和组合,在手部数据中会分别会按照关节和手部结构进行处理,以关节为主体的数据区分会把手部所有的关节点给排列成一个手的形式,以手部结构为主体的处理会把手按照手腕、手掌、掌心、拇指、食指、中指、无名指、小拇指进行区分,然后结合两种处理方式组成手腕关节、手掌关节、掌心关节、拇指关节、食指关节、中指关节、无名指关节、小拇指关节。
手势静态手势识别的判定包括:
手部数据是以人体手部结构作为区分,把手进行手腕、手掌、掌心、拇指、食指、中指、无名指、小拇指进行区分的。
关节数据,关节点依据人体手部结构数据进行关节点的区分,手腕关节点分为A1、A2、A3、A4,手掌关节点分为B1、B2、B3、B4、B5、B6,掌心关节是C1,拇指关节点分为D1、D2、D3,食指关节点分为E1、E2、E3,中指关节点分为F1、F2、F3,无名关节点分为G1、G2、G3,小拇指关节点分为H1、H2、H3,左右手的数据是分别以此去镜像值,如图4和图5所示。
手势动态手势的识别的判定包括包括两个静态手势的动作组合,用户可以从静态手势库中自己依据需求组合两个静态手势形成新的手势动作,如图5和图6所示。
位置移动,包括手滑动,从左到右滑动以及从右到左的反向滑动。
手势射线,手势识别到用户的手后能够发出射线类似于手柄一样的功能,在手势范围的局限上进行扩大,动态手势主要是给与手势组合的使用案例,然用户可以案例进行自定义的手势组合。
本实施例提供的基于Untiy引擎的手势处理方法,按照左右手的布置规则,依据手掌的关节点把识别到的用户手部数据中的手指分布进行数据的排列和组合,将识别到的用户手部数据中的手指分别按照关节和手部结构进行处理,以关节为主体的数据区分将手部所有的关节点排列成一个手的形式,以手部结构为主体的数据区分将手按手腕、手掌、掌心、拇指、食指、中指、无名指和小拇指进行区分;结合以关节为主体的数据区分和以手部结构为主体的数据区分两种处理方式,组合成手腕关节、手掌关节、掌心关节、拇指关节、食指关节、中指关节、无名指关节和小拇指关节。本发明提供的基于Untiy引擎的手势处理方法,手势动作识别精度高、增强用户沉浸感和体验感。
优选地,请见图14,图14为图1中所示的步骤S200一实施例的细化流程示意图,在本实施例中,步骤S200包括:
步骤S210、判断是否识别到用户手部数据。
步骤S220、若是则依据预设的手势阈值规则完成用户手部数据的定制。
如图15至图18所示,步骤S220具体包括:
步骤S221、将识别到的用户手部数据与实时的手势数据进行对比,判断收集到的用户手部数据是否属实。
步骤S222、若识别到的用户手部数据属实,则将识别到的用户手部数据与预设的手势阈值规则表进行对比,确认识别到的用户手部数据是否在手势阈值规则表中,如果识别到的用户手部数据不属于手势阈值规则表中的数据,则需要对识别到的用户手部数据按照手势阈值规则表进行重构,如果在重构数据时,判断出识别到的用户手部数据不满足重构的条件时,则需要对识别到的用户手部数据进行模型假设。
步骤S223、对识别到的用户手部数据进行模型假设,如果模型数据能够满足手势的构建,则进行模型的数据提取。
步骤S224、对提取的模型数据同时进行验证和分析,判断提取的模型数据否为长期持有的数据,若是则进行模型求解;在模型求解的过程中,如果识别到的手势不在定义的手势库中则再进行重构,并不进行手势动作输出;如果手势的模型求解成功,则说明当前手势动作满足手势库中的动作,则会进行手势动作的输出。
实时处理是为了增加手势识别的准确性以及增加手势识别的时率性,是为了避免手势识别硬件在识别到用户手的同一时刻用户的手移除了手势识别的范围,面对于这种情况则需要对手进行实时的判断,如果在手势识别算法进行数据处理的过程中如果用的手消失在了识别范围时,数据需要进行重构,然后再次去判断是否有收集到手部数据,如果有,则在进行手势分割和手势的实时判断,以此循环,在手势识别算法获取到数据后,同时用户的又没有消失在识别范围时,手势识别处理算法会判断当前识别的数据是左手数据还是右手数据然后依据左右手进行动作的判断,然后依据动作进行判断区分静态手势和动态手势。
表1
进一步地,请见图19,图19为图1中所示的步骤S300一实施例的细化流程示意图,在本实施例中,步骤S300包括:
S310、以相机两眼之间的中心点作为直视分界点,高于直视分解点的属于上半部分,低于直视分界点的部分属于下半部分。
S320、以直视分界点为圆点做垂直且不平行于双眼的直线,在相机前面划分出一个三维的识别区域。
如图20至图22所示,手势识别范围的判定包括:
相机识别区域:基准以头盔为准,对头盔识别区域分为上左边,上右,下左,下右四个区域,识别手势的区域在头盔识别区域的基础上进行识别区域的划分.
手势识别区域:在相机识别区域的基础上,以相机两眼之间的中心点作为直视分界点,高于直视分解点的属于上半部分,低于直视分界点的部分属于下半部分,然后以直视分界点为圆点点做垂直但不平行于双眼的直线,这样就能以相机的双眼之间的直视分界点为圆点在在相机前面划分出一个三维的识别区域。以眼睛聚焦的物体为准,默认是相机垂直地平面的直视视角,但在使用过程中,用户会穿戴头盔硬件等,因此会导致头盔不是垂直于地平面的,所以在手势处理算法中,以相机聚焦的物体为直视分界点;以聚焦物体作为直视分界点能让识别手势的动态动作能够更加的符合显示生活中的方位判断。
请见图23,图23为本发明提供的基于Untiy引擎的手势处理系统一实施例的功能框图,在本实施例中,该基于Untiy引擎的手势处理系统,包括收集模块10、处理模块20和使用模块30,其中,收集模块10,用于收集用户手部数据;处理模块20,用于依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库,手势库包括静态手势识别库和动态手势识别库;手势阈值规则包括手部伸展阈值规则和手部弯曲阈值规则;使用模块30,用于运用手势处理算法划分手势识别区域,在手势识别区域内使用处理后的用户手部数据。
本实施例提供的基于Untiy引擎的手势处理系统,通过收集用户手部数据;依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库,手势库包括静态手势识别库和动态手势识别库;手势阈值规则包括手部伸展阈值规则和手部弯曲阈值规则;运用手势处理算法划分手势识别区域,在手势识别区域内使用处理后的用户手部数据。通过手势识别的硬件或者软件对在三维场景中对识别出来的手进行三维数据反馈后,再进行手势动作的识别处理,不仅解决了在开发手势识别应用前期对于人员安排、时间安排等大量的精力投入,避免了手势识别应用项目在研究过程中花时间成本、人力成本的投入过大等的问题,而且也解决了非开发用户自定义手势动作的问题,用户能够根据自己的想法设定手部动作的表意,实现了动态手势的配置,同时也能够进行固定手势的识别;有助于开发手势识别应用以及自定义手势动作。本发明提供的基于Untiy引擎的手势处理系统,手势动作识别精度高、增强用户沉浸感和体验感。
进一步地,请见图24,图24为图22中所示的收集模块一实施例的功能模块示意图,在本实施例中,收集模块10包括识别单元11和处理单元12,其中,识别单元11,用于采用手势识别硬件识别用户手部数据,并将识别后的用户手部数据反馈给Unity;处理单元12,用于运用手势识别算法对手势识别硬件识别到的用户手部数据进行整理和收集,判断用户手部数据类型,并对用户手部数据中的手势进行分割、区分和分类。
优选地,参见图25,图25为图24中所示的识别单元一实施例的功能模块示意图,在本实施例中,处理单元12包括区分子单元121和结合子单元122,其中,区分子单元121,用于按照左右手的布置规则,依据手掌的关节点把识别到的用户手部数据中的手指分布进行数据的排列和组合,将识别到的用户手部数据中的手指分别按照关节和手部结构进行处理,以关节为主体的数据区分将手部所有的关节点排列成一个手的形式,以手部结构为主体的数据区分将手按手腕、手掌、掌心、拇指、食指、中指、无名指和小拇指进行区分;结合子单元122,用于结合以关节为主体的数据区分和以手部结构为主体的数据区分两种处理方式,组合成手腕关节、手掌关节、掌心关节、拇指关节、食指关节、中指关节、无名指关节和小拇指关节。
进一步地,如图26所示,图26为图23中所示的处理模块一实施例的功能模块示意图,在本实施例中,处理模块20包括判断单元21和定制单元22,其中,判断单元21,用于判断是否识别到用户手部数据;定制单元22,用于若是则依据预设的手势阈值规则完成用户手部数据的定制。定制单元22包括对比子单元221、判断子单元222、数据提取子单元223和输出子单元224,其中,对比子单元221,用于将识别到的用户手部数据与实时的手势数据进行对比,判断收集到的用户手部数据是否属实;判断子单元222,用于若识别到的用户手部数据属实,则将识别到的用户手部数据与预设的手势阈值规则表进行对比,确认识别到的用户手部数据是否在手势阈值规则表中,如果识别到的用户手部数据不属于手势阈值规则表中的数据,则需要对识别到的用户手部数据按照手势阈值规则表进行重构;如果在重构数据时,判断出识别到的用户手部数据不满足重构的条件时,则需要对识别到的用户手部数据进行模型假设;数据提取子单元223,用于对识别到的用户手部数据进行模型假设,如果模型数据能够满足手势的构建,则进行模型的数据提取;输出子单元224,用于对提取的模型数据同时进行验证和分析,判断提取的模型数据否为长期持有的数据,若是则进行模型求解;在模型求解的过程中,如果识别到的手势不在定义的手势库中则再进行重构,并不进行手势动作输出;如果手势的模型求解成功,则说明当前手势动作满足手势库中的动作,则会进行手势动作的输出。
优选地,请见图27,图27为图23中所示的使用模块一实施例的功能模块示意图,在本实施例中,使用模块30包括分界单元31和划分单元32,其中,分界单元31,用于以相机两眼之间的中心点作为直视分界点,高于直视分解点的属于上半部分,低于直视分界点的部分属于下半部分;划分单元32,用于以直视分界点为圆点做垂直且不平行于双眼的直线,在相机前面划分出一个三维的识别区域。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种基于Untiy引擎的手势处理方法,其特征在于,包括以下步骤:
收集用户手部数据;
依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库,所述手势库包括静态手势识别库和动态手势识别库;所述手势阈值规则包括手部伸展阈值规则和手部弯曲阈值规则;
运用手势处理算法划分手势识别区域,在所述手势识别区域内使用处理后的用户手部数据;
所述收集用户手部数据的步骤包括:
采用手势识别硬件识别用户手部数据,并将识别后的用户手部数据反馈给Unity;
Unity运用手势识别算法对手势识别硬件识别到的用户手部数据进行整理和收集,判断用户手部数据类型,并对用户手部数据中的手势进行分割、区分和分类;
所述Unity运用手势识别算法对手势识别硬件识别到的用户手部数据进行整理和收集,判断用户手部数据类型,并对用户手部数据中的手势进行分割、区分和分类的步骤包括:
按照左右手的布置规则,依据手掌的关节点把识别到的用户手部数据中的手指分布进行数据的排列和组合,将识别到的用户手部数据中的手指分别按照关节和手部结构进行处理,以关节为主体的数据区分将手部所有的关节点排列成一个手的形式,以手部结构为主体的数据区分将手按手腕、手掌、掌心、拇指、食指、中指、无名指和小拇指进行区分;
结合以关节为主体的数据区分和以手部结构为主体的数据区分两种处理方式,组合成手腕关节、手掌关节、掌心关节、拇指关节、食指关节、中指关节、无名指关节和小拇指关节;
手势静态手势识别的判定包括:
手部数据是以人体手部结构作为区分,把手进行手腕、手掌、掌心、拇指、食指、中指、无名指、小拇指进行区分的;
关节数据,关节点依据人体手部结构数据进行关节点的区分,手腕关节点分为A1、A2、A3、A4,手掌关节点分为B1、B2、B3、B4、B5、B6,掌心关节是C1,拇指关节点分为D1、D2、D3,食指关节点分为E1、E2、E3,中指关节点分为F1、F2、F3,无名关节点分为G1、G2、G3,小拇指关节点分为H1、H2、H3,左右手的数据是分别以此去镜像值;
静态手势:不做手势动作的识别,排除手势动作,只用于识别用户在手势识别范围内摆出的固定手势,其中只固定手势,不固定具体识别手的位置,经过手势处理算法在Untiy接收到手势识别的数据后,会对数据进行解析,同时生成手势动作类型;
动态手势:是基于静态手势识别固定手势,同时在这个基础还能够识别到用户手的运动轨迹,用户能够使用固定手势加上运动轨迹做手的运动轨设定,主要作用与开发连贯性手势的处理,用户使用手势识别算法做组合手势识别动作,或者从某一固定手势动作到另一个固定手势动作的衔接以及过度判断;
手部伸展,包括了每个手指的节点,并依据统计出的常用手指展开深度形成了手势的展开数据库;
手部弯曲,包括了每个手指的节点,并依据统计出的常用手指弯曲深度形成了手势的弯曲数据库;
所述静态手势识别库,用于存储已经写好的静态手势动作,其中包括了左手的手指数字识别分别是:数字一表示食指展开,其余手指弯曲;数字二表示食指和中指展开,其余手指弯曲;数字三表示中指、无名指和小拇指展开,食指和拇指弯曲触碰指尖;数字四表示拇指弯曲,其余手指展开;数字五表示所有手指展开;数字六表示拇指和小拇指展开,其余手指弯曲;数字七表示食指展开,掌心与食指关节点E2的向量与食指关节点E2与食指关节点E3向量的夹角小于180°且大于80°;数字八表增拇指和食指展开,其余手指弯曲;数字九表示掌心与食指关节点E2的向量与食指关节点E2与食指关节点E3向量的夹角小于90°且大于10°;数字零表示所有手指弯曲;
动态手势识别库:包括在静态手势识别库的基础上自定义的组合两个手势动作形成一个新的手势事件组合,一个手势固定动作组合手势射线,手向上滑动,手向下滑动,手向左滑动,手向右滑动,收拖拽物体移动,手势射线点击按钮,手势射线拖动UI按钮,手势射线拖拽物体,手势射线点击可移动区域进行移动;
手部伸展阈值规则,包括了每个手指的节点,并依据统计出的常用手指展开深度形成了手势的展开的阈值范围确定;
手部弯曲阈值规则,包括了每个手指的节点,并依据统计出的常用手指弯曲深度形成了手势的弯曲的阈值范围确定。
2.如权利要求1所述的基于Untiy引擎的手势处理方法,其特征在于,
所述依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库的步骤包括:
判断是否识别到用户手部数据;
若是则依据预设的手势阈值规则完成用户手部数据的定制;
所述若是则依据预设的手势阈值规则完成用户手部数据的定制的步骤包括:
将识别到的用户手部数据与实时的手势数据进行对比,判断收集到的用户手部数据是否属实;
若识别到的用户手部数据属实,则将识别到的用户手部数据与预设的手势阈值规则表进行对比,确认识别到的用户手部数据是否在手势阈值规则表中,如果识别到的用户手部数据不属于所述手势阈值规则表中的数据,则需要对识别到的用户手部数据按照所述手势阈值规则表进行重构,如果在重构数据时,判断出识别到的用户手部数据不满足重构的条件时,则需要对识别到的用户手部数据进行模型假设;
对识别到的用户手部数据进行模型假设,如果模型数据能够满足手势的构建,则进行模型的数据提取;
对提取的模型数据同时进行验证和分析,判断提取的模型数据否为长期持有的数据,若是则进行模型求解;在模型求解的过程中,如果识别到的手势不在定义的手势库中则再进行重构,并不进行手势动作输出;如果手势的模型求解成功,则说明当前手势动作满足手势库中的动作,则会进行手势动作的输出。
3.如权利要求2所述的基于Untiy引擎的手势处理方法,其特征在于,
所述运用手势处理算法划分手势识别区域,在所述手势识别区域内使用处理后的用户手部数据的步骤包括:
以相机两眼之间的中心点作为直视分界点,高于直视分解点的属于上半部分,低于直视分界点的部分属于下半部分;
以直视分界点为圆点做垂直且不平行于双眼的直线,在相机前面划分出一个三维的识别区域。
4.一种基于Untiy引擎的手势处理系统,其特征在于,包括:
收集模块(10),用于收集用户手部数据;
处理模块(20),用于依据预设的手势阈值规则对收集到的用户手部数据进行处理,以形成手势库,所述手势库包括静态手势识别库和动态手势识别库;所述手势阈值规则包括手部伸展阈值规则和手部弯曲阈值规则;
使用模块(30),用于运用手势处理算法划分手势识别区域,在所述手势识别区域内使用处理后的用户手部数据;
所述收集模块(10)包括:
识别单元(11),用于采用手势识别硬件识别用户手部数据,并将识别后的用户手部数据反馈给Unity;
处理单元(12),用于运用手势识别算法对手势识别硬件识别到的用户手部数据进行整理和收集,判断用户手部数据类型,并对用户手部数据中的手势进行分割、区分和分类;
所述处理单元(12)包括:
区分子单元(121),用于按照左右手的布置规则,依据手掌的关节点把识别到的用户手部数据中的手指分布进行数据的排列和组合,将识别到的用户手部数据中的手指分别按照关节和手部结构进行处理,以关节为主体的数据区分将手部所有的关节点排列成一个手的形式,以手部结构为主体的数据区分将手按手腕、手掌、掌心、拇指、食指、中指、无名指和小拇指进行区分;
结合子单元(122),用于结合以关节为主体的数据区分和以手部结构为主体的数据区分两种处理方式,组合成手腕关节、手掌关节、掌心关节、拇指关节、食指关节、中指关节、无名指关节和小拇指关节;
手势静态手势识别的判定包括:
手部数据是以人体手部结构作为区分,把手进行手腕、手掌、掌心、拇指、食指、中指、无名指、小拇指进行区分的;
关节数据,关节点依据人体手部结构数据进行关节点的区分,手腕关节点分为A1、A2、A3、A4,手掌关节点分为B1、B2、B3、B4、B5、B6,掌心关节是C1,拇指关节点分为D1、D2、D3,食指关节点分为E1、E2、E3,中指关节点分为F1、F2、F3,无名关节点分为G1、G2、G3,小拇指关节点分为H1、H2、H3,左右手的数据是分别以此去镜像值;
静态手势:不做手势动作的识别,排除手势动作,只用于识别用户在手势识别范围内摆出的固定手势,其中只固定手势,不固定具体识别手的位置,经过手势处理算法在Untiy接收到手势识别的数据后,会对数据进行解析,同时生成手势动作类型;
动态手势:是基于静态手势识别固定手势,同时在这个基础还能够识别到用户手的运动轨迹,用户能够使用固定手势加上运动轨迹做手的运动轨设定,主要作用与开发连贯性手势的处理,用户使用手势识别算法做组合手势识别动作,或者从某一固定手势动作到另一个固定手势动作的衔接以及过度判断;
手部伸展,包括了每个手指的节点,并依据统计出的常用手指展开深度形成了手势的展开数据库;
手部弯曲,包括了每个手指的节点,并依据统计出的常用手指弯曲深度形成了手势的弯曲数据库;
所述静态手势识别库,用于存储已经写好的静态手势动作,其中包括了左手的手指数字识别分别是:数字一表示食指展开,其余手指弯曲;数字二表示食指和中指展开,其余手指弯曲;数字三表示中指、无名指和小拇指展开,食指和拇指弯曲触碰指尖;数字四表示拇指弯曲,其余手指展开;数字五表示所有手指展开;数字六表示拇指和小拇指展开,其余手指弯曲;数字七表示食指展开,掌心与食指关节点E2向量与食指关节点E2与食指关节点E3向量的夹角小于180°且大于80°;数字八表增拇指和食指展开,其余手指弯曲;数字九表示掌心与食指关节点E2的向量与食指关节点E2与食指关节点E3向量的夹角小于90°且大于10°;数字零表示所有手指弯曲;
动态手势识别库:包括在静态手势识别库的基础上自定义的组合两个手势动作形成一个新的手势事件组合,一个手势固定动作组合手势射线,手向上滑动,手向下滑动,手向左滑动,手向右滑动,收拖拽物体移动,手势射线点击按钮,手势射线拖动UI按钮,手势射线拖拽物体,手势射线点击可移动区域进行移动;
手部伸展阈值规则,包括了每个手指的节点,并依据统计出的常用手指展开深度形成了手势的展开的阈值范围确定;
手部弯曲阈值规则,包括了每个手指的节点,并依据统计出的常用手指弯曲深度形成了手势的弯曲的阈值范围确定。
5.如权利要求4所述的基于Untiy引擎的手势处理系统,其特征在于,
所述处理模块(20)包括:
判断单元(21),用于判断是否识别到用户手部数据;
定制单元(22),用于若是则依据预设的手势阈值规则完成用户手部数据的定制;
所述定制单元(22)包括:
对比子单元(221),用于将识别到的用户手部数据与实时的手势数据进行对比,判断收集到的用户手部数据是否属实;
判断子单元(222),用于若识别到的用户手部数据属实,则将识别到的用户手部数据与预设的手势阈值规则表进行对比,确认识别到的用户手部数据是否在手势阈值规则表中,如果识别到的用户手部数据不属于所述手势阈值规则表中的数据,则需要对识别到的用户手部数据按照所述手势阈值规则表进行重构;如果在重构数据时,判断出识别到的用户手部数据不满足重构的条件时,则需要对识别到的用户手部数据进行模型假设;
数据提取子单元(223),用于对识别到的用户手部数据进行模型假设,如果模型数据能够满足手势的构建,则进行模型的数据提取;
输出子单元(224),用于对提取的模型数据同时进行验证和分析,判断提取的模型数据否为长期持有的数据,若是则进行模型求解;在模型求解的过程中,如果识别到的手势不在定义的手势库中则再进行重构,并不进行手势动作输出;如果手势的模型求解成功,则说明当前手势动作满足手势库中的动作,则会进行手势动作的输出。
6.如权利要求5所述的基于Untiy引擎的手势处理系统,其特征在于,
所述使用模块(30)包括:
分界单元(31),用于以相机两眼之间的中心点作为直视分界点,高于直视分解点的属于上半部分,低于直视分界点的部分属于下半部分;
划分单元(32),用于以直视分界点为圆点做垂直且不平行于双眼的直线,在相机前面划分出一个三维的识别区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010945040.9A CN112036358B (zh) | 2020-09-09 | 2020-09-09 | 基于Untiy引擎的手势处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010945040.9A CN112036358B (zh) | 2020-09-09 | 2020-09-09 | 基于Untiy引擎的手势处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112036358A CN112036358A (zh) | 2020-12-04 |
CN112036358B true CN112036358B (zh) | 2024-05-10 |
Family
ID=73585555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010945040.9A Active CN112036358B (zh) | 2020-09-09 | 2020-09-09 | 基于Untiy引擎的手势处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112036358B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868715A (zh) * | 2016-03-29 | 2016-08-17 | 苏州科达科技股份有限公司 | 一种手势识别方法、装置及手势学习系统 |
CN106960036A (zh) * | 2017-03-09 | 2017-07-18 | 杭州电子科技大学 | 一种用于手势识别的数据库建立方法 |
CN109597485A (zh) * | 2018-12-04 | 2019-04-09 | 山东大学 | 一种基于双指角域特征的手势交互系统及其工作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8620024B2 (en) * | 2010-09-17 | 2013-12-31 | Sony Corporation | System and method for dynamic gesture recognition using geometric classification |
-
2020
- 2020-09-09 CN CN202010945040.9A patent/CN112036358B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868715A (zh) * | 2016-03-29 | 2016-08-17 | 苏州科达科技股份有限公司 | 一种手势识别方法、装置及手势学习系统 |
CN106960036A (zh) * | 2017-03-09 | 2017-07-18 | 杭州电子科技大学 | 一种用于手势识别的数据库建立方法 |
CN109597485A (zh) * | 2018-12-04 | 2019-04-09 | 山东大学 | 一种基于双指角域特征的手势交互系统及其工作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112036358A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
De Smedt et al. | Heterogeneous hand gesture recognition using 3D dynamic skeletal data | |
Ren et al. | Robust part-based hand gesture recognition using kinect sensor | |
CN103926999B (zh) | 手掌开合手势识别方法和装置、人机交互方法和设备 | |
CN112148128B (zh) | 一种实时手势识别方法、装置及人机交互系统 | |
Funasaka et al. | Sign language recognition using leap motion controller | |
Bhuyan et al. | Fingertip detection for hand pose recognition | |
JP6066093B2 (ja) | 手指形状推定装置、手指形状推定方法、及び手指形状推定プログラム | |
De Smedt et al. | 3d hand gesture recognition by analysing set-of-joints trajectories | |
Çalışkan | Detecting human activity types from 3D posture data using deep learning models | |
CN111860078B (zh) | 人脸静默活体检测方法、装置、可读存储介质及设备 | |
CN114529639A (zh) | 一种生成虚拟形象动画的方法、装置、设备及存储介质 | |
CN109032337A (zh) | 一种基于数据手套的kem手势识别算法 | |
CN107292295B (zh) | 手势分割方法及装置 | |
Chalasani et al. | Egocentric gesture recognition for head-mounted ar devices | |
WO2024078088A1 (zh) | 互动处理方法及装置 | |
CN111291713B (zh) | 一种基于骨架的手势识别方法及系统 | |
Zhang et al. | Cascaded hierarchical CNN for 2D hand pose estimation from a single color image | |
CN112036358B (zh) | 基于Untiy引擎的手势处理方法及系统 | |
Cambuim et al. | An efficient static gesture recognizer embedded system based on ELM pattern recognition algorithm | |
Lahiani et al. | Real Time Static Hand Gesture Recognition System for Mobile Devices. | |
Mahmud et al. | Recognition of symbolic gestures using depth information | |
Dominio et al. | Feature descriptors for depth-based hand gesture recognition | |
Nguyen et al. | A fully automatic hand gesture recognition system for human-robot interaction | |
Varga et al. | Survey and investigation of hand motion processing technologies for compliance with shape conceptualization | |
Zhang et al. | Research on gesture recognition based on improved template matching algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |