英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料
特效:高效可扩展的三维变形动画网格编码
艾昂·亚历山大·萨洛米、鲁迪·德克勒克、丹·塞尔尼亚、阿内塔·马尔科娃,阿德里安·蒙蒂纳*、彼得·沙尔克斯*、简·科内利斯
布鲁塞尔自由大学,ETRO系,普伦兰2,1050布鲁塞尔,比利时
{伊沙洛米、雷德克勒、cdcostin、阿马科娃、阿蒙茶}@埃特罗·武贝
摘要:变形是一种在源对象和目标对象之间实现渐变的技术。这种技术通常用于动画,即创建一些特殊效果,但也可以用作建模工具,在该工具中,一些现有形状被组合以获得新形状。过去设计了几种交互式或自动变形技术,但总是考虑到特定的对象表示。本文提出了一种通用的三维变形框架,该框架允许多分辨率表面提取,并提供了一种混合(表面-体积)动态表示,适用于对静态模型进行编码,支持不同的变形方法,以及对MPEG-4流中的中间3D帧(在变形过程中生成)进行编码。
-
引言
变形是一种融合形状的计算机动画方法,已经成功地应用于电影、电视广告和计算机游戏中特效的生成。它还可应用于三维医学图像分析和可视化、工业应用( CAD、CAM )、科学建模和可视化。根据[ 1 ],一些更具体的示例应用是:颅面部手术期间的可视化;灵长类和人类头骨形状演变的人口学研究:海平面和森林覆盖的环境变化研究:大陆漂移或侵蚀;和胎儿发育等生物学过程的研究。由于应用的多样性,变形不仅在计算机图形学领域占有重要地位,而且在其他科学领域也占有重要地位。
在[ 2]中,提出了拓扑保持、特征保持、刚度保持、光滑性和单调性等原则,以达到良好的变形效果。但并非所有这些原理总是有效的,因为它们强烈地依赖于应用,例如,在特殊效果工业中,有时人工形状变换比物理正确变换更令人印象深刻,然而在一些技术应用中这将是强制性的。
变形技术通常强烈依赖于对象表示,即在描述模型的方式上。一份详细的调查报告在[3]中给出了根据对象表示分类的变形方法。这适合变形的对象表示可以粗略地分为3组:边界、体积和高程模型。[1]
边界变形是变形的过程,其中源和目标是由一组多边形描述的对象。网格模型的一个重要特征是它描述了模型的拓扑结构。因此,有几个软件包支持这种格式的模型创建,并为娱乐业开发了几种网格变形方法。边界变形的关键问题之一是对应问题,即在源和一个或多个目标3D网格之间建立适当的参数化对应。格雷戈里等人。[4]和卡尼等人。[5]通过将输入的三维网格嵌入球体或圆盘中,然后在那里找到参数化对应关系,成功地解决了这个问题。此外,李等人。[6]采用多分辨率分析方法,通过由粗到细的参数化匹配来解决对应问题。然而,这些方法限于3D源网格需要变形为拓扑等价(即同胚)目的网格的情况。
将源网格变形为拓扑上不同的目的网格(例如,将球体变形为环面)而不需要用户交互或以最小的用户交互,仍然是一个挑战。一种可能的方法是使用Reeb图[7]来检测拓扑发生变化的临界点。Reeb图(定义对象的拓扑骨架)与对象的轮廓一起表示整个3D对象。通过使用该方法,变形可以被看作是不同拓扑类型之间的转换序列。此外,还有一些交互式解决方案[8]在拓扑转换期间插入关键帧以链接两种不同的曲面拓扑类型。然而,复杂的拓扑变形非常耗时,特别是在需要不断的用户交互的情况下。
然而,当使用体积表示时,算法稍微简单一些。在体积表示内,对象由在3D空间中的每个点处提供值的实体来描述,例如通过评估解析表达的函数或通过从存储在3D网格中的离散样本检索值。虽然体积方法不像娱乐行业的多边形格式那样流行,但是体积方法不受拓扑和几何形状的限制:它们可以容易地变形不同属的对象(例如,具有圆环的球体),通常不负担表面方法的困难的顶点/边/面簿记,并且表面不能彼此通过。大多数体算法不需要像网格变形技术那样在源和目标格式的顶点之间进行双射映射。此外,通过将体积变形转换为体积数据或隐式曲面[9],可以容易地将体积变形应用于网格,而反向操作可能导致难以变形的拓扑。
已经设计了几种体积方法。变形的最简单方法是在源体和目标体之间进行线性插值,但这种方法不能产生自然平滑的变形。因此,休斯在[10]建议不要直接插值体积,而是在频域。他的方法基于这样的观察,即体积模型的高频分量通常表示小的细节,而低频分量表示物体的一般形状。与一般形状的内插相比,细节的内插似乎不重要。因此Hughes建议逐渐去除源模型的高频,向第二模型的低频内插,然后混合第二模型的高频。他等。[11]通过在小波域中变形进一步阐述了这一思想。由于小波变换既局限于频域又局限于空间域,因此可以同时缓解在[10]中遇到的高频失真和不平滑变换的问题。布林等人。[12]采取了另一种做法;它们采用从源形状开始并平滑地将其改变为目标形状的有源可变形表面。该变形过程通过优化测量目标和变形表面之间的相似性的目标函数来描述。它们将可变形表面表示为密集采样标量3D函数的水平集(等值表面),并从通过窄带方法计算的体积灰度值的变化导出表面移动。塞姆瓦尔等人。[1]使用元胞自动机的概念来执行变形,这是一个动态系统,其中创建N维空间,其中每个元胞包含根据取决于邻域的预定规则而改变的值。从这个简单的局部概念出发,复杂的全局模式和行为随着变形动画考虑网格内所有单元的响应而出现。然而,尽管体积方法提供了许多优点,但是当处理高分辨率体积数据时的一个重要缺点是大的存储器需求。因此,为了以存储器有效的方式支持变形方法,需要允许在感兴趣区域( ROI )的基础上执行处理的可缩放表示。
本文将说明MPEG-4网格对象表示([13],[14],[15],[16])如何用于表示源模型和目标模型,支持不同的变形方法,以及如何将3D变形序列编码为可缩放MPEG-4流,以便将其作为自由视点交互式3D动画回放。在下一节中,将更详细地描述网格,并且我们将看到它伴随着称为TRISCAN ([14],[16])的表面提取方法,该方法可用于提取体积或隐式表面表示下的形状的多分辨率表面。将示出网格是混合表示,其基于ROI工作,并且既保留场景的体积描述又保留场景内对象的表面描述。在第3节中,说明了网格可以用于执行变形和用于编码变形序列。
- 混合对象的描述、表示和编码
TRISCAN是一种新的表面提取算法,它从MPEG-4网格表示[ 3 ]中的3D标量场生成多分辨率对象描述,这与仅在一个方向上执行轮廓绘制的其它表面表示方法(仅在[ 7 )或直接针对表面多边形[ 18 ]的计算的那些表面表示方法相反,TRISCAN旨在“全局描述”对象的表面。TRISCAN遵循的策略是,在第一步骤中,在三组参考表面{SU , SV, SW} (图1 ( b )中以红,绿,蓝着色)中执行对象的轮廓绘制,定义对象的参考系统。{ u,v,w }的交点定义参考网格点。在第二步骤中,作为对象轮廓的并集的结果来建立连通性线框( CW ),其顶点相对于每个参考表面( RS )内的参考网格( RG )点的离散位置来定义。每个RG点的离散位置( u,v,w )表示在该点相交的RSs {SU , SV, SW}的索引,而RG点的坐标( x,y,z )等于计算出的交点的坐标。在一般情况下,RSs不是平面的,而是曲线的和非等距的。
图1 ( A )为离散对象(即透明立方体组)导出的连通性线框的3D视图;( b )三组参考表面{ u,v,w }和( c )它们的轴
图2 通过3D对象显示的顶点和RG点之间的关系(用灰色显示)
为了从所定义的参考系统在每个RS中执行轮廓绘制{SU , SV, SW}
TRISCAN采用了一种类似于mid - 1的边界跟踪算法裂纹算法描述在[ 19 ]。在图2中示出了在与对象相交的RS内获得的轮廓的示例以及轮廓的顶点与RG点之间的关系。属于CW的每个轮廓顶点位于由属于两个不同集合的两个RSs之间的相交产生的线(曲线) l (标记1 )上。称为RG线的线(曲线) l隐含地通过一系列RG点(标记2、3 ),这些点是由线(曲线) l与属于第三集合的RS相交而产生的。绝对坐标CVXYZ在RG线l上的每个顶点V (标号4 )由线l与对象表面的交点给出。参考网格线可以在不同位置与对象的表面相交;因此,在每个交点中必须考虑不同的顶点。
一个直观的例子说明了连接的结构-线框,例如图1 ( a )中示出了针对一个切片厚度的离散对象采用的立方体,其中立方体表示体素。因为顶点V位于RG线上,而RG线又由来自两个不同集合的两个RS S1和S2的交点定义,所以将存在从顶点V到其它顶点(输出)的两个连接向量(-LN1-和-LN2- ) :一个连接向量位于RS1内部,而另一个位于RS2内部。类似地,顶点V将由来自另外两个顶点的两个输入链接( -LP1-和-LP2- )来引用。在图1 ( a )的示例中,V的四个相邻顶点表示为VP1、VP2 、VN1和VN2,并且分别经由-LP1-、-LP2-、-LN1-和-LN2-与V连接。连接向量iisin;{ 1,2 } -LN1-的指数是这样选择的,使得用以下方程计算的法向向量指向表面外:
→
N=(LN1-LP1)times;(LN2-LP2). (1)
虽然可以将CW存储为独立的,因为顶点的(x 、y、 z)坐标及其连通性都是已知的,但是在存储的紧凑性、可伸缩性特征和动画灵活性[ 20 ]方面,更有益的是保留顶点和表示网格表示的基本思想的参考网格点之间的关系,因此网格是一种混合对象表示,它保留了表面和体积描述。在网格中,CW中的顶点V存储相应RG点G1 (位于对象内部)的索引(u、v、w)和离散边界方向( DBD ),而不是坐标(x 、y 、z)。DBD表示沿着从G1到 G2 (位于对象外部)指向的RG线l的方向参见图2。这意味着顶点V(u、v、w)的坐标CVXYZ计算为:
CVX,Y,Z=CG1X,Y,Z offset▪(CG2X,Y,Z - CG1X,Y,Z), (2)
其中偏移(标号6 )是在[ 0,1 )范围内的标量。每当偏移或G1和G2的坐标之一改变时,例如在动画期间,V的坐标被更新。
图3示出了通过将TRISCAN方法应用于复合隐式函数定义而获得的具有三个分辨率级别的分层立方体模型的网格对象分解为其组件。图3 ( a )示出了模型的网格表示,其包括分层CW (图3 ( b ) )和分层RG (图3 ( c ) )。如图3 ( d )所示,RG由可分解成三个参考系统的分层参考系统定义,每个参考系统包括三组参考表面{SU , SV, SW}。为了便于阅读,来自每组的参考表面(图3 ( d ) )被示出为平面的和等距的,而来自不同组的参考表面是相互垂直的。然而,一般来说,参考表面是曲线的且非等距的,以便允许根据模型的拓扑或可用性目的的自适应三角测量- RG应当在高曲率区域(图3 ( a ) )中具有较高密度,或者在动画(例如,来自图7的人形膝盖)或变形期间网格应当改变的地方。注意,网格不局限于用TRISCAN方法获得的表面,它可以用于在圆柱、球形或环形坐标[ 14 ]中定义的闭合或开放四边形网格。
图3.网格表示的组成部分
图4。将不同分辨率级别的模型分割成ROIs,用于表面提取、处理或编码
2.1网格编码
网格流一般由三部分组成: ( 1 )连通性-线框描述,( 2 )参考网格描述,和( 3 )顶点细化描述( VR )。最后一部分包含细化顶点相对于参考网格的位置所需的偏移(等式。( 2 ) )。所有这三个部分可以作为一个实体或在单独的感兴趣区域( ROIs )中以每个分辨率级别编码,用于存储器有效解码。由于其规则性质,如图4中的绿框所示,将每个分辨率级别的参考网格划分为ROI,并且独立地为每个ROI编码相应的描述( CW、RG和VR )是简单的。多分辨率CW的编码是在每个分辨率级别上并且对于每个ROI独立地完成的,但是也考虑了指向相邻ROI的输出连通性矢量(参见图4中的红线和蓝线)。因此,当随机解码ROIs时,由于互指向需要连接的位置的连通性矢量,来自相邻ROIs的网格将完美地缝合在一起。连续波的编码是利用Freeman链码的一种新的三维扩展来完成的,它把RG点看作空间中的(u,v,w)参考位置。由于RG是在规则离散3 - D空间(u,v,w)上定义的平滑矢量场(x(u,v,w) (y(u,v,w) (z(u,v,w),因此使用基于3 - D小波变换和基于带内八叉树的小波编码器[ 13],[ 14
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[22285],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。