CN102496140A - 一种基于多层嵌套笼体的实时交互式图像变形方法 - Google Patents
一种基于多层嵌套笼体的实时交互式图像变形方法 Download PDFInfo
- Publication number
- CN102496140A CN102496140A CN2011104019997A CN201110401999A CN102496140A CN 102496140 A CN102496140 A CN 102496140A CN 2011104019997 A CN2011104019997 A CN 2011104019997A CN 201110401999 A CN201110401999 A CN 201110401999A CN 102496140 A CN102496140 A CN 102496140A
- Authority
- CN
- China
- Prior art keywords
- image
- cage
- cage body
- mesh
- deformation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 20
- 230000002452 interceptive effect Effects 0.000 claims description 14
- 238000012856 packing Methods 0.000 claims description 6
- 239000003086 colorant Substances 0.000 claims description 5
- 238000003709 image segmentation Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 14
- 230000008859 change Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000002156 mixing Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 235000013550 pizza Nutrition 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001421 changed effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 102000040430 polynucleotide Human genes 0.000 description 1
- 108091033319 polynucleotide Proteins 0.000 description 1
- 239000002157 polynucleotide Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种基于多层嵌套笼体的实时交互式图像变形方法。该方法包括如下步骤:A、根据图像生成网格,所述网格由网格顶点和由网格顶点围成的网格面组成;B、对需要变形的图像区域生成多层嵌套笼体,所述多层嵌套笼体由多个多边形构成,且所述多个多边形不交叉;C、计算笼体坐标,所述笼体坐标是指每个网格顶点的位置相对于多层嵌套笼体的系数,所述生成的网格顶点的位置为多层笼体顶点位置的线性组合;D、将所述多层嵌套笼体的顶点作为手柄,通过交互式操作该手柄来实现变形;E、将笼体坐标进行打包,并将打包的笼体坐标作为纹理输入图像处理单元以用于使用线性方程更新网格顶点位置实现实时的图像变形。本发明实现了使用多层嵌套笼体实时交互式地对图像进行变形,并可通过多次重复以对图像实现各种可能的变形效果。
Description
技术领域
本发明属于计算机图形学、图像处理、人机交互技术领域,具体涉及到一种基于多层嵌套笼体的实时交互式图像变形方法。
背景技术
图像变形技术在实践中具有广泛的应用。电影制作、照片特效、模式识别等都需要图像变形技术。图像变形技术有许多方法,其中线性混合方式及其变种由于其较快的变形速度在实践中最为有效。对于典型的线性混合方法来说,在物体上的顶点表示为线性仿射变换。用户只要构建一些手柄(handles)并操纵它们进行变形。自由变形方法是线性混合方法的一种,但是其规则结构的限定使得其对凹形物体的控制非常复杂。而基于骨架的变形对于刚性肢体提供自然的控制,对于灵活的区域不能进行方便的控制。
基于笼体的交互式空间变形是目前研究的热点,可对物体的有效部分进行变形,容易对ROI(Region Of Interest)区域进行膨胀和收缩变化。笼体是由较少的边或面构成的多边形或多面体,其形状近似于所包围的物体。笼体可以交互式或是预先自动生成,物体的顶点表示为笼体顶点的线性组合(也可能包括笼体的边或表面法向等)。其线性组合方程的系数(称做笼体系数或笼体坐标)在变形前进行预计算,并作为物体顶点的变形不变量,这一过程称为“绑定”过程。在变形时期,即用户操纵笼体顶点变形物体的时候,组合系数作为不变量与笼体变化的顶点一起确定变形后物体的位置以得到变形效果。
不幸的是,大多数基于笼体的方法不能很好地处理笼体嵌套的情况,即图像中区域被多个嵌套的多边形分割(我们称这些多边形为多层嵌套笼体),尤其是在交互式变形的情况下。当我们交互移动笼体的顶点时,我们希望图像的所有区域都能平滑变化,只要这种移动是在合理的范围内(即不会过渡的移动以导致图像及笼体边界出现交叠或是自相交现象)。每个被隔离的区域在变化过程中应该基本维持在笼体的变化边界以内,否则笼体无法对变形的区域进行有效地引导。理想状态下,笼体应该交互式生成以满足用户的具体需求。
在用来计算高质量保形状的变形方面有很多方法,大都是基于一些选取的手柄。这些手柄可以是点,线或骨骼,及多边形网格。用户修改手柄的位置和朝向以达到直观的变形。这些手柄可分布于目标的表面,或是扩展到表面的外部。变形主要依赖于变化时间的优化。以上提及的方法都是非线性的,降低了效率,对于变形高分辨率的图像和物体会特别慢。
使用加权混合的手柄变换,其变形时间会大大缩短。Schaefer等人使用线性组的最小二乘(Moving Least Squares或MLS)来变形图像(参考:Scott Schaefer,Travis McPhail,and Joe Warren.Image deformation usingmoving least squares.In SIGGRAPH’06:ACM SIGGRAPH 2006 Papers,pages 533-540,New York,NY,USA,2006.ACM),其变形时间与采样网格点的数量成线性关系。Weng等人基于骨架对图像在GPU上进行实时变形(参考:Yanlin Weng,Xiaohan Shi,Hujun Bao,and Jun Zhang.SketchingMLS image deformations on the GPU.Computer Graphics Forum,27(7):1789-1796,2008),但是骨架的选取对于用户来说比较烦琐。
基于笼体的方法也可以视为一种手柄变形技术,其中的手柄即是笼体的顶点。这种方法本质是一种线性混合表皮变形方法,其中手柄(笼体顶点)的变化只限于平移。基于笼体变形方法的核心是如何选取权重以实现变形的平滑,已经有很多可行方法被提出,如均值坐标(Mean ValueCoordinates或MVC)(参考:Michael S.Floater.Mean value coordinates.Computer Aided Geometric Design,20(1):19-27,March 2003),调和坐标(Harmonic Coordinates或HC)(参考:Pushkar Joshi,Mark Meyer,TonyDeRose,Brian Green,and Tom Sanocki.Harmonic coordinates for characterarticulation.In SIGGRAPH’07:ACM SIGGRAPH 2007 papers,page 71,New York,NY,USA,2007.ACM),格林坐标(Green Coordinates或GC)(参考:Yaron Lipman,David Levin,and Daniel Cohen-Or.Green coordinates.InSIGGRAPH’08:ACM SIGGRAPH 2008 papers,pages 1-10,New York,NY,USA,2008.ACM),以及复坐标(complex barycentric coordinates或CBC)及其变种等(参考:OfirWeber,Mirela Ben-Chen,and Craig Gotsman.Complex barycentric coordinates with applications to planar shape deformation.Computer Graphics Forum(Proceedings of Eurographics),28(2),2009.及Mirela Ben-Chen,Ofir Weber,and Craig Gotsman.Variational harmonic mapsfor space deformation.ACM Trans.Graph.,28(3):1-11,2009)。Jacobson等人设计了线性混合权值可以产生平滑直观的变形,使用了多种手柄如点、骨骼和笼体(参考:A.Jacobson,I.Baran,J.Popovic,and O.Sorkine.Boundedbiharmonic weights for real-time deformation.In SIGGRAPH’11:ACMSIGGRAPH 2011 Papers 2011)。但是,以上这些方法都没有展示嵌套笼体交互式变形,因为其处理比较困难。
一旦得到了笼体系数,在变形过程中其值将保持不变。可以利用GPU的通用计算来实现实时的图像变形。Meng等人设计了一个在GPU上基于笼体的图像变形框架(参考:Weiliang Meng,Bin Sheng,Shandong Wang,Hanqiu Sun,and Enhua Wu.Interactive image deformation using cagecoordinates on gpu.In Virtual Reality Continuum and its Applications inIndustry,pages 119-126,2009),但是其方法受限于笼体的顶点个数,因为需要此方法使用很多张与变形图像大小相同的图的四个通道即RGBA来记录笼体系数,这些图需要被送到GPU的显卡中用于实时变形,称为纹理图,通常会超出显卡所能容许的数量限制(目前常见的纹理图的限制个数是8或16)。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是克服多层嵌套笼体对图像进行交互式变形时速度缓慢,效率低下的缺陷。
(二)技术方案
为解决上述技术问题,本发明提出了一种基于多层嵌套笼体的实时交互式图像变形方法,其包括以下步骤:A、根据图像生成网格,所述网格由网格顶点和由网格顶点围成的网格面组成;B、对需要变形的图像区域生成多层嵌套笼体,所述多层嵌套笼体由多个多边形构成,且所述多个多边形不交叉;C、计算笼体坐标,所述笼体坐标是指每个网格顶点的位置相对于多层嵌套笼体的系数,所述生成的网格顶点的位置为多层笼体顶点位置的线性组合;D、将所述多层嵌套笼体的顶点作为手柄,通过交互式操作该手柄来实现变形;E、将笼体坐标进行打包,并将打包后的笼体坐标作为纹理输入图像处理单元以用于使用线性方程更新网格顶点位置实现实时的图像变形。
(三)有益效果
本发明使用多层嵌套笼体,并且使相邻层次的笼体的方向相反,从而可以在图像变形时更有效地保持图像局部信息,从而易于对图像进行控制。另外,本发明对笼体坐标进行打包后作为纹理输入图像处理单元,提高了处理效率,保证了交互变形的实时性,使得该方法易于实用化。
附图说明
图1是图像转化为网格的示意图。
图2是利用图像分割法生成笼体的示意图。
图3是多层嵌套笼体的示例图,其中图3(a)、图3(b)示出了正确的多层嵌套笼体,图3(c)示出了不正确的多层嵌套笼体。
图4是多层嵌套笼体中不同层次的多边形的方向示意图。
图5是使用多层嵌套笼体的变形效果图。
图6是图5中的笼体坐标打包后的纹理图。
图7是校正比萨斜塔图像的效果图。
图8是蝴蝶图像的变形前后对比图,其中图8(1)和图8(2)分别为原始图像和变形结果图像,只使用一个笼体进行变形;而图8(3)和图8(4)使用了多层嵌套笼体进行变形。
图9显示了对心形反射体中的影像的变形。其中图9(1)和图9(2)为使用单一笼体进行选取和变形时的图像,图9(3)和图9(4)是多层笼体选取和变形时的图像。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明采用多层嵌套笼体对图像进行变形,并且使相邻层次的笼体的方向相反,从而可以在图像变形时更有效地保持图像局部信息,从而易于对图像进行控制。
本发明通过交互式方式对图像进行实时变形,由于对笼体坐标进行打包后作为纹理输入图像处理单元,提高了处理效率,保证了交互变形的实时性,使得该方法易于实用化。以下具体描述本发明的对图像进行变形的方法的实施方式:
A、根据图像生成网格,所述网格由网格顶点和由网格顶点围成的网格面组成。图1是网格的示意图,如图所示,图像的每个像素用一个网格顶点来表示,四个“田”字型相邻的像素方块使用两个网格面来表示,其中每个网格面均为一个三角形。
图1显示的三角形网格面中,三角形的长边为“田”字型相邻的四个网格顶点组成的矩形的主对角线。但是,本发明并不局限于此,也可以使相邻的四个网格顶点组成的矩形的副对角线作为三角形网格面的长边。
B、对需要变形的图像区域生成多层嵌套笼体。
生成单个笼体的过程为:用多边形来包围想要变形的区域。多边形的生成方式,可以是使用鼠标在图像上以点击方式生成,这种方式可以直观,在较少笼体顶点条件下比较可行。
生成多边形的另一种方式是对图像进行分割,首先根据目标区域的颜色特征,设置一个阈值,将其转化为二值图(即可有黑白两色),然后对图像进行搜取以提取轮廓线的方式,如图2所示。图2中生成的树叶轮廓线有57个顶点,可直接用做笼体,在设置好合适的参数以后,轮廓线的计算时间基本上可达到实时。
多层嵌套笼体由多个多边形构成,这些多边形之间可以有嵌套关系,但不能交叉。图3中显示了多层嵌套笼体的示例,其中图3(a)和图3(b)为合理的多层嵌套笼体,将图像划分成多个连通区域(即区域内任意两点间都能用一条区域内曲线相连的区域),每个连通区域的边界的顶点即是多边形的顶点,图3(c)不是多层嵌套笼体,因为两个多边形之间存在交叉,其中公共部分的那个区域的边界顶点在多边形的边上,而不是多边形的顶点。
在本发明的实施例中,多层嵌套笼体的生成过程为:首先生成最外层笼体,并使最外层笼体为逆时针,接着生成次外层笼体,并使次外层笼体为顺时针,再生成第三层笼体,并使第三层笼体为逆时针。并依此类推,使相邻层次的笼体的方向相反,如图4所示。
在图像变形过程中,在笼体内的内容只受包围它的笼体的影响。但是应该注意以下事实不应被忽略:所有的图像像素都有特定的含义,特别是对于具有复杂画面的图像。所以对图像的任何区域进行变形时应该对所有的像素都有影响,只不过,由于一些像素离ROI的距离较远,所以其变化较小,从而不易被察觉到。另一方面,对于某一些区域,我们希望在图像变形时,该区域的局部特性保持基本不变,尽管其位置离ROI的距离很近。
在本发明的一个优选实施例中,可实时交互式地生成多层嵌套笼体,用户无需再提供其它的额外信息。所谓交互式是指用户和计算机之间存在交互作用的信息处理方式,用户通过终端设备输入信息和操作命令,系统接到后立即处理,并通过终端设备(通常为显示器)显示处理结果。用户可以根据处理结果进一步输入信息和操作命令。通常可以通过鼠标和键盘输入信息与计算机实现交互式。
C、计算笼体坐标。
所述笼体坐标是指每个网格顶点的位置相对于多层嵌套笼体的系数,这些系数在以后的变形过程中保持不变。
所述生成的网格顶点的位置为多层笼体顶点位置的线性组合。即设某一个顶点的位置为x0,笼体的顶点位置坐标为p0,p1,…,pn,则可有:
x0=λ0p0+λ1p1+…+λnpn,
其中,λ0,λ1,…,λn是实数或复数,称之为笼体系数,计算可采用多种方法。我们也使用“笼体坐标(cage coordinates或CC)”这一术语来表示笼体系数,对于有n个顶点的多层嵌套笼体,对于每一个网格点,都对应n个笼体系数或者说n个笼体坐标。
一旦笼体给定,传统的方法通常会将像素分成三类以进行笼体坐标的计算:在笼体内、在笼体上、以及在笼体外。通常,可使用多边形扫描转换来完成这个过程。而对于多层嵌套笼体,此计算过程则更为复杂。
但是,如果笼体坐标在笼体内外无限可导,则无需识别像素与笼体的相对位置。考虑位于多层嵌套笼体所在平面上的任意一点,不同的多层嵌套笼体顶点会有不同的影响,这主要取决于多边形的位置与形状。只要其影响是平滑的,所有影响的迭加也是平滑的。
此外,为保证变形后的整个图像为矩形,我们使用图像包围盒来进行限定,其方向为顺时针,视为多层嵌套笼体的一部分(图3中的黑线)。在交互式变形时此包围盒保持不变。
本发明的计算流程如下:在生成多层嵌套笼体之后(不妨设有m个多边形,共n个顶点构成),首先,对于图像的每个像素记录一个长度为n的数组,用来记录求解的系数的最终值。然后,对多层嵌套笼体的每个多边形,针对每个像素,计算像素相对于此多边形的笼体系数,并将结果存放到像素所对应的数组中去,每个笼体系数对应数组中的一个位置,对m个多边形计算后恰好填满长度为n的数组。最后针对每个像素所对应的数组,将数组中的每个元素进行归一化,即使得数组的元素之和为1。归一化的方式为,将数组中的元素求和,然后每个元素除以这个和值即可。
像素x相对于笼体的笼体系数计算依赖于不同权重的选取。权值应该满足在多层笼体顶点处0阶连续且在其它地方一阶连续。并非所有的生成笼体坐标的方法满足这个条件,均值坐标和调和坐标满足要求,可参考(Kai Hormann and Michael S.Floater.Mean value coordinates for arbitraryplanar polygons.ACM Trans.Graph.,25(4):1424-1441,2006.和Tony Deroseand Mark Meyer.Harmonic coordinates.Technical report,Pixar AnimationStudios,2006)来获得各自坐标的具体计算过程。获得所有的笼体系数后,即可用来进行变形。
D、将所述多层嵌套笼体的顶点作为手柄,通过交互式操作该手柄来实现变形。操作手柄的方式有多种:一种方式是直接手工拖动多层嵌套笼体的顶点以改变笼体顶点的位置,由于网格顶点表示为笼体顶点位置的线性组合,且对应的笼体系数在计算完毕后保持不变,因而笼体顶点位置的变化引起网格位置的变化,从而导致网格发生变形,进而引起网格表面的颜色变化,实现了图像的变形过程。另外的方式是指定多层嵌套笼体顶点的运动速度和方向参数,其值的设定可自由指定以达到各种变形效果,也可根据变形多边形顶点的法向指定,变化过程中,可同时控制几个顶点的变化。
在变形过程中,网格顶点的颜色保持为对应像素的颜色,只有位置进行变化。网格的每个面的颜色由网格的所述三角形面的三个网格顶点的颜色线性插值得到,这一插值过程由使用OpenGL库绘制命令实现,即以平滑方式绘制三角形面片,程序命令在指定顶点颜色之后将自动插值绘出每个面的颜色。
并且,图像的每个像素对应的笼体系数在整个变形过程中保持不变,仅由初始的多层嵌套笼体确定。
E、将笼体坐标进行打包,并将打包后的笼体坐标作为纹理输入图像处理单元(GPU)以用于使用线性方程更新网格顶点位置实现实时的图像变形。由于图像的每个像素对应的笼体系数在整个变形过程中保持不变,仅由初始的多层嵌套笼体确定,因而,为加速变形,我们可将每个像素对应的笼体系数作为纹理输入图像处理单元(GPU)。所谓纹理,实际是指一个二维数组,每个数组中的值表示为颜色值。通常使用RGBA(红,绿,蓝,透明度)四个分量(或通道)表示颜色。当前,浮点纹理已经被广泛支持,无需对于小于0的那些值作特殊处理。我们可使用与图像大小相同的纹理的一个通道来记录一个笼体坐标,这样一张纹理图可记录4个笼体系数。如果笼体顶点个数超过64,则至少需要16张以上的纹理图,这可能超出了大多数显卡的硬件限制。
为此,我们将所有的纹理图进行打包以消除显卡硬件限制。为使纹理尽可能地成正方形以节省显存,定义纹理的大小如下:对于图像I,大小为m×n(m>n)的分辨率,如果多层笼体顶点个数为c,则纹理宽度w为:
而纹理高度h为:
我们将纹理传送入GPU之后,在纹理图像上对应原始图像一个像素的寻址采用如下规则:对于在图像大小为m*n中的一个像素,设对应坐标为(x,y),其在纹理图像中的系数为坐标(x+k×m,y+l×n)所对应的那些RGBA通道值。其中,k,l为整数,k=0,1,…,l=0,1,…,且x+k×m<=w,y+l×n<=h,w和h由公式(1)和(2)给定。每个通道值表示一个系数值,对应于多层笼体的一个顶点。由于一些系数值可能小于0,无法以图像形式直接显示打包的纹理。但由于所有的系数均在-1和1之间,我们用简单的线性变换将其转化为图像以便于直接观察。
图5为在GPU上使用多层嵌套笼体对图像实时变形的示意图。多层笼体有4个多边形,68个顶点(不计图像包围盒),其中两个多边形嵌入在一个多边形里面。图5(a)为原始图像,图5(b)为使用多层嵌套笼体选定的ROI区域,图5(c)是变形后的图像,图5(d)与图5(c)相同,但是去掉了多层笼体以便更好地观察。图5(b)中指示的区域1和2在外围多边形进行变化的过程中较好地保持了局部特性。在图5(c)中的区域3和4是相应变化后的效果,相对区域1和2,本发明生成的效果自动平滑区域的变化,使得在变形后仍然较好地保持原有区域的细节。
针对多层嵌套笼体的变形,对应的一张典型的纹理图结果如图6所示。
由于本发明在设计时考虑了多层嵌套笼体中的多边形的走向,因此保证了每个连通的区域生成的笼体系数的符号是一致的,进而能保证变形的平滑,避免了以前的方法变形过程中出现的“跳变”现象。
下面通过介绍对实际图像进行变形的结果来展示本发明的优点。
下面的示例均在PC机上进行,其配置为Intel Core i5 2.67GHz CPU及nVidia GTX470 GPU,4G内存。
在示例中,多层嵌套笼体的生成主要基于用户的选取,以对变形有更灵活的控制。
使用多层嵌套笼体及本发明的算法,可以实现一些有意义的图像变形过程。如图7中所示为校正比萨斜塔的实例。左边是原始图像,最右侧为结果。中间两张图像分别是选取的多层笼体及对应的变形效果。注意,塔前面的路灯被保持得很好,仍像原始图一样保持笔直的状态。
我们可以在变形外围多边形时保持局部细节。如图8是蝴蝶的变形对比。(1)和(2)分别为原始图像和变形结果图像,只使用一个多边形进行变形。而(3)和(4)使用多层笼体。(3)中最外层的多边形与(1)中的相同,并在变形后变化到相同的位置如(2)和(4)所示。可以看到在(4)中内部多边形所包围的区域保持了较好地原始效果。
另外,我们也可在变形局部时减少对外围的影响。如在图9中,变形了在“心形反射器”中的影像。(1)和(2)为使用单一笼体进行选取和变形时的图像,(3)和(4)是多层笼体选取和变形时的图像。在(1)中加一个较大的多边形形成图(2)。(5)是(4)与(2)的差值,黑色部分表示变形差异为0,可以看出使用多层笼体变形,心形边界被较好地保持。
表1给出了根据本发明的对于我个示例图像进行变形的结果的统计数据。由于不同的笼体坐标将会导致不同的计算时间,因此没有对笼体坐标的计算时间给出统计。从表1中可以看出,在GPU上的预处理时间主要依赖于多层笼体的顶点数量和图像大小,但本发明均没有超过10秒。因此,预处理之后的交互式变形是实时的。
在打包方法方面,可以发现未打包的情况下对于笼体顶点超过60个的情况下无法处理,这个限制数值与显卡有关,对于较低配置的显卡可能会更小。而根据本发明的GPU加速方法在打包后不再受此限制。我们尝试使用几百个多层笼体顶点对图像进行变形,发现仍可以正常工作。
表1:实验结果统计。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种基于多层嵌套笼体的实时交互式图像变形方法,其特征在于包括以下步骤:
A、根据图像生成网格,所述网格由网格顶点和由网格顶点围成的网格面组成;
B、对需要变形的图像区域生成多层嵌套笼体,所述多层嵌套笼体由多个多边形构成,且所述多个多边形不交叉;
C、计算笼体坐标,所述笼体坐标是指每个网格顶点的位置相对于多层嵌套笼体的系数,所述生成的网格顶点的位置为多层笼体顶点位置的线性组合;
D、将所述多层嵌套笼体的顶点作为手柄,通过交互式操作该手柄来实现变形;
E、将笼体坐标进行打包,并将打包后的笼体坐标作为纹理输入图像处理单元,以用于使用线性方程更新网格顶点位置实现实时的图像变形。
2.根据权利要求1所述的图像变形方法,其中在步骤A中,图像的每个像素用一个网格顶点来表示,四个“田”字型相邻的像素方块使用两个网格面来表示,其中每个网格面均为一个三角形。
3.根据权利要求2所述的图像变形方法,其中所述三角形的长边为“田”字型相邻的四个网格顶点组成的矩形的主对角线。
4.根据权利要求2所述的图像变形方法,其中所述三角形的长边为“田”字型相邻的四个网格顶点组成的矩形的副对角线。
5.根据权利要求1所述的图像变形方法,其中在步骤B中使相邻层次的笼体的方向相反;
6.根据权利要求1所述的图像变形方法,其中在步骤B中,实时交互式地生成多层嵌套笼体。
7.根据权利要求6所述的图像变形方法,其中实时交互式地生成多层嵌套笼体的步骤为使用鼠标在图像上以点击方式生成。
8.根据权利要求6所述的图像变形方法,其中实时交互式地生成多层嵌套笼体的步骤为图像分割法,其具体包括如下步骤:首先根据目标区域的颜色特征,设置一个阈值,将其转化为二值图,然后对图像进行搜取以提取轮廓线。
9.根据权利要求1所述的图像变形方法,其中在步骤C中,当多边形的个数为m、顶点的总个数为n时,
首先,对于图像的每个像素记录一个长度为n的数组,用来记录求解的系数的最终值;
然后,对多层嵌套笼体的每个多边形,针对每个像素,计算像素相对于此多边形的笼体系数,并将结果存放到像素所对应的数组中去,每个笼体系数对应数组中的一个位置,对m个多边形计算后恰好填满长度为n的数组;
最后,针对每个像素所对应的数组,将数组中的每个元素进行归一化,即使得数组的元素之和为1。
10.根据权利要求1所述的图像变形方法,其中在步骤D中,网格顶点的颜色保持为对应像素的颜色,只有位置进行变化,网格的每个面的颜色由网格的所述三角形面的三个网格顶点的颜色线性插值得到。
11.根据权利要求1所述的图像变形方法,其中在步骤D中,图像的每个像素对应的笼体系数在整个变形过程中保持不变,仅由初始的多层嵌套笼体确定。
13.根据权利要求12所述的图像变形方法,其中在纹理图像上对应原始图像一个像素的寻址采用如下规则:
对于在图像大小为m×n中的一个像素,当其对应坐标为(x,y)时,其在纹理图像中的系数为坐标(x+k×m,y+l×n)所对应的RGBA通道值,其中,k,l为整数,k=0,1,…,l=0,1,…,且x+k×m<=w,y+l×n<=h。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110401999 CN102496140B (zh) | 2011-12-06 | 2011-12-06 | 一种基于多层嵌套笼体的实时交互式图像变形方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110401999 CN102496140B (zh) | 2011-12-06 | 2011-12-06 | 一种基于多层嵌套笼体的实时交互式图像变形方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102496140A true CN102496140A (zh) | 2012-06-13 |
CN102496140B CN102496140B (zh) | 2013-07-31 |
Family
ID=46187962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110401999 Expired - Fee Related CN102496140B (zh) | 2011-12-06 | 2011-12-06 | 一种基于多层嵌套笼体的实时交互式图像变形方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102496140B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934764A (zh) * | 2016-11-03 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种图像数据处理方法、装置 |
CN107194982A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 创建纹理图集和纹理图集等待集合的方法、装置和设备 |
WO2020019915A1 (zh) * | 2018-07-25 | 2020-01-30 | 北京市商汤科技开发有限公司 | 一种图像处理方法、装置和计算机存储介质 |
CN111145084A (zh) * | 2019-12-25 | 2020-05-12 | 北京市商汤科技开发有限公司 | 图像处理方法及装置、图像处理设备及存储介质 |
CN111862017A (zh) * | 2020-07-09 | 2020-10-30 | 昆明理工大学 | 一种基于骨架提取的人体非线性变换算法 |
WO2020253582A1 (zh) * | 2019-06-17 | 2020-12-24 | 腾讯科技(深圳)有限公司 | 多层包围盒确定方法、碰撞检测及运动控制方法与设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1391683A (zh) * | 1999-07-23 | 2003-01-15 | 鲍尔塔克奥夫公司 | 使用控制几何的几何设计和建模系统 |
CN1525377A (zh) * | 1995-05-11 | 2004-09-01 | ������ҵ�ɷ�����˾ | 图象处理器和带有该图象处理器的游戏设备 |
WO2007087445A2 (en) * | 2006-01-25 | 2007-08-02 | Pixar | Techniques for interior coordinates |
US20100321386A1 (en) * | 2009-06-17 | 2010-12-23 | Disney Enterprises, Inc. | Indirect Binding With Segmented Thin Layers to Provide Shape-Preserving Deformations in Computer Animation |
-
2011
- 2011-12-06 CN CN 201110401999 patent/CN102496140B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1525377A (zh) * | 1995-05-11 | 2004-09-01 | ������ҵ�ɷ�����˾ | 图象处理器和带有该图象处理器的游戏设备 |
CN1391683A (zh) * | 1999-07-23 | 2003-01-15 | 鲍尔塔克奥夫公司 | 使用控制几何的几何设计和建模系统 |
WO2007087445A2 (en) * | 2006-01-25 | 2007-08-02 | Pixar | Techniques for interior coordinates |
US20100321386A1 (en) * | 2009-06-17 | 2010-12-23 | Disney Enterprises, Inc. | Indirect Binding With Segmented Thin Layers to Provide Shape-Preserving Deformations in Computer Animation |
Non-Patent Citations (3)
Title |
---|
《In Virtual Reality Continuum and its Application in Industry,2009》 20091215 Weiliang Meng,et al. Interactive Image Deformation Using Cage Coordinates On GPU 119-126 1-13 , * |
WEILIANG MENG,ET AL.: "Differential geometry images: remeshing and morphing with local shape preservation", 《VISUAL COMPUTER》 * |
WEILIANG MENG,ET AL.: "Interactive Image Deformation Using Cage Coordinates On GPU", 《IN VIRTUAL REALITY CONTINUUM AND ITS APPLICATION IN INDUSTRY,2009》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194982A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 创建纹理图集和纹理图集等待集合的方法、装置和设备 |
CN106934764A (zh) * | 2016-11-03 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种图像数据处理方法、装置 |
CN106934764B (zh) * | 2016-11-03 | 2020-09-11 | 阿里巴巴集团控股有限公司 | 一种图像数据处理方法、装置 |
WO2020019915A1 (zh) * | 2018-07-25 | 2020-01-30 | 北京市商汤科技开发有限公司 | 一种图像处理方法、装置和计算机存储介质 |
WO2020253582A1 (zh) * | 2019-06-17 | 2020-12-24 | 腾讯科技(深圳)有限公司 | 多层包围盒确定方法、碰撞检测及运动控制方法与设备 |
US11922574B2 (en) | 2019-06-17 | 2024-03-05 | Tencent Technology (Shenzhen) Company Limited | Method and device for determining plurality of layers of bounding boxes, collision detection method and device, and motion control method and device |
CN111145084A (zh) * | 2019-12-25 | 2020-05-12 | 北京市商汤科技开发有限公司 | 图像处理方法及装置、图像处理设备及存储介质 |
CN111145084B (zh) * | 2019-12-25 | 2023-06-16 | 北京市商汤科技开发有限公司 | 图像处理方法及装置、图像处理设备及存储介质 |
CN111862017A (zh) * | 2020-07-09 | 2020-10-30 | 昆明理工大学 | 一种基于骨架提取的人体非线性变换算法 |
Also Published As
Publication number | Publication date |
---|---|
CN102496140B (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11257279B2 (en) | Systems and methods for providing non-parametric texture synthesis of arbitrary shape and/or material data in a unified framework | |
CN109063301B (zh) | 一种基于热力图的单幅图像室内物体姿态估计方法 | |
CN102496140B (zh) | 一种基于多层嵌套笼体的实时交互式图像变形方法 | |
US8217939B1 (en) | Method and system for calculating visually improved edge voxel normals when converting polygon data to voxel data | |
CN102289845B (zh) | 一种三维模型绘制方法以及装置 | |
CN105205861B (zh) | 基于Sphere‑Board的树木三维可视化模型实现方法 | |
CN108805971B (zh) | 一种环境光遮蔽方法 | |
KR20170016305A (ko) | 그래픽 처리 시스템 | |
CN110335275B (zh) | 一种基于三变量双调和b样条的流体表面的时空向量化方法 | |
CN111127658A (zh) | 一种基于点云重建三角网格曲面的保特征曲面重建方法 | |
CN115984441A (zh) | 一种基于神经着色器的快速重建带纹理三维模型的方法 | |
CN115661404A (zh) | 一种多细粒度树木实景参数化建模方法 | |
CN114375464A (zh) | 使用边界体积表示对虚拟空间中的动态单元进行光线追踪 | |
Yeh et al. | Double-sided 2.5 D graphics | |
JP2832463B2 (ja) | 3次元モデルの再構成方法および表示方法 | |
CN101764939A (zh) | 一种基于像素空间掩码矩阵的纹理贴图方法 | |
US11361477B2 (en) | Method for improved handling of texture data for texturing and other image processing tasks | |
Li et al. | Fast content-aware resizing of multi-layer information visualization via adaptive triangulation | |
CN104143204A (zh) | 考虑拓扑结构的移动最小二乘二维角色变形方法 | |
CN101764935A (zh) | 一种基于像素空间掩码矩阵的形态渐变径向色彩填充方法 | |
CN118298128B (zh) | 三维网格处理方法、装置、设备及可读存储介质 | |
US20230215094A1 (en) | Computer Graphics Interface Using Visual Indicator Representing Object Global Volume and/or Global Volume Changes and Method Therefore | |
Meng et al. | Multicage image deformation on gpu | |
Rosenthal et al. | Enclosing surfaces for point clusters using 3d discrete voronoi diagrams | |
CN116363329A (zh) | 基于CGAN与LeNet-5的三维图像生成方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130731 |