CN112711335B - 虚拟环境画面的显示方法、装置、设备及存储介质 - Google Patents
虚拟环境画面的显示方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112711335B CN112711335B CN202110070087.XA CN202110070087A CN112711335B CN 112711335 B CN112711335 B CN 112711335B CN 202110070087 A CN202110070087 A CN 202110070087A CN 112711335 B CN112711335 B CN 112711335B
- Authority
- CN
- China
- Prior art keywords
- target
- human body
- virtual environment
- action
- 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
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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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
-
- 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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了虚拟环境画面的显示方法、装置、设备及存储介质。方法包括:获取交互对象的目标人体图像,交互对象通过虚拟环境画面与虚拟环境进行交互;对目标人体图像进行人体关键节点识别,以确定目标人体图像对应的目标动作;获取与目标动作匹配的目标虚拟环境画面数据,基于目标虚拟环境画面数据显示目标虚拟环境画面。在此种方式下,目标动作是在交互对象的目标人体图像的基础上利用计算机视觉技术自动确定出的,能够反映出交互对象的真实动作。基于与目标动作匹配的目标虚拟环境画面数据显示出的目标虚拟环境画面与交互对象的真实动作的匹配度高,能够给交互对象带来较好的体验感,有利于提高交互对象与虚拟环境之间的交互率。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种虚拟环境画面的显示方法、装置、设备及存储介质。
背景技术
随着计算机技术的快速发展,越来越多的应用程序能够提供虚拟环境。终端能够显示虚拟环境画面,从而使得交互对象能够通过观看虚拟环境画面,体验到多种多样的虚拟环境。如,地图环境、商场环境、游戏环境等。
相关技术中,终端的显示界面中显示有控制按钮,终端响应于交互对象对控制按钮的触发操作,获取与触发操作匹配的虚拟环境画面数据,进而基于虚拟环境画面数据显示虚拟环境画面。
在上述过程中,虚拟环境画面数据的获取过程具有较低的智能性,灵活性较差,此外,由于终端获取的虚拟环境画面数据是与触发操作匹配的,所以基于虚拟环境画面数据显示出的虚拟环境画面给交互对象带来的体验感较差,交互对象与虚拟环境之间的交互率较低。
发明内容
本申请实施例提供了一种虚拟环境画面的显示方法、装置、设备及存储介质,可用于提高交互对象与虚拟环境之间的交互率。所述技术方案如下:
一方面,本申请实施例提供了一种虚拟环境画面的显示方法,所述方法包括:
获取交互对象的目标人体图像,所述交互对象通过虚拟环境画面与虚拟环境进行交互;
对所述目标人体图像进行人体关键节点识别,以确定所述目标人体图像对应的目标动作;
获取与所述目标动作匹配的目标虚拟环境画面数据,基于所述目标虚拟环境画面数据显示目标虚拟环境画面。
另一方面,提供了一种虚拟环境画面的显示装置,所述装置包括:
第一获取单元,用于获取交互对象的目标人体图像,所述交互对象通过虚拟环境画面与虚拟环境进行交互;
确定单元,用于对所述目标人体图像进行人体关键节点识别,以确定所述目标人体图像对应的目标动作;
第二获取单元,用于获取与所述目标动作匹配的目标虚拟环境画面数据;
显示单元,用于基于所述目标虚拟环境画面数据显示目标虚拟环境画面。
在一种可能实现方式中,所述目标人体图像为所述交互对象的人体视频中除第一帧图像外的其他图像;所述确定单元,用于对所述目标人体图像进行人体关键节点识别,得到目标人体关键节点识别结果;基于所述目标人体关键节点识别结果,得到所述目标人体图像对应的目标姿态数据;提取所述第一帧图像对应的基础姿态数据;基于所述目标姿态数据和所述基础姿态数据之间的比对结果,确定所述目标人体图像对应的目标动作。
在一种可能实现方式中,所述目标姿态数据包括目标腿部高度、目标身体宽度、目标身体高度、目标左脚踝纵坐标和目标右脚踝纵坐标中的至少一个,所述基础姿态数据包括基础腿部高度、基础身体宽度、基础身体高度、基础左脚踝纵坐标和基础右脚踝纵坐标中的至少一个;所述确定单元,还用于响应于所述目标腿部高度小于所述基础腿部高度与第一数值的乘积,确定所述目标动作包括行走;响应于所述目标身体宽度小于所述基础身体宽度与第二数值的乘积,且所述目标左脚踝纵坐标小于所述目标右脚踝纵坐标,确定所述目标动作包括左转;响应于所述目标身体宽度小于所述基础身体宽度与第二数值的乘积,且所述目标左脚踝纵坐标大于所述目标右脚踝纵坐标,确定所述目标动作包括右转;响应于所述目标身体高度小于所述基础身体高度与第三数值的乘积,确定所述目标动作包括蹲下;响应于所述目标左脚踝纵坐标小于所述基础左脚踝纵坐标,且所述目标右脚踝纵坐标小于所述基础右脚踝纵坐标,确定所述目标动作包括跳起。
在一种可能实现方式中,所述第二获取单元,用于基于所述目标动作,确定所述虚拟环境中的虚拟摄像头的目标状态参数;将具有所述目标状态参数的虚拟摄像头采集到的虚拟环境画面数据作为与所述目标动作匹配的目标虚拟环境画面数据。
在一种可能实现方式中,所述目标人体图像为所述交互对象的人体视频中除第一帧图像外的其他图像;所述第二获取单元,还用于响应于所述目标动作满足第一条件,将参考状态参数作为所述虚拟摄像头的目标状态参数,所述参考状态参数为基于参考人体图像确定的所述虚拟摄像头的状态参数,所述参考人体图像为所述交互对象的人体视频中位于所述目标人体图像前一帧的图像;响应于所述目标动作满足第二条件,对所述参考状态参数进行调整,将调整后得到的状态参数作为所述虚拟摄像头的目标状态参数,所述第二条件与所述第一条件不同。
在一种可能实现方式中,所述满足第一条件,包括:所述目标动作不包括行走且所述目标动作与参考动作之间满足匹配条件,所述参考动作为所述参考人体图像对应的动作;所述满足第二条件,包括:所述目标动作包括行走且所述目标动作对应的行走方向为所述虚拟摄像头的可推进方向;或者,所述目标动作不包括行走且所述目标动作与所述参考动作之间不满足所述匹配条件;其中,所述满足匹配条件包括:所述目标动作与所述参考动作完全一致,或者,所述目标动作为站立且所述参考动作为行走。
在一种可能实现方式中,所述第二获取单元,还用于响应于所述目标动作满足第二条件,基于所述目标动作和所述参考动作,确定目标调整方式;按照所述目标调整方式对所述参考状态参数进行调整,将调整后得到的状态参数作为所述虚拟摄像头的目标状态参数。
在一种可能实现方式中,所述显示单元,还用于响应于所述目标动作包括行走且所述目标动作对应的行走方向为所述虚拟摄像头的不可推进方向,显示第一提示信息,所述第一提示信息用于提示所述交互对象调整行走方向。
在一种可能实现方式中,所述装置还包括:
替换单元,用于利用所述目标状态参数替换所述参考状态参数。
在一种可能实现方式中,所述确定单元,还用于获取人体关键节点识别模型;调用所述人体关键节点识别模型对所述目标人体图像进行人体关键节点识别。
在一种可能实现方式中,所述确定单元,还用于对所述交互对象的人体视频中的第一帧图像进行人体关键节点识别,基于基础人体关键节点识别结果得到所述第一帧图像对应的基础姿态数据;
所述装置还包括:
存储单元,用于将所述第一帧图像对应的基础姿态数据进行存储。
在一种可能实现方式中,所述显示单元,还用于响应于摄像头调用请求,显示摄像头调用授权信息;响应于所述摄像头调用授权信息的确认指令,显示第二提示信息,所述第二提示信息用于提示所述交互对象按照参考姿态进行站立;
所述装置还包括:
调用单元,用于响应于所述交互对象按照所述参考姿态进行站立,调用所述目标摄像头采集所述交互对象的人体视频,所述交互对象的人体视频中的第一帧图像通过对按照所述参考姿态进行站立的交互对象进行图像采集得到。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现上述任一所述的虚拟环境画面的显示方法。
另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现上述任一所述的虚拟环境画面的显示方法。
另一方面,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述任一所述的虚拟环境画面的显示方法。
本申请实施例提供的技术方案至少带来如下有益效果:
在本申请实施例中,终端基于与目标动作匹配的目标虚拟环境画面数据显示目标虚拟环境画面,目标动作是依据交互对象的目标人体图像自动确定出的,能够反映出交互对象的真实动作,在此种方式下,目标虚拟环境画面数据的获取过程具有较高的智能性,灵活性较高。此外,由于目标虚拟环境画面数据是与能够反映出交互对象的真实动作的目标动作匹配的,所以显示出的目标虚拟环境画面与交互对象的真实动作的匹配度高,能够给交互对象带来较好的体验感,有利于提高交互对象与虚拟环境之间的交互率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种虚拟环境画面的显示方法的实施环境的示意图;
图2是本申请实施例提供的一种虚拟环境画面的显示方法的流程图;
图3是本申请实施例提供的一种人体关键节点的示意图;
图4是本申请实施例提供的一种对目标人体图像进行人体关键节点识别的示意图;
图5是本申请实施例提供的另一种对目标人体图像进行人体关键节点识别的示意图;
图6是本申请实施例提供的一种对虚拟摄像头的参考状态参数进行调整的过程示意图;
图7是本申请实施例提供的一种虚拟环境画面的显示过程的示意图;
图8是本申请实施例提供的一种地图环境画面的示意图;
图9是本申请实施例提供的一种展馆环境画面的示意图;
图10是本申请实施例提供的一种房屋内部环境画面的示意图;
图11是本申请实施例提供的一种虚拟环境画面的显示装置的示意图;
图12是本申请实施例提供的另一种虚拟环境画面的显示装置的示意图;
图13是本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
对本申请实施例中涉及的若干个名词进行解释:
虚拟环境:应用程序在终端上运行时提供(或显示)的环境,该虚拟环境可以是二维虚拟环境、2.5维虚拟环境或三维虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,也可以是纯虚构的环境。示例性地,本申请实施例中的虚拟环境为三维虚拟环境。终端能够显示虚拟环境画面供用户观看。
getUserMedia:是HTML5(HyperText Markup Language 5,超文本标记语言5)的API(Application Programming Interface,应用程序接口)为用户提供访问硬件设备媒体(摄像头、视频、音频、地理位置等)的接口,基于该接口,用户可以在不依赖任何浏览器插件的条件下访问硬件媒体设备。
MediaDevices.getUserMedia():会提示用户给予使用媒体输入的许可,媒体输入会产生一个MediaStream(媒体流),里面包含了请求的媒体类型的轨道。此媒体流可以包含一个视频轨道(来自硬件或者虚拟视频源,比如相机、视频采集设备和屏幕共享服务等等)、一个音频轨道(同样来自硬件或虚拟音频源,比如麦克风、A/D转换器等等),也可能是其它轨道类型。
TensorFlow:一个端到端开源机器学习平台。它拥有一个全面而灵活的生态***,其中包含各种工具、库和社区资源,可助力研究人员推动先进机器学习技术的发展,并使开发者能够轻松地构建和部署由机器学习提供支持的应用。
PoseNet:能够通过对图像或视频中的人体关键节点进行检测。人体关键节点检测能够使用“编号部位”的格式进行索引,并对部位的探测结果伴随一个信任值。信任值取值范围在0.0至1.0,1.0为最高信任值。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例涉及人工智能技术中的计算机视觉(Computer Vision,CV)技术。计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(Optical Character Recognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D(ThreeDimensional,三维)技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
在示例性实施例中,在对图像进行识别的过程中,还能够利用人工智能技术中的机器学习/深度学习技术。机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供了一种虚拟环境画面的显示方法,请参考图1,其示出了本申请实施例提供的虚拟环境画面的显示方法的实施环境的示意图。该实施环境包括:终端101。
终端101安装有能够提供虚拟环境的应用程序。本申请实施例对能够提供虚拟环境的应用程序的类型不加以限定,示例性地,能够提供虚拟环境的应用程序是指游戏类应用程序、虚拟现实(Virtual Reality,VR)类应用程序、增强现实(Augmented Reality,AR)类应用程序、三维地图程序、社交类应用程序、互动娱乐类应用程序等。
终端101能够显示虚拟环境画面。在显示虚拟环境画面的过程中,终端101能够获取交互对象的目标人体图像,依据目标人体图像,确定目标人体图像对应的目标动作;然后获取与目标动作匹配的目标虚拟环境画面数据,基于目标虚拟环境画面数据显示目标虚拟环境画面。
在一种可能实现方式中,终端101是智能手机、平板电脑、笔记本电脑或台式电脑。终端101可以泛指多个终端中的一个。本领域技术人员应能理解上述终端101仅为举例,其他现有的或今后可能出现的终端如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
基于上述图1所示的实施环境,本申请实施例提供一种虚拟环境画面的显示方法,以该方法应用于终端101为例。如图2所示,本申请实施例提供的方法包括如下步骤201至步骤203。
在步骤201中,获取交互对象的目标人体图像,交互对象通过虚拟环境画面与虚拟环境进行交互。
交互对象是指终端的使用用户,在本申请实施例中,交互对象能够通过虚拟环境画面与虚拟环境进行交互。虚拟环境由终端中的目标应用程序提供,也就是说,交互对象能够通过虚拟环境画面与目标应用程序提供的虚拟环境进行交互。本申请实施例对交互对象与虚拟环境进行交互的目的不加以限定,示例性地,交互对象与虚拟环境进行交互的目的为:交互对象通过与虚拟环境进行交互了解虚拟环境中的各个环境元素的情况。例如,虚拟环境为房屋内部环境,则交互对象与虚拟环境进行交互的目的为:交互对象通过与房屋内部环境进行交互了解房屋中的各个房间的情况,如,房间数量、房间布局等。
示例性地,终端基于虚拟环境画面数据显示虚拟环境画面,虚拟环境画面数据是指虚拟环境中的虚拟摄像头采集到的数据。需要说明的是,本申请实施例对虚拟环境中的虚拟摄像头的类型以及数量不加以限定,可以由虚拟环境的开发者进行灵活设定。
本申请实施例对提供虚拟环境的目标应用程序的类型不加以限定。示例性地,目标应用程序的类型包括但不限于:游戏类应用程序、虚拟现实(Virtual Reality,VR)类应用程序、增强现实(Augmented Reality,AR)类应用程序、三维地图程序、社交类应用程序以及互动娱乐类应用程序。在示例性实施例中,目标应用程序还可能是提供虚拟环境的浏览器,示例性地,Web(网页)浏览器。
不同类型的目标应用程序提供的虚拟环境的类型不同,本申请实施例对虚拟环境的类型不加以限定。示例性地,虚拟环境包括但不限于:地图环境、游戏环境、商城环境、展馆环境和房屋内部环境。示例性地,地图环境是对真实的地图环境进行线上处理后得到的环境,地图环境能够使交互对象对某一位置的周围设施进行全面了解,地图环境能够由三维地图程序提供。游戏环境为游戏的开发者预先设定的供虚拟对象进行活动的环境,游戏环境能够由游戏类应用程序提供。
示例性地,商城环境是将真实的商城图片渲染到3D空间后得到的环境,商城环境能够满***互对象线上浏览商城的需求;展馆环境是将真实的展馆图片渲染到3D空间后得到的环境,展馆环境能够满***互对象线上游览展馆的需求;房屋内部环境是将真实的房屋图片渲染到3D空间后得到的环境,房屋内部环境能够满***互对象线上看房的需求。在示例性实施例中,商城环境、展馆环境和房屋内部环境由虚拟现实类应用程序或增强现实类应用程序提供。
交互对象的目标人体图像从交互对象的人体视频中获取。在一种可能实现方式中,获取交互对象的人体视频的过程包括以下步骤1至步骤3:
步骤1:响应于摄像头调用请求,显示摄像头调用授权信息。
摄像头调用请求用于指示需要调用终端上的摄像头。本申请实施例对摄像头调用请求的获取方式不加以限定。在一种可能实现方式中,终端在满足调用时机时,自动获取摄像头调用请求。调用条件根据经验设置,或者根据目标应用程序提供虚拟环境的方式灵活调整,本申请实施例对此不加以限定。示例性,调用时机是指终端显示目标应用程序提供的虚拟环境的第一帧虚拟环境画面时。示例性地,调用时机还可能是终端成功启动目标应用程序时。
在另一种可能实现方式中,终端根据交互对象产生的摄像头调用指令,获取摄像头调用请求。本申请实施例对交互对象产生摄像头调用指令的方式不加以限定。示例性地,交互对象产生摄像头调用指令的方式为:交互对象触发摄像头调用控件。交互对象能够在想要利用自身的动作控制显示出的虚拟环境画面时,触发摄像头调用控件。
终端在获取摄像头调用请求后,显示摄像头调用授权信息,以获取交互对象对摄像头调用授权信息的反馈,进而根据交互对象对摄像头调用授权信息的反馈决定是否继续执行后续步骤,以保证交互对象的隐私安全。在一种可能实现方式中,显示摄像头调用授权信息的过程基于HTML5中的MediaDevices.getUserMedia()方法实现。
在显示摄像头调用授权信息之后,交互对象能够对摄像头调用授权信息产生反馈。交互对象对摄像头调用授权信息产生的反馈包括两种情况:交互对象确认摄像头调用授权信息,或者,交互对象拒绝摄像头调用授权信息。当交互对象确认摄像头调用授权信息时,终端获取摄像头调用授权信息的确认指令,执行步骤2;当交互对象拒绝摄像头调用授权信息时,终端获取摄像头调用授权信息的拒绝指令,此种情况下,终端无法继续执行本申请实施例提供的虚拟环境画面的显示方法。
步骤2:响应于摄像头调用授权信息的确认指令,显示第二提示信息,第二提示信息用于提示交互对象按照参考姿态进行站立。
在获取到摄像头调用授权信息的确认指令后,显示第二提示信息。第二提示信息为用于提示交互对象按照参考姿态进行站立的信息。参考姿态根据经验设置,或者根据应用场景灵活调整,本申请实施例对此不加以限定。示例性地,参考姿态是指一个指定的正面姿态。此外,本申请实施例对第二提示信息的表示形式不加以限定,示例性地,第二提示信息的表示形式为文字;或者,第二提示信息的表示形式为与参考姿态匹配的参考人体虚线图。
在显示第二提示信息后,交互对象根据第二提示信息,调整自身的姿态,以按照参考姿态进行站立。参考姿态为便于计算交互对象的基础姿态数据的姿态,交互对象的基础姿态数据用于为确定各个人体图像对应的动作的过程提供数据支持。
步骤3:响应于交互对象按照参考姿态进行站立,调用目标摄像头采集交互对象的人体视频,所述交互对象的人体视频中的第一帧图像通过对按照参考姿态进行站立的交互对象进行图像采集得到。
在确定交互对象按照参考姿态进行站立时,终端调用目标摄像头采集交互对象的人体视频。此种情况下,交互对象的人体视频中的第一帧图像为目标摄像头对按照参考姿态进行站立的交互对象进行图像采集后得到的图像。需要说明的是,交互对象按照参考姿态进行站立之后,能够调整姿态,也就是说,人体视频中除第一帧图像外的其他图像可能为对调整姿态后的交互对象进行图像采集后得到的图像。
需要进一步说明的是,此处调用的用于采集交互对象的人体视频的摄像头是指终端上的物理摄像头,相比于虚拟环境中的虚拟摄像头,此处调用的摄像头为终端上真实存在的摄像头,为与虚拟环境中的虚拟摄像头相区分,将此处调用的摄像头称为目标摄像头。本申请实施例对目标摄像头的数量以及目标摄像头在终端上的位置均不加以限定,根据终端的类型不同可能有所不同。
交互对象的人体视频是指目标摄像头通过对交互对象进行连续的图像采集得到的,交互对象的人体视频由多帧图像构成。在一种可能实现方式中,在调用目标摄像头采集交互对象的人体视频之前,终端先创建视频(video)标签,初始化视频标签,然后将目标摄像头采集到的人体视频的视频流(steam)绑定到该视频标签上。示例性地,将目标摄像头采集到的人体视频的视频流(steam)绑定到该视频标签上的过程通过video.srcObject=steam实现。
在一种可能实现方式中,在调用目标摄像头采集交互对象的人体视频的过程中,终端能够依次显示目标摄像头采集到的交互对象的每帧人体图像,以使交互对象查看。
在一种可能实现方式中,在调用目标摄像头采集交互对象的人体视频的过程中,创建与目标摄像头的采集帧频一致的时序控制器,该时序控制器用于确定应该将人体视频中的哪帧图像作为交互对象的目标人体图像。目标人体图像是指当前需要进行人体关键节点识别的一帧图像。示例性地,目标人体图像是指人体视频中未执行过人体关键节点识别操作的至少一帧图像中的第一帧图像。
在示例性实施例中,对目标人体图像进行人体关键节点识别操作的过程不会对调用目标摄像头采集人体视频的过程产生干扰,二者可以同时执行。示例性地,若终端执行对目标人体图像进行人体关键节点识别操作的效率足够高,则目标人体图像为人体视频中最新一帧图像。示例性地,若终端执行对目标人体图像进行人体关键节点识别操作的效率较低,则目标人体图像是人体视频中未执行过人体关键节点识别操作的多帧图像中的第一帧图像。
在本申请实施例中,目标人体图像是指交互对象的人体视频中除第一帧图像外的其他图像。需要说明的是,随着时间的推进,人体视频中除第一帧图像外的各帧图像会依次作为执行本申请实施例所需的目标人体图像,本申请实施例仅从一张目标人体图像的角度介绍虚拟环境画面的显示方法。
人体视频中的第一帧图像是指目标摄像头对按照参考姿态进行站立的交互对象进行图像采集得到图像,在第一帧图像下,终端基于默认虚拟环境画面数据显示默认虚拟环境画面,默认虚拟环境画面数据是指具有默认状态参数的虚拟摄像头采集到的数据。默认状态参数由虚拟环境的开发者根据经验设置,本申请实施例对此不加以限定。
在步骤202中,对目标人体图像进行人体关键节点识别,以确定目标人体图像对应的目标动作。
在获取交互对象的目标人体图像后,对目标人体图像进行人体关键节点识别。通过对目标人体图像进行人体关键节点识别,能够确定出目标人体图像对应的目标动作。目标人体图像对应的目标动作用于指示在目标人体图像的采集时刻,交互对象具有的动作,也就是说,目标动作能够反映出交互对象的真实动作。在本申请实施例中,能够根据交互对象不断变化的动作不断获取与不同的动作匹配的不同的虚拟环境画面数据,进而显示不同的虚拟环境画面,所以能够起到根据交互对象的动作更新显示出的虚拟环境画面的效果。
人体关键节点是指用于能够体现出人体姿态特征的节点,本申请实施例对人体关键节点的数量以及具体类型不加以限定,可以根据经验进行设置,示例性地,如图3所示,人体关键节点的数量为17个,分别为左眼31、右眼32、左耳33、右耳34、鼻子35、左肩36、右肩37、左肘38、右肘39、左手腕310、右手腕311、左髋312、右髋313、左膝314、右膝315、左脚踝316和右脚踝317。
在一种可能实现方式中,对目标人体图像进行人体关键节点识别的过程为:获取人体关键节点识别模型;调用人体关键节点识别模型对目标人体图像进行人体关键节点识别。
人体关键节点识别模型用于在图像中识别出人体关键节点,本申请实施例对人体关键节点识别模型的类型不加以限定,只要能够在图像中识别出人体关键节点即可。示例性地,人体关键节点识别模型为PoseNet(姿态网络)模型。示例性地,PoseNet可以依据多种不同的模型结构实现,例如,ResNet50(残差网络50),或者MobileNet(移动网络)。
需要说明的是,此步骤202中涉及的获取人体关键节点识别模型的过程可以是指利用训练数据对初始的人体关键节点识别模型进行训练,得到训练好的人体关键节点识别模型;还可以是指获取预先下载的人体关键节点识别模型,本申请实施例对此不加以限定。本申请实施例以人体关键节点识别模型是指终端预先下载的人体关键节点识别模型为例进行说明,此种方式能够提高对图像进行人体关键节点识别的效率。
在示例性实施例中,人体关键节点识别模型为PoseNet模型。PoseNet模型是指Tensorflow平台中训练好的人体关键节点识别模型,终端可以通过初始化Tensorflow平台来预先下载PoseNet模型。
在获取人体关键节点识别模型后,调用人体关键节点识别模型对目标人体图像进行人体关键节点识别。在一种可能实现方式中,人体关键节点识别模型是指PoseNet模型,PoseNet模型是指Tensorflow平台中训练好的人体关键节点识别模型,调用PoseNet模型对目标人体图像进行人体关键节点识别的过程通过将目标人体图像传递给Tensorflow平台中的PoseNet模型调用接口实现,示例性地,该接口为estimatePoses(估计姿态)接口。示例性地,调用PoseNet模型对目标人体图像进行人体关键节点识别的过程依据下述代码实现:
在一种可能实现方式中,目标人体图像为交互对象的人体视频中除第一帧图像外的其他图像。对目标人体图像进行人体关键节点识别,以确定目标人体图像对应的目标动作的过程包括以下步骤2021至步骤2024:
步骤2021:对目标人体图像进行人体关键节点识别,得到目标人体关键节点识别结果。
在对目标人体图像进行人体关键节点识别后,能够得到目标人体关键节点识别结果。目标人体关键节点识别结果用于指示人体关键节点在目标人体图像中的位置,示例性地,目标人体关键节点识别结果还用于指示人体关键节点的识别信任值。本申请实施例对人体关键节点识别结果的表示形式不加以限定。
示例性地,目标人体关键节点识别结果中包括综合信任值以及各个人体关键节点分别对应的子数据。每个人体关键节点对应的子数据包括该人体关键节点在目标人体图像中的位置信息以及该人体关键节点的识别信任值。示例性地,人体关键节点在目标人体图像中的位置信息利用平面坐标的形式表示。平面坐标是在平面坐标系下的坐标,在示例性实施例中,平面坐标系的坐标原点位于目标人体图像的左上角处,平面坐标系的横轴正方向为水平向右的方向,平面坐标系的纵轴正方向为垂直向下的方向。
示例性地,目标人体关键节点识别结果如下所示:
根据上述目标人体关键节点识别结果可知,对目标人体图像进行人体关键节点识别的综合信任值为0.32371445304906;人体关键节点鼻子的识别信任值为0.99539834260941,人体关键节点鼻子在目标人体图像中的平面坐标(x,y)=(253.36747741699,76.291801452637);人体关键节点左眼的识别信任值为0.99345678260941,人体关键节点鼻子在目标人体图像中的平面坐标(x,y)=(253.54365539551,71.10383605957)。
示例性地,对目标人体图像进行人体关键节点识别的示意图如图4所示。通过对目标人体图像进行人体关键节点识别,能够识别出目标人体图像中各个人体关键节点。
需要说明的是,本申请实施例仅以目标人体图像中仅包括一个交互对象为例进行说明。在示例性实施例中,对于目标人体图像包括多个交互对象的情况,人体关键节点识别模型能够分别识别出属于各个交互对象的人体关键节点。如图5中的(1)所示,目标人体图像中包括三个交互对象,人体关键节点识别模型能够分别识别出属于这三个交互对象的人体关键节点,如图5中的(2)所示。
步骤2022:基于目标人体关键节点识别结果,得到目标人体图像对应的目标姿态数据。
在得到目标人体关键节点识别结果后,能够对目标人体关键节点识别结果进行分析处理,以得到目标人体图像对应的目标姿态数据。目标人体图像对应的目标姿态数据用于为后续确定目标人体图像对应的目标动作提供数据支持,也就是说,目标姿态数据中包括确定目标动作所需的数据。
在示例性实施例中,目标姿态数据包括目标腿部高度、目标身体宽度、目标身体高度、目标左脚踝纵坐标和目标右脚踝纵坐标中的至少一个。其中,目标左脚踝纵坐标和目标右脚踝纵坐标可以根据目标人体关键节点识别结果中包括的左脚踝以及右脚踝的位置信息指示的纵坐标直接确定。需要说明的是,本申请实施例中涉及的目标人体关键节点识别结果中的坐标均是指平面坐标系下的坐标,平面坐标系的坐标原点位于目标人体图像的左上角处,平面坐标系的横轴正方向为水平向右的方向,平面坐标系的纵轴正方向为垂直向下的方向。
接下来,对目标腿部高度、目标身体宽度和目标身体高度的确定方式分别进行介绍。
目标腿部高度的确定方式:根据目标人体关键节点识别结果中包括的左髋和左脚踝的位置信息,计算左髋和左脚踝之间的第一垂直距离;根据目标人体关键节点识别结果中包括的右髋和右脚踝的位置信息,计算右髋和右脚踝之间的第二垂直距离;将第一垂直距离和第二垂直距离的平均值作为目标腿部高度。
目标身体宽度的确定方式:根据目标人体关键节点识别结果中包括的左肩和右肩的位置信息,计算左肩和右肩之间的距离,将左肩和右肩之间的距离作为目标身体宽度。示例性地,左肩和右肩之间的距离是指左肩所在位置与右肩所在位置之间的直线距离。
目标身体高度的确定方式:根据目标人体关键节点识别结果中包括的左肩和右肩的位置信息,计算目标左肩纵坐标和目标右肩纵坐标的第一平均值;根据目标人体关键节点识别结果中包括的左脚踝和右脚踝的位置信息,计算目标左脚踝纵坐标和目标右脚踝纵坐标的第二平均值;将第一平均值和第二平均值之间的差值的绝对值作为目标身体高度。利用公式表示即为:
其中,bodyHeight表示目标身体高度;left_shoulde.y表示目标左肩纵坐标;right_shoulde.y表示目标右肩纵坐标;left_ankle.y表示目标左脚踝纵坐标;right_ankle.y表示目标右脚踝纵坐标。
需要说明的是,目标左肩纵坐标是指目标人体关键节点识别结果中包括的左肩的位置信息指示的纵坐标;目标右肩纵坐标是指目标人体关键节点识别结果中包括的右肩的位置信息指示的纵坐标;目标左脚踝纵坐标是指目标人体关键节点识别结果中包括的左脚踝的位置信息指示的纵坐标;目标右脚踝纵坐标是指目标人体关键节点识别结果中包括的右脚踝的位置信息指示的纵坐标。
在示例性实施例中,目标姿态数据还可能包括其他数据,本申请实施例对此不加以限定。例如,目标姿态数据还包括手臂前后臂长度、腿的大小腿长度和眼睛宽度等。
手臂前后臂长度包括左手臂前后臂长度和右手臂前后臂长度,左手臂前后臂长度包括左手臂前臂长度和左手臂后臂长度,左手臂前臂长度用于指示左手腕到左肘之间的距离,左手臂后臂长度用于指示左肘到左肩之间的距离;右手臂前后臂长度包括右手臂前臂长度和右手臂后臂长度,右手臂前臂长度用于指示右手腕到右肘之间的距离,右手臂后臂长度用于指示右肘到右肩之间的距离。
腿的大小腿长度包括左腿大小腿长度和右腿大小腿长度,左腿大小腿长度包括左腿大腿长度和左腿小腿长度,左腿大腿长度用于指示左髋到左膝之间的距离,左腿小腿长度用于指示左膝到左脚踝之间的距离;右腿大小腿长度包括右腿大腿长度和右腿小腿长度,右腿大腿长度用于指示右髋到右膝之间的距离,右腿小腿长度用于指示右膝到右脚踝之间的距离。眼睛宽度用于指示左眼和右眼之间的距离。
根据上述分析可知,在得到包括各个人体关键节点的子数据的目标人体关键节点识别结果后,通过对目标人体关键节点识别结果指示出的各个人体关键节点的位置信息进行分析,即可得到人体关键节点之间的位置关系,从而得到目标人体图像对应的目标姿态数据。
步骤2023:提取第一帧图像对应的基础姿态数据。
第一帧图像对应的基础姿态数据是在调用目标摄像头采集交互对象的人体视频的过程中,对人体视频中的第一帧图像进行人体关键节点识别得到的,由于第一帧图像是通过对按照参考姿态进行站立的交互对象进行图像采集得到,所以将对第一帧图像进行人体关键节点识别得到的姿态数据作为基础姿态数据,该基础姿态数据用于为确定目标人体图像对应的目标动作的过程提供数据支持。
在该步骤2023中,直接提取第一帧图像对应的基础姿态数据。也就是说,在执行步骤2023之前,还包括:对交互对象的人体视频中的第一帧图像进行人体关键节点识别,基于基础人体关键节点识别结果得到第一帧图像对应的基础姿态数据;将第一帧图像对应的基础姿态数据进行存储。对交互对象的人体视频中的第一帧图像进行人体关键节点识别,基于基础人体关键节点识别结果得到第一帧图像对应的基础姿态数据的实现过程参见步骤2021和步骤2022,此处不再赘述。在得到第一帧图像对应的基础姿态数据后,将第一帧图像对应的基础姿态数据进行存储,以便于后续需要基于基础姿态数据确定目标人体图像对应的目标动作时,直接提取存储的基础姿态数据。
步骤2024:基于目标姿态数据和基础姿态数据之间的比对结果,确定目标人体图像对应的目标动作。
基础姿态数据是对人体视频中的第一帧图像进行人体关键节点识别得到的,第一帧图像为通过对按照参考姿态进行站立的交互对象进行图像采集得到图像,参考姿态可视为基础姿态。因此,通过将目标姿态数据与基础姿态数据进行比对,能够确定出目标人体图像中的人体的姿态与参考姿态之间的差异,进而确定目标人体图像对应的目标动作。
在示例性实施例中,将人体视频中的第一帧图像对应的动作称为站立。任何一张目标人体图像对应的目标动作均是在站立的基础上演化来的。
在一种可能实现方式中,目标姿态数据包括目标腿部高度、目标身体宽度、目标身体高度、目标左脚踝纵坐标和目标右脚踝纵坐标中的至少一个,基础姿态数据包括基础腿部高度、基础身体宽度、基础身体高度、基础左脚踝纵坐标和基础右脚踝纵坐标中的至少一个。在此种情况下,基于目标姿态数据和基础姿态数据之间的比对结果,确定目标人体图像对应的目标动作包括但不限于以下四种情况:
情况1:响应于目标腿部高度小于基础腿部高度与第一数值的乘积,确定目标动作包括行走。
第一数值为小于第一参考值的正数,示例性地,第一参考值为1。第一数值根据经验设置,或者根据应用场景灵活调整,本申请实施例对此不加以限定,示例性地,第一数值为0.3。
示例性地,将目标腿部高度表示为newBigKneelLength,将基础腿部高度表示为oriBigKneelLength,将第一数值表示为n1,则响应于newBigKneelLength<oriBigKneelLength*n1,确定目标动作包括行走。需要说明的是,目标动作包括行走可能是指目标动作仅包括行走,也可能是指目标动作除包括行走外,还包括其他与行走非互斥的动作,本申请实施例对此不加以限定。
情况2:响应于目标身体宽度小于基础身体宽度与第二数值的乘积,且目标左脚踝纵坐标小于目标右脚踝纵坐标,确定目标动作包括左转;响应于目标身体宽度小于基础身体宽度与第二数值的乘积,且目标左脚踝纵坐标大于目标右脚踝纵坐标,确定目标动作包括右转。
第二数值为小于第二参考值的正数,第二参考值与第一参考值相同,或不同,示例性地,第二参考值为1。第二数值根据经验设置,或者根据应用场景灵活调整,本申请实施例对此不加以限定,示例性地,第二数值为0.5。此外,第二数值可能与第一数值相同,也可能与第一数值不同,本申请实施例对此不加以限定。
示例性地,将目标身体宽度表示为newBodyWidth,将基础身体宽度表示为oriBodyWidth,将第二数值表示为n2,将目标左脚踝纵坐标表示为left_ankle.y,将目标右脚踝纵坐标表示为right_ankle.y。此种情况下,当newBodyWidth<oriBodyWidth*n2,且varankle_dy<0时,确定目标动作包括左转;当newBodyWidth<oriBodyWidth*n2,且varankle_dy>0时,确定目标动作包括右转。其中,varankle_dy=left_ankle.y-right_ankle.y,left_ankle.y表示目标左脚踝纵坐标,right_ankle.y表示目标右脚踝纵坐标。
情况3:响应于目标身体高度小于基础身体高度与第三数值的乘积,确定目标动作包括蹲下。
第三数值为小于第三参考值的正数,第三参考值与第一参考值或第二参考值相同,或者,第三参考值与第一参考值和第二参考值均不同,示例性地,第三参考值为1。第三数值根据经验设置,或者根据应用场景灵活调整,本申请实施例对此不加以限定,示例性地,第三数值为0.7。此外,第二数值可能与第一数值或第二数值相同,也可能与第一数值和第二数值均不同,本申请实施例对此不加以限定。
示例性地,将目标身体高度表示为newBodyHeight,将基础身体高度表示为oriBodyHeight,将第三数值表示为n3,则当newBodyHeight<oriBodyHeight*n3时,确定目标动作包括蹲下。
情况4:响应于目标左脚踝纵坐标小于基础左脚踝纵坐标,且目标右脚踝纵坐标小于基础右脚踝纵坐标,确定目标动作包括跳起。
示例性地,将目标左脚踝纵坐标表示为left_ankle.y,将基础左脚踝纵坐标表示为left_ankle.y’,将目标右脚踝纵坐标表示为right_ankle.y,将基础右脚踝纵坐标表示为right_ankle.y’,则当rightankle_dy<0且leftankle_dy<0时,确定目标动作包括跳起。其中,rightankle_dy=left_ankle.y-left_ankle.y’,leftankle_dy=right_ankle.y-right_ankle.y’。
在一种可能实现方式中,若目标姿态数据与基础姿态数据相同,或者目标姿态数据与基础姿态数据的差异程度小于程度阈值,将站立作为目标人体图像对应的目标动作。
在示例性实施例中,若根据目标姿态数据无法准确确定出目标动作为上述哪种情况,则认为在目标人体图像的采集时刻,交互对象正处于变换动作的过渡状态,示例性地,此种情况下,认为目标人体图像对应的目标动作与人体视频中位于目标人体图像前一帧的图像对应的动作相同,也即,将人体视频中位于目标人体图像前一帧的图像对应的动作作为目标人体图像对应的目标动作。
需要说明的是,站立、蹲下、跳起、左转、右转和行走中存在互斥的动作,如,蹲下和跳起;也存在非互斥的动作,如,左转和行走。目标动作中可能包括一种或多种非互斥的动作,本申请实施例对此不加以限定。需要进一步说明的是,由于各种动作均是在站立的基础上演化来的,所以站立与其他动作均互斥,也就是说,当目标动作包括站立时,目标动作不会包括其他动作,也即,目标动作仅包括站立。在本申请实施例中,若目标动作仅包括站立,则称为目标动作为站立。
在步骤203中,获取与目标动作匹配的目标虚拟环境画面数据,基于目标虚拟环境画面数据显示目标虚拟环境画面。
在确定目标人体图像对应的目标动作后,获取与目标动作匹配的目标虚拟环境画面数据,然后基于目标虚拟环境画面数据显示目标虚拟环境画面,能够给交互对象一种沉浸式的视觉感受。
在一种可能实现方式中,获取与目标动作匹配的目标虚拟环境画面数据的过程为:基于目标动作,确定虚拟环境中的虚拟摄像头的目标状态参数;将具有目标状态参数的虚拟摄像头采集到的虚拟环境画面数据作为与目标动作匹配的目标虚拟环境画面数据。
目标状态参数是指虚拟摄像头具有的与目标动作匹配的状态参数,具有目标状态参数的虚拟摄像头采集到的虚拟环境画面数据可视为与目标动作匹配的虚拟环境画面数据。
在一种可能实现方式中,基于目标动作,确定虚拟环境中的虚拟摄像头的目标状态参数的过程为:响应于目标动作满足第一条件,将参考状态参数作为虚拟摄像头的目标状态参数,参考状态参数为基于参考人体图像确定的虚拟摄像头的状态参数,参考人体图像为交互对象的人体视频中位于目标人体图像前一帧的图像;响应于目标动作满足第二条件,对参考状态参数进行调整,将调整后得到的状态参数作为虚拟摄像头的目标状态参数。其中,第二条件与第一条件不同。
参考人体图像是指交互对象的人体视频中位于目标人体图像前一帧的图像,参考状态参数是指基于参考人体图像确定的虚拟摄像头的状态参数。也就是说,在基于目标人体图像确定虚拟摄像头的目标状态参数之前,已经预先获取了基于交互对象的人体视频中位于目标人体图像前一帧的参考人体图像确定的虚拟摄像头的状态参数。参考状态参数为在对目标人体图像进行处理之前,虚拟摄像头具有的最新状态参数。
第一条件是指无需调整虚拟摄像头的状态参数的条件,当目标动作满足第一条件时,说明无需对参考状态参数进行调整,也即,直接将参考状态参数作为虚拟摄像头的目标状态参数;第二条件是指需要调整虚拟摄像头的状态参数的条件,当目标动作参数满足第二条件时,说明需要对参考状态参数进行调整,也即,将对参考状态参数进行调整后得到的状态参数作为虚拟摄像头的目标状态参数。
在一种可能实现方式中,满足第一条件,包括:目标动作不包括行走且目标动作与参考动作之间满足匹配条件,参考动作为参考人体图像对应的动作。满足第二条件,包括:目标动作包括行走且目标动作对应的行走方向为虚拟摄像头的可推进方向;或者,目标动作不包括行走且目标动作与参考动作之间不满足匹配条件。
满足匹配条件说明在目标动作不包括行走的前提下,从参考动作变换到目标动作,无需调整虚拟摄像头的状态参数的条件。在一种可能实现方式中,满足匹配条件是指:目标动作与参考动作完全一致,或者,目标动作为站立且参考动作为行走。
当目标动作包括行走时,需要判断目标动作对应的行走方向是否为虚拟摄像头的可推进方向。目标动作对应的行走方向是根据目标动作确定的。示例性地,目标动作包括行走包括三种情况:目标动作仅包括行走(也即目标动作为行走);目标动作包括行走和左转;目标动作包括行走和右转。在不同的情况下,目标动作对应的行走方向也不同。
示例性地,若目标动作仅包括行走,则目标动作对应的行走方向为虚拟摄像头的默认朝向方向;若目标动作包括行走和左转,则目标动作对应的行走方向是指根据左转的动作对虚拟摄像头的默认朝向方向进行调整后得到的朝向方向;若目标动作包括行走和右转,则目标动作对应的行走方向是指根据右转的动作对虚拟摄像头的默认朝向方向进行调整后得到的朝向方向。
在确定出目标动作对应的行走方向后,即可判断目标动作对应的行走方向是否为虚拟摄像头的可推进方向,判断方式为:若虚拟摄像头向目标动作对应的行走方向推进参考距离的过程中会碰到障碍物,则确定目标动作对应的行走方向为虚拟摄像头的不可推进方向;若虚拟摄像头向目标动作对应的行走方向推进参考距离的过程中不会碰到障碍物,则确定目标动作对应的行走方向为虚拟摄像头的可推进方向。
需要说明的是,在参考状态参数下,虚拟摄像头的朝向方向可能与目标动作对应的行走方向相同,也可能与目标动作对应的行走方向不同,这与参考动作以及目标动作的实际情况有关,本申请实施例对此不加以限定。
在一种可能实现方式中,虚拟摄像头的状态参数包括高度、平面位置和朝向方向。高度和平面位置用于指示虚拟摄像头在虚拟环境中的空间位置,朝向方向用于指示虚拟摄像头在虚拟环境中的采集方向。在本申请实施例中,虚拟摄像头的目标状态参数包括目标高度、目标平面位置和目标朝向方向;虚拟摄像头的参考状态参数包括参考高度、参考平面位置和参考朝向方向。对参考状态参数进行调整可以是指对参考高度、参考平面位置和参考朝向方向中的一个或多个参数进行调整。
在一种可能实现方式中,响应于目标动作满足第二条件,对参考状态参数进行调整,将调整后得到的状态参数作为虚拟摄像头的目标状态参数的实现方式为:响应于目标动作满足第二条件,基于目标动作和参考动作,确定目标调整方式;按照目标调整方式对参考状态参数进行调整,将调整后得到的状态参数作为虚拟摄像头的目标状态参数。
目标调整方式是通过对目标动作和参考动作进行分析确定出的与目标动作和参考动作匹配的调整方式。目标调整方式与目标动作和参考动作的具体情况有关,在目标动作和参考动作的不同情况下,确定出的目标调整方式也不同,本申请实施例对此不加以限定。接下来,以具体举例的方式,介绍目标调整方式、目标动作和参考动作之间的关系。
示例性地,当目标动作为蹲下,参考动作为站立时,目标调整方式为:将参考状态参数中的参考高度减小第一高度,保持参考状态参数中的其他参数不变。第一高度根据经验设置,或者根据应用场景灵活调整,本申请实施例对此不加以限定。
示例性地,当目标动作为跳起,参考动作为站立时,目标调整方式为:将参考状态参数中的参考高度增加第二高度,保持参考状态参数中的其他参数不变。第二高度根据经验设置,或者根据应用场景灵活调整,本申请实施例对此不加以限定。第二高度可能与第一高度相同,也可能不同。
示例性地,当目标动作为左转,参考动作为站立时,目标调整方式为:将参考状态参数中的参考朝向方向向左旋转第一角度,保持参考状态参数中的其他参数不变。第一角度根据经验设置,或者根据应用场景灵活调整,本申请实施例对此不加以限定。
示例性地,当目标动作为右转,参考动作为站立时,目标调整方式为:将参考状态参数中的参考朝向方向向右旋转第二角度,保持参考状态参数中的其他参数不变。第二角度根据经验设置,或者根据应用场景灵活调整,本申请实施例对此不加以限定。第二角度可能与第一角度相同,也可能不同。
示例性地,当目标动作为行走且行走方向为虚拟摄像头的可推进方向、参考动作为站立时,目标调整方式为:将参考状态参数中的参考平面位置向行走方向推进参考距离,保持参考状态参数中的其他参数不变。参考距离根据经验设置,或者根据应用场景灵活调整,本申请实施例对此不加以限定。示例性地,参考距离是指参考速度和参考时长的乘积,参考速度和参考时长根据经验设置。
需要说明的是,以上所述仅为目标调整方式、目标动作和参考动作之间的关系的示例性描述,本申请实施例并不局限于此,在示例性实施例中,目标调整方式、目标动作和参考动作之间的关系还可以为其他情况,本申请实施例不再一一介绍。
在一种可能实现方式中,当目标动作包括行走且目标动作对应的行走方向为虚拟摄像头的不可推进方向时,显示第一提示信息,第一提示信息用于提示交互对象调整行走方向。也就是说,若确定目标动作对应的行走方向为虚拟摄像头的不可推进方向,则及时提示交互对象调整行走方向,以保证交互对象与虚拟环境的交互体验。本申请实施例对第一提示信息的表示形式不加以限定,示例性地,第一提示信息以文字弹窗的形式进行表示。
在示例性实施例中,对于目标动作包括行走且目标动作对应的行走方向为虚拟摄像头的不可推进方向的情况,虚拟摄像头的目标状态参数中的目标平面位置与参考状态参数中的参考平面位置一致,也就是说,保证虚拟摄像头的参考平面位置不变。在示例性实施例中,若参考动作为站立,目标动作为行走,则在目标动作对应的行走方向为虚拟摄像头的不可推进方向的情况下,除参考平面位置保持不变外,其他参考也保持不变,也即,保持虚拟摄像头不动。
在一种可能实现方式中,对于虚拟摄像头的目标状态参数为对参考状态参数进行调整后得到的状态参数的情况,在确定虚拟摄像头的目标状态参数后,利用目标状态参数替换参考状态参数,以及时记录虚拟摄像头的最新状态参数,为后续对虚拟摄像头的状态参数的调整奠定数据基础。
示例性地,对虚拟摄像头的参考状态参数进行调整的过程如图6所示。假设参考动作为站立,当目标动作为从站立演化为的跳起或蹲下时,触发对虚拟摄像头的参考状态参数中的参考高度的改变;当目标动作为从站立演化为的左转或右转时,触发对虚拟摄像头的参考状态参数中的参考朝向方向的旋转;当目标动作为从站立演化为的行走时,判断行走方向是否为虚拟摄像头的可推进方向。当行走方向为虚拟摄像头的可推进方向时,触发对虚拟摄像头的参考状态参考书中的参考平面位置的推进。当行走方向为虚拟摄像头的不可推进方向时,保持虚拟摄像头不动,提示交互对象调整行走方向。对于虚拟摄像头的参考状态参数发生了改变的情况,及时更新记录虚拟摄像头最新的状态参数。
在确定虚拟摄像头的目标状态参数后,终端将具有目标状态参数的虚拟摄像头采集到的虚拟环境画面数据作为与目标动作匹配的目标虚拟环境画面数据。在获取与目标动作匹配的目标虚拟环境画面数据后,终端基于目标虚拟环境画面数据显示目标虚拟环境画面。此时显示的目标虚拟环境画面是与目标人体图像对应的目标动作匹配的虚拟环境画面,显示的目标虚拟环境画面与交互对象的真实动作匹配度高。
示例性地,终端基于目标虚拟环境画面数据显示目标虚拟环境画面的过程是指终端对目标虚拟环境画面数据进行渲染,显示渲染得到的目标虚拟环境画面。
示例性地,在基于目标虚拟环境画面数据显示目标虚拟环境画面之后,将交互对象的人体视频中位于目标人体图像后一帧的图像作为新的目标人体图像,然后根据新的目标人体图像继续执行步骤201至步骤203,以继续显示与新的目标人体图像匹配的虚拟环境画面,循环执行,直至人体视频中的最后一帧图像已经作为新的目标人体图像执行过步骤201至步骤203。
示例性地,虚拟环境画面的显示过程如图7所示。交互对象授权打开目标摄像头;终端创建视频标签,将目标摄像头采集的人视频传入该视频标签;创建时序控制器;利用时序控制器将视频标签下的人体图像传入人体关键节点识别模型识别人体关键节点,人体关键节点识别模型为终端预先下载的PoseNet模型;基于人体视频中的第一帧图像获取基础姿态数据;获得交互对象的人体图像对应的姿态数据相对于基础姿态数据的变化;确定人体图像对应的动作,如,行走、左转、右转、蹲下、跳起、站立等;根据动作,驱动虚拟环境中的虚拟摄像头的状态参数进行调整,调整方式包括:平面位置推进、高度改变、朝向方向旋转等;基于具有调整后的状态参数的虚拟摄像头采集到的虚拟环境画面数据显示虚拟环境画面。
在本申请实施例中,通过在终端采用目标摄像头对交互对象进行视频采集后,利用TensorFlow平台下的PoseNet模型进行人体关键节点识别,获得交互对象的姿态数据变化,并进一步进行人体几种动作的判定,如,行走、左转/右转、蹲下/跳起、站立等,结合虚拟化线上场景(即虚拟环境),绑定虚拟摄像头进行虚拟环境的游览,给交互对象一种置身实景以真实行走的方式去漫步、游览的体验,满足很多在室内终端前可以游览不同虚拟场景的需求,能够一定程度上解决无法到现场的问题,还能够一定程度上减少现场游玩压力,还能满***互对象运动的乐趣。
示例性地,虚拟环境可能是指地图环境、展馆环境以及房屋内部环境。如图8所示,基于本申请实施例提供的虚拟环境画面的显示方法,交互对象能够在室内的终端前以真实行走的方式游览地图环境,在图8中,除显示有地图环境画面的801外,还显示有交互对象的人体图像802。
示例性地,如图9所示,基于本申请实施例提供的虚拟环境画面的显示方法,交互对象能够在室内的终端前以真实行走的方式游览展馆环境,在图9中,显示有展馆环境画面901。如图10所示,基于本申请实施例提供的虚拟环境画面的显示方法,交互对象能够在室内的终端前以真实行走的方式游览房屋内部环境,在图10中,显示有房屋内部环境画面1001。
在本申请实施例中,终端基于与目标动作匹配的目标虚拟环境画面数据显示目标虚拟环境画面,目标动作是依据交互对象的目标人体图像自动确定出的,能够反映出交互对象的真实动作,在此种方式下,目标虚拟环境画面数据的获取过程具有较高的智能性,灵活性较高。此外,由于目标虚拟环境画面数据是与能够反映出交互对象的真实动作的目标动作匹配的,所以显示出的目标虚拟环境画面与交互对象的真实动作的匹配度高,能够给交互对象带来较好的体验感,有利于提高交互对象与虚拟环境之间的交互率。
参见图11,本申请实施例提供了一种虚拟环境画面的显示装置,该装置包括:
第一获取单元1101,用于获取交互对象的目标人体图像,交互对象通过虚拟环境画面与虚拟环境进行交互;
确定单元1102,用于对目标人体图像进行人体关键节点识别,以确定目标人体图像对应的目标动作;
第二获取单元1103,用于获取与目标动作匹配的目标虚拟环境画面数据;
显示单元1104,用于基于目标虚拟环境画面数据显示目标虚拟环境画面。
在一种可能实现方式中,目标人体图像为交互对象的人体视频中除第一帧图像外的其他图像;确定单元1102,用于对目标人体图像进行人体关键节点识别,得到目标人体关键节点识别结果;基于目标人体关键节点识别结果,得到目标人体图像对应的目标姿态数据;提取第一帧图像对应的基础姿态数据;基于目标姿态数据和基础姿态数据之间的比对结果,确定目标人体图像对应的目标动作。
在一种可能实现方式中,目标姿态数据包括目标腿部高度、目标身体宽度、目标身体高度、目标左脚踝纵坐标和目标右脚踝纵坐标中的至少一个,基础姿态数据包括基础腿部高度、基础身体宽度、基础身体高度、基础左脚踝纵坐标和基础右脚踝纵坐标中的至少一个;确定单元1102,还用于响应于目标腿部高度小于基础腿部高度与第一数值的乘积,确定目标动作包括行走;响应于目标身体宽度小于基础身体宽度与第二数值的乘积,且目标左脚踝纵坐标小于目标右脚踝纵坐标,确定目标动作包括左转;响应于目标身体宽度小于基础身体宽度与第二数值的乘积,且目标左脚踝纵坐标大于目标右脚踝纵坐标,确定目标动作包括右转;响应于目标身体高度小于基础身体高度与第三数值的乘积,确定目标动作包括蹲下;响应于目标左脚踝纵坐标小于基础左脚踝纵坐标,且目标右脚踝纵坐标小于基础右脚踝纵坐标,确定目标动作包括跳起。
在一种可能实现方式中,第二获取单元1103,用于基于目标动作,确定虚拟环境中的虚拟摄像头的目标状态参数;将具有目标状态参数的虚拟摄像头采集到的虚拟环境画面数据作为与目标动作匹配的目标虚拟环境画面数据。
在一种可能实现方式中,目标人体图像为交互对象的人体视频中除第一帧图像外的其他图像;第二获取单元1103,还用于响应于目标动作满足第一条件,将参考状态参数作为虚拟摄像头的目标状态参数,参考状态参数为基于参考人体图像确定的虚拟摄像头的状态参数,参考人体图像为交互对象的人体视频中位于目标人体图像前一帧的图像;响应于目标动作满足第二条件,对参考状态参数进行调整,将调整后得到的状态参数作为虚拟摄像头的目标状态参数,第二条件与第一条件不同。
在一种可能实现方式中,满足第一条件,包括:目标动作不包括行走且目标动作与参考动作之间满足匹配条件,参考动作为参考人体图像对应的动作;满足第二条件,包括:目标动作包括行走且目标动作对应的行走方向为虚拟摄像头的可推进方向;或者,目标动作不包括行走且目标动作与参考动作之间不满足匹配条件;其中,满足匹配条件包括:目标动作与参考动作完全一致,或者,目标动作为站立且参考动作为行走。
在一种可能实现方式中,第二获取单元1103,还用于响应于目标动作满足第二条件,基于目标动作和参考动作,确定目标调整方式;按照目标调整方式对参考状态参数进行调整,将调整后得到的状态参数作为虚拟摄像头的目标状态参数。
在一种可能实现方式中,显示单元1104,还用于响应于目标动作包括行走且目标动作对应的行走方向为虚拟摄像头的不可推进方向,显示第一提示信息,第一提示信息用于提示交互对象调整行走方向。
在一种可能实现方式中,参见图12,该装置还包括:
替换单元1105,用于利用目标状态参数替换参考状态参数。
在一种可能实现方式中,确定单元1102,还用于获取人体关键节点识别模型;调用人体关键节点识别模型对目标人体图像进行人体关键节点识别。
在一种可能实现方式中,确定单元1102,还用于对交互对象的人体视频中的第一帧图像进行人体关键节点识别,基于基础人体关键节点识别结果得到第一帧图像对应的基础姿态数据;
参见图12,该装置还包括:
存储单元1106,用于将第一帧图像对应的基础姿态数据进行存储。
在一种可能实现方式中,显示单元1104,还用于响应于摄像头调用请求,显示摄像头调用授权信息;响应于摄像头调用授权信息的确认指令,显示第二提示信息,第二提示信息用于提示交互对象按照参考姿态进行站立;
参见图12,该装置还包括:
调用单元1107,用于响应于交互对象按照参考姿态进行站立,调用目标摄像头采集交互对象的人体视频,交互对象的人体视频中的第一帧图像通过对按照参考姿态进行站立的交互对象进行图像采集得到。
在本申请实施例中,终端基于与目标动作匹配的目标虚拟环境画面数据显示目标虚拟环境画面,目标动作是依据交互对象的目标人体图像自动确定出的,能够反映出交互对象的真实动作,在此种方式下,目标虚拟环境画面数据的获取过程具有较高的智能性,灵活性较高。此外,由于目标虚拟环境画面数据是与能够反映出交互对象的真实动作的目标动作匹配的,所以显示出的目标虚拟环境画面与交互对象的真实动作的匹配度高,能够给交互对象带来较好的体验感,有利于提高交互对象与虚拟环境之间的交互率。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图13是本申请实施例提供的一种终端的结构示意图。该终端可以是:智能手机、平板电脑、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的虚拟环境画面的显示方法。
在一些实施例中,终端还可选包括有:***设备接口1303和至少一个***设备。处理器1301、存储器1302和***设备接口1303之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1303相连。具体地,***设备包括:射频电路1304、显示屏1305、摄像头组件1306、音频电路1307、定位组件1308和电源1309中的至少一种。
***设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和***设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和***设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置在终端的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在另一些实施例中,显示屏1305可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
定位组件1308用于定位终端的当前地理位置,以实现导航或LBS(Location BasedService,基于位置的服务)。定位组件1308可以是基于美国的GPS(Global PositioningSystem,全球定位***)、中国的北斗***、格雷纳斯***或欧盟的伽利略***的定位组件。
电源1309用于为终端中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测终端的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在终端的侧边框和/或显示屏1305的下层。当压力传感器1313设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在显示屏1305的下层时,由处理器1301根据用户对显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置在终端的正面、背面或侧面。当终端上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制显示屏1305的显示亮度。具体地,当环境光强度较高时,调高显示屏1305的显示亮度;当环境光强度较低时,调低显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在终端的前面板。接近传感器1316用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端的正面之间的距离逐渐变小时,由处理器1301控制显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与终端的正面之间的距离逐渐变大时,由处理器1301控制显示屏1305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条计算机程序。该至少一条计算机程序由一个或者一个以上处理器加载并执行,以实现上述任一种虚拟环境画面的显示方法。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由计算机设备的处理器加载并执行,以实现上述任一种虚拟环境画面的显示方法。
在一种可能实现方式中,上述计算机可读存储介质可以是只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact DiscRead-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种虚拟环境画面的显示方法。
需要说明的是,本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以上示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种虚拟环境画面的显示方法,其特征在于,所述方法包括:
获取交互对象的目标人体图像,所述交互对象通过虚拟环境画面与虚拟环境进行交互,所述目标人体图像为所述交互对象的人体视频中除第一帧图像外的其他图像;
对所述目标人体图像进行人体关键节点识别,以确定所述目标人体图像对应的目标动作;
响应于所述目标动作不包括行走且所述目标动作与参考动作之间满足匹配条件,将参考状态参数作为虚拟摄像头的目标状态参数,所述参考动作为参考人体图像对应的动作,所述满足匹配条件包括所述目标动作与所述参考动作完全一致,或者,所述目标动作为站立且所述参考动作为行走,所述参考状态参数为基于所述参考人体图像确定的所述虚拟摄像头的状态参数,所述参考人体图像为所述交互对象的人体视频中位于所述目标人体图像前一帧的图像;
响应于所述目标动作包括行走且所述目标动作对应的行走方向为所述虚拟摄像头的可推进方向,或者,所述目标动作不包括行走且所述目标动作与所述参考动作之间不满足所述匹配条件,对所述参考状态参数进行调整,将调整后得到的状态参数作为所述虚拟摄像头的目标状态参数;
将具有所述目标状态参数的虚拟摄像头采集到的虚拟环境画面数据作为与所述目标动作匹配的目标虚拟环境画面数据;
基于所述目标虚拟环境画面数据显示目标虚拟环境画面,其中,不同的目标动作匹配不同的目标虚拟环境画面数据,所述不同的目标虚拟环境画面数据用于显示不同的目标虚拟环境画面。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标人体图像进行人体关键节点识别,以确定所述目标人体图像对应的目标动作,包括:
对所述目标人体图像进行人体关键节点识别,得到目标人体关键节点识别结果;
基于所述目标人体关键节点识别结果,得到所述目标人体图像对应的目标姿态数据;
提取所述第一帧图像对应的基础姿态数据;
基于所述目标姿态数据和所述基础姿态数据之间的比对结果,确定所述目标人体图像对应的目标动作。
3.根据权利要求2所述的方法,其特征在于,所述目标姿态数据包括目标腿部高度、目标身体宽度、目标身体高度、目标左脚踝纵坐标和目标右脚踝纵坐标中的至少一个,所述基础姿态数据包括基础腿部高度、基础身体宽度、基础身体高度、基础左脚踝纵坐标和基础右脚踝纵坐标中的至少一个;
所述基于所述目标姿态数据和所述基础姿态数据之间的比对结果,确定所述目标人体图像对应的目标动作,包括:
响应于所述目标腿部高度小于所述基础腿部高度与第一数值的乘积,确定所述目标动作包括行走;
响应于所述目标身体宽度小于所述基础身体宽度与第二数值的乘积,且所述目标左脚踝纵坐标小于所述目标右脚踝纵坐标,确定所述目标动作包括左转;
响应于所述目标身体宽度小于所述基础身体宽度与第二数值的乘积,且所述目标左脚踝纵坐标大于所述目标右脚踝纵坐标,确定所述目标动作包括右转;
响应于所述目标身体高度小于所述基础身体高度与第三数值的乘积,确定所述目标动作包括蹲下;
响应于所述目标左脚踝纵坐标小于所述基础左脚踝纵坐标,且所述目标右脚踝纵坐标小于所述基础右脚踝纵坐标,确定所述目标动作包括跳起。
4.根据权利要求1所述的方法,其特征在于,所述对所述参考状态参数进行调整,将调整后得到的状态参数作为所述虚拟摄像头的目标状态参数,包括:
基于所述目标动作和所述参考动作,确定目标调整方式;
按照所述目标调整方式对所述参考状态参数进行调整,将调整后得到的状态参数作为所述虚拟摄像头的目标状态参数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述目标动作包括行走且所述目标动作对应的行走方向为所述虚拟摄像头的不可推进方向,显示第一提示信息,所述第一提示信息用于提示所述交互对象调整行走方向。
6.根据权利要求1-5任一所述的方法,其特征在于,所述将调整后得到的状态参数作为所述虚拟摄像头的目标状态参数之后,所述方法还包括:
利用所述目标状态参数替换所述参考状态参数。
7.根据权利要求1-5任一所述的方法,其特征在于,所述对所述目标人体图像进行人体关键节点识别,包括:
获取人体关键节点识别模型;
调用所述人体关键节点识别模型对所述目标人体图像进行人体关键节点识别。
8.根据权利要求2或3所述的方法,其特征在于,所述提取所述第一帧图像对应的基础姿态数据之前,所述方法还包括:
对所述交互对象的人体视频中的第一帧图像进行人体关键节点识别,基于基础人体关键节点识别结果得到所述第一帧图像对应的基础姿态数据;
将所述第一帧图像对应的基础姿态数据进行存储。
9.根据权利要求8所述的方法,其特征在于,所述对所述交互对象的人体视频中的第一帧图像进行人体关键节点识别之前,所述方法还包括:
响应于摄像头调用请求,显示摄像头调用授权信息;
响应于所述摄像头调用授权信息的确认指令,显示第二提示信息,所述第二提示信息用于提示所述交互对象按照参考姿态进行站立;
响应于所述交互对象按照所述参考姿态进行站立,调用所述摄像头采集所述交互对象的人体视频,所述交互对象的人体视频中的第一帧图像通过对按照所述参考姿态进行站立的交互对象进行图像采集得到。
10.一种虚拟环境画面的显示装置,其特征在于,所述装置包括:
第一获取单元,用于获取交互对象的目标人体图像,所述交互对象通过虚拟环境画面与虚拟环境进行交互,所述目标人体图像为所述交互对象的人体视频中除第一帧图像外的其他图像;
确定单元,用于对所述目标人体图像进行人体关键节点识别,以确定所述目标人体图像对应的目标动作;
第二获取单元,用于响应于所述目标动作不包括行走且所述目标动作与参考动作之间满足匹配条件,将参考状态参数作为虚拟摄像头的目标状态参数,所述参考动作为参考人体图像对应的动作,所述满足匹配条件包括所述目标动作与所述参考动作完全一致,或者,所述目标动作为站立且所述参考动作为行走,所述参考状态参数为基于所述参考人体图像确定的所述虚拟摄像头的状态参数,所述参考人体图像为所述交互对象的人体视频中位于所述目标人体图像前一帧的图像;响应于所述目标动作包括行走且所述目标动作对应的行走方向为所述虚拟摄像头的可推进方向,或者,所述目标动作不包括行走且所述目标动作与所述参考动作之间不满足所述匹配条件,对所述参考状态参数进行调整,将调整后得到的状态参数作为所述虚拟摄像头的目标状态参数;将具有所述目标状态参数的虚拟摄像头采集到的虚拟环境画面数据作为与所述目标动作匹配的目标虚拟环境画面数据;
显示单元,用于基于所述目标虚拟环境画面数据显示目标虚拟环境画面,其中,不同的目标动作匹配不同的目标虚拟环境画面数据,所述不同的目标虚拟环境画面数据用于显示不同的目标虚拟环境画面。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如权利要求1至9任一所述的虚拟环境画面的显示方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现如权利要求1至9任一所述的虚拟环境画面的显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110070087.XA CN112711335B (zh) | 2021-01-19 | 2021-01-19 | 虚拟环境画面的显示方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110070087.XA CN112711335B (zh) | 2021-01-19 | 2021-01-19 | 虚拟环境画面的显示方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112711335A CN112711335A (zh) | 2021-04-27 |
CN112711335B true CN112711335B (zh) | 2023-02-03 |
Family
ID=75549377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110070087.XA Active CN112711335B (zh) | 2021-01-19 | 2021-01-19 | 虚拟环境画面的显示方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711335B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946216A (zh) * | 2021-10-18 | 2022-01-18 | 阿里云计算有限公司 | 人机交互方法、智能设备、存储介质及程序产品 |
WO2024124927A1 (zh) * | 2022-12-12 | 2024-06-20 | 海信视像科技股份有限公司 | 一种虚拟数字人的生成方法、装置和电子设备 |
CN116310010B (zh) * | 2023-05-19 | 2023-07-21 | 北京七维视觉传媒科技有限公司 | 图像识别方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107248185A (zh) * | 2017-05-31 | 2017-10-13 | 珠海金山网络游戏科技有限公司 | 一种虚拟仿真偶像实时直播方法及*** |
CN109547806A (zh) * | 2018-10-23 | 2019-03-29 | 佟志强 | 一种ar替身直播方法 |
CN110928411A (zh) * | 2019-11-18 | 2020-03-27 | 珠海格力电器股份有限公司 | 一种基于ar的交互方法、装置、存储介质及电子设备 |
-
2021
- 2021-01-19 CN CN202110070087.XA patent/CN112711335B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107248185A (zh) * | 2017-05-31 | 2017-10-13 | 珠海金山网络游戏科技有限公司 | 一种虚拟仿真偶像实时直播方法及*** |
CN109547806A (zh) * | 2018-10-23 | 2019-03-29 | 佟志强 | 一种ar替身直播方法 |
CN110928411A (zh) * | 2019-11-18 | 2020-03-27 | 珠海格力电器股份有限公司 | 一种基于ar的交互方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112711335A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112711335B (zh) | 虚拟环境画面的显示方法、装置、设备及存储介质 | |
CN111738220A (zh) | 三维人体姿态估计方法、装置、设备及介质 | |
JP2022537614A (ja) | マルチ仮想キャラクターの制御方法、装置、およびコンピュータプログラム | |
KR20210111833A (ko) | 타겟의 위치들을 취득하기 위한 방법 및 장치와, 컴퓨터 디바이스 및 저장 매체 | |
CN110544272A (zh) | 脸部跟踪方法、装置、计算机设备及存储介质 | |
CN108694073B (zh) | 虚拟场景的控制方法、装置、设备及存储介质 | |
CN112884770B (zh) | 图像分割处理方法、装置及计算机设备 | |
CN112749728A (zh) | 学生模型训练方法、装置、计算机设备及存储介质 | |
CN111243668A (zh) | 分子结合位点检测方法、装置、电子设备及存储介质 | |
CN110796005A (zh) | 在线教学监控的方法、装置、电子设备及介质 | |
CN111178343A (zh) | 基于人工智能的多媒体资源检测方法、装置、设备及介质 | |
CN112272311A (zh) | 花屏修复方法、装置、终端、服务器及介质 | |
CN113289327A (zh) | 移动终端的显示控制方法及装置、存储介质及电子设备 | |
CN112150560A (zh) | 确定消失点的方法、装置及计算机存储介质 | |
CN111768507A (zh) | 图像融合方法、装置、计算机设备及存储介质 | |
CN109806583B (zh) | 用户界面显示方法、装置、设备及*** | |
CN111437600A (zh) | 剧情展示方法、装置、设备及存储介质 | |
CN111068323A (zh) | 智能速度检测方法、装置、计算机设备及存储介质 | |
CN112612387B (zh) | 展示信息的方法、装置、设备及存储介质 | |
CN112306332B (zh) | 确定选中目标的方法、装置、设备及存储介质 | |
CN113822263A (zh) | 图像标注方法、装置、计算机设备及存储介质 | |
CN111753813A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN113570510A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111353513B (zh) | 一种目标人群筛选的方法、装置、终端和存储介质 | |
CN113194329B (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: 40042025 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |