自动三维建模系统和方法

文档序号:6429140阅读:706来源:国知局
专利名称:自动三维建模系统和方法
技术领域
本发明涉及三维(3D)建模系统和方法,更具体而言,涉及一种结合基于图象的自动模型生成技术与交互式实时特征定位技术来提供快速创建虚拟3D人物的系统和方法。
背景技术
有很多用于在计算机显示器上生成三维对象动画的不同技术。最初,由于动画不是太好,因此动画形象(例如,脸部)看起来非常象木头人。尤其是用户典型地会看到动着的脸,但其相貌与姿势却是静态的。也许嘴巴会开合,也许眼睛会眨,但面部表情和基本动作却象木偶。问题就在于这些动画通常是从作为图画的线条创作的,而且没有利用基础3D模型进行着色以获得更逼真的外貌,因此动画看起来很不逼真而且不很生动。近来动画已经有了改进,从而可以有皮肤覆盖人物的骨骼以提供更逼真的动画人物。
尽管现在这种动画是在一个或多个变形网格上着色以获得更逼真的动画外貌,但通常动画还是由专业公司着色再分配给用户的。尽管这产生高质量动画,但它具有用户不能定制用作虚拟人物,例如他或她自己,的特定动画的限制。利用互联网或万维网的先进特性,这些虚拟人物将扩大能力及用户之间的交互。因此,期望提供一种3D建模系统和方法,它允许典型用户快速容易地根据图象,如照片,创建可用作虚拟人物的3D模型。
典型系统还要求一旦熟练动画制作者创建了一个模型,就要求该动画制作者使希望为模型提供的各种姿势都栩栩如生。例如,动画制作者要创建将加入到模型中以便为模型提供期望姿势的微笑、挥手或讲话的动画。生成行为/姿势数据的过程既慢又昂贵,而且需要熟练的动画制作者。因此期望提供一种无需熟练动画制作者帮助就能为模型生成姿势和行为的自动机制。本发明就针对这些目的。

发明内容
广泛地说,本发明利用图象处理技术、统计分析及3D几何变形使得可以从一个图象(或多个图象)自动生成对象,如人脸的象照片一样逼真的3D模型。例如,对于人脸,从一张照片(或一系列照片)中识别出脸部比例和特征细节用于生成适当的3D模型。图象处理和纹理映射技术还使得如何将照片用作3D模型的详细的、象照片一样逼真的纹理最优。
根据本发明另一方面,人的姿势可以被捕捉并进行抽象,使其可以用于任何其它模型。例如,可以捕捉一个特定的人的动画微笑。然后该微笑可以转换到特征空间以提供该姿势的抽象。该姿势的抽象(例如,模型不同部分的运动)是作为姿势捕捉的。然后该姿势可用于任何其它模型。因此,根据本发明,系统允许生成可用于其它模型的姿势模型。
根据本发明,提供了一种根据图象生成对象的三维模型的方法。该方法包括确定要建模对象的边界及确定要建模对象上的一个或多个界标位置。该方法还包括根据界标位置确定图象中对象的比例和朝向,将带界标的对象图象与变形网格对准及根据对象图象到变形网格的映射生成对象的3D模型。
根据本发明另一方面,提供了一种生成图象三维模型的计算机实现系统。该系统包括三维模型生成模块,该三维模型生成模块还包括接收对象图象的指令和自动生成对象三维模型的指令。该系统还包括姿势生成模块,该姿势生成模块还包括生成特征空间的指令和生成对应于对象姿势的姿势对象从而该姿势行为可用于其它对象模型的指令。
根据本发明另一方面,提供了一种自动生成自动姿势模型的方法。该方法包括接收执行特定姿势的对象图象,并根据对象运动确定与该姿势关联的运动,从而生成姿势对象,其中该姿势对象还包括存储姿势持续过程中发生的色彩变化的色彩变化变量,存储姿势持续过程中发生的表面变化的二维变化变量及存储姿势持续过程中与对象关联的顶点变化的三维变化变量。
根据本发明另一方面,提供了一种存储与对象姿势关联的数据的姿势对象数据结构。姿势对象包括存储姿势持续过程中模型色彩变化的纹理变化变量,存储姿势持续过程中模型表面变化的纹理映射变化变量及存储姿势持续过程中模型顶点变化的顶点变化变量,其中纹理变化变量、纹理映射变化变量及顶点变化变量允许将该姿势应用到其它具有纹理和顶点的模型。该姿势对象数据结构将其数据存储在一个向量空间中,其中色彩、表面运动和3D运动可以被许多模型个体实例所使用。


图1是描述生成人脸3D模型的方法的流程图;图2是说明用于实现根据本发明的3D建模方法的计算机系统实例的图;图3是说明根据本发明的3D模型生成系统更多细节的方框图;图4是可以在图象获取过程中装载进计算机存储器的人头示例图象;图5说明了在利用“种子填充”操作处理图象以后,具有不透明背景的图4示例图象;图6说明了图5的示例图象,虚线表示眼睛位置周围的特定边界区域;图7说明了图6的示例图象,其中眼睛的高亮度对比度部分用虚线标出;图8是说明用于人头的各界标位置点的示例图;图9说明了根据本发明人脸3D模型的实例;图10A-10D说明了可用于生成人头3D模型的各种变形网格;图10E说明了彼此覆盖的变形网格;图11是说明根据本发明自动姿势行为生成方法的流程图;图12A和12B说明了执行本发明图象处理技术的示例伪码;图13A和13B说明了根据本发明自动生成3D模型的示例工作流程;图14A和14B说明了根据本发明执行自动姿势行为模型的示例伪码;图15说明了用于第一种模型的基本3D模型的实例,Kristen;图16说明了用于第二种模型的基本3D模型的实例,Ellie;图17是第一种模型中性姿势的实例;图18是第一种模型微笑姿势的实例;图19是根据第一种模型的中性姿势和微笑姿势生成的微笑姿势映射实例;图20是其中两种模型彼此覆盖的特征空间实例;
图21是第二种模型中性姿势的实例;及图22是从第一种模型生成、应用到第二种模型以便在第二种模型中生成微笑姿势的微笑姿势实例。
具体实施例方式
尽管本发明有更大的用途,但以下将在生成人脸及与人脸关联姿势的3D模型的环境下对其进行描述。本领域技术人员应当认识到利用在此描述的原理和技术可以生成任何其它的3D模型和姿势,下面仅仅是本发明一种特定应用的示例,而且本发明不限于在此描述的脸部模型。
为了生成人脸的3D模型,本发明优选地执行一系列复杂的图象处理技术来确定为生成3D模型充当向导的一组界标点10。图1是描述生成人脸3D模型的一种优选算法的流程图。参考图1,图象获取过程(步骤1)用于将人脸(例如“头部特写”)的照片(或其它图象)装载进计算机的存储器。优选地,图象可以是按JPEG图象装载的,但只要不背离本发明,其它类型的图象格式也可以使用。图象可以从磁盘装载、从互联网下载或者利用已知技术装载进存储器,从而可以对图象执行本发明的图象处理技术来生成3D模型。
由于不同图象可能有不同朝向,因此图象的适当朝向应当通过定位合适的界标点10并进行分级来确定。确定图象朝向使得变形网格上图象有更逼真的着色。现在详细描述适当界标点10的定位。
参考图1,为了定位图象上的界标点10,可以优选地在图象上执行“种子填充”操作(步骤2)以消除图象的可变背景,从而图象上头(就脸而言)的边界可以分离出来。图4是可以在图象获取过程(图1的步骤1)中装载进计算机存储器的人头示例图象20。“种子填充”操作(图1的步骤2)是一种众所周知的递归颜料填充操作,该操作是通过根据,例如,点22的颜色和亮度,识别出图象20的背景24中的一个或多个点22并从点22向外扩展颜色和亮度相似的颜料填充区26来实现的。优选地,“种子填充”操作成功地用不透明背景代替了图象的彩色发光背景24,从而更容易确定头的边界。
再参考图1,例如可以通过定位图象的垂直中心(线32)并从中线32开始在水平区域34上积分(利用不填充操作)以确定头30的宽度及通过定位图象的水平中心(线36)并从中线36开始在垂直区域38上积分(利用不填充操作)以确定头30的高度来确定头30的边界(步骤3)。换句话说,根据存在对象或存在背景而有不同值的像素域执行面向统计的线性积分。这在显示具有不透明背景24的图4示例图象20的图5中示出。
再回过头来参考图1,一旦确定了头30的宽度和高度,就可以通过利用头30高度的统计属性及积分的水平区域34和头30顶部的已知属性来确定头30的边界。典型地,头的高度是图象高度的大约2/3,而头的宽度是图象宽度的大约1/3。头高度还可以是头宽度的1.5倍,这用作第一近似。
一旦确定了头30的边界,眼睛40的位置就可以确定(步骤4)。由于眼睛40典型地位于头30的上半部,因此可以使用统计计算,而且头边界可以划分成上半部分42和下半部分44来隔离眼睛边界区域46a、46b。头边界的上半部分42还可以进一步划分成右边和左边部分46a、46b来分别隔离左右眼40a、40b。这在显示图4的示例图象20的图6中详细示出,其中虚线表示特定边界区域。
还是回过头来参考图1,可以通过识别各眼边界46a、46b中具有高亮度对比度的圆形区域48来定位每只眼睛40a、40b的最中心区域(步骤5)。这个操作可以从最中心点48在边界区域46a、46b上向外递归执行,对其结果进行分级来确定眼睛40a、40b的适当边界。图7示出了图6的示例图象,其中眼睛的高亮度对比度部分用虚线标出。
再参考图1,一旦识别出了眼睛40a、40b,就可以通过分析连接眼睛40a、40b的线50以确定线50从屏幕水平轴的角偏移来确定头30的比例和朝向(步骤6)。头30的比例可以根据以下等式从边界的宽度得到边界宽度/模型宽度。
在确定上述信息以后,就可以正确识别出头30的近似界标点10。优选界标点10包括a)头的外边界60a、60b、60c;b)头的内边界62a、62b、62c、62d;c)右眼和左眼各自的边界64a-d、64w-z;d)鼻角66a、66b;及e)嘴角68a、68b(唇线),但是,本领域技术人员应当认识到在不背离本发明的前提下可以使用其它界标点。图8是用于图4图象的上述界标点的示例图。
在确定了头30的合适界标位置10以后,图象就可以与一个或多个定义头3D模型70的变形网格(下述)正确对准(步骤7)。以下描述了可用于定义3D模型70的一些变形网格,但本领域技术人员应当认识到这只是可用于定义3D模型的某些变形网格的示例,在不背离本发明的前提下可以使用其它变形网格。图9说明了根据本发明利用3D模型生成方法生成的人脸3D模型实例。现在描述3D模型生成系统的更多细节。
图2说明了用于实现3D模型生成方法和姿势模型生成方法的计算机系统70的实例。特别地,该3D模型生成方法和姿势模型生成方法可以实现为一段或多段由计算机系统执行的软件代码(或编译后的软件代码)。根据本发明的方法还可以在硬件设备上实现,其中根据本发明的方法编程写入硬件设备。回过头来看图2,所示计算机系统70是个人计算机系统。但是,本发明可以在各种不同的计算机系统上实现,如客户/服务器系统、服务器系统、工作站等,而且本发明不限于在任何特定计算机系统上的实现。所说明的计算机系统可以包括显示器设备72,如阴极射线管或LCD,机壳74及一个或多个允许用户与计算机系统交互的输入/输出设备,如示出的键盘76和鼠标78。例如,用户可以利用键盘或鼠标将数据或命令输入到计算机系统,而且可以利用显示器设备(可视数据)或打印机(未示出)从计算机系统接收输出数据,等等。机壳74可以放置计算机系统的计算资源,可以包括一个或多个众所周知的控制计算机系统工作的中央处理器(CPU)80,即使当计算机系统不通电时也能存储由CPU执行的数据和指令的持久性存储设备82,如硬盘驱动器、光盘驱动器、磁带驱动器等,众所周知临时存储当前由CPU执行的数据和指令并且当计算机系统不通电时丢失其数据的存储器84,如DRAM。为了实现根据本发明的3D模型生成和姿势生成方法,存储器可以存储3D建模器86,建模器86是一连串由CPU 80执行以实现上述3D模型和姿势生成方法的指令和数据。现在描述3D建模器的更多细节。
图3是说明图2所示3D建模器86更多细节的图。特别地,该3D建模器包括3D模型生成模块88和姿势生成器模块90,每个模块都是利用一条或多条计算机程序指令实现的。在图12A-12B及图14A和14B中示出了可以用于实现这些模块中每一个的伪码。如图3所示,将对象,如人脸的图象输入到所示系统。如图所示,图象被馈送到3D模型生成模块及姿势生成模块。3D模型生成模块的输出是上述已自动生成的图象3D模型。姿势生成模块的输出是一个或多个可用于包括3D模型生成模块所生成任何模型在内的任何3D模型的姿势模型。下面参考图11更详细地描述了姿势生成器。以这种方式,系统允许快速生成和实现任何对象的3D模型。此外,姿势生成器还允许从一特定图象自动生成一个或多个姿势模型,如微笑姿势、挥手等。姿势生成器的好处是该姿势模型可以应用到任何3D模型。该姿势生成器还消除了要由熟练动画制作者实现姿势的需要。现在描述用于3D模型生成的变形网格。
图10A-10D说明了可用于定义人头3D模型70的示例变形网格。图10A说明了优选地为最内变形网格的边界空间变形网格72。覆盖边界空间变形网格72的是特征空间变形网格74(图10B所示)。边缘空间变形网格76(图10C所示)优选地覆盖特征空间变形网格74。图10D说明了优选地为最外变形网格的细节变形网格7D。
网格优选地是与界标位置10(图10E所示)对准的,从而当其界标位置10与变形网格的界标位置10对准时,头部图象30就可以适当地与变形网格对准。为了正确地将头部图象30与变形网格对准,用户可以,例如通过利用鼠标或其它输入设备将一特定界标“拖动”到图象30上不同区域来手动改进头部图象上界标位置的精度(步骤8)。为了适当地将头部图象30与变形网格对准,利用新的界标位置信息,图象30可以适当地关于变形网格进行修改(步骤9)。然后计算新的模型状态,分离细节网格78(步骤10),为结果3D模型按比例缩放行为(步骤11),保存模型(步骤12)用作虚拟人物。现在将更详细地描述根据本发明的自动姿势生成。
图11是说明根据本发明自动姿势生成方法100的流程图。通常,自动姿势生成产生可以应用到任何3D模型的姿势对象,从而姿势行为可以快速生成并在其它模型中重用。通常,不同类型的3D模型可能需要单独的姿势模型。例如,为了使姿势更逼真,可能需要自动生成用于男人、女人、男孩和女孩的微笑模型。该方法从步骤102开始,其中生成公共特征空间。该特征空间是用于存储和表示对象图象,如人脸,对象在姿势持续期间的运动及捕捉不同对象之间区别的对象标量的公共空间。利用这种方法生成的姿势对象还存储一个标量域变量,该变量存储允许运动和几何数据转换的模型空间与特征空间之间的映射。自动姿势生成方法涉及利用特定的对象图象,如人脸,来生成存储为姿势对象的对象姿势,如微笑的抽象,从而该姿势对象可以应用到任何3D模型。
回过头来看图11,在步骤104,该方法确定特征空间与图象空间之间的相关性,从而确定表示姿势持续期间图象表面运动变化的纹理映射变化。在步骤106,该方法更新图象的纹理映射(检查相关性),将结果纹理映射应用到特征空间并生成图14A和14B示例伪码中所示存储纹理映射变化的变量“stDeltaChange”。在步骤108,该方法确定捕捉姿势持续期间所发生3D运动的姿势持续期间图象3D顶点的变化。在步骤110,该顶点变化应用到特征空间并在图14A和14B中所示姿势对象变量“VertDeltaChange”中被捕捉。在步骤112,该方法确定在姿势持续期间发生的纹理色彩并将其应用到特征空间。该纹理色彩在姿势对象的“DeltaMap”变量中被捕捉。在步骤114,生成包括“stDeltaChange”、“VertDeltaChange”和“DeltaMap”变量的姿势对象,其中这些变量包含了在姿势持续期间发生的色彩、2D和3D运动。这些变量只代表了在姿势持续期间发生的运动和颜色变化,因此该姿势对象可以应用到任何3D模型。从本质上讲,姿势对象将存在于特定图象模型的姿势提取到了包含该姿势基本要素的抽象对象中,因此该姿势可以应用到任何3D模型。
姿势对象还包括存储姿势特征空间与模型模型空间之间映射以允许几何与运动数据变换的标量域变量。标量阵列(scalerArray)对姿势对象中每个几何顶点都有一个输入。每个输入都是保持该顶点从其无变形状态到变形状态的特征级成比例变化的3维向量。该比例是由特征空间中的顶点通过估计从那个顶点到其关联顶点距离的标量变化计算出来的。当映射到特征级多边形UV空间中时,对给定姿势顶点的标量是通过那个顶点位置的加权插值法计算出来的。选择特征级多边形的形状和大小与近似成比例的运动区域匹配。这是通过分析典型脸部姿势的视觉流确定的。以上方法在图14A和14B的伪码中更详细地示出。
图12A-B及图13A和B分别包含根据本发明自动生成3D模型的样本伪码算法及示例工作流程。
自动生成的模型可以加入内置的行为动画及交互性。例如,对于人脸,这些表情包括姿势、与嘴唇同步(发音嘴形(visemes))的嘴的位置及头部运动。这些行为可以利用如自动嘴唇同步、文语转换、自然语言处理及语音识别等技术集成并触发或由用户或数据驱动事件触发。例如,自动生成模型的实时嘴唇同步可以与音轨关联。此外,可以提供由智能代理进行的对音频口语的实时分析并与初始化为伴随语音传输以提供自动逼真运动的头部及脸部姿势同步。
因此,虚拟人物可以用来充当智能代理,用作对包含在知识库、客户资源管理系统和学习管理系统及通过聊天、即时消息、电子邮件的娱乐应用和通信中信息的交互式响应前端。现在将描述根据本发明从3D模型图象生成并应用到另一模型的姿势实例。
图15说明了用于第一种模型的基本3D模型实例,Kristen。图15所示的3D模型先前已经如上所述利用3D模型生成过程生成了。图16说明了如上所述生成的第二个3D模型。这两个模型将用于说明从现有模型自动生成微笑姿势以便生成姿势对象及将所生成姿势对象应用到另一3D模型。图17示出了第一种模型中性姿势的实例,而图18示出了第一种模型微笑姿势的实例。第一种模型的微笑姿势是如上所述被捕捉的。图19说明了根据该中性姿势和微笑姿势从第一种模型生成的微笑姿势映射(上述姿势对象的图形版本)的实例。如上所述,该姿势映射将第一种模型的姿势行为抽象成一连串色彩变化、纹理映射变化和3D顶点变化,这些变化可以应用到具有纹理映射和3D顶点的任何其它3D模型。然后,根据本发明,利用这种姿势映射(它包括上述变量)该姿势对象可以应用到另一个模型。以这种方式,自动姿势生成过程允许将一种3D模型的各种姿势进行抽象并应用到其它3D模型。
图20是其中两个模型彼此覆盖的特征空间实例,用来说明第一种和第二种模型的特征空间彼此是一致的。现在将更详细地描述姿势映射(因此,还有姿势对象)对另一模型的应用。特别地,图21说明了第二种模型的中性姿势。图22说明了应用到第二种模型以便当第二种模型不能真正显示微笑时为第二种模型提供微笑姿势的微笑姿势(根据第一种模型生成的姿势映射)。
尽管以上参考定位图象上界标位置点的特定方法和生成姿势的特定方法进行了描述,但本领域技术人员应当认识到,在不背离由所附权利要求所定义本发明的前提下其它技术也可以使用。例如,可以使用金字塔变换等技术,金字塔变换利用通过对每一级下采样并分析每一级的频率差的图象频率分析。此外,其它技术,如边采样和图象金字塔技术,也可以用于处理图象。还有,积分(低通)滤波技术可用于增加脸部特征的信号强度,而模糊逻辑技术可用于识别人脸的大体位置。然后就可以利用已知的角判定算法来确定界标的位置。
权利要求
1.一种根据图象生成对象的三维模型的方法,该方法包括确定要建模对象的边界;确定要建模对象的一个或多个界标位置;根据界标位置确定图象中对象的比例和朝向;将带界标的对象图象与变形网格对准;及根据对象图象到变形网格的映射生成对象的3D模型。
2.权利要求1所述的方法,其中边界的确定还包括执行一个像素域的面向统计的线性积分,这些像素的值根据存在对象或存在背景而不同。
3.权利要求1所述的方法,其中边界的确定还包括为了除去对象图象周围的背景而执行面向统计的种子填充操作。
4.权利要求3所述的方法,其中确定界标还包括识别特征,这些特征是在边界确定过程中确定的统计特征区中通过过程相关性或带通滤波和取阈值而发现的。
5.权利要求4所述的方法,其中确定界标还包括根据边界区域的精确化来确定附加的界标。
6.权利要求5所述的方法,其中确定界标还包括由用户来调整界标。
7.一种生成图象的三维模型的计算机实现的系统,该计算机实现的系统包括三维模型生成模块,该模块还包括接收对象图象的指令和自动生成对象的三维模型的指令;及姿势生成模块,该模块还包括生成特征空间的指令和生成对应于对象姿势的姿势对象,使得该姿势行为可以应用到对象的另一模型的指令。
8.一种自动生成自动姿势模型的方法,该方法包括接收执行特定姿势的对象图象;及根据对象的运动确定与该姿势关联的运动,从而生成姿势对象,其中该姿势对象还包括存储在姿势持续期间发生的色彩变化的色彩变化变量、存储在姿势持续期间发生的表面变化的二维变化变量及存储在姿势持续期间与该对象关联的顶点变化的三维变化变量。
9.权利要求8所述的方法,还包括生成特征空间,在自动姿势生成过程中姿势映射到该空间中。
10.权利要求9所述的方法,其中确定运动还包括确定对象特征空间与图象之间的相关性。
11.权利要求9所述的方法,还包括将几何向量和运动向量变换到特征空间及从特征空间变换到几何向量和运动向量。
12.权利要求9所述的方法,还包括利用所述特征空间将来自一种模型的色彩、纹理运动及几何运动中的变化应用到另一个模型。
13.一种存储与对象姿势关联的数据的姿势对象数据结构,包括存储姿势特征空间与模型模型空间之间映射以允许几何与运动数据变换的标量域变量;存储姿势持续期间模型色彩变化的纹理变化变量;存储姿势持续期间模型表面变化的纹理映射变化变量;及存储姿势持续期间模型顶点变化的顶点变化变量,其中纹理变化变量、纹理映射变化变量和顶点变化变量允许将姿势应用到另一个具有纹理和顶点的模型。
全文摘要
描述了一种自动3D建模系统和方法,其中3D模型可以根据图片或其它图象生成。例如,人脸的3D模型可以自动生成。该系统和方法还允许与3D模型关联的姿势/行为自动生成,从而该姿势/行为可以应用到任何3D模型。
文档编号G06T15/20GK1628327SQ02820332
公开日2005年6月15日 申请日期2002年8月14日 优先权日2001年8月14日
发明者H·杨 申请人:脉冲娱乐公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1