CN115061577A - 手部投影交互方法、***及存储介质 - Google Patents
手部投影交互方法、***及存储介质 Download PDFInfo
- Publication number
- CN115061577A CN115061577A CN202210958436.6A CN202210958436A CN115061577A CN 115061577 A CN115061577 A CN 115061577A CN 202210958436 A CN202210958436 A CN 202210958436A CN 115061577 A CN115061577 A CN 115061577A
- Authority
- CN
- China
- Prior art keywords
- hand
- projection
- user
- picture
- bone joint
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/34—Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开一种手部投影交互方法、***及存储介质,该方法包括:获取用户的手部图片;识别出手部的若干个关键骨关节点并进行跟踪;计算投影转换参数,并根据投影转换参数调整投影画面,实现投影画面与手部锚定;手指尖点击投影画面时,开始获取手指尖关键骨关节点的坐标对应的第一纵向深度值、投影画面中操作按钮对应的第二纵向深度值,以及手指尖关键骨关节点的坐标与操作按钮的坐标之间的第一横向距离;当纵向深度值之差达到第一阈值,且第一横向距离达到第二阈值时,判定用户做出了一次点击事件,根据用户点击的操作按钮发出投影变化指令;根据投影变化指令更新投影内容,完成与用户的交互。本发明解决了在狭小空间投影交互体验差的问题。
Description
技术领域
本申请涉及人机交互技术领域,具体而言,涉及一种手部投影交互方法、***及存储介质。
背景技术
常见的交互技术一般包括纯虚拟、纯真实或者虚实交互等多种方案:
纯虚拟:用户通过在收集、平板等电子设备上通过设备内部的设计来实现交互行为,操作和反馈均为虚拟的。
纯真实:用户利用实际的物品通过遵循某种规则来进行交互,例如传统的棋类游戏。
虚实交互:一般的交互即用户通过点击电子设备上的按钮来实现与电子设备的交互,不够灵活并且需要有电子设备的支持。
传统手部交互:有着手部智能手表之类的交互方式,对于这些交互方式一般是通过用户手部安装的部件来进行有关的交互操作,相当于需要双手来进行与部件之间的交互操作;同时也有基于手势控制的交互方式,这类方式需要用户摆出指定动作来实现交互。
这些现有技术存在诸多缺陷:
1、纯虚拟的交互会被电子设备的屏幕限制,并且基于电子设备的交互对用户的眼睛会有一定的影响,不够健康。
2、纯真实的交互不会有护眼问题,但由于是基于实物进行的交互,因此如果要实现一些特殊效果或者扩展交互的内容,通常需要购买一些贵重的实物来实现。
3、虚实交互方案实现了对纯虚拟和纯真实技术的突破,但仍然需要有一定的平台来作为辅助,例如传统虚实交互中的投影仪、升级虚实交互中的投影设备等等,从一定程度上为交互造成了阻碍:需要较大的空间来进行支持。
4、传统手部交互技术虽然可以做到手部空间的利用,但仍然存在一些问题:需要双手操作,一些场景下不可行;可操作空间较小,只有手部的一小部分屏幕;另外针对手势控制,操作不够精确,只能做一些定性控制,不够灵活。
针对上述现有技术中用户交互场景受限、体验差的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种手部投影交互方法、***及存储介质,以至少解决现有技术中用户在随意空间场合尤其是在狭小空间交互体验差的技术问题。
根据本申请实施例的一个方面,提供了一种手部投影交互方法、***及存储介质。
一种手部投影交互方法,其包括如下步骤:
S01.获取用户的手部图片,包括第一手部图片和第二手部图片;
S02.识别出手部的若干个关键骨关节点,并对其中第二手部手指尖附近的若干个关键骨关节点进行跟踪;
S03.根据步骤S02中识别及跟踪的若干个关键骨关节点计算投影转换参数,并根据投影转换参数调整投影画面,实现投影画面与第一手部的锚定;
S04.当用户用第二手部的手指尖点击第一手部的投影画面时,开始获取:所述第二手部手指尖附近的若干个关键骨关节点的坐标对应的第一纵向深度值,所述投影画面中操作按钮的坐标对应的第二纵向深度值,以及所述第二手部手指尖附近的若干个关键骨关节点的坐标与所述操作按钮的坐标之间的第一横向距离;
S05.当所述第一纵向深度值与所述第二纵向深度值之差达到第一阈值,且所述第一横向距离达到第二阈值时,判定用户做出了点击事件,根据用户点击的所述操作按钮发出投影变化指令;
S06.根据投影变化指令更新投影内容,完成与用户的交互。
进一步的,步骤S01还包括步骤:
进行投影对焦和梯形校正,进行画面信号的重合和校准判断,直到投影画面清晰;
在投影画面中显示包含带有编码信息的ChArUco标记。
进一步的,所述步骤S02具体包括:
通过手掌检测分离出第一手部的手掌区域;
通过手部骨关节点标定算法,分析出第一手部的21个关键骨关节点,并且存储21个关键骨关节点的坐标;
通过插值算法,根据用户设置对所述21个关键骨关节点进行扩展,得到更多第一手部手掌区域的关键骨关节点坐标并存储;
跟踪第二手部指尖的五个关键骨关节点,并实时更新所述五个关键骨关节点的坐标。
进一步的,所述步骤S03具体包括:
根据步骤S02中识别和跟踪的若干个关键骨关节点以及投影画面中的ChArUco标记,解算出投影画面在图像空间的对应顶点坐标,同时记录此时投影画面的深度值,根据所述投影画面的深度值和初始投影转换参数计算并存储投影转换参数,根据投影转换参数调整投影画面,实现投影画面与第一手部的锚定。
进一步的,所述步骤S04还包括点击判定步骤:
当用户的第二手部手指尖距离第一手部的投影画面接近到1cm时,判定用户将要点击,这时开始持续获取所述第一纵向深度值、第二纵向深度值和第一横向距离。
进一步的,所述步骤S05中,判定用户做出了一次点击事件,根据用户点击的所述操作按钮发出投影变化指令,具体包括:
在判定出确为用户点击事件后,获取当前投影内容并结合多帧点击信息分析用户状态和动作意图,将分析结果作为下一步分析的源数据;
如果用户点击对应的功能是某一事件的调用,则执行相应的调用并记录调用信息,如果用户点击对应的是标记功能,则显示标记并记录标记信息。
进一步的,通过检测用户的手部姿态来识别第一手部和第二手部,包括检测预先指定的手部姿势来确定第一手部和第二手部,以及通过特定语义的手势实现第一手部和第二手部的切换;所述第二手部作为触控发起方在第一手部的投影画面上进行触控操作。
进一步的,本发明还提供一种手部投影交互***,包括信息采集单元、投影单元和计算分析单元,所述计算分析单元分别与信息采集单元和投影单元通讯连接,其中:
所述信息采集单元用于获取用户的第一手部图片和第二手部图片;
所述计算分析单元用于收到用户手部图片后,解析识别出手部若干个关键骨关节点,并对其中第二手部手指尖附近的若干个关键骨关节点进行跟踪;
所述计算分析单元用于根据识别出的关键骨关节点计算投影转换参数,所述投影单元用于根据投影转换参数调整投影画面,实现投影画面与第一手部的锚定;
所述计算分析单元还用于获取:所述第二手部手指尖附近的若干个关键骨关节点的坐标对应的第一纵向深度值,所述投影画面中操作按钮的坐标对应的第二纵向深度值,以及所述第二手部手指尖附近的若干个关键骨关节点的坐标与所述操作按钮的坐标之间的第一横向距离;当第一纵向深度值与第二纵向深度值之差达到第一阈值,且所述第一横向距离达到第二阈值时,所述计算分析单元判定用户做出了点击事件,所述计算分析单元根据用户点击的操作按钮向所述投影单元发出投影变化指令;
所述投影单元还用于根据投影变化指令更新投影内容,完成与用户的交互。
进一步的,所述信息采集单元包括RGB摄像头和TOF摄像头、RGB摄像头和3D结构光摄像头或双目摄像头;所述投影单元为投影仪。
进一步的,本申请还提供一种存储介质,其中,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行前述的手部投影交互方法。
本申请实施例主要解决的技术问题即让投影交互更加灵活,不再受限于空间场合的大小,让交互不再需要基于手部智能手表之类的电子设备,只需利用交互设备的摄像头进行场景信息捕获,对场景信息处理后便可在用户手掌上投影来实现用户交互。此外解决了虚实交互技术的场地限制,例如小空间下无法进行有效的交互行为、需要空间来安置设备,可以实现将交互平面投影在用户的手部手掌上,实现对投影内容的控制交互。并且相比于传统手部交互技术,该技术可以实现单手操作,并且操作界面相当于扩展到了整个手掌,给了用户更多的操作空间。此外,在很多场景下,例如,当用户在家里或在车里时,经常需要操作智能家具、座椅、车窗、屏幕,这些设备有时距离用户较近,有时较远,当距离远时用户操作时会比较累,并且可能影响开车人的安全,这时通过本申请实施例的方案,可实现用户只需举手,即实现投影内容的显示,可在手掌中心实现有关的操作,十分便捷方便,相当于将智能设备控制以及小空间的交互能力进行了结合,从而实现了一种十分便捷和友好的人机交互特性,解决原本操作需要使用诸多设备和较大的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的手部投影交互***的结构示意图;
图2是根据本申请实施例的手部投影交互方法的流程图;
图3是根据本申请实施例的用户手部关键骨关节点示意图;
图4是根据本申请实施例的用户手部关键骨关节点插值法示意图;
图5是根据本申请实施例的判定是否为用户有效点击事件的流程示意图;
图6a是根据本申请实施例的用户触控手与投影手交互的效果图之一;
图6b是根据本申请实施例的用户触控手与投影手交互的又一效果图。
其中,图6a及图6b中的A为第一手部,B为第二手部。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
对本申请实施例中的术语,如无特殊说明则按如下定义:
手部关键骨关节点(简称关键节点):用来组成手部各关键部位节点的点集,主要用来检测手的位置,用于确定大体的投影区域。
RGB图:利用摄像头识别后将距离用颜色信息表示出来的彩色图像。
RGB摄像头:用于获取彩色图像。
深度摄像头:获取深度图像,用来辅助手部关键骨关节点来实现更精确的投影。
双目摄像头:可以同时实现RGB摄像头和深度摄像头的功能,即同时实现彩色、深度图像的获取。
TOF:即time to flight的缩写,通过“飞行时间”来进行深度的判断。
实施例1
根据本申请实施例,提供了一种手部投影交互方法实施例,需要说明的是,该方法的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在步骤流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现手部投影交互方法的手部投影交互***示意图。如图1所示的手部投影交互***,其包括信息采集单元、投影单元和计算分析单元,计算分析单元分别与信息采集单元和投影单元通讯连接。
图2是根据本申请实施例的手部投影交互方法的流程图,该方法应用于移动终端、计算机、投影仪等设备,这些设备均可基于图1的硬件结构实现。
参见图2所示,手部投影交互方法可以包括:
S01.获取用户的第一手部图片和第二手部图片;
S02.识别出手部的若干个关键骨关节点,并对其中第二手部手指尖附近的若干个关键骨关节点进行跟踪;
S03.根据步骤S02中识别及跟踪的若干个关键骨关节点计算投影转换参数,并根据投影转换参数调整投影画面,实现投影画面与第一手部的锚定;
S04.当用户用第二手部的手指尖点击第一手部的投影画面时,开始获取:第二手部手指尖附近的若干个关键骨关节点的坐标对应的第一纵向深度值,投影画面中操作按钮的坐标对应的第二纵向深度值,以及第二手部手指尖附近的若干个关键骨关节点的坐标与操作按钮的坐标之间的第一横向距离;
S05.当第一纵向深度值与第二纵向深度值之差达到第一阈值,且第一横向距离达到第二阈值时,判定用户做出了一次点击事件,根据用户点击的操作按钮发出投影变化指令;
S06.根据投影变化指令更新投影内容,完成与用户的交互。
本实施例实现了投影画面与用户手部的锚定,将曲面或不规则平面,例如用户的手部尤其是手掌作为投影画面的载体,即作为投影屏使用,使得投影交互不再受限于平面,实现了触控识别交互技术适用于更多场景,尤其是对于曲面、物体分布杂乱的桌面同样可以实现优秀的识别,用户可以自定义交互平面,而不囿于桌面或手掌面,这是本发明的发明点之一。当然当用户在桌面上放置书本时,以书本平面为交互面进行点击操作也是可行的。
本实施例通过识别手部的若干个关键骨关节点,并对其中第二手部手指尖附近的若干个关键骨关节点进行跟踪,创造性地将手部关键骨关节点识别结果与深度图示结合后实现对用户行为的触控判定,以及通过可见光图像与深度图像相结合的方案实现了远场触控交互,是本发明的重要发明点之一。
本实施例的基于深度对比的触控检测方法,可采用整体建模法和局部点集法两种方案:整体建模法针对整个固定的交互平面,用户只有与该固定的平面直接接触才能被视为点击,该方案中主要针对桌面。而局部点集法针对用户手指尖周围的部分接触面,即用户可一定程度上自定义交互面。
优选的,步骤S01还包括步骤:
进行投影对焦和梯形校正,进行画面信号的重合和校准判断,直到投影画面清晰;
在投影画面中显示包含带有编码信息的ChArUco标记。
优选的,步骤S02具体包括:
通过手掌检测分离出第一手部的手掌区域;
通过手部骨关节点标定算法,分析出第一手部的21个关键骨关节点,并且存储21个关键骨关节点的坐标;
通过插值算法,根据用户设置对21个关键骨关节点进行扩展,得到更多第一手部手掌区域的关键骨关节点坐标并存储;
跟踪第二手部指尖的五个关键骨关节点,并实时更新五个关键骨关节点的坐标。
本实施例中,手部骨关节点标定的标定方法,分为手掌检测和关键骨关节点标定追踪两个步骤。手掌检测采用了Faster R-CNN进行单类检测,包括提取卷积、候选区提取、候选去池化、分类这四个步骤,检测手掌之后,可以采用一个基于光流的手掌跟踪算法,来提高手掌跟踪的帧率。手部关键骨关节点标定追踪采用了端到端的方式,即利用类似MobileNetV2的深度学习模型,基于手部影像直接计算得到手部关键骨关节点的坐标,具体流程如下:
骨关节点标定模型需要输出三类数据,第一个是21个关键骨关节点的x,y坐标,第二个是标志着手部存在概率的值,第三个是该手部模型是左手或是右手的标识符。21个关键点如附图3所示。
算法使用基于CPM(Convolutional Pose Machine)的模型来输出手部的21个关键骨关节点的坐标,使用了多尺度的方式来扩大感受野。算法使用模型来快速实时地判断,在第一步手掌检测模型所给出的手掌检测框内,是否有一个合理的手部结构存在,并输出一个概率。假如概率小于某个阈值,将会重新启动第一步的手掌检测模型。
这里给出关节点预测的具体公式,通过以下公式处理可以得到用户的手部姿势:
公式一:利用hourglass得到的标注生成手部关节点k的热力图(热力图是一个
概率图,和图片的像素组成一致,不过每一个像素位置上的数据是当前像素是某个关节的
概率,基于概率分析出进一步的关节信息):
其中,为手部关节点在各个像素区域识别准确度的热力图;是利用
hourglass框架对图片进行处理得到的和各像素点对应的数据;P同样为hourglass框架处
理后得出的收官阶段在图像中的预测位置,为热力图局部作用范围控制参数,参数值设
定为高斯核函数中带宽参数的平方。
然后关于如何得到具体的动作,便是首先对姿势进行分类,并对每一类给出每个关节点的位置区域,只要各个关节点在相应取余就判定为当前动作。
最后,可以使用插值方法对原始的21个关键骨关节点进行扩展并根据实际应用场景进行取舍。例如,由于原始关键骨关节点中缺少掌心位置的关节点,可以取原始关键骨关节点中1和5,0和9,0和17的中点(Mp)作为新的关键骨关节点,用来锚定投影信息与触控按钮,如图4所示。
优选的,步骤S03具体包括:
根据步骤S02中识别和跟踪的若干个关键骨关节点以及投影画面中的ChArUco标记,解算出投影画面在图像空间的对应顶点坐标,同时记录此时投影画面的深度值,根据投影画面的深度值和初始投影转换参数例如可以通过四边形映射方法来计算并存储投影转换参数,根据投影转换参数调整投影画面,实现投影画面与第一手部的锚定。
优选的,步骤S04还包括点击判定步骤:
当用户的第二手部手指尖距离第一手部的投影画面接近到6-10mm,优选1cm时,判定用户将要点击,这时开始持续采集投影范围内对象的深度信息,以获取前述的第一纵向深度值、第二纵向深度值和第一横向距离。
优选的,在步骤S05中,判定用户是否做出了一次点击事件,是否为有效触控时,采用如图5所示的触控判断流程:
S501:判定开始;
S502:根据手部关键骨关节点坐标信息(图像空间),计算触控手即第二手部的食指指尖关键骨关节点坐标与投影手即第一手部的各关键骨关节点坐标的欧式距离;
S503:将结果排序后取最小距离,判断最小距离是否小于第三阈值,优选该阈值取6mm-10mm,进一步优选10mm,
S504:如果判断最小距离小于第三阈值,则将该最小距离对应的触控手即第二手部的食指指尖关键骨关节点坐标放入滑动窗口中,进入步骤S505;如果判断为否,则认为没有触碰,回到步骤S502;
S505:计算滑动窗口中的坐标的平均坐标值,计算平均坐标值与当前关键骨关节点坐标的距离;
S506:判定计算出来的结果是否小于第四阈值,如果小于第四阈值,则进入S507;否则认为没有触碰,回到开始状态;
S507:根据此时第二手部手指尖坐标与该手指的第二关节的长度来动态获取一定区域范围,如图6b所示,对圆形区域的点集在进行异常值剔除后,进行均值计算,以当作此时的指尖坐标处的深度值,即第一纵向深度值;同样的方法,计算得到步骤S502中得到的投影手中距离触控手指尖最近的关键骨关节点坐标处的深度值,即第二纵向深度值。两个深度值做差后取绝对值;
S508:判断深度差是否小于第一阈值,如果小于第一阈值,则判定用户触发了点击事件,进入S509,如果否,则返回步骤S502;
S509:启动点击事件。
触控手与投影手如图6a所示。
优选的,步骤S05中,判定用户做出了一次点击事件,根据用户点击的操作按钮发出投影变化指令,具体包括:
在判定出确为用户点击事件后,获取当前投影内容并结合多帧点击信息分析用户状态和动作意图,将分析结果作为下一步分析的源数据;
如果用户点击对应的功能是某一事件的调用,则执行相应的调用并记录调用信息,如果用户点击对应的是标记功能,则显示标记并记录标记信息。
优选的,通过检测用户的手部姿态来识别第一手部和第二手部,包括检测预先指定的手部姿势来确定第一手部和第二手部,以及通过特定语义的手势实现第一手部和第二手部的切换;通常,第二手部作为触控发起方即触控手在第一手部(作为投影手)的投影画面上进行触控操作,例如,可以将用户手掌张开五指伸直的手部识别为第一手部,将投影画面聚焦并锚定在该第一手部的手掌;将用户握拳仅伸直一只手指的手部识别为第二手部,用第二手部伸直的手指作为触控笔在第一手部的投影画面上进行触控操作。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的手部投影交互方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述手部投影交互方法的手部投影交互***,该***以软件或硬件方式实现于移动终端、计算机,投影仪等设备。
如图1所示,该手部投影交互***包括:
信息采集单元302、投影单元304和计算分析单元306,所述计算分析单元306分别与信息采集单元302和投影单元304通讯连接,其中:
所述信息采集单元用于获取用户的第一手部图片和第二手部图片;
所述计算分析单元用于收到用户手部图片后,解析识别出手部若干个关键骨关节点,并对其中第二手部手指尖附近的若干个关键骨关节点进行跟踪;
所述计算分析单元用于根据识别出的关键骨关节点计算投影转换参数,所述投影单元用于根据投影转换参数调整投影画面,实现投影画面与第一手部的锚定;
所述计算分析单元还用于获取:所述第二手部手指尖附近的若干个关键骨关节点的坐标对应的第一纵向深度值,所述投影画面中操作按钮的坐标对应的第二纵向深度值,以及所述第二手部手指尖附近的若干个关键骨关节点的坐标与所述操作按钮的坐标之间的第一横向距离;当第一纵向深度值与第二纵向深度值之差达到第一阈值,且所述第一横向距离达到第二阈值时,所述计算分析单元判定用户做出了一次点击事件,所述计算分析单元根据用户点击的操作按钮向所述投影单元发出投影变化指令;
所述投影单元还用于根据投影变化指令更新投影内容,完成与用户的交互。
优选的,所述信息采集单元可以是RGB摄像头和TOF摄像头的组合、RGB摄像头和3D结构光摄像头的组合或双目摄像头。
在选择信息采集单元时,除了直接运用RGB摄像头、深度摄像头通过三维结构光或TOF技术进行深度的识别,但由于摄像头自身限制,在距离较近的情况下,例如40cm之内无法很好的识别当前场景下的深度信息,因此作为扩展还可将双目摄像头运用到这一基于RGB图的三维触控识别方法中。通过双目摄像头计算量大的特点,可实现识别范围不再有40cm的限制,较近情况下也可实现对深度信息有效的识别,进而输出RGB图,来结合关键节点预测结果共同判断触控行为,且双目摄像头可同时获取RGB与深度图像(深度图像需要通过RGB图像计算得出),在图像匹配上较为简单快捷。
优选的,通过OpenCV与OpenNI的调用来实现对RGB摄像头、深度摄像头等信息采集单元的初始化。
在本发明的另一个实施例中,基于双目摄像头手部投影交互方法包括如下详细流程:
优选的,计算分析单元包括但不限于计算板,可提供计算能力的均可。
S1:双目摄像头初始化,实时获取当前用户的手部姿势信息,同时利用计算板进行手部的圈定;
S1具体包括:
第一步:利用双目摄像头对当前场景进行拍摄,获取到当前场景的左右图片,例如第一手部图片和第二手部图片,并对信息进行预处理以及略微的矫正;
第二步:获取到处理后的手部图片后,进一步利用基于卷曲神经网络的手掌检测算法和手部关键骨关节点标定算法进行手部各关键骨关节点位置的预测、识别与跟踪,进而便可得到用户当前的手部姿势,储存后等待下一步使用;
S2:当计算板分析判定出某一帧用户动作确为按压手部投影画面的触控点(如触控按钮等),则计算板从存储中获取前几帧用户的动作信息,进一步分析用户动作;
S2具体包括:
第一步:通过双目摄像机获取的手部图片实时计算场景物体的深度,如果判断出手部关键骨关节与投影画面的触控点距离相差小于5mm,则判定用户动作为按压投影画面的触控点;
第二步:在判定出确为用户按压或点击事件后,获取当前投影内容并结合多帧点击信息分析用户状态和动作意图,将分析结果作为下一步分析的源数据;
S3:计算板依据当前用户状态和动作进一步计算,得出当前用户调用的方法,同时将投影仪需要作出的改变传输至投影仪;
S3具体包括:
第一步:计算板利用多帧状态信息分析出用户的具体手部动作,进一步得到用户按压平面部分的轨迹信息;
第二步:获取当前投影仪的投影内容,并结合轨迹信息对同一位置所会涉及的功能进行判断,判断方式为获取计算板判断的按压事件位置(一般为指尖),然后将对当前位置的功能进行识别;
第三步:在了解所涉及的功能后,如果功能是某一事件的调用则进行调用,并记录调用信息,如果是纯粹的标记添加则记录下标记信息;
第四步:计算板将用户动作所产生的调用信息或者标记信息以指令的方式传输至投影仪,投影仪根据计算板的投影变化指令更新投影内容,完成与用户的交互。
手部投影交互***优化了触控识别的设备,最低只需RGB摄像头与深度摄像头(或者一个双目摄像头),进而将算法写入计算板中,便可实现用户触控的识别,使用更加灵活、适用的场合更加广泛,例如,可以将触控技术应用到远距离触控的场景中,不再需要其他设备的辅助便可实现用户的远控需求。
实施例3
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述手部投影交互方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
进一步地,在本实施例中,存储介质被设置为存储用于执行实施例1中所列举的任一方法步骤的程序代码,囿于篇幅不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种手部投影交互方法,其特征在于,包括如下步骤:
S01.获取用户的手部图片,包括第一手部图片和第二手部图片;
S02.识别出手部的若干个关键骨关节点,并对其中第二手部手指尖附近的若干个关键骨关节点进行跟踪;
S03.根据步骤S02中识别及跟踪的若干个关键骨关节点计算投影转换参数,并根据投影转换参数调整投影画面,实现投影画面与第一手部的锚定;
S04.当用户用第二手部的手指尖点击第一手部的投影画面时,开始获取:所述第二手部手指尖附近的若干个关键骨关节点的坐标对应的第一纵向深度值,所述投影画面中操作按钮的坐标对应的第二纵向深度值,以及所述第二手部手指尖附近的若干个关键骨关节点的坐标与所述操作按钮的坐标之间的第一横向距离;
S05.当所述第一纵向深度值与所述第二纵向深度值之差达到第一阈值,且所述第一横向距离达到第二阈值时,判定用户做出了点击事件,根据用户点击的所述操作按钮发出投影变化指令;
S06.根据投影变化指令更新投影内容,完成与用户的交互。
2.根据权利要求1所述的方法,其特征在于,步骤S01还包括步骤:
进行投影对焦和梯形校正,进行画面信号的重合和校准判断,直到投影画面清晰;
在投影画面中显示包含带有编码信息的ChArUco标记。
3.根据权利要求1所述的方法,其特征在于,所述步骤S02具体包括:
通过手掌检测分离出第一手部的手掌区域;
通过手部骨关节点标定算法,分析出第一手部的21个关键骨关节点,并且存储21个关键骨关节点的坐标;
通过插值算法,根据用户设置对所述21个关键骨关节点进行扩展,得到更多第一手部手掌区域的关键骨关节点坐标并存储;
跟踪第二手部指尖的五个关键骨关节点,并实时更新所述五个关键骨关节点的坐标。
4.根据权利要求2所述的方法,其特征在于,所述步骤S03具体包括:
根据步骤S02中识别和跟踪的若干个关键骨关节点以及投影画面中的ChArUco标记,解算出投影画面在图像空间的对应顶点坐标,同时记录此时投影画面的深度值,根据所述投影画面的深度值和初始投影转换参数计算并存储投影转换参数,根据投影转换参数调整投影画面,实现投影画面与第一手部的锚定。
5.根据权利要求4所述的方法,其特征在于,所述步骤S04还包括点击判定步骤:
当用户的第二手部手指尖距离第一手部的投影画面接近到1cm时,判定用户将要点击,这时开始持续获取所述第一纵向深度值、所述第二纵向深度值和所述第一横向距离。
6.根据权利要求1所述的方法,其特征在于,所述步骤S05中,判定用户做出了一次点击事件,根据用户点击的所述操作按钮发出投影变化指令,具体包括:
在判定出确为用户点击事件后,获取当前投影内容并结合多帧点击信息分析用户状态和动作意图,将分析结果作为下一步分析的源数据;
如果用户点击对应的功能是某一事件的调用,则执行相应的调用并记录调用信息,如果用户点击对应的是标记功能,则显示标记并记录标记信息。
7.根据权利要求1所述的方法,其特征在于,
通过检测用户的手部姿态来识别第一手部和第二手部,包括检测预先指定的手部姿势来确定第一手部和第二手部,以及通过特定语义的手势实现第一手部和第二手部的切换;所述第二手部作为触控发起方在第一手部的投影画面上进行触控操作。
8.一种手部投影交互***,包括信息采集单元、投影单元和计算分析单元,所述计算分析单元分别与信息采集单元和投影单元通讯连接,其特征在于:
所述信息采集单元用于获取用户的第一手部图片和第二手部图片;
所述计算分析单元用于收到用户手部图片后,解析识别出手部若干个关键骨关节点,并对其中第二手部手指尖附近的若干个关键骨关节点进行跟踪;
所述计算分析单元还用于根据识别出的关键骨关节点计算投影转换参数;所述投影单元用于根据投影转换参数调整投影画面,实现投影画面与第一手部的锚定;
所述计算分析单元还用于获取:所述第二手部手指尖附近的若干个关键骨关节点的坐标对应的第一纵向深度值,所述投影画面中操作按钮的坐标对应的第二纵向深度值,以及所述第二手部手指尖附近的若干个关键骨关节点的坐标与所述操作按钮的坐标之间的第一横向距离;当第一纵向深度值与第二纵向深度值之差达到第一阈值,且所述第一横向距离达到第二阈值时,所述计算分析单元判定用户做出了点击事件,所述计算分析单元根据用户点击的操作按钮向所述投影单元发出投影变化指令;
所述投影单元还用于根据投影变化指令更新投影内容,完成与用户的交互。
9.根据权利要求8所述的***,其特征在于,
所述信息采集单元包括RGB摄像头和TOF摄像头组合、RGB摄像头和3D结构光摄像头组合或双目摄像头;所述投影单元为投影仪。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210958436.6A CN115061577B (zh) | 2022-08-11 | 2022-08-11 | 手部投影交互方法、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210958436.6A CN115061577B (zh) | 2022-08-11 | 2022-08-11 | 手部投影交互方法、***及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115061577A true CN115061577A (zh) | 2022-09-16 |
CN115061577B CN115061577B (zh) | 2022-11-11 |
Family
ID=83208325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210958436.6A Active CN115061577B (zh) | 2022-08-11 | 2022-08-11 | 手部投影交互方法、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115061577B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472189A (zh) * | 2023-12-27 | 2024-01-30 | 大连三通科技发展有限公司 | 具有实物感的打字或触控的实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080312663A1 (en) * | 2007-06-15 | 2008-12-18 | Martin Haimerl | Computer-assisted joint analysis using surface projection |
CN106055091A (zh) * | 2016-05-16 | 2016-10-26 | 电子科技大学 | 一种基于深度信息和校正方式的手部姿态估计方法 |
CN112657176A (zh) * | 2020-12-31 | 2021-04-16 | 华南理工大学 | 一种结合人像行为信息的双目投影人机交互方法 |
-
2022
- 2022-08-11 CN CN202210958436.6A patent/CN115061577B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080312663A1 (en) * | 2007-06-15 | 2008-12-18 | Martin Haimerl | Computer-assisted joint analysis using surface projection |
CN106055091A (zh) * | 2016-05-16 | 2016-10-26 | 电子科技大学 | 一种基于深度信息和校正方式的手部姿态估计方法 |
CN112657176A (zh) * | 2020-12-31 | 2021-04-16 | 华南理工大学 | 一种结合人像行为信息的双目投影人机交互方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472189A (zh) * | 2023-12-27 | 2024-01-30 | 大连三通科技发展有限公司 | 具有实物感的打字或触控的实现方法 |
CN117472189B (zh) * | 2023-12-27 | 2024-04-09 | 大连三通科技发展有限公司 | 具有实物感的打字或触控的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115061577B (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359538B (zh) | 卷积神经网络的训练方法、手势识别方法、装置及设备 | |
JP6079832B2 (ja) | ヒューマンコンピュータインタラクションシステム、手と手指示点位置決め方法、及び手指のジェスチャ決定方法 | |
US8768006B2 (en) | Hand gesture recognition | |
KR20130099317A (ko) | 인터랙티브 증강현실 구현 시스템 및 증강현실 구현 방법 | |
CN106201173B (zh) | 一种基于投影的用户交互图标的交互控制方法及*** | |
CN112506340B (zh) | 设备控制方法、装置、电子设备及存储介质 | |
CN114138121B (zh) | 用户手势识别方法、装置、***、存储介质及计算设备 | |
US20120163661A1 (en) | Apparatus and method for recognizing multi-user interactions | |
CN111401318B (zh) | 动作识别方法及装置 | |
Leite et al. | Hand gesture recognition from depth and infrared Kinect data for CAVE applications interaction | |
CN115061577B (zh) | 手部投影交互方法、***及存储介质 | |
Jiang et al. | independent hand gesture recognition with Kinect | |
CN113282164A (zh) | 一种处理方法和装置 | |
Molyneaux et al. | Cooperative augmentation of mobile smart objects with projected displays | |
Abdallah et al. | An overview of gesture recognition | |
CN114581535B (zh) | 图像中用户骨关键点标注方法、装置、存储介质及设备 | |
Pansare et al. | Gestuelle: A system to recognize dynamic hand gestures using hidden Markov model to control windows applications | |
CN115497094A (zh) | 图像处理方法及装置、电子设备和存储介质 | |
Siam et al. | Human computer interaction using marker based hand gesture recognition | |
Hannuksela et al. | Face tracking for spatially aware mobile user interfaces | |
KR101998786B1 (ko) | 가상공간을 위한 비접촉식 손가락 입력 장치 및 방법 | |
CN111640185A (zh) | 一种虚拟建筑物的展示方法及装置 | |
Wang | Hand Tracking and its Pattern Recognition in a Network of Calibrated Cameras | |
Kale et al. | Epipolar constrained user pushbutton selection in projected interfaces | |
Hiremath et al. | Gesture Recognition System |
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 |