CN117289785A - 一种数字模型操作方法、设备、介质以及程序产品 - Google Patents
一种数字模型操作方法、设备、介质以及程序产品 Download PDFInfo
- Publication number
- CN117289785A CN117289785A CN202210692691.0A CN202210692691A CN117289785A CN 117289785 A CN117289785 A CN 117289785A CN 202210692691 A CN202210692691 A CN 202210692691A CN 117289785 A CN117289785 A CN 117289785A
- Authority
- CN
- China
- Prior art keywords
- finger
- digital model
- electronic device
- hand
- user
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000033001 locomotion Effects 0.000 claims description 55
- 238000003825 pressing Methods 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 27
- 230000009471 action Effects 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 17
- 238000013519 translation Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 238000000926 separation method Methods 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 1
- 210000003811 finger Anatomy 0.000 description 277
- 210000003813 thumb Anatomy 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 210000002478 hand joint Anatomy 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000005096 rolling process Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 210000004247 hand Anatomy 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- 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
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种数字模型操作方法、装置、系统以及相关设备,电子设备在虚拟环境中显示第一状态的数字模型,电子设备检测到用户的手动作为预设手势,其中预设手势包括用户的第一手指按住第二手指并且第一手指在第二手指上滑动;电子设备将数字模型从第一状态调整为第二状态。这样,基于该数字模型操纵方法,用户通过变换手部的手势,即可实现对数字模型的操作,操作便捷,有利于提高用户操作三维数字模型的效率、提升用户体验。
Description
技术领域
本申请涉及终端领域,尤其涉及一种数字模型操作方法、设备、介质以及程序产品。
背景技术
虚拟现实(virtual reality,VR)技术是一种可以创建和体验虚拟世界的计算机仿真系统,增强现实(augmented reality,AR)技术是一种可以将虚拟现实和真实世界叠加并进行互动的技术。随着VR和AR技术的进一步发展,还出现了在虚拟环境中引入现实场景信息的混合现实(mixed reality,MR)技术等。在VR、AR或MR等场景中,通过集成的图形系统、光学系统、姿态追踪系统和控制系统等构建的虚拟环境获得一种可交互的沉浸式体验。
终端与用户通过人机界面(human machine interface,HMI)进行交互,传统的HMI是通过键盘或者鼠标等获取用户的输入。但是,在VR、AR或MR等场景中,呈现的数字模型是三维的,通过键盘或者鼠标操纵三维数字模型,效率并不高,用户需要复杂的操作才能操纵三维数字模型,降低了用户的体验。
因此,如何提高操纵三维数字模型的效率,是亟待解决的问题。
发明内容
本申请实施例提供了一种数字模型操作方法、设备、介质以及程序产品,可以应用于 VR、AR或MR等场景。
第一方面,本申请提供了一种数字模型操纵方法,该方法包括:电子设备在虚拟环境中显示第一状态的数字模型;电子设备检测到用户的手动作为预设手势,其中预设手势包括用户的第一手指按住第二手指并且第一手指在第二手指上滑动;电子设备将数字模型从第一状态调整为第二状态。
在上述方案中,电子设备能获取用户的手部图像,并对手部图像进行检测得到用户的手动作,当用户的手动作与预设手势匹配时,则电子设备执行预设手势对应的操作,调整数字模型状态。这样,基于该数字模型操纵方法,用户通过变换手部的手势,即可实现对数字模型的操作,操作便捷,有利于提高用户操作三维数字模型的效率、提升用户体验。
结合第一方面,在一些实现方式中,预设手势还包括下列中的至少一种:第一手指点击第二手指,第一手指按住第二手指,第一手指与第二手指分离,第一手指点击第二手指包括第一手指单击第二手指,以及第一手指双击第二手指。
在上述方案中,预设手势有多种,包括任意两个手指间的单击、双击、按压与分离,一个手指在另外一个手指上滑动等等。这样,用户可以通过做出与预设手势相同的动作,来使电子设备调整数字模型的状态,操作便捷,提高了用户操作三维数字模型的效率、提升了用户体验。
结合第一方面,在一些实现方式中,电子设备检测目标关节的位置,并确定操作指示射线和操作指示点,操作指示射线的起点是目标关节的位置,操作指示点为操作指示射线与数字模型的交点;电子设备根据操作指示射线、操作指示点和手动作,将数字模型从第一状态调整为第二状态。
在上述方案中,用户的手动作为隔空手势,电子设备还可以通过获取手上关节的位置来确定用户手动作在电子设备显示的虚拟环境中所指的位置。具体是以用户手部上的目标关节为起点做操作指示射线,操作指示射线与数字模型的交点则为用户所指的位置,即用户期望进行操作的位置。操作指示射线、操作指示点还可以在电子设备上进行显示,这样,通过用户手部关节的位置确定操作指示射线,能使用户对数字模型的操作更加准确,不会误触其他数字模型,提高了用户操作数字模型的效率,提升了用户体验。
结合第一方面,在一些实现方式中,对应于手动作为第一手指点击第二手指,电子设备点击操作指示点在数字模型上的位置;对应于手动作为第一手指按住第二手指,电子设备选中操作指示点对应的数字模型;对应于手动作为第一手指与第二手指分离,电子设备取消对操作指示点对应的数字模型的选中。
在上述方案中,用户基于不同的手动作,可以实现对数字模型上的位置的点击,以及选中数字模型和取消对数字模型的选中等等。这样,不需要额外的硬件设备,用户基于不同手动作,就可以实现对电子设备显示的数字模型的操作,减少了硬件成本,提高了用户操作数字模型的效率,提升了用户体验。
结合第一方面,在一些实现方式中,数字模型为应用界面,并且第一手指按住第二手指并且第一手指在第二手指上滑动,包括:第一手指按住第二手指并且第一手指在第二手指上向上滑动,第一手指按住第二手指并且第一手指在第二手指上向下滑动;并且电子设备将数字模型从第一状态调整为第二状态,包括:对应于手动作为第一手指按住第二手指并且第一手指在第二手指上向上滑动,电子设备将应用界面向上翻动;对应于手动作为第一手指按住第二手指并且第一手指在第二手指上向下滑动,电子设备将应用界面向下翻动。
在上述方案中,用户还能通过一个手指在另一个手指滑动来实现页面的翻动,类似于鼠标滚轮的操作。这样,用户也能通过手势来实现页面的翻动,不用点击页面边缘的滚动条来实现翻页,操作更加简单,提高了用户操作数字模型的效率,提升了用户体验。
结合第一方面,在一些实现方式中,对应于手动作为第一手指按住第二手指,电子设备根据目标关节的位置变化,调整数字模型位置和姿态;对应于手动作为当第一手指与第二手指分离,电子设备根据目标关节的位置变化,调整操作指示射线位置和方向,以及根据调整后的操作指示射线确定调整后的操作指示点的位置。
在上述方案中,当第一手指按住第二手指,即为选中操作指示点所在位置对应的数字模型,此时,通过转动和/或移动手,数字模型可以随手部位置进行转动和/或移动位置。电子设备再获取到用户将第一手指和第二手指松开,则取消了对数字模型的选中,此时再转动和/或移动手,只有操作指示射线和操作指示点才会移动位置。这样,用户基于不同手动作,就可以实现对电子设备显示的数字模型的操作,减少了硬件成本,提高了用户操作数字模型的效率,提升了用户体验。
结合第一方面,在一些实现方式中,电子设备显示有多个数字模型,电子设备根据操作指示射线,从多个数字模型中确定目标数字模型,目标数字模型与操作指示射线存在交点。
在上述方案中,通过用户手上目标关节的位置,可以确定操作指示射线,进而确定用户在多个数字模型中需要进行操作的目标数字模型。操作指示射线、操作指示点还可以在电子设备上进行显示,这样,通过用户手部关节的位置确定操作指示射线,能使用户对数字模型的操作更加准确,不会误触其他数字模型,提高了用户操作数字模型的效率,提升了用户体验。
结合第一方面,在一些实现方式中,对应于电子设备检测到多个手动作,电子设备将多个手动作的图像与合法手部数据进行比对,从多个手动作的图像中确定目标手动作的图像;电子设备检测目标手动作,进而根据将数字模型从第一状态调整为第二状态。
在上述方案中,当电子设备获取到有多个手部图像时,能根据预存的合法手部数据对手部图像进行匹配,只有匹配的手部图像,电子设备才会获取该手部图像的手动作。当电子设备检测到有多个手部图像与合法手部数据匹配时,用户还可以从该多个手部中选择目标手部,电子设备获取用户的选择结果并识别目标手部的手部图像。或者,电子设备对合法手部数据进行了优先级排序,电子设备将识别优先级更高的合法手部数据对应的手部图像。这样,只有预设的手部才能对电子设备所显示的数字模型进行操作,提高了设备的安全性。
结合第一方面,在一些实现方式中,目标关节的位置变化是通过目标关节在三维坐标的平移量和旋转量确定的。
在上述方案中,用户可以对数字模型进行三维坐标上的移动或旋转,因此需要电子设备获取用户手部目标关节的6DoF的位置变化,即获取目标关节的平移量和旋转量,旋转量可以采用欧拉角、四元数或者轴-角对等方式进行表示。这样,数字模型可以随用户手部的位姿变换调制位置和姿态,提高了用户操作数字模型的效率,提升了用户体验。
第二方面,本申请提供了一种数字模型操纵装置,其特征在于,包括:显示单元、检测单元、确定单元;显示单元用于在虚拟环境中显示第一状态的数字模型;检测单元用于检测到用户的手动作为预设手势,其中预设手势包括用户的第一手指按住第二手指并且第一手指在第二手指上滑动;确定单元用于将数字模型从第一状态调整为第二状态。
结合第二方面,在一些实现方式中,预设手势还包括下列中的至少一种:第一手指点击第二手指,第一手指按住第二手指,第一手指与第二手指分离,第一手指点击第二手指包括第一手指单击第二手指,以及第一手指双击第二手指。
结合第二方面,在一些实现方式中,检测单元还用于检测目标关节的位置,确定单元还用于确定操作指示射线和操作指示点,操作指示射线的起点是目标关节的位置,操作指示点为操作指示射线与数字模型的交点;确定单元还用于电子设备根据操作指示射线、操作指示点和手动作,将数字模型从第一状态调整为第二状态。
结合第二方面,在一些实现方式中,确定单元还用于对应于手动作为第一手指点击第二手指,点击操作指示点在数字模型上的位置;确定单元还用于对应于手动作为第一手指按住第二手指,选中操作指示点对应的数字模型;确定单元还用于对应于手动作为第一手指与第二手指分离,取消对操作指示点对应的数字模型的选中。
结合第二方面,在一些实现方式中,数字模型为应用界面,并且第一手指按住第二手指并且第一手指在第二手指上滑动,包括:第一手指按住第二手指并且第一手指在第二手指上向上滑动,第一手指按住第二手指并且第一手指在第二手指上向下滑动;并且,对应于手动作为第一手指按住第二手指并且第一手指在第二手指上向上滑动,确定单元还用于将应用界面向上翻动;对应于手动作为第一手指按住第二手指并且第一手指在第二手指上向下滑动,确定单元还用于将应用界面向下翻动。
结合第二方面,在一些实现方式中,对应于手动作为第一手指按住第二手指,确定单元还用于根据目标关节的位置变化,调整数字模型位置和姿态;对应于手动作为当第一手指与第二手指分离,确定单元还用于根据目标关节的位置变化,调整操作指示射线位置和方向,以及根据调整后的操作指示射线确定调整后的操作指示点的位置。
结合第二方面,在一些实现方式中,显示单元还用于显示有多个数字模型,确定单元还用于根据操作指示射线,从多个数字模型中确定目标数字模型,目标数字模型与操作指示射线存在交点。
结合第二方面,在一些实现方式中,对应于电子设备检测到多个手动作,检测单元还用于将多个手动作的图像与合法手部数据进行比对,确定单元还用于从多个手动作的图像中确定目标手动作的图像;检测单元还用于检测目标手动作,进而确定单元还用于根据将数字模型从第一状态调整为第二状态。
结合第二方面,在一些实现方式中,目标关节的位置变化是通过目标关节在三维坐标的平移量和旋转量确定的。
第三方面,本申请提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器;该一个或多个存储与一个或多个处理器耦合;该一个或多个存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令;当该计算机指令在该处理器上运行时,使得该电子设备执行上述任一方面任一种可能的实现方式中的数字模型操纵方法。
第四方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备置执行上述任一方面任一项可能的实现方式中的数字模型操纵方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任一方面任一项可能的实现方式中的数字模型操纵方法。
综上所述,本申请提供的数字模型操作方法、设备、介质以及程序产品,能通过获取用户裸手的手部图像,识别用户手部图像,预先设置的手势信息和对数字模型的操作间的对应关系,将用户的手势信息转换为对数字模型的操作,使得数字模型能根据用户手势完成上下移动、左右移动、前后移动、上下俯仰、左右摇摆以及正反滚转等动作,操作便捷,有利于提高用户操作三维数字模型的效率、提升用户体验。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2A为本申请实施例提供的一种电子设备的结构示意图;
图2B为本申请实施例提供的一种电子设备的软件结构示意图;
图3为本申请实施例提供的一种数字模型操纵方法示意图;
图4为本申请实施例提供的一种用户手势示意图;
图5A为本申请实施例提供的一种手关节编号的示意图;
图5B为本申请实施例提供的一种手势信息的示意图;
图6为本申请实施例提供的一种根据目标关节确定坐标系的示意图;
图7A-图7H为本申请实施例提供的一组手动作的示意图;
图8A-图8D为本申请实施例提供的一组操作指示射线与操作指示点的示意图;
图9A为本申请实施例提供的一种第一手指长按第二手指的示意图;
图9B为本申请实施例提供的一种第一手指与第二手指分离的示意图;
图10为本申请实施例提供的一种数字模型操纵系统的结构示意图;
图11为本申请实施例提供的一种数字模型操纵装置的结构示意图。
具体实施方式
本申请实施例提供的数字模型操纵方法可以应用于VR、AR以及MR等场景。在VR、AR以及MR等场景中都包括虚拟环境,虚拟环境通常使用VR设备、AR设备或MR设备等电子设备实现。电子设备通常支持多种应用程序,如文字处理应用程序、电话应用程序、电子邮件应用程序、即时消息应用程序、照片管理应用程序、网络浏览应用程序、数字音乐播放器应用程序、和/或数字视频播放器应用程序。
如图1所示,虚拟环境中可操作的对象为三维数字模型,三维数字模型是三维设计中使用的立体元素,例如三维基元101,包括体块、圆柱或球体等,在实际应用场景中可以是被操纵的三维数字模型可以是上述各类应用程序的三维界面102,具体此处不做限定。
在一些实施例中,电子设备能通过键盘、鼠标或者手柄等硬件设备获取用户的输入,但是在VR、AR以及MR等场景中,用户需要手持键盘、鼠标或者手柄等硬件设备才对三维数字模型进行操纵,增加了额外的硬件设备成本。并且,操纵的数字模型是三维的,用户使用键盘或者鼠标需要复杂的操作才能操纵三维数字模型进行转动,降低了用户的体验。
在另一些实施例中,可以通过传感器获取手势信息(包括手势以及手势的位置信息),对虚拟环境中的三维数字模型进行操纵。在通过手势操纵三维数字模型时,用户的手势和手势的位置信息是实时可变的。电子设备将获取的用户手势信息在电子设备的观看视场进行映射,即可将现实世界中的手势映射为虚拟场景中的操作图标(如手型、箭头等光标) 的状态和位置移动,实时地显示到设备的显示界面中,使得用户清楚地感知到自己对虚拟场景中的三维数字模型的实时操纵情况。
但是,用户对虚拟场景中三维数字模型不仅需要进行上下移动、左右移动、前后移动等移动操作,还需要航向角、俯仰角和滚转角等转动的操作,以及进行正反滚转等操作,例如,对页面进行上下或左右滑动翻页,类似于使用鼠标滑轮对页面进行上下滑动。如果是用户通过手势操作实现对页面的正反滚转操作,需要用户将手势映射的光标移动至翻页按钮并点击翻页按钮才能实现翻页,或者用户将手势映射的光标移动至页面边缘的滚动条,点击并拖动才能实现正反滚动页面。
综上所述,在用户对虚拟场景中三维数字模型进行操作时,用户需要使用额外的硬件设备来实现,增加了用户的使用成本,或者通过复杂的手势来实现对三维数字模型的操纵,影响用户体验。
为了提高用户操纵虚拟环境中的三维数字模型的效率,本申请实施例提供了一种数字模型操纵方法,该数字模型操纵方法通过从用户的手部的图像来识别用户手势信息,并根据预先设置的手势信息和对数字模型的操作间的对应关系,将用户的手势信息转换为对数字模型的操作,例如对数字模型的上下移动、左右移动、前后移动、上下俯仰、左右摇摆以及正反滚转等操作。基于该数字模型操纵方法,用户通过变换手部的手势,即可实现对数字模型的操作,操作便捷,有利于提高用户操作三维数字模型的效率、提升用户体验。
可以理解,用户的手势信息包括但不限于第一手指与第二手指分离,第一手指按住第二手指,第一手指单击第二手指,第一手指双击第二手指,第一手指按住第二手指向下滑动,第一手指按住第二手指向上滑动等等,各个手势信息的具体内容、手势信息与对数字模型的操作的对应关系将在下文进行详细介绍,在此不做赘述。并且,本申请提供的数字模型操纵方法的操作对象可以为三维数字模型,同时也可以是二维数字模型,例如二维平面图像或者二维界面等,本申请不作具体限定。下面以数字模型为三维数字模型进行说明。
本申请实施例提供的数字模型操纵方法可以应用于VR设备、AR设备或MR设备等电子设备实现,例如AR眼镜、头戴显示器(head mounted display,HMD)等,还可以应用于其他包括显示屏幕和摄像头的电子设备,例如手机、平板电脑、可穿戴设备、车载设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)或专门的照相机(例如单反相机、卡片式相机)等。
为便于理解,首先介绍电子设备100的硬件结构。
图2实例性示出了该电子设备100的结构。如图2所示,电子设备100拥有多个摄像头193和传感器模块180,摄像头193可以采用单目摄像头、双目摄像头或者多目摄像头,传感器模块中的距离传感器180F可以采用红外传感器。本申请实施例中的手势为隔空手势,电子设备100是通过摄像头193和传感器模块180获取用户的手势信息的。
电子设备100还拥有显示屏194,显示屏194可以采用OLED(organic light-emitting diode,有机发光二极管)技术,微投影技术。显示屏194用于显示虚拟场景和摄像头193 拍摄现实场景,现实场景也包括用户的手势。用户能够通过该显示屏观看虚拟场景和现实场景,例如,头戴显示器将显示内容分屏,分别显示在两个显示屏上,两个显示屏分别对应人眼的左右眼,左眼和右眼的图像的差异形成视差,画面通过人眼实现叠加成像呈现在大脑中,产生出有空间感的立体视觉效果。
此外,电子设备100还可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达 191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块 141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN),蓝牙(blue-tooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
在本申请的一些实施例中,显示屏194中显示有系统当前输出的界面内容。例如,界面内容为即时通讯应用提供的界面。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。
摄像头193用于捕获静态图像或视频。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,对输入信息快速处理,还可以不断的自学习。
外部存储器接口120可以用于连接外部存储卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区、存储数据区、高速随机存取存储器以及非易失性存储器。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C 测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。
环境光传感器180L用于感知环境光亮度。
指纹传感器180H用于采集指纹。
温度传感器180J用于检测温度。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。
骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
不限于图2所示,电子设备100还可以包括更多或更少部件。例如电子设备100可以为手机终端、平板,电脑等只有一个屏幕的设备,该设备能够显示出一个虚拟场景,并能获取用户手势信息,根据用户手势操纵虚拟环境中的数字模型,使得数字模型能根据用户手势完成上下移动、左右移动、前后移动、上下俯仰、左右摇摆以及正反滚转等动作。关于如何根据用户手势操纵虚拟环境中的数字模型,将在下文进行详细描述,此处不再赘述。
图2B示出了本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,硬件抽象层(hard abstractionlayer, HAL)(图2B中未进行示意),以及内核层。应用程序层可以包括一系列应用程序包。
如图2B所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,游戏,购物,出行,即时通信(如短信息)等应用程序。另外,应用程序包还可以包括:主屏幕(即桌面),负一屏,控制中心,通知中心等系统应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2B所示,应用程序框架层可以包括输入管理器,窗口管理器(windowmanager),内容提供器,视图系统,电话管理器,资源管理器,通知管理器,显示管理器,活动管理器(activity manager)等。为了便于说明,图3中,应用程序框架层以包括输入管理器,窗口管理器,内容提供器,视图系统,以及活动管理器为例进行示意。需要说明的是,输入管理器,窗口管理器,内容提供器,视图系统,以及活动管理器中的任意两个模块均可以相互调用。
其中,输入管理器用于接收如内核层、硬件抽象层等下层上报的指令或请求。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
活动管理器用于管理系统里正在运行的activities,包括进程(process)、应用程序、服务(service)、任务(task)信息等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。
显示管理器用于向内核层传输显示内容。电话管理器用于提供电子设备100的通信功能。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),AR引擎,2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
AR引擎用于实现虚拟现实和真实世界的叠加和互动。具体可以实现本申请实施例提供的数字模型操纵方法,通过用户的手部的图像来识别用户手势信息,并根据预先设置的手势信息和对数字模型的操作间的对应关系,将用户的手势信息转换为对数字模型的操作,例如对数字模型的上下移动、左右移动、前后移动、上下俯仰、左右摇摆以及正反滚转等操作。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,触控芯片的驱动和输入(input)系统等。为了便于说明,图2B中,内核层以包括输入系统、触控芯片的驱动、显示驱动以及存储驱动为例进行示意。其中,显示驱动以及存储驱动可共同设置在驱动模块中。
可以理解的是,本申请示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
下面结合电子设备100的硬件结构和软件结构,以图1所示场景为例介绍本申请实施例的技术方案。图3根据本申请的一些实施例,示出了一种数字模型操纵方法的流程示意图。该方法的流程的执行主体为电子设备100,如图3所示,该方法包括如下步骤:
S310:获取用户手部图像。
电子设备100可以通过摄像头193和传感器模块180获取用户手势信息。电子设备100 对拍摄到的图像数据和/或获取到的传感器数据进行检测,检测数据中是否包含手部。当检测到存在手部时,将持续获取该手部的图像数据和/或传感器数据,生成手部动态数据。
下面对电子设备100获取手部图像进行举例说明。如图4所示,图4为电子设备100显示屏194显示的图像,显示的图像由摄像头193采集的现实环境图像和虚拟环境中的三维数字模型10组成,其中,三维数字模型可以是三维基元101或者三维界面102。当用户的手部出现在电子设备100的采集的现实环境图像内时,电子设备100将获取该手部的图像。
可以理解,电子设备100获取的手部图像可以是视频,也可以是间断的图像,本申请对手部图像的类型不做具体限定。
S320:识别手部图像,得到手势信息。
电子设备100将对手部图像进行识别,并识别得到每帧图像的手势信息,其中,手势信息包括手部位置、手部姿态以及手部为左手还是右手,手部位置和手部姿态是通过手关节点的3D位置或3D位置和法方向进行表示的。
下面对电子设备100识别手势信息的具体方式进行详细说明。
电子设备100对手部图像识别时,电子设备100将对每个手关节进行编号,并对手部的手关节都进行识别和定位,通过每个手关节的位置信息可以确定手部位置和手部姿态。其中,电子设备100对每个手关节进行编号,可参考图5A,图5A为左手和右手手关节编号示意图。
当电子设备100获取到图4中的手部图像后,将识别手部图像中每个手关节的3D位置,并将是每个手关节与手关节编号对应,最终得到如图5B所示的手势信息。
在一些实施例中,电子设备100检测到获取的图像数据中包括手部时,还将对手部图像进行验证。电子设备100通过手部图像数据与数据库中存储的合法手部数据进行比对,判断是否与合法手部数据匹配,得到手部验证结果。其中,合法手部数据可以是一个或者多个,当手部验证结果为与其中一个合法手部数据匹配时,电子设备100才对手部图像进行识别;当手部验证结果为与每个合法手部数据都不匹配时,电子设备100将不识别该手部图像。
在另一些实施例中,电子设备100检测到获取的图像数据中包括多个手部时,电子设备100还将检测每个手部对应的手势信息。在一些实施例中,电子设备100还将对每个手部的数据进行验证,得到每个手部对应的验证结果,电子设备100将识别与合法手部数据匹配的手部对应的手部图像。当电子设备100验证到有多个手部与合法手部数据匹配时,用户可以从该多个手部中选择目标手部,电子设备100获取用户的选择结果并识别目标手部的手部图像。或者,电子设备100对合法手部数据进行了优先级排序,电子设备100将识别优先级更高的合法手部数据对应的手部图像。
S330:根据用户手势信息,确定手势信息对应的操纵事件。
电子设备100将根据手势信息中的手部位置和手部姿态,生成操作事件,操纵事件包括手ID(Hand ID)、手位姿(Hand Pose)和手动作(Hand Action),当电子设备100检测到用户手动作与预设手势相同时,能执行预设手势对应的操作。其中,手ID用于表示手部为左手或是右手。手位姿是通过目标关节的6自由度(6degree of freedom,6DoF)位置变化确定的,手位姿通过目标关节的位置变化表示手部整体的位置变化。手动作是根据第一手指和第二手指的关节位置变化确定的,电子设备100能根据手动作与预设手势的对应关系执行对应的操作。
下面结合具体的例子对操纵事件进行详细说明。
手ID是根据电子设备100获取的手部数据为左手还是右手进行定义的。举例来说,当手部为左手时,手ID标记为1,当手部为右手时,手ID标记为0。
在一些实施例中,电子设备100会对手部图像进行验证,对于手部验证结果为与合法手部数据匹配时,才会进一步识别手部为左手或是右手,并为手部图像标记对应的手ID;当手部验证结果为与合法手部数据不匹配时,手ID可以标记为-1。应理解,手ID也可以用其余方式进行表示,上述举例仅用于说明,不对本申请造成具体限定。
手位姿是通过获取目标关节的位置变化生成的。手位姿可以将目标关节的初始位置作为原点,根据目标关节6DoF的位置变化生成得到。应理解,目标关节可以是任意关节,本申请对目标关节的设定不做具体限制。目标关节6DoF的位置变化可以是根据目标关节三维坐标系的平移量和旋转量确定的,其中,旋转量可以采用欧拉角、四元数或者轴-角对等方式进行表示。
举例来说,如图6所示,电子设备100将食指的第二关节,作为目标关节,将目标关节初始位置设为原点,食指的第二关节到中指第二关节的方向为X轴,即关节14到关节 16方向为X轴,食指第一关节与食指第二关节延长线方向为Y轴,即关节13到关节14 方向为Y轴方向,与X轴与Y轴分别垂直的方向为Z轴。假设目标关节的旋转量是通过四元数来表示,则可以用(tx,ty,tz,qx,qy,qz,qw)来表示目标关节的位置变化,其中,tx、ty、tz分别表示目标关节在X轴、Y轴和Z轴的平移量,qx、qy、qz、qw为表示目标关节旋转量的四元数。
预设手势具体包括,第一手指与第二手指分离,第一手指按住第二手指,第一手指单击第二手指,第一手指双击第二手指,第一手指按住第二手指向下滑动,第一手指按住第二手指向上滑动等等。举例来说,第一手指为大拇指,第二手指为食指;或者,第一手指为大拇指,第二手指为中指,等等。应理解,本申请对第一手指和第二手指的设定不做具体限制。
下面结合图7A-7C,以手部为右手,并以食指的第二关节为目标关节,第一手指为大拇指,第二手指为食指对手动作进行举例说明。此时,手部处于握拳或半握拳状态,大拇指第二关节至大拇指第三关节在食指第二关节与第四关节之间,大拇指可以对食指进行单击、双击、长按、分离、向下滑动、向上滑动等手动作。即,用户可以使关节18-关节19 在关节14-关节16之间进行单击、双击、长按、分离、向下滑动、向上滑动等手动作。
如图7A所示,在关节14-关节16之间存在按压点,关节18-关节19可以在按压点进行长按,单击或双击。如图7B所示,当关节18-关节19离开按压点,即为第一手指与第二手指分离。如图7C所示,当关节18-关节19在关节14-关节16之间向上滑动,即对应第一手指按住第二手指向上滑动;当关节18-关节19在关节14-关节16之间向下滑动,即对应第一手指按住第二手指向下滑动。
下面结合图7D,以手部为右手,并以食指第四关节为目标关节,将第一手指为大拇指,第二手指为中指对手动作进行举例说明。此时,大拇指第二关节至大拇指第三关节在中指第二关节与第四关节之间进行单击、双击、长按、分离、向下滑动、向上滑动等手动作。即关节10-关节12之间存在按压点,用户可以使关节18-关节19在按压点进行长按,单击或双击,当关节18-关节19离开按压点,即为第一手指与第二手指分离,当关节18-关节19在关节10-关节12之间向上/下滑动,即对应第一手指按住第二手指向上/下滑动。
下面结合图7E,以手部为右手,并以中指第四关节作为目标节点,将第一手指为大拇指,第二手指为食指对手动作进行举例说明。此时,大拇指可以对食指进行单击、双击、长按、分离、向下滑动、向上滑动等手动作。即关节14-关节16之间存在按压点,关节18- 关节19可以在按压点进行长按,单击或双击。当关节18-关节19离开按压点,即为第一手指与第二手指分离。当关节18-关节19在关节14-关节16之间向上滑动,即对应第一手指按住第二手指向上滑动;当关节18-关节19在关节14-关节16之间向下滑动,即对应第一手指按住第二手指向下滑动。
当手部为左手时,也可以使食指的第二关节为目标关节,第一手指为大拇指,第二手指为食指。如图7F所示,在关节34-关节36之间存在按压点,关节38-关节39可以在按压点进行长按,单击或双击。如图7G所示,当关节38-关节39离开按压点,即为第一手指与第二手指分离。如图7H所示,当关节38-关节39在关节34-关节36之间向上滑动,即对应第一手指按住第二手指向上滑动;当关节38-关节39在关节34-关节36之间向下滑动,即对应第一手指按住第二手指向下滑动。
当手部为左手时,也可以使食指第四关节为目标关节,将第一手指为大拇指,第二手指为中指,或者以中指第四关节作为目标节点,将第一手指为大拇指,第二手指为食指进行手动作。具体可参考图7D-图7E,此处不再赘述。
当电子设备100检测到手动作为上述预设手势其中之一时,电子设备100将执行对应的操作,具体操作将在下文进行描述。
S340:根据操纵事件,确定操作指示射线和操作指示点。
电子设备100根据操纵事件中的手位姿,将目标关节作为操作指示射线方向的起点,确定操作指示射线与三维数字模型的交点,即操作指示点。在一些实施例中,电子设备100 还会通过显示屏194显示操作指示射线和操作指示点,以便用户确认手势所指向的位置。
下面首先电子设备100对根据目标关节确定操作指示射线与三维数字模型的交点,进行详细描述。
电子设备100可以根据用户手势确定目标关节,将目标关节作为操作指示射线的起点,然后确定操作指示射线方向,并确定操作指示射线与三维数字模型是否有交点。当操作指示射线与三维数字模型存在交点时,该交点为用户手势操作三维数字模型的操作指示点。其中,当电子设备100显示了多个三维数字模型时,与操作指示射线存在交点的三维数字模型,即为用户将进行操纵的三维数字模型。
如图8A所示,电子设备100可以将食指第二关节作为目标节点,即操作指示射线的起点,将食指第一关节和食指第二关节连线方向作为操作指示射线方向。也即是说,将关节14作为操作指示射线的起点,关节13到关节14的方向作为操作指示射线方向。根据操作指示射线方向,就可以确定用户手势操作三维数字模型101的操作指示点。
如图8B所示,电子设备100还可以将食指第二关节作为目标节点,即操作指示射线的起点,将食指第一关节和大拇指第一关节连线方向作为操作指示射线方向。也即是说,将关节14作为操作指示射线的起点,关节14到关节17的方向作为操作指示射线方向。根据操作指示射线方向,就可以确定用户手势操作三维数字模型101的操作指示点。
如图8C所示,电子设备100还可以将食指第四关节作为目标节点,即操作指示射线的起点,将食指第四关节和食指第一关节连线方向作为操作指示射线方向。也即是说,将关节16作为操作指示射线的起点,关节13到关节16的方向作为操作指示射线方向。根据操作指示射线方向,就可以确定用户手势操作三维数字模型101的操作指示点。
如图8D所示,电子设备100还可以将中指第四关节作为目标节点,即操作指示射线的起点,将中指第四关节和中指第一关节连线方向作为操作指示射线方向。也即是说,将关节12作为操作指示射线的起点,关节9到关节12的方向作为操作指示射线方向。根据操作指示射线方向,就可以确定用户手势操作三维数字模型101的操作指示点。
S350:根据操作指示射线和操作指示点,将数字模型从第一状态调整为第二状态。
电子设备100确定了手势对应的操作指示射线和操作指示点后,电子设备100将根据手动作对应的预设手势和手位姿确定需要对数字模型进行的操作,进而,将三维数字模型从第一状态调整为第二状态。其中,对三维数字模型要进行的操作包括单击、双击、长按、取消、向下滚动、向上滚动等等。
下面对手动作对应的预设手势与三维数字模型进行的操作的对应关系进行举例说明。
第一手指单击第二手指用于单击操作指示点所示位置,例如,此时三维数字模型为三维界面102时,第一手指单击第二手指可以是点击三维界面102上操作指示点对应位置,类似于单击鼠标左键。
第一手指双击第二手指用于双击操作指示点所示位置,类似于双击鼠标左键或者单击鼠标右键。
第一手指按住第二手指用于长按操作指示点所示位置,例如,选中操作指示点对应的三维数字模型,此时,三维数字模型将随目标关节的移动改变位置。
第一手指与第二手指分离用于取消对操作指示点所示位置的操纵。通常来说,第一手指与第二手指分离是在第一手指按住第二手指之后。当第一手指按住第二手指并移动和/ 或转动手部时,三维数字模型也将根据目标关节的手位姿改变位置和/或姿态,然后,第一手指与第二手指分离,将取消与三维数字模型的选中关系,此时,再转动或移动手部时,只有操作指示点将随目标关节的移动改变位置。举例来说,如图9A所示,当第一手指按住第二手指并移动和转动手部时,三维数字模型也将根据目标关节的手位姿移动位置并转动。然后,如图9B所示,第一手指与第二手指分离,将取消与三维数字模型的选中关系,此时,再转动或移动手部时,只有操作指示点将随目标关节的移动改变位置。
第一手指按住第二手指向下滑动,类似于向下滚动鼠标滑轮。当显示的三维数字模型为三维界面时,第一手指按住第二手指向下滑动可以是向下翻动页面。
第一手指按住第二手指向上滑动,类似于向上滚动鼠标滑轮。当显示的三维数字模型为三维界面时,第一手指按住第二手指向上滑动可以是向上翻动页面。
在一些实施例中,三维数字模型还可以在2D界面上显示,可操作的对象也还可以为二维数字模型,例如二维设计中的平面元素或者二维界面,二维数字模型的操作可以参考三维数字模型。电子设备100还可以将手动作对应的操作映射为2D界面的显示结果。
综上所述,电子设备100能通过获取用户裸手的手部图像,识别用户手部图像,预先设置的手势信息和对数字模型的操作间的对应关系,将用户的手势信息转换为对数字模型的操作,使得数字模型能根据用户手势完成上下移动、左右移动、前后移动、上下俯仰、左右摇摆以及正反滚转等动作,操作便捷,有利于提高用户操作三维数字模型的效率、提升用户体验。
为了提高用户操纵虚拟环境中的三维数字模型的效率,本申请实施例提供了一种数字模型操纵系统1000,本申请对该数字模型操纵系统1000中的功能单元的划分不做限定,可以根据需要对该数字模型操纵系统1000中的各个单元进行增加、减少或合并。如图10所示,示例性地提供了一种功能模块的划分:数字模型操纵系统1000由手部图像输入模块1010、手部图像识别模块1020、操作事件生成模块1030、操作指示射线和操作指示点生成模块1040、数字模型输出模块1050组成。下面分别介绍每个部分的功能。
手部图像输入模块1010用于通过摄像头193和传感器模块180获取用户手势信息。具体可参考步骤S310所述方法,此处不再赘述。
手部图像识别模块1020用于对手部图像进行识别,并识别得到每帧图像的手势信息,其中,手势信息包括手部位置、手部姿态以及手部为左手还是右手,手部位置和手部姿态是通过手关节点的3D位置或3D位置和法方向进行表示的。具体可参考步骤S320所述方法,此处不再赘述。
操作事件生成模块1030用于根据手势信息中的手部位置和手部姿态,生成操作事件,操纵事件包括手ID(Hand ID)、手位姿(Hand Pose)和手动作(Hand Action)。其中,手ID用于表示手部为左手或是右手。手位姿是通过目标关节的6自由度(6degree of freedom,6DoF)位置变化确定的,手位姿通过目标关节的位置变化表示手部整体的位置变化。手动作是根据第一手指和第二手指的关节位置变化确定的,电子设备100能根据手动作执行对应的操作。具体可参考步骤S330所述方法,此处不再赘述。
操作指示射线和操作指示点生成模块1040根据操纵事件中的手位姿,将目标关节作为操作指示射线方向的起点,确定操作指示射线与三维数字模型的交点,即操作指示点。具体可参考步骤S340所述方法,此处不再赘述。
数字模型输出模块1050用于根据手动作和手位姿确定需要对数字模型进行的操作,进而,将三维数字模型从第一状态调整为第二状态。其中,对三维数字模型要进行的操作包括单击、双击、长按、取消、向下滚动、向上滚动等等。具体可参考步骤S350所述方法,此处不再赘述。
综上所述,电子设备100能通过获取用户裸手的手部图像,识别用户手部图像,预先设置的手势信息和对数字模型的操作间的对应关系,将用户的手势信息转换为对数字模型的操作,使得数字模型能根据用户手势完成上下移动、左右移动、前后移动、上下俯仰、左右摇摆以及正反滚转等动作,操作便捷,有利于提高用户操作三维数字模型的效率、提升用户体验。
为了提高用户操纵虚拟环境中的三维数字模型的效率,本申请实施例提供了一种数字模型操纵装置1100。该数字模型操纵装置1100包括:显示单元1110、检测单元1120、确定单元1130。
显示单元1110用于在虚拟环境中显示第一状态的数字模型;检测单元1120用于检测到用户的手动作为预设手势,其中所述预设手势包括用户的第一手指按住第二手指并且所述第一手指在所述第二手指上滑动;确定单元1130用于将所述数字模型从第一状态调整为第二状态。
在一些实施例中,预设手势还包括下列中的至少一种:第一手指点击第二手指,第一手指按住第二手指,第一手指与第二手指分离,第一手指点击第二手指包括第一手指单击第二手指,以及第一手指双击第二手指。
在一些实施例中,检测单元1120还用于检测目标关节的位置,确定单元1130还用于确定操作指示射线和操作指示点,操作指示射线的起点是目标关节的位置,操作指示点为所述操作指示射线与数字模型的交点;确定单元1130还用于电子设备根据操作指示射线、操作指示点和手动作,将数字模型从第一状态调整为第二状态。
在一些实施例中,确定单元1130还用于对应于手动作为第一手指点击第二手指,点击操作指示点在数字模型上的位置;确定单元1130还用于对应于手动作为第一手指按住第二手指,选中操作指示点对应的数字模型;确定单元1130还用于对应于手动作为第一手指与第二手指分离,取消对操作指示点对应的数字模型的选中。
在一些实施例中,数字模型为应用界面,并且第一手指按住第二手指并且第一手指在第二手指上滑动,包括:第一手指按住第二手指并且第一手指在第二手指上向上滑动,第一手指按住第二手指并且第一手指在第二手指上向下滑动;并且,对应于手动作为第一手指按住第二手指并且第一手指在第二手指上向上滑动,确定单元1130还用于将应用界面向上翻动;对应于手动作为第一手指按住第二手指并且第一手指在第二手指上向下滑动,确定单元1130还用于将应用界面向下翻动。
在一些实施例中,对应于手动作为第一手指按住第二手指,确定单元1130还用于根据目标关节的位置变化,调整数字模型位置和姿态;对应于手动作为当第一手指与第二手指分离,确定单元1130还用于根据目标关节的位置变化,调整操作指示射线位置和方向,以及根据调整后的操作指示射线确定调整后的操作指示点的位置。
在一些实施例中,显示单元1110还用于显示有多个数字模型,确定单元1130还用于根据操作指示射线,从多个数字模型中确定目标数字模型,目标数字模型与操作指示射线存在交点。
在一些实施例中,对应于电子设备检测到多个手动作,检测单元1120还用于将多个手动作的图像与合法手部数据进行比对,确定单元1130还用于从多个手动作的图像中确定目标手动作的图像;检测单元1120还用于检测目标手动作,进而确定单元1130还用于根据将数字模型从第一状态调整为第二状态。
在一些实施例中,目标关节的位置变化是通过目标关节在三维坐标的平移量和旋转量确定的。
综上所述,本申请提供的数字模型操作装置,能通过获取用户裸手的手部图像,识别用户手部图像,预先设置的手势信息和对数字模型的操作间的对应关系,将用户的手势信息转换为对数字模型的操作,使得数字模型能根据用户手势完成上下移动、左右移动、前后移动、上下俯仰、左右摇摆以及正反滚转等动作,操作便捷,有利于提高用户操作三维数字模型的效率、提升用户体验。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质 (例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (12)
1.一种数字模型操纵方法,其特征在于,包括:
电子设备在虚拟环境中显示第一状态的数字模型;
所述电子设备检测到用户的手动作为预设手势,其中所述预设手势包括用户的第一手指按住第二手指并且所述第一手指在所述第二手指上滑动;
所述电子设备将所述数字模型从所述第一状态调整为第二状态。
2.根据权利要求1所述的方法,其特征在于,
所述预设手势还包括下列中的至少一种:所述第一手指点击所述第二手指、所述第一手指按住所述第二手指、所述第一手指与所述第二手指分离;
其中,所述第一手指点击所述第二手指包括所述第一手指单击所述第二手指,以及所述第一手指双击所述第二手指。
3.根据权利要求2所述的方法,其特征在于,所述电子设备将所述数字模型从第一状态调整为第二状态,包括:
所述电子设备检测目标关节的位置,并确定操作指示射线和操作指示点,所述操作指示射线的起点是所述目标关节的位置,所述操作指示点为所述操作指示射线与所述数字模型的交点;
所述电子设备根据所述操作指示射线、所述操作指示点和所述手动作,将所述数字模型从所述第一状态调整为所述第二状态。
4.根据权利要求3所述的方法,其特征在于,所述电子设备将所述数字模型从第一状态调整为第二状态,包括:
对应于所述手动作为所述第一手指点击所述第二手指,所述电子设备点击所述操作指示点在所述数字模型上的位置;
对应于所述手动作为所述第一手指按住所述第二手指,所述电子设备选中所述操作指示点对应的所述数字模型;
对应于所述手动作为所述第一手指与所述第二手指分离,所述电子设备取消对所述操作指示点对应的所述数字模型的选中。
5.根据权利要求3所述的方法,其特征在于,所述数字模型为应用界面,并且
所述第一手指按住所述第二手指并且所述第一手指在所述第二手指上滑动,包括:所述第一手指按住所述第二手指并且所述第一手指在所述第二手指上向上滑动,所述第一手指按住所述第二手指并且所述第一手指在所述第二手指上向下滑动;并且
所述电子设备将所述数字模型从所述第一状态调整为第二状态,包括:
对应于所述手动作为所述第一手指按住所述第二手指并且所述第一手指在所述第二手指上向上滑动,所述电子设备将所述应用界面向上翻动;
对应于所述手动作为所述第一手指按住所述第二手指并且所述第一手指在所述第二手指上向下滑动,所述电子设备将所述应用界面向下翻动。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对应于所述手动作为所述第一手指按住所述第二手指,所述电子设备根据所述目标关节的位置变化,调整所述数字模型位置和姿态;
对应于所述手动作为当所述第一手指与所述第二手指分离,所述电子设备根据所述目标关节的位置变化,调整所述操作指示射线位置和方向,以及根据所述调整后的操作指示射线确定调整后的操作指示点的位置。
7.根据权利要求3至6任一所述的方法,其特征在于,所述电子设备显示有多个数字模型,并且所述方法还包括:
所述电子设备根据所述操作指示射线,从所述多个数字模型中确定目标数字模型,所述目标数字模型与所述操作指示射线存在交点。
8.根据权利要求1至7任一所述的方法,其特征在于,所述方法还包括:
对应于所述电子设备检测到多个手动作,所述电子设备将所述多个手动作的图像与合法手部数据进行比对,从所述多个手动作的图像中确定目标手动作的图像;
所述电子设备检测所述目标手动作,进而根据将所述数字模型从所述第一状态调整为所述第二状态。
9.根据权利要求6所述的方法,其特征在于,
所述目标关节的位置变化是通过所述目标关节在三维坐标的平移量和旋转量确定的。
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,执行如权利要求1至9中任一项所述的方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,在被电子设备执行时,电子设备执行如权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210692691.0A CN117289785A (zh) | 2022-06-17 | 2022-06-17 | 一种数字模型操作方法、设备、介质以及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210692691.0A CN117289785A (zh) | 2022-06-17 | 2022-06-17 | 一种数字模型操作方法、设备、介质以及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117289785A true CN117289785A (zh) | 2023-12-26 |
Family
ID=89237710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210692691.0A Pending CN117289785A (zh) | 2022-06-17 | 2022-06-17 | 一种数字模型操作方法、设备、介质以及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117289785A (zh) |
-
2022
- 2022-06-17 CN CN202210692691.0A patent/CN117289785A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230325004A1 (en) | Method of interacting with objects in an environment | |
CN109313812B (zh) | 具有上下文增强的共享体验 | |
CN111880648B (zh) | 一种三维元素的操纵方法和终端 | |
US9992429B2 (en) | Video pinning | |
US9972134B2 (en) | Adaptive smoothing based on user focus on a target object | |
JP2022537614A (ja) | マルチ仮想キャラクターの制御方法、装置、およびコンピュータプログラム | |
CN112835445B (zh) | 虚拟现实场景中的交互方法、装置及系统 | |
CN104871214A (zh) | 用于具扩增实境能力的装置的用户接口 | |
CN104081307A (zh) | 图像处理装置、图像处理方法和程序 | |
WO2022152024A1 (zh) | 一种微件的显示方法与电子设备 | |
CN112230914A (zh) | 小程序的制作方法、装置、终端及存储介质 | |
US20230119849A1 (en) | Three-dimensional interface control method and terminal | |
CN117289785A (zh) | 一种数字模型操作方法、设备、介质以及程序产品 | |
CN115131547A (zh) | Vr/ar设备截取图像的方法、装置及系统 | |
CN116700659B (zh) | 一种界面交互方法及电子设备 | |
US20230095282A1 (en) | Method And Device For Faciliating Interactions With A Peripheral Device | |
EP4407414A1 (en) | Digital assistant placement in extended reality | |
KR102722177B1 (ko) | 신경 네트워크를 사용한 깊이 추정 | |
US20230342026A1 (en) | Gesture-based keyboard text entry | |
US20230384928A1 (en) | Ar-based virtual keyboard | |
CN117075770A (zh) | 基于扩展现实的交互控制方法、装置、电子设备和存储介质 | |
CN116095405A (zh) | 视频播放方法和装置 | |
CN117667433A (zh) | 一种任务接续方法、设备及系统 | |
KR20240151237A (ko) | 증강 현실을 위한 유형적 6자유도의 인터페이스 | |
CN114782514A (zh) | 图像标注、获取图像标注模型的方法、装置及设备 |
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 |