基于图像的着色方法及其装置的制作方法

文档序号:6574651阅读:206来源:国知局
专利名称:基于图像的着色方法及其装置的制作方法
技术领域
本发明涉及一种用于着色的方法及装置,更特别地,涉及用于着色的方法及装置,该方法及装置可以使用3D模型的深度信息更加精确地着色3D模型。
背景技术
由于对3D图形的第一研究,3D图形的一个最根本的目标通常总是更精确和更快速地着色3D模型。近来,多媒体应用需要用户设备,例如移动设备,以在网络环境中能够更快和更精确地着色3D模型。然而使用多边网格的常规基于网格的着色技术已经无法更好地满足这种需要。例如在使用常规基于网格的着色技术在终端设备的小屏幕上着色复杂的3D模型的情况下,顶点之间的链接上的一些信息可能会产生冗余。为了能够进行交互的3D模型着色,必须将复杂的网格简化。然而为了简化这种复杂的网格,复杂的算法是必须的。另外,复杂的算法也需要压缩网格并将压缩的网格逐渐地发送。
常规基于图像的着色技术通过使用具有深度信息的图像(即深度图像)能够以高分辨率着色基于图像或基于点的3D模型,该技术可以与常规基于网格的着色技术替换。该基于图像的着色技术也可以适当地处理或编辑图像数据,并可以对3D模型实时地进行着色。
然而常规基于图像的着色技术对3D模型的着色没有考虑到这样的事实,即3D模型的参考图像可以包括简单纹理模型的冗余数据,该数据从不同的视点对3D模型的相同部分着色,从而就相当大地降低了着色的速度和质量。
另外,常规基于图像的着色技术不能够对3D模型的各个表面特征进行满意的着色,例如随着视点不同而变化的光泽(glitter)或阴影。因此,通过常规基于图像的着色技术着色的3D模型是不逼真的。
此外,常规基于网格的着色技术需要复杂的算法,这是因为为了修改基于图像的3D模型,除了修改基于图像的3D模型的每一个参考图像之外,没有其它的选择,在这种情况下,需要编辑的图像数据量是很可观的。

发明内容
本发明提供一种用于删除简单纹理模型的冗余数据的方法和装置,该数据从不同的视点对3D模型的相同部分着色,该方法和装置可以提高着色速度和质量。
本发明也提供一种着色方法和装置,其可以成功地对3D模型的表面特征进行着色,例如随着视点不同而变化的光泽和阴影。
本发明也提供一种基于图像的编辑方法和装置,其用于对使用基于图像的着色方法着色后的3D模型进行编辑。
根据本发明的一方面,提供一种删除简单纹理模型的冗余数据的方法。该方法包括(a)通过使用多个简单纹理图像之中的深度图像来计算投影到三维(3D)空间中的像素的法向矢量,该多个简单纹理图像对3D模型的不同方面进行着色;(b)通过使用在步骤(a)中得到的法向矢量来计算每一简单纹理图像的像素的可靠性;和(c)比较来源于不同简单纹理图像的但对3D模型的相同部分进行着色的像素的可靠性,并删除分别来源于不同的简单纹理图像中的具有低可靠性的像素。
在步骤(a)中,可以通过根据每一深度图像的像素值来将每一简单纹理图像的像素投影到3D空间上,并计算通过使用投影到3D空间上的像素和它们各自相邻的两个像素分别形成的三角平面的法向矢量,就可以计算每一简单纹理图像像素的法向矢量。
步骤(a)可以包括根据每一深度图像的像素值将每一简单纹理图像的像素投影到3D空间上,并检测与投影到3D空间上的每一像素相邻的像素;使用投影到3D空间上的像素和它们各自的两个相邻的像素形成三角平面,并计算该三角平面的法向矢量;和将该三角平面的法向矢量进行平均。
在步骤(b)中,可以使用每一简单纹理图像的像素的法向矢量和与用于产生该简单纹理图像的相机的视角平面相垂直的向量,来计算每一简单纹理图像的像素的可靠性。
在步骤(b)中,可以根据每一简单纹理图像的像素的法向矢量的内投影和与用于产生该简单纹理图像的相机的视角平面相垂直的向量,来确定每一简单纹理图像的像素的可靠性。
步骤(b)可以包括计算3D空间中每一简单纹理的像素彼此之间的相邻性(proximity),并确定位于预定临界距离或彼此之间更近的像素,来用作着色3D模型的相同部分。
在步骤(c)中,对3D模型的相同部分进行着色的、但来源于不同的简单纹理图像的所有像素,除了具有最高可靠性的像素之外,都可以从分别产生所有这些像素的不同简单纹理图像中删除。
在步骤(c)中,具有低可靠性的每个深度图像的像素可以被设为背景图像的像素。
根据本发明的另一方面,提供了一种用于删除简单纹理模型的冗余数据的装置。该装置包括法向矢量计算单元,用于通过使用对3D模型的不同方面进行着色的多个简单纹理图像之中的深度图像,来计算投影到三维(3D)空间上的像素的法向矢量;可靠性计算单元,用于通过使用由法向矢量计算单元所得到的法向矢量来计算每一简单纹理图像的像素的可靠性;和冗余数据删除单元,用于比较来自不同的简单纹理图像的、但对3D模型的相同部分进行着色的像素的可靠性,并从分别产生这些像素的不同简单纹理图像中删除具有低可靠性的像素。
根据本发明的另一方面,提供了一种着色方法。该着色方法包括(a)接收对3D模型的不同方面进行着色的简单纹理图像和3D模型的属性信息,并通过使用该简单纹理图像和该属性信息来产生扩展深度图像,其中该扩展深度图像是用于表示随着视点不同而变化的3D模型的色彩和深度以及3D模型的属性的二维(2D)图像;(b)根据3D模型的属性信息来为扩展深度图像的每一像素设置预定的反射模型系数;(c)计算包括在扩展深度图像中的每一深度图像的像素的法向矢量;和(d)通过使用预定的反射模型系数和法向矢量来确定3D模型的色彩,其中该3D模型的色彩根据3D模型的属性而变化,以及通过使用所确定的色彩来对该3D模型进行着色。
属性信息可以包括镜面分量,用于指示3D模型反射光线和随着视点不同而变化的程度,和发光分量,用于指示3D模型发光和随着3D模型表面的纹理而变化的程度。
预定的反射模型可以是Phong反射模型。
在步骤(c)中,可以通过根据每一深度图像的像素值来将每一简单纹理图像的像素投影到3D空间上,并计算通过使用投影到3D空间上的像素和它们各自相邻的两个像素分别形成的三角平面的法向矢量,就可以计算每一简单纹理图像的像素的法向矢量。
步骤(c)可以包括根据每一深度图像的像素值将每一简单纹理图像的像素投影到3D空间上,并检测与投影到3D空间上的每一像素相邻的像素;使用投影到3D空间上的像素和它们各自的两个相邻的像素来形成三角平面,并计算该三角平面的法向矢量;和将该三角平面的法向矢量进行平均。
根据本发明的另一方面,提供了一种着色装置。该着色装置包括扩展深度图像形成单元,用于接收对3D模型的不同方面进行着色的简单纹理图像和3D模型的属性信息,并使用该简单纹理图像和该属性信息来产生扩展深度图像,该扩展深度图像是表示随着视点不同而变化的3D模型的色彩和深度以及3D模型的属性的二维(2D)图像,;反射模型系数设置单元,用于根据3D模型的属性信息为扩展深度图像的每一像素设置预定的反射模型系数;法向矢量确定单元,用于计算包括在扩展深度图像中的每一深度图像的像素的法向矢量;和着色单元,用于通过使用预定的反射模型系数和法向矢量来确定3D模型的色彩,其中该3D模型的色彩根据3D模型的属性而变化,和使用所确定的色彩对该3D模型进行着色。
根据本发明的另一方面,提供了一种基于图像的编辑方法。该基于图像的编辑方法可以包括(a)捕获使用多个简单纹理图像的、包括色彩图像和深度图像对3D模型进行着色的图像,每一个该简单纹理图像对3D模型的不同方面进行着色;(b)编辑所捕获的图像的像素,并存储该编辑的图像;和(c)使用该编辑的图像来更新参考图像(多个简单纹理图像的色彩和深度图像)。
步骤(c)可以包括(c1)选择要使用编辑图像进行编辑的一个参考图像和其中一部分;(c2)选择与该编辑图像的编辑像素相对应的所选参考图像的像素,和根据该编辑图像对所选参考图像的所选像素进行编辑;和(c3)存储该编辑的参考图像。
在步骤(c)中,可以根据该编辑参考图像对每一参考图像的所有像素进行编辑,其中该像素对与该编辑参考图像的编辑像素相同的部分进行着色。
步骤(b)可以包括(b1)选择所捕获图像中着色的3D模型的一部分,并计算该所选择部分的法向矢量;(b2)设置光源,该光源具有由用户在步骤(b1)中所计算的法向矢量的方向上的无穷远点处设置的属性;(b3)计算该捕获图像的像素的法向矢量;(b4)根据光源的属性和在步骤(b3)中所计算的法向矢量来计算3D模型的色彩;和(b5)使用所计算的色彩来创建编辑的参考图像。
在步骤(b4)中,可以使用Phong反射模型的系数来计算3D模型的色彩。
步骤(b)可以包括选择要进行编辑的一个参考图像和其中一部分;通过将与所选参考图像的所选部分相对应的像素值设置为预定值,来从所选参考图像中删除该所选的部分;和将作为结果得到的参考图像存储为编辑参考图像。
根据本发明的另一方面,提供了一种基于图像的编辑装置。该基于图像的编辑装置包括图像捕获单元,用于捕获使用多个简单纹理图像对3D模型进行着色的图像,该图像包括对3D模型的不同方面进行着色的色彩和深度图像;图像编辑单元,用于编辑所捕获的图像的像素,并存储该编辑的参考图像;和向后投影单元,用于使用该编辑的参考图像来更新参考图像,其中该参考图像为多个简单纹理图像的色彩和深度图像。


通过参考附图对本发明的示范性实施例进行详细的描述,本发明的上述和其它特征和优点将会变得更为明显,其中图1是说明简单纹理模型的图;图2是说明门(gate)模型和在捕获门的参考图像的位置处的相机位置的图;图3是说明依靠相机位置的分辨率变化的图;图4是根据本发明的一个优选实施例的用于删除简单纹理模型的冗余数据的装置的方框图;图5A和5B是根据本发明的一个优选实施例的、用于删除简单纹理模型的冗余数据的方法的流程图;图6是说明在本发明中的像素的可靠性的图;图7(a)和7(b)说明还没有应用根据本发明的优选实施例的用于删除简单纹理模型的冗余数据的方法的色彩图和深度图;
图7(c)和7(d)说明已经应用了根据本发明的优选实施例的用于删除简单纹理模型的冗余数据的方法的色彩图和深度图;图8展示了图7(b)和7(d)的放大视图;图9是根据本发明的优选实施例的、使用扩展深度图像的着色装置的方框图;图10是根据本发明的优选实施例的、使用扩展深度图像的着色方法的流程图;图11是说明使用扩展深度图像进行着色的3D模型的图;图12是说明根据本发明的优选实施例的向后传播(back-propagation)处理的原理的图;图13是根据本发明的优选实施例的基于图像的编辑装置的方框图;图14A和14B是根据本发明的优选实施例的基于图像的编辑方法的流程图;图15A是根据本发明的优选实施例的光线描绘(light paint)编辑方法的流程图;图15B是根据本发明的优选实施例的删除编辑方法的流程图;图15C是根据本发明的优选实施例的拷贝编辑方法的流程图;图16(a)、16(b)和16(c)说明了通过使用根据本发明的优选实施例的描绘编辑方法进行着色的3D模型;图17(a)、17(b)和17(c)说明了通过使用根据本发明的优选实施例的光线描绘编辑方法进行着色的3D模型;和图18(a)、18(b)和18(c)说明了分别使用根据本发明的优选实施例的选择编辑方法、根据本发明的优选实施例的删除编辑方法、和根据本发明的优选实施例的拷贝编辑方法进行着色的3D模型。
具体实施例方式
在本发明中,使用简单纹理模型对三维(3D)模型进行着色。简单纹理模型包括对3D模型的不同方面进行着色的参考图像。每一参考图像包含几何信息(即深度信息),关于相机的信息(诸如相机的位置、方向和视野(field-of-view)、以及近剪切板和远剪切板上的信息。图1所示为简单纹理模型的一个范例。更具体地说,在图1的上半部所示为简单纹理模型的色彩图像,在图1的下半部所示为简单纹理模型的深度图像,在图1的最右边所示为使用简单纹理模型着色的3D模型。在使用正投影(orthographic)相机的情况下,存储正投影相机的视野宽度和高度。每一深度图像的像素用灰度级表示,该像素投影到3D模型表面的不同部分。根据预定相机与它们所分别投影到3D模型表面的部分之间的距离来确定每一深度图像的像素值。参照图1,3D模型靠近预定相机的部分在每一深度图像中比3D模型远离预定相机的部分被着色得更亮。
可以使用例如小波(wavelet)压缩方法的方法来存储参考图像,从而压缩的参考图像可以通过网络被逐渐地发送。最好,色彩图像和深度图像具有相同的大小。可以使用每像素8比特或16比特,将每一深度图像有选择性编码成色彩图像的α信道。然而,8比特并不足够以高分辨率精确地着色3D模型。
每一深度图像着色3D模型的一个方面,并且它们一起着色3D模型的每个方面。图2所示为门模型和在捕获门的图像的位置处的相机位置。参照图2,对每一参考图像的大小和每一相机的位置和方向没有作任何限制。为需要更精细着色的3D模型的表面部分准备高分辨率图。如图3所示,捕获恐龙头图像的相机比捕获恐龙背图像的相机产生更加精制的简单纹理模型。
根据本发明,3D模型着色的静态版本可以通过着色3D距离数据或离线合成对象而得到,并且如果需要,对离线着色的结果进行优化。
本发明采用了一种使用色彩流和深度流的基于动画图像的着色技术。动画对象图像是色彩流和深度流的集合。这里,使用它们各自的深度流合成色彩流。基于动画图像的着色技术对于诸如3D电影的应用可能会非常有用。基于动画图像的着色技术对动画的类型没有任何限制。另外,基于动画图像的着色技术是一个复杂性独立的着色技术,该着色技术通过使用MPEG-4视频压缩方法压缩图像数据,可以将大的图像数据变小。在这一点上,基于动画图像的着色技术比常规的关键帧动画技术效率更高,特别是当应用到复杂模型时。
现在参照附图,更加全面地描述根据本发明的优选实施例的用于删除简单纹理模型的冗余数据的方法和装置。
简单纹理模型包括参考图像,该参考图像包括色彩信息和深度信息。每一参考图像也包括在3D模型的部分与预定视点之间的距离信息。简单纹理模型中不同的参考图像可以着色3D模型的相同部分,在这种情况下,简单纹理模型具有冗余数据。来源于不同深度图像的但是对3D模型的相同部分着色的采样几乎投影到3D空间中相同的点上。如此的冗余采样会引起下列问题。
第一,冗余采样不合乎理想地增加了简单纹理模型的大小,并且由此对着色速度产生负面影响。
第二,可以将3D模型的表面部分着色成具有不同数目像素的不同输出图像,即3D模型的表面部分可以以不同的采样速率被捕获成不同的深度图。在这种情况下,在每一输出图像中,低采样速率的采样比高采样速率的采样被着色更大。因此,可以用不可靠的像素,即低采样速率的采样来代替可靠的像素,即高采样速率的采样,这样会导致着色质量的降低。
第三,原理上,对3D模型的相同表面部分进行着色的采样最好具有相同的色彩、或至少相似的色彩,尽管它们来源于不同的深度图。然而由于简单纹理模型中的冗余数据,这些采样可以有不同的颜色,这就会导致着色噪声。
本发明可以通过使着色3D模型的相同的表面部分、但是在不同的深度图中被恢复的采样的数目最小化来解决上述问题。在本发明中,如果着色3D模型的相同的表面部分的采样多于一个,就认为它们是冗余。
图4为根据本发明的优选实施例的用于删除简单纹理模型的冗余数据的装置的方框图。参照图4,该装置包括法向矢量计算单元410、可靠性计算单元420、邻近计算单元430和冗余数据删除单元440。
图5A为根据本发明的优选实施例的用于删除简单纹理模型的冗余数据的方法的流程图。参照图4和5A,在步骤S510中,将着色预定3D模型并包括色彩图(色彩图像)和深度图(深度图像)的多个简单纹理图像输入到法向矢量计算单元410中。恢复每一深度图的像素投影在3D空间中的像素的位置,并计算每一深度图的像素的附加属性,诸如在每一深度图上的像素的位置(x,y)、每一深度图的像素的采样大小和法向矢量和可靠性。法向矢量计算单元410在步骤S520中计算每一深度图的像素的法向矢量,后面将参照图5B更详细地描述该过程。
在步骤S530中,可靠性计算单元420使用每一深度图的像素的法向矢量来计算每一深度图的像素的可靠性。深度图的预定区域中的像素的可靠性确定了该深度图的该预定区域中的采样质量。可靠性计算单元420使用下面的等式(1)计算每一深度图的像素的可靠性。
r=|(Np,Ns)|…(1)在等式1中,Np表示垂直于相机视野平面的法向矢量,Ns表示预定采样s的法向矢量,其垂直于由该预定采样s着色的3D模型的表面的预定部分的表面,(Np·Ns)是法向矢量NP和NS的内积,以及|Np·Ns|是(Np·Ns)的绝对值。
在步骤S540中,邻近计算单元430计算每一深度图的像素彼此之间的三维邻近性(proximity),以便查找对3D模型的相同部分进行着色的一组像素。更具体地说,邻近计算单元430将每一深度图的每一像素映射到3D坐标系,并确定在该3D坐标系中彼此之间位于预定距离之内的像素,来作为着色3D模型的相同部分的像素。
在步骤S550中,冗余数据删除单元440接收被确定作为着色3D模型的相同部分的像素,从这些接收的像素之中丢弃一些低可靠性的像素,并输出一组已经从中删除冗余数据的简单纹理图像。更具体地说,冗余数据删除单元440比较像素的可靠性,该像素被确定作为着色3D模型的相同部分的但来源于不同的深度图,冗余数据删除单元440选择具有最高可靠性的像素,并丢弃其余的像素,从而将它们从它们各自的深度图中删除。这些被删除的像素,即冗余像素在它们各自的深度图上被设置为0值。
参照图6,预定采样s当投影到第二平面P2时比当投影到第一平面P1时具有更高的可靠性,这是因为由(Np1,Ns)形成的角度比由(Np2,Ns)形成的角度要大。这里Ns表示预定采样s的法向矢量。因此,投影到第二平面P2上的采样可以比投影到第一平面P1上的采样更令人满意地对3D模型的几何信息进行着色。于是,投影到第一平面P1上的采样被从它们各自的深度图中删除,这是因为它们的可靠性比投影到第二平面P2上的采样要低。
图5B是说明法向矢量计算单元410的操作的详细流程图。参照图5B,在步骤S522中,法向矢量计算单元410通过参照每一深度图的像素的值来将每一深度图的像素投影到3D空间上,并且检测与投影到3D空间上的每一像素相邻的两个像素。在步骤S524中,法向矢量计算单元410通过使用投影到3D空间上的像素以及它们各自相邻的两个像素来形成多个三角平面。在步骤S526中,法向矢量计算单元410计算与三角平面垂直的法向矢量。在步骤S528中,法向矢量计算单元410通过将在步骤S526中得到的法向矢量进行平均,来计算每一深度图的每一像素的法向矢量。
根据本发明的优选实施例的用于删除简单纹理模型的冗余数据的装置考虑到采用的大小可以不同的这样的一个事实,并且因此一个大的采样完全可以阻塞(block)多个小的采样。在本发明中,在两个具有不同大小的采样相互阻塞(block)时,两个中间的较大的那个被删除。
在本发明中,法向矢量用于计算采样的可靠性。然而,由于这种法向矢量图会不必要地增加用于将3D模型传送到用户终端的频道带宽,它就不被包括在要发送给用户终端的3D模型中。在本发明中,法向矢量只是用于预先处理过程,并使用3D信息来从深度图中恢复该法向矢量。
在冗余采样被从它们各自的深度图中删除之后,需要进行特殊的处理以改善深度图的精度。如上所述,其中已经删除了冗余采样的深度图会产生着色噪音。换言之,即使从不同深度图的相同采样中过滤出来的法向矢量也不太可能相互匹配。本发明通过下面的方式解决该问题。在本发明中,彼此之间的可靠性相差预定的临界值或更少的采样被认为是具有相同的可靠性。如果分别从不同的深度图恢复出来的冗余像素具有相同的可靠性,那么可以任意选择一些要删除的像素。
通过按照上述方式从它们各自的深度图中删除冗余采样,得到包括从不同的深度图中捕获的像素的无冗余3D模型是可能的。
图7(a)和7(b)所示为机器人模型的色彩图和深度图,其还没有应用根据本发明的优选实施例的用于删除简单纹理模型的冗余数据的方法。并且图7(c)和7(d)所示为机器人模型的色彩图和深度图,其已经应用了根据本发明的优选实施例的用于删除简单纹理模型的冗余数据的方法。参照图7(a)至7(d),通过删除相当多的冗余数据,来显著地降低机器人模型的尺寸。机器人模型尺寸的降低导致高着色速度。
图8展示了图7(b)和7(d)的放大视图。参照图8,在对应于图7(d)的图8的右边上的机器人模型的表面上的字母比在对应于图7(b)的图8左边上的要清楚。因此,通过使用根据本发明的优选实施例的用于删除简单纹理模型的冗余数据的方法来增强着色质量是可能的。
如上所述,使用简单纹理模型的常规的基于图像的着色方法通过使用包括色彩图和深度图的简单纹理模型来着色3D模型。因此,使用简单纹理模型的常规基于图像的着色方法能够比使用3D网格模型的常规着色方法获得更好的着色质量和更高的着色速度。然而,使用简单纹理模型的常规的基于图像的着色方法仍然不能对3D模型的表面纹理进行满意的着色。
为了克服使用简单纹理模型的常规的基于图像的着色方法的局限,本发明提供一种使用扩展的简单纹理模型的基于图像的着色方法和装置。通过向典型的简单纹理模型增加关于3D模型纹理的数据来获得扩展的简单纹理模型。扩展的简单纹理模型包括关于着色3D模型表面的每一像素的附加信息。
在下面的段落中,将更加全面地描述根据本发明的优选实施例的使用扩展的简单纹理模型的基于图像的着色方法和装置。
在使用扩展的简单纹理模型的基于图像的着色方法中,使用多个深度图来着色3D模型。每一深度图包括一组信息,诸如关于简单纹理模型的信息和关于用于产生该简单纹理模型的相机的信息。在本发明中,每一深度图被重定义为扩展的深度图像(XDI),其包括深度图、色彩图和3D模型的特征1、2……。3D模型的这些特征被存储为2D图像,诸如简单纹理模型的色彩图和深度图。因此通过存储表示3D模型的特征的值对3D模型的属性进行着色是可能的,其中这些属性为例如对象的表面上的亮区和暗区以及发光区域。
根据用户对对象的视点不同,可以不同地对对象的3D模型进行着色。油彩色(splat color)是在对对象的3D模型进行着色的处理过程中使用的基本元件之一,该油彩色(splat color)可以根据预定的用户视点、从预定的视点着色的3D模型表面的纹理、去从预定的视点着色的3D模型表面的法向矢量、用户的位置以及3D模型和光源的位置来确定。
在本发明中,对3D模型的着色是通过使用Phong反射模型来对光线从3D模型的表面反射的程度进行着色来实现的。Phong反射模型包括用于着色3D模型特征的六个系数和一个光源,即从深度图中恢复的像素的法向矢量、发射系数、阴影(ambient)系数、漫反射系数、镜面系数和光泽系数。可以省略或用预定默认值代替六个系数中的某些,例如,环境系数和发射系数。色彩图像被认为是漫反射图。
在本发明中,使用OpenGL着色3D模型,OpenGL是2D/3D图形的标准。在对3D模型着色的过程中,通过图形管道(pipeline)发送像素的法向矢量、对象参数和光学参数。当前硬件加速器(例如Nvidia GeForce)可以通过硬件迅速地计算Phong反射模型。在本发明中,硬件着色处理可以利用OpenGL着色管道来实现。在硬件加速器由于某些原因而失效的情况下,可以用软件着色处理来代替实现。
图9所示的方框图为根据本发明的优选实施例的使用扩展的深度图像的着色装置,和图10所示的流程图为根据本发明的优选实施例的使用扩展的深度图像的着色方法。参照图9和10,该着色装置包括XDI形成单元910、反射模型系数设置单元920、法向矢量计算单元930和着色单元940。在步骤S1010中,XDI形成单元910接收简单纹理模型和对象的3D模型的属性信息。输入到XDI形成单元910中的简单纹理模型包括色彩图和深度图。输入到XDI形成单元910中的对象的属性信息包括3D模型的发射、阴影(ambient)、镜面和光泽分量。镜面分量根据用户对3D模型的视点,对从3D模型表面反射的光线的程度的变化进行着色,以及光泽分量根据3D模型的表面纹理,对从3D模型表面反射的光线反射程度的变化进行着色。镜面和光泽分量通过使用图像编辑程序,例如Photoshop以2D图的形式来产生,并且将2D图像映射输入到XDI形成单元910中。
在步骤S1020中,XDI形成单元910使用简单纹理模型和3D模型的属性信息来形成扩展深度图像。如上所述,XDI包括深度图像、色彩图像和3D模型的特征1、2、…。XDI形成单元910将XDI输出到反射模型系数设置单元920和法向矢量计算单元930中。
反射模型系数设置单元920设置预定系数,其用于在下面的等式(2)中计算Phong反射模型。
color=E+IaKa+ΣSi1kc+kl*d+kqd2×(IaiKa+max{(l,n),0}IdiKd+(max{(r,v),0})pIsiKs)...(2)]]>在等式(2)中,Ks、Ka和Kd分别表示镜面、阴影(ambient)和漫反射分量,p表示XDI的预定像素的光泽值,r表示从3D模型反射的光的方向,v表示3D模型被观看的方向,l表示光源方向,n表示预定像素的法向向量,Si表示从光源所发出的光的强度,Kc、Kl和Kq表示从光源所发出的光的衰减系数,d表示在3D模型与光源之间的距离,以及Iai、Isi和Idi分别表示第i个光源的阴影、镜面和漫反射色彩。
反射模型系数设置单元920根据预定的规则或算法为XDI的每一像素设置Ks、Ka、Kd、p、Iai、Isi和Iai。反射模型系数设置单元920将具有相同变量值的XDI的像素分组,使得它们可以被一起处理。
法向矢量计算单元930根据XDI的深度信息确定XDI的每一像素的法向矢量n,该过程已经在上面参照图5B进行了描述。
在步骤S1050中,着色单元940通过根据反射模型系数Ks、Ka、Kd、p、Iai、Isi和Idi和XDI的每一像素的法向矢量n,使用上面的等式(2)计算XDI的每一像素的色彩值,来对3D模型进行着色。着色单元940通过调节油彩(splat)尺寸计算Phong反射模型,并将反射模型系数Ks、Ka、Kd、p、Iai、Isi和Idi和XDI,每一像素的法向矢量n、XDI的每一像素的3D位置输入到3D图形加速器,例如OpenGL,并使用计算得到的Phong反射模型来着色对象的3D模型。在这种硬件图形加速器失效的情况下,着色单元940能够通过软件,而不是使用硬件来实现上面的着色处理。
图11所示为使用单个XDI的4组件图所着色的3D模型。参照图11,可以成功地对随着视点不同而变化的金属对象的属性,诸如反射光线和金属对象表面上的闪光(glitter)进行着色。
现在更加全面地描述根据本发明的优选实施例的基于图像的图像编辑装置和方法。用于修改有纹理的3D模型表面的常规图像编辑技术比较复杂和不方便,特别是当并需要对有纹理的3D模型的表面上色,或需要对对象的有纹理的3D模型的表面应用置换映射技术(displacement mapping technique)的时候。为了克服常规图像编辑技术的上述限制,本发明提供一种基于图像的编辑装置和方法。
在本发明中,用户能够通过编辑组成3D模型的参考图像之一,三维地构成每一其它参考图像的采样,并将三维地构成的该每一其它参考图像的采样投影到该编辑的参考图像上,来对3D模型进行编辑。如果投影到编辑参考图像上的每一其它参考图像的采样距离它们的编辑参考图像的各自像素的位置小于预定的临界距离,那么就编辑它们。通过这样做,就得到3D模型的参考图像之中的连贯性。在本发明中,最好不要产生诸如3D网格的附加数据结构。因此,在本发明中不需要执行复杂的计算来形成中间模型。换言之,对3D模型的一个参考图像进行的修改被自动地应用到3D模型的其它参考图像中。另外,在着色3D模型的时候,可能捕获3D模型的图像并编辑该捕获的图像,并可能根据对捕获的图像作出的修改来编辑3D模型的参考图像。
这种类型的编辑方法被称为向后传播编辑方法,因为它包括编辑3D模型的参考图像之一,然后通过将其它的参考图像与第一个编辑的参考图像进行比较来编辑该其它的参考图像。图12所示为向后传播编辑方法的原理。参考图12,水平图是一个已编辑参考图像,以及垂直图A是将要根据已编辑的参考图像进行编辑的参考图像。垂直图A的像素是三维构成的并被向后投影到水平图上,使得它们分别与水平图上的像素相对应。投影到水平图上的垂直图A的像素的、距离水平图上它们各自的像素的距离小于预定的临界距离的那些像素被编辑,该编辑是通过用水平图上它们各自像素的色彩信息置换它们的色彩信息来进行的。
在本发明中,用户通过适当地设置临界值,可以调节将对3D模型的参考模型之一所做的修改向后传播给其它参考图像的程度。这对于具有低分辨率的参考图像非常重要,特别是因为分配给量化(quantization)的这种少量比特可以导致从对象表面的不同参考图像中恢复的采样具有不同的深度值,尽管它们对3D模型的相同部分进行着色。为了解决该问题,本发明提供一种选择编辑方法,其中可以通过设置预定的临界值来调节要被编辑的3D模型的数量。例如,如果预定的临界值被设置为它的最大值,就确定投影到该编辑参考图像上的3D模型的每一参考图像的所有采样都会被编辑。
图13为根据本发明的优选实施例的基于图像的编辑装置的方框图,以及图14A和14B为根据本发明的优选实施例的基于图像的编辑方法的流程图。参考图13,该基于图像的编辑装置包括捕获单元1310、编辑单元1320、和向后投影单元1330。参照图14A,在步骤S1410中,通过利用使用简单纹理模型的常规着色方法来得到一组3D模型的参考图像,并将其输入到图像捕获单元1310中,以及该捕获单元1310停止着色3D模型并捕获要被编辑的3D模型的参考图像中的一个。
在步骤S1420中,编辑单元1320使用下列编辑方法之中的一种方法来编辑该捕获的参考图像绘画编辑方法、光线绘画方法、删除绘画方法和拷贝编辑方法,此后将更详细地对其进行描述。
向后投影单元1330将关于编辑参考图像的信息,即对捕获的参考图像作出的修改向后投影到其它参考图像上,使得可以与该编辑的参考图像相一致地编辑其它的参考图像。
图14B是图14A的步骤S1430的详细流程图。参照图14B,在步骤S1432中,向后投影单元1330根据对所捕获的参考图像做出的修改来选择要被编辑的参考图像,并确定每一所选参考图像的哪些部分需要被编辑。在步骤S1434中,向后投影单元1330选择每一所选参考图像的像素,该像素对应于所捕获的参考图像的已经编辑的部分,并通过将对所捕获的参考图像做出的修改向后投影到每一所选参考图像的所选像素上,来编辑每一所选参考图像。在步骤S1436中,向后投影单元1330中存储向后投影的结果,并使用该向后投影结果来更新该简单纹理模型。
现在将参照图15A至15C更详细地描述步骤S1420。本发明提供一种用于编辑非压缩的简单纹理模型的纹理的绘画编辑方法。该绘画编辑方法使用典型的图像编辑程序,例如PaintBrush或Photoshop,并是基于上述向后投影编辑方法的原理的。
根据下面的算法来执行该绘画编辑方法。在着色3D模型的过程中,用户选择3D模型的一个参考图像来作为一个要绘画编辑的图像,并捕获所选的参考图像。使用图像编辑程序,例如Photoshop来编辑所捕获的参考图像。将关于对所捕获的参考图像做出的修改的信息向后传播到其它的参考图像。如果投影到所捕获的参考图像上的每一其它参考图像的采样与它们的所捕获的参考图像的对应像素具有不同的色彩,那么需要根据它们的所捕获的参考图像的对应像素的色彩来编辑它们的色彩。
图16(a)至16(c)所示为使用根据本发明的优选实施例的绘画编辑方法进行编辑的3D模型。如图16(c)所示,所捕获的参考图像上写有字母,该字母然后被向后传播到另一参考图像,如图16(c)所示。在该向后传播处理之后,仍然可以对对应的3D模型进行着色。如图16(a)至16(c)所示,对通过使用根据本发明的优选实施例的绘画编辑方法在一点处捕获的3D模型的一个参考图像作出的修改,该修改仅被向后传播到此后进行着色的3D模型的参考图像上。
图15A为根据本发明的优选实施例的光线绘画编辑方法的流程图。例如,在进一步安装一个附加光源的情况下,需要编辑3D模型的简单纹理模型以反射照明强度的改变。最终,本发明提供一种光线绘画编辑方法。使用上述的Phong反射模型来计算由于照明的改变所引起的3D模型的纹理中的改变,其中Phong反射模型需要用于着色3D模型的表面的采样的法向矢量。然而,该简单纹理模型并不包括法向矢量图。于是,应该从简单纹理模型的深度图中获得该法向矢量。
参照图15,在步骤S1510中,用户选择3D模型的一个参考图像来作为作为将要进行光线绘图编辑的一个参考图像并且捕获在着色3D模型中间所选择的参考模型,并设置与照明属性相关的变量,例如要新加入的光源的位置、方向和颜色。在步骤S1511中,选择3D模型的预定部分,并且从该所选部分中提取法向矢量。在步骤S1512中,光源被放置在所提取的法向矢量方向上的无限远点处,使得在所捕获的参考图像中的3D模型被进一步照亮。
在步骤S1513中,使用上述方法参照图5B来计算所捕获的参考图像的像素的法向矢量。在步骤S1514中,使用上述的Phong反射模型来计算3D模型的色彩,该3D模型进一步被新增加的光源照亮。在步骤S1515中,根据在步骤S1514中得到的3D模型的色彩来改变所捕获的参考图像的每一像素的色彩。
图17(a)至17(c)所示为使用图15A和15B的光线绘画编辑方法进行编辑的3D模型。如图17(a)和17(b)所示,通过使用根据本发明的优选实施例的光线绘画编辑方法来编辑参考图像,在该参考图像中被着色的3D模型进一步被照亮。在光线绘画编辑处理之后,3D模型仍然可以被着色。因此,通过使用根据本发明的优选实施例的光线绘画编辑方法在一点处捕获对3D模型的参考图像作出的修改,该修改仅被向后传播到此后进行着色的3D模型的参考图像上。
在下面的段落中,将要简要描述说明根据本发明的优选实施例的选择编辑方法、删除编辑方法和拷贝编辑方法。
一组简单纹理模型的参考图像包括关于对象的3D模型的信息。用户可以使用根据本发明的优选实施例的选择编辑方法来从模型中分离任何想要的部分。在选择编辑方法中,位图分别与参考图像相关联,以及预定参考图像的像素分别对应于与该预定参考图像相对应的位图的比特位。因此,如果将对应于预定参考图像的位图的一个比特位设置为值1,则考虑选择它对应的预定参考图像的像素。用户可以使用可变大小的刷子来选择任意参考图像的一组像素。一旦编辑了任意参考图像,则对任意参考图像所做的修改被向后传播到其它参考图像,从而可以与已编辑的任意参考图像相一致地来编辑其它参考图像。每一其它参考图像的采样被三维地构造,并被投影到该已编辑的任意参考图像上。此后,在投影到该已编辑的任意参考图像上的每一其它参考图像的采样之中选择那些距离它们对应的该已编辑的任意参考图像的像素小于预定距离的那些像素,并且分别对应于其它参考图像的位图的它们的对应比特位值设置为值1。
通过使用根据本发明的优选实施例的删除编辑方法可以删除3D模型的每一其它参考图像的所选像素,其中3D模型的所选部分被删除。使用根据本发明的优选实施例的拷贝编辑方法可以拷贝3D模型的所选部分。使用从不同参考图像中选择的部分可以创建新的完整图像,其中通过使用预定的参考相机,使用根据本发明的优选实施例的选择编辑方法至少选择每一参考图像的一部分。通过使用根据本发明的优选实施例的拷贝编辑方法,预定参考图像的所选像素全部被拷贝到一个新拷贝的参考图像上,并且将该预定参考图像的剩余像素的深度值设置为0,从而它们着色背景图像。以上述方式新创建的参考图像被分开存储,从而它可以被保存为新的简单纹理模型。
现在将参照图15B和15C更全面地描述根据本发明的最优实施例的删除编辑方法。
参照图15B,在删除3D模型的一部分的情况下,在步骤S1520中,选择参考图像,以及在步骤S1521中,选择所选参考图像要删除的一部分。在步骤S1522中,所选参考图像的所选部分被删除,在前面已经描述了该过程。在步骤S1523中,将关于对所选参考图像作出的改变的信息向后传播到其它参考图像上。
参照图15C,在拷贝3D模型的一部分的情况下,在步骤S1530中,选择参考图像,以及在步骤S1531中,选择所选参考图像要被拷贝的部分。使用在步骤S1532中从所选参考图像中拷贝的所选部分,来创建新的参考图像,并在步骤S1533中将其存储。图18(a)至18(c)所示分别为使用根据本发明的优选实施例的选择编辑方法、删除编辑方法、和拷贝编辑方法进行编辑的3D模型。
本发明可以作为写在计算机可读记录介质上的计算机可读代码来实现。该计算机可读记录介质包括所有类型的记录设备,其中数据可以计算机可读方式被存储。例如,该计算机可读记录介质包括ROM、RAM、CD-ROM、磁带、软盘、光学数据存储设备以及载波,诸如通过因特网的数据传输。该计算机可读记录介质可以分布在网络中彼此互联的多个计算机系统上,从而使该计算机可读代码存储在其中,并以分散方式从其中得到执行。
如上所述,根据本发明的优选实施例的用于删除简单纹理模型的冗余数据的方法和装置通过删除简单纹理模型的冗余数据能够增强着色速度和着色质量,其中该冗余数据从不同的视点着色对象的3D模型的相同部分。
另外,通过使用扩展的深度图(XDI),可能成功地着色3D模型的表面特征,例如3D模型的表面上的闪光和阴影变化。
而且,通过简单编辑其中的2D参考图像来编辑3D模型是可能的。
虽然已经参照其中的示范性实施例具体地展示和描述了本发明,但是本领域的普通技术人员将认识到,不脱离如所附的权利要求所定义的本发明的精神和范围的情况下,可以对其中的形式和细节做出各种改变。
权利要求
1.一种着色方法,包括(a)接收对3D模型的不同方面进行着色的简单纹理图像和3D模型的属性信息,并使用该简单纹理图像和该属性信息来产生扩展的深度图像,该扩展的深度图像是表示随着视点不同而变化的3D模型的色彩和深度以及3D模型的属性的二维(2D)图像;(b)根据3D模型的属性信息为扩展的深度图像的每一像素设置预定的反射模型的系数;(c)计算包括在扩展的深度图像中的每一深度图像的像素的法向矢量;和(d)使用预定的反射模型系数和法向矢量来确定3D模型的色彩,该3D模型的色彩根据3D模型的属性而变化,以及使用所确定的色彩来着色该3D模型。
2.根据权利要求1所述的着色方法,其中属性信息包括镜面分量,用于指示3D模型反射光线和随着视点不同而变化的程度;和发光分量,用于指示3D模型发光和依靠3D模型表面的纹理而变化的程度。
3.根据权利要求1所述的着色方法,其中所述预定反射模型是Phong反射模型。
4.根据权利要求1所述的着色方法,其中在步骤(c)中,通过基于每一深度图像的像素值来将每一简单纹理图像的像素投影到3D空间上和计算通过使用投影到3D空间上的像素和它们各自相邻的两个像素分别形成的三角平面的法向矢量,来计算每一简单纹理图像的像素的法向矢量。
5.根据权利要求1所述的着色方法,其中步骤(c)包括根据每一深度图像的像素值来将每一简单纹理图像的像素投影到3D空间上,并检测与投影到3D空间上的每一像素相邻的像素;通过使用投影到3D空间上的像素和它们各自相邻的两个像素来形成三角平面,并计算该三角平面的法向矢量;和将该三角平面的法向矢量进行平均。
6.一种着色装置,包括扩展深度图像形成单元,用于接收对3D模型的不同方面进行着色的简单纹理图像和该3D模型的属性信息,并使用该简单纹理图像和该属性信息来产生扩展深度图像,该扩展深度图像是用于表示随着视点不同而变化的3D模型的色彩和深度,以及3D模型的属性的二维(2D)图像;反射模型系数设置单元,用于根据3D模型的属性信息来为扩展深度图像的每一像素设置预定的反射模型的系数;法向矢量确定单元,用于计算包括在扩展深度图像中的每一深度图像的像素的法向矢量;和着色单元,用于通过使用预定的反射模型系数和法向矢量来确定根据3D模型的属性而变化的3D模型的色彩,和使用所确定的色彩来着色该3D模型。
7.根据权利要求6所述的着色装置,其中属性信息包括镜面分量,用于指示3D模型反射光线和随着视点不同而变化的程度;和发光分量,用于指示3D模型发光和依靠3D模型的表面的纹理而变化的程度。
8.根据权利要求6所述的着色装置,其中所述预定的反射模型是Phong反射模型。
9.根据权利要求6所述的着色装置,其中法向矢量计算单元通过根据每一深度图像的像素值来将每一简单纹理图像的像素投影到3D空间上和计算通过使用投影到3D空间上的像素和它们各自相邻的两个像素分别形成的三角平面的法向矢量,来计算每一简单纹理图像的像素的法向矢量。
10.根据权利要求6所述的着色装置,其中法向矢量计算单元通过如下步骤来计算每一简单纹理图像的像素的法向矢量根据每一深度图像的像素值将每一简单纹理图像的像素投影到3D空间上,并检测与投影到3D空间上的每一像素相邻的像素;使用投影到3D空间上的像素和它们各自相邻的两个像素来形成三角平面;计算所述三角平面的法向矢量;和将所述三角平面的法向矢量进行平均。
全文摘要
本发明提供了一种着色方法和装置,该方法包括接收对3D模型的不同方面进行着色的简单纹理图像和3D模型的属性信息,并使用该简单纹理图像和该属性信息来产生扩展的深度图像,该扩展的深度图像是表示随着视点不同而变化的3D模型的色彩和深度以及3D模型的属性的二维(2D)图像;根据3D模型的属性信息为扩展的深度图像的每一像素设置预定的反射模型的系数;计算包括在扩展的深度图像中的每一深度图像的像素的法向矢量;和使用预定的反射模型系数和法向矢量来确定3D模型的色彩,该3D模型的色彩根据3D模型的属性而变化,以及使用所确定的色彩来着色该3D模型。
文档编号G06T15/00GK101025830SQ200710088709
公开日2007年8月29日 申请日期2004年7月14日 优先权日2003年7月14日
发明者朴仁圭, 韩周延, 韩万镇, 亚历克西·V·伊格内坦科, 安东·库诺钦, 利奥尼德·I·莱夫科维奇-马斯莱尤克 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1