用于在渲染图像时使用的可重照纹理的制作方法_4

文档序号:9547974阅读:来源:国知局
之间的相似度的测量,其中相似度测量基于以下二者: (i)纹素的亮度的相似度,以及(ii)纹素的色度的相似度。传统的双边滤波器不考虑纹素 的色度的相似度,但是在这种情况下将其包括在相似度测量中很有用,因为被滤波的是色 彩估计,因此纹素之间的色度相似度在出于对色彩估计进行滤波的目的而测量纹素的相似 度时是很重要的方面。
[0082] 作为示例,可以用以下等式来描述双边滤波器的一个应用:
[0084] 其中A(X)是在纹素位置X处具有值的色彩估计,μ是双边滤波器的内核内的 纹素位置,W是中间色彩估计,表示在位置X处的中间色彩估计的纹素的色度,并且 luma(W(X))表示在位置X处的中间色彩估计的亮度,u是归一化项,并且其中〇w、 〇11和 σ 12是能够被适配的双边滤波器的参数。可以根据像素的红色(R)、绿色(G)和蓝色⑶值 来求出在位置1处的纹素的亮度,例如使得111111 &")= 0.2991?")+0.5876")+0.1148")。
[0085] 项
是朝着空间上靠近纹素位置X的纹素对滤波器加权的双边滤波器项。项
提供在位置X和μ处的纹素的色度的相似度的测量,使得如果纹素的色 度相似,则通过双边滤波器来施加高的加权,而如果纹素的色度不相似,则通过双边滤波器 来施加低的加权。项
提供在位置X和μ处的纹素的亮度的相似度 的测量,使得如果纹素的亮度相似,则通过双边滤波器来施加高的加权,而如果纹素的亮度 不相似,则通过双边滤波器来施加低的加权。
[0086] 在迭代地使用双边滤波器时,一次迭代的结果代替W被反馈到等式11中,从而再 次应用双边滤波器。
[0087] 双边滤波器的滤波器内核可以是任意合适的形状和/或大小。作为示例,可以使 用以纹素位置X为中心的矩形滤波器内核。例如,滤波器内核可以覆盖以纹素位置X为中 心的15x15的纹素块。
[0088] 双边滤波器是全局底纹估计的补充,在于其执行成为反照率和底纹的高质量的局 部分解,但是不产生这样的很好的全局分解。另一方面,光照重构(其形成全局底纹估计) 在全局上执行地很好,但是不产生这样的很好的局部分解。
[0089] 在步骤S320,纹理分离逻辑212通过将初始纹理值I (X)除以色彩估计值A (X)来 确定底纹估计S(X)的每纹素的值。也就是,
·色彩估计A(X)和底纹估计S(X) 在它们是独立的外观参数的意义上相互正交。
[0090] 图6示出将原始图像分成色彩估计和底纹估计的两个示例。在第一示例中,将原 始图像分成色彩估计604 i和底纹估计606 i。在第二示例中,将原始图像6022分成色 彩估计6042和底纹估计606 2。在这两个示例中,根据图6可以理解,将场景的原始图像分 成色彩估计^(M1或者604 2),而将由捕获图像的特定场景光照产生的光照效果分成底纹估 计(eoei或者606 2)。通过将色彩与底纹分离,可以通过向色彩估计应用不同的光照效果来 对场景进行重照。如下面所描述的,为了向色彩估计正确地应用不同的光照效果而确定场 景几何形状的表面法线。
[0091] 从纹理分离逻辑212输出色彩估计A(X)和底纹估计S(X)。色彩估计A(X)表示可 重照纹理的色彩分量,并且可以从纹理分离逻辑212向存储装置216提供色彩估计A(X)。 向表面法线确定逻辑214提供底纹估计S(x)。
[0092] 在步骤S322,表面法线确定逻辑214使用全局辐照度函数L和底纹估计S(X)来 确定场景的表面法线的集合。全局辐照度函数L是表面法线η的函数。通过求出使包括在 底纹估计S(X)与全局辐照度函数L(n)之间的差异的测量的误差测度最小化的法线来确定 表面法线。对于场景几何形状的网格的表面上的每个点X,误差测度E(n(x))由等式12给 出:
[0093] E(n(x)) = I |S(x)-L(n) I |!+Λ (n,nc). (12)
[0094] 经拟合的表面法线的集合Iicipt (X)由下式给出:
[0095] nopt (x) = argminnE (η (χ)). (13)
[0096] 表面法线的集合Iicipt (χ)包括在场景几何形状的表面上的每个样本位置χ的表面 法线。
[0097] 等式12中使用模方Ll来测量底纹估计S(X)与全局辐照度函数L(n)之间的差异, 因为其在存在噪声的情况下是鲁棒的。误差测度E(n(x))包括正则化项Λ (n,r〇,正则化 项Λ (n,r〇是在所提出的表面法线与根据估计的场景几何形状预测的粗略表面法线之间 的差异的函数。场景的MVS重构给出可能的法线拟合(粗略表面法线η。)的好的指示。经 拟合的法线η不太可能很大地偏离粗略法线n。,并且因此使用正则化项Λ来使该偏离不 利。例如,正则化项可以是2个矢量η。和η之间的角度的函数,并且可以被定义为:
[0099] 其中λ是可以通过实验被确定的参数。例如,可以将〇. 025的值用于λ。
[0100] 由于等式12中没有样本间依赖性,所以可以对于不同的样本位置χ并行地计算表 面法线。例如,可以在图形处理单元(GPU)上并行地对表面法线进行拟合。
[0101] 从表面法线确定逻辑214输出表面法线的集合η_(Χ)。在步骤S324,将色彩估计 A(x)和表面法线的集合Iicipt(X)存储在存储装置216中用于随后在任意光照条件下从渲染 视点来渲染图像时使用。
[0102] 如以上所描述的,可以在对图像(例如其可以是视频序列帧)的渲染开始之前来 实现本文中参考图3所描述的用于确定可重照纹理的色彩分量A(X)和表面法线的集合 η_(Χ)的方法。以这一方式,可以离线(即在渲染图像之前)确定图像的场景的可重照纹 理的色彩分量和表面法线。可以在高性能设备(例如高处理功率和存储器容量)上计算对 可重照纹理的色彩分量和表面法线的确定。可以向另一设备(例如移动电话)提供所存储 的可重照纹理的色彩分量和表面法线以用于从渲染视点渲染图像。渲染图像的设备可以是 低性能(例如处理功率和存储器容量)可用的。然而,由于离线确定可重照纹理的色彩分 量和表面法线这一事实,减少了在运行时间(即在图像渲染期间)使用的处理量。当渲染 图像的场景时,根据针对渲染设定的光照布置来对可重照纹理进行重照,并且从还针对渲 染设定的渲染视点来渲染图像。可以通过使用3D图形渲染技术来快速地执行这些过程,并 且因此在图像为视频序列帧时,甚至可以在不具有强处理性能的设备上以可接受的帧速率 (例如每秒20帧或更高)来播放视频序列。当前移动电话例如不具有充足的处理资源来确 定可重照纹理,但是很多当前移动设备确实包括用于对纹理化的3D模型加速光照和渲染 的硬件。
[0103] 通过使场景的其余部分的光照条件匹配,使用可重照FVVR来对图像(诸如视频序 列帧)中的场景进行重照的能力允许将从"真实世界"捕获的场景无缝地集成到计算机生 成的场景中。
[0104] 可以由除了本文所描述和所示出的那些逻辑布置之外的其它逻辑布置来执行以 上关于图3所描述的方法的功能,并且在其它示例中,可以在不同的逻辑块中实现以上被 描述为在一个逻辑块中被实现的功能中的一些功能。可以用硬件或者软件或者硬件和软件 的组合来实现处理块202的逻辑块。在用软件实现逻辑块的情况下,可以通过在处理器(例 如CPU或者GPU)上执行计算机程序来实现这些逻辑块,其中计算机程序包括用于执行本文 所描述的方法步骤的指令。
[0105] 图7示出原始纹理I (X) 702、色彩估计A(x) 704和底纹估计S (X) 706的示例。图7 还示出根据本文所描述的方法在第一光照布置下对色彩估计A(X)进行重照的结果708以 及根据本文所描述的方法在第二光照布置下对色彩估计A(X)进行重照的结果710。原始纹 理702与两个经重照的纹理708和710之间的光照差异可以参见图7。
[0106] 以上详细描述的示例涉及自由视点渲染。然而,如以上描述的可重照纹理的色彩 分量和表面法线的生成可以在其中可以按照不同于在自由视点渲染中确定初始纹理的方 式来确定初始纹理的其它示例中被使用。例如,渲染视点不需要不同于一个或多个相机视 点。要被应用于纹理用于渲染的光照可以不同于在确定初始纹理时场景的光照;情况就是 这样,而不管渲染视点是否与任何相机视点相同。
[0107] 以上主要描述的方法将初始纹理分成色彩估计和底纹估计。这通过基于使图像中 的不同素材的辐照度函数匹配并且例如求出直到2阶球面调和函数的最佳拟合来确定所 捕获图像的低频光照估计(即全局辐照度函数L)来实现。没有假定场景光照的任何现有 知识。然后可以使用全局辐照度函数来将初始纹理分成色彩估计和底纹估计。底纹估计用 于确定场景的表面法线。色彩估计和底纹估计允许在任意光照条件下精确地对场景进行重 照和渲染。这可以增加最终经渲染的场景的似真性。
[0108] 可以在计算机系统(诸如图8所示的计算机系统)中实现图像处理系统200,图像 处理系统200包括GPU 802、CPU 804、存储器806和其它设备808 (诸如显示器810、扬声器 821、麦克风814和小键盘816)。计算机系统的部件可以经由通信总线818彼此通信。可以 将处理块202实现为GPU 802的一部分,如图8所示。备选地,可以在CPU 804上实现处理 块。如果用软件来实现处理块,则可以将处理块作为计算机程序代码存储在存储器806中, 并且可以在计算机系统中的处理单元上(例如在GPU 802或者CPU 804上)执行处理块。 存储装置216可以是存储器806的一部分。
[0109] 一般地,可以使用软件、固件、硬件(例如固定逻辑电路)或者这些实施方式的任 意组合来用模块实现以上描述的功能、方法、技术或者部件中的任何功能、方法、技术或者 部件。术语"模块"、"功能"、"部件"、"块"和"逻辑"在本文中用于总体上表示软件、固件、 硬件或者其任意组合。
[0110] 在软件实施方式的情况下,模块、功能、块、部件或者逻辑表示当在处理器(例如 一个或多个CPU)上被执行时执行指定任务的程序代码。在一个示例中,可以由配置有存 储在计算机可读介质上的机器可读形式的计算机程序产品的软件的计算机来执行所描述 的方法。计算机可读介质的一个这样的配置为信号承载介质,并且因此被配置成诸如经由 网络向计算设备传输指令(例如作为载波)。计算机可读介质还可以被配置为计算机可读 存储介质,并且因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器 (RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器以及可以使用磁技术、光技术和其它技术 存储指令或其它数据并且可以被机器访问的其它存储器设备。
[0111] 软件可以是包括计算机程序代码的计算机程序的形式,计算机程序代码用于将计 算机配置成执行所描述的方法的组成部分,或者软件可以是包括计算机程序代码部件的计 算机程序的形式,当程序在计算机上被运行时并且在计算机程序可以被包含在计算机可读 介质上的情况下,计算机程序代码部件被适配成执行本文所描述的任何方法的所有步骤。 可以将程序代码存储在一个或多个计算机可读介质中。本文所描述的技术特征是独立于平 台
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1