CN108564648B - 基于人体姿态的成像方法和装置 - Google Patents
基于人体姿态的成像方法和装置 Download PDFInfo
- Publication number
- CN108564648B CN108564648B CN201810299777.0A CN201810299777A CN108564648B CN 108564648 B CN108564648 B CN 108564648B CN 201810299777 A CN201810299777 A CN 201810299777A CN 108564648 B CN108564648 B CN 108564648B
- Authority
- CN
- China
- Prior art keywords
- human body
- image
- body attitude
- imaging
- module
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Abstract
本公开涉及人工智能技术领域。本公开实施例提供了一种基于人体姿态的成像方法和装置,该装置包括获取模块、解析模块和成像模块;获取模块与解析模块电连接,用于获取应用程序中的画面元素;解析模块与获取模块以及成像模块电连接,用于对画面元素进行解析;成像模块与解析模块电连接,用于根据成像指令所指示的画面内容在立体空间的姿态位置,对画面内容进行渲染与显示成像。
Description
技术领域
本公开涉及人工智能技术领域,具体而言,涉及一种基于人体姿态的成像方法和装置。
背景技术
现有电子移动终端中,涉及跳舞的软件有很多种,一般都是类似电玩城其中的跳舞机一样,通过触动屏幕上的按键与软件中的图标相符合的标识达到游戏的目的,这种跳舞软件互动性差、体验效果不好。
发明内容
本公开实施例提供了一种基于人体姿态的成像方法和装置。
第一方面,本公开实施例提供了一种基于人体姿态的成像方法,包括以下步骤:获取应用程序中的画面元素,以完成对所述画面元素的解析;根据成像指令所指示的画面内容在立体空间的姿态位置,对所述画面内容进行渲染与显示成像。
第二方面,本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的方法的步骤。
第三方面,本公开实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法的步骤。
第四方面,本公开实施例提供了一种基于人体姿态的成像装置,包括:获取模块、解析模块和成像模块;所述获取模块与所述解析模块电连接,用于获取应用程序中的画面元素;所述解析模块与所述获取模块以及所述成像模块电连接,用于对所述画面元素进行解析;所述成像模块与所述解析模块电连接,用于根据成像指令所指示的画面内容在立体空间的姿态位置,对所述画面内容进行渲染与显示成像。
要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面对实施例描述中所需要使用的附图作简单地介绍:
图1为本公开实施例的终端设备的硬件结构示意图;
图2为本公开实施例一的基于人体姿态的成像装置的结构示意图;
图3为图2所示的基于人体姿态的成像装置的工作流程图;
图4为图3所示的基于人体姿态的成像方法的工作示例图;
图5为本公开实施例二的基于人体姿态的成像装置的结构示意图;
图6为图5所示的基于人体姿态的成像装置的工作流程图;
图7为图6所示的基于人体姿态的成像方法的工作示例图;
图8为本公开实施例三的基于人体姿态的成像装置的结构示意图;
图9(a)-(b)为图8所示的基于人体姿态的成像装置的工作流程图;
图10为本公开实施例的基于人体姿态的成像装置的硬件框图;
图11为本公开实施例的计算机可读存储介质的示意图。
具体实施方式
下面结合附图和实施例对本申请进行进一步的详细介绍。
在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本公开的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
如图1所示,终端设备可以以各种形式来实施,本公开中的终端设备可以包括但不限于诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置、车载终端设备、车载显示终端、车载电子后视镜等等的移动终端设备以及诸如数字TV、台式计算机等等的固定终端设备。
在本公开的一个实施例中,终端设备可以包括无线通信单元1、A/V(音频/视频)输入单元2、用户输入单元3、感测单元4、输出单元5、存储器6、接口单元7、控制器8和电源单元9等等。其中,A/V(音频/视频)输入单元2包括但不限于,摄像头、前置摄像头,后置摄像头,各类音视频输入设备。本领域的技术人员应该理解,上述实施例列出的终端设备所包括的组件,不止上述所述的种类,可以包括更少或者更多的组件。
本领域的技术人员应该理解,这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器中并且由控制器执行。
具体的,本公开实施例提供了一种基于人体姿态的成像装置,包括:获取模块、解析模块和成像模块;获取模块与解析模块电连接,用于获取应用程序中的画面元素;解析模块与获取模块以及成像模块电连接,用于对画面元素进行解析;成像模块与解析模块电连接,用于根据成像指令所指示的画面内容在立体空间的姿态位置,对画面内容进行渲染与显示成像。
本公开实施例达到了通过对人体姿态清晰的成像,实现了增强跳舞软件的强互动性与体验性的有益效果。
实施例一
如图2所示,本实施例的基于人体姿态的成像装置,包括:获取模块200、解析模块400和成像模块600。
其中,获取模块200与解析模块400电连接,用于获取应用程序中的画面元素;解析模块400与获取模块200以及成像模块600电连接,用于对画面元素进行解析;成像模块600与解析模块400电连接,用于根据成像指令所指示的画面内容在立体空间的姿态位置,对画面内容进行渲染与显示成像。
在本公开的一个实施例中,获取模块200包括:第一获取单元201用于获取应用程序中预存的基于人体姿态的模板。其中,预存的基于人体姿态的模板数量为至少一个。需要说明的是,预存的基于人体姿态的模板的生成分为两个步骤:其一是基于人体姿态的估计,其二是基于人体姿态与人体关键点的绑定。具体的,基于人体姿态的估计主要是指在输入图片中获取各个人体部件(人体的组成部分,例如,头,左右上臂等)的位置、大小以及方向等。为了从输入图片中检测出人体姿态,必须对输入图片进行扫描;由于图片中人体部件的大小以及位置分布都不固定,因此扫描每个人体部件时需要以不同的位置、尺度和方向进行扫描。然后,将扫描得到的特征发送至二值分类器进行检测,以判断是否为人体。可以理解的是,在检测之前,需要对二值分类器进行训练来获取分类器的参数。此外,由于检测的时候可能将输入图片中的同一个人体检测为多个不同但是十分相近似的姿态,因此需要对分类结果进行融合操作,以排除重复的姿态。
进一步地,基于人体姿态的估计操作完成后,选取人体关键点。其中,关键点的选择阈值为5-21个骨骼关键点。优选为17个骨骼关键点(例如,17个骨骼关键点分别为:头部、右侧肩膀、右侧肘部、右侧腕部,右手、左侧肩部、左侧肘部、左侧腕部、左手、右膝盖、右踝、右脚、左膝盖、左踝、左脚、右髋、左髋)。将上述17个骨骼关键点与基于人体姿态估计的这个动作事件进行绑定。由此,为后续使用者执行基于人体姿态的模板的动作事件提供了准确的数据支撑,具有良好的易用性。
此外,获取模块200包括:提取与定义单元202用于从模板中提取特征元素,并将特征元素定义为应用程序中的画面元素。需要说明的是,此处的特征元素包括但不限定为模板图像的像素数目、模板图像的分辨率、模板图像的大小、模板图像颜色、模板图像深度、模板图像色调、模板图像饱和度、模板图像色相、模板图像亮度、模板图像对比度、模板图像的色彩通道、模板图像的纹理、模板图像的层次以及模板图像的灰度值。
在本公开的一个实施例中,解析模块400不限于为安装了安卓(Android)系统的主芯片。其主要用于针对由获取模块200获取到的各图像所具有的多个特征元素,即画面元素,分别计算各图像的画面元素点彼此的向量,为了便于理解,此步骤可以抽象理解为由解析模块400中的向量计算单元操作执行的;以及计算由上述向量计算出的向量的分布状况,为了便于理解,此步骤可以抽象理解为由解析模块400中的分布计算单元操作执行的;以及基于分布计算的计算结果,对由向量计算出的向量进行加权,由此解析计算出用于对所获取到的图像的画面元素进行调整的成像向量,为了便于理解,此步骤可以抽象理解为由解析模块400中的成像向量计算单元操作执行的。
可以理解的是,分布计算单元还可以具有分类功能,可以将多个画面元素基于向量计算单元计算出的向量的大小进行多等级分类,从而有效且准确地计算出每个等级的画面元素的个数作为分布状况。
此外,需要说明的是,成像向量计算单元将同一个等级内的画面元素点的个数以预设权重来计算多个画面元素点的向量的加权平均值,由此计算出图像的画面元素进行调整的成像向量。
在本公开的一个实施例中,成像模块600包括:接口调用单元601通过调用预设编程接口对画面内容进行渲染与显示成像。其中,预设编程接口可以为opencv(Open SourceComputer Vision Library,开源计算机视觉库)接口。opencv是一个基于开源发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。该接口具有轻量级且高效,由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。opencv用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。
此外,opencv也有大量的Python,Java and MATLAB/OCTAVE的接口。这些语言的API(Application Programming Interface,应用程序编程接口)接口函数可以通过在线文档获取。
更进一步地,画面内容包括基于人体姿态的骨骼节点;成像模块600,还包括:生成单元602用于根据成像指令所指示的人体姿态的骨骼节点在立体空间的姿态位置,为人体姿态的骨骼节点生成预设大小和位置的,用于将骨骼节点显示的图像;渲染单元603用于通过预设色度对图像进行渲染。
需要说明的是,在图像渲染前,需要准备好三维几何模型信息,三维动画定义信息和材质信息。其中三维几何模型通过三维扫描,三维交互几何建模和三维模型库中获取;三维动画定义通过运动设计,运动捕捉,运动计算和动态变形中获取:材质从扫描的照片,计算机计算出的图像和人画出的图画中获取。图像渲染中要完成的操作步骤为:通过几何变换,投影变换,透视变换和窗口剪裁,再通过获取的材质与光影信息,生成图像。图像渲染结束后,会把图像信息输出到图像文件或视频文件,或者是显示设备的帧缓存器中完成图形生成。
可以理解的是,在本公开的一个实施例中,模块是指功能相对独立的处理单元,各模块之间可以共用一定的软件或硬件。
本实施例,通过将人体姿态以模板获取的方式进行成像,由此提高了成像的准确性。由于预存的基于人体姿态的模板为存储在本地移动终端中,故具有调用的快捷性。其中,移动终端包括但不限于手机、pad以及其它可移动电子设备。
图3为图2所示的基于人体姿态的成像装置的工作流程图。图4为图3的基于人体姿态的成像方法的工作示意图。结合图3与图4具体说明如下:
步骤202,获取应用程序中预存的基于人体姿态的模板。其中,预存的基于人体姿态的模板的数量为至少一个。
步骤204,从模板中提取特征元素,并将特征元素定义为应用程序中的画面元素,并对画面元素进行解析。此处的特征元素包括但不限定为模板图像的像素数目、模板图像的分辨率、模板图像的大小、模板图像颜色、模板图像深度、模板图像色调、模板图像饱和度、模板图像色相、模板图像亮度、模板图像对比度、模板图像的色彩通道、模板图像的纹理、模板图像的层次以及模板图像的灰度值。
进一步地,将上述特征元素定义为应用程序中的画面元素,并对画面元素进行解析包括但不限于对模板图像的像素数目解析、对模板图像的分辨率解析、对模板图像的大小解析、对模板图像颜色解析、对模板图像深度解析、对模板图像色调解析、对模板图像饱和度解析、对模板图像色相解析、对模板图像亮度解析、对模板图像对比度解析、对模板图像的色彩通道解析、对模板图像的层次解析以及对模板图像的灰度值解析。
步骤206,根据成像指令所指示的画面内容在立体空间的姿态位置,对画面内容进行渲染与显示成像。
需要说明的是,对画面内容进行渲染可以为真实感图像渲染也可以为非真实感图像渲染。关于对画面内容进行真实感图像渲染,具体的,对于场景中的物体,要得到它的真实感图像,就要对它进行透视投影,并作隐藏面的消隐,然后计算可见面的光照明暗效果,得到场景的真实感图像显示。但是,仅仅对场景进行隐藏面消除所得到的图像真实感是不够的,如何处理物体表面的光照明暗效果,通过使用不同的色彩灰度,来增加图形图像的真实感,这也是场景图像真实感的主要来源。
计算机真实感图像是一种光栅图像,由像素构成。生成一幅真实感图像时,必须逐个像素地计算画面上相应内容表面区域的颜色。显然在计算可见景物表面区域的颜色时,不但要考虑光源对该区域入射光及光亮度和光谱组成,而且还要考虑该表面区域对光源的朝向,表面的材料和反射性质等。这种计算必须基于一定的光学物理模型,即光照明模型。基于场景几何和光照模型生成一幅真实感图像的过程称之为绘制。常用的真实感图像绘制算法包括扫描线算法,光线跟踪算法,光能辐射度方法等。此外,关于对画面内容进行非真实感图像渲染,具体的,在非真实感图像渲染中,需要对渲染内容和方式做出主动的选择。非真实感图像渲染经常由一个预设应用程序实现,这个预设应用程序以一幅图像或三维实体为输入,而输出特定多个属性的图像。
在本公开的一个实施例中,对画面内容进行渲染与显示成像,包括:通过调用预设编程接口对画面内容进行渲染与显示成像。
需要说明的是,画面内容包括基于人体姿态的骨骼节点;进行渲染与显示成像,还包括:根据成像指令所指示的人体姿态的骨骼节点在立体空间的姿态位置,为人体姿态的骨骼节点生成预设大小和位置的,用于将骨骼节点显示的图像;通过预设色度对图像进行渲染。
本实施例中,通过将人体姿态以模板获取的方式进行成像,由此提高了成像的准确性。由于预存的基于人体姿态的模板为存储在本地移动终端中,故具有调用的快捷性。其中,移动终端包括但不限于手机、pad以及其它可移动电子设备。
实施例二
如图5所示,本实施例的基于人体姿态的成像装置与实施例一不同的是:本实施例中的获取模块200所包括的单元细化功能与数量不同。
本实施例的基于人体姿态的成像装置包括:获取模块200、解析模块400和成像模块600。
其中,获取模块200与解析模块400电连接,用于获取应用程序中的画面元素;解析模块400与获取模块200以及成像模块600电连接用于对画面元素进行解析;成像模块600与解析模块400电连接用于根据成像指令所指示的画面内容在立体空间的姿态位置,对画面内容进行渲染与显示成像。
在本公开的一个实施例中,获取模块200包括:第二获取单元203用于获取应用程序中预存的视频文件,其中,预存的视频文件的数量为至少一个;捕捉单元204用于通过视频文件的播放,捕捉视频流;第三获取单元205用于从视频流中获取画面帧;检测单元206用于对画面帧中的每一帧进行人体姿态检测,得到每一帧中的人体姿态数据;定义单元207用于将获取的人体姿态数据定义为应用程序中的画面元素。
在本公开的一个实施例中,解析模块400可以为安装了安卓(Android)系统的主芯片。其主要用于对获取模块200获取的预存的视频文件进行遍历,当视频文件发生改变时,判断视频文件的种类为线性视频文件还是非线性视频文件,最终定义视频文件的属性并调用相应的参数。
需要说明的是,判断视频文件的种类为线性视频文件还是非线性视频文件,然后创建相应的线性或非线性插值算法(例如,多阶贝塞尔曲线算法),根据视频的起始值计算,获取相应的插值数值,根据该插值数值对视频文件的属性进行修改并设定相应的参数。其中,视频文件的属性包括但不限于位置类型属性、颜色类型属性等。
在本公开的一个实施例中,成像模块600包括:接口调用单元601通过调用预设编程接口对画面内容进行渲染与显示成像。其中,画面内容包括基于人体姿态的骨骼节点;成像模块600,还包括:生成单元602用于根据成像指令所指示的人体姿态的骨骼节点在立体空间的姿态位置,为人体姿态的骨骼节点生成预设大小和位置的,用于将骨骼节点显示的图像;渲染单元603用于通过预设色度对图像进行渲染。
需要说明的是,在本公开的一个实施例中,模块是指功能相对独立的处理单元,各模块之间可以共用一定的软件或硬件。
本实施例中,通过将人体姿态以视频文件的方式进行成像,由此提高了成像的流畅度,同时也增强了用户体验性。
图6为图5所示的基于人体姿态的成像装置的工作流程图。图7为图6的基于人体姿态的成像方法的工作示意图。结合图6与图7具体说明如下:
步骤501,获取应用程序中预存的视频文件。其中,预存的视频文件的数量为至少一个。
步骤502,通过视频文件的播放,捕捉视频流,并从视频流中获取画面帧。
步骤503,对画面帧中的每一帧进行人体姿态检测,得到每一帧中的人体姿态数据。
步骤504,将获取的人体姿态数据定义为应用程序中的画面元素,并对画面元素进行解析。
步骤505,根据成像指令所指示的画面内容在立体空间的姿态位置,对画面内容进行渲染与显示成像。
需要说明的是,在图像渲染前,需要准备好三维几何模型信息,三维动画定义信息和材质信息。其中三维几何模型通过三维扫描,三维交互几何建模和三维模型库中获取;三维动画定义通过运动设计,运动捕捉,运动计算和动态变形中获取:材质从扫描的照片,计算机计算出的图像和人画出的图画中获取。图像渲染中要完成的操作步骤为:通过几何变换,投影变换,透视变换和窗口剪裁,再通过获取的材质与光影信息,生成图像。图像渲染结束后,会把图像信息输出到图像文件或视频文件,或者是显示设备的帧缓存器中完成图形生成。
在本公开的一个实施例中,对画面内容进行渲染与显示成像,包括:通过调用预设编程接口对画面内容进行渲染与显示成像。
需要说明的是,对画面内容进行渲染可以为真实感图像渲染也可以为非真实感图像渲染。关于对画面内容进行真实感图像渲染,具体的,对于场景中的物体,要得到它的真实感图像,就要对它进行透视投影,并作隐藏面的消隐,然后计算可见面的光照明暗效果,得到场景的真实感图像显示。但是,仅仅对场景进行隐藏面消除所得到的图像真实感是不够的,如何处理物体表面的光照明暗效果,通过使用不同的色彩灰度,来增加图形图像的真实感,这也是场景图像真实感的主要来源。
计算机真实感图像是一种光栅图像,由像素构成。生成一幅真实感图像时,必须逐个像素地计算画面上相应内容表面区域的颜色。显然在计算可见景物表面区域的颜色时,不但要考虑光源对该区域入射光及光亮度和光谱组成,而且还要考虑该表面区域对光源的朝向,表面的材料和反射性质等。这种计算必须基于一定的光学物理模型,即光照明模型。基于场景几何和光照模型生成一幅真实感图像的过程称之为绘制。常用的真实感图像绘制算法包括扫描线算法,光线跟踪算法,光能辐射度方法等。此外,关于对画面内容进行非真实感图像渲染,具体的,在非真实感图像渲染中,需要对渲染内容和方式做出主动的选择。非真实感图像渲染经常由一个预设应用程序实现,这个预设应用程序以一幅图像或三维实体为输入,而输出特定多个属性的图像。
此外,在本公开的一个实施例中,画面内容包括基于人体姿态的骨骼节点;进行渲染与显示成像,还包括:根据成像指令所指示的人体姿态的骨骼节点在立体空间的姿态位置,为人体姿态的骨骼节点生成预设大小和位置的,用于将骨骼节点显示的图像;通过预设色度对图像进行渲染。
可以理解的是,在本公开的一个实施例中,模块是指功能相对独立的处理单元,各模块之间可以共用一定的软件或硬件。
本实施例中,通过将人体姿态以视频文件的方式进行成像,由此提高了成像的流畅度,同时也增强了用户体验性。
实施例三
如图8所示,本实施例基于人体姿态的成像装置与实施例一不同的是,还包括:启动与运行模块100用于在接收启动指令后,启动并运行应用程序,其中,启动指令为语音指令、动态手势指令、按键信号输入指令。
本实施例的基于人体姿态的成像装置包括:启动与运行模块100、获取模块200、解析模块400和成像模块600。其中,启动与运行模块100用于在接收启动指令后,启动并运行应用程序,其中,启动指令为语音指令、动态手势指令、按键信号输入指令;获取模块200与解析模块400电连接,用于获取应用程序中的画面元素;解析模块400与获取模块200以及成像模块600电连接,用于对画面元素进行解析;成像模块600与解析模块400电连接,用于根据成像指令所指示的画面内容在立体空间的姿态位置,对画面内容进行渲染与显示成像。
在本公开的一个实施例中,获取模块200包括:第一获取单元201用于获取应用程序中预存的基于人体姿态的模板;提取与定义单元202用于从模板中提取特征元素,并将特征元素定义为应用程序中的画面元素。
此外,获取模块200还包括:第二获取单元203用于获取应用程序中预存的视频文件;捕捉单元204用于通过视频文件的播放,捕捉视频流;第三获取单元205用于从视频流中获取画面帧;检测单元206用于对画面帧中的每一帧进行人体姿态检测,得到每一帧中的人体姿态数据;定义单元207用于将获取的人体姿态数据定义为应用程序中的画面元素。
在本公开的一个实施例中,解析模块400可以为安装了安卓(Android)系统的主芯片。
当解析模块针对包括第一获取单元201与提取与定义单元202的获取模块200时,其主要用于针对由获取模块200获取到的各图像所具有的多个特征元素,即画面元素,分别计算各图像的画面元素点彼此的向量,为了便于理解,此步骤可以抽象理解为由解析模块400中的向量计算单元操作执行的;以及计算由上述向量计算出的向量的分布状况,为了便于理解,此步骤可以抽象理解为由解析模块400中的分布计算单元操作执行的;以及基于分布计算的计算结果,对由向量计算出的向量进行加权,由此解析计算出用于对所获取到的图像的画面元素进行调整的成像向量,为了便于理解,此步骤可以抽象理解为由解析模块400中的成像向量计算单元操作执行的。
可以理解的是,分布计算单元还可以具有分类功能,可以将多个画面元素基于向量计算单元计算出的向量的大小进行多等级分类,从而有效且准确地计算出每个等级的画面元素的个数作为分布状况。
此外,需要说明的是,成像向量计算单元将同一个等级内的画面元素点的个数以预设权重来计算多个画面元素点的向量的加权平均值,由此计算出图像的画面元素进行调整的成像向量。
当解析模块针对包括第二获取单元203、捕捉单元204、第三获取单元205、检测单元206以及定义单元207时,其主要用于对获取模块200获取的预存的视频文件进行遍历,当视频文件发生改变时,判断视频文件的种类为线性视频文件还是非线性视频文件,最终定义视频文件的属性并调用相应的参数。
需要说明的是,判断视频文件的种类为线性视频文件还是非线性视频文件,然后创建相应的线性或非线性插值算法(例如,多阶贝塞尔曲线算法),根据视频的起始值计算,获取相应的插值数值,根据该插值数值对视频文件的属性进行修改并设定相应的参数。其中,视频文件的属性包括但不限于位置类型属性、颜色类型属性等。
在本公开的一个实施例中,成像模块600包括:接口调用单元601通过调用预设编程接口对画面内容进行渲染与显示成像。其中,画面内容包括基于人体姿态的骨骼节点。需要说明的是,成像模块600,还包括:生成单元602用于根据成像指令所指示的人体姿态的骨骼节点在立体空间的姿态位置,为人体姿态的骨骼节点生成预设大小和位置的,用于将骨骼节点显示的图像;渲染单元603用于通过预设色度对图像进行渲染。
需要说明的是,在本公开的一个实施例中,模块是指功能相对独立的处理单元,各模块之间可以共用一定的软件或硬件。
本实施例中,通过启动与运行模块的添加,增强了用户使用本公开的基于人体姿态的成像装置的主动性、便捷性以及启动的多样性。此外,由于获取模块包括;第一获取单元201、提取与定义单元202、第二获取单元203、捕捉单元204、第三获取单元205、检测单元206以及定义单元207,由此提高了获取成像方式的多选择性与灵活性。
图9(a)-(b)为图8所示的基于人体姿态的成像装置的工作流程图。本实施例的基于人体姿态的成像装置的工作流程为:
步骤802,在接收启动指令后,启动并运行应用程序,其中,启动指令为语音指令、动态手势指令、按键信号输入指令。
步骤804,获取应用程序中预存的基于人体姿态的模板。其中,预存的基于人体姿态的模板的数量为至少一个。
步骤806,从模板中提取特征元素,并将特征元素定义为应用程序中的画面元素,并对画面元素进行解析。
步骤804与步骤806还可以通过以下步骤来进行替换:
步骤8031,获取应用程序中预存的视频文件。其中,预存的视频文件的数量为至少一个。
步骤8032通过视频文件的播放,捕捉视频流,并从视频流中获取画面帧。
步骤8033,对画面帧中的每一帧进行人体姿态检测,得到每一帧中的人体姿态数据。在本公开的一个实施例中,需要说明的是,对画面帧中的每一帧进行人体姿态检测,得到每一帧中的人体姿态数据之前,还包括:对画面帧中的每一帧进行格式转换或降阶处理。由此,提高了图像处理的效率。
步骤8034,将获取的人体姿态数据定义为应用程序中的画面元素,并对画面元素进行解析。
步骤808,根据成像指令所指示的画面内容在立体空间的姿态位置,对画面内容进行渲染与显示成像。在本公开的一个实施例中,对画面内容进行渲染与显示成像,包括:通过调用预设编程接口对画面内容进行渲染与显示成像。其中,画面内容包括基于人体姿态的骨骼节点;进行渲染与显示成像,还包括:根据成像指令所指示的人体姿态的骨骼节点在立体空间的姿态位置,为人体姿态的骨骼节点生成预设大小和位置的,用于将骨骼节点显示的图像;通过预设色度对图像进行渲染。
本实施例中,通过在接收启动指令后,启动并运行应用程序,且启动指令为语音指令、动态手势指令、按键信号输入指令。增强了用户使用本公开的基于人体姿态的成像装置的主动性、便捷性以及启动的多样性。此外,由于获取成像的画面元素的多方式,由此提高了获取成像方式的灵活性与多选择性。
图10是图示根据本公开的实施例的基于人体姿态的成像装置的硬件框图。如图10所示,根据本公开实施例的基于人体姿态的成像装置80包括存储器801和处理器802。基于人体姿态的成像装置80中的各组件通过总线系统和/或其它形式的连接机构(未示出)互连。
存储器801用于存储非暂时性计算机可读指令。具体地,存储器801可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
处理器802可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制基于人体姿态的成像装置80中的其它组件以执行期望的功能。在本公开的一个实施例中,所述处理器802用于运行存储器801中存储的计算机可读指令,使得基于人体姿态的成像装置80执行上述基于人体姿态的成像方法。基于人体姿态的成像装置与上述基于人体姿态的成像方法描述的实施例相同,在此将省略其重复描述。
图11是图示根据本公开的实施例的计算机可读存储介质的示意图。如图11所示,根据本公开实施例的计算机可读存储介质900其上存储有非暂时性计算机可读指令901。当所述非暂时性计算机可读指令901由处理器运行时,执行参照上述描述的根据本公开实施例的基于人体姿态的成像方法。
以上,根据本公开实施例的基于人体姿态的成像方法和装置,以及计算机可读存储介质。通过对人体姿态清晰的成像,实现了增强跳舞软件的强互动性与体验性的有益效果。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (14)
1.一种基于人体姿态的成像方法,其特征在于,包括以下步骤:
获取应用程序中的画面元素;其中,所述获取应用程序中的画面元素,包括:获取所述应用程序中预存的视频文件;通过所述视频文件的播放,捕捉视频流,并从所述视频流中获取画面帧;对所述画面帧中的每一帧进行人体姿态检测,得到所述每一帧中的人体姿态数据;将获取的所述人体姿态数据定义为所述应用程序中的所述画面元素;
对所述画面元素的解析;其中,所述解析过程包括:分别计算各图像的画面元素点彼此的向量,计算由上述向量计算出的向量的分布状态,以及基于分布计算的计算结果,对计算出的向量进行加权,由此计算出用于对所获取到的图像的画面元素进行调整的成像向量;将多个画面元素基于所述向量计算单元计算出的向量大小进行多等级分类;
根据成像指令所指示的画面内容在立体空间的姿态位置,对所述画面内容进行渲染与显示成像。
2.根据权利要求1所述的基于人体姿态的成像方法,其特征在于,所述获取应用程序中的画面元素,包括:
获取所述应用程序中预存的基于人体姿态的模板;
从所述模板中提取特征元素,并将所述特征元素定义为所述应用程序中的所述画面元素。
3.根据权利要求1所述的基于人体姿态的成像方法,其特征在于,所述对画面帧中的每一帧进行人体姿态检测,得到所述每一帧中的人体姿态数据之前,还包括:
对所述画面帧中的所述每一帧进行格式转换或降阶处理。
4.根据权利要求1所述的基于人体姿态的成像方法,其特征在于,所述对画面内容进行渲染与显示成像,包括:通过调用预设编程接口对所述画面内容进行渲染与显示成像。
5.根据权利要求1所述的基于人体姿态的成像方法,其特征在于,所述画面内容包括基于所述人体姿态的骨骼节点;
所述进行渲染与显示成像,还包括:
根据所述成像指令所指示的所述人体姿态的所述骨骼节点在立体空间的所述姿态位置,为所述人体姿态的所述骨骼节点生成预设大小和位置的,用于将所述骨骼节点显示的图像;
通过预设色度对所述图像进行渲染。
6.根据权利要求1所述的基于人体姿态的成像方法,其特征在于,还包括:
在接收启动指令后,启动并运行所述应用程序,其中,所述启动指令为语音指令、动态手势指令、按键信号输入指令。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述权利要求1-6中任一项所述方法的步骤。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述权利要求1-6中任一项所述方法的步骤。
9.一种基于人体姿态的成像装置,其特征在于,包括:获取模块、解析模块和成像模块;
所述获取模块,用于获取应用程序中的画面元素;所述获取模块,还包括:
第二获取单元,用于获取所述应用程序中预存的视频文件;
捕捉单元,用于通过所述视频文件的播放,捕捉视频流;
第三获取单元,用于从所述视频流中获取画面帧;
检测单元,用于对所述画面帧中的每一帧进行人体姿态检测,得到所述每一帧中的人体姿态数据;
定义单元,用于将获取的所述人体姿态数据定义为所述应用程序中的所述画面元素;
所述解析模块,用于对所述画面元素进行解析;其中,所述解析模块包括成像向量计算单元、分布计算单元和成像向量计算单元;所述向量计算单元用于分别计算所述获取模块获取到的各图像的画面元素点彼此的相邻;所述分布计算单元用于计算由上述相邻计算出的向量的分布状态;所述成像向量计算单元用于基于分布计算的计算结果,对计算出的向量进行加权,由此计算出用于对所获取到的图像的画面元素进行调整的成像向量;所述分布计算单元还用于将多个画面元素基于所述向量计算单元计算出的向量大小进行多等级分类;
所述成像模块,用于根据成像指令所指示的画面内容在立体空间的姿态位置,对所述画面内容进行渲染与显示成像。
10.根据权利要求9所述的基于人体姿态的成像装置,其特征在于,所述获取模块,包括:
第一获取单元,用于获取所述应用程序中预存的基于人体姿态的模板;
提取与定义单元,用于从所述模板中提取特征元素,并将所述特征元素定义为所述应用程序中的所述画面元素。
11.根据权利要求9所述的基于人体姿态的成像装置,其特征在于,还包括:
格式转换单元,用于对所述画面帧中的所述每一帧进行格式转换;或
降阶处理单元,用于对所述画面帧中的所述每一帧进行降阶处理。
12.根据权利要求9所述的基于人体姿态的成像装置,其特征在于,所述成像模块,包括:接口调用单元,通过调用预设编程接口对所述画面内容进行渲染与显示成像。
13.根据权利要求9所述的基于人体姿态的成像装置,其特征在于,所述画面内容包括基于所述人体姿态的骨骼节点;
所述成像模块,还包括:
生成单元,用于根据所述成像指令所指示的所述人体姿态的所述骨骼节点在立体空间的所述姿态位置,为所述人体姿态的所述骨骼节点生成预设大小和位置的,用于将所述骨骼节点显示的图像;
渲染单元,用于通过预设色度对所述图像进行渲染。
14.根据权利要求9所述的基于人体姿态的成像装置,其特征在于,还包括:
启动与运行模块,用于在接收启动指令后,启动并运行所述应用程序,其中,所述启动指令为语音指令、动态手势指令、按键信号输入指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810273849 | 2018-03-29 | ||
CN2018102738494 | 2018-03-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108564648A CN108564648A (zh) | 2018-09-21 |
CN108564648B true CN108564648B (zh) | 2019-09-20 |
Family
ID=63534189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810299777.0A Active CN108564648B (zh) | 2018-03-29 | 2018-04-04 | 基于人体姿态的成像方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108564648B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7366100B2 (en) * | 2002-06-04 | 2008-04-29 | Lucent Technologies Inc. | Method and apparatus for multipath processing |
CN103729614A (zh) * | 2012-10-16 | 2014-04-16 | 上海唐里信息技术有限公司 | 基于视频图像的人物识别方法及人物识别装置 |
CN104715260B (zh) * | 2015-03-05 | 2016-06-01 | 中南大学 | 基于rls-elm的多模态融合图像分类方法 |
CN107665505B (zh) * | 2016-07-29 | 2021-04-06 | 成都理想境界科技有限公司 | 基于平面检测实现增强现实的方法及装置 |
CN107294838B (zh) * | 2017-05-24 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 社交应用的动画生成方法、装置、系统以及终端 |
CN107221346B (zh) * | 2017-05-25 | 2019-09-03 | 亮风台(上海)信息科技有限公司 | 一种用于确定ar视频的识别图片的方法与设备 |
CN107820593B (zh) * | 2017-07-28 | 2020-04-17 | 深圳市瑞立视多媒体科技有限公司 | 一种虚拟现实交互方法、装置及系统 |
-
2018
- 2018-04-04 CN CN201810299777.0A patent/CN108564648B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108564648A (zh) | 2018-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108573527B (zh) | 一种表情图片生成方法及其设备、存储介质 | |
US20230128505A1 (en) | Avatar generation method, apparatus and device, and medium | |
US20180253895A1 (en) | System and method for creating a full head 3d morphable model | |
CN104732585B (zh) | 一种人体体型重构的方法及装置 | |
US11113859B1 (en) | System and method for rendering three dimensional face model based on audio stream and image data | |
US11783556B2 (en) | Augmented reality content generators including 3D data in a messaging system | |
US20130271486A1 (en) | Automatic 3D Modeling | |
WO2013140776A1 (ja) | 画像処理を行うことにより、現実空間にある対象物の奥行きを定める画像処理装置、立体視装置、集積回路、プログラム | |
US11790621B2 (en) | Procedurally generating augmented reality content generators | |
CN113822977A (zh) | 图像渲染方法、装置、设备以及存储介质 | |
CN108537162A (zh) | 人体姿态的确定方法和装置 | |
Garbin et al. | Voltemorph: Realtime, controllable and generalisable animation of volumetric representations | |
CN112784621A (zh) | 图像显示方法及设备 | |
CN113436301A (zh) | 拟人化3d模型生成的方法和装置 | |
CN108549484B (zh) | 基于人体动态姿态的人机交互方法和装置 | |
CN113453027A (zh) | 直播视频、虚拟上妆的图像处理方法、装置及电子设备 | |
US11682234B2 (en) | Texture map generation using multi-viewpoint color images | |
CN108564648B (zh) | 基于人体姿态的成像方法和装置 | |
CN110059739B (zh) | 图像合成方法、装置、电子设备和计算机可读存储介质 | |
CN111107264A (zh) | 图像处理方法、装置、存储介质以及终端 | |
CN113301243B (zh) | 图像处理方法、交互方法、系统、装置、设备和存储介质 | |
CN108536510B (zh) | 基于人机交互应用程序的实现方法和装置 | |
US20220101652A1 (en) | Method and device for generating image effect of facial expression, and electronic device | |
CN113223103A (zh) | 素描画生成的方法、装置、电子设备及介质 | |
Winnemoller | Perceptually-motivated non-photorealistic graphics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |