專利名稱:基于gpu的幾何表面上各向同性/異性紋理合成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通過(guò)GPU加速的幾何表面各向同性/異性紋理合成方法,更具體地說(shuō),本發(fā)明涉及ー種利用GPU的可編程功能及其高效處理性能三維幾何表面紋理合成速度的方法,屬于計(jì)算機(jī)圖形學(xué)領(lǐng)域。紋理合成結(jié)果可以用于電影動(dòng)畫、虛擬現(xiàn)實(shí)、電子游戲等領(lǐng)域。
背景技術(shù):
I. I基于樣本圖像的紋理合成在最近幾年,紋理合成已經(jīng)顯著増加了映射圖像細(xì)節(jié)到網(wǎng)格表面的容易性。較早的算法隨機(jī)的將小塊圖像粘貼在三維表面,然后使用alpha混合技術(shù)隱藏塊間縫隙[E. Praun, A. Finkelstein, and H. Hoppe. Lapped textures. Proceedings of SIGGRAPH2000,pp. 465-470]。最近,裁縫方法[A. Efros and W. Freeman. Image quilting fortexture synthesis and transfer. Proceedings of SIGGRAPH 2001,pp. 341-346 ;L. Liang,C. Liu,Y. Xu,B. Guo,and H. Shum. Real-time texture synthesis by patch-basedsampling. ACM Transactions on Graphics,vol.20,no. 3,pp. 127-150,2001 ;V.Kwatra,A.Schodl, I.Essa, G. Turk,and A.BodicL Graphcut textures Image andvideo synthesis using graph cuts. ACM Transactions on Graphics,vol. 22, no. 3,pp. 277-286,2003 ;K. Zhou, P. Du,L. Wang, Y. Matsushita,J. Shi,B. Guo,and H. Shum.Decorating surfaces with bidirectional texture functions. IEEE Transactions onVisualization and Computer Graphics, vol. 11,no. 5, pp. 519-528, 2005.]能夠產(chǎn)生更好的合成結(jié)果,它通過(guò)仔細(xì)的放置小塊紋理來(lái)減小小塊邊界的不連續(xù)性。放置這些紋理塊之后,[L. Liang, C. Liu, Y. Xu, B. Guo, and H. Shum. Real-timetexture synthesis bypatch-based sampling. ACM Transactions on Graphics,vol. 20,no. 3,pp. 127-150,2001 ;S. Magda and D. KriegmaniFast texture synthesis on arbitrary meshes. ACM SIGGRAPH 2003 Sketches & Applications,2003,p. I·]簡(jiǎn)單的使用alopha混合技術(shù)來(lái)隱藏紋理縫隙,而[A. Efros and W. Freeman. Image quilting for texture synthesis and transfer.Proceedings of SIGGRAPH 2001,pp. 341-346 ;K.Zhou,P.Du, L. Wang, Y. Matsushita,J. Shi, B.Guo,and H. Shum.Decorating surfaces with bidirectional texturefunctions.IEEE Transactions on Visualizationand Computer Graphics,vol. 11,no. 5,pp. 519-528,2005.]通過(guò)搜索最小剪切縫隙進(jìn)一步增強(qiáng)縫隙間過(guò)渡的平滑性。因?yàn)槿祟惖囊曈X(jué)對(duì)紋理中的邊緣,角點(diǎn)和其它高水平特征非常敏感,[Q. Wu and Y. Yu. Featurematching and deformation ior texture synthesis. ACM Transactions on Graphics,vol. 23,no. 3,pp. 364-367,2004.]從樣本紋理中提取出特征圖,然后使用特征匹配和圖像形變的方法來(lái)最優(yōu)的保持特征連續(xù)性。其它的相關(guān)紋理合成方法包括基于像素的和基于塊策略的混合方法[A. Nealen and Μ· Alexa. Hybrid texture synthesis. Proceedingsof the 14th Eurographics workshop on rendering. Eurographics Association,2003,p. 105.],對(duì)圖片中物體重新進(jìn)行紋理合成[H. Fang and J.Hart,Textureshop texturesynthesis as a photograph editing tool. ACM Transaction on Graphics,vol. 23,no.3,pp. 354-359,2004. ],GPU 上的并行可控紋理合成[S. Lefebvre and H. Hoppe. Parallelcontrollable texture synthesis. ACM Transactions on Graphics,vol.24, no. 3,pp. 777-786, 2005. ], [S. Lefebvre and H. Hoppe. Appearance-space texture synthesis.ACM SIGGRAPH 2006,p. 548.]和使用期望最小化優(yōu)化算法的紋理合成方法[V. Kwatra,I. Essa,A. Bobick,and N. Kwatra. Texture optimization for example-based synthesis.ACM SIGGR APH2005,p. 802. ]. Huang et al. [H. Huang,X. Tong, and W. Wang. Acceleratedparallel texture optimization. Journal of Computer Science and Technology,vol. 22,no. 5,pp. 761-769,2007.]在GPU上實(shí)現(xiàn)了 K-類似搜索和主成分分析(PCA),并進(jìn)一步加速了后面的紋理優(yōu)化。Gabor濾波器對(duì)于紋理分析具有理想最優(yōu)特性;它的方向和徑向頻率帶寬是可調(diào)的,允許空間和空間頻率中進(jìn)行聯(lián)合分辨率優(yōu)化。Bovid和 Clark[A. Bovik,M. Clark,and W. Geisler. Multichannel texture analysis usinglocalized spatial filters. IEEE Transactions on Pattern Analysis and MachineIntelligence,pp. 55-73,1990.]提出了使用2D Gabor濾波器進(jìn)行視覺(jué)紋理分析的計(jì)算方法。他們發(fā)現(xiàn)這種方法對(duì)于人工和自然紋理的分割都很適用,如預(yù)料中一樣。最近Gilet和 Dischler[G. Gilet,J. Dischler, et al. An Image-Based Approach for StochasticVolumetric and Procedural Details. Computer Graphics Forum, vol.29, no.4, WileyOnline Library,2010,pp. 1411-1419.]使用Gabor濾波器來(lái)計(jì)算紋理相似度以便進(jìn)行基于圖像的渲染。I. 2表面紋理合成三維表面的紋理合成方法,在過(guò)去的十幾年的發(fā)展中,已經(jīng)顯著的使任意曲面的復(fù)雜圖像細(xì)節(jié)設(shè)計(jì)變得更加容易。第一類方法[G. Turk. Texture synthesis on surfaces.Proceedings of the28th annual conference on Computer graphics and interactivetechniques. ACM New York,NY,USA,2001,pp. 347-354. ;L. Wei and M. Levoy. Texturesynthesis over arbitrary manifold surfaces. Proceedings of the 28th annualconference on Computer graphics and interactive techniques. ACM New York,NY,USA,2001,pp. 355-360. ;X. Tong, J. Zhang, L Liu,X. Wang, B.Guo,and H. Shum. Synthesisof bidirectional texture functions on arbitrary surfaces. ACM Transactions onGraphics,vol. 21, no. 3,pp. 665-672, 2002. ;S. Zelinka and M. Garland. Interactivetexture synthesis on surfaces using jump maps. Proceedings of the 14thEurographics workshop on Rendering. Eurographics Association Aire—la—Ville,Switzerland, Switzerland,2003,pp. 90-96.]實(shí)現(xiàn)了基于各像素非參數(shù)化米樣[A. Efrosand T.Leung.Texture synthesis by non-parametric sampling.InternationalConference on Computer Vision,vol. 2,no. 9,1999,pp. 1033-1038. ;L. Wei,and M. Levoy.Fast texture synthesis using tree-structured vector quantization. Proceedingsof the27th annual conference on Computer graphics and interactive techniques.ACM Press/Addison-Wesley Publishing Co. New York, NY,USA,2000,pp. 479-488.]的紋理合成,并且需要額外的映射或重釆樣以便進(jìn)行渲染。相對(duì)而言,有些方法在渲染的過(guò)程中使用原始紋理圖像,并且使用紋理映射硬件執(zhí)行此圖像的索引。其中的一種較早的方法是 Soler #人的[C. Soler, M.Cani,and A. Angelidis. Hierarchical pattern mapping.Proceedings of the 29th annual conference on Computer graphics and interactivetechniques. ACM New York,NY, USA,2002,pp. 673-680.],他們通過(guò)三角面片的聚類實(shí)現(xiàn)小塊的創(chuàng)建。Zelnika 和 Garland[S. Zelinka and M. Garland. Jump map-based interactivetexture synthesis. ACM Transactions on Graphics,vol.23, no.4, pp. 930-962,2004.]也擴(kuò)展了他們的跳躍映射,以便每個(gè)頂點(diǎn)在原始圖像索引的坐標(biāo)中使用。Lefebvre和Hoppe [S.Lefebvre and H. Hoppe. Appearance-space texture synthesis. ACM SIGGR APH2006,p. 548.]使用硬件實(shí)現(xiàn)了用于紋理查找表的額外內(nèi)存存儲(chǔ),并且他們的方法利用了 GPU來(lái)提供交互紋理合成的速度。他們的合成結(jié)果中的高質(zhì)量有部分原因是因?yàn)槭褂昧思y元掩模和對(duì)像素鄰域的PCA分析。Han等人[J. Han, K. Zhou,L Wei,M. Gong, H. Bao,X.Zhang, and B.Guo. rast example-based suriace texture synthesis via discreteoptimization. The Visual Computer, vol. 22,no. 9,pp. 918-925,2006.]提出了使用期望最大化算法來(lái)計(jì)算表面紋理,他們?cè)贕PU上實(shí)現(xiàn)了該算法。大多數(shù)之前的方法[E.Praun,A.Finkelstein,and H. Hoppe. Lapped textures. Proceedings of SIGGRAPH 2000,pp. 465-470 ;G.Turk.Texture synthesis on surfaces. Proceedings of the 28th annualconference on Computer graphics and interactive techniques. ACM New York,NY,USA,2001, pp. 347-354. ;L. Wei and M. Levoy. Texture synthesis over arbitrary manifoldsurfaces. Proceedings of the 28th annual conference on Computer graphics andinteractive techniques. ACM New York, NY, USA,2001, pp. 355-360. ;X. Tong,J. Zhang,L. Liu, X. Wang, B. Guo,and H.Shum. Synthesis of bidirectional texture functions onarbitrary surfaces. ACM Transactions on Graphics, vol. 21,no. 3,pp.665-672,2002.;J.Zhang, K.Zhou, L Velho,B. Guo, and H. Shum. Synthesis of progressively-varianttextures on arbitrary surfaces. ACM SIGGRAPH 2003,pp. 295-302.]都提取局部鄰域柵格通過(guò)局部壓平和表面重釆樣技木。I. 3紋理映射與將ー個(gè)曲面壓平成一個(gè)平面的問(wèn)題緊密相關(guān)的紋理映射技術(shù)經(jīng)常在游戲引擎或3D渲染的簡(jiǎn)化的角色模型中被使用。自從Catmull [E. Catmull. A subdivisionalgorithm for computerdisplay of curved surfaces. 1974.]提出紋理映射以來(lái),在文獻(xiàn)中出現(xiàn)了大量的方法[E. Bier and K. Sloan. Two-part texture mappings. IEEE ComputerGraphics and applications,vol.6,no.9,pp.40—53,1986 ;P.Heckbert. Survey oftexture mapping. IEEE Computer Graphics and Application,vol.6, no. 11,pp.56—67,1986 ;S.Haker, S.Angenent, A. Tannenbaum, R.Kikinis, G. Sapiro,and M.Halle.Conforma丄 surface parameterization for texture mapping. IEEE Transactions onVisualization and Computer Graphics,vol. 6,no. 2,pp. 181—189,2000 ;L Wang,X. Gu,K. Mueller,and S. Yau. Uniform texture synthesis and texture mapping using globalparameterization. The Visual Computer, vol. 21, no. 8, pp. 801-810,2005.].因?yàn)榇蠖鄶?shù)3D表面是不能夠展開的,在最后的合成圖像中存在紋理失真。而且,盡管3D表面是可以展開的,許多方法也會(huì)引起失真?;诒砻鎱?shù)化以便把ー個(gè)3D表面變平的紋理合成方法需要將一個(gè)表面分解成離散的平面圖像塊,并使用分段映射的方法建立3D網(wǎng)格和它們的2D平面中的同構(gòu)等價(jià)物中的對(duì)應(yīng)關(guān)系,而且要通過(guò)線性和非線性的解法來(lái)最小化這種弓I入的失真° 在文獻(xiàn)[A. Sheffer, E. Praun, and K. Rose. Mesh parameterization methodsand their applications. Foundations and Trends in Computer Graphics and Vision,vol. 2,no. 2,p. 171,2006.]中給出了最近在表面參數(shù)化方法中的很好的總結(jié)。1. 4上述方法中存在的問(wèn)題表面紋理增加了幾何模型的真實(shí)性和豐富性。盡管對(duì)任意表面進(jìn)行紋理合成的問(wèn)題已經(jīng)被廣泛的研究了,但是實(shí)時(shí)性和并行性仍然是交互應(yīng)用化的主要瓶頸。
上面介紹的表面紋理合成方法可以主要分成兩類紋理映射和直接在表面上進(jìn)行的紋理合成。前者,例如UV映射和UVW映射,不可避免具有顯著的紋理失真和繁重的人工操作的缺點(diǎn)。因此,已經(jīng)有很多研究工作是關(guān)于直接在三維表面進(jìn)行紋理合成的。表面紋理是連續(xù)的并且直接定義在表面上,盡管它們?cè)趯?shí)際中以離散的單個(gè)頂點(diǎn)的形式表現(xiàn)。當(dāng)前的表面紋理合成方法針對(duì)于靜態(tài)的表面經(jīng)常使用全局參數(shù)化,這將會(huì)引發(fā)紋理縫隙或失真。眾所周知,實(shí)現(xiàn)表面參數(shù)化域的映射具有很高的復(fù)雜性,最典型的,產(chǎn)生一個(gè)低失真的表面參數(shù)化需要相當(dāng)多的用戶干預(yù)。另外,如果說(shuō)紋理要反映表面的形狀信息,那么與顯著的幾何結(jié)構(gòu)或者形變相一致是很重要的。盡管可控性,精心設(shè)計(jì)的矢量場(chǎng)可以讓三維表面的紋理合成產(chǎn)生很多變化的效果。但是目前所提出的這些紋理合成方法并沒(méi)有太多關(guān)注物體形狀或者幾何形變情況中的紋理漸變的問(wèn)題。很多真實(shí)的物體的表面紋理都是具有尺度變化性質(zhì)的。所以當(dāng)我們合成這樣的物體表面紋理的時(shí)候,我們應(yīng)該產(chǎn)生這種尺度漸變的紋理以產(chǎn)生更真實(shí)的紋理合成效果。例如斑馬模型,在斑馬的身體和背部通常都是大尺度的條紋,然而在腿部區(qū)域這種條紋的尺度是很小的。為了能夠在虛擬現(xiàn)實(shí)中產(chǎn)生這種真實(shí)的合成效果,這種紋理漸變必須在紋理合成的過(guò)程進(jìn)行仔細(xì)的考慮和設(shè)計(jì)。不僅僅是在靜態(tài)模型中,對(duì)于形變的模型,我們也很想在形變的過(guò)程中保持紋理的一致性?,F(xiàn)有方法還沒(méi)有很好的解決上述描述的需求,不能產(chǎn)生真實(shí)的紋理漸變特性。在經(jīng)典的并行紋理合成算法[L.Wei and M. Levoy. Order-independent texturesynthesis. Computer Science Department,Stanford University,2002 ;S. Lefebvreand H. Hoppe. Parallel controllable texture synthesis. ACM Transactions onGraphics(TOG),vol. 24,no. 3,pp. 777-786,2005.]中,它們并沒(méi)有考慮尺度場(chǎng)的變化。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決三維紋理表面直接進(jìn)行各向同性、異性紋理合成的問(wèn)題。本發(fā)明方法利用GPU的可編程功能及其高效處理能力來(lái)加速紋理合成。假設(shè)網(wǎng)格表面S = (V,C)和mXm紋理樣本圖像E(mXm為文理樣本圖像的大小,即像素個(gè)數(shù)),其中V表示網(wǎng)格頂點(diǎn)集合,C表示頂點(diǎn)之間的連通信息。表面紋理合成可以認(rèn)為是計(jì)算每個(gè)頂點(diǎn)的映射函數(shù)S :V — E(即將二維網(wǎng)格S中的每個(gè)網(wǎng)格頂點(diǎn)映射到二維圖像E中的坐標(biāo)),對(duì)于每個(gè)頂點(diǎn)i G V,其中S[i]表示E中的坐標(biāo)u,所以頂點(diǎn)i的顏色為E(u) = E[S[i]] o 受到并行紋理合成策略[S. Lefebvre and H. Hoppe. Appearance-spacetexture synthesis. ACM SIGGRAPH 2006 Papers. ACM,2006,p.548 ;L. Wei andM. Levoy.Order-independent texture synthesis. Computer Science Department,Stanford University, 2002 ;S. Lefebvre and H. Hoppe. Parallel controllable texturesynthesis. ACM Transactions on Graphics (TOG),vol. 24,no. 3,pp. 777-786,2005.]思想的啟發(fā),我們將上釆樣-抖動(dòng)-校正的合成流程(即并行紋理合成策略)應(yīng)用于任意表面,以達(dá)到保持幾何特征的目的。同時(shí),我們釆用了 Gabor特征來(lái)提高K-Coherence捜索的準(zhǔn)確度。本發(fā)明的技術(shù)方案為一種基于GPU的幾何表面上各向同性/異性紋理合成方法,其步驟為I)選取ー紋理圖像樣本E并對(duì)圖像E進(jìn)行Gabor濾波,得到圖像E的Gabor特征空間;2)生成圖像E的網(wǎng)格頂點(diǎn)結(jié)構(gòu)S ;根據(jù)網(wǎng)格頂點(diǎn)結(jié)構(gòu)S建立多分辨率金字塔結(jié)構(gòu),得到層次化的網(wǎng)格模型序列,進(jìn)行各項(xiàng)同性的表面紋理合成;即對(duì)金字塔結(jié)構(gòu)每ー層進(jìn)行a)表面紋理上采樣,將頂點(diǎn)i的紋理坐標(biāo)按照它在網(wǎng)格模型序列中父頂點(diǎn)的紋理坐標(biāo)來(lái)分配;b)表面紋理坐標(biāo)擾動(dòng),對(duì)上采樣以后的幾何頂點(diǎn)的紋理坐標(biāo)進(jìn)行擾動(dòng); c)根據(jù)Gabor特征空間對(duì)紋理坐標(biāo)迭代校正;d)對(duì)于姆個(gè)網(wǎng)格頂點(diǎn),獲取其M個(gè)最近的鄰接頂點(diǎn),記為Vp(p = I. . . M);3)對(duì)于頂點(diǎn)紋理坐標(biāo)進(jìn)行不等距的偏移變換,進(jìn)行各項(xiàng)異性的表面紋理合成。進(jìn)ー步的,采用K-Coherence搜索方法計(jì)算所述Gabor特征空間的距離;其中,K-Coherence方法為每個(gè)樣本像素構(gòu)建ー個(gè)坐標(biāo)集合,坐標(biāo)集合中包含了 K個(gè)與當(dāng)前像素具有相似鄰域的像素的坐標(biāo)。進(jìn)ー步的,對(duì)網(wǎng)格表面S進(jìn)行重采樣,使網(wǎng)格表面的頂點(diǎn)分布均勻。進(jìn)ー步的,采用正則采樣方法對(duì)網(wǎng)格表面S進(jìn)行重采樣。進(jìn)ー步的,用亮度空間(Y,Cb, Cr)描述圖像E的彩色紋理,然后對(duì)圖像E的亮度Y通道濾波,從而將所述Gabor特征空間T投影到一 L維的子空間(Fi) ;最后將所述L維子空間與圖像E的顏色空間(R,G,B)合并為ー H維特征空間(R,G,B,F(xiàn)i),i = I. · ·し進(jìn)ー步的,根據(jù)Gabor特征空間進(jìn)行紋理坐標(biāo)迭代校正的方法為首先將網(wǎng)格頂點(diǎn)的鄰域三角形集合通過(guò)投影轉(zhuǎn)換成(2N+1) X (2N+1)的網(wǎng)格;然后每個(gè)采樣點(diǎn)由插值關(guān)系得到ー個(gè)H維Gabor特征空間,使每個(gè)網(wǎng)格頂點(diǎn)i的鄰域Ni上形成ー個(gè)HX (2N+1) X (2N+1)維的Gabor特征向量;N為大于I小于5的整數(shù)。進(jìn)ー步的,所述步驟2)中,進(jìn)行各項(xiàng)同性的表面紋理合成方法為合成像素P吋,根據(jù)Gabor特征空間中的像素相似性匹配計(jì)算得到當(dāng)前點(diǎn)P的候選像素集;然后,對(duì)于候選像素集中的每個(gè)像素,把樣本紋理中與其鄰域最為相似的k-Ι個(gè)像素也加入到候選像素集中,最后從候選像素集中找出與P鄰域最為匹配的像素作為最終的合成結(jié)果。進(jìn)ー步的,采用針對(duì)網(wǎng)格頂點(diǎn)的切平面投影辦法,將網(wǎng)格頂點(diǎn)的鄰域三角形集合通過(guò)投影轉(zhuǎn)換成(2N+1) X (2N+1)的網(wǎng)格。進(jìn)ー步的,采用k-coherence紋理匹配方法進(jìn)行幾何表面頂點(diǎn)的鄰域搜索。進(jìn)ー步的,所述金字塔網(wǎng)格結(jié)構(gòu)相鄰兩層的頂點(diǎn)個(gè)數(shù)為4 I。、
進(jìn)一步的,所述步驟3)中,首先根據(jù)圖像樣本E表面的曲率得到其紋理坐標(biāo)的不等距偏移尺度場(chǎng),然后對(duì)于紋理坐標(biāo)進(jìn)行偏移,得到隨幾何表面變化的表面紋理特征,進(jìn)行各項(xiàng)異性的表面紋理合成。進(jìn)一步的,所述步驟b)中,通過(guò)一個(gè)二維哈希隨機(jī)函數(shù)H :Z—
2以及一個(gè)由用戶控制的隨機(jī)參數(shù)來(lái)控制表面紋理坐標(biāo)擾動(dòng)。2. IGabor 空間類似于2D基于樣本圖像的紋理合成,合成的像素的鄰域和樣本圖像像素的鄰域的相似度通常通過(guò)特征距離的計(jì)算量進(jìn)行衡量。找到與合成表面像素相似的樣本圖像的像素是提高表面合成紋理視覺(jué)質(zhì)量的關(guān)鍵。之前的方法通過(guò)空間鄰域特征或者降維德空間鄰域特征(也稱為表現(xiàn)空間[S. Lefebvre and H. Hoppe. Appearance-space texture synthesis. ACM SIGGRAPH 2006Papers. ACM, 2006, p. 548;])的距離來(lái)進(jìn)行鄰域的匹配。然而,樣本像素的多尺度特征是很難通過(guò)紋理空間鄰域的SSD(Sum-of-Squared-Difference,平方差距離)距離進(jìn)行捕捉的。本發(fā)明通過(guò)對(duì)待處理圖像E進(jìn)行Gabor濾波,得到E的Gabor特征空間。因?yàn)镚abor濾波統(tǒng)一了紋理特征的頻率和多尺度空間分析。針對(duì)2D樣本圖像E (x,y),它的Gabor小波變換為Enij n(x, y) = E xl E ylE(x1; Y1) gm,n(x-x1, y-y) (I)其中,gm,n 表不文獻(xiàn)[B. S. Manjunath and ff. -Y. Ma. Texture features forbrowsing and retrieval of image data. IEEE Trans.Pattern Anal. Mach. Intell.,vol. 18, no. 8, pp. 837-842,1996.]中的自相似濾波器組,m, n分別表示的是文獻(xiàn)中Gabor濾波器的尺度和方向(m = I. . . C, n = I. . . K) (X1, Y1)表示幾何表面的任一頂點(diǎn),N的含義為Gabor濾波器采樣窗口的大小。濾波圖像幅值均值和方差用來(lái)構(gòu)造特征空間,分別定義如下濾波圖像幅值均值=^H|Kx,>0|,(2)和濾波圖像幅值方差=技ZX(K’々,>0|-/V )2,(3)很多紋理分類技術(shù),米用文獻(xiàn)[B.S. Manjunath and W. -Y. Ma. Texture featuresfor browsing and retrieval o fimage data. IEEE Trans. Pattern Anal. Mach. Intell.,vol. 18,no. 8,pp. 837-842,1996.]使用 4 個(gè)尺度(C = 4)和 6 個(gè)方向(K = 6)。Gabor 特征空間如下T =U35O35J(4)彩色紋理可以使用不同的顏色空間描述,(R,G,B)或者亮度/色度顏色空間(Y,Cb, Cr)。在本發(fā)明的紋理合成算法中,Gabor濾波器組用來(lái)對(duì)樣本紋理圖像的亮度Y通道濾波。將48維的特征矢量使用PCA(Principle-Component-Analysis)方法投影到6維的子空間$山=,.6,也可以投影到L維(一般維數(shù)小于20),對(duì)應(yīng)的合并后的空間可以是H維(H=L+3)。因此,用于合成的Gabor特征空間可以表示為9維空間(R,G,B,F(xiàn)i),i = I. 6。低維的Gabor特征空間依據(jù)原始樣本圖像通過(guò)預(yù)計(jì)算的方法產(chǎn)生。
為了加速紋理合成速度,在Gabor特征空間的距離使用了 !(-Coherence搜索方法。K-Coherence方法為每個(gè)樣本像素構(gòu)建ー個(gè)坐標(biāo)集合,這個(gè)坐標(biāo)集合中包含了 K個(gè)與當(dāng)前像素具有相似鄰域的像素的坐標(biāo)。實(shí)驗(yàn)表明,樣本像素的相似集可以被準(zhǔn)確的找到,因?yàn)镚abor濾波器具有比SSD指標(biāo)更好的區(qū)分特征和紋理結(jié)構(gòu)的特性。在圖I顯示了我們方法的主要結(jié)構(gòu)及各子模塊調(diào)用關(guān)系。與其它的紋理合成方法相比,在Κ-Coherence構(gòu)建的過(guò)程中,我們使用了 Gabor特征空間,更好更準(zhǔn)確的保持了紋理結(jié)構(gòu)特征,如圖2所示。圖3同樣也證明了使用Gabor特征能夠得到較理想的紋理合成結(jié)果。2. 2GPU 預(yù)處理在進(jìn)行實(shí)時(shí)表面紋理合成之前,我們利用ReMesh [M. Attene and B. Falcidieno.ReMESH An interactive environment to edit ana repair triangle meshes, in IEEEInternational Conference on Shape Modeling and Applications,2006. SMI 2006,2006,pp. 41-41.]方法對(duì)網(wǎng)格表面S進(jìn)行重采樣,使網(wǎng)格表面的頂點(diǎn)分布盡量均勻。層級(jí)結(jié)構(gòu)的網(wǎng)格同樣通過(guò)控制相鄰兩層的頂點(diǎn)個(gè)數(shù)為4 I的方法實(shí)現(xiàn)。算法中金子塔網(wǎng)格結(jié)構(gòu)的相鄰兩層的父子關(guān)系可以用公式表示為P1+1(j) = k,其中j e S1+1,k e S1,并且k = arg minFe^ |ノ - k]\(5)其中,函數(shù)p()表示的是對(duì)于子網(wǎng)格上的頂點(diǎn),求解其在父網(wǎng)格上對(duì)應(yīng)的父親頂點(diǎn)的過(guò)程;j是表示子網(wǎng)格S1+1的任意ー頂點(diǎn),k表示父網(wǎng)格的頂點(diǎn)(頂點(diǎn)k是頂點(diǎn)j的父親),S1是子幾何網(wǎng)格S1+1的父網(wǎng)格。網(wǎng)格結(jié)構(gòu)S與樣本圖像E是一一對(duì)應(yīng)的關(guān)系,S是由粗到細(xì)的一系列網(wǎng)格序列,E也是由粗到細(xì)的一系列紋理樣本(即金字塔結(jié)構(gòu))父子關(guān)系通過(guò)預(yù)處理得到并保存以便在實(shí)時(shí)合成中加速上采樣步驟。我們應(yīng)用高斯濾波器來(lái)構(gòu)建紋理樣本圖像的高斯堆棧。在第i堆棧層,濾波器的半徑為2H+1。通過(guò)對(duì)紋理樣本做的處理,得到紋理樣本的高斯金字塔表達(dá),這樣的高斯金字塔結(jié)構(gòu)的紋理樣本為后面紋理合成是與幾何網(wǎng)格的金字塔結(jié)構(gòu)--對(duì)應(yīng)。2. 3各項(xiàng)同性的表面紋理合成由于我們將表面紋理看成是頂點(diǎn)顔色直接合成到網(wǎng)格表面,實(shí)際合成的基本單元為曲面頂點(diǎn)。在以往的工作中,ー個(gè)由粗到細(xì)的紋理金字塔可以捕獲多分辨率的紋理結(jié)構(gòu)與小社區(qū)。我們基于曲面的頂點(diǎn)網(wǎng)格結(jié)構(gòu)(頂點(diǎn)的網(wǎng)格結(jié)構(gòu)即為S),建立了ー個(gè)由粗及細(xì)的2D紋理樣本的多分辨率金字塔結(jié)構(gòu)(參考文獻(xiàn)L. Wei and M. Levoy. Texturesynthesis over arbitrary manifold surfaces. Proceedings of the 28th annualconference on Computer graphics and interactivetechniques. ACM New York,NY,USA,2001,pp. 355-360.),以獲取2D紋理樣本中的多分辨率結(jié)構(gòu)信息,同時(shí)我們基于幾何表面的頂點(diǎn)網(wǎng)格S也建立了多分辨率金字塔結(jié)構(gòu),建立了層次化的網(wǎng)格模型序列,并結(jié)合紋理樣本的多分辨率金字塔結(jié)構(gòu)來(lái)進(jìn)行由上自下,由粗到細(xì)的多分辨率合成。我們運(yùn)用層次化紋理合成創(chuàng)造從低到更高的分辨率。在初始的粗分辨率網(wǎng)格中,我們通過(guò)隨機(jī)指定紋理坐標(biāo),這相當(dāng)于在金字塔頂部輸入隨機(jī)的白化噪聲紋理。對(duì)于每ー個(gè)金字塔的水平,我們執(zhí)行3個(gè)合成算法步驟上采樣,擾動(dòng)和校正。對(duì)每個(gè)網(wǎng)格頂點(diǎn)進(jìn)行與次序無(wú)關(guān)的合成步驟,具體說(shuō)明如下(I)表面紋理上采樣在表面紋理的上采樣中,頂點(diǎn)i的紋理坐標(biāo)被直接按照它在網(wǎng)格層次模型中的父頂點(diǎn)(處于較粗的網(wǎng)格分 辨率中)的紋理坐標(biāo)來(lái)分配。這里的網(wǎng)格頂點(diǎn)算法,不像二維紋理的上采樣算法。因?yàn)檫@里新算法不關(guān)心父子頂點(diǎn)間的紋理坐標(biāo)在方向和距離上的相似性。其原因在于計(jì)算幾何網(wǎng)格表面的父子頂點(diǎn)層次關(guān)系間紋理坐標(biāo)的偏移坐標(biāo)繁瑣,且直接繼承最后的綜合協(xié)調(diào)禮物等效的視覺(jué)質(zhì)量。所以新算法中幾何網(wǎng)格表面的Mesh提升采樣可以被數(shù)學(xué)表達(dá)為S1= (Sh [P1 ⑴])modm即頂點(diǎn)i的紋理坐標(biāo)被直接按照它在網(wǎng)格層次模型中的父頂點(diǎn)(處于較粗的網(wǎng)格分辨率中)的紋理坐標(biāo)來(lái)分配。(2)表面紋理坐標(biāo)擾動(dòng)為了避免紋理合成的效果出現(xiàn)不自然的分布規(guī)律,我們應(yīng)用坐標(biāo)的擾動(dòng)函數(shù)對(duì)于上采樣以后的幾何頂點(diǎn)的紋理坐標(biāo)進(jìn)行必要的擾動(dòng)。這樣的一個(gè)擾動(dòng)函數(shù)J1Q)可以通過(guò)一個(gè)二維哈希隨機(jī)函數(shù)H :Z—
2(Z就是一個(gè)隨機(jī)二維坐標(biāo)數(shù),H:Z—
2表示的是隨機(jī)生成一個(gè)2維坐標(biāo),坐標(biāo)的兩個(gè)維度范圍都在
內(nèi)。)以及一個(gè)由用戶控制的隨機(jī)參數(shù)來(lái)控制。在幾何表面紋理坐標(biāo)的上采樣中,由于父子頂點(diǎn)間坐標(biāo)的直接繼承,其不規(guī)則幾何表面的頂點(diǎn)拓?fù)潢P(guān)系已經(jīng)產(chǎn)生了一定的紋理隨機(jī)性,所以在通常情況下,擾動(dòng)過(guò)程是一種交互的處理步驟,可由用戶選擇并控制的表面紋理的隨機(jī)性擾動(dòng)。(3)紋理坐標(biāo)迭代校正在整個(gè)表面紋理合成的過(guò)程中,表面紋理的核心是并行化的紋理坐標(biāo)迭代校正過(guò)程。新算法的紋理校正過(guò)程包括三個(gè)步驟(I)每個(gè)表面頂點(diǎn)i,我們對(duì)每個(gè)網(wǎng)格頂點(diǎn)在其切平面上得到5X5采樣點(diǎn)網(wǎng)格,(2)每個(gè)采樣點(diǎn)可以由插值關(guān)系得到一個(gè)九維的Gabor特征向量,這樣每個(gè)網(wǎng)格頂點(diǎn)i的鄰域Ni (5X5采樣點(diǎn)網(wǎng)格,)上可以形成一個(gè)9X5X5維的Gabor特征向量。(3)我們對(duì)于每個(gè)網(wǎng)格頂點(diǎn),獲取其M個(gè)(此處M為6)個(gè)最近的鄰接頂點(diǎn),記為Vp (p = 1...6)。(4)在實(shí)際合成中,我們將k-coherence紋理匹配方法來(lái)進(jìn)行幾何表面頂點(diǎn)的鄰域搜索。在合成像素P時(shí),先根據(jù)Gabor特征空間中的像素相似性匹配計(jì)算得到當(dāng)前點(diǎn)P的候選像素集,然后,對(duì)于候選像素集中的每個(gè)像素,把樣本紋理中與其鄰域最為相似的k-1個(gè)像素也加入到候選像素集中(k的含義是每個(gè)像素的鄰居像素個(gè)數(shù)),最后從候選像素集中找出與P鄰域最為匹配的像素作為最終的合成結(jié)果,這種表面紋理的合成技術(shù)考慮了紋理合成的并行性和生成質(zhì)量,可以方便地在GPU得到快速實(shí)現(xiàn)。2. 4各向異性的表面紋理合成在新算法中,我們可以通過(guò)采用不同方向上的不等距偏移來(lái)合成幾何表面紋理,從而達(dá)到各項(xiàng)異性的紋理表觀,顯示幾何表面紋理中的不同紋元的比例效果。值得注意的是雖然傳統(tǒng)的雅可比場(chǎng)J可直接地評(píng)價(jià)規(guī)則的平面參數(shù)化效果,其對(duì)全局的曲面定義卻很難進(jìn)行精確合適的參數(shù)化計(jì)算,特別是其局部表面的矢量場(chǎng)旋轉(zhuǎn)變換也具有很大的歧義性(E. Praun,A. Finkelstein,and H. Hoppe. Lapped textures [C]//Proceedings ofSIGGRAPH ‘2000, Computer Graphics, Annual Conference Series, 2000 :465-470)。雖然也可以采用測(cè)地距離來(lái)定義集合表面的雅可比場(chǎng),其幾何局部表面的旋轉(zhuǎn)變換計(jì)算仍然具有高度的主觀性。為此,新算法在各向異性的紋理合成中并沒(méi)有采用定義雅可比場(chǎng)的方法來(lái)合成幾何表面紋理,而是尋求將幾何表面解析成紋理單元中鄰居紋理坐標(biāo)的各向異性的偏移為此,我們通過(guò)對(duì)于頂點(diǎn)與其鄰域紋理坐標(biāo)的偏移Ni(A)來(lái)實(shí)現(xiàn)與雅可比變換等效的紋理合成效果。具體來(lái)說(shuō)我們定義了不等距放縮場(chǎng)
權(quán)利要求
1.一種基于GPU的幾何表面上各向同性/異性紋理合成方法,其步驟為 1)選取一紋理圖像樣本E并對(duì)圖像E進(jìn)行Gabor濾波,得到圖像E的Gabor特征空間; 2)生成圖像E的網(wǎng)格頂點(diǎn)結(jié)構(gòu)S;根據(jù)網(wǎng)格頂點(diǎn)結(jié)構(gòu)S建立多分辨率金字塔結(jié)構(gòu),得到層次化的網(wǎng)格模型序列,進(jìn)行各項(xiàng)同性的表面紋理合成;即對(duì)金字塔結(jié)構(gòu)每一層進(jìn)行 a)表面紋理上采樣,將頂點(diǎn)i的紋理坐標(biāo)按照它在網(wǎng)格模型序列中父頂點(diǎn)的紋理坐標(biāo)來(lái)分配; b)表面紋理坐標(biāo)擾動(dòng),對(duì)上采樣以后的幾何頂點(diǎn)的紋理坐標(biāo)進(jìn)行擾動(dòng); c)根據(jù)Gabor特征空間對(duì)紋理坐標(biāo)迭代校正; d)對(duì)于每個(gè)網(wǎng)格頂點(diǎn),獲取其M個(gè)最近的鄰接頂點(diǎn),記為Vp(p = I. . . M); 3)對(duì)于頂點(diǎn)紋理坐標(biāo)進(jìn)行不等距的偏移變換,進(jìn)行各項(xiàng)異性的表面紋理合成。
2.如權(quán)利要求I所述的方法,其特征在于采用K-Coherence搜索方法計(jì)算所述Gabor特征空間的距離;其中,K-Coherence方法為每個(gè)樣本像素構(gòu)建一個(gè)坐標(biāo)集合,坐標(biāo)集合中包含了 K個(gè)與當(dāng)前像素具有相似鄰域的像素的坐標(biāo)。
3.如權(quán)利要求I或2所述的方法,其特征在于對(duì)網(wǎng)格表面S進(jìn)行重采樣,使網(wǎng)格表面的頂點(diǎn)分布均勻。
4.如權(quán)利要求3所述的方法,其特征在于采用正則采樣方法對(duì)網(wǎng)格表面S進(jìn)行重采樣。
5.如權(quán)利要求I所述的方法,其特征在于用亮度空間(Y,Cb,Cr)描述圖像E的彩色紋理,然后對(duì)圖像E的亮度Y通道濾波,從而將所述Gabor特征空間T投影到一 L維的子空間(Fi)i = U;最后將所述L維子空間與圖像E的顏色空間(R,G,B)合并為一 H維特征空間(R, G, B,F(xiàn)i),i = I. L0
6.如權(quán)利要求5所述的方法,其特征在于根據(jù)Gabor特征空間進(jìn)行紋理坐標(biāo)迭代校正的方法為首先將網(wǎng)格頂點(diǎn)的鄰域三角形集合通過(guò)投影轉(zhuǎn)換成(2N+1) X (2N+1)的網(wǎng)格;然后每個(gè)采樣點(diǎn)由插值關(guān)系得到一個(gè)H維Gabor特征空間,使每個(gè)網(wǎng)格頂點(diǎn)i的鄰域Ni上形成一個(gè)HX (2N+1) X (2N+1)維的Gabor特征向量;N為大于I小于5的整數(shù)。
7.如權(quán)利要求I或5或6所述的方法,其特征在于所述步驟2)中,進(jìn)行各項(xiàng)同性的表面紋理合成方法為合成像素P時(shí),根據(jù)Gabor特征空間中的像素相似性匹配計(jì)算得到當(dāng)前點(diǎn)P的候選像素集;然后,對(duì)于候選像素集中的每個(gè)像素,把樣本紋理中與其鄰域最為相似的k-1個(gè)像素也加入到候選像素集中,最后從候選像素集中找出與p鄰域最為匹配的像素作為最終的合成結(jié)果。
8.如權(quán)利要求6所述的方法,其特征在于采用針對(duì)網(wǎng)格頂點(diǎn)的切平面投影辦法,將網(wǎng)格頂點(diǎn)的鄰域三角形集合通過(guò)投影轉(zhuǎn)換成(2N+1) X (2N+1)的網(wǎng)格。
9.如權(quán)利要求I或5或6所述的方法,其特征在于采用k-coherence紋理匹配方法進(jìn)行幾何表面頂點(diǎn)的鄰域搜索。
10.如權(quán)利要求I所述的方法,其特征在于所述金字塔網(wǎng)格結(jié)構(gòu)相鄰兩層的頂點(diǎn)個(gè)數(shù)為 4 : I。
11.如權(quán)利要求I所述的方法,其特征在于所述步驟3)中,首先根據(jù)圖像樣本E表面的曲率得到其紋理坐標(biāo)的不等距偏移尺度場(chǎng),然后對(duì)于紋理坐標(biāo)進(jìn)行偏移,得到隨幾何表面變化的表面紋理特征,進(jìn)行各項(xiàng)異性的表面紋理合成。
12.如權(quán)利要求I所述的方法,其特征在于所述步驟b)中,通過(guò)一個(gè)二維哈希隨機(jī)函數(shù)H :Z —
2以及一個(gè)由用戶控制的隨機(jī)參數(shù)來(lái)控制表面紋理坐標(biāo)擾動(dòng)。 ·
全文摘要
本發(fā)明公開了一種基于GPU的幾何表面上各向同性/異性紋理合成方法,屬于計(jì)算機(jī)圖形學(xué)領(lǐng)域。本方法為1)選取一紋理圖像樣本E并對(duì)圖像E進(jìn)行Gabor濾波,得到E的特征空間;2)生成E的網(wǎng)格頂點(diǎn)結(jié)構(gòu)S;根據(jù)S建立多分辨率金字塔結(jié)構(gòu),得到層次化的網(wǎng)格模型序列,進(jìn)行各項(xiàng)同性的表面紋理合成;即對(duì)金字塔結(jié)構(gòu)每一層進(jìn)行將頂點(diǎn)i的紋理坐標(biāo)按照它在網(wǎng)格模型序列中父頂點(diǎn)的紋理坐標(biāo)來(lái)分配;對(duì)幾何頂點(diǎn)的紋理坐標(biāo)進(jìn)行擾動(dòng);根據(jù)特征空間對(duì)紋理坐標(biāo)迭代校正;對(duì)于每個(gè)網(wǎng)格頂點(diǎn),獲取其M個(gè)最近的鄰接頂點(diǎn);3)對(duì)頂點(diǎn)紋理坐標(biāo)進(jìn)行不等距的偏移變換,進(jìn)行各項(xiàng)異性的表面紋理合成。本方法具有合成效率高,且保持形狀特性和形變一致性。
文檔編號(hào)G06T15/04GK102637304SQ20121006946
公開日2012年8月15日 申請(qǐng)日期2012年3月15日 優(yōu)先權(quán)日2012年3月15日
發(fā)明者吳玉寶, 孫漢秋, 王文成, 盛斌 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所, 香港中文大學(xué)