CN114494556A - 一种特效渲染方法、装置、设备及存储介质 - Google Patents
一种特效渲染方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114494556A CN114494556A CN202210114061.5A CN202210114061A CN114494556A CN 114494556 A CN114494556 A CN 114494556A CN 202210114061 A CN202210114061 A CN 202210114061A CN 114494556 A CN114494556 A CN 114494556A
- Authority
- CN
- China
- Prior art keywords
- target
- model
- scene
- object model
- rendering
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Abstract
本公开提供一种特效渲染方法、装置、设备及存储介质,所述方法包括获取目标图像,所述目标图像中包括目标对象;获取3D对象模型,所述3D对象模型包括目标区域;基于所述3D对象模型的深度信息以及所述3D对象模型上除所述目标区域以外的区域的颜色信息,将所述3D对象模型渲染到所述目标图像上,其中,所述目标对象显示在所述目标区域内。
Description
技术领域
本公开涉及特效渲染技术领域,尤其涉及一种特效渲染方法、装置、设备及存储介质。
背景技术
目前,在对图像进行特效渲染时,一般是将一些特效或者渲染素材渲染到图像上。例如,拍照或者短视频拍摄过程中,常常会在照片或者短视频中的人脸增加贴纸特效,或者对人脸渲染美颜特效等。然而,这种特效渲染方式比较单一,缺乏趣味性。
发明内容
为克服相关技术中存在的问题,本公开提供了一种特效渲染的方法、装置、设备及存储介质。
根据本公开实施例的第一方面,提供一种特效渲染方法,包括:获取目标图像,所述目标图像中包括目标对象;获取3D对象模型,所述3D对象模型包括目标区域;基于所述3D对象模型的深度信息以及所述3D对象模型上除所述目标区域以外的区域的颜色信息,将所述3D对象模型渲染到所述目标图像上,其中,所述目标对象显示在所述目标区域内。
在一些实施例中,基于所述3D对象模型的深度信息以及所述3D对象模型上除所述目标区域以外的区域的颜色信息,将所述3D对象模型渲染到所述目标图像上,包括:将目标区域的深度信息赋予目标图像上对应于目标区域的像素点,并将所述3D对象模型中除所述目标区域以外的区域的深度信息和颜色信息赋予目标图像上对应于3D对象模型中除所述目标区域以外的区域的像素点。
基于此,通过将3D对象模型上目标区域的深度信息、3D对象模型上除了目标区域以外的区域的深度信息和颜色信息赋予目标图像上各对应的像素点,可以将3D对象模型渲染于目标图像上,且3D对象模型不会遮住目标对象。使得渲染后的结果中,目标图像中的部分与3D对象模型融合于一张图像中,实现虚拟与现实结合。
在一些实施例中,3D对象模型位于预先获取的3D场景模型中,所述方法还包括:基于所述3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息,将所述3D场景模型渲染到所述目标图像上,其中,所述覆盖区域为渲染相机视角下被所述目标区域覆盖的区域。基于此,可以使特效渲染的结果既包括3D对象模型,又包括3D场景模型,使得渲染结果更加多样,趣味性更强。
在一些实施例中,3D对象模型包括多个子对象模型,所述3D对象模型包括的至少一个子对象模型沿着所述子对象模型对应的运动路径进行运动;所述子对象模型包括所述3D对象模型上的部分区域;和/或,
所述3D场景模型包括多个子场景模型,所述3D场景模型包括的至少一个子场景模型沿着所述子场景模型对应的运动路径进行运动;所述子场景模型包括3D场景模型上的部分区域。
基于此,渲染之后的图像中,3D场景模型包括的至少一个子场景模型能在子场景模型对应的路径上进行运动;和/或3D对象模型中包括至少一个子对象模型能在子对象模型对应的路径上进行运动。使得呈现出来的渲染结果中包括动态运动的子对象模型和/或子场景模型。
在一些实施例中,所述子对象模型从所述子对象模型对应的运动路径上的起始位置开始沿着所述子对象模型对应的运动路径进行运动,所述方法还包括:
获取所述目标图像的显示范围,将运动超出所述显示范围的目标子对象模型渲染在所述目标子对象模型的运动路径上的起始位置。
将移动出显示范围的目标子对象模型重新渲染在目标子对象模型对应的运动路径的起始位置并维持运动,可以使目标子对象模型的运动体现为一种循环的运动。
在一些实施例中,所述子场景模型从所述子场景模型对应的运动路径上的起始位置开始沿着所述子场景模型对应的运动路径进行运动,所述方法还包括:
获取所述目标图像的显示范围,将运动超出所述显示范围的目标子场景模型渲染在所述目标子场景模型的运动路径上的起始位置。
将移动出显示范围的目标子场景模型重新渲染在目标子场景模型对应的运动路径的起始位置并维持运动,可以使目标子场景模型的运动体现为一种循环的运动。
在一些实施例中,在渲染所述3D对象模型和/或3D场景模型之前,所述方法还包括:
获取所述目标对象的朝向;基于所述目标对象的朝向调整所述3D对象模型和/或所述3D场景模型的朝向。
可以根据目标对象的朝向调整3D对象模型和/或所述3D场景模型的朝向,使得渲染结果中3D对象模型和/或3D场景模型的朝向可以基于目标对象的朝向的不同而不同。
在一些实施例中,在渲染所述3D对象模型和/或3D场景模型之前,所述方法还包括:
获取所述目标对象的朝向;
基于所述目标对象的朝向调整渲染相机的角度参数;其中,不同角度参数下所述3D对象模型和/或3D场景模型在目标图像上显示的朝向不同。
可以通过改变渲染相机的角度参数的方式改变渲染结果中3D对象模型和/或3D场景模型的朝向,可以根据目标对象的朝向改变渲染相机的角度参数,从而使得渲染结果中3D对象模型和/或3D场景模型的朝向随着渲染相机的角度参数的改变而改变。
在一些实施例中,在所述目标图像中包括多个目标对象的情况下,所述获取3D对象模型,包括:获取多个所述3D对象模型,所述3D对象模型与所述目标对象分别对应,每个3D对象模型均包括目标区域。
基于此,可以在目标图像中存在多个目标对象的情况下,获取多个3D对象模型,使得渲染的结果中可以包含多个目标对象以及多个3D对象模型,其中多个3D对象模型与多个目标对象对应显示在渲染结果图像上。
进一步的,获取3D对象模型,包括:
对所述目标图像进行识别,得到识别结果;
基于所述识别结果从多个所述3D对象模型中分别确定每个所述目标对象对应的3D对象模型。
可以对目标图像进行识别,根据对目标图像的识别结果确定与目标对象对应的3D对象模型,从而确定每个目标对象对应的3D对象模型,使得渲染结果中目标对象与上述对应的3D对象模型组合显示。
进一步的,在一些实施例中,所述识别结果包括所述目标对象的属性信息,所述3D对象模型与对应的目标对象的属性信息相匹配。
基于此,可以根据目标对象的属性信息确定与所述属性信息匹配的3D对象模型,使得渲染结果中3D对象模型能与带有与所述3D对象模型匹配的属性信息的目标对象对应显示。
在一些实施例中,还可以获取所述目标对象的属性信息;
根据所述目标对象的属性信息,确定所述3D场景模型的属性信息;
所述基于所述3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息,将所述3D场景模型渲染到所述目标图像上,包括:
基于所述3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息以及3D场景模型的属性信息,渲染所述3D场景模型。
可以根据目标对象的属性信息确定3D场景模型的属性信息,实现针对目标图像中不同属性信息的目标对象,渲染不同属性信息的3D场景模型。
根据本公开实施例的第二方面,提供一种特效渲染装置,包括:第一获取模块,用于获取目标图像,所述目标图像中包括目标对象;第二获取模块,用于获取3D对象模型,所述3D对象模型包括目标区域;渲染模块,用于基于所述3D对象模型的深度信息以及所述3D对象模型上除所述目标区域以外的区域的颜色信息,将所述3D对象模型渲染到所述目标图像上,其中,所述目标对象显示在所述目标区域内。
根据本公开实施例的第三方面,提供一种特效渲染设备,包括:处理器;用于存储处理器可执行指令的存储器,该处理器被配置为实现上述任一实施例所述的方法。
根据本公开实施例的第四方面,提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法中步骤。
本公开的实施例所提供的技术方案,获取包括目标对象的目标图像,并获取在目标图像上的虚拟的3D对象模型。由于渲染后的图像中既包括目标对象,又包括3D对象模型,且3D对象模型不能将目标对象遮挡住,因此,3D对象模型中包括用于显示目标对象的目标区域。进而基于3D对象模型的深度信息以及3D对象模型上除目标区域以外的区域的颜色信息,将3D对象模型渲染到目标图像上。通过上述方式将3D对象模型渲染于目标图像上,以使现实的目标对象与虚拟的3D对象模型进行融合,提高趣味性和沉浸感,使用户更有身临其境的感觉。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本公开的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是一示例性实施例提供的特效渲染的方法流程图。
图2是一示例性实施例提供的获取的目标图像的效果图。
图3是一示例性实施例提供的获取的部分3D对象模型和部分3D场景模型的效果图。
图4是一示例性实施例提供的将3D对象模型和3D场景模型渲染到目标图像上的效果图。
图5是一示例性实施例提供的将3D场景模型分为多个子场景模型,并且子场景模型处于运动状态的效果图。
图6是一示例性实施例提供的目标子场景模型在渲染结果中运动的效果图。
图7是一示例性实施例提供的目标对象不同朝向的效果图。
图8是一示例性实施例提供的根据目标对象的朝向调整3D对象模型和3D场景模型的效果图。
图9是一示例性实施例提供的根据目标对象的朝向调整渲染相机视角的效果图。
图10是一示例性实施例提供的特效渲染方法的流程图。
图11是一示例性实施例提供的特效渲染装置的结构示意图。
图12是一示例性实施例提供的特效渲染设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
目前,在对图像进行特效渲染时,一般是将一些特效或者渲染素材渲染到图像中的目标对象上。以目标对象是人脸为例,可以对人脸渲染美颜特效;给人添加装饰如帽子、耳环等贴纸素材;对人脸进行放大、缩小、扭曲等。上述特效渲染方式比较单一,缺乏趣味性。
针对上述问题,本公开实施例提供一种特效渲染方法,适用于对实时拍摄的图像或视频,以及对预先拍摄并存储的图像或视频进行处理。例如针对于实时拍摄图像或视频的场景而言,在拍摄时,可以将目标对象(例如用户的脸或者身体等部位)显示在一个预先制作好的虚拟的3D(三维)模型中,从而提高用户的体验感,增强目标对象与3D模型的融入感,让用户更有身临其境的感觉。
当然,以上的应用场景,仅用于示意性说明,不应理解为对本公开的实施例方案的限定。
为了使本领域技术人员更好地理解本公开的实施例中的技术方案,下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本方案一部分实施例,而不是全部的实施例。基于本公开的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本公开的实施例保护的范围。
参见图1,图1是本公开实施例提供的一种特效渲染的流程图,包括以下步骤:
S102,获取目标图像,所述目标图像中包括目标对象;
S104,获取3D对象模型,所述3D对象模型包括目标区域;
S106,基于所述3D对象模型的深度信息以及所述3D对象模型上除所述目标区域以外的区域的颜色信息,将所述3D对象模型渲染到所述目标图像上,其中,所述目标对象显示在所述目标区域内。
在S102中,可以是在实时通过摄像头拍摄的过程中获取目标图像,也可以是在预先拍摄好的视频或者图像中获取目标图像。由于拍摄或存储的视频帧中可能包括,也可能不包括目标对象,因此,可以先确定拍摄或存储的各个图像中是否包括目标对象,并将包括目标对象的图像确定为目标图像。可以通过对图像进行目标检测来确定图像中是否包括目标对象,也可以基于预先标注的信息确定图像中是否包括目标对象。针对于不包括目标对象的图像,则不进行特效渲染处理。目标对象可以是人脸、人手或人脚等身体部位,也可以是人、动物、植物等活体,还可以是建筑物等非活体。具体可以根据实际的拍摄场景的需求更改目标对象的类型,本公开实施例对目标对象的类型不做限定。
在S104中,可以获取预先制作好的虚拟的3D对象模型,3D对象模型中包括目标区域。在本公开实施例中,3D对象模型可以是动物的模型,如小猪模型、小猴子模型等等,也可以是一面镜子的模型、一幅画的模型等等,具体可以根据实际场景所需要的效果获取预先制作好的不同的3D对象模型。目标区域可以是3D对象模型中的部分模型所占据的区域。例如,3D对象模型中包括的目标区域可以是该3D对象模型中的一个身体部位,例如,3D对象模型是小猪模型的时候,目标区域可以是小猪模型的脸、小猪模型的手或者小猪模型的肚子等等。3D对象模型中包括的目标区域也可以是该3D对象模型中的一个指定范围的区域,例如,3D对象模型是一幅画的模型的时候,目标区域可以是这幅画的中间位置的矩形区域,也可以是画中的某个人或物所包括的范围区域。当然,具体可以根据实际场景所需要的效果设置3D对象模型中的目标区域。本公开实施例在此对3D对象模型以及3D对象模型中的目标区域不做限定。
在S106中,可以基于3D对象模型的深度信息以及3D对象模型上除目标区域以外的区域的颜色信息,将3D对象模型渲染到目标图像上。在一些实施例中,可以是,将目标区域的深度信息赋予目标图像上对应于目标区域的像素点,并将所述3D对象模型中除所述目标区域以外的区域的深度信息和颜色信息赋予目标图像上对应于3D对象模型中除所述目标区域以外的区域的像素点。通过上述方式可以将3D对象模型渲染在目标图像上,并且渲染的结果中,由于只赋予了目标图像上与目标区域对应的像素点3D对象模型的深度信息,因此目标图像中渲染上去的3D对象模型并不会遮住目标图像中的目标对象。因此,最终呈现出来的效果即为将真实世界的目标对象融入于虚拟的3D对象模型中。
在一些实施例中,将3D对象模型渲染于目标图像上时,目标图像上的每个像素点分别对应于3D对象模型中的点,针对于3D对象模型中非目标区域中的点的集合P1,确定P1中每个点的深度信息以及颜色信息,再将P1中每个点的深度信息和颜色信息赋予目标图像上与P1中各个点相对应的像素点;针对于3D对象模型中目标区域中的点的集合P2,确定P2中每个点的深度信息,将P2中每个点的深度信息赋予目标图像上与P2中各个点相对应的像素点(可以是组成目标对象的像素点)。基于上述方式,将3D对象模型渲染于目标图像上。当然,在实际实现过程中,还可以是将确定出来的P1中各个点的深度信息和/或颜色信息进行一定的变换,将P1中各点变换后的深度信息和/或颜色信息赋予相对应的目标图像上的像素点;P2中的点的深度信息也可以作上述变换。对此本公开实施例不作限定。
在一些情况中,为了进一步提高特效渲染结果的丰富程度,除了获取3D对象模型,还可以预先获取预先制作的虚拟的3D场景模型,其中,3D对象模型位于3D场景模型中。其中,3D对象模型用于对目标对象周围的区域进行渲染,目标对象最终显示于3D对象模型中的目标区域位置;3D场景模型用于对目标图像中被3D对象模型渲染的区域以外的区域进行渲染,即对目标图像的背景区域进行渲染。
示例性的,渲染3D场景模型的方式可以是:基于3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息,将3D场景模型渲染到目标图像上,其中,覆盖区域为渲染相机视角下被目标区域覆盖的区域。
在渲染3D场景模型和/或3D对象模型时,存在一个虚拟的渲染相机,能够捕捉到3D对象模型和/或3D场景模型的部分区域,渲染相机捕捉该部分区域的视角即为渲染相机视角。
由于渲染3D场景模型时,3D场景模型会与目标区域存在重合,该重合会导致3D场景模型遮挡住原先想要显示在目标区域的目标对象。因此,为了防止目标对象被3D场景模型遮挡,在渲染3D场景模型时,可以只渲染3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息,进而渲染之后的目标图像中,目标区域中各像素点并未被赋予3D场景模型中与目标区域中各像素点对应的点的颜色信息,因此渲染结果中目标区域依旧显示目标对象。
在渲染相机的视角下,目标区域将覆盖一部分3D场景模型中的覆盖区域。在一个实施例中,在渲染3D场景模型之前,可以剔除掉3D场景模型中被目标区域覆盖的覆盖区域,再基于3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息渲染3D场景模型。在另一个实施例中,在渲染3D场景模型之前,并不剔除掉3D场景模型中被目标区域覆盖的覆盖区域,而是基于3D场景模型的深度信息以及3D场景模型中除了上述覆盖区域以外的区域的颜色信息渲染3D场景模型,即,3D场景模型中的覆盖区域只渲染深度信息,3D场景模型中除覆盖区域以外的区域既渲染深度信息又渲染颜色信息。通过上述任一方式,可以使最终目标图像中所显示的效果为:目标对象显示在3D对象模型中,3D对象模型显示在3D场景模型中。其中,3D对象模型在3D场景模型中的位置可以根据实际需求设置,本公开实施例在此不做限定。
在一些实施例中,将3D场景模型渲染于目标图像上时,目标图像上的每个像素点都会对应于3D场景模型中的点。针对于3D场景模型中非覆盖区域中的点的集合Q1,确定Q1中每个点的深度信息以及颜色信息,再将Q1中每个点的深度信息和颜色信息赋予目标图像上与Q1中各个点相对应的像素点;针对于3D场景模型中覆盖区域中的点的集合Q2,确定Q2中每个点的深度信息,将Q2中每个点的深度信息赋予目标图像上与Q2中各个点相对应的像素点。基于上述方式,将3D场景模型渲染于目标图像上。当然,在实际实现过程中,还可以是将确定出来的Q1中各个点的深度信息和/或颜色信息进行一定的变换,将Q1中各点变换后的深度信息和/或颜色信息赋予相对应的目标图像上的像素点;Q2中的点的深度信息也可以作上述变换。对此本公开实施例不作限定。
在一个具体的实施例中,图2为获取的目标图像,其中,该图像中的目标对象为女孩的脸。图3为获取的3D对象模型的一部分以及3D场景模型的一部分,其中,3D对象模型如图中301所示,即为图中带有人脸模型的小动物的模型;3D对象模型中的目标区域如图中302所示,即为图中人脸模型的区域;3D场景模型如图中303所示,包括了除3D对象模型以外,其它的所有模型。将图3中3D对象模型和3D场景模型渲染到图2中目标图像中的效果图如图4所示,目标对象(图2中女孩的脸)依旧显示在渲染之后的目标图像中,而原目标图像中其它区域都被3D对象模型和3D场景模型的特效所覆盖。可见,通过上述特效渲染方法,可以将目标对象融入到预先制作好的3D对象模型和3D场景模型中,使用户更有身临其境的感觉,趣味性和沉浸感更强。在另一个实施例中,也可以获取图3中所包含的3D对象模型,将该3D对象模型渲染到图2中目标图像中的效果即为:目标对象显示在预先制作好的3D对象模型中。对此,本公开不再进行赘述。
将目标对象融入到3D对象模型和/或3D场景模型中之后,为了进一步增强3D模型的趣味性,在本公开的一些实施例中,还可以预先设置3D对象模型的运动动画和/或3D场景模型的运动动画。在3D建模时,可以按照实际需求将3D对象模型和3D场景模型进行分块,例如将3D对象模型分为多个子对象模型,每个子对象模型可以是3D对象模型上的部分区域;和/或将3D场景模型分为多个子场景模型,每个子场景模型可以是3D场景模型上的部分区域。并给一个或多个子对象模型和/或一个或多个子场景模型设置在各自运动路径上的运动动画;渲染模型之后,每个子对象模型和/或子场景模型沿着各自对应的运动路径进行运动;即可实现将目标对象融入在运动的3D对象模型和/或3D场景模型中的效果。当然,根据实际应用的需求,可以只设置3D对象模型的运动动画,而不设置3D场景模型的运动动画;或者只设置3D场景模型的运动动画,而不设置3D对象模型的运动动画;本公开在此不做限定。
其中,目标子对象模型的运动路径上包括起始位置,目标子对象模型的运动路径上的起始位置也可以根据实际需求进行设置。当目标子对象模型运动超出目标图像的显示范围时,可以将运动超出目标图像显示范围的目标子对象模型重新渲染在目标子对象模型运动路径的起始位置,还可以继续维持目标子对象模型的运动。
目标子对象模型的运动路径上还可以存在多个起始位置,则此时若目标子对象模型运动超出目标图像的显示范围,在重新渲染目标子对象模型的位置时,可以随机选择多个起始位置中的任意一个起始位置,也可以根据预先设置好的规则选择多个起始位置中的其中一个起始位置。而且,目标子对象模型在运动时,运动速度和/或运动路径可以根据实际需求而设置,目标子对象模型在运动时,还可以根据预先设置好的规则改变目标子对象模型的运动速度和/或运动路径;而且,目标子对象模型的运动路径上的起始位置也可以随着目标子对象模型的运动路径的改变而改变。基于此,使得目标子对象模型可以在目标图像上显示时,进行一定的循环运动,以提高趣味性。
目标子场景模型的运动路径上包括起始位置,目标子场景模型的运动路径上的起始位置也可以根据实际需求进行设置。当目标子场景模型运动超出目标图像的显示范围时,可以将运动超出目标图像显示范围的目标子场景模型重新渲染在目标子场景模型运动路径的起始位置,进一步的,还可以维持目标子场景模型的运动。
目标子场景模型的运动路径上还可以存在多个起始位置,则此时若目标子场景模型运动超出目标图像的显示范围,需要重新渲染目标子场景模型的位置时,可以随机选择多个起始位置中的任意一个起始位置,也可以根据预先设置好的规则选择多个起始位置中的其中一个起始位置。而且,目标子场景模型在运动时,运动速度和/或运动路径可以根据实际需求而设置,目标子场景模型在运动时,还可以根据预先设置好的规则改变目标子场景模型的运动速度和/或运动路径;而且,目标子场景模型的运动路径上的起始位置也可以随着目标子场景模型的运动路径的改变而改变。基于此,可以使目标子场景模型在目标图像上显示时,进行一定的循环运动,以提高趣味性。本公开实施例只是示例性地举出几种实施方式以及实施方式的组合,本公开实施例在此处并非作为限定。
目标子对象模型和/或目标子场景模型在运动的过程中超出目标图像的显示范围可以是目标子对象模型和/或目标子场景模型的整个块都超出了目标图像的显示范围,也可以是目标子对象模型和/或目标子场景模型的部分块超出了目标图像的显示范围,具体的设置方式根据实际需求而定,本公开在此不做限定。在一个具体的实施例中,参见图5,如图5中(5-1)所示,预先将地面场景分为5个子场景模型,从左到右的各个块分别记为块501、块502、块502、块504、块505,此时的状态为将该地面场景渲染在目标图像之后的初始状态,令该地面场景中块501为目标子场景模型,目标子场景模型501目前所在的位置为该目标子场景模型的起始位置,且目标子场景模型501的运动方向为从左往右,目标子场景模型501的运动路径为整个显示的地面场景。其中,目标图像的显示范围即为该地面场景中5个子场景模型所显示的范围。经过一段时间的运动,地面场景如图5中(5-2)所示,其中,此时目标子场景模型501的位置如图所述。再经过一段时间的运动,目标子场景模型501的位置如图5中(5-3)所示,目标子场景模型501已经运动超出了地面场景的显示范围,即目标子场景模型501运动超出了目标图像的显示范围;此时,针对于运动超出了目标图像的显示范围的目标子场景模型501,将目标子场景模型501快速移动回目标子场景模型501运动路径上的初始位置,快速移动的过程如图5中(5-3)至图5中(5-4)至图5中(5-1)所示(目标子场景模型501的位置如图5中(5-3)、图5中(5-4)以及图5中(5-1)所示),最终将该目标子场景模型501重新渲染在目标子场景模型501的运动路径上的起始位置,即如图5中(5-1)中目标子场景模型501所在的位置,实现的效果为整个场景呈现为处于一定循环运动的状态的动画效果。当然,上述分块的方式并不限定于上述子场景模型的分块方式,例如,根据实际情况和实际需求,块的形状、大小、数量、运动方式等任意一种或多种参数可以与图中所示的情况不同。
在一个基于渲染了3D对象模型和3D场景模型的实施例中,3D对象模型包括多个子对象模型,3D场景模型包括多个子场景模型,一定数量的子对象模型和/或子场景模型沿着各自运动路径进行运动。参见图6,图6为一段渲染了3D对象模型和3D场景模型的视频中的三帧图像。在本公开实施例中,目标图像可以是目标图像帧,对此不作限定。如图6中(6-1)所示,在3D场景模型上方有一个太阳和一朵云,此时将太阳和云总体设置为目标子场景模型601,目标子场景模型601在运动了一段时间后显示的位置如图6中(6-2)所示。当目标子场景模型601再运动一段时间后,显示的位置如图6中(6-3)所示,此时整个目标子场景模型即将移动超出目标图像的显示范围;当整个目标子场景模型601移动超出目标图像的显示范围的时候,将目标子场景模型601快速移动回图6中(6-1)中所在的初始位置,并维持目标子场景模型601的运动,使得展示的场景为无限循环的动画效果,具有较高的趣味性。当然,本公开此处只是作举例说明,并步作为限定。
在获取的目标图像中,存在获取的多个图像中,目标对象的朝向不同。目标对象的朝向可以是目标对象所面对的方向,例如目标对象为人脸时,人脸的朝向即为目标对象的朝向;目标对象为人的手时,目标对象的朝向可以是手心的朝向,也可以是手指的朝向等等,可以根据具体场景而预先设定。在本公开一个具体的实施例中,如图2、图7中(7-1)、图7中(7-2)所示,这三张图中的女孩的脸的朝向是不同的。为了使得渲染的效果更加逼真,更具有趣味性,在渲染3D对象模型和3D场景模型之前,还可以先获取目标对象的朝向,基于目标对象的朝向调整3D对象模型和/或3D场景模型的朝向。具体的,可以是先确定目标对象的朝向,根据目标对象的朝向确定3D对象模型和/或3D场景模型的朝向,例如调整3D对象模型的朝向以使渲染的结果中目标对象的朝向与3D对象模型的朝向一致。例如,目标对象的朝向向左,则调整3D对象模型以使渲染的结果中3D对象模型的朝向也向左。
其中,获取目标对象的朝向的方式可以是提取目标图像的特征,基于朝向识别的算法计算目标对象的朝向;也可以是预先训练用于确定目标对象的朝向的神经网络,利用该神经网络确定目标对象的朝向,对此本公开实施例不作限定。
在本公开实施例中,如图4、图8中(8-1)、图8中(8-2)所示,分别为渲染上述三张图(图2、图7中(7-1)、图7中(7-2))的效果图。在渲染3D对象模型和3D场景模型之前,根据女孩的脸的朝向,调整3D对象模型和3D场景模型的朝向,使得女孩的脸的朝向与3D对象模型和3D场景模型的朝向相匹配,使最终渲染出来的效果更真实、更具有趣味性。在一个实施例中,可以通过solve PnP算法(位姿估计鲁棒算法),利用检测到人脸上的关键点和标准3D人头上的对应点计算3D对象模型和3D场景模型的transform矩阵(变换矩阵),进而对3D对象模型和3D场景模型进行朝向的调整。当然,可以根据实际需求,可以基于目标对象的朝向只调整3D对象模型的朝向而不调整3D场景模型的朝向;或者只调整3D场景模型的朝向而不调整3D对象模型的朝向,本公开实施例在此不做限定。该实施例中,目标对象为女孩的脸,在实际的场景中,目标对象还可以是人的手,则目标对象的朝向即为手指的朝向;目标对象还可以是一辆车,目标对象的朝向即为车头的朝向等等,本公开在此不做限定。调整3D对象模型朝向的角度参数可以根据实际需求而定,可以调整为3D对象模型的朝向与目标对象的朝向相同,也可以调整为3D对象模型的朝向与目标对象的朝向始终垂直,或者调整为3D对象模型的朝向与目标对象的朝向呈任意角度等等;调整3D场景模型的朝向时,可以调整为3D场景模型的朝向与目标对象的朝向相同,也可以调整为3D场景模型的朝向与目标对象的朝向始终垂直,或者调整为3D场景模型的朝向与目标对象的朝向呈任意角度等等,本公开实施例在此不做限定。
在一个基于目标对象的朝向调整3D对象模型的例子中,参见图9中(9-1),图中箭头为图中渲染相机的视角,右侧豹子模型为3D对象模型,假设此时目标对象的朝向为向右,此时豹子模型的朝向也向右;当目标对象的朝向为向左时,渲染出来的效果如图9中(9-2)所示,此时豹子模型的朝向也调整为朝向左。在本实施例中,渲染相机的视角并未改变,本实施例只是作为举例说明,并不作为限定。
通过上述方式,基于目标对象的朝向调整3D对象模型和/或3D场景模型的朝向,进而使得渲染结果中3D对象模型和/或3D场景模型的显示方式多样化,提高趣味性。
在渲染3D对象模型和3D场景模型之前,除了可以基于目标对象的朝向调整3D对象模型和3D场景模型的朝向,还可以基于目标对象的朝向调整渲染相机的角度参数。其中,渲染相机的角度参数即为渲染相机渲染3D对象模型和/或3D场景模型时,渲染相机相对于3D对象模型和/或3D场景模型的角度。具体的,可以是先确定目标对象的朝向,根据目标对象的朝向确定渲染相机渲染的角度,例如调整渲染相机的渲染的角度以使渲染的结果中目标对象的朝向与3D对象模型的朝向一致。例如,目标对象的朝向向左,则调整渲染相机的渲染的角度以使渲染结果中3D对象模型的朝向也是向左。
在一个具体的实施例中,图2、图7中(7-1)、图7中(7-2)中女孩的脸的朝向不同,根据女孩的脸的朝向,不调整3D对象模型和3D场景模型的朝向,而是调整渲染相机的角度参数,最终渲染出来的效果如图4、图8中(8-1)、图8中(8-2)所示。可见,根据女孩的脸的朝向调整渲染相机的角度参数,也可以使渲染的效果更加逼真,更具有趣味性。调整渲染相机的角度参数可以根据实际需求而定,可以调整为渲染相机的角度与目标对象的朝向相同或相反;也可以调整为渲染相机的角度与目标对象的朝向呈任意角度等等,本公开实施例在此不做限定。
在一个基于目标对象的朝向调整渲染相机的角度参数的例子中,参见图9中(9-1),图中箭头为图中渲染相机的视角,右侧豹子模型为3D对象模型,假设此时目标对象的朝向为向右,此时渲染相机的视角朝向向右;当目标对象的朝向为向左时,调整渲染相机的角度参数,如图9中(9-3)所示,此时渲染相机的视角朝向向左。在本实施例中,3D对象模型的朝向并未改变。本实施例只是作为举例说明,并不作为限定。
通过上述方式,基于目标对象的朝向调整渲染相机的角度参数,也可以使得渲染结果中3D对象模型和/或3D场景模型的显示方式多样化,提高趣味性。
当然,基于实际应用中的需求,还可以基于目标对象朝向,同时调整3D对象模型和/或3D场景模型的朝向,以及渲染相机的角度参数。具体调整的方式,本公开实施例不做限定。
在实际拍摄过程中或者选取的图像中,存在目标图像中同时出现多个目标对象的情况。在目标图像中包括多个目标对象的情况下,渲染3D对象模型的方法还包括:获取多个3D对象模型,3D对象模型与目标对象一一对应,其中,每个3D对象模型中均包括目标区域。可以是预先检测到目标图像中存在多个目标对象的情况下,获取与目标对象数量相等的包括目标区域的3D对象模型,将每个目标对象分别显示于一个3D对象模型的目标区域中。丰富了目标图像存在多个目标对象时的渲染方式,提升趣味性。
基于该方法,获取多个3D对象模型,将每个目标对象分别显示在与目标对象一一对应的3D对象模型中,最终渲染出来的效果为:目标图像中包括了多个3D对象模型,每个3D对象模型中都包括一个目标对象。根据实际应用场景的需求,不同的目标对象对应的3D对象模型可以是同一个3D对象模型,也可以是不同的3D对象模型。例如,目标图像中包括3个目标对象的情况下,在一种情况中,获取3个相同的小猪模型(3D对象模型),每个目标对象对应一个小猪模型,进而再进行特效渲染;在另一种情况中,获取3个不相同的模型,如一个小猪模型,一个小狗模型和一个小羊模型,每个目标对象分别对应其中一个3D对象模型,具体对应的方式在此不做限定;还有,在另一个情况中,获取的3个3D对象模型中,2个小猪模型和1个小羊模型,每个目标对象分别对应其中一个3D对象模型,具体的对应方式在此不做限定。
在一些实施例中,可以先对获取的目标图像进行识别,确定目标图像中是否含有多个目标对象;若是,则进一步进行识别,根据识别的结果从多个3D对象模型中确定每个目标对象对应的3D对象模型,进行一一匹配显示。可以是识别目标图像的特征,确定与目标图像的特征相对应的3D对象模型与目标图像进行匹配显示。
在一些具体的实施例中,多个用户在自拍的场景下,此时目标对象为人脸,若目标图像中同时出现了2个人脸的情况,可以获取2个3D对象模型,其中,2个人脸与2个3D对象模型一一对应,两个3D对象模型中均包括目标区域。最终渲染出来的效果即为:目标图像中存在两个3D对象模型,2个3D对象模型中的目标区域分别显示上述2个人脸。通过上述方法,可以实现将多个目标对象都分别融入于多个3D对象模型中,使得目标图像中的多个目标对象同时体验到本公开实施例中的特效渲染的趣味性和沉浸感。
在一些实施例中,目标对象为人脸,3D对象模型中包括虚拟人脸模型,还可以对目标图像中的人脸进行人脸识别,得到人脸识别的结果;基于人脸识别的结果确定该人脸对应的3D对象模型。在一个具体的实施例中,目标图像中包括2个人脸的情况下,获取2个不相同的3D对象模型,例如1个小猪模型和1个小羊模型;可以获取这2个人脸的特征信息,例如这2个人脸的眼睛信息、鼻子信息、嘴巴信息等等;基于人脸的特征信息,进行人脸识别,进而确定每个人脸所对应的身份,基于每个人脸的身份确定每个人脸对应的3D对象模型。例如,2个人脸分别为人脸A、人脸B,基于人脸的特征信息,进行人脸识别,确定人脸A和人脸B的身份;并确定人脸A对应的3D对象模型为小猪模型,确定人脸B对应的3D对象模型为小羊模型。基于上述方法,可以确定每个不同的人脸各自对应一个不同的3D对象模型,以增强特效渲染的趣味性、真实性。例如,当用户A和用户B在拍摄时,终端设备通过人脸识别,确定用户A的脸对应小猪模型,用户B的脸对应小羊模型;拍摄时即使用户A的脸在一段时间内离开了摄像头能捕捉到的范围,即在一段时间内用户A的脸并未显示在目标图像中,之后用户A的脸再次出现在目标图像中时,终端设备通过人脸识别,依旧能够获取与用户A的脸对应的小猪模型,并将用户A的脸显示在小猪模型中。当然,上述实施例中人脸的数量在此并不作为限定。在确定人脸与3D对象模型的对应关系时可以根据实际场景进行定义,例如,更大的人脸对应小猪模型等等;对此,本公开实施例不做限定。
在上述实施例中,目标对象还可以是例如一朵花,则属性信息可以是花的类型,花的颜色等等;目标对象还可以是例如建筑物,则属性信息可以是建筑物的高度,建筑物的颜色等等。对此,本公开实施例不作限定。
在用户实际拍摄过程中或者用户选取的图像中,为了进一步增强特效渲染的趣味性,还可以识别目标对象的属性信息,3D对象模型与对应的目标对象的属性信息相匹配。
可以是先检测目标对象的属性信息,当目标对象为人时,属性信息例如年龄、性别等等;当目标对象为一朵花时,属性信息例如颜色、花种类等等。再根据目标对象的属性信息确定与目标对象的属性信息相匹配的3D对象模型,用于渲染。在一些具体的实施例中,目标对象为人脸时,可以根据人脸上的各个特征点的信息计算出用户的性别、年龄等用户属性信息;例如,根据用户的性别信息,获取与用户性别信息匹配的3D对象模型;例如,目标对象为男性的人脸时,获取短头发、肌肉较为发达的3D对象模型;目标对象为女性的人脸时,获取长头发、身材纤细的3D对象模型。在另一个例子中,根据人脸的各个特征点的信息计算出用户的年龄属性,根据用户的年龄属性,获取与用户年龄属性匹配的3D对象模型;例如,目标对象为儿童的人脸时,获取可爱的小动物的3D对象模型;目标对象为成年人的人脸时,获取凶猛的野兽的3D对象模型等等。当然,除了上述列举的人脸属性信息的例子之外,还包括很多其它人脸属性信息,比如是否佩戴眼镜等等。除了人脸属性信息之外,还包括其它属性信息,例如当目标对象为人手时,手的属性如手的大小、手衰老的程度等;目标对象为一棵树时,树的属性可以是数的类型、树的高度等等。针对于以上列举的属性示例,都可以基于目标对象的属性信息,确定预先制作与上述属性相匹配的3D对象模型。上述皆为列举的一些实施例,都是举例说明,在此本公开并不作为限定。
在一个具体的实施例中,3D对象模型包括虚拟人脸模型时,不仅可以根据目标对象的属性信息来获取与目标对象属性信息匹配的3D对象模型,还可以根据目标对象的属性信息确定所要渲染的3D场景模型的属性,具体实现为,渲染3D场景模型还包括:获取目标对象的属性信息;根据目标对象的属性信息,确定3D场景模型的属性信息,基于3D场景中的覆盖区域以外的区域的深度信息和颜色信息以及3D场景模型的属性信息,渲染3D场景模型。
可以是先检测目标对象的属性信息,根据目标对象的属性信息确定与目标对象的属性信息相匹配的3D场景模型的属性信息,进而确定出所要渲染的3D场景模型,用于渲染。在一个具体的实施例中,例如目标对象为人脸时,可以根据人脸上的各个特征点的信息计算出用户的性别、年龄等用户属性信息;例如根据用户的年龄信息,确定与用户年龄信息匹配的3D场景模型的属性信息,例如目标对象为儿童的脸,则确定3D场景模型的属性为儿童属性,则渲染包括了儿童元素在内的3D场景模型,儿童元素包括可爱的卡通角色等等;若目标对象为成年人的脸时,则确定3D场景模型的属性为成年人属性,则渲染包括了成年人元素在内的3D场景模型,成年人元素包括凶猛的野兽等等。若根据用户的性别属性确定3D场景模型的属性信息的话,根据用户的女性属性可以确定包括了女性元素在内的3D场景模型,根据用户的男性属性可以确定包括了男性元素在内的3D场景模型,其中,女性属性可以是3D场景模型的颜色为粉色系列等等,男性属性可以是3D场景模型的颜色为蓝色系列等等。本公开实施例在此只是进行了举例说明,并不作为限定。
在上述实施例中,目标对象还可以是例如一朵花,则属性信息可以是花的类型,花的颜色等等;目标对象还可以是例如建筑物,则属性信息可以是建筑物的高度,建筑物的颜色等等。对此,本公开实施例不作限定。
在一些实施例中,可以是先确定目标对象的属性信息,根据目标对象的属性信息确定相应属性信息的第一3D场景模型。在渲染第一3D场景模型时,目标图像上的点都分别对应第一3D场景模型上的点。针对第一3D场景模型中非目标区域的点的集合M1,确定M1中每个点的深度信息以及颜色信息,再将M1中每个点的深度信息和颜色信息赋予目标图像上与M1中各个点相对应的像素点;针对于第一3D场景模型中覆盖区域中的点的集合M2,确定M2中每个点的深度信息,将M2中每个点的深度信息赋予目标图像上与M2中各个点相对应的像素点。基于上述方式,将第一3D场景模型渲染于目标图像上。
在一些实施例中,还可以是先确定目标对象的属性信息,根据目标对象的属性信息确定3D场景模型的属性信息。在渲染所述3D场景模型时,目标图像上的点都分别对应3D场景模型上的点。针对3D场景模型中非目标区域的点的集合N1,确定N1中每个点的深度信息以及颜色信息,再根据上述属性信息按照一定的预设规则改变所述颜色信息;将N1中每个点的深度信息和改变后的颜色信息赋予目标图像上与N1中各个点相对应的像素点;针对于3D场景模型中覆盖区域中的点的集合N2,确定N2中每个点的深度信息,将N2中每个点的深度信息赋予目标图像上与N2中各个点相对应的像素点。基于上述方式,将3D场景模型渲染于目标图像上。
以上实施例均为本公开实施例的举例说明。
参见图10,图10为本公开一个实施例的具体流程图。
根据S1002,获取目标图像,所述目标图像中包括目标对象;目标图像的可以是在用户实时通过摄像头拍摄的过程中获取目标图像,也可以是在预先拍摄好的视频或者图像中获取目标图像;目标对象可以是人脸、人手或人脚等身体部位,也可以是小动物、植物,还可以是建筑物等等,用户可以根据实际的拍摄场景修改目标对象的类型;目标对象的个数可以是一个或者多个。根据S1004,获取预先制作好的虚拟的3D对象模型和3D场景模型,3D对象模型中包括目标区域;3D对象模型位于3D场景模型中。其中,获取的3D对象模型可以是针对一个目标对象获取一个3D对象模型,也可以是针对多个目标对象获取等量的3D对象模型;其中,上述等量的3D对象模型可以是等量的相同的3D对象模型,也可以是等量的不相同的3D对象模型,在此本公开不做限定。根据S1006,基于所述3D场景模型的深度信息以及所述3D对象模型上除所述目标区域以外的区域的颜色信息,以及基于所述3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息,将所述3D对象模型和所述3D场景模型渲染到所述目标图像上,其中,所述目标对象显示在所述目标区域内,所述覆盖区域为渲染相机视角下被所述目标区域覆盖的区域;其中,针对于渲染3D场景模型,可以在渲染3D场景模型之前剔除掉3D场景模型中被目标区域覆盖的覆盖区域,再基于3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息渲染3D场景模型;也可以在渲染3D场景模型之前,并不剔除掉3D场景模型中被目标区域覆盖的覆盖区域,而是基于3D场景模型的深度信息以及3D场景模型中除了上述覆盖区域以外的区域的颜色信息渲染3D场景模型。渲染完成后在目标图像上显示的效果为:目标对象显示在预先制作好的3D对象模型中的目标区域中,3D对象模型位于3D场景模型中。即,将目标对象融入于虚拟的3D对象模型和3D场景模型中,让用户更有身临其境的感觉,进而提高用户的体验感。
当然,以上所有实施例均是举例说明,其中的算法也只是举例说明,并不作为本公开的实施例的限定。本公开的实施例中可以使用一种或多种算法计算目标对象的属性信息、特征信息,本公开的实施例在此不展开阐述。
以上所述仅是本公开的实施例的具体实施方式,并不作为本方案的限定。应当指出,对于本技术领域的普通技术人员来说,在不脱离本方案原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本方案的保护范围。
参见图11,本公开实施例还提供一种特效渲染的装置,该装置包括:
第一获取模块1102,用于获取目标图像,所述目标图像中包括目标对象;
第二获取模块1104,用于获取3D对象模型,所述3D对象模型包括目标区域;
渲染模块1106,用于基于所述3D对象模型的深度信息以及所述3D对象模型上除所述目标区域以外的区域的颜色信息,将所述3D对象模型渲染到所述目标图像上,其中,所述目标对象显示在所述目标区域内。
在一些实施例中,第一获取模块1102获取的目标图像可以是用户实时通过摄像头拍摄获取的目标图像,也可以是预先拍摄好的视频或者图像中获取目标图像。获取目标图像之前,首先确定图像中是否包括目标对象,获取包括目标对象的目标图像,针对于不包括目标对象的图像,可以不进行特效渲染处理。目标对象可以是人脸、人手或人脚等身体部位,也可以是小动物,还可以是建筑物等等,用户可以根据实际的拍摄场景修改目标对象的类型。
在一些实施例中,第二获取模块1104获取的3D对象模型为预先制作好的虚拟的3D对象模型,3D对象模型中包括目标区域。其中,3D对象模型类型可以是一个小动物,如一头小猪、一只小猴子等等,也可以是一面镜子、一幅画等等,可以根据实际场景所需要的效果获取预先制作好的不同类型的3D对象模型。3D对象模型中包括的目标对象可以是该3D对象模型的一个身体部位,例如,3D对象模型是一头小猪的时候,目标区域可以是小猪的脸、小猪的手或者小猪的脚等;3D对象模型中包括的目标对象也可以是该3D对象模型中的一个指定范围,例如,3D对象模型是一幅画的时候,目标区域可以是这幅画的中间位置的矩形区域,也可以是画中的某个人或物所包括的范围。当然,可以根据实际场景所需要的效果设置3D对象模型中的目标区域。
在一些实施例中,第二获取模块1104还可以获取预先制作的虚拟的3D场景模型,其中,3D对象模型位于3D场景模型中。
在一些实施例中,渲染模块1106将3D对象模型渲染在目标图像上时,可以是将目标区域的深度信息赋予目标图像上对应于目标区域的像素点,并将所述3D对象模型中除所述目标区域以外的区域的深度信息和颜色信息赋予目标图像上对应于3D对象模型中除所述目标区域以外的区域的像素点。最终呈现出来的效果即为将真实世界的一部分融入虚拟的3D对象模型中,将目标对象融入与3D对象模型中。
在一些实施例中,渲染模块1106还将3D对象模型和3D场景模型渲染都在目标图像上。其中,3D对象模型位于3D场景模型中,基于上一个实施例中渲染3D对象模型的方式,还包括:在渲染相机的视角下,目标区域将覆盖一部分3D场景模型中的覆盖区域,在一个实施例中,在渲染3D场景模型之前剔除掉3D场景模型中被目标区域覆盖的覆盖区域,再基于3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息渲染3D场景模型,使最终目标图像中所显示的效果为:目标对象显示在3D对象模型中,3D对象模型显示在3D场景模型中。在另一个实施例中,在渲染3D场景模型之前,并不剔除掉3D场景模型中被目标区域覆盖的覆盖区域,而是基于3D场景模型的深度信息以及3D场景模型中除了上述覆盖区域以外的区域的颜色信息渲染3D场景模型,使最终目标图像中所显示的效果为:目标对象显示在3D对象模型中,3D对象模型显示在3D场景模型中。
在一些实施例中,本公开实施例中装置还包括动画设置模块,用于预先设置3D对象模型的运动动画和3D场景模型的运动动画。在一个具体的实施例中,在3D建模时,该动画设置模块先按照需求先将3D对象模型和/或3D场景模型进行分块,例如将3D对象模型分为多个子对象模型,将3D场景模型分为多个子场景模型;渲染模型之后,3D子对象模型和/或3D子场景模型沿着各自对应的运动路径进行运动;即可实现将目标对象融入在运动的3D对象模型和/或3D场景模型中的效果。当然,根据实际应用的需求,还可以只设置3D对象模型的运动动画,而不设置3D场景模型的运动动画;或者只设置3D场景模型的运动动画,而不设置3D对象模型的运动动画;以满足用户的个性化需求。由于每个块在运动的过程中,会存在目标3D子对象模型和/或3D子场景模型运动超出目标图像的显示范围的情况。在一个具体的实施例中,上述动画设置模块还包括移动子单元,移动子单元用于针对于运动超出了目标图像的显示范围的目标3D子对象模型和/或目标3D子场景模型,将目标3D子对象模型和/或目标3D子场景模型快速移动回初始位置,并维持目标3D子对象模型和/或目标3D子场景模型的运动。
在一些实施例中,第一获取模块1102还可以用于获取目标对象的朝向,本公开实施例中装置还包括第一调整模块,用于基于目标对象的朝向调整3D模型和/或3D场景模型的朝向。本公开实施例中装置还包括第二调整模块,用于基于目标对象的朝向调整渲染相机的角度参数。
在一些实施例中,本公开实施例中装置还包括对应模块,用于当目标图像中包括多个目标对象的情况时,获取多个3D对象模型,3D对象模型与目标对象一一对应,其中,每个3D对象模型中均包括目标区域。
在一些实施例中,本公开实施例中装置还包括识别模块,对目标图像进行识别,得到识别结果;进而基于识别结果从多个3D对象模型中分别确定每个目标对象对应的3D对象模型。
在一些实施例中,识别模块可以获取目标对象的属性信息,根据目标对象的属性信息,获取与目标对象的属性信息匹配的3D对象模型。
在一些实施例中,还可以根据识别模块获取的目标对象的属性信息,确定确定3D场景模型的属性信息,基于3D场景模型中上述覆盖区域以外的区域的深度信息和颜色信息。以及3D场景模型的属性信息渲染3D场景模型。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本公开特效渲染装置的实施例可以应用在计算机设备上,例如服务器或终端设备。在一个实施例中,计算机设备上还包括摄像头;其中,摄像头用于获取用户实时拍摄到的目标图像。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图12所示,为本公开实施例特效渲染装置所在计算机设备的一种硬件结构图,除了图12所示的处理器1210、内存1230、网络接口1220、以及非易失性存储器1240之外,实施例中装置1231所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (15)
1.一种特效渲染方法,其特征在于,所述方法包括:
获取目标图像,所述目标图像中包括目标对象;
获取3D对象模型,所述3D对象模型包括目标区域;
基于所述3D对象模型的深度信息以及所述3D对象模型上除所述目标区域以外的区域的颜色信息,将所述3D对象模型渲染到所述目标图像上,其中,所述目标对象显示在所述目标区域内。
2.根据权利要求1所述方法,其特征在于,所述基于所述3D对象模型的深度信息以及所述3D对象模型上除所述目标区域以外的区域的颜色信息,将所述3D对象模型渲染到所述目标图像上,包括:
将目标区域的深度信息赋予目标图像上对应于目标区域的像素点,并将所述3D对象模型中除所述目标区域以外的区域的深度信息和颜色信息赋予目标图像上对应于3D对象模型中除所述目标区域以外的区域的像素点。
3.根据权利要求1所述方法,其特征在于,所述3D对象模型位于预先获取的3D场景模型中,所述方法还包括:
基于所述3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息,将所述3D场景模型渲染到所述目标图像上,其中,所述覆盖区域为渲染相机视角下被所述目标区域覆盖的区域。
4.根据权利要求3所述方法,其特征在于,所述3D对象模型包括多个子对象模型,所述3D对象模型包括的至少一个子对象模型沿着所述子对象模型对应的运动路径进行运动;所述子对象模型包括所述3D对象模型上的部分区域;
和/或
所述3D场景模型包括多个子场景模型,所述3D场景模型包括的至少一个子场景模型沿着所述子场景模型对应的运动路径进行运动;所述子场景模型包括3D场景模型上的部分区域。
5.根据权利要求4所述方法,其特征在于,所述子对象模型从所述子对象模型对应的运动路径上的起始位置开始沿着所述子对象模型对应的运动路径进行运动,所述方法还包括:
获取所述目标图像的显示范围,将运动超出所述显示范围的目标子对象模型渲染在所述目标子对象模型的运动路径上的起始位置。
6.根据权利要求4所述方法,其特征在于,所述子场景模型从所述子场景模型对应的运动路径上的起始位置开始沿着所述子场景模型对应的运动路径进行运动,所述方法还包括:
获取所述目标图像的显示范围,将运动超出所述显示范围的目标子场景模型渲染在所述目标子场景模型的运动路径上的起始位置。
7.根据权利要求1或3所述方法,其特征在于,在渲染所述3D对象模型和/或3D场景模型之前,所述方法还包括:
获取所述目标对象的朝向;
基于所述目标对象的朝向调整所述3D对象模型和/或所述3D场景模型的朝向。
8.根据权利要求1或3所述方法,其特征在于,在渲染所述3D对象模型和/或3D场景模型之前,所述方法还包括:
获取所述目标对象的朝向;
基于所述目标对象的朝向调整渲染相机的角度参数;其中,不同角度参数下所述3D对象模型和/或3D场景模型在目标图像上显示的朝向不同。
9.根据权利要求1所述方法,其特征在于,在所述目标图像中包括多个目标对象的情况下,所述获取3D对象模型,包括:
获取多个所述3D对象模型,所述3D对象模型与所述目标对象分别对应,每个3D对象模型均包括目标区域。
10.根据权利要求9所述方法,其特征在于,所述获取3D对象模型,包括:
对所述目标图像进行识别,得到识别结果;
基于所述识别结果从多个所述3D对象模型中分别确定每个所述目标对象对应的3D对象模型。
11.根据权利要求10所述方法,其特征在于,所述识别结果包括所述目标对象的属性信息,所述3D对象模型与对应的目标对象的属性信息相匹配。
12.根据权利要求3所述方法,其特征在于,所述方法还包括:
获取所述目标对象的属性信息;
根据所述目标对象的属性信息,确定所述3D场景模型的属性信息;
所述基于所述3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息,将所述3D场景模型渲染到所述目标图像上,包括:
基于所述3D场景模型中的覆盖区域以外的区域的深度信息和颜色信息以及3D场景模型的属性信息,渲染所述3D场景模型。
13.一种特效渲染装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标图像,所述目标图像中包括目标对象;
第二获取模块,用于获取3D对象模型,所述3D对象模型包括目标区域;
渲染模块,用于基于所述3D对象模型的深度信息以及所述3D对象模型上除所述目标区域以外的区域的颜色信息,将所述3D对象模型渲染到所述目标图像上,其中,所述目标对象显示在所述目标区域内。
14.一种特效渲染设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至12任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至12中任一项所述方法中步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210114061.5A CN114494556A (zh) | 2022-01-30 | 2022-01-30 | 一种特效渲染方法、装置、设备及存储介质 |
PCT/CN2022/134990 WO2023142650A1 (zh) | 2022-01-30 | 2022-11-29 | 特效渲染 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210114061.5A CN114494556A (zh) | 2022-01-30 | 2022-01-30 | 一种特效渲染方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114494556A true CN114494556A (zh) | 2022-05-13 |
Family
ID=81479226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210114061.5A Pending CN114494556A (zh) | 2022-01-30 | 2022-01-30 | 一种特效渲染方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114494556A (zh) |
WO (1) | WO2023142650A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023142650A1 (zh) * | 2022-01-30 | 2023-08-03 | 上海商汤智能科技有限公司 | 特效渲染 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9947139B2 (en) * | 2014-06-20 | 2018-04-17 | Sony Interactive Entertainment America Llc | Method and apparatus for providing hybrid reality environment |
CN109147023A (zh) * | 2018-07-27 | 2019-01-04 | 北京微播视界科技有限公司 | 基于人脸的三维特效生成方法、装置和电子设备 |
CN109147037B (zh) * | 2018-08-16 | 2020-09-18 | Oppo广东移动通信有限公司 | 基于三维模型的特效处理方法、装置和电子设备 |
CN112738420B (zh) * | 2020-12-29 | 2023-04-25 | 北京达佳互联信息技术有限公司 | 特效实现方法、装置、电子设备和存储介质 |
CN113240692B (zh) * | 2021-06-30 | 2024-01-02 | 北京市商汤科技开发有限公司 | 一种图像处理方法、装置、设备以及存储介质 |
CN114494556A (zh) * | 2022-01-30 | 2022-05-13 | 北京大甜绵白糖科技有限公司 | 一种特效渲染方法、装置、设备及存储介质 |
-
2022
- 2022-01-30 CN CN202210114061.5A patent/CN114494556A/zh active Pending
- 2022-11-29 WO PCT/CN2022/134990 patent/WO2023142650A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023142650A1 (zh) * | 2022-01-30 | 2023-08-03 | 上海商汤智能科技有限公司 | 特效渲染 |
Also Published As
Publication number | Publication date |
---|---|
WO2023142650A1 (zh) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112348969B (zh) | 增强现实场景下的展示方法、装置、电子设备及存储介质 | |
CN100468463C (zh) | 用于处理图像的方法、装置 | |
US10403036B2 (en) | Rendering glasses shadows | |
CN108830892B (zh) | 人脸图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN113298858A (zh) | 一种虚拟形象的动作生成方法、装置、终端以及存储介质 | |
CN108109161B (zh) | 基于自适应阈值分割的视频数据实时处理方法及装置 | |
CN108159700B (zh) | 生成验证码的方法、装置、存储介质、处理器及终端 | |
CN108111911B (zh) | 基于自适应跟踪框分割的视频数据实时处理方法及装置 | |
WO2020211347A1 (zh) | 基于人脸识别的修改图片的方法、装置和计算机设备 | |
CN111639613B (zh) | 一种增强现实ar特效生成方法、装置及电子设备 | |
CN114821675B (zh) | 对象的处理方法、系统和处理器 | |
CN113657357B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN111667588A (zh) | 人物图像处理方法、装置、ar设备以及存储介质 | |
CN114332374A (zh) | 一种虚拟显示方法、设备以及存储介质 | |
CN114283052A (zh) | 妆容迁移及妆容迁移网络的训练方法和装置 | |
CN107016730A (zh) | 一种虚拟现实与真实场景融合的装置 | |
CN113965773A (zh) | 直播展示方法和装置、存储介质及电子设备 | |
WO2023142650A1 (zh) | 特效渲染 | |
CN111028318A (zh) | 一种虚拟人脸合成方法、系统、装置和存储介质 | |
CN106981100A (zh) | 一种虚拟现实与真实场景融合的装置 | |
CN113709544B (zh) | 视频的播放方法、装置、设备及计算机可读存储介质 | |
CN108171716B (zh) | 基于自适应跟踪框分割的视频人物装扮方法及装置 | |
US20230050535A1 (en) | Volumetric video from an image source | |
CN114972601A (zh) | 模型生成方法、人脸渲染方法、装置及电子设备 | |
CN114445427A (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: 40068048 Country of ref document: HK |