图像渲染方法和装置、介质和计算机设备与流程

文档序号:31054416发布日期:2022-08-06 11:18阅读:102来源:国知局
图像渲染方法和装置、介质和计算机设备与流程

1.本公开涉及计算机视觉技术领域,尤其涉及图像渲染方法和装置、介质和计算机设备。


背景技术:

2.在相关技术中,常常会将一些渲染素材渲染到真实采集的图像中,以使渲染后的图像获得一定的视觉效果。然而,相关技术中的图像渲染方式渲染出的图像往往真实度较低。


技术实现要素:

3.第一方面,本公开实施例提供一种图像渲染方法,所述方法包括:从图像采集装置采集的图像中确定目标图像区域;确定所述图像采集装置采集所述图像时的姿态信息;基于所述姿态信息从预先获取的纹理图中采样出目标纹理区域;不同的姿态信息对应不同的目标纹理区域;将所述目标纹理区域渲染到所述目标图像区域中。
4.本公开实施例在渲染图像时,基于图像采集装置采集该图像时的姿态信息从纹理图中采样出目标纹理区域,再将目标纹理区域渲染到目标图像区域中。由于不同的姿态信息对应不同的目标纹理区域,即采样出的目标纹理区域可以随着图像采集装置采集图像时的姿态信息的变化而变化,使得目标图像区域的视觉效果可以随着图像采集装置的姿态变化而变化。因此,本公开实施例的图像渲染方法能够有效模拟用户采集图像的真实场景,提高了图像渲染效果的真实度。
5.在一些实施例中,所述目标图像区域基于以下至少任一条件确定:所述图像中至少一个图像区域的语义类别;所述图像中至少一个图像区域的像素位置;所述图像中至少一个对象的属性信息。
6.本公开实施例能够根据图像区域的语义类别、像素位置、图像中对象的属性信息等条件灵活地确定目标区域,应用范围广,扩展性强。
7.在一些实施例中,所述目标图像区域的数量大于1,每个目标图像区域对应一张纹理图;所述基于所述姿态信息从预先获取的纹理图中采样出目标纹理区域,包括:基于所述姿态信息从各目标图像区域对应的纹理图中采样出目标纹理区域;所述将所述目标纹理区域渲染到所述目标图像区域中,包括:分别将各个目标纹理区域渲染到对应的目标图像区域中。
8.本公开实施例在图像中包括多个目标图像区域时,能够分别为每个目标图像区域生成渲染特效,每个目标图像区域都有该区域对应的纹理图,因此,不同的目标图像区域可以渲染出不同的特效,提高了渲染趣味性和真实度。
9.在一些实施例中,所述将所述目标纹理区域渲染到所述目标图像区域中,包括:对所述图像中除所述目标图像区域以外的其他区域进行蒙版处理,得到所述图像对应的掩码图像;所述掩码图像中包括对应于所述目标图像区域的第一掩码区域和对应于所述其他区
域的第二掩码区域;将所述目标纹理区域的像素点渲染到所述第一掩码区域中,并将所述其他区域的像素点渲染到所述第二掩码区域中。
10.本公开实施例通过蒙版处理,能够准确地确定出目标图像区域与非目标图像区域之间的分界线,从而提高渲染准确性。
11.在一些实施例中,所述方法还包括:基于所述纹理图生成三维立体贴图;所述基于所述姿态信息从预先获取的纹理图中采样出目标纹理区域,包括:基于所述姿态信息从所述三维立体贴图中采样出目标纹理区域。
12.本公开实施例能够基于图像采集装置的姿态信息从三维立体贴图中采样出目标纹理区域,从而在渲染效果中呈现出如置身三维立体贴图对应的三维空间中的真实感,提高了渲染真实度。
13.在一些实施例中,所述纹理图的数量大于1;所述基于所述纹理图生成三维立体贴图,包括:获取预先确定的三维图形,所述三维图形包括多个面;每张纹理图预先标注有标识信息,所述标识信息用于确定所述纹理图与所述三维图形对应的面;基于所述标识信息将每张纹理图分别渲染到所述三维图形的各个面上,得到所述三维立体贴图。
14.本公开实施例基于多张纹理图及其标识信息生成三维立体贴图,处理方式复杂度低。
15.在一些实施例中,所述三维图形具有固定姿态信息;所述基于所述姿态信息从预先获取的纹理图中采样出目标纹理区域,包括:基于所述姿态信息与所述固定姿态信息之间的差异,从预先获取的纹理图中采样出目标纹理区域。在另一些实施例中,所述三维图形的姿态信息动态变化;所述基于所述姿态信息从预先获取的纹理图中采样出目标纹理区域,包括:基于所述姿态信息与所述图像采集装置采集所述图像时所述三维图形的姿态信息之间的差异,从预先获取的纹理图中采样出目标纹理区域。
16.本公开实施例采用不同的方式从具有固定姿态信息的三维图形或者姿态信息动态变化的三维图形中确定出目标纹理区域,因此,本公开实施例的方案适用于各种具有固定姿态信息或者姿态信息动态变化的三维图形,适用范围广。对于具有固定姿态信息的三维图形,只需调整图像采集装置的姿态信息即可采样出不同的目标纹理区域,对于姿态信息动态变化的三维图形,不同的时刻以相同的姿态信息采集的目标纹理区域也可能不同,使得不同的场景下呈现出不同的渲染效果,提高了渲染效果的多样性和趣味性。
17.在一些实施例中,对应于所述三维图形的至少一个面的纹理图包括纹理图序列中的多张不同的纹理图。
18.由于三维图形的至少一个面的纹理图包括纹理图序列中的多张不同的纹理图,同一序列中的各纹理图可以动态切换,从而使得渲染出的图像中目标图像区域的渲染效果可以动态变化,提高了渲染趣味性。例如,在某一时刻,可以将从纹理图序列中的第一张纹理图中确定的目标纹理区域渲染到目标图像区域中,并在另一时刻将从纹理图序列中的第二张纹理图中确定的目标纹理区域渲染到目标图像区域中,以此类推。
19.在一些实施例中,所述图像包括视频中的多个视频帧;所述基于所述姿态信息从预先获取的纹理图中采样出目标纹理区域,包括:基于所述图像采集装置采集每一视频帧时的姿态信息,从预先获取的纹理图中采样出所述每一视频帧对应的目标纹理区域;所述将所述目标纹理区域渲染到所述目标图像区域中,包括:将所述每一视频帧对应的目标纹
理区域渲染到对应的视频帧中。
20.本公开实施例能够分别为视频中的各个视频帧生成渲染特效,提高了视频中的各视频帧的渲染真实度。
21.在一些实施例中,所述基于所述图像采集装置采集每一视频帧时的姿态信息,从预先获取的纹理图中采样出所述每一视频帧对应的目标纹理区域,包括:在所述图像采集装置采集所述多个视频帧中任一目标视频帧时的姿态信息与采集前一视频帧时的姿态信息不同的情况下,基于采集所述目标视频帧时的姿态信息,从所述纹理图中重新采样出目标纹理区域;和/或在所述图像采集装置采集所述多个视频帧中任一目标视频帧时的姿态信息与采集前一视频帧时的姿态信息相同的情况下,将前一帧视频帧对应的目标纹理区域确定为所述目标视频帧对应的目标纹理区域。
22.本公开实施例能够基于图像采集装置采集各视频帧时的姿态信息分别为每一视频帧确定目标纹理区域,一旦图像采集装置采集某一视频帧时的姿态信息较采集前一视频帧时的姿态信息发生改变,则确定出的目标纹理区域也会相应改变;如果图像采集装置采集相邻两帧视频帧时的姿态信息相同,则为这两帧视频帧确定的目标纹理区域也相同。这样,使得视频中各视频帧的渲染效果随着图像采集装置的姿态信息动态变化,提高了渲染真实度。
23.在一些实施例中,所述图像中包括镜面反射区域;所述镜面反射区域包括所述目标图像区域中至少部分区域的镜像图像;所述方法还包括:基于所述图像采集装置采集所述图像时的姿态信息确定所述镜面反射区域的姿态信息;基于所述镜面反射区域的姿态信息从所述纹理图中采样出对应于所述镜面反射区域的纹理区域;将对应于所述镜面反射区域的纹理区域渲染到所述镜面反射区域中。
24.本公开实施例能够为图像中的镜面反射区域生成渲染特效,进一步提高了渲染真实度。
25.第二方面,本公开实施例提供一种图像渲染装置,所述装置包括:第一确定模块,用于从图像采集装置采集的图像中确定目标图像区域;第二确定模块,用于确定所述图像采集装置采集所述图像时的姿态信息;采样模块,用于基于所述姿态信息从预先获取的纹理图中采样出目标纹理区域;不同的姿态信息对应不同的目标纹理区域;渲染模块,用于将所述目标纹理区域渲染到所述目标图像区域中。
26.第三方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。
27.第四方面,本公开实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。
28.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
29.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
30.图1是本公开实施例的图像渲染方法的流程图。
31.图2a是本公开实施例的原始图像的示意图。
32.图2b是图2a所示的原始图像中各图像区域的示意图。
33.图3是本公开实施例的目标纹理区域与姿态信息的关系的示意图。
34.图4a、图4b、图4c和图4d分别是本公开实施例的三维立体贴图的示意图。
35.图5a是本公开实施例的纹理图的示意图。
36.图5b是本公开实施例的立方体的示意图。
37.图6a和图6b分别是本公开实施例的立方体姿态与图像采集装置的姿态关系的示意图。
38.图7a是本公开实施例的掩码图像的示意图。
39.图7b和图7c分别是本公开实施例的不同位姿信息对应的渲染效果的示意图。
40.图8是本公开实施例的多个目标图像区域时的渲染效果的示意图。
41.图9是本公开实施例的镜面反射区域的渲染效果的示意图。
42.图10是本公开实施例的图像渲染装置的框图。
43.图11是本公开实施例的计算机设备的结构示意图。
44.图12是本公开实施例的图像渲染系统的示意图。
具体实施方式
45.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
46.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。
47.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
48.为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
49.发明人发现,相关技术在进行渲染时,一般是将图像中的某些区域简单替换成特效素材,这种图像渲染方式渲染出的图像往往真实度较低。例如,在对用户采用手机拍摄出的视频帧进行特效渲染时,手机在拍摄视频帧时的姿态信息往往会发生改变,然而特效素材始终是固定不变的,这就使用户难以产生身临其境的感觉,从而降低图像渲染效果的真实度。
50.基于此,本公开提供一种图像渲染方法,参见图1,所述方法包括:
51.步骤101:从图像采集装置采集的图像中确定目标图像区域;
52.步骤102:确定所述图像采集装置采集所述图像时的姿态信息;
53.步骤103:基于所述姿态信息从预先获取的纹理图中采样出目标纹理区域;不同的姿态信息对应不同的目标纹理区域;
54.步骤104:将所述目标纹理区域渲染到所述目标图像区域中。
55.本公开实施例可以应用于手机、平板电脑等具有图像采集功能以及图像处理功能的终端设备,这些终端设备可以在采集图像之后通过其上的图像处理装置对采集的图像进行渲染处理;也可以应用于不具备图像采集功能但具备图像处理功能的设备,例如,服务器,服务器可以获取图像采集装置采集的图像,并对该图像进行渲染处理。
56.在步骤101中,图像采集装置可以包括但不限于相机、摄像头等,所述图像可以是图像采集装置可以实时采集的图像,也可以图像采集装置预先采集并存储的图像。所述图像可以是单张图像,也可以包括视频中的多个连续或者不连续的视频帧。可以从图像中确定目标图像区域,目标图像区域是指图像中需要进行特效渲染的图像区域,该图像区域可以是图像中的局部区域,也可以是整张图像。
57.确定目标图像区域的方式有很多种,下面结合图2a和图2b对确定目标图像区域的一些方式进行举例说明。其中,图2a所示的是原始图像,即,图像采集装置采集的图像,图2b所示的是原始图像中各图像区域,例如,包括天空区域201、房屋区域202、人物区域203以及地面区域204。当然,这只是划分图像区域的一种方式,进一步地,还可以划分出更细致的图像区域,例如,将天空区域201进一步划分为云朵区域、太阳区域和天空背景区域,其中,云朵区域为包括云朵的区域,太阳区域为包括太阳的区域,天空背景区域为天空区域201中除太阳区域和云朵区域以外的区域。又例如,可以将房屋区域202划分为屋顶区域、窗户区域、墙体区域、大门区域等。或者根据房屋在图像中的位置将房屋区域划分为左一房屋区域、左二房屋区域等,其中,左一房屋区域和左二房屋区域分别为图像中从左向右的第一间房屋所在区域和从左向右的第二间房屋所在区域。
58.在一些实施例中,可以基于图像中各图像区域的语义类别确定目标图像区域。例如,可以将预设语义类别的图像区域确定为目标图像区域,或者,将图像中除预设语义类别以外的图像区域确定为目标图像区域。在图2a所示的图像中,假设预设语义类别为天空类别,则可以将天空区域201确定为目标图像区域,或者将天空区域201以外的图像区域(即房屋区域202以及人物区域203)确定为目标图像区域。所述预设语义类别及其数量可以由用户指定,或者,采用默认语义类别。
59.在一些实施例中,可以基于图像中各图像区域的像素位置确定目标图像区域。一个图像区域的像素位置可以基于该图像区域的像素坐标确定,例如,对于矩形图像区域而言,可以基于该图像区域的各个顶点的像素坐标确定该图像区域的像素位置;对于圆形区域而言,可以基于该图像区域的圆心的像素坐标以及半径确定该图像区域的像素位置。在这种情况下,可以将预设坐标范围内的图像区域确定为目标图像区域,或者将预设坐标范围以外的图像区域确定为目标图像区域。假设天空区域201处于预设坐标范围内,则可以将天空区域201确定为目标图像区域,或者将天空区域201以外的图像区域(即房屋区域202以及人物区域203)确定为目标图像区域。
60.或者,一个图像区域的像素位置可以基于该图像区域与其他图像区域在图像中的
相对位置关系确定,例如,在图2a所示的实施例中,天空区域201处于图像的上方,房屋区域202处于图像的中间,人物区域203处于图像的下方。在这种情况下,可以将预设相对位置处的图像区域确定为目标图像区域,或者,将预设相对位置以外的图像区域确定为目标图像区域。例如,可以将图像中处于中部的图像区域确定为目标图像区域。在图2a所示的实施例中,处于中部的图像区域为房屋区域202,因此,可以将房屋区域202确定为目标图像区域,或者将房屋区域202以外的图像区域(即天空区域201以及人物区域203)确定为目标图像区域。
61.在一些实施例中,可以基于图像中各对象的属性信息确定目标图像区域。一个对象的属性信息可以包括但不限于该对象的像素尺寸、深度信息、像素值等中的至少一者,在对象为人时,该对象的属性信息还可以包括人的年龄、性别等;在对象为建筑物时,对象的属性信息还可以包括建筑物的形状、层高等。不同类别的对象可以采用不同的属性信息。可以将图像中包括预设属性信息的对象的图像区域确定为目标图像区域,或者,也可以将图像中除包括预设属性信息的对象的图像区域以外的区域确定为目标图像区域。例如,在所述预设属性信息为女性的情况下,假设人物区域203中黑色的人性别为男,白色的人性别为女,则可以将白色的人所在的图像区域确定为目标图像区域,或者将白色的人以外的图像区域确定为目标图像区域。
62.除了上述列举的确定目标图像区域的方式以外,还可以采用其他方式确定目标图像区域,具体方式可以基于实际需要选择,此处不再一一列举。本公开实施例中的目标图像区域可以根据实际需要自由切换,从而实现不同的特效渲染效果。
63.在一些实施例中,可以通过预先训练的神经网络对所述图像进行分析;基于分析结果确定所述目标图像区域。例如,在目标图像区域为图像中特定语义类别的图像区域的情况下,所述神经网络可以是图像分割网络,所述分析结果中包括图像中各图像区域的语义信息。可以通过该图像分割网络对所述图像进行语义分割,并基于语义分割结果确定所述目标图像区域。所述图像分割网络可以是基于深度学习的检测框架,采用图像分割网络可以快速准确地获取语义分割结果,例如在对天空分割的场景下,能够准确地识别白天、夜晚等不同场景,边界过度效果好,适用于实时渲染领域。又例如,在目标图像区域为图像中预设深度范围内的像素点所在的图像区域的情况下,所述神经网络可以是检测网络,所述分析结果中包括图像中各像素点的深度信息。可以通过该检测网络检测图像中各像素点的深度信息,并基于检测出的深度信息确定目标图像区域。采用检测网络可以快速准确地获取图像中各像素点的深度信息,适用于实时渲染领域。在采用其他方式确定目标图像区域的情况下,还可以采用其他类型的神经网络,此处不再一一列举。
64.在一些实施例中,可以获取参考信息;在一个图像区域的分析结果与所述参考信息相匹配的情况下,将所述图像区域确定为所述目标图像区域。所述参考信息可以是用户指定的信息,或者是预先设置的默认信息。在基于图像中各图像区域的语义类别确定目标图像区域的情况下,所述参考信息可以是参考语义类别。例如,在图2a所示的实施例中,假设参考语义类别为天空类别,则可以通过神经网络获取各图像区域的语义类别,如果一个图像区域的语义类别与天空类别相匹配,则将该图像区域确定为目标图像区域。在基于图像中各对象的属性信息确定目标图像区域的情况下,所述参考信息可以是参考属性信息,例如,参考深度范围。如果图像中某个对象的深度信息在该参考深度范围内,可以将该对象
所在的图像区域确定为目标图像区域。除了以上列举的情况之外,参考信息还可以基于实际情况设置为其他信息,此处不再一一列举。
65.在步骤102中,可以确定所述图像采集装置采集所述图像时的姿态信息。所述姿态信息可以由图像采集装置上的姿态传感器获取。在图像由图像采集装置实时采集的场景下,可以将姿态传感器实时输出的姿态信息作为图像采集装置采集所述图像时的姿态信息。在图像并非实时采集(例如,预先采集并存储)的场景下,可以将姿态传感器采集图像时输出的姿态信息与图像进行关联存储,以便获取图像采集装置采集图像时的姿态信息。
66.在步骤103中,纹理图的数量可以大于或等于1。可以预先将各纹理图打包成资源包,并在需要进行图像渲染时,从资源包中获取纹理图。纹理图中可以包括目标纹理区域,纹理图中的目标纹理区域与图像采集装置的姿态信息相关,不同的姿态信息对应不同的目标纹理区域。如图3所示,在相机301的姿态信息为p1的情况下,纹理图302中的目标纹理区域如深色图像块s1所示;在相机301的姿态信息为p2的情况下,纹理图302中的目标纹理区域如深色图像块s2所示。
67.在一些实施例中,可以基于所述纹理图生成三维立体贴图,基于所述姿态信息从所述三维立体贴图中采样出目标纹理区域。其中,三维立体贴图可以包括但不限于长方体贴图(如图4a所示)、球面贴图(如图4b所示)、半球面贴图(如图4c所示)等,三维立体贴图既可以封闭的三维图形,也可以是不封闭的三维图形。图4d示出了由三张纹理图以一定的角度拼接成不封闭的三维立体贴图的一种情况,当然,除了图中所示的情况之外,还可以采用其他数量的纹理图,以其他的角度和方式拼接成三维立体贴图。并且,除了前文所述的三维立体贴图之外,本公开实施例还可以采用纹理图生成其他类型的三维立体贴图,此处不再赘述。
68.下面对生成三维立体贴图的具体方式进行举例说明。在一些实施例中,可以获取预先确定的三维图形,所述三维图形包括多个面;每张纹理图预先标注有标识信息,所述标识信息用于确定所述纹理图与所述三维图形对应的面;基于所述标识信息将每张纹理图分别渲染到所述三维图形的各个面上,得到所述三维立体贴图。
69.为了便于理解,下面以三维图形是立方体,通过纹理图生成立方体贴图(cubemap)为例进行说明。立方体贴图是一种特殊的长方体贴图,立方体贴图的六个面均为正方形,这六个面围成一个立方体。可以将六张纹理图打包成一个素材包,并分别标记这六张纹理图与立方体的六个面的对应关系。图5a示出了纹理图及其标识信息。六张纹理图依次标记有“前(front)”、“后(back)”、“左(left)”、“右(right)”、“上(top)”、“下(bottom)”。在图5b所示的立方体中,abcd围成的面和efgh围成的面分别对应标识信息为“上”的纹理图和标识信息为“下”的纹理图,cdhg围成的面和abfe围成的面分别对应标识信息为“前”的纹理图和标识信息为“后”的纹理图,caeg围成的面和dbfh围成的面分别对应标识信息为“左”的纹理图和标识信息为“右”的纹理图。根据上述对应关系将纹理图贴于立方体上对应的面,可以生成立方体贴图。上述实施例示出了立方体贴图中各个面对应的纹理图均不相同的情况,在实际应用中,立方体贴图中的至少两个面对应的纹理图也可以相同。除了采用上述方式生成立方体贴图之外,也可以将纹理图贴于其他图形上,形成其他类型的三维立体贴图,此处不再赘述。
70.在生成三维立体贴图之后,可以基于图像采集装置采集图像时的姿态信息,确定
目标纹理区域。仍以立方体贴图为例,可以建立局部坐标系。建立局部坐标系的方式不唯一,一些实施例中的局部坐标系如图5b所示,可以以立方体的中心为原点,将与立方体右侧的面正交的方向确定为x轴正向,将与立方体上侧的面正交的方向确定为y轴正向,将与立方体后侧的面正交的方向确定为z轴正向,各坐标轴的正向如图中实线箭头所指的方向。假设图像采集装置位于坐标原点,可以基于图像采集装置的姿态信息计算方向向量v,再基于方向向量v对三维立体贴图进行采样,即可得到目标纹理区域。
71.在本公开实施例中,三维图形的姿态信息可能是固定的,也可能是动态变化的,例如,三维图形的初始姿态信息可变,或者三维图形的姿态信息随时间而周期性或者非周期性地变化。
72.在所述三维图形具有固定姿态信息的情况下,可以基于图像采集装置采集图像时的姿态信息与所述固定姿态信息之间的差异,从预先获取的纹理图中采样出目标纹理区域。如图6a所示,假设t1时刻为初始时刻,相机在t1时刻的姿态信息为p1,t2时刻为初始时刻之后的某一时刻,相机在t2时刻的姿态信息为p2。所述初始时刻可以是执行本公开实施例的方法的功能模块启动的时刻,也可以是接收到用户发送的重置指令的时刻。在本实施例中,无论相机的姿态信息p1如何改变,立方体的姿态信息始终为图中所示的姿态信息,假设该姿态信息为p0。因此,在t1时刻,目标纹理信息可以基于p1与p0之间的差异来确定;在t2时刻,目标纹理信息可以基于p2与p0之间的差异来确定。
73.在三维图形的初始姿态信息可变,且三维图形的初始姿态信息基于图像采集装置的初始姿态信息确定的情况下,可以基于所述姿态信息与所述图像采集装置的初始姿态之间的差异,从预先获取的纹理图中采样出目标纹理区域。如图6b所示,仍假设t1时刻为初始时刻,相机在t1时刻的姿态信息可以是p11,也可以是p12,且p11与p12不同。与上一实施例不同的是,立方体的初始姿态信息与相机的初始姿态信息相关,在相机在t1时刻的姿态信息为p11的情况下,立方体的初始姿态信息为p01,因此,t1时刻的目标纹理区域s11可以基于p11与p01之间的差异确定。在相机在t1时刻的姿态信息为p12的情况下,立方体的初始姿态信息为p02,因此,t1时刻的目标纹理区域s12可以基于p12与p02之间的差异确定。
74.t2时刻为初始时刻之后的某一时刻,且立方体的姿态信息与立方体的初始姿态信息相同,则在相机在t2时刻的姿态信息从p11变为p21的情况下,t2时刻的目标纹理区域s21可以基于p21与p01之间的差异确定;在相机在t2时刻的姿态信息从p21变为p22的情况下,t2时刻的目标纹理区域s22可以基于p22与p02之间的差异确定。
75.除了上述情况之外,三维图形在任一时刻的姿态信息也可以动态变化。在这种情况下,假设图像采集装置采集图像的时刻为t,可以基于图像采集装置在t时刻的姿态信息与t时刻三维图形的姿态信息之间的差异,从预先获取的纹理图中采样出目标纹理区域。
76.应当说明的是,对应于所述三维图形的至少一个面的纹理图既可以是单张纹理图,也可以包括纹理图序列中的多张不同的纹理图。仍以立方体贴图为例,对应于立方体的左侧的面的纹理图可以包括纹理图序列seq中的多张纹理图{f1,f2,
……
,fn}(n为大于1的整数),其中,纹理图序列seq中的各纹理图可以互不相同,或者,也可以仅部分不同,例如,纹理图序列seq中的相邻两张纹理图不同。三维图形的同一个面的纹理图在不同的时刻可以在这个面对应的纹理图序列seq包括的多张纹理图中动态变化。所述动态变化可以是随机选择纹理图序列seq中的一张纹理图作为每一时刻三维图形的该面对应的纹理图,例如,
在t1时刻,随机选择到纹理图f3作为立方体的左侧的面的纹理图,在t2时刻随机选择到纹理图f1作为立方体的左侧的面的纹理图。或者,也可以是按照各纹理图在纹理图序列seq中的顺序依次选择纹理图序列seq中的各纹理图。例如,在t1时刻选择纹理图f1,在t2时刻选择纹理图f2,在t3时刻选择纹理图f3,以此类推。这样,每个面上的纹理图均可以动态变化,从而使得最后的渲染效果更加丰富多样,提高了渲染趣味性。
77.在步骤104中,可以将目标纹理区域渲染到目标图像区域中,即,将目标纹理区域与拍摄的图像进行融合,得到渲染效果。在一些实施例中,可以对所述图像中除所述目标图像区域以外的其他区域进行蒙版处理,得到所述图像对应的掩码图像;所述掩码图像中包括对应于所述目标图像区域的第一掩码区域和对应于所述其他区域的第二掩码区域;将所述目标纹理区域的像素点渲染到所述第一掩码区域中,并将所述其他区域的像素点渲染到所述第二掩码区域中。其中,图2a所示的图像对应的掩码图像如图7a所示,假设目标图像区域为天空区域201,则图7a中白色像素点对应的图像区域为第一掩码区域,黑色像素点对应的图像区域为第二掩码区域。可以将目标纹理区域中的像素点渲染到第一掩码区域中,并将房屋区域202以及人物区域203等其他图像区域的像素点渲染到所述第二掩码区域中。不同姿态信息对应的渲染效果分别如图7b和图7c所示。如图7b所示,图像采集装置在某一位姿下对应的目标纹理区域如图中的纹理区域701所示,将纹理区域701的像素点渲染到第一掩码区域,并将采集的图像中其他区域的像素点渲染到第二掩码区域,得到渲染图像i1。同理,如图7c所示,图像采集装置在另一位姿下对应的目标纹理区域如图中的纹理区域702所示,对应的渲染图像为i2。
78.在一些实施例中,所述目标图像区域的数量大于1,每个目标图像区域对应一张纹理图。可以基于所述姿态信息从各目标图像区域对应的纹理图中采样出目标纹理区域。分别将各个目标纹理区域渲染到对应的目标图像区域中。例如,在图2a所示的实施例中,包括天空区域201和地面区域204,天空区域201对应的纹理图如图8中的星空图801所示,地面区域204对应的纹理图如图8中的草地图802所示,则可以将星空图801中的像素点渲染到天空区域201中,并将草地图802中的像素点渲染到地面区域204中,渲染效果分别如图像区域803和804所示。除了本实施例所示的情况之外,图像中还可以有其他数量和类别的目标图像区域,每个目标图像区域都可以有本区域对应的纹理图。
79.在一些实施例中,所述图像包括视频中的多个视频帧。可以基于所述图像采集装置采集每一视频帧时的姿态信息,从预先获取的纹理图中采样出所述每一视频帧对应的目标纹理区域,并将所述每一视频帧对应的目标纹理区域渲染到对应的视频帧中。这样,采集的每一帧视频帧中目标图像区域的视觉效果可以随着图像采集装置的姿态变化而变化。因此,本公开实施例的图像渲染方法能够有效模拟用户采集图像的真实场景,使用户获得身临其境的感觉,提高了图像渲染效果的真实度。
80.具体来说,在所述图像采集装置采集所述多个视频帧中任一目标视频帧时的姿态信息与采集前一视频帧时的姿态信息不同的情况下,基于采集所述目标视频帧时的姿态信息,从所述纹理图中重新采样出目标纹理区域。例如,图像采集装置采集第k帧视频帧时的姿态信息与采集第k-1帧视频帧时的位姿不同,则可以基于采集第k帧视频帧时的姿态信息,从纹理图中确定第k帧视频帧对应的目标图像区域。
81.在所述图像采集装置采集所述多个视频帧中任一目标视频帧时的姿态信息与采
集前一视频帧时的姿态信息相同的情况下,将前一帧视频帧对应的目标纹理区域确定为所述目标视频帧对应的目标纹理区域。例如,图像采集装置采集第k帧视频帧时的姿态信息与采集第k-1帧视频帧时的位姿相同,则可以将第k-1帧视频帧对应的目标图像区域确定为第k帧视频帧对应的目标图像区域。
82.在一些实施例中,图像中包括镜面反射区域,所述镜面反射区域是指能够反射出其他区域中的影像的图像区域,在图像采集装置采集的图像中,镜面反射区域可以包括图像中至少部分区域的镜像图像。镜面反射区域可以包括但不限于镜子、写字楼的玻璃幕墙等。为了进一步提高渲染效果的真实度,在镜面反射区域包括目标图像区域中至少部分区域的镜像图像的情况下,可以确定所述图像中的镜面反射区域;基于所述图像采集装置采集所述图像时的姿态信息确定所述镜面反射区域的姿态信息;基于所述镜面反射区域的姿态信息从所述纹理图中采样出对应于所述镜面反射区域的纹理区域;将对应于所述镜面反射区域的纹理区域渲染到所述镜面反射区域中。如图9所示,镜面反射区域可以是房屋区域中的窗户区域,以窗户区域901为例,该区域对应的纹理区域为部分星星所在的区域,因此,可以将这些星星所在的区域渲染到窗户区域901中,从而进一步提高渲染效果的真实度。
83.下面结合一个具体实施例,对本公开的总体流程进行说明,在该实施例中,图像采集装置为手机,手机上可以包括相机,该相机用于实时采集视频流。目标图像区域为天空区域,通过纹理图生成的三维图形称为天空盒。总体流程如下:
84.(1)使用深度神经网络对图像进行处理,识别天空区域及非天空区域,并生成天空蒙版。为了达到流畅的视频体验,一般需要达到每秒30帧的检测速度,这样就需要在33ms内完成图像天空区域检测和天空蒙版图生成,并尽量保证天空边界精确。
85.(2)通过传感器等硬件实时获取手机的姿态信息,具体可使用手机姿态的四元数计算手机的模型-视图-投影(model-view-projection,mvp)矩阵。其中,通过mvp矩阵,可以将物体转换到不同的坐标系下以便于对物体姿态进行调整。例如,可以将物体从局部坐标系映射到标准化设备坐标系(normalized device coordinates,ndc)下。ndc坐标系是标准化设备坐标系,x、y、z三轴的坐标范围都是-1到1。
86.(3)加载贴纸资源(即纹理图,也称为天空盒素材,用于生成天空盒),基于贴纸资源创建立方体贴图(cubemap)。本步骤可以基于opengl的cubemap,将相机包裹在一个立方体场景中,cubemap通过6个纹理图模拟场景景色。其中,天空盒是一个6面立方体,6个面分别贴上相应的纹理,坐标系(符合右手螺旋定则)原点在盒体中心,相机位于坐标原点,然后基于相机的位姿信息计算方向向量,再使用方向向量对天空盒纹理进行采样即可得到天空盒效果(即目标纹理区域)。立方体贴图是一种特殊的贴图形式,包含六个2d纹理图,每个2d纹理图是立方体贴图的一个面。
87.(4)通过手机姿态获取当前朝向的目标纹理区域,具体可在vertex shader(顶点着色器)中计算采样方向,并基于采样方向在fragment shader(片段着色器)中对cubemap进行采样,输出天空盒结果纹理(即目标纹理区域的像素值)。
88.在图形处理器(graphics processing unit,gpu)中,一张图像被加载到内存后,被称为一张纹理,可以通过(x,y,z)坐标指定图像位置来获取纹理的像素值(也可称为颜色值),获取像素值的过程即为采样。这个类似于从连续的音频信号中定时进行采样(比如1s 30次),然后将得到的离散内容保存成与音频文件类似的文件。图像在ndc坐标系下的坐标
是连续的,但是手机屏幕的坐标是离散的,因此获取某个像素点的颜色值类似于采样过程。
89.一般坐标系中心位于立方体贴图中心,对立方体贴图采样即是从原点计算一个方向向量,这个方向向量与纹理图的交点即为采样位置,方向向量的方向也即是采样方向,从采样位置获取纹理图的像素值即为对cubemap采样。
90.将目标纹理区域与相机拍摄的图像基于天空蒙版进行融合,即可得到最终的渲染效果。
91.本公开实施例结合了深度学习的图像分割和实时渲染技术,做到了真实场景与虚拟场景的实时特效渲染。图像分割结果快速准确,例如在天空分割的场景下可以识别白天、夜晚等不同场景的夜空,边界过度效果好,性能高,可以在实时渲染领域使用。并且,可以选用不同的分割网络与天空盒进行混搭,实现不同的特效效果。例如,可以采用天空分割网络分割出图像中的天空区域,或者,采用水面分割网络分割出图像中的水面区域等等。
92.本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的ar效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、slam、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
93.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
94.如图10所示,本公开还提供一种图像渲染装置,所述装置包括:
95.第一确定模块1001,用于从图像采集装置采集的图像中确定目标图像区域;
96.第二确定模块1002,用于确定所述图像采集装置采集所述图像时的姿态信息;
97.采样模块1003,用于基于所述姿态信息从预先获取的纹理图中采样出目标纹理区域;不同的姿态信息对应不同的目标纹理区域;
98.渲染模块1004,用于将所述目标纹理区域渲染到所述目标图像区域中。
99.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
100.本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述任一实施例所述的方法。
101.图11示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1101、存储器1102、输入/输出接口1103、通信接口1104和总线1105。其中处理器1101、存储器1102、输入/输出接口1103和通信接口1104通过总线1105实
现彼此之间在设备内部的通信连接。
102.处理器1101可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。处理器1101还可以包括显卡,所述显卡可以是nvidia titan x显卡或者1080ti显卡等。
103.存储器1102可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1102可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1102中,并由处理器1101来调用执行。
104.输入/输出接口1103用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
105.通信接口1104用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
106.总线1105包括一通路,在设备的各个组件(例如处理器1101、存储器1102、输入/输出接口1103和通信接口1104)之间传输信息。
107.需要说明的是,尽管上述设备仅示出了处理器1101、存储器1102、输入/输出接口1103、通信接口1104以及总线1105,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
108.参见图12,本公开实施例还提供一种图像渲染系统,所述系统包括:
109.图像采集装置1201,用于采集图像;
110.处理器1202,用于从所述图像中确定目标图像区域;确定所述图像采集装置采集所述图像时的姿态信息;基于所述姿态信息从预先获取的纹理图中采样出目标纹理区域;不同的姿态信息对应不同的目标纹理区域;将所述目标纹理区域渲染到所述目标图像区域中。
111.其中,图像采集装置1201与处理器1202可以是同一个电子设备上的不同的功能模块,也可以是两个物理独立的电子设备上的功能模块。图像采集装置1201与处理器1202可以进行通信,例如,采用无线通信方式进行通信,以便将图像采集装置1201采集的图像发送给处理器1202进行处理。图像采集装置1201采集的图像可以是单张图像,也可以是视频中的多帧视频帧。处理器1202的功能详见前述方法实施例,此处不再赘述。
112.本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。
113.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除
可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
114.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
115.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
116.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
117.以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1