首页 理论教育 计算机图形学中的相关工作及角色群组仿真方法

计算机图形学中的相关工作及角色群组仿真方法

更新时间:2025-01-18 工作计划 版权反馈
【摘要】:给定的初始形状和最终形状为关键帧形状,而中间形状的求取过程称为二维形状Morphing。FFD变形方法将整幅图像看作一个空间,通过空间的变形实现图像内容的变形。基于骨骼的图像变形方法是根据角色骨骼结构将图像划分为若干个区域,每个区域使用FFD方法实现变形。除了计算机图形学本身的应用,其他领域的计算以及GPGPU通用计算[107,108]都已成为GPU的应用之一,并成为研究热点。

随着计算机图形学技术的发展,模型建模技术得到很大的提高,有很多种软件可以对所需的物体建立模型,但这些模型大多是针对所描述物体的一个静止状态建立的,只能表示物体的一个形态。物体变形技术通过改变模型的顶点位置或其他属性,使模型展现出不同的形态,从而丰富虚拟世界的多样性。为实现物体变形,研究者们提供了许多种支持变形的模型以及针对这些模型的变形方法。

虚拟角色的运动主要靠角色模型的变形来实现,模型变形技术根据应用对象主要分为二维图像变形和三维模型变形。传统的图像变形主要有基于Morphing、基于FFD和基于骨骼的变形方法。Collins[34]介绍了各种角色动画制作与模型变形中使用的模型及其变形原理,Lewis[38]将各类变形方法统一用Pose空间变形解释,并使用Morphing形状插值和径向基函数进行变形计算。

Morphing变形是指将一给定的源数字图像和几何对象S光滑连续地变换到目标数字图像或几何对象T,这种光滑过渡中,中间帧既应该具有S的特征,也需要具有T的特征。S和T的拓扑既可以相同也可以不同。源处理对象和目标处理对象之间的特征对应关系,可以由动画师指定,也可以由动画系统自动计算求得。Morphing技术大体可以分为二维图像Morphing技术、二维形状Morphing技术和三维图形Morphing技术。

二维图像Morphing是指把一幅数字图像以一种自然流畅的、戏剧性的方式变换到另一幅数字图像,对于二维图像Morphing的方法主要有:

(1)场景编辑法,也就是通过一定的景物遮挡来实现;

(2)停住运动动画法;

(3)交融技术,也称淡入淡出技术;

(4)二维粒子系统技术,将图像解体然后重组。

在二维形状动画中,经常会给定一个初始和最终的形状,求从初始形状平滑过渡到最终形状的中间形状。给定的初始形状和最终形状为关键帧形状,而中间形状的求取过程称为二维形状Morphing。

2003年偶春生[42]通过两幅图像的边界点对应,实现角色图像的Morphing过渡,2008年Guo[44]通过自动计算形状拓扑并匹配轮廓顶点实现图像Morphing,并保持形状边长及其局部、全局和边界属性。Morphing变形一般算法简单,但必须需要两幅图像才能插值出中间图像,导致其使用范围受到很大的限制。

FFD变形方法将整幅图像看作一个空间,通过空间的变形实现图像内容的变形。MacCracken[49]使用点阵网格划分变形空间进行FFD变形,2000年Chua[52]提出一种硬件加速的FFD变形方法。FFD方法只需一幅图像即可进行变形,通过空间变形实现图像变形,变形原理简单,与角色的拓扑结构无关,但FFD变形结果容易扭曲过度,而且变形控制复杂,获得所需的变形结果很困难。(www.xing528.com)

基于骨骼的图像变形方法是根据角色骨骼结构将图像划分为若干个区域,每个区域使用FFD方法实现变形。Capell[57]根据变形模型的骨骼结构把图像划分为若干子区域进行变形,Yan[61]使用三角辅助网格覆盖变形角色图像,通过边缘控制实现基于骨骼的图像变形,Stalpers[14]用多边形网格模拟骨骼进行几何模型变形,Yang[68]使用曲线控制三角形网格实现变形。骨骼模型符合现实世界中动物的肢体结构,因此骨骼变形方法容易获得接近真实的变形结果,而且局部变形较易处理大模型的变形,但骨骼模型的建立过程复杂,各段骨骼对顶点的影响权值配置复杂,另外在各个子区域的连接处,容易出现不平滑等失真现象。

近几年来出现了使用几何网格覆盖角色图像,通过几何网格的变形获得图像变形结果的方法,如2005年Igarashi[15]使用三角网格覆盖作为辅助网格,2006年,Yoshioka[75]使用间隔提取像素点作为变形辅助网格,以控制顶点作为约束条件,使用最小二乘法求解网格自由顶点,实现虚拟角色的图像变形,Schaefer[54]将变形中的每一个影响因素表达为方程式,使用最优化求解方程组,获得自由顶点坐标和图像变形结果实现变形,Weng[74]将图像角色网格化,把变形看作优化问题来求解图像变形结果。这些方法变形控制简单,而且经过复杂的数值运算,可以获得较好的变形结果。但这些方法存在的一个问题是全局变形计算使得运行时计算量大,任一顶点的位置改变都将引起整体重新计算,大模型的变形实时性难以保障,另一个问题是这些方法可能会出现不真实或不合理的变形结果。

随着图形硬件计算能力的提高和可编程特性的发展,人们将图形流水线的某些处理以及某些图形算法从CPU向GPU转移,基于GPU的图形算法复杂度也随之增加。除了计算机图形学本身的应用,其他领域的计算以及GPGPU通用计算[107,108]都已成为GPU的应用之一,并成为研究热点。

GPGPU是继GPU出现之后,对图形硬件功能的又一大扩展,它利用图形硬件的多通道、高位宽等特点进行高速通用计算,通过离屏渲染等技术,保存计算结果并将其返回到内存。基于GPU的通用计算不单纯是利用图形卡来实现绘制,而是借助于图形硬件可编程性和执行并行性的优势,实现一般意义上的计算,分担CPU的计算量。但图形硬件的设计特点,使GPGPU通用计算并不能执行所有CPU程序,图形硬件可高速执行控制结构简单的程序,其程序长度与功能都有很大的限制。对于以往的覆盖网格变形方法,由于其算法的复杂性超出了图形硬件所能执行的能力,无法在图形硬件上实现,这在一定程度上也限制了算法的优化和改进空间。

相比于以往的图像变形方法,本文提出的方法主要不同之处在于:

(1)采用简化骨骼信息建立自适应变形网格,只需对变形部分标定简化骨骼框架,解决以往骨骼模型的建立过程复杂的问题;

(2)利用自适应网格的平滑特性,实现关节点连接处的平滑变形,避免尖角等问题;

(3)利用自适应网格的总面积保持特性,实现变形过程中的面积保持,有效减小变形引起的形状面积失真;

(4)利用自适应网格的局部运算特性和网格顶点的规则分布特性,实现图像变形算法的硬件加速。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈