CN111240476B - 基于增强现实的交互方法、装置、存储介质和计算机设备 - Google Patents

基于增强现实的交互方法、装置、存储介质和计算机设备 Download PDF

Info

Publication number
CN111240476B
CN111240476B CN202010010124.3A CN202010010124A CN111240476B CN 111240476 B CN111240476 B CN 111240476B CN 202010010124 A CN202010010124 A CN 202010010124A CN 111240476 B CN111240476 B CN 111240476B
Authority
CN
China
Prior art keywords
real
picture
page
determining
scene 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
CN202010010124.3A
Other languages
English (en)
Other versions
CN111240476A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010010124.3A priority Critical patent/CN111240476B/zh
Publication of CN111240476A publication Critical patent/CN111240476A/zh
Application granted granted Critical
Publication of CN111240476B publication Critical patent/CN111240476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及一种基于增强现实的交互方法、装置、存储介质和计算机设备,所述方法包括:在应用程序的第一页面展示现实画面,并在所述现实画面上显示用于增强现实的虚拟对象;获取所述现实画面中的真实场景图像;检测所述真实场景图像中真实对象的姿态,获得检测结果;当通过所述检测结果确定所述真实对象在执行目标行为时,在所述现实画面中通过所述目标行为对应的交互指令对所述虚拟对象进行几何变换;以及,在变换过程中,对所述第一页面进行页面切换。本申请提供的方案可以提高交互效率。

Description

基于增强现实的交互方法、装置、存储介质和计算机设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于增强现实的交互方法、装置、存储介质和计算机设备。
背景技术
用户在使用终端的过程中,可能需要对终端中所显示的虚拟对象(如图像或视频等)进行操作时,通常会通过鼠标控制或触摸控制的方式对该虚拟对象进行交互,然而,当用户因某些原因无法通过操作鼠标或触摸屏幕时,将难以实现对虚拟对象进行交互,导致交互效率低的问题。
发明内容
基于此,有必要针对交互效率低的技术问题,提供一种基于增强现实的交互方法、装置、存储介质和计算机设备。
一种基于增强现实的交互方法,包括:
在应用程序的第一页面展示现实画面,并在所述现实画面上显示用于增强现实的虚拟对象;
获取所述现实画面中的真实场景图像;
检测所述真实场景图像中真实对象的姿态,获得检测结果;
当通过所述检测结果确定所述真实对象在执行目标行为时,在所述现实画面中通过所述目标行为对应的交互指令对所述虚拟对象进行几何变换;以及,在变换过程中,对所述第一页面进行页面切换。
一种基于增强现实的交互装置,包括:
显示模块,用于在应用程序的第一页面展示现实画面,并在所述现实画面上显示用于增强现实的虚拟对象;
获取模块,用于获取所述现实画面中的真实场景图像;
检测模块,用于检测所述真实场景图像中真实对象的姿态,获得检测结果;
交互模块,用于当通过所述检测结果确定所述真实对象在执行目标行为时,在所述现实画面中利用所述目标行为对应的交互指令对所述虚拟对象进行几何变换;以及,在变换过程中,对所述第一页面进行页面切换。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述基于增强现实的交互方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于增强现实的交互方法的步骤。
上述基于增强现实的交互方法、装置、计算机可读存储介质和计算机设备,将虚拟对象作为增强现实的虚拟信息与现实画面进行组合显示,通过对现实画面中真实场景图像中的真实对象进行姿态检测,通过姿态检测的检测结果来对虚拟对象进行交互,以及控制应用程序的页面进行切换,用户无需使用鼠标或触摸显示屏便可实现对虚拟对象的交互,可以有效地提高交互效率。此外,在对虚拟对象进行交互之前,通过检测结果来判断真实对象是否在执行目标行为,只有在确定执行目标行为时才对虚拟对象进行交互,可以避免误操作而影响交互效果。
附图说明
图1为一个实施例中基于增强现实的交互方法的应用环境图;
图2为另一个实施例中基于增强现实的交互方法的应用环境图;
图3为一个实施例中基于增强现实的交互方法的流程示意图;
图4为一个实施例中手部关键点的示意图;
图5为一个实施例中通过手部控制八卦图的界面示意图;
图6为一个实施例中依据运动轨迹确定真实对象执行目标行为的步骤的流程示意图;
图7为一个实施例中绘制圆的示意图;
图8为一个实施例中计算起始点的方向向量和当前点的方向向量的示意图;
图9为另一个实施例中基于增强现实的交互方法的流程示意图;
图10为一个实施例中基于增强现实的交互装置的结构框图;
图11为另一个实施例中基于增强现实的交互装置的结构框图;
图12为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的计算机视觉技术,具体通过如下实施例进行说明:
图1为一个实施例中基于增强现实的交互方法的应用环境图。参照图1,该基于增强现实的交互方法应用于终端。该终端可以是基于计算机显示器的AR(AugmentedReality,增强现实)设备。该终端可以包括:摄像头、场景产生器、图像合成器、场景产生器和显示器;其中:
摄像头,用于采集包含真实对象的现实画面,将采集的现实画面发送至图像合成器,以与虚拟对象进行合成操作。
场景产生器,用于提取增强现实模型中的虚拟对象,并将该虚拟对象发送至图像合成器。
图像合成器,用于将采集的包含真实对象的现实画面与虚拟对象进行合成,以便刷新到显示器上进行显示。
显示器,用于将图像合成器发送的合成图像或合成视频进行显示,形成真实对象和虚拟对象共同显示的效果。
图2为另一个实施例中基于增强现实的交互方法的应用环境图。参照图2,该基于增强现实的交互方法应用于终端。该终端可以是HMD(Head-mounted display,头盔式显示器)的设备等,其中,HMD可以是基于光学原理的穿透式HMD或基于视频合成技术的穿透式HMD。该终端可以包括:摄像头、头部***、场景产生器、图像合成器、场景产生器和显示器;其中:
摄像头,用于采集包含真实对象的现实画面,将采集的现实画面发送至图像合成器,以与虚拟对象进行合成操作。
头部***,用于获取头部的位置信息,以便根据该位置信息调整摄像头所采集的现实画面,还可以根据该位置信息获取对应的虚拟对象,或对虚拟对象进行更换。
场景产生器,用于提取增强现实模型中的虚拟对象,并将该虚拟对象发送至图像合成器。
图像合成器,用于将采集的包含真实对象的现实画面与虚拟对象进行合成,以便刷新到显示器上进行显示。
显示器,用于将图像合成器发送的合成图像或合成视频进行显示,形成真实对象和虚拟对象共同显示的效果。
如图3所示,在一个实施例中,提供了一种基于增强现实的交互方法。本实施例主要以该方法应用于上述图1中或图2中的终端来举例说明。参照图3,该基于增强现实的交互方法具体包括如下步骤:
S302,在应用程序的第一页面展示现实画面,并在现实画面上显示用于增强现实的虚拟对象。
其中,上述的应用程序可以是社交应用、游戏应用和小程序等等。第一页面可以是在开启应用程序时所进入的第一个页面,即应用程序的入口页面,在该第一页面中显示现实画面,该现实画面可以是图1或图2中摄像头拍摄真实场景所得的画面。该现实画面可以以图像格式或视频格式的形式在终端上显示以及保存。增强现实可以指采用多媒体、三维建模、实时跟踪及注册、智能交互和传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐和视频等虚拟信息进行仿真后应用到真实场景中,虚拟信息和真实场景的信息互为补充,当真实场景和虚拟信息之间重叠之后,两者能够在同一个画面以及空间中同时存在,从而实现对真实场景的增强。该虚拟对象可以是图像、视频、音乐、文档、红包或其它物体等虚拟信息,可用来对真实场景进行增强。举例来说,该虚拟对象可以是一张或多张的静态图像或动态图像,如n张大小不同的静态图像或动态图像叠加在一起所组成的图像。
基于增强现实的交互方法可应用于对虚拟对象进行控制,还可以应用于同时对虚拟对象和应用程序进行控制。基于此,可以将S302分为以下两种场景:
场景1,应用于虚拟对象进行控制的场景。
在一个实施例中,当对虚拟对象进行控制时,可以将当前显示页面切换到对应的第一页面,该当前显示页面显示虚拟对象,且切换到第一页面时,虚拟对象也可以随之在第一页面中显示。具体地,终端将调用摄像组件,通过摄像组件采集现实画面,在第一页面中,终端通过摄像组件的组件层显示现实画面;在组件层的层级之上添加画布层;获取在当前显示页面显示的虚拟对象,将该虚拟对象显示于画布层。
其中,摄像组件可以是相机(camera)组件,通过该摄像组件可以开启摄像头,以采集真实场景得到可以在第一页面显示的现实画面。摄像组件的组件层可以指用于承载现实画面的视图层。画布层可以是用于承载虚拟对象的视图层,画布层的透明度设置为透明,使得能透过画布层可以看到组件层承载的现实画面。
场景2,应用于虚拟对象和应用程序进行控制的场景。
在一个实施例中,在启动应用程序后,终端展示第一画面,并同时调用摄像组件,通过摄像组件采集现实画面。终端在摄像组件的组件层显示现实画面;在组件层的层级之上添加画布层;获取至少一张用于增强现实的虚拟对象;将虚拟对象显示于画布层。
在一个实施例中,当启动应用程序后,终端将进入应用程序的第一页面,该第一页面可以是增强现实的页面,通过摄像组件的组件层将摄像头所采集真实场景所得的现实画面显示于第一页面上,以及,通过画布层将将与现实画面对应的虚拟对象显示在该第一页面上。其中,该摄像头可以是独立存在的摄像头,也可以内置在终端上的摄像头。
在一个实施例中,终端将画布层的类型设置为图形绘制类;在图形绘制类的、且用于记录透明度信息的通道中设置透明参数;在组件层的层级之上添加画布层的步骤,具体可以包括:在组件层的层级之上添加设置了透明参数的画布层。
在一个实施例中,将所述虚拟对象显示于所述画布层的步骤,具体可以包括:终端调用图形绘制工具;通过所述图形绘制工具在所述画布层上绘制所述虚拟对象并进行显示。其中,图形绘制工具可以是three.js、WebGL或OpenGL等。在本发明实施例中以图形绘制工具为three.js为例进行说明。
例如,终端可以通过调用three.js绘制虚拟对象,然后通过画布层在现实画面的层级之上进行显示。
在一个实施例中,终端可以在画布层上创建虚拟场景,然后在该虚拟场景中添加虚拟对象、三维模型和添加陀螺仪监听事件。
作为一个示例,在camera组件的组件层上添加canvas层,设置canvas类型为WebGL,将WebGL的alpha通道设置为透明,使得能透过canvas层看到camera层捕获的现实世界景象。终端引入three.js,在canvas层上通过three.js创建虚拟场景,然后在three.js建立的虚拟场景中添加虚拟对象、3D模型和添加陀螺仪监听事件,从而使得虚拟模型和现实画面结合并呈现于屏幕之上。
S304,获取现实画面中的真实场景图像。
其中,现实画面可以以图像格式或视频格式的形式在终端上显示以及保存。
在一个实施例中,当现实画面的格式为视频格式时,终端读取视频格式的现实画面,将该现实画面中的无效画面进行去除,然后对该现实画面进行解码,得到有效的真实场景图像。
例如,用户的右手在摄像头可视范围内进行有效操作之前,会有一段进入摄像头的过程,此段现实画面属于无效操作的画面,应当作为噪点去除,然后对去除无效操作的画面后所得的现实画面进行解码,得到有效的真实场景图像。
在一个实施例中,当现实画面的格式为图像格式时,终端读取图像格式的现实画面,将该现实画面中的无效画面进行去除,即可得到有效的真实场景图像。
S306,检测真实场景图像中真实对象的姿态,获得检测结果。
其中,上述的姿态可以是真实对象所呈现出来的姿势。真实对象可以是用户本人的全身,又或者是用户的某个身体部位(如手部、脚部和头部等)。
以真实对象为用户的手部为例,如图4所示,正面手部的关键点有20个点,通过对真实场景图像中手部的这20个关键点进行检测,可以检测出对应的姿态以及得到各关键点的位置坐标。其中,位置坐标为对应关键点在图像中的像素坐标。
在一个实施例中,S306具体可以包括:终端可以通过姿态检测模型对真实场景图像中的真实对象进行姿态检测;计算处于该姿态下、且包括目标检测点处于真实场景图像中的位置坐标的检测结果;目标检测点属于真实对象。其中,该姿态检测模型可以是PoseNet模型。
在一个实施例中,终端可以通过远程检测方式进行姿态检测。具体地,终端获取安装该姿态检测模型的服务器的网络地址,然后将该真实场景图像按照该网络地址发送给服务器,以便服务器利用其姿态检测模型对真实场景图像中的真实对象进行姿态检测,然后计算处于该姿态下、且包括目标检测点处于真实场景图像中的位置坐标的检测结果,将该检测结果发送给终端。该检测方式可应用于计算能力较小的终端,以便减低终端的计算压力。
在另一个实施例中,终端可以通过本端检测方式进行姿态检测。首先,终端获取姿态检测模型的安装包的网络地址,根据该网络地址下载该安装包然后进行安装。在安装完成的情况下,终端通过本端安装的姿态检测模型对真实场景图像中的真实对象进行姿态检测;计算处于该姿态下、且包括目标检测点处于真实场景图像中的位置坐标的检测结果。
S308,当通过检测结果确定真实对象在执行目标行为时,在现实画面中通过目标行为对应的交互指令对虚拟对象进行几何变换;以及,在变换过程中,对第一页面进行页面切换。
基于增强现实的交互方法可应用于对应用程序和虚拟对象进行离屏控制的场景。在一个实施例中,基于增强现实的交互方法用于虚拟对象进行离屏控制时,S308具体可以包括:在现实画面中,通过目标行为对应的交互指令对虚拟对象进行几何变换;其中,该几何变换包括平移变换、旋转变换和翻折变换等操作中的至少一种。
在一个实施例中,当通过检测结果确定真实对象在执行目标行为时,终端可以生成与该目标行为对应的交互指令,然后在现实画面中通过该交互指令对虚拟对象进行交互。
例如,如图5所示,图中有一个多层的八卦图,当用户的手部在执行画圆行为时,生成一个旋转的交互指令,然后控制八卦图的第二层、第三层和第四层的图像进行不同方向的旋转。其中,第一层的图像可以不受用户的手部控制,沿着某个方向进行均速旋转。
在一个实施例中,在变换过程中,对第一页面进行页面切换的步骤,具体可以包括:在变换过程中,获取待显示的第二页面;对第二页面中的页面元素进行渲染,得到渲染后的第二页面;将显示现实画面和虚拟对象的第一页面切换到指定的操作页面,从而用户无需使用鼠标或触摸显示屏便可实现对虚拟对象的交互,可以有效地提高交互效率。其中,显示现实画面和虚拟对象的第一页面为应用程序的入口页面,该第一页面用来代替传统方案中通过滑动或点击的方式才能进入下一级页面的登录页面,可以有效避免用户因无法直接触摸屏幕也能进行应用程序的控制。
作为一个示例,对于活动类小程序和小游戏等应用程序,传统方案中,在开启该应用程序时,通常会显示一个登录页面,该登录页面会显示一个滑动按钮或点击按钮,通过滑动该滑动按钮或点击该点击按钮,然后进入相应的操作页面。采用本实施例的方案,将传统方案中的登录页面替换为本实施例的基于增强现实的第一页面,用户无需通过滑动或点击操作便可进入到该应用程序对应的操作页面。
上述实施例中,将虚拟对象作为增强现实的虚拟信息与现实画面进行组合显示,通过对现实画面中真实场景图像中的真实对象进行姿态检测,通过姿态检测的检测结果来对虚拟对象进行交互,用户无需使用鼠标或触摸显示屏便可实现对虚拟对象的交互,以及控制应用程序的页面进行切换,可以有效地提高交互效率。此外,在对虚拟对象进行交互之前,通过检测结果来判断真实对象是否在执行目标行为,只有在确定执行目标行为时才对虚拟对象进行交互,可以避免误操作而影响交互效果。
在一个实施例中,如图6所示,该方法还可以包括:
S602,当计算出各检测结果时,确定各检测结果所对应的时间戳。
其中,检测结果为现实画面中的各帧真实场景图像所对应的结果,即现实画面中,有效的真实场景图像有多个,对应的检测结果也有多个,且检测结果的数量与真实场景图像的数量保持一致。该时间戳为获得检测结果时所对应的时间信息。
S604,将各检测结果中的位置坐标与对应的时间戳依次进行保存。
在一个实施例中,按照时间戳的先后顺序,将各检测结果中的位置坐标与对应的时间戳依次保存于数组或队列中。其中,该队列可以是阻塞链表队列。该时间戳可以作为存入数组时的时间戳。
例如,当对现实画面中任一帧真实场景图像检测完成后,终端将现实画面中各帧真实场景图像的检测结果放入数组PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)],其中(xn,yn)可以是识别点(如用户手腕或手指)的横纵坐标,tn是用户手腕或手指的横纵坐标在存入数组时的时间戳。
S606,当各相邻两个时间戳的差值小于或等于预设时间间隔时,根据所保存的位置坐标确定真实对象的运动轨迹。
在一个实施例中,当数组的长度发生变化时,即将新的检测结果中位置坐标与对应的时间戳存入数组中时,将新存入数组中的位置坐标对应的时间戳与其上一个位置坐标对应的时间戳进行求差,得到两个时间戳的差值。当该时间差值小于或等于预设时间间隔时,根据所保存的位置坐标确定真实对象的运动轨迹。当该时间差值大于预设时间间隔时,将该数组中所保存的位置坐标和时间戳进行清除,防止目标对象移动出摄像头的视区范围后,当下一次进入时两次间隔时间过长,从而影响姿态检测。
在一个实施例中,S606具体可以包括:终端将所保存的位置坐标分组;各分组中包括至少三个连续的位置坐标;根据各分组中的位置坐标确定圆形半径;计算相连两个分组所得的圆形半径之间的第一差值;当所计算出的第一差值中至少两个连续差值小于预设差值,则确定真实对象的运动轨迹为圆形运动轨迹。
例如,利用在平面直角坐标系中不共线的三个点可以确定一个圆的特性,将数组PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)]中每三个位置坐标分为一组,如将(x1,y1,t1)、(x2,y2,t2)和(x3,y3,t3)分为一组,将(x4,y4,t4)、(x5,y5,t5)和(x6,y6,t6)分为一组,依此类推;又或者,将(x1,y1,t1)、(x2,y2,t2)和(x3,y3,t3)分为一组,将(x2,y2,t2)、(x3,y3,t3)和(x4,y4,t4)分为一组,每组之间的元素可以有重复。然后根据各组中的三个位置坐标计算圆形半径ri,然后将所计算出来的圆形半径分别放入数组RadiusArrList[r1,r2,r3,...ri...rn],当所计算出来的圆形半径趋于稳定时,可以确定用户手部的运动轨迹为圆形运动轨迹,如图7所示。
其中,判断圆形半径值趋于稳定的方法可以是:不断以数组RadiusArrList[r1,r2,r3,...ri...rn]的后项减前项的方式,将所得差值值的绝对值存入新数组CheckStartArr[d1,d2...dm]中,当CheckStartArr[d1,d2...dm]中出现连续a个差值小于阈值b时,则判定圆形半径值趋于稳定。其中,a、b可根据实际情况进行设置。
S608,依据运动轨迹确定真实对象在执行目标行为。
在一个实施例中,目标行为包括圆形图绘制行为;S608具体可以包括:终端判断圆形运动轨迹是否闭合;若闭合,计算圆形半径的第二差值;当第二差值小于或等于预设差值时,根据圆形运动轨迹确定真实对象在执行圆形图绘制行为。
其中,第二差值可以是圆形半径的标准差或方差。
例如,计算圆心坐标与PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)]中每个位置坐标之间的方向向量,通过判断起始点的方向向量与当前点的方向向量是否平行的方式来确定运动轨迹是否已闭合,公式如下:
Figure BDA0002356844540000111
其中,(x0,y0)为圆心坐标,(x1-x0,y1-y0)是起始点的方向向量,(xn-x0,yn-y0)为数组PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)]中的位置坐标与圆心坐标构成的方向向量,循环计算直到满足两个向量平行、且起始点与当前点之间的距离小于半径,则确定所绘制的圆闭合,如图8所示。
在一个实施例中,根据圆形运动轨迹确定真实对象在执行圆形图绘制行为的步骤,具体可以包括:终端计算圆形半径的标准差或方差,利用标准差或方差来衡量所计算出来的圆形半径的离散程度。
例如,利用如下公式计算数组RadiusArrList[r1,r2,r3,...ri...rn]中圆形半径的标准差,该公式为:
Figure BDA0002356844540000121
其中r1,r2,r3,...rn是数组RadiusArrList[r1,r2,r3,...ri...rn]中的元素(即圆形半径),r为平均值,n为数组长度,S为标准差,S值越小说明离散程度越低,半径越接近,运动轨迹越趋近于圆。
在一个实施例中,目标行为包括直线绘制行为;S606具体可以包括:终端在所保存的位置坐标中,计算第一位置坐标的坐标值与第二位置坐标的坐标值之间的差值;当所计算的差值大于第一预设差值或小于第二预设差值时,确定真实对象的运动轨迹为直线运动轨迹。或者,终端对所保存的位置坐标进行拟合,得到拟合直线;当所保存的位置坐标与拟合直线之间的距离小于或等于预设距离时,确定真实对象的运动轨迹为直线运动轨迹。S608包括:终端依据直线运动轨迹确定真实对象在执行直线绘制行为。其中,位置坐标和对应的时间戳保存于数组中。
在一个实施例中,终端计算数组中最后一个位置坐标对应的时间戳与倒数第二个位置坐标对应的时间戳之间的差值(即两个时间戳之间的时间间隔),当该差值大于时间阈值时,则清空数组,将最新获得的坐标位置和时间戳设置为数组第一个元素;当该差值小于或等于时间阈值时,则将开始计算是否满足画直线的条件,即运动轨迹为直线运动轨迹。
例如,在数组PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)]中,将最后一个位置坐标(xn,yn)中的xn与第一个位置坐标(x1,y1)中的x1进行作差,当得到的差值大于第一预设差值(令第一预设差值为z)时,可确定运动轨迹为直线运动轨迹。或者,将最后一个位置坐标(xn,yn)中的yn与第一个位置坐标(x1,y1)中的y1进行作差,当得到的差值大于第二预设差值(令第二预设差值为-x)时,可确定运动轨迹为直线运动轨迹。
上述实施例中,通过目标对象的运动轨迹来确定所执行的目标行为,以便根据目标行为来对虚拟对象进行交互,丰富了交互的方式。
作为一个示例,基于增强现实的交互方法,利用tensorflow.js的姿态检测模型PoseNet,将小程序的Camera组件所捕获的真实场景图像(该真实场景图像中包含各种用户姿态的特征)上传检测,同时在Camera层之上引入Canvas进行图像绘制,实现在微信小程序中利用身体特定的行为特征控制图像变换的脱屏控制技术。
具体地,摄像头拍摄真实场景图像,PoseNet以右手腕关节作为识别点,得到该识别点的位置坐标,然后将所得的位置坐标和对应的时间戳保存于数组PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)],(xn,yn)可以是识别点(如用户手腕或手指)的横纵坐标,tn是用户手腕或手指的横纵坐标在存入数组时的时间戳。然后判断数组PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)]中的位置坐标是否能构成一个圆。判断的步骤为:首先利用平行向量的特性计算数组中的位置坐标是否构成闭合曲线,再利用三点成圆的特性对数组中的位置坐标以三个为一组循环计算得到一组半径值,最后利用标准差计算该组半径值的离散程度用于评价是否能构成一个圆。
在判断用户的行为为画圆行为之后,利用Canvas绘制虚拟图像(如图5中的八卦图)达到利用用户的脱屏行为来控制图像变换的目的,如图9所示。
本实施例可用于活动类小程序、小游戏的入口页面(如图9所示),该入口页面用来代替传统方案中通过滑动或点击的方式才能进入下一级页面的登录页面。通过脱屏交互的方式控制红包的开启、门的打开、球体的旋转、应用程序中页面的跳转等。
对于具体的实现步骤,在本实施例中,先利用three.js在小程序中绘制一个八卦图,其中八卦图分为四层,每两层之间旋转的方向不同。当手部在屏幕转动时,摄像头会将捕获的真实场景图像上传tensorflow.js的Posenet进行姿态检测,并对检测结果进行计算,然后判断该次行为是否为一次画圆行为。如果根据检测结果判定为画圆行为时,将高速旋转八卦图,并进入应用程序的下一个操作页面。
实现逻辑为:
(1)采用小程序camera组件开启前置摄像头捕获实时图像帧数据上传tensorflow.js并调用PoseNet模型执行身体姿态预测,将每帧图像预测的结果放入数组PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)],其中(xn,yn)是识别对象的横纵坐标,tn是该点在存入数组时的时间戳,每次数组长度变化时,先判断最后一个元素和倒数第二个元素的时间戳的差值,如果差值大于time,则清空数组,将最新识别的点存入。其中time为设置的识别间隔阈值(根据测试设置为3s比较合理),其目的是防止识别点移动出屏幕后再次进入识别范围时两次间隔时间过长,影响判断;
(2)在camera组件层上添加canvas层,设置canvas类型为webgl;
(3)引入three.js并初始化虚拟场景,将webgl的alpha通道设置为透明,使得能透过canvas层看到camera层捕获的现实世界景象;
(4)在three.js建立的虚拟场景中添加3D模型和添加陀螺仪监听事件,从而使得虚拟模型和现实场景结合并呈现于屏幕之上;
(5)本方案以右手腕为识别点,将根据tensorflow.js返回的右手腕在摄像头前一系列行为特性的集合坐标点计算本次行为是否为画圆行为:
1)确定画圆是否开始:例如,用户的右手在摄像头可视范围内进行有效操作之前,会有一段进入摄像头的过程,此段现实画面属于无效操作的画面,应当作为噪点去除,然后对去除无效操作的画面后所得的现实画面进行解码,得到有效的真实场景图像。
采用方法为:利用在平面直角坐标系中不共线的三个点可以确定一个圆的特性,将数组PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)]中每三个位置坐标分为一组,如将(x1,y1,t1)、(x2,y2,t2)和(x3,y3,t3)分为一组,将(x4,y4,t4)、(x5,y5,t5)和(x6,y6,t6)分为一组,依此类推;又或者,将(x1,y1,t1)、(x2,y2,t2)和(x3,y3,t3)分为一组,将(x2,y2,t2)、(x3,y3,t3)和(x4,y4,t4)分为一组,每组之间的元素可以有重复。然后根据各组中的三个位置坐标计算圆形半径ri,然后将所计算出来的圆形半径分别放入数组RadiusArrList[r1,r2,r3,...ri...rn],当所计算出来的圆形半径趋于稳定时,可以确定用户手部在开始画圆,如图7所示。
其中,判断圆形半径值趋于稳定的方法可以是:不断以数组RadiusArrList[r1,r2,r3,...ri...rn]的后项减前项的方式,将所得差值值的绝对值存入新数组CheckStartArr[d1,d2...dm]中,当CheckStartArr[d1,d2...dm]中出现连续a个差值小于阈值b时,则判定圆形半径值趋于稳定。其中,a、b可根据实际情况进行设置。
2)确定画圆结束即曲线是否已闭合:计算圆心坐标与PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)]中每个位置坐标之间的方向向量,通过判断起始点的方向向量与当前点的方向向量是否平行的方式来确定运动轨迹是否已闭合,公式如下:
Figure BDA0002356844540000151
其中,(x0,y0)为圆心坐标,(x1-x0,y1-y0)是起始点的方向向量,(xn-x0,yn-y0)为数组PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)]中的位置坐标与圆心坐标构成的方向向量,循环计算直到满足两个向量平行、且起始点与当前点之间的距离小于半径,则确定所绘制的圆闭合,如图8所示。
3)判断所画闭合曲线是否可以构成一个圆:利用标准差来衡量一组数据的离散程度,利用如下公式计算数组RadiusArrList[r1,r2,r3,...ri...rn]中圆形半径的标准差,该公式为:
Figure BDA0002356844540000152
其中r1,r2,r3,...rn是数组RadiusArrList[r1,r2,r3,...ri...rn]中的元素(即圆形半径),r为平均值,n为数组长度,S为标准差,S值越小说明离散程度越低,半径越接近,运动轨迹越趋近于圆。
(6)在确定为画圆行为之后,通过three.js对虚拟场景中的3D模型执行变换操作(图像的放大、缩小、旋转、移动等)。
此外,针对步骤(5)中识别点的选择不限于手腕,可以是身体其他部位(如鼻子、左手腕、双眼、双耳、左膝、右膝);用户的行为不限于画圆行为,还可以是画直线(比如挥手为画直线,点头摇头为画直线);对于画直线的行为识别,具体执行如下:
1)设置正向的阈值z,以及设置负向的阈值-z,针对数组PoseArrList[(x1,y1,t1),(x2,y2,t2),....(xn,yn,tn)]中的位置坐标,计算最后一个位置坐标和倒数第二个位置坐标之间的时间间隔,当时间间隔大于3s秒时,则清空数组,将获得的新位置坐标和对应的时间戳设置为数组第一个元素;当时间间隔小于或等于3s秒时,将开始计算是否满足画直线的条件;
2)将数组中最后一个位置坐标(xn,yn)中的xn或yn与第一个位置坐标(x1,y1)中对应的x1或y1进行作差,如果值大于z,或者小于-x,可以识别为一个画直线操作;
3)根据计算的是x(或y)来判断是横向(或纵向)画直线操作,从而对模型做出对应的图形变换。
本方案是利用tensorflow.js的Posenet做姿态检测(姿态检测可以是检测右手腕画圆操作,也可以以身体其他部位为识别点进行姿态检测),针对检测结果在小程序中对虚拟模型进行相应操作,以其他姿态行为为识别依据,比如以鼻子为识别点,识别旋转脑袋(画圆)、点头摇头(画直线)或者其他操作,然后根据检测结果对虚拟模型进行缩放、旋转、平移等操作到达脱屏交互的目的,以及对应用程序进行控制达到脱屏交互的目的。
图3、6、9为一个实施例中基于增强现实的交互方法的流程示意图。应该理解的是,虽然图3、6、9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3、6、9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图10所示,在一个实施例中,提供了一种基于增强现实的交互装置,该基于增强现实的交互装置具体包括:显示模块1002、获取模块1004、检测模块1006和交互模块1008,其中:
显示模块1002,用于在应用程序的第一页面展示现实画面,并在现实画面上显示用于增强现实的虚拟对象;
获取模块1004,用于获取现实画面中的真实场景图像;
检测模块1006,用于检测真实场景图像中真实对象的姿态,获得检测结果;
交互模块1008,用于当通过检测结果确定真实对象在执行目标行为时,在现实画面中利用目标行为对应的交互指令对虚拟对象进行几何变换;以及,在变换过程中,对第一页面进行页面切换。
在一个实施例中,显示模块1002,还用于:当开启摄像组件时,通过摄像组件采集现实画面;在摄像组件的组件层显示现实画面;在组件层的层级之上添加画布层;获取至少一张用于增强现实的虚拟对象;将虚拟对象显示于画布层。
在一个实施例中,如图11所示,该装置还包括:设置模块1010;其中:
设置模块1010,用于在组件层的层级之上添加画布层之后,将画布层的类型设置为图形绘制类;在图形绘制类的、且用于记录透明度信息的通道中设置透明参数;
显示模块1002,还用于在组件层的层级之上添加设置了透明参数的画布层。
在一个实施例中,显示模块1002,还用于调用图形绘制工具;通过图形绘制工具在画布层上绘制虚拟对象并进行显示。
上述实施例中,将虚拟对象作为增强现实的虚拟信息与现实画面进行组合显示,通过对现实画面中真实场景图像中的真实对象进行姿态检测,通过姿态检测的检测结果来对虚拟对象进行交互,用户无需使用鼠标或触摸显示屏便可实现对虚拟对象的交互,以及控制应用程序的页面进行切换,可以有效地提高交互效率。此外,在对虚拟对象进行交互之前,通过检测结果来判断真实对象是否在执行目标行为,只有在确定执行目标行为时才对虚拟对象进行交互,可以避免误操作而影响交互效果。
在一个实施例中,检测模块1006,还用于通过姿态检测模型对真实场景图像中的真实对象进行姿态检测;计算处于姿态下、且包括目标检测点处于真实场景图像中的位置坐标的检测结果;目标检测点属于真实对象。
在一个实施例中,如图11所示,该装置还包括:确定模块1012;其中:
确定模块1012,用于根据各检测结果中检测点的位置坐标确定真实对象的运动轨迹;依据运动轨迹确定真实对象在执行目标行为。
在一个实施例中,如图11所示,检测结果为现实画面中的各帧真实场景图像所对应的结果;该装置还包括:保存模块1014;其中:
确定模块1012,还用于当计算出各检测结果时,确定各检测结果所对应的时间戳;
保存模块1014,用于将各检测结果中的位置坐标与对应的时间戳依次进行保存;
确定模块1012,还用于当各相邻两个时间戳的差值小于或等于预设时间间隔时,根据所保存的位置坐标确定真实对象的运动轨迹。
在一个实施例中,确定模块1012,还用于:将所保存的位置坐标分组;各分组中包括至少三个连续的位置坐标;根据各分组中的位置坐标确定圆形半径;计算相连两个分组所得的圆形半径之间的第一差值;当所计算出的第一差值中至少两个连续差值小于预设差值,则确定真实对象的运动轨迹为圆形运动轨迹。
在一个实施例中,确定模块1012,还用于:判断圆形运动轨迹是否闭合;若闭合,计算圆形半径的第二差值;当第二差值小于或等于预设差值时,根据圆形运动轨迹确定真实对象在执行圆形图绘制行为。
在一个实施例中,目标行为包括直线绘制行为;确定模块1012,还用于:在所保存的位置坐标中,计算第一位置坐标的坐标值与第二位置坐标的坐标值之间的差值;当所计算的差值大于第一预设差值或小于第二预设差值时,确定真实对象的运动轨迹为直线运动轨迹;
对所保存的位置坐标进行拟合,得到拟合直线;当所保存的位置坐标与拟合直线之间的距离小于或等于预设距离时,确定真实对象的运动轨迹为直线运动轨迹;
确定模块1012,还用于:依据直线运动轨迹确定真实对象在执行直线绘制行为。
在一个实施例中,交互模块1008,还用于:在变换过程中,获取待显示的第二页面;对第二页面中的页面元素进行渲染,得到渲染后的第二页面;将第一页面切换到渲染后的第二页面。
上述实施例中,通过目标对象的运动轨迹来确定所执行的目标行为,以便根据目标行为来对虚拟对象进行交互,丰富了交互的方式。
图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1或图2中的终端。如图12所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现基于增强现实的交互方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行基于增强现实的交互方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的基于增强现实的交互装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该基于增强现实的交互装置的各个程序模块,比如,图10所示的显示模块1002、获取模块1004、检测模块1006和交互模块1008。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的基于增强现实的交互方法中的步骤。
例如,图12所示的计算机设备可以通过如图10所示的基于增强现实的交互装置中的显示模块1002执行S302。计算机设备可通过获取模块1004执行S304。计算机设备可通过检测模块1006执行S306。计算机设备可通过交互模块1008执行S308。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述基于增强现实的交互方法的步骤。此处基于增强现实的交互方法的步骤可以是上述各个实施例的基于增强现实的交互方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述基于增强现实的交互方法的步骤。此处基于增强现实的交互方法的步骤可以是上述各个实施例的基于增强现实的交互方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (24)

1.一种基于增强现实的交互方法,包括:
在应用程序的第一页面展示现实画面,并在所述现实画面上显示用于增强现实的虚拟对象;
获取所述现实画面中的真实场景图像;
检测所述真实场景图像中真实对象的姿态,获得检测结果,各所述检测结果为所述现实画面中的各帧真实场景图像所对应的结果;当计算出各所述检测结果时,确定各所述检测结果所对应的时间戳;将各所述检测结果中的位置坐标与对应的时间戳依次进行保存;
当各相邻两个时间戳的差值小于或等于预设时间间隔时,根据所保存的位置坐标确定所述真实对象的运动轨迹,依据所述运动轨迹确定所述真实对象在执行目标行为;在所述现实画面中通过所述目标行为对应的交互指令对所述虚拟对象进行几何变换;以及,
在变换过程中,对所述第一页面进行页面切换;
所述根据所保存的位置坐标确定所述真实对象的运动轨迹包括:
将所保存的位置坐标分组,各所述分组中包括至少三个连续的位置坐标;根据各所述分组中的位置坐标确定圆形半径;计算相连两个分组所得的圆形半径之间的第一差值;当所计算出的第一差值中至少两个连续差值小于预设差值,则确定所述真实对象的运动轨迹为圆形运动轨迹。
2.根据权利要求1所述的方法,其特征在于,所述在现实画面上显示用于增强现实的虚拟对象包括:
通过摄像组件采集现实画面;
在所述摄像组件的组件层显示所述现实画面;
在所述组件层的层级之上添加画布层;
获取至少一张用于增强现实的虚拟对象;
将所述虚拟对象显示于所述画布层。
3.根据权利要求2所述的方法,其特征在于,所述在所述组件层的层级之上添加画布层之后,所述方法还包括:
将所述画布层的类型设置为图形绘制类;
在所述图形绘制类的、且用于记录透明度信息的通道中设置透明参数;
所述在所述组件层的层级之上添加画布层包括:
在所述组件层的层级之上添加设置了所述透明参数的画布层。
4.根据权利要求2所述的方法,其特征在于,所述将所述虚拟对象显示于所述画布层包括:
调用图形绘制工具;
通过所述图形绘制工具在所述画布层上绘制所述虚拟对象并进行显示。
5.根据权利要求1所述的方法,其特征在于,所述检测所述真实场景图像中真实对象的姿态,获得检测结果包括:
通过姿态检测模型对所述真实场景图像中的真实对象进行姿态检测;
计算处于所述姿态下、且包括目标检测点处于所述真实场景图像中的位置坐标的检测结果;所述目标检测点属于所述真实对象。
6.根据权利要求1所述的方法,其特征在于,所述检测所述真实场景图像中真实对象的姿态,获得检测结果包括:
获取安装有姿态检测模型的服务器的网络地址;
将所述真实场景图像按照所述网络地址发送给所述服务器,以使所述服务器基于所述姿态检测模型对所述真实场景图像中的真实对象进行姿态检测,计算处于该姿态下、且包括目标检测点处于所述真实场景图像中的位置坐标的检测结果,并进行返回。
7.根据权利要求1所述的方法,其特征在于,所述获取所述现实画面中的真实场景图像包括:
当所述现实画面的格式为图像格式时,读取图像格式的现实画面;
将所述现实画面中的无效画面进行去除,得到有效的真实场景图像。
8.根据权利要求1所述的方法,其特征在于,所述获取所述现实画面中的真实场景图像包括:
当所述现实画面的格式为视频格式时,读取所述视频格式的现实画面;
将所述现实画面中的无效画面进行去除;
对去除所述无效画面后的现实画面进行解码,得到有效的真实场景图像。
9.根据权利要求1所述的方法,其特征在于,所述目标行为包括圆形图绘制行为;所述依据所述运动轨迹确定所述真实对象在执行目标行为包括:
判断所述圆形运动轨迹是否闭合;
若闭合,计算所述圆形半径的第二差值;
当所述第二差值小于或等于预设差值时,根据所述圆形运动轨迹确定所述真实对象在执行圆形图绘制行为。
10.根据权利要求1所述的方法,其特征在于,所述目标行为包括直线绘制行为;所述运动轨迹包括直线运动轨迹;所述根据所保存的位置坐标确定所述真实对象的运动轨迹包括:
在所保存的位置坐标中,计算第一位置坐标的坐标值与第二位置坐标的坐标值之间的差值;当所计算的差值大于第一预设差值或小于第二预设差值时,确定所述真实对象的运动轨迹为直线运动轨迹;
对所保存的位置坐标进行拟合,得到拟合直线;当所保存的位置坐标与所述拟合直线之间的距离小于或等于预设距离时,确定所述真实对象的运动轨迹为直线运动轨迹;
所述依据所述运动轨迹确定所述真实对象在执行目标行为包括:
依据所述直线运动轨迹确定所述真实对象在执行直线绘制行为。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述在变换过程中,对所述第一页面进行页面切换包括:
在变换过程中,获取待显示的第二页面;
对所述第二页面中的页面元素进行渲染,得到渲染后的第二页面;
将所述第一页面切换到所述渲染后的第二页面。
12.一种基于增强现实的交互装置,其特征在于,包括:
显示模块,用于在应用程序的第一页面展示现实画面,并在所述现实画面上显示用于增强现实的虚拟对象;
获取模块,用于获取所述现实画面中的真实场景图像;
检测模块,用于检测所述真实场景图像中真实对象的姿态,获得检测结果,各所述检测结果为所述现实画面中的各帧真实场景图像所对应的结果;
确定模块,用于当计算出各所述检测结果时,确定各所述检测结果所对应的时间戳;
保存模块,用于将各所述检测结果中的位置坐标与对应的时间戳依次进行保存;
所属确定模块,还用于当各相邻两个时间戳的差值小于或等于预设时间间隔时,根据所保存的位置坐标确定所述真实对象的运动轨迹,依据所述运动轨迹确定所述真实对象在执行目标行为;
交互模块,用于在所述现实画面中利用所述目标行为对应的交互指令对所述虚拟对象进行几何变换;以及,在变换过程中,对所述第一页面进行页面切换;
所述确定模块,还用于将所保存的位置坐标分组,各所述分组中包括至少三个连续的位置坐标;根据各所述分组中的位置坐标确定圆形半径;计算相连两个分组所得的圆形半径之间的第一差值;当所计算出的第一差值中至少两个连续差值小于预设差值,则确定所述真实对象的运动轨迹为圆形运动轨迹。
13.根据权利要求12所述的装置,其特征在于,所述显示模块,还用于:
当开启摄像组件时,通过所述摄像组件采集现实画面;
在所述摄像组件的组件层显示所述现实画面;
在所述组件层的层级之上添加画布层;
获取至少一张用于增强现实的虚拟对象;
将所述虚拟对象显示于所述画布层。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
设置模块,用于将所述画布层的类型设置为图形绘制类;在所述图形绘制类的、且用于记录透明度信息的通道中设置透明参数;
所述显示模块,还用于在所述组件层的层级之上添加设置了所述透明参数的画布层。
15.根据权利要求13所述的装置,其特征在于,所述显示模块,还用于调用图形绘制工具;通过所述图形绘制工具在所述画布层上绘制所述虚拟对象并进行显示。
16.根据权利要求12所述的装置,其特征在于,所述检测模块,还用于通过姿态检测模型对所述真实场景图像中的真实对象进行姿态检测;计算处于所述姿态下、且包括目标检测点处于所述真实场景图像中的位置坐标的检测结果;所述目标检测点属于所述真实对象。
17.根据权利要求12所述的装置,其特征在于,所述检测模块,还用于获取安装有姿态检测模型的服务器的网络地址;将所述真实场景图像按照所述网络地址发送给所述服务器,以使所述服务器基于所述姿态检测模型对所述真实场景图像中的真实对象进行姿态检测,计算处于该姿态下、且包括目标检测点处于所述真实场景图像中的位置坐标的检测结果,并进行返回。
18.根据权利要求12所述的装置,其特征在于,所述获取模块,还用于当所述现实画面的格式为图像格式时,读取图像格式的现实画面;将所述现实画面中的无效画面进行去除,得到有效的真实场景图像。
19.根据权利要求12所述的装置,其特征在于,所述获取模块,还用于当所述现实画面的格式为视频格式时,读取所述视频格式的现实画面;将所述现实画面中的无效画面进行去除;对去除所述无效画面后的现实画面进行解码,得到有效的真实场景图像。
20.根据权利要求12所述的装置,其特征在于,所述目标行为包括圆形图绘制行为;
所述确定模块,还用于判断所述圆形运动轨迹是否闭合;若闭合,计算所述圆形半径的第二差值;当所述第二差值小于或等于预设差值时,根据所述圆形运动轨迹确定所述真实对象在执行圆形图绘制行为。
21.根据权利要求12所述的装置,其特征在于,所述目标行为包括直线绘制行为;所述运动轨迹包括直线运动轨迹;
所述确定模块,还用于在所保存的位置坐标中,计算第一位置坐标的坐标值与第二位置坐标的坐标值之间的差值;当所计算的差值大于第一预设差值或小于第二预设差值时,确定所述真实对象的运动轨迹为直线运动轨迹;对所保存的位置坐标进行拟合,得到拟合直线;当所保存的位置坐标与所述拟合直线之间的距离小于或等于预设距离时,确定所述真实对象的运动轨迹为直线运动轨迹;
所述确定模块,还用于依据所述直线运动轨迹确定所述真实对象在执行直线绘制行为。
22.根据权利要求12至21任一项所述的装置,其特征在于,所述交互模块,还用于在变换过程中,获取待显示的第二页面;对所述第二页面中的页面元素进行渲染,得到渲染后的第二页面;将所述第一页面切换到所述渲染后的第二页面。
23.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
24.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
CN202010010124.3A 2020-01-06 2020-01-06 基于增强现实的交互方法、装置、存储介质和计算机设备 Active CN111240476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010010124.3A CN111240476B (zh) 2020-01-06 2020-01-06 基于增强现实的交互方法、装置、存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010010124.3A CN111240476B (zh) 2020-01-06 2020-01-06 基于增强现实的交互方法、装置、存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN111240476A CN111240476A (zh) 2020-06-05
CN111240476B true CN111240476B (zh) 2021-06-08

Family

ID=70879900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010010124.3A Active CN111240476B (zh) 2020-01-06 2020-01-06 基于增强现实的交互方法、装置、存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN111240476B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782035A (zh) * 2020-06-12 2020-10-16 深圳增强现实技术有限公司 一种基于增强现实技术的远程作业指导方法及***
CN112929750B (zh) * 2020-08-21 2022-10-28 海信视像科技股份有限公司 一种摄像头调节方法及显示设备
CN112001050B (zh) * 2020-08-24 2024-01-09 上海电机***节能工程技术研究中心有限公司 设备调试管控方法、装置、电子设备及可读存储介质
CN111953849A (zh) * 2020-08-28 2020-11-17 深圳市慧鲤科技有限公司 展示留言板的方法、装置、电子设备及存储介质
CN112991553B (zh) * 2021-03-11 2022-08-26 深圳市慧鲤科技有限公司 信息展示方法及装置、电子设备和存储介质
CN113095191A (zh) * 2021-04-02 2021-07-09 上海元云信息技术有限公司 一种基于微信小程序的实物场景互动方法
CN113398578B (zh) * 2021-06-03 2023-03-24 Oppo广东移动通信有限公司 游戏数据处理方法、***、装置、电子设备和存储介质
CN114371904B (zh) * 2022-01-12 2023-09-15 北京字跳网络技术有限公司 数据显示方法、装置、移动终端及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103500335A (zh) * 2013-09-09 2014-01-08 华南理工大学 一种基于手势识别的照片拍摄与浏览的方法及其装置
CN106355153A (zh) * 2016-08-31 2017-01-25 上海新镜科技有限公司 一种基于增强现实的虚拟对象显示方法、装置以及***
CN107077169A (zh) * 2014-11-14 2017-08-18 高通股份有限公司 扩增现实中的空间交互
CN108509043A (zh) * 2018-03-29 2018-09-07 联想(北京)有限公司 一种交互控制方法及***
US10137374B2 (en) * 2010-03-30 2018-11-27 Sony Interactive Entertainment America Llc Method for an augmented reality character to maintain and exhibit awareness of an observer
CN108958475A (zh) * 2018-06-06 2018-12-07 阿里巴巴集团控股有限公司 虚拟对象控制方法、装置及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073267B (zh) * 2016-11-10 2020-06-16 腾讯科技(深圳)有限公司 基于运动轨迹的三维控制方法及装置
CN109582144A (zh) * 2018-12-06 2019-04-05 江苏萝卜交通科技有限公司 一种人机交互的手势识别方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10137374B2 (en) * 2010-03-30 2018-11-27 Sony Interactive Entertainment America Llc Method for an augmented reality character to maintain and exhibit awareness of an observer
CN103500335A (zh) * 2013-09-09 2014-01-08 华南理工大学 一种基于手势识别的照片拍摄与浏览的方法及其装置
CN107077169A (zh) * 2014-11-14 2017-08-18 高通股份有限公司 扩增现实中的空间交互
CN106355153A (zh) * 2016-08-31 2017-01-25 上海新镜科技有限公司 一种基于增强现实的虚拟对象显示方法、装置以及***
CN108509043A (zh) * 2018-03-29 2018-09-07 联想(北京)有限公司 一种交互控制方法及***
CN108958475A (zh) * 2018-06-06 2018-12-07 阿里巴巴集团控股有限公司 虚拟对象控制方法、装置及设备

Also Published As

Publication number Publication date
CN111240476A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN111240476B (zh) 基于增强现实的交互方法、装置、存储介质和计算机设备
CN111126272B (zh) 姿态获取方法、关键点坐标定位模型的训练方法和装置
CN111028330B (zh) 三维表情基的生成方法、装置、设备及存储介质
US20210158023A1 (en) System and Method for Generating Image Landmarks
CN110807451B (zh) 人脸关键点检测方法、装置、设备及存储介质
CN110516620A (zh) 目标跟踪方法、装置、存储介质及电子设备
CN110796111B (zh) 图像处理方法、装置、设备及存储介质
Martin et al. Scangan360: A generative model of realistic scanpaths for 360 images
CN110909651A (zh) 视频主体人物的识别方法、装置、设备及可读存储介质
CN111754541A (zh) 目标跟踪方法、装置、设备及可读存储介质
US20220301295A1 (en) Recurrent multi-task convolutional neural network architecture
JP2023548921A (ja) 画像の視線補正方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム
CN113034652A (zh) 虚拟形象驱动方法、装置、设备及存储介质
CN111222486A (zh) 手部姿态识别模型的训练方法、装置、设备及存储介质
CN109035415B (zh) 虚拟模型的处理方法、装置、设备和计算机可读存储介质
CN112116684A (zh) 图像处理方法、装置、设备及计算机可读存储介质
CN111209811A (zh) 一种实时检测眼球注意力位置的方法及***
CN113822965A (zh) 图像渲染处理方法、装置和设备及计算机存储介质
CN112699857A (zh) 基于人脸姿态的活体验证方法、装置及电子设备
Jaeckel et al. Facial behaviour mapping—From video footage to a robot head
Raman et al. Emotion and Gesture detection
CN117557877A (zh) 人物异常行为图像训练样本生成方法、装置和计算机设备
CN112199994A (zh) 一种实时检测rgb视频中的3d手与未知物体交互的方法和装置
CN117037244A (zh) 人脸安全检测方法、装置、计算机设备和存储介质
CN115359265A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40023718

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant