三维建模对象的压缩的制作方法

文档序号:12068762阅读:332来源:国知局
三维建模对象的压缩的制作方法与工艺

本发明涉及计算机程序和系统领域,并且更具体地涉及用于压缩三维建模对象的方法、系统和程序。



背景技术:

网格简化的领域旨在重新安排和修剪网格的顶点以便减少网格中弧线的数量并因此允许网格上更快的计算、更好的压缩率以及整体更好的算法效率。可以在Alliez等,Recent Advances in remeshing of Surfaces,Shape Analysis and Structuring,2008中找到网格重构算法的全面回顾。

Wang等,Content-Aware Geometry Image Resizing,Computer Graphics International 2010(CGI 2010)Short Papers,SIngapore,2010中公开了被应用于几何图像以便以一种使得将重点放在具有最多细节的网格部分上同时移除不太明显的顶点的非统一的方式减小其尺寸和其内容的内容感知的图像尺寸调整算法。几何图像的概念由Gu等在Gu等,Geometry Images,SIGGRAPH,2002中讨论,其中针对被称为几何图像的2D结构的创建来进行网格参数化。在该Geometry Images中,模型中的每个顶点xyz与对该xyz值进行编码的RGB值相关联。这个非常高效的方案指引由该图像的栅格结构强加的正规化网格的创建。

然而,Wang等的方法遭受至少下述两个缺点。第一,使用的内容感知的图像重新定位目标算法并不创建该图像的平滑转换因此造成当它的减小很大时该网格中的视觉假象,例如伪顶点。非平滑变形造成几何图像的导数中的局部最大,因此导致进一步的压缩更加困难。举例来说,随着图像的减小此图像的压缩率降低;这归因于图像及其导数的连续性中的伪像的产生。

第二,使用的算法专门为图像创建,因此完全不考虑最终的制成品是简化的网格这一事实。举例来说,当执行网格简化时保护几何图像的边界规则性可以是无关的。

在这一上下文中,仍存在对一种用于三维网格的简化的改进的方法的需求。特别地,该方法应当以一种平滑和规则的方式选择性地减小该几何图像。



技术实现要素:

因此提供了一种用于压缩三维建模对象的计算机实现的方法。该方法包括提供三维建模对象的网格;在二维平面上对该网格进行参数化(u,v);将参数化的网格转换成图像I;定义来自图像I的单元的栅格,每个单元由控制点的集合来进行定义;计算该栅格的每个单元的相关性;确定具有相关性低于预定阈值的至少一个单元;调整该至少一个确定的单元的大小并计算得到的栅格;根据该得到的网格来计算该图像的每个像素的变换;以及将该计算的变换应用至图像I。

该方法可以进一步包括:

-所述相关性低于预定阈值的至少一个单元的确定包括具有最低相关性的单元的集合的确定;

-通过计算图像I中每个像素的显著性来提供图像显著性;

-提取显著性图像的原始空间域Ω;

-提供变换Tθ,其由控制点的集合参数化为插值样条,从原始空间域Ω至调整大小的空间域Ω′;

-定义来自图像I的单元的栅格包括将原始空间域Ω细分为单元,每个单元由该集合的控制点的子集合定义;

-计算该栅格的每个单元的相关性包括针对每个单元计算该单元中像素的显著性的加权平均,使用该插值样条来计算该加权平均;并且其中根据得到的网格来计算图像I的每个像素的变换包括根据得到的网格在通过参数化网格的转换获得的图像I的空间域上计算变换Tθ

-变换Tθ被参数化为自由变形插值样条,并且其中位移函数uθ(x)由下述等式定义

其中B0,B1,B2,B3是三次B样条函数,θ是表示控制点的函数,sw是在水平方向的两个控制点之间的间隔,sh是在垂直方向的两个控制点之间的间隔,xw是水平轴上在原始空间域Ω中的像素的位置,xh是垂直轴上在原始空间域Ω中的像素的位置;并且其中来自栅格的控制点集合和θ是表示控制点的栅格的函数;

-使用下述函数来实施对每个像素的显著性的计算:

SI=αEgeom+(1-α)Enorm

其中α∈[0;1];

其中并且geom(c)是图像I的第c个颜色通道并且Gσ是高斯核;

其中并且norm(c)是法线图像的第c个颜色通道并且Gσ是高斯核;

-每个像素的显著性的计算进一步包括基于用户动作,选择网格的两个或更多个顶点;将用户选择转换为顶点的图表;设置系数α=0以使链接至该图表的顶点的该几何图像的像素的显著性最小化;

-每个像素的显著性的计算进一步包括基于用户动作,选择网格的两个或更多个顶点;将用户选择转换为顶点的图表;设置系数α=1以使链接至该图表的顶点的该几何图像的像素的显著性最大化;

-定义来自图像I的单元的栅格、计算该栅格的每个单元的相关性、确定具有相关性低于预定阈值的至少一个单元、确定具有相关性低于预定阈值的至少一个单元、调整至少一个确定的单元的大小并计算得到的栅格、根据得到的栅格来计算该图像的每个像素的变换、以及将该计算的变换应用至图像I的步骤迭代执行直到对图像I的计算的变换满足压缩标准;

-当下述压缩标准的至少一个得到满足时该迭代停止,该栅格中不再有单元的相关性低于预定阈值;通过将计算的变换应用至图像I获得的新图像J的压缩率达到指定阈值;通过将计算的变换应用至图像I获得的新图像J的多个像素达到指定值阈值;

-对于每次迭代,该集合的控制点的数量递增。

-调整该至少一个确定的单元的大小包括减小所述至少一个确定的单元,其中通过使得在该单元左方和右方的所有顶点更接近所述至少一个确定的单元的顶点;以及使得在该单元顶部和底部的所有顶点更接近所述至少一个确定的单元的顶点,来执行所述至少一个确定的单元的减小;

-包括根据通过将计算的变换应用至图像I获得的新图像J来建立三维建模的对象。

进一步提供了一种包括用于执行上述方法的指令的计算机程序。

进一步提供了一种其上记录了上述计算机程序的计算机可读存储介质。

进一步提供了一种包括耦合至存储器的处理电路的系统,该存储器其上记录有上述计算机程序。

附图说明

现将以非限制性示例的方式并参考各附图来描述本发明的各实施例,在附图中:

-图1示出了该方法的示例的流程图;

-图2示出了3D建模对象的网格的示例;

-图3示出了图2的网格上的图表的创建;

-图4示出了在被参数化后的图2的网格;

-图5示出了从图4的参数化网格获得的几何图像;

-图6和图7示出了该系统的示例的图像显著性计算的示例;

-图8和图9示出了概要图像计算的示例;

-图10示出了根据本发明获得的几何图像;

-图11示出了正向映射变换的示例;

-图12示出了反向映射变换的示例;

-图13示出了B样条插值栅格的示例;

-图14示出了B样条插值栅格的控制点的移位效果的示例;

-图15示出了用于执行本发明的计算机程序的计算模块的示例;

-图16示出了用于实现根据本发明的方法的计算机系统的示例。

具体实施方式

参考图1的流程图,提出了一种用于压缩三维(3D)建模对象的计算机实现的方法。该方法包括提供3D建模对象的网格。然后,在二维(2D)平面上对该网格进行参数化(u,v)。该参数化的网格然后被转换为图像I,例如,该图像I是几何图像。然后,定义来自图像I的单元的栅格。该栅格的每个单元由控制点的集合来进行定义。因此根据该控制点的集合形成该栅格。然后计算该栅格的每个单元的相关性;所有单元一起形成概要图像。然后,确定其相关性低于预定阈值的一个或多个单元,例如,选择具有最低相关性的k个单元。然后,通过移动(或置换)控制点来调整所确定的单元的大小,并计算得到的栅格。该得到的栅格是在一个或多个控制点已被置换后获得的新栅格。然后,根据该得到的栅格来计算该图像的每个像素的变换,并且该计算的变换被应用至图像I。这一方法改进了三维网格的简化。

显而易见地,本发明允许以平滑和规则的方式来减小该几何图像。确实,本发明移除了其中颜色并不改变或轻微改变的几何图像的各区域。因此通过移除包括关于该网格的冗余的(并因此无用的)信息的该几何图像的各区域来减小由几何图像表示的该模型。此外,本发明并不保存正方形的几何图像。这允许在不考虑图像边界的情况下执行信息的最小化。

该方法是计算机实现的。这意味着该方法的各步骤(或者大体所有步骤)由至少一个计算机或任何类似的系统执行。因此,该方法的各步骤由计算机可以完全自动地,或半自动地执行。在各示例中,该方法的至少某些步骤的触发可以通过用户-计算机的交互执行。所需的用户-计算机交互的水平可以取决于预见的自动化的水平并与实现用户愿望的需求达成平衡。在各示例中,此水平可以是用户定义的和/或预定义的。

举例来说,提供的步骤可以基于用户动作而被触发,例如,用户选择要被压缩的3D模型。

该方法的计算机实现的典型示例是使用适于此目的的系统来执行该方法。该系统包括耦合至存储器的处理器(还称为处理电路)。该系统还可以包括图形用户界面(GUI)。该存储器具有其上记录的包括用于执行该方法的指令的计算机程序。该存储器还可以存储数据库。该存储器是适于这种存储的任意硬件,可以包括多个物理上不同的部件(例如,一个用于程序,并且可以一个用于数据库)。

该方法一般操纵建模的对象。建模的对象是由例如存储在该数据库中的数据定义的任意对象。通过扩展,语句“建模的对象”指定数据本身。根据该系统的类型,该建模的对象可以由不同种类的数据定义。该系统实际上可以为CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任意组合。在那些不同的系统中,建模的对象由相应的数据定义。相应地可以谈到CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统并不排除其他的一个,因为建模的对象可以由对应于这些系统的任意组合的数据来进行定义。一种系统因此很可以为CAD和PLM系统两者。

通过CAD系统,此外它还意味着至少适于基于该建模的对象的图形化的表示来设计建模的对象的任意系统,诸如CATIA。在这种情况下,定义建模的对象的数据包括允许表示该建模的对象的数据。CAD系统例如可以使用边或线来提供CAD建模的对象的表示,在某些情况下使用面或表面。线、边或者表面可以以多种方式表示,例如,非均匀有理B样条(NURBS)。特别地,CAD文件包含规格,根据该规格可以生成几何结构,它转而允许要生成的表示。建模的对象的规格可以存储在单个CAD文件或多个文件中。在CAD系统中表示建模的对象的文件的典型大小处于每部分1兆字节的范围内。并且建模的对象可以典型地为数千个部件的集合。

在CAD的上下文中,建模的对象可以典型地为3D建模的对象,例如,表示产品,诸如部件或部件的组件,或者可以为产品的组件。通过“3D建模的对象”,它是指由允许它的3D表示的数据建模的任意对象。3D表示允许从所有角度查看该部件。举例来说,3D建模的对象,当进行3D表示时,可以被操作并绕着它的任意轴转动,或者绕着在显示该表示的屏幕中的任意轴转动。这明显排除2D图标,它并不是3D建模的。3D表示的显示方便了设计(即,提高了设计者在统计上完成他们的工作的速度)。这加速了工业中的制造过程,因为产品的设计是该制造过程的一部分。

该3D建模的对象可以表示在使用例如CAD软件解决方案或CAD系统完成它的虚拟设计后要在真实世界中制造的产品的几何结构,诸如(例如,机械)部件或部件的组件(或等价的部件的组件,因为部件的组合从本方法的观点上可看作部件本身,或者可以对该组合的每个部件独立地应用本方法),或者更一般地任何刚性体组件(例如,可移动机构)。CAD软件解决方案允许多种和非限制的工业领域中的产品的设计,包括:航天、建筑、建设、消费品、高科技设备、工业装备、运输、航海、和/或海洋油/气生产或运输。由该方法设计的3D建模的对象因此可以表示一种可以为任意机械部件的工业产品,诸如陆地车辆的一部分(包括例如汽车和轻型货车装备、赛车、摩托车、货车和电机装备、货车和公交车、火车),飞行器的一部分(包括例如机身装备、航空装备、推进装备、防御产品、航线装备、空间装备),海军载具的一部分(包括例如海军装备、商船、海洋装备、游艇和作业船、航海设备),一般的机械部件(包括例如工业制造机械、重型可移动机械或装备、安装的装备、工业装备产品、制造的金属产品、轮胎制造产品),机电或电子部件(包括例如消费类电子产品、安全和/或控制和/或仪器产品、计算和通信装备、半导体、医疗设备和装备),消费产品(包括例如家具、家庭和园艺产品、休闲产品、时尚产品、耐用品零售商的产品、消耗品零售商的产品),包装(包括例如食物和饮料以及烟草、美容和个人护理、日常产品包装)。

图16示出了该系统的示例,其中该系统是客户端计算机系统,例如用户的工作站。

该示例的客户端计算机包括连接至内部通信总线1000的中央处理单元(CPU)1010,同样连接至该总线的随机存取存储器(RAM)1070。该客户端计算机进一步被提供有与连接至该总线的视频随机存取存储器1100关联的图形处理单元(GPU)1110。视频RAM 1100在本领域中还称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储器设备(诸如,硬盘驱动器1030)的访问。适于有形地实现计算机程序指令和数据的大容量存储器设备包括所有形式的非易失性存储器,以示例的方式包括半导体存储设备,诸如EPROM、EEPROM以及闪存设备;磁盘诸如内部硬盘和可移除磁盘;磁-光盘;以及CD-ROM盘1040。任意前述设备可以由特别设计的ASIC(专用集成电路)来补充或并入该ASIC。网络适配器1050管理对网络1060的访问。该客户端计算机还可以包括触觉设备1090诸如光标控制设备、键盘等。该光标控制设备在客户端计算机中使用以允许该用户选择性地将光标放置在显示器1080上的任何期望的位置。此外,该光标控制设备允许用户选择多种命令,以及输入控制信号。该光标控制设备包括多个信号生成设备以将控制信号输入至系统。典型地,光标控制设备可以为鼠标,该鼠标的按钮用于生成该信号。作为选择地或此外,该客户端计算机系统可以包括感应板,和/或感应屏。

该计算机程序可以包括可由计算机执行的指令,该指令包括使得上述系统执行该方法的单元。该程序可记录在任意数据存储介质上,包括该系统的存储器。该程序可以实现在例如数字电子电路中,或者计算机硬件、固件、软件或它们的组合中。该程序可以实现为装置,例如有形地体现在机器可读存储设备上的产品以由可编程处理器执行。方法步骤可以由执行各指令的程序的可编程处理器执行以通过对输入数据操作并生成输出来执行该方法的功能。该处理器因此可以为可编程的并且耦合至至少一个输入设备以及至少一个输出设备,以从数据存储系统接收数据和指令,并发送数据和指令至该数据存储系统。该应用程序可以以高级程序或面向对象的编程语言实现,或者如果需要以汇编或机器语言实现。在任意情况下,该语言可为编译型或解释型语言。该程序可以为完全安装的程序或更新程序。在该系统上该程序的应用在任意情况下均导致用于执行该方法的指令。

重新参考图1,在步骤S10,提供3D对象的网格。该3D对象可以为3D建模的对象。此步骤可以基于用户动作执行,例如,用户选择可以存储在存储器上的3D建模的对象。这也可以通过执行该方法的计算机系统自动达成。提供意味着该3D建模的对象的网格可用于该计算机系统,也就是说,该系统可访问涉及该网格的数据。典型地,一旦3D建模的对象的网格对于该系统可用,则该计算机系统可以显示该3D建模的对象的网格,如例如示出了对头部进行建模的3D建模的对象的网格的图2所呈现的。

然后,在步骤S20,在2D平面中对在步骤S10提供的网格进行参数化(u,v)。在2D平面中对该网格进行参数化意味着确定在2D空间中具有3D建模的对象的规格所必需的参数。实际上,该参数化包括在2D平面中对该网格的每个顶点的有效坐标(u,v)的完整集合的识别。参数化以本领域公知的方式执行,例如可以使用ABF++参数化算法。举例来说可这样做从而该整个网格可以在较少失真的情况下在二维平面中展开或者从而分割成少量图表的该网格可以在较少失真的情况下在二维平面中展开。

图4示出了已经在2D平面中被参数化的图2的网格。该网格的参数化产生具有2D平面中的二维坐标(u,v)的顶点的集合。有趣的是,该3D建模的对象的原始网格的每个顶点由2D平面中的一个顶点表示。

该参数化之前可以为将该网格分割成图表的步骤。这在图3中阐明,它示出了被提供作为步骤S10处输入的图2的网格上的图表创建。这允许处理任意种类的网格(该形状中的拓扑“孔洞”的数量)并将它减小至单个拓扑盘(topological disc),如本领域所公知的。

然后,在步骤S30,在步骤S20参数化的网格被转换为图像;也就是图像I。这意味着该网格的参数化产生具有形成光栅图像的2D坐标的顶点的集合,其中该集合的每一个顶点是该光栅图像的像素,并且该集合的每个顶点的坐标(x,y,z)存储在该光栅图像的颜色通道红色/蓝色/绿色中。

因此,步骤S30的输出是几何图像。几何图像已经在Xianfeng Gu,Steven J.Gortler以及Hugues Hoppe,几何图像(Geometry images),计算机图形和交互技术第29届年度会议的论文集(Proceedings of the 29th annual conference on Computer graphics and interactive techniques),第355-361页,ACM Press,2002中公开。几何图像提供从多边形网格至2D图像表示的改进的转换。几何图像,如本领域中所公知的,是从3D建模的对象的任意表面变换为作为2D图像的静态网格获得的,它是3D建模的对象的原始几何结构的完全规则的网格重划,并且它支持逆变换。该几何图像提供了完全规则的结构,它将几何结构捕获为量化的点的简单2D阵列。表面信号诸如法线和颜色使用相同隐含表面参数化(缺失纹理坐标)而被存储在相似的2D阵列中。

图5阐明了从图2的网格获得的几何图像。形成这一图像的每个像素是一个顶点,并且该像素的颜色该顶点的坐标(x,y,z)进行编码。

仅为了解释,现在讨论图像的数学定义。图像是从空间域Ω(该空间域Ω的维度为d)至为图像值的空间的V(V的维度为c)的映射。不对Ω或V的性质作出假定以便以它最一般的含义来定义图像。

举例来说,大小为m乘n的2D图像I,它在计算机存储器中跨越256个灰度,可被定义为映射(等式1):

在此示例中,该空间域Ω的维度d=2,并且该图像值的空间V的维度c=1。该2D图像可被认为是离散图像,因为它被定义在离散的空间域Ω上。这与定义在形式为的空间域Ω上的连续图像相反。

离散变换通常是指在离散图像上进行的变换,而连续变换在连续图像上进行。因为在计算机存储器中仅可表示一个离散的图像空间,所以多种方法诸如插值被用于计算在整数位置的该图像的值,如本领域所公知的。

接下来的步骤S40至S80旨在根据几何图像(例如,在步骤S30输出的几何图像)输出所谓的概要图像。概要图像是将显著性图像链接至基于样条的图像插值的计算方法。举例来说,样条可以是基于B样条的自由变形。然而,步骤S40至S80可以使用基于其他样条的插值执行,例如,NURBS。该显著性图像允许识别图像中的相关部分。该显著性图像与原始图像(例如,该几何图像)的大小相同,对于原始图像中的每个像素,该显著性图像中的像素定义改变原始图像中的相应像素的开销。用于几何图像的该显著性图像的计算将参考步骤40进行讨论。

在原始图像域上,定义了自由变形网格(或基于任意其他样条的插值图)。或者反过来说,定义来自图像I的单元的栅格,每个单元由控制点的集合进行定义。移动该图的控制点改变了应用至该图像的变换,并继而变换该图像。举例来说,该变换可以为微分同胚变换,它使用平滑导数来平滑地渲染获得的图像。

单元的变形明显关联于顶点的移位,并继而影响该图像的变形。作为由至少3个顶点定界的图的闭合环路的单元,实际上是在自由变形的栅格的情况下的栅格的单元。并且然后引出定义在变形栅格中的哪些顶点应当被移动以及移动多少的问题,示出了在某些假定下顶点的移动总是引起微分同胚的变换。为了解答这一问题,定义了概要图像。该概要图像示出了针对该栅格的每个单元计算的相关性的结果。因此,该概要图像用作该显著性图像的代理并且量化了由显著性图像定义的图中对单元进行变形的开销。该概要图像计算和该变形图中的单元数量一样多的像素,并且该概要图像中的每个像素量化了对该图中的相应单元进行变形的开销。该概要图像的计算将参考步骤50至80进行讨论。

再次参考图1的流程图,在步骤S40,通过计算图像I(例如,该几何图像)中每个像素的显著性来提供显著性图像S。该图像显著性被定义为与该图像的每个像素相关的开销。此开销直接关联于该像素传达的信息量。由像素传达的信息量可以为,但不限于,该图像中的像素的相关性,例如,该相关性可以由用户确定。该图像I的像素的显著性针对该图像的完整性量化该像素的显著性。因此,图像I的图像显著性示出了图像I中的比其他像素传达更多信息的各像素。

举例来说在图6中,减小字符的左侧和右侧的白色区域将不改变该场景的视觉理解:实际上,旁观者将从图6的任一图像中以及其中白色区域被减小的那个收集相同的信息。理想的说,在没有对视觉外观进行重大改变的情况下,图像显著性将在内容不能被篡改的区域中具有更高值。

实际上,该图像显著性本身被表示为图像。此外,该图像和该显著性图像两者的空间域是相同的;换句话说,两幅图像中的像素位置都表示相同的空间位置。

为显著性图像的每个像素分配的值表示由像素传达的信息量。这在图7中阐明,它示出了根据图6的图像获取的显著性图像:在图7中,更暗的区域表示高信息量内容区。该显著性图像的表示允许简单地理解在不严重影响图像全局信息量的情况下所有白色区域都可被减小。

可使用本领域中已知的任意图像显著性计算方法。举例来说,可以使用用于计算图像显著性的最基本的方式的其中一种:图像梯度范数的平滑化版本,其中使用2D高斯滤波器实现该平滑。图7显示了图6的图像,其中图像的梯度范数已经被平滑。作为图像显著性计算的另一示例,可以使用图像显著性计算。图像显著性旨在找出用于图像分割的图像的相关部分。有趣的是,图像显著性还可以通过使用当图像不是静态而是动态时的运动信息来进行计算,例如,在视频的情况下。这在当重定向视频时是特别有用的,以保持视频的各重定向帧之间的时间相干性。该运动信息通常编码为该图像的光流并可使用本领域已知的任意方法计算。

优选地,该显著性图像SigI使用等式7的函数计算:

Sig I=αEgeom+(1-α)Enorm其中α∈[0;1]

该术语Egeom是图像I的第c个颜色通道并且术语Enorm是法线图像的第c个颜色通道。

Egeom被定义如下(等式7a):

并且Enorm由等式7b定义:

在等式7a和7b两者中,使用对于多尺度计算来说允许在尺度σ定义显著性的高斯核Gσ。特别是,在几何图像中,减少具有冗余顶点的更高优先级的区域是关键的,它转换为具有低梯度的平滑区域。这是几何图像显著性SigI的定义的关键。当可用时该参数化的网格法线的使用允许进一步保护具有显著脊的网格中的区域。

有趣的是,每个像素的显著性的计算(也就是,显著性图像的计算)还可以包括用于保护要压缩的网格中的区域的用户交互。用户选择要保护的网格的顶点(例如,他选择该网格的区域)。这被转换为要被保护的顶点的图表。整个图表的开销在该图像显著性中被设置为非常高:对于关联至该图表的顶点的几何图像的各像素来说系数α被设置为α=0。α的值可以被设置为接近于0;举例来说,α的值可以包含在取值范围[0;0,2]中。

相反地,该网格的一个区域可以需要强烈的简化。用户选择要保护的网格的顶点(例如,他选择该网格的区域)。此用户选择被转换为要保护的顶点的图表。整个图表开销在图像显著性中被设置为非常低:对于关联至该图表的顶点的几何图像的各像素来说系数α被设置为α=1。α的值可以被设置为接近于1;举例来说,α的值可以包含在取值范围[0,8;1]中。

接下来,在步骤S50,提取该显著性图像的原始空间域。该原始空间域记为Ω。该空间域是其中数字图像由其像素的空间坐标(在2D图像的情况下为x,y,在一般情况下)定义的域(例如,平面)。如所讨论的,该显著性图像的空间域可以与要压缩的图像I的空间域相同。在其中显著性图像和图像I两者的空间域相同的情况下,两幅图像中的像素位置表示相同的空间位置。

然后,在步骤S40,提供了一种变换,记为Tθ。Tθ从原始空间域(Ω)至调整大小的空间域(Ω′)借由控制点的集合被参数化为插值样条。术语变换是指应用至图像I像素位置并简单移位I的现有像素的位置产生调整大小的图像J的操作。因此,该变换作用于该像素坐标,并非他们的值。任意种类的变换都是可能的,从其中涉及要调整图像I的像素坐标的仅子集的大小的离散变换,到其中涉及图像I的所有像素的连续变换。该变换记为Tθ,其中T用于指定变换并且θ用于指定该变换的参数,正如稍后它将被解释的那样。

为了解释,现在讨论该变换Tθ的数学定义。诸如变换Tθ的图像变换是从输入空间域Ω至输出空间域Ω′的映射。该输入空间域Ω可以是在步骤S40提取的显著性图像的原始空间域。该输出空间域Ω′可为调整大小的图像J的空间域。Ω′是Ω的调整大小的版本。Ω和Ω′具有相同的密度。术语密度对该空间内部的值的类型(实数的、量化的、整数的...)进行特征化,但可能具有不同的边界。该变换已经得到从Ω到Ω′的映射的所有属性,即如果该映射是线性的那么该变换被认为是线性的,如果该映射是连续的那么该变换是连续的。

该调整大小的图像J被定义为应用该变换Tθ的要调整大小的图像I。因此,对于Ω中各像素的所有位置x,应用下述等式(等式2):

J(Tθ(x))=I(x)

换句话说,在像素的每个新位置y=Tθ(x),I(x)的值被拷贝至J(y)。各像素的值不被修改,仅仅它们的位置可被修改。各像素从要调整大小的图像的坐标系“向前”移动至调整大小的图像;在这种情况下,执行向前映射,如图11所阐明的,其中阴影的方形图示了空像素,因为该变换映射至新图像中的非整数位置。

有趣的是,变换Tθ是可逆的。也就是说,该变换可逆。在这种情况下,对于要调整大小的图像I的空间域Ω中的所有位置x,应用下述等式(等式3):

J(x)=I(Tθ-1(X))

作为等式3的结果,调整大小的图像J中的每个像素在图像I中将被分配一个位置。像素从调整大小的图像J的坐标系“向后”移动至要调整大小的图像J;在这种情况下,执行向后映射,如图12所阐明的。此向后映射可被执行,因为当处理原始位置空间中的非整数位置时,插值方案是可能的。实际上,可以使用任意变换逆方案。举例来说,可以使用在Gary E.Christensen,Hans J.Johnson:一致的图像配准(Consistent Image Registration),IEEE会刊.医学成像(IEEE Trans.Med.Imaging)20(7):568-582(2001)中讨论的逆方案。

在步骤S60提供的变换Tθ可以是微分同胚变换Tθ。微分同胚变换是一种连续的、双射的、可微的、双射可导的变换,它的逆同样是连续和可微的。有利地,微分同胚的变换在即使在要调整大小的图像的导数中不产生任何人工效果的情况下将要调整大小的图像以平滑的方式进行变换。这与分段平滑变换相反,在分段平滑变换中输入空间域Ω被划分,它在分区的边缘产生人工效果。这些人工效果的每一个都产生渲染没有压缩倾向的图像的高频。微分同胚变换的另一优点在于该变换是可逆的:看起来不自然的所有变换都被丢弃,因此避免了公知的重影问题。确实,当该变换在一个地方不可逆时,可以获得在空间域Ω中的两个不同的像素位置映射至调整大小的空间域Ω′中的相同像素位置。它产生与自己重影的图像的视觉效果。

变换Tθ被参数化。这意味着该变换并不明确地在整个空间域Ω上执行因为它在计算上是不切实际的,因为空间域Ω可以非常大(可以是无穷的)。可在Ω中的每个和所有的位置中评价该参数化的变换,但是针对小于Ω的基数的限量的参数。

变换Tθ被参数化为插值的样条。样条,如本领域中公知的,是分段定义的多项式函数,取决于样条的阶,可设置分段间的连接处的平滑度。在分段连接中的样条的平滑度也是样条的总的平滑度。样条具有控制点,还称为插值节点。该控制点的移位修改了样条的形状。因此,变换Tθ由对Tθ进行参数化的插值样条的控制点的集合来进行参数化。

可考虑任意类型的样条用于对变换函数Tθ进行参数化。实际上,存在用于图像处理的特别感兴趣的样条例如,但不限于:

在Bookstein,Fred L.“主要的弯曲:薄板样条和变形的分解(Principal warp:Thin-plate splines and the decomposition of deformations)”,模式分析和机器智能存档的IEEE会刊(IEEE Transactions on Pattern Analysis and Machine Intelligence archive),第11卷第6期,1989年6月,第567-585页中讨论的薄板样条;

在Sederberg,Thomas W.以及Scott R.Parry,“固体几何模型的自由形式变形(Free-form deformation of solid geometric models)”,计算机图形和交互技术的第13届会议的计算机图形图像专业组织的’86论文集的论文集(Proceeding of SIGGRAPH′86 Proceedings of the 13th annual conference on Computer graphics and interactive techniques),第151-160页中讨论的自由形式的变形;

在Piegl,Les A.和Wayne Tiller,“NURBS书(The NURBS book)”中讨论的非均匀有理B样条或NURBS。

该变换是从输入空间域Ω到输出空间域Ω′的映射。该变换Tθ可以是,对于每个像素,像素位置x及其移位uθ(x)的和,其中uθ是从Ω到Ω′的映射。对于Ω中的所有位置x,该变换Tθ可由下述等式(等式4)表示:

Tθ=x+uθ(x)

使用变换Tθ的这一表示有利地允许在像素的移位方面表示Tθ,同时不丧失普遍性。该变换被分解为与其位置和该像素位置的真正移位相关的组分,即使当该移位小时(在大的域上)变换可相当大。

现在参考图13,其中阐明了在从显著性图像提取的原始空间域Ω上定义的控制点的集合的示例。顺便地,可注意到多个控制点位于原始空间域Ω之外。在这一示例中,该原始空间域Ω的维度为d=2并由有阴影的矩形表示。该控制点的集合控制对变换Tθ进行参数化的插值样条的参数,并且它们由黑色圆点表示。仅为了解释,该讨论集中于自由变形(FFD)插值样条。

每个控制点位置的位置可表示为θ(i,j),其中θ(i,j)是表示(i,j)控制点的位置的2D向量。该控制点分别使用索引i和j从左至右以及从上到下被任意索引。两个控制点在水平方向上的间隔可表示为sw,并且在垂直方向上为sh,以相同的方式在原始空间域Ω中位置x在水平轴上的投影为xw并且在原始空间域Ω中位置x在垂直轴上的投影为xh。要调整大小的图像I的空间域同样被认为是从左至右和从上至下被定向。

该水平和垂直方向是任意选择的并可以使用参考系(x,y)定义。举例来说,在图13中,参考系由具有共同起源的两个箭头表示,它位于Ω的左上角。因此,在图13中,x轴表示水平方向,并且y轴表示垂直方向。

仍参考图13,该控制点的集合形成规则的栅格,其中控制点平均散布在原始空间域Ω上。已经从FFD获得了控制点的栅格;已经计算了2D贝塞尔插值样条,其取决于该样条的阶,在此示例中由四个控制点支持。术语规则栅格涉及两个控制点间的原始水平间隔sw的值总是相同。相似地,两个控制点之间的原始垂直间隔sh的值总是相同的。该水平间隔sw可以与垂直间隔sh具有相同的值,如图13所示。要理解,图13的控制点的集合中的控制点可以在本发明的处理期间被移动,如下文将要解释的那样。

有趣的是,控制点的集合创建在原始空间域Ω上定义的新的域。此新的域命名为Λ并稍后讨论。Λ作用于Ω上,这意味着控制点的移位(诸如图14中的控制点140)将影响该样条,继而,将局部影响Ω。

如上面所讨论的,该变换Tθ是从输入空间域Ω至输出空间域Ω′的映射,从Ω至Ω′的变换为像素位置x及其移位uθ(x)的和。根据任意像素位置,该移位函数uθ(x)可以从该控制点位置获得。因此,等式4的移位函数uθ可以定义为控制点的位置的加权线性合并,如下面的等式5所示:

在等式5中,FFD的表示使用三次B样条:函数Bk和B1是三次B样条,它们还符合相同阶数的伯恩斯坦多项式,如本领域所公知的。应理解,可使用不同阶的任意B样条并且本发明不限于三阶B样条。本发明并不限于与FFD关联的B样条,而是如前面所讨论的任意类型的样条。

如前面所讨论的,每个控制点的位置可记为θ(i,j)。在等式5中,θ是表示参数化变换的控制点集合的函数。特别地,该函数θ是变换Tθ的唯一参数:确实,θ的知识允许完整描述移位uθ以及因此变换Tθ。结果,栅格中的控制点的移位将相应地改变该变换Tθ。控制点的移位仅影响空间域Ω的局部:确实,如等式5所描述的,仅控制点位置周围的大小4sh×4sw的邻近区域中的Ω中的像素位置x被它的移动所影响。应理解,该邻近区域大小可以与低阶B样条不同。

基于等式5的三次B样条的FFD是有意平滑至第三阶的;当伯恩斯坦多项式的次数较低时该阶较小。通过关于控制点移位的约束达成该移位以及它的第一导数的可逆性和双射性:如果该控制点的移位小于0.48乘以控制点的间隔sh和sw,则来源于FFD移位的变换是微分同胚的;此结果是本领域公知的,例如,在Lee,Seungyong等,“具有分散特征约束的图像变形(Image metamorphosis with scattered feature constrains)”,视觉和计算机图形存档的IEEE会刊(IEEE Transactions on Visualization and Computer Graphics archive),第2卷第4期,1996年12月,第337-354页中。因此,来源于控制点的移动的Ω中位置x的移位将在控制点的移位之后。结果,将两个控制点彼此靠近将减小在控制点的位置之间的该图像,而扩大控制点之间的空间将放大控制点的位置之间的图像。要理解,在Ω中移位的位置x的周围区域(4sh×4sw)也被影响以便保持该变换中的连续性。

再次参考图1,在步骤S70,原始空间域Ω被划分为单元。每个单元由该集合的控制点的子集定义。因此,术语单元定义了调整大小的空间域Ω′的子部分,并且此子部分由控制点的子集限定。单元是由连接该集合的控制点的边限定的封闭的表面。单元的集合形成了空间域Ω上的空间域。一个单元是封闭的表面,这包括单元由至少三个控制点形成。

在图13中,单元130由连接四个控制点的四条边定义。两条斜边,它们在单元130的封闭表面内,未被表示;这两条边并不用于限定该单元的封闭表面。仍参考图13,该控制点形成单元的规则栅格;举例来说,单元130,它由四个控制点定义,是由四个控制点限定的多边形。要理解,控制点的集合并不必需形成规则栅格;举例来说,可以使用多于或少于四个控制点的单元。

从控制点的集合获得的栅格可以被认为是在空间域Ω中控制点的坐标的表示。

控制点在空间域Ω中未被定义,但是某些控制点的位置与空间域Ω重叠,该单元在空间域Ω中使用与Ω重叠的控制点进行定义。

该单元的集合可以看作在原始空间域Ω之上的层。每个单元与原始空间域Ω的一个或多个像素相关:由每个单元形成的区域覆盖一个或多个像素。Ω与Λ是未分离的,Λ是Ω的细分。在其中Λ是Ω之上的4个单元的规则栅格的情况下,我们得到单元索引(0,0),(0,1),(1,0)和(1,1),并且每个单元是Ω的子域,例如单元(0,0)包含来自Ω的这相当于指明多边形被画在该图像上,该多边形中的每个和所有像素都属于该单元。

减小单元的尺寸,即减小它的表面积与促使围绕该单元的控制点靠近在一起相同,并因此与减小该单元的位置处的图像域相同。这在增大该单元的大小的情况下也是真实的。该图像域实际上与该单元被变形的表现方式相同。并且如果在空间域Ω外部定义的控制点被固定为保持在位于空间域Ω内的控制点的距离sw和sh,那么输出图像域的空间域Ω′将具有与内部单元的聚集的区域相同的区域。应理解,需要被固定的控制点的数量将取决于该样条的阶。这来源于在等式4中定义的变换Tθ

在步骤S70,已经确定了划分原始空间域Ω的单元的集合。此单元的集合定义了原始空间域Ω的离散域,记为Λ。每个单元可以以与图像的像素位置相同的方式考虑并可以相同的方式进行索引。举例来说,如果已经在等式1的空间域Ω上定义了四个单元,那么该四个单元分别索引(0,0),(0,1),(1,0)和(1,1),并且每个单元是Ω的子域,例如单元(0,0)包含来自Ω的[0,1,...,(m/2)-1]×[0,1,...,(n/2)-1]。

然后,在步骤S80,针对Λ的每个单元计算在单元中的像素的显著性的加权平均。因此,定义Λ上的显著性。根据形成Λ的单元集合形成概要图像S:该概要图像的每个单元可被认为是该概要图像的像素。

因为Λ由Ω的分区组成,所以域Λ可被写作Λ={Ω(0,0),Ω(0,1),...,Ω(K,L)},其中K和L是Ω的每个方向上的分区数量,并且Ω(i,j)是Ω的分区,该域由单元(i,j)覆盖。Ω的水平和垂直方向可以随意选择,并可以使用参考系(x,y)来进行定义,如已经讨论的那样。

使用插值样条来计算该加权平均。确实,对于Λ中的每个y=(i,j)位置,可以定义用于三次B样条FFD的概要图像。该概要图像SI可由等式6定义:

其中,S(x)是表示提供的显著性图像的函数。

现在参考图8,它示出了图7的图像的显著性图像,在其上单元的集合定义原始空间域Ω的离散域Λ。该域Λ覆盖显著性图像的原始空间域Ω。在图8中,域Λ完全覆盖了图7的原始空间域Ω。进一步的,从形成均匀散布在原始空间域Ω的控制点的栅格的控制点的集合获得该单元的集合,如参考图13所讨论的。

现在参考图9,示出了从形成Λ的单元的集合计算的概要图像,针对每个单元计算单元中的像素的显著性的加权平均。使用用于表示单元的显著性的灰度来对该概要图像的每个单元进行着色,以及因此像素的集合的显著性包含在该单元中。举例来说,该字符的左侧和右侧的区域被表示为白色,因此意味着这些区域对于该场景的视觉理解来说并不重要。

回到图1的流程图,在步骤S90,选择该概要图像的一个或多个单元,因此形成单元的集合。根据该概要图像中每个单元的相关性来执行该选择。选择具有的相关性低于预定阈值的单元。在此示例中该相关性是显著性,也就是,选择具有低于预定阈值的显著性的单元。

典型地,对该概要图像的一个或多个单元的选择可以包括确定具有最低相关性,或者最低多个最低相关性的一个或多个单元-在此后者的情况下。举例来说,为了同时减少单元的有限数量k,该k个单元具有最低概要图像相关性。k是正自然数。作为另一示例,可使用具有最低相关性的百分比p个单元。要理解单元的选择并不限于上面提到的选择策略。有趣的是,在本发明中当减少单元时的最佳策略受益于较宽的搜索空间,因为无需考虑对矩形图像边界方面的任何约束。因此,可以每次减少单元,无需试图在该图像的单元的路径中强加规则性。

现在,已经根据它们的相关性选择了概要图像的单元。在步骤S100至S120减少该概要图像,也就是说,简化包括关于图像I的网格的无用信息在内的该几何图像的有色区域。通过概要图像中的不同单元以迭代的方式实现该减少,并同样以多尺度的方式来避免显著性图像中的局部最小以及能够减少最终网格中的大区域和小区域。

回到图1的流程图,在步骤S100,修改在步骤S90预先确定的一个或多个单元。这相当于指明了对样条的控制点进行移位。通过移位具有更小加权平均的单元的一个或多个控制点来对原始空间域Ω的单元进行变形,因为该单元的相关性已经根据每个单元的像素的显著性的加权平均进行了计算。

在用于移除或添加像素以调整图像大小的内容感知算法的领域中使用的已知算法中的一种算法可以直接应用至该概要图像,除非这些算法将在单元(也就是,控制点的组)而不是像素上操作。这些算法由图像显著性引导并将根据某些最佳约束来调整变换参数以改变图像同时最少地改变该图像概要。正如已经解释的,该图像并不需要保持直边并且不需要扭曲至少该图像。

在单元上操作因此涉及该算法(i)识别具有较小加权平均的一个或多个单元(步骤S90),以及(ii)修改识别的单元的大小(步骤S100)而不是像这些算法那样移除或添加像素)。相应单元的大小将被修改,如前面所讨论的:

-当所述单元已经被该算法识别时减小单元的大小因为需要被移除;

-当所述单元已经由该算法识别时增加单元的大小因为需要添加像素。实际上,单元的调整大小可以实现为0.48乘以控制点的间隔以便保持该变换的微分同胚。

当减少某单元的大小时,这是在减小几何图像期间的最典型的情况,这可以通过促使该单元左方和右方的所有顶点接近该单元的各顶点以减少,以及通过促使该单元的顶部和底部的所有顶点接近所述单元的各顶点执行以减少来执行。这是减小规则栅格的单元的最有效的方式——规则栅格仅包括矩形或方形单元。单元的减小优选地通过移位该栅格的其他单元来完成,例如,移动围绕该减小的单元的栅格的各单元从而一个单元的减小导致该图像的减小。换句话说,当单元正被减小时未减小的各单元被强制移动:向已经被移位的周围单元提交在减小该单元后获得的空白领域(还称为空白区域)。这里该周围单元是没有减小的其他单元(与减小的单元相反)。应理解用于减小单元的控制点的移位并不限于此示例:可以应用用于减小单个单元的很多启发式方法。

然后,在步骤S110,根据获得的栅格针对该图像的每个像素计算变换,也就是说,根据在步骤S100变形的该栅格。

在该流程图的示例中,使用移位的一个或多个控制点在图像I的空间域计算变换Tθ。等式5的函数θ是表示参数化的变换的控制点集合的函数,并且函数θ是变换Tθ的唯一参数。因此,一旦控制点已经被移位,如步骤S70所执行的,该变换Tθ的参数被设置。因此可能的是计算如等式5中所定义的变换Tθ

最后,在步骤S120,通过将计算的变换Tθ应用至几何图像I的空间域来计算图像J(也可称之为新图像J)。在调整大小的空间域Ω′上定义该图像J。应用该计算的变换Tθ意味着执行从图像I的输入空间域Ω到图像J的输出空间域Ω′的映射:依据等式3和4来修改每个像素的位置。

如已经讨论的,通过概要图像中的不同单元以迭代的方式来实现该减小,这样步骤S40-S120被重复执行直到获得可接受的结果。可使用停止该迭代的很多标准。举例来说,当栅格中不再有单元具有的相关性低于该预定阈值时该迭代可以停止。作为另一示例,当所有单元已经被修改时它可以停止。另一标准可以为新的图像J的压缩率到达甚至超过了特定值。停止该迭代的标准的另一个示例是新图像J的像素数量到达指定阈值,例如,J的像素数量是图像I的像素数量的二分之一。

步骤S40至S120的迭代过程可以进一步包括在指定数量的迭代的每个集合处增加该集合的控制点数量。这也称为多尺度变换图更新。这避免了显著性图像中的局部最小,并允许减小最终网格中的大区域以及小区域。

此新图像J是表示在方法的输入处提供的网格的几何图像I的减小版本。使用已知的图像压缩算法可进一步压缩此图像J,例如但不限于,JPEG,...。

新图像J可用于重新建立新网格。通过使用图像J来执行该创建。有趣的是,无需存储任何连通性数据:实际上,提供的网格的变换可以优选地包括将该网格切分至图表的步骤,如先前参考图3所讨论的。因此,由于该提供的网格沿着孔洞已经被切分,所以可在压缩的网格上(也就是,在图像J上)使用任意网格重划算法。

图10示出了图5的几何图像的新图像J。有趣的是,以黑色表示的区域100a至100d并不属于新图像J,并且这里仅用于示出该压缩的图像J无需保持直边,因为这对于压缩几何图像来说不是必需的。

现在参考图15,它示出了用于执行根据本发明的3D网格压缩的计算机程序的计算模块的示例。每个模块包括可由计算机实现的指令,例如,图16的计算机系统的处理电路。

几何图像计算模块1510将3D建模的网格1500作为输入用于压缩(步骤S10)。模块1520计算由模块1510计算的几何图像I的每个像素的显著性(步骤S20-30)。模块1520的输出依据步骤S40计算图像I的显著性图像。模块1520进一步依据步骤S50-S80计算概要图像。应理解,两个分离的模块可以执行模块1520的计算;一个模块用于计算显著性图像,一个模块用于计算概要图像。因此,模块1520计算对变换Tθ进行参数化的插值样条的控制点集合。概要图像计算模块1520可以实现多种插值样条函数;可以基于用户动作或默认地执行对一个样条函数的选择。根据该插值样条获得的控制点的集合可以表示为栅格,例如,其中控制点均匀分布于图像I的原始空间域Ω的控制点的规则栅格。

最小单元减小和优化模块将该概要图像作为输入。该优化模块返回其相关性(显著性)低于预定阈值的概要图像的单元(步骤S90)。此模块实现能够识别具有较小加权平均的一个或多个单元并作出决定以修改识别的单元的大小的一个或多个已知算法可以被使用。因此,此模块提供该概要图像的变换参数。在多种算法中选择一种算法可以基于用户动作或默认地执行。

控制点移动模块1540定义一个或多个控制点的移位,如步骤S100所定义的。模块1540输出因此为修改控制点的栅格的变换参数。此模块根据模块40的输出来推断控制点位置。

变换模块1550计算变换Tθ(步骤S110)并在网格的图像I的空间域上应用计算的变换Tθ以进行压缩(步骤S120)。该变换模块的输出是调整大小的图像J。

然后由测试模块1570来测试图像I的新大小(也就是,图像J的大小)与是否遵守标准。如果图像J没有达到可接受的结果,那么,该过程被迭代。由迭代模块1580管理该迭代,并且该迭代的控制依靠模块1570和1580。在图像J符合期望标准的情况下(例如,J的像素数),则变换模块1550的输出被认为是图像J。在该调整大小的图像并不符合期望大小的情况下,使用新变换参数来重复整个过程(步骤S40至S120):由模块1530和1540来决定控制点的新移位。

有趣的是,如果在显著性图像模块1520中使用的算法需要重新计算该图像显著性时,可在任意时刻使用当前移位的栅格来重新计算该图像显著性。当获得的变换被应用至原始图像I时,仅在最后计算一次最终图像。

本发明有利地允许重新使用已经在用的具有当前内容感知的图像重定向的某些计算模块,诸如在用于内容感知的图像调整大小的接缝雕刻(Seam carving for content-aware image resizing)中所描述的那些。可以重新使用现有的显著性计算模块1520,优化单元模块1530以及变换模块1550。这有利地限制了开发开销并简化了本发明与当前内容感知的图像重定向软件的集成。

模块网格重组/配对模块1590根据图像J,也就是根据压缩的图像I来重构该网格。此模块的输出1592是基本上与在步骤S10提供的网格相同的网;该压缩移除了原始网格的某些顶点从而未压缩的网格与步骤S10的原始网格稍有差别。如在前参考图3提到的,该输入网格可以为任意种类并且它初始被切分以将它减少至单个拓扑盘。在几何图像中装入了任意形状的图表。使用配对算法以移除图表边界之间的不连续性并创建水密表面(watertight space),如本领域所公知的。该网格重划的图表被束缚在一起。此配对操作典型地由模块1590执行。

已经描述了本发明的优选实施例。将理解的是,在不脱离本发明的精神和范围的情况下可以作出多种修改。因此,其他实现方式处于下面的权利要求的范围内。举例来说,在本发明中也可使用提高计算速度的多尺度/多解析度方法而无需对该算法作出任何改变(如Lee,Seungyong,George Wolberg以及Sung Yong Shin,“使用多层次B样条的分散数据插值(Scattered data interpolation with multilevel B-splines)”,视觉和计算机图形学的IEEE会刊,第3卷第3期,1997年7月,第228-244页所描述的);在每个新尺度/解析度层次后仅需要重新计算该图像显著性。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1