CN104574501B - 一种针对复杂三维场景的高质量纹理映射方法 - Google Patents

一种针对复杂三维场景的高质量纹理映射方法 Download PDF

Info

Publication number
CN104574501B
CN104574501B CN201410799686.5A CN201410799686A CN104574501B CN 104574501 B CN104574501 B CN 104574501B CN 201410799686 A CN201410799686 A CN 201410799686A CN 104574501 B CN104574501 B CN 104574501B
Authority
CN
China
Prior art keywords
texture
dough sheet
image
color
mapping
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.)
Active
Application number
CN201410799686.5A
Other languages
English (en)
Other versions
CN104574501A (zh
Inventor
章国锋
鲍虎军
姜翰青
王博胜
苏灵敏
王英杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
ST Engineering IHQ Pte Ltd
Original Assignee
Zhejiang University ZJU
Singapore Technologies Dynamics Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU, Singapore Technologies Dynamics Pte Ltd filed Critical Zhejiang University ZJU
Priority to CN201410799686.5A priority Critical patent/CN104574501B/zh
Publication of CN104574501A publication Critical patent/CN104574501A/zh
Application granted granted Critical
Publication of CN104574501B publication Critical patent/CN104574501B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description

Abstract

本发明公开了一种多视图纹理映射方法,该方法能够利用多角度拍摄的图像序列为三维模型进行高真实感的纹理贴图。首先将多视图纹理映射转化为一个马可夫随机场问题,并用能量优化的方法获得模型每个面片最优的纹理图像对应关系;然后将映射的纹理数据进行精简化,并对部分不可见区域的无效纹理进行修复;最后,利用梯度融合的方法消除纹理拼接边界的颜色差异,最终获得无缝隙的纹理贴图效果。相比现有的方法,本发明在针对模型中存在复杂遮挡的纹理映射以及大纹理数据的融合这两方面有着明显的优势,在面向复杂场景时仍能产生高质量的纹理映射,一系列复杂场景的实例证明了本发明的有效性和鲁棒性。

Description

一种针对复杂三维场景的高质量纹理映射方法
技术领域
本发明涉及一种三维场景高质量纹理映射方法,尤其涉及一种复杂三维场景的高质量纹理映射方法。
背景技术
纹理映射是建立三维物体表面和二维图像空间像素坐标对应关系的过程。在三维图形学中,纹理映射允许加载用户采集真实的自然场景照片来作为二维纹理数据,这对于表达具有真实感的三维物体模型具有非常重要的意义。
视频的每帧图像仅仅能捕获到场景的一个局部区域,因此需要结合视频的多帧图像来创建三维模型的完整纹理贴图。王立峰等人的方法(L.Wang,S.B.Kang,R.Szeliski,H.-Y.Shum:Optimal texture map reconstruction from multiple views.In CVPR,2001.)和Baumberg的方法(A.Baumberg:Blending images for texturing 3D models.InBMVC,2002:404–413.)用加权混合的方式结合多帧纹理图像,为每帧图像求解合适的权重以获得最佳的混合效果。然而,如果纹理图像之间存在偏移或者颜色差异,加权混合会产生明显的走样。Niem和Broszio的方法(W.Niem,and H.Broszio:Mapping texture frommultiple camera views onto 3D-object models for computer animation.Inproceedings of the International Workshop on Stereoscopic and ThreeDimensional Imaging,1995:99-105.)为每个面片选择其可见的某帧纹理图像进行映射,并用贪心的方式调整每个面片使得相邻的面片尽可能来自同一幅纹理图像,该方法的结果很难完全保证相邻面片的纹理一致性。Lempitsky和Ivanov(V.Lempitsky,and D.Ivanov:Seamless mosaicing of image-based texture maps.In CVPR,2007:1–6.)提出将三维模型的多视图纹理映射视为一个图像拼接问题:整体模型的纹理映射即为每个面片选择合适的纹理图像,并且保持相邻面片纹理接缝颜色的一致性。该问题可转换为一个马可夫随机场问题进行求解。Gal等人(R.Gal,Y.Wexler,E.Ofek,H.Hoppe,and D.Cohen-Or:Seamlessmontage for texturing models.Computer Graphics Forum,2010,29(2):479-486.)对于Lempitsky和Ivanov提出中的方法做了改进,对于面片在每个帧纹理图像上的映射考虑了局部位移,从而能够处理摄像机参数和三维模型存在的误差偏移问题,但是求解空间扩大会影响该方法的运行效率。Gal等人以及Lempitsky和Ivanov提出的方法计算时间和空间复杂度均很高,因此仅能够处理形状简单的小规模模型。此外,上述这些方法均没有考虑三维模型的自遮挡情况。
除了文献(R.Gal,Y.Wexler,E.Ofek,H.Hoppe,and D.Cohen-Or:Seamlessmontage for texturing models.Computer Graphics Forum,2010,29(2):479-486.)之外,近年来还有一些纹理映射方法也能够较好地处理误差偏移问题,从而实现高质量的真实感纹理贴图效果。例如,Eisemann等人(M.Eisemann,B.De Decker,M.Magnor,P.Bekaert,E.de Aguiar,N.Ahmed,C.Theobalt,and A.Sellent:Floating textures.ComputerGraphics Forum,2008,27(2):409–418.)利用多帧纹理图像之间的光流来实现图像对齐以解决误差偏移问题,其运行效率依赖于GPU的加速。Goldluecke等人(B.Goldluecke,M.Aubry,K.Kolev,and D.Cremers:A Super-resolution framework for high-accuracymultiview reconstruction.International Journal of Computer Vision,2014,106(2):127-191.)则提出了超分辨率的纹理映射方法。由于计算时间和空间上的复杂性,这些方法都难以处理大尺度复杂场景的纹理贴图。
还有一些结合用户交互的方法(V.Kraevoy.,A.Sheffer,and C.Gotsman:Matchmaker:constructing constrained texture maps.ACM Transactions onGraphics,2003,22(3):326–333.,K.Zhou,X.Wang,Y.Tong,M.Desbrun,B.Guo,and H.-Y.Shum:TextureMontage.ACM Transactions on Graphics,2005,24(3):1148–1155.,Y.Tzur,and A.Tal:Flexistickers:Photogrammetric texture mapping using casualimages.ACM Transactions on Graphics,2009,28(3).),提供了半自动的工具允许用户在模型面片和图像区域之间指定匹配点,从而将纹理图像贴至三维模型表面上。与这些交互工具不同,我们的方法能够全自动地为三维模型的面片选取合适的纹理贴图区域,无需繁琐的用户交互。
发明内容
本发明的目的在于针对现有技术的不足,提供一种面向复杂三维场景的高质量纹理映射方法。
它的步骤如下:
1.对三维模型中的每个面片选择最佳的纹理图像,从而实现纹理映射的整体最优化;
2.对纹理数据进行分块和有效区域裁剪,以最小化整体纹理数据;
3.对三维模型在视频序列中不可见部分进行修补,创建新的纹理;
4.对纹理图像的颜色进行调整,从而消除来自不同纹理图像帧的纹理色差,实现三维模型的无缝隙纹理映射。
所述的纹理映射最优化具体为:
对于每个面片Fi,从输入图像序列I={It|t=1,…,n}中寻找一幅最优的纹理图像Il(i),其帧号l(i)∈{1,…,n}视为关于i的标记函数,最优化的纹理映射结果即为所有面片最优纹理帧标记的集合L={l(i)|i=1,…,m},由此,将纹理映射最优化问题转化为求解L标记问题,求解L标记问题的两方面目标分别是选择纹理映射信息最丰富的纹理图像和保证来自不同纹理图像的相邻面片之间的纹理缝隙颜色一致性,求解L标记问题的能量方程表示如下:
其中N(Fi)表示与Fi相邻的面片集合;数据项Ed衡量纹理图像Il(i)在面片Fi上映射的纹理信息丰富程度,平滑项Es衡量模型表面不同纹理图像缝隙的颜色一致性,求解L标记问题为典型的马尔科夫随机场问题,采用相应的优化算法对其进行求解;
对于面片数目较多的大场景模型,输入帧数过多会导致候选标记数目过多而导致内存过大,在求解过程中采用标记压缩法。
所述的选择纹理映射信息最丰富的纹理图像从以下两个标准进行衡量:①面片映射纹理图像的分辨率,用面片到纹理图像摄像机位置的距离来衡量;②纹理图像视线方向与面片法向一致性,结合上述两个标准,Ed可以按照以下公式定义:
d(Vi k,l(i))是关于顶点Vi k到纹理图像摄像机位置距离的函数,用来衡量面片映射纹理图像的分辨率,其定义如下:
其中,Pl(i)(Vi k)表示Vi k在第l(i)帧摄像机坐标系下的坐标,pl(i)(Vi k)表示该帧上的二维投影坐标,函数z(·)表示取三维点的z轴坐标,即z(Pl(i)(Vi k))越近,纹理映射的分辨率越高,d(Vi k,l(i))越大,对d(Vi k,l(i))的定义引入遮挡的判断:如果z(Pl(i)(Vi k))比预知的投影位置pl(i)(Vi k)的深度值更远,判定Vi k在该帧被遮挡,该帧的纹理图像对于Vi k无效,因此d(Vi k,l(i))默认为0,如此设定即可排除无效的纹理信息的影响;
a(Vi k,l(i))是关于面片法向与纹理图像视线方向夹角的函数,其定义如下:
其中,<·|·>表示两个法向的点积,N(Fi)表示Fi三个顶点的一环邻域所包含的面片集合,表示由Vi k出发指向第l(i)帧摄像机光心坐标-Rl(i)Tl(i)的方向向量,称之为该顶点的视线方向如果该顶点视线方向与的夹角大于90°,则顶点Vi k在该视角下被遮挡不可见,该帧的纹理图像对于Vi k无效,因此a(Vi k,l(i))默认为0,同样可以避免无效纹理信息的影响,利用面片邻域的表面法向平均值替代该面片的真实法向平均法向在邻域范围内具有一致性,因而可以避免由于模型不精确导致的表面法向不规整所产生的影响。
所述的平滑项Es衡量模型表面不同纹理图像缝隙的颜色一致性具体为:Es定义如下:
其中表示Fi和Fj的公共边,r表示边投影的采样点数,仅当两个相邻面片映射自同一幅纹理图像时Es为0,从而鼓励相邻的面片尽可能映射自相同的纹理图像,减少纹理缝隙的出现,对于处在纹理缝隙上的相邻面片,Es衡量其公共边在各自纹理图像上的投影颜色差异,在公共边的投影位置均匀采样r个点进行颜色比较。
所述标记压缩法具体为:对每个面片的候选帧仅考虑数据项Ed最小的部分纹理帧,然后在压缩后的帧范围内用能量优化算法进行求解。
所述的纹理数据精简化具体为:
首先对三维模型上的面片进行分块,使得每一块包含所有相邻的并且纹理映射图像相同的面片,为此构造一个无向无权图G=<v,ε>,v中的每个顶点代表一个面片,ε的每条边连接相邻的并且映射自同一帧纹理图像的面片对,然后,寻找G中的所有连通分量C={Ci|i=1,…,q},每个连通分量Ci中包含的面片是相连接的整体,并且映射自同一幅纹理图像f(i),将Ci包含的面片集合投影至相应的纹理图像If(i)上,计算所有面片投影的包围盒区域Bi,将包围盒所在的纹理图像块If(i)(Bi)作为Ci纹理映射的有效数据单元,称之为“纹理块”,同时依据Bi的坐标位置重新计算所有面片的纹理坐标,所有连通分量对应的纹理块集合{If(i)(Bi)|i=1,…,q}即为精简的纹理数据。
所述的不可见纹理的修复包括以下步骤:获得某个不可见区域Ω中面片法向的平均值将该不可见区域Ω周围以面片为单位的多层环邻域的纹理颜色正交投影到与垂直的平面上获得一张正投纹理图;迭代地扩散填补正投纹理图中空洞区域的边界像素点颜色,对于每一个空洞边界上的像素点p,利用以p为中心的邻域窗口内已知像素点颜色的平均值对其进行填补,直到空洞区域的所有像素点都被填补完毕;
将该纹理图作为新的纹理块加入模型的纹理块集合中,并计算Ω中面片的纹理坐标。
所述的纹理边界无缝融合具体为:
纹理边界无缝隙融合问题通过求解一组带约束的泊松方程组来解决,该方程组求解纹理块集合{If(i)(Bi)|i=1,…,q}中包含的所有像素点的颜色,每个像素点的颜色对应一个变量,对RGB三个通道独立求解,方程组包括以下三部分方程式:
①对于任意一个纹理块中的每个像素点x∈If(i)(Bi),有:
其中是待求解的x点颜色变量,约束其与源图像的颜色If(i)(x)接近,ws是一个权重值;
②对于任意一个纹理块中的每个像素点x∈If(i)(Bi),有:
其中N(x)表示x的四邻域像素点集合,仅在包围盒Bi范围内的有效;这部分方程式约束x点颜色变量的拉普拉斯梯度和源图像保持一致;
③任意一对在三维模型上相邻的纹理块If(i)(Bi)和If(j)(Bj),将If(i)(Bi)和If(j)(Bj)相邻纹理边界中的每一条边投影到两幅纹理图像If(i)和If(j)上,并对二维投影边均匀采样r个点;对于每一对采样点有:
其中k∈{1,…,r};这部分方程式约束纹理边界两侧的颜色变量保持一致;
由于以上方程组是方程数大于变量数的过约束的稀疏线性系统,计算其最小二乘解,
将求解颜色写回到相应的纹理块中,即获得纹理边界无缝融合的效果。
所述的求解带约束的泊松方程时,对于长序列的大数据纹理图像,稀疏线性方程组的规模会很大,求解方程容易造成内存溢出,对于大纹理数据场景,无法一次性求解所有的纹理块,需要对纹理块集合进行分批求解,为此,对纹理融合算法进行改进,采用一种迭代融合的策略,每次迭代选取若干个纹理块用上述方法进行融合求解,并将求解完成的纹理块标记为“已求解”,在下一次迭代过程中,用“已求解”的纹理块颜色作为除了上述三类约束条件之外的附加约条件:如果待求解的纹理块If(i)(Bi)的某个相邻纹理块If(j)(Bj)标记为“已求解”,则将其相邻纹理边界中的每一条边投影到两幅纹理图像If(i)和If(j)上,并在二维投影边上均匀采样r个点;对于每一对采样点有以下方程式:
是待求解的颜色变量,表示修改后的第f(j)帧的纹理颜色,如此便约束了纹理边界一侧待求解的颜色变量和另一侧已求解的颜色常值保持一致,以保证每次迭代求解的颜色结果可以融合到接下来的迭代运算中,按照广度优先顺序遍历选取纹理块作为每次迭代的求解对象,以保证下一次迭代选取的纹理块和当前迭代选取的纹理块有相邻,从而保证求解结果能够不断地传递扩散遍整个三维模型,保证整体模型纹理边界实现无缝隙融合;最后用网格参数化方法将融合后的所有纹理块信息展开至一幅完整的纹理图像上,并重新计算三维模型面片的纹理坐标。
本发明的有益效果是:
1.现有的纹理映射方法对于自遮挡结构的纹理贴图存在多义性,而我们的方法能够利用深度信息来有效地处理自遮挡,因此适用于结构复杂的三维模型的纹理贴图。
2.由于内存的限制,现有的大多数方法仅能够处理结构简单的小规模三维模型,缺乏一种面向大尺度复杂三维场景的纹理映射方法,而我们的方法通过迭代求解来分片处理模型的纹理,因此适用于大尺度场景三维模型的纹理贴图应用。
附图说明
图1是面向复杂三维场景的高质量纹理映射系统框架;
图2是大规模场景“Dionysus”歌剧院遗址实例的纹理映射结果,(a)输入视频以及深度图序列;(b)输入场景三维模型;(c)纹理贴图结果;(d)图(b-c)矩形框部分的局部放大图。
具体实施方式
本发明设计一种面向复杂三维场景的高质量纹理映射方法,该方法较之于现有的三维场景纹理映射方法进行了如下改进:1)利用深度信息来有效地处理自遮挡,因此适用于结构复杂的三维模型的纹理贴图;2)通过迭代求解来分片处理模型的纹理,因此适用于大尺度场景三维模型的纹理贴图应用。
给定一段包含n帧的自然场景图像序列I={It|t=1,…,n}以及视频每帧对应摄像机参数和深度图,如果没有输入深度图话,可以根据摄像机参数和三维模型自动生成深度图,同时输入该场景的三维几何模型M={Fi|i=1,…,m}(其中m为模型中三角面片的总数,Fi为第i个三角面片,包含三个顶点{Vi k|k=1,2,3},顶点的位置与该序列场景世界坐标系对齐),我们的目标是为场景模型恢复完整的真实感纹理贴图以及纹理坐标数据。视频第t帧的摄像机参数表示为Ct={Kt,Rt,Tt},其中Kt为内参,Rt为旋转矩阵,Tt为平移向量,第t帧的深度图表示为Dt。我们分别用It(x)和Dt(x)=1/Zt(x)来表示第t帧的像素点x相应的颜色和视差(即深度的倒数)。
本发明的实施步骤如下:
1.纹理映射最优化,对于每个面片Fi,从输入图像序列I={It|t=1,…,n}中寻找一幅最优的纹理图像Il(i),其帧号l(i)∈{1,…,n}可视为关于i的标记函数。最优化的纹理映射结果即为所有面片最优纹理帧标记的集合L={l(i)|i=1,…,m}。由此,我们将纹理映射最优化问题转化为求解L标记问题。此标记问题的两方面目标分别是选择纹理映射信息最丰富的纹理图像和保证来自不同纹理图像的相邻面片之间的纹理缝隙颜色一致性。我们的能量方程表示如下:
其中N(Fi)表示与Fi相邻的面片集合;数据项Ed衡量纹理图像Il(i)在面片Fi上映射的纹理信息丰富程度,平滑项Es衡量模型表面不同纹理图像缝隙的颜色一致性。该步骤通过以下子步骤来实现:
1.1.衡量纹理信息的丰富程度,我们从以下两个标准进行衡量:①面片映射纹理图像的分辨率(可以用面片到纹理图像摄像机位置的距离来衡量)②纹理图像视线方向与面片法向一致性(正视角度的纹理信息最丰富)。结合上述两方面标准,Ed可以按照以下公式定义:
d(Vi k,l(i))是关于顶点Vi k到纹理图像摄像机位置距离的函数,用来衡量面片映射纹理图像的分辨率,其定义如下:
其中,Pl(i)(Vi k)表示Vi k在第l(i)帧摄像机坐标系下的坐标,pl(i)(Vi k)表示该帧上的二维投影坐标,函数z(·)表示取三维点的z轴坐标。可以看到,z(Pl(i)(Vi k))越近(纹理映射的分辨率越高),d(Vi k,l(i))越大。我们对d(Vi k,l(i))的定义引入了遮挡的判断:如果z(Pl(i)(Vi k))比预知的投影位置pl(i)(Vi k)的深度值更远,可以判定Vi k在该帧被遮挡,该帧的纹理图像对于Vi k无效,因此d(Vi k,l(i))默认为0。如此设定可以排除无效的纹理信息的影响。
a(Vi k,l(i))是关于面片法向与纹理图像视线方向夹角的函数,其定义如下:
其中,<·|·>表示两个法向的点积,N(Fi)表示Fi三个顶点的一环邻域所包含的面片集合。
表示由Vi k出发指向第l(i)帧摄像机光心坐标-Rl(i)Tl(i)的方向向量,称之为该顶点的视线方向,如果该顶点视线方向与的夹角大于90°,则顶点Vi k在该视角下被遮挡不可见(通常处于三维模型的背面),该帧的纹理图像对于Vi k无效,因此a(Vi k,l(i))默认为0,同样可以避免无效纹理信息的影响。值得注意的是,这里我们利用面片邻域的表面法向平均值来替代该面片的真实法向平均法向在邻域范围内具有一致性,因而可以避免由于模型不精确导致的表面法向不规整所产生的影响。
1.2.用Es统计相邻面片边缘的纹理颜色一致性,从而保证无缝隙的纹理拼接。其定义如下:
其中表示Fi和Fj的公共边,r表示边投影的采样点数。可以看到,仅当两个相邻面片映射自同一幅纹理图像时Es为0,从而鼓励相邻的面片尽可能映射自相同的纹理图像,减少纹理缝隙的出现。对于处在纹理缝隙上的相邻面片,Es衡量其公共边在各自纹理图像上的投影颜色差异(在公共边的投影位置均匀采样r个点进行颜色比较),从而保证纹理缝隙处的颜色尽可能一致,实现最大程度的无缝纹理拼接。
1.3.可以用Graph Cuts算法以及Belief propagation算法求解上述能量方程。对于面片数目较多的大场景模型,输入纹理帧数过多会导致候选标记数目过多从而导致内存过大。为解决此问题,我们在求解过程中采用了标记压缩法,对于每个面片仅考虑数据项最小的几个纹理帧,我们系统里设置为5,这样便可在内存允许的情况下获得近似的最优标记结果。
2.纹理数据精简化,三维模型并没有利用每帧纹理图像的全部数据,而是仅仅映射了一些局部区域,因此我们可以对纹理图像进行裁剪,只保留有效区域的数据,同时更新面片的纹理坐标,便能够在不影响纹理映射结果的前提下对纹理数据进行精简化。首先对三维模型上的面片进行分块,使得每一块包含所有相邻的并且纹理映射图像相同的面片。为此我们构造一个无向无权图G=<v,ε>,v中的每个顶点代表一个面片,ε的每条边连接相邻的并且映射自同一帧纹理图像的面片对。然后,我们寻找G中的所有连通分量C={Ci|i=1,…,q},每个连通分量Ci中包含的面片是相连接的整体,并且映射自同一幅纹理图像f(i)。我们将Ci包含的面片集合投影至相应的纹理图像If(i)上,计算所有面片投影的包围盒区域Bi,将包围盒所在的纹理图像块If(i)(Bi)作为Ci纹理映射的有效数据单元,我们称之为“纹理块”,同时依据Bi的坐标位置重新计算所有面片的纹理坐标。所有连通分量对应的纹理块集合{If(i)(Bi)|i=1,…,q}即为精简的纹理数据。
3.不可见纹理的修复,对于模型中某个不可见区域Ω,首先获得Ω中面片法向的平均值然后,将Ω邻域(Ω中面片顶点的一环邻域)的纹理颜色正交投影到与垂直的平面上获得一张正投纹理图;接下来,迭代地扩散填补正投纹理图中空洞区域的边界像素点颜色,对于每一个空洞边界上的像素点p,利用以p为中心3×3窗口内已知像素点颜色的平均值对其进行填补,直到空洞区域的所有像素点都被填补完毕;最后将该纹理图作为新的纹理块加入模型的纹理快集合中,并计算Ω中面片的纹理坐标。
4.纹理边界无缝隙融合,由于光照变化、拍摄角度的不同、表面高光和阴影等多种因素的影响,模型的局部区域在多个纹理块图像中的颜色可能会不一致。尽管纹理映射优化过程中的平滑项尽可能地保持纹理边界的颜色一致性,然而映射到三维模型上的纹理边界不可避免地会存在一些色差缝隙。因此,还需要对精简后的纹理块颜色进行调整以消除这些缝隙,即对纹理边界的颜色进行无缝隙融合。
纹理边界融合需要满足三方面条件:①只是做微小的调整,调整后的纹理块颜色尽可能和源图像的颜色一致,不要有太大的变动;②调整后的纹理颜色梯度和源图像的颜色梯度尽可能一致;③调整后的纹理块在相邻的面片边界上尽可能保持颜色一致。类似于文献(Perez,M.Gangnet,and A.Blake:Poisson image editing.ACM Transactions onGraphics,2003,22(3):313–318)上述条件下的纹理边界无缝隙融合问题可以通过求解一组带约束的泊松方程组来解决。该方程组求解纹理块集合{If(i)(Bi)|i=1,…,q}中包含的所有像素点的颜色,每个像素点的颜色对应一个变量(我们对RGB三个通道独立求解)。方程组包括以下三部分方程式,分别对应上述三方面条件:
①对于任意一个纹理块中的每个像素点x∈If(i)(Bi),我们有:
其中是待求解的x点颜色变量,约束其与源图像的颜色If(i)(x)接近,ws是一个权重值(在实验中取0.01,表示第一类条件仅起到很小的约束作用)。
②对于任意一个纹理块中的每个像素点x∈If(i)(Bi),我们有:
其中N(x)表示x的四邻域像素点集合(仅在包围盒Bi范围内的有效);这部分方程式约束x点颜色变量的拉普拉斯梯度和源图像保持一致。
③任意一对在三维模型上相邻的纹理块If(i)(Bi)和If(j)(Bj)(相应的面片集合存在相邻关系),将If(i)(Bi)和If(j)(Bj)相邻纹理边界中的每一条边投影到两幅纹理图像If(i)和If(j)上,并对二维投影边均匀采样r个点;对于每一对采样点有:
其中k∈{1,…,r};这部分方程式约束纹理边界两侧的颜色变量保持一致。
由于以上方程组是过约束的稀疏线性方程组(方程数大于变量数),可以用多种求解稀疏线性系统的方法如LLt分解(LLt factorization),LDLt分解(LDLtfactorization),共轭梯度法(ConjugateGradient),稳固bi-共轭梯度(stabilized bi-conjugate gradient),LU分解(LU factorization),QR分解(QR factorization)等计算其最小二乘解,我们系统中使用共轭梯度法.
并将求解获得的颜色写回相应的纹理块中,便可获得纹理边界无缝融合的效果。
对于长序列的大数据纹理图像,稀疏线性方程组的规模会很大,求解方程容易造成内存溢出。对于大纹理数据场景,无法一次性求解所有的纹理块,需要对纹理块集合进行分批求解,每次求解纹理块的像素点总数可以根据当前空闲内存大小进行设置。为此,我们对纹理融合算法进行改进,采用一种迭代融合的策略。每次迭代选取若干个纹理块用上述方法进行融合求解,并将求解完成的纹理块标记为“已求解”。在下一次迭代过程中,用“已求解”的纹理块颜色作为除了上述三类约束条件之外的附加约条件:如果待求解的纹理块If(i)(Bi)的某个相邻纹理块If(j)(Bj)标记为“已求解”,则我们将其相邻纹理边界中的每一条边投影到两幅纹理图像If(i)和If(j)上,并在二维投影边上均匀采样r个点;对于每一对采样点我们有以下方程式:
其中表示修改后的第f(j)帧的纹理颜色。如此便可约束纹理边界一侧带求解的颜色变量和另一侧已求解的颜色常值保持一致,以保证每次迭代求解的颜色结果可以融合到接下来的迭代运算中。我们按照广度优先顺序遍历选取纹理块作为每次迭代的求解对象,以保证下一次迭代选取的纹理块和当前迭代选取的纹理块有相邻,从而保证求解结果能够不断地传递扩散遍整个三维模型,保证整体模型纹理边界实现无缝隙融合。
最后,我们用周昆等人提出的网格参数化方法(Kun Zhou,John Synder,BainingGuo,and Heung-Yeung Shum:Iso-charts:Stretch-driven Mesh Parameterizationusing Spectral Analysis.In proceedings of the 2004Eurographics/ACM SIGGRAPHsymposium on Geometry processing,2004:45–54.)(该算法已经在Direct3D 9中实现)将融合后的所有纹理块信息展开至一幅完整的纹理图像上,并重新计算面片的纹理坐标。
实施例
针对大规模场景“Dionysus”歌剧院遗址的输入视频序列以及深度图序列和对应的三维模型(如图2),使用本专利所提出的方法能精确地还原场景模型的完整纹理贴图以及局部的纹理细节。
如图1所示,实施步骤如下:
1.纹理映射最优化,对于每个面片Fi,从输入图像序列I={It|t=1,…,n}中寻找一幅最优的纹理图像Il(i),其帧号l(i)∈{1,…,n}可视为关于i的标记函数。最优化的纹理映射结果即为所有面片最优纹理帧标记的集合L={l(i)|i=1,…,m}。由此,我们将纹理映射最优化问题转化为求解L标记问题。此标记问题的两方面目标分别是选择纹理映射信息最丰富的纹理图像和保证来自不同纹理图像的相邻面片之间的纹理缝隙颜色一致性。我们的能量方程表示如下:
其中N(Fi)表示与Fi相邻的面片集合;数据项Ed衡量纹理图像Il(i)在面片Fi上映射的纹理信息丰富程度,平滑项Es衡量模型表面不同纹理图像缝隙的颜色一致性。该步骤通过以下子步骤来实现:
1.1.衡量纹理信息的丰富程度,我们从以下两个标准进行衡量:①面片映射纹理图像的分辨率(可以用面片到纹理图像摄像机位置的距离来衡量)②纹理图像视线方向与面片法向一致性(正视角度的纹理信息最丰富)。结合上述两方面标准,Ed可以按照以下公式定义:
d(Vi k,l(i))是关于顶点Vi k到纹理图像摄像机位置距离的函数,用来衡量面片映射纹理图像的分辨率,其定义如下:
其中,Pl(i)(Vi k)表示Vi k在第l(i)帧摄像机坐标系下的坐标,pl(i)(Vi k)表示该帧上的二维投影坐标,函数z(·)表示取三维点的z轴坐标。可以看到,z(Pl(i)(Vi k))越近(纹理映射的分辨率越高),d(Vi k,l(i))越大。我们对d(Vi k,l(i))的定义引入了遮挡的判断:如果z(Pl(i)(Vi k))比预知的投影位置pl(i)(Vi k)的深度值更远,可以判定Vi k在该帧被遮挡,该帧的纹理图像对于Vi k无效,因此d(Vi k,l(i))默认为0。如此设定可以排除无效的纹理信息的影响。
a(Vi k,l(i))是关于面片法向与纹理图像视线方向夹角的函数,其定义如下:
其中,<·|·>表示两个法向的点积,N(Fi)表示Fi三个顶点的一环邻域所包含的面片集合。如果该帧摄像机视线方向与的夹角大于90°,则面片Fi在该视角下被遮挡不可见(通常处于三维模型的背面),该帧的纹理图像对于Vi k无效,因此a(Vi k,l(i))默认为0,同样可以避免无效纹理信息的影响。值得注意的是,这里我们利用面片邻域的表面法向平均值来替代该面片的真实法向平均法向在邻域范围内具有一致性,因而可以避免表面法向不规整所产生的影响。
1.2.用Es统计相邻面片边缘的纹理颜色一致性,从而保证无缝隙的纹理拼接。其定义如下:
其中表示Fi和Fj的公共边,r表示边投影的采样点数。可以看到,仅当两个相邻面片映射自同一幅纹理图像时Es为0,从而鼓励相邻的面片尽可能映射自相同的纹理图像,减少纹理缝隙的出现。对于处在纹理缝隙上的相邻面片,Es衡量其公共边在各自纹理图像上的投影颜色差异(在公共边的投影位置均匀采样r个点进行颜色比较),从而保证纹理缝隙处的颜色尽可能一致,实现最大程度的无缝纹理拼接。
1.3.用Graph Cuts算法(A.Delong,A.Osokin,H.N.Isack,and Y.Boykov:FastApproximate Energy Minimization with Label Costs.International Journal ofComputer Vision,2012,96(1):1-27.)求解能量方程最小化。对于面片数目较多的大场景模型,输入纹理帧数过多会导致候选标记数目过多从而导致内存过大。为解决此问题,我们在求解过程中采用了标记压缩法,对于每个面片仅考虑数据项最小的5个纹理帧,GraphCuts算法则在压缩后的纹理帧标记范围内求解,这样便可在内存允许的情况下获得近似的最优标记结果。
2.纹理数据精简化,三维模型并没有利用每帧纹理图像的全部数据,而是仅仅映射了一些局部区域,因此我们可以对纹理图像进行裁剪,只保留有效区域的数据,同时更新面片的纹理坐标,便能够在不影响纹理映射结果的前提下对纹理数据进行精简化。首先对三维模型上的面片进行分块,使得每一块包含所有相邻的并且纹理映射图像相同的面片。为此我们构造一个无向无权图G=<v,ε>,v中的每个顶点代表一个面片,ε的每条边连接相邻的并且映射自同一帧纹理图像的面片对。然后,我们寻找G中的所有连通分量C={Ci|i=1,…,q},每个连通分量Ci中包含的面片是相连接的整体,并且映射自同一幅纹理图像f(i)。我们将Ci包含的面片集合投影至相应的纹理图像If(i)上,计算所有面片投影的包围盒区域Bi,将包围盒所在的纹理图像块If(i)(Bi)作为Ci纹理映射的有效数据单元,我们称之为“纹理块”,同时依据Bi的坐标位置重新计算所有面片的纹理坐标。所有连通分量对应的纹理块集合{If(i)(Bi)|i=1,…,q}即为精简的纹理数据。
3.不可见纹理的修复,对于模型中某个不可见区域Ω,首先获得Ω中面片法向的平均值然后,将Ω邻域(Ω中面片顶点的一环邻域)的纹理颜色正交投影到与垂直的平面上获得一张正投纹理图;接下来,迭代地扩散填补正投纹理图中空洞区域的边界像素点颜色,对于每一个空洞边界上的像素点p,利用以p为中心3×3窗口内已知像素点颜色的平均值对其进行填补,直到空洞区域的所有像素点都被填补完毕;最后将该纹理图作为新的纹理块加入模型的纹理快集合中,并计算Ω中面片的纹理坐标。
4.纹理边界无缝隙融合,由于光照变化、拍摄角度的不同、表面高光和阴影等多种因素的影响,模型的局部区域在多个纹理块图像中的颜色可能会不一致。尽管纹理映射优化过程中的平滑项尽可能地保持纹理边界的颜色一致性,然而映射到三维模型上的纹理边界不可避免地会存在一些色差缝隙。因此,还需要对精简后的纹理块颜色进行调整以消除这些缝隙,即对纹理边界的颜色进行无缝隙融合。
纹理边界融合需要满足三方面条件:①只是做微小的调整,调整后的纹理块颜色尽可能和源图像的颜色一致,不要有太大的变动;②调整后的纹理颜色梯度和源图像的颜色梯度尽可能一致;③调整后的纹理块在相邻的面片边界上尽可能保持颜色一致。类似于文献(Perez,M.Gangnet,and A.Blake:Poisson image editing.ACM Transactions onGraphics,2003,22(3):313–318)上述条件下的纹理边界无缝隙融合问题可以通过求解一组带约束的泊松方程组来解决。该方程组求解纹理块集合{If(i)(Bi)|i=1,…,q}中包含的所有像素点的颜色,每个像素点的颜色对应一个变量(我们对RGB三个通道独立求解)。方程组包括以下三部分方程式,分别对应上述三方面条件:
①对于任意一个纹理块中的每个像素点x∈If(i)(Bi),有:
其中是待求解的x点颜色变量,约束其与源图像的颜色If(i)(x)接近,ws是一个权重值(在实验中取0.01,表示第一类条件仅起到很小的约束作用)。
②对于任意一个纹理块中的每个像素点x∈If(i)(Bi),有其中N(x)表示x的四邻域像素点集合(仅在包围盒Bi范围内的有效);这部分方程式约束x点颜色变量的拉普拉斯梯度和源图像保持一致。
③任意一对在三维模型上相邻的纹理块If(i)(Bi)和If(j)(Bj)(相应的面片集合存在相邻关系),将If(i)(Bi)和If(j)(Bj)相邻纹理边界中的每一条边投影到两幅纹理图像If(i)和If(j)上,并对二维投影边均匀采样r个点;对于每一对采样点我们有:
其中k∈{1,…,r};这部分方程式约束纹理边界两侧的颜色变量保持一致。
由于以上方程组是过约束的稀疏线性方程组(方程数大于变量数),用共轭梯度法对其进行求解,并将求解获得的颜色写回相应的纹理块中,便可获得纹理边界无缝融合的效果。
对于长序列的大数据纹理图像,稀疏线性方程组的规模会很大,求解方程容易造成内存溢出。对于大纹理数据场景,无法一次性求解所有的纹理块,需要对纹理块集合进行分批求解,每次求解纹理块的像素点总数不超过10,000,000。为此,我们对纹理融合算法进行改进,采用一种迭代融合的策略。每次迭代选取若干个纹理块用上述方法进行融合求解,并将求解完成的纹理块标记为“已求解”。在下一次迭代过程中,用“已求解”的纹理块颜色作为除了上述三类约束条件之外的附加约条件:如果待求解的纹理块If(i)(Bi)的某个相邻纹理块If(j)(Bj)标记为“已求解”,则我们将其相邻纹理边界中的每一条边投影到两幅纹理图像If(i)和If(j)上,并在二维投影边上均匀采样r个点;对于每一对采样点我们有以下方程式:
其中表示修改后的第f(j)帧的纹理颜色。如此便可约束纹理边界一侧带求解的颜色变量和另一侧已求解的颜色常值保持一致,以保证每次迭代求解的颜色结果可以融合到接下来的迭代运算中。我们按照广度优先顺序遍历选取纹理块作为每次迭代的求解对象,以保证下一次迭代选取的纹理块和当前迭代选取的纹理块有相邻,从而保证求解结果能够不断地传递扩散遍整个三维模型,保证整体模型纹理边界实现无缝隙融合。
迭代融合的算法伪代码如算法1所示。该算法的时间瓶颈在于线性方程组的共轭梯度求解环节,其时间复杂度为其中为需要迭代融合的纹理块像素点数总和。
最后,我们用周昆等人提出的网格参数化方法(Kun Zhou,John Synder,BainingGuo,and Heung-Yeung Shum:Iso-charts:Stretch-driven Mesh Parameterizationusing Spectral Analysis.In proceedings of the 2004Eurographics/ACM SIGGRAPHsymposium on Geometry processing,2004:45–54.)(该算法已经在Direct3D 9中实现)将融合后的所有纹理块信息展开至一幅完整的纹理图像上,并重新计算面片的纹理坐标。
对于该实施例,本专利方法获得的纹理映射结果如图2所示,对于这种复杂大规模三维场景实现了很好的纹理贴图效果。本专利的方法对于各类复杂的自然场景模型均能够实现高质量的完整纹理映射,这是现有多视图纹理映射方法较难做到的。

Claims (8)

1.一种三维场景的高质量纹理映射方法,其特征在于所述方法包括如下步骤:
1)纹理映射最优化
对三维模型中的每个面片选择最佳的纹理图像,从而实现纹理映射的整体最优化;
所述的纹理映射最优化具体为:
对于每个面片Fi,从输入图像序列I={It|t=1,…,n}中寻找一幅最优的纹理图像Il(i),其帧号l(i)∈{1,…,n}视为关于i的标记函数,最优化的纹理映射结果即为所有面片最优纹理帧标记的集合L={l(i)|i=1,…,m},由此,将纹理映射最优化问题转化为求解L标记问题,求解L标记问题的两方面目标分别是选择纹理映射信息最丰富的纹理图像和保证来自不同纹理图像的相邻面片之间的纹理缝隙颜色一致性,求解L标记问题的能量方程表示如下:
E ( L ) = &Sigma; i = 1 m ( E d ( l ( i ) ) + &Sigma; F j &Element; N ( F i ) E s ( l ( i ) , l ( j ) ) ) ,
其中N(Fi)表示与Fi相邻的面片集合;数据项Ed衡量纹理图像Il(i)在面片Fi上映射的纹理信息丰富程度,平滑项Es衡量模型表面不同纹理图像缝隙的颜色一致性,求解L标记问题为典型的马尔科夫随机场问题,采用相应的优化算法对其进行求解;
对于面片数目较多的大场景模型,输入帧数过多会导致候选标记数目过多而导致内存过大,在求解过程中采用标记压缩法;
2)纹理数据精简化
对纹理数据进行分块和有效区域裁剪,以最小化整体纹理数据;
3)不可见纹理修复
对三维模型在视频序列中不可见部分进行修补,创建新的纹理;
4)纹理边界无缝融合
对纹理图像的颜色进行调整,从而消除来自不同纹理图像帧的纹理色差,实现三维模型的无缝隙纹理映射。
2.如权利要求1所述方法,其特征在于所述的选择纹理映射信息最丰富的纹理图像从以下两个标准进行衡量:①面片映射纹理图像的分辨率,用面片到纹理图像摄像机位置的距离来衡量;②纹理图像视线方向与面片法向一致性,结合上述两个标准,Ed可以按照以下公式定义:
E d ( l ( i ) ) = - &Sigma; k = 1 3 d ( V i k , l ( i ) ) a ( V i k , l ( i ) ) ,
d(Vi k,l(i))是关于顶点Vi k到纹理图像摄像机位置距离的函数,用来衡量面片映射纹理图像的分辨率,其定义如下:
d ( V i k , l ( i ) ) = 1 z ( P l ( i ) ( V i k ) ) &delta; d + 1 z ( P l ( i ) ( V i k ) ) &le; Z l ( i ) ( p l ( i ) ( V i k ) ) 0 z ( P l ( i ) ( V i k ) ) > Z l ( i ) ( p l ( i ) ( V i k ) ) ,
其中,Pl(i)(Vi k)表示Vi k在第l(i)帧摄像机坐标系下的坐标,pl(i)(Vi k)表示Vi k在该帧上的二维投影坐标,函数z(·)表示取三维点的z轴坐标,z(Pl(i)(Vi k))表示Pl(i)(Vi k)的z轴坐标;Zl(i)(pl(i)(Vi k))表示第l(i)帧深度图上的像素点pl(i)(Vi k)的深度值;即z(Pl(i)(Vi k))越近,纹理映射的分辨率越高,d(Vi k,l(i))越大,对d(Vi k,l(i))的定义引入遮挡的判断:如果z(Pl(i)(Vi k))比预知的投影位置pl(i)(Vi k)的深度值更远,判定Vi k在该帧被遮挡,该帧的纹理图像对于Vi k无效,因此d(Vi k,l(i))默认为0,如此设定即可排除无效的纹理信息的影响;
a(Vi k,l(i))是关于面片法向与纹理图像视线方向夹角的函数,其定义如下:
其中,<·|·>表示两个法向的点积,N(Fi)表示Fi三个顶点的一环邻域所包含的面片集合,表示由Vi k出发指向第l(i)帧摄像机光心坐标-Rl(i)Tl(i)的方向向量,称之为该顶点的视线方向,如果该顶点视线方向与的夹角大于90°,则顶点Vi k在该视角下被遮挡不可见,该帧的纹理图像对于Vi k无效,因此a(Vi k,l(i))默认为0,同样可以避免无效纹理信息的影响,利用面片邻域的表面法向平均值替代该面片的真实法向平均法向在邻域范围内具有一致性,因而可以避免由于模型不精确导致的表面法向不规整所产生的影响。
3.如权利要求1所述方法,其特征在于所述的平滑项Es衡量模型表面不同纹理图像缝隙的颜色一致性具体为:Es定义如下:
E s ( l ( i ) , l ( j ) ) = &Sigma; k = 1 r | | I l ( i ) ( ( k - 1 ) p l ( i ) ( V i j 1 ) + ( r - k ) p l ( i ) ( V i j 2 ) r - 1 ) - I l ( j ) ( ( k - 1 ) p l ( j ) ( V i j 1 ) + ( r - k ) p l ( j ) ( V i j 2 ) r - 1 ) | | 2 l ( i ) &NotEqual; l ( j ) 0 l ( i ) = l ( j ) ,
其中k是从1到r的某个值,表示分别位于Fi和Fj面片上的两个相邻顶点,Fi和Fj表示相邻的两个面片,且Fi的纹理来自第l(i)帧图像,Fj的纹理来自第l(j)帧图像,r表示边投影的采样点数,仅当两个相邻面片映射自同一幅纹理图像时Es为0,从而鼓励相邻的面片尽可能映射自相同的纹理图像,减少纹理缝隙的出现,对于处在纹理缝隙上的相邻面片,Es衡量其公共边在各自纹理图像上的投影颜色差异,在公共边的投影位置均匀采样r个点进行颜色比较。
4.如权利要求1所述方法,其特征在于所述标记压缩法具体为:对每个面片的候选帧仅考虑数据项Ed最小的部分纹理帧,然后在压缩后的帧范围内用能量优化算法进行求解。
5.如权利要求1所述方法,其特征在于所述的纹理数据精简化具体为:
首先对三维模型上的面片进行分块,使得每一块包含所有相邻的并且纹理映射图像相同的面片,为此构造一个无向无权图 中的每个顶点代表一个面片,ε的每条边连接相邻的并且映射自同一帧纹理图像的面片对,然后,寻找G中的所有连通分量每个连通分量中包含的面片是相连接的整体,并且映射自同一幅纹理图像f(i),将包含的面片集合投影至相应的纹理图像If(i)上,计算所有面片投影的包围盒区域Bi,将包围盒所在的纹理图像块If(i)(Bi)作为纹理映射的有效数据单元,称之为“纹理块”,同时依据Bi的坐标位置重新计算所有面片的纹理坐标,所有连通分量对应的纹理块集合{If(i)(Bi)|i=1,…,q}即为精简的纹理数据。
6.如权利要求1所述方法,其特征在于所述的不可见纹理的修复包括以下步骤:
获得某个不可见区域Ω中面片法向的平均值
将该不可见区域Ω周围以面片为单位的多层环邻域的纹理颜色正交投影到与垂直的平面上获得一张正投纹理图;迭代地扩散填补正投纹理图中空洞区域的边界像素点颜色,对于每一个空洞边界上的像素点p,利用以p为中心的邻域窗口内已知像素点颜色的平均值对其进行填补,直到空洞区域的所有像素点都被填补完毕;
将该纹理图作为新的纹理块加入模型的纹理块集合中,并计算Ω中面片的纹理坐标。
7.如权利要求5所述方法,其特征在于所述的纹理边界无缝融合具体为:
纹理边界无缝融合问题通过求解一组带约束的泊松方程组来解决,该方程组求解纹理块集合{If(i)(Bi)|i=1,…,q}中包含的所有像素点的颜色,每个像素点的颜色对应一个变量,对RGB三个通道独立求解,方程组包括以下三部分方程式:
①对于任意一个纹理块中的每个像素点x∈If(i)(Bi),有:
w s I f ( i ) * ( x ) = w s I f ( i ) ( x ) ,
其中是待求解的x点颜色变量,约束其与源图像的颜色If(i)(x)接近,ws是一个权重值;
②对于任意一个纹理块中的每个像素点x∈If(i)(Bi),有:
| N ( x ) | I f ( i ) * ( x ) - &Sigma; y &Element; N ( x ) I f ( i ) * ( y ) = | N ( x ) | I f ( i ) ( x ) - &Sigma; y &Element; N ( x ) I f ( i ) ( y ) ,
其中N(x)表示x的四邻域像素点集合,仅在包围盒Bi范围内的有效;这部分方程式约束x点颜色变量的拉普拉斯梯度和源图像保持一致;
③任意一对在三维模型上相邻的纹理块If(i)(Bi)和If(j)(Bj),将If(i)(Bi)和If(j)(Bj)相邻纹理边界中的每一条边投影到两幅纹理图像If(i)和If(j)上,并对二维投影边均匀采样r个点;对于每一对采样点有:
其中k∈{1,…,r};这部分方程式约束纹理边界两侧的颜色变量保持一致;
由于以上方程组是方程数大于变量数的过约束的稀疏线性系统,计算其最小二乘解,
将求解颜色写回到相应的纹理块中,即获得纹理边界无缝融合的效果。
8.如权利要求7所述方法,其特征在于所述的求解带约束的泊松方程时,对于长序列的大数据纹理图像,稀疏线性方程组的规模会很大,求解方程容易造成内存溢出,对于大纹理数据场景,无法一次性求解所有的纹理块,需要对纹理块集合进行分批求解,为此,对纹理融合算法进行改进,采用一种迭代融合的策略,每次迭代选取若干个纹理块用上述方法进行融合求解,并将求解完成的纹理块标记为“已求解”,在下一次迭代过程中,用“已求解”的纹理块颜色作为除了所述三部分方程式约束之外附加约束条件:如果待求解的纹理块If(i)(Bi)的某个相邻纹理块If(j)(Bj)标记为“已求解”,则将其相邻纹理边界中的每一条边投影到两幅纹理图像If(i)和If(j)上,并在二维投影边上均匀采样r个点;对于每一对采样点有以下方程式:
I f ( i ) * ( ( k - 1 ) p f ( i ) ( V i j 1 ) + ( r - k ) p f ( i ) ( V i j 2 ) r - 1 ) = I ^ f ( i ) ( ( k - 1 ) p f ( j ) ( V i j 1 ) + ( r - k ) p f ( j ) ( V i j 2 ) r - 1 ) ,
是待求解的颜色变量,表示修改后的第f(j)帧的纹理颜色,如此便约束了纹理边界一侧待求解的颜色变量和另一侧已求解的颜色常值保持一致,以保证每次迭代求解的颜色结果可以融合到接下来的迭代运算中,按照广度优先顺序遍历选取纹理块作为每次迭代的求解对象,以保证下一次迭代选取的纹理块和当前迭代选取的纹理块有相邻,从而保证求解结果能够不断地传递扩散遍整个三维模型,保证整体模型纹理边界实现无缝隙融合;最后用网格参数化方法将融合后的所有纹理块信息展开至一幅完整的纹理图像上,并重新计算三维模型面片的纹理坐标。
CN201410799686.5A 2014-12-19 2014-12-19 一种针对复杂三维场景的高质量纹理映射方法 Active CN104574501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410799686.5A CN104574501B (zh) 2014-12-19 2014-12-19 一种针对复杂三维场景的高质量纹理映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410799686.5A CN104574501B (zh) 2014-12-19 2014-12-19 一种针对复杂三维场景的高质量纹理映射方法

Publications (2)

Publication Number Publication Date
CN104574501A CN104574501A (zh) 2015-04-29
CN104574501B true CN104574501B (zh) 2017-07-21

Family

ID=53090464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410799686.5A Active CN104574501B (zh) 2014-12-19 2014-12-19 一种针对复杂三维场景的高质量纹理映射方法

Country Status (1)

Country Link
CN (1) CN104574501B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105261064A (zh) * 2015-10-10 2016-01-20 浙江工业大学 基于计算机立体视觉的三维文物重建系统及其方法
CN105574922B (zh) * 2015-12-16 2019-04-30 浙江大学 一种鲁棒的三维模型高质量纹理映射方法
CN105550992B (zh) * 2015-12-30 2018-08-17 四川川大智胜软件股份有限公司 一种三维全脸照相机中高保真全脸纹理融合方法
US10249087B2 (en) * 2016-01-29 2019-04-02 Magic Leap, Inc. Orthogonal-projection-based texture atlas packing of three-dimensional meshes
CN107204033B (zh) * 2016-03-16 2019-01-08 腾讯科技(深圳)有限公司 图片的生成方法和装置
CN106384375A (zh) * 2016-08-31 2017-02-08 北京像素软件科技股份有限公司 电子游戏场景中的植被底部着色融合的方法及装置
US10453244B2 (en) * 2016-10-07 2019-10-22 Sony Corporation Multi-layer UV map based texture rendering for free-running FVV applications
CN108876931B (zh) * 2017-05-12 2021-04-16 腾讯科技(深圳)有限公司 三维物体颜色调整方法、装置、计算机设备及计算机可读存储介质
CN109658365B (zh) * 2017-10-11 2022-12-06 阿里巴巴(深圳)技术有限公司 图像处理方法、装置、系统和存储介质
CN108335352B (zh) * 2018-01-22 2020-05-19 华中科技大学 一种面向多视图大规模三维重建场景的纹理映射方法
CN110458932B (zh) * 2018-05-07 2023-08-22 阿里巴巴集团控股有限公司 图像处理方法、装置、系统、存储介质和图像扫描设备
CN109064542B (zh) * 2018-06-06 2019-11-19 贝壳找房(北京)科技有限公司 三维模型表面空洞填补方法和装置
CN109118578A (zh) * 2018-08-01 2019-01-01 浙江大学 一种层次化的多视图三维重建纹理映射方法
CN109191557B (zh) * 2018-09-11 2023-05-02 中国科学院国家天文台 立体地形图的影像纹理映射方法及装置
CN109410332B (zh) * 2018-09-17 2022-12-23 广西大学 基于点线面的三维空间几何虚拟模型细节层次裁剪方法
CN109544671B (zh) * 2018-11-12 2022-07-19 浙江大学 一种基于屏幕空间的视频在三维场景中投影映射方法
CN109785421B (zh) * 2018-12-06 2022-09-23 武汉天际航信息科技股份有限公司 一种基于空地影像组合的纹理映射方法及系统
CN111369659B (zh) * 2018-12-26 2023-05-02 杭州海康威视数字技术股份有限公司 一种基于三维模型的纹理映射方法、装置及设备
CN109840478B (zh) * 2019-01-04 2021-07-02 广东智媒云图科技股份有限公司 一种动作评估方法、装置、移动终端和可读存储介质
CN110163947A (zh) * 2019-05-24 2019-08-23 北京华捷艾米科技有限公司 一种纹理贴图的方法和相关装置
CN110298922B (zh) * 2019-07-04 2023-05-12 浙江科澜信息技术有限公司 一种三维模型简化方法、装置及设备
CN110827397B (zh) * 2019-11-01 2021-08-24 浙江大学 一种面向rgb-d相机实时三维重建的纹理融合方法
CN111369660B (zh) * 2020-03-02 2023-10-13 中国电子科技集团公司第五十二研究所 一种三维模型的无接缝纹理映射方法
CN111563950B (zh) * 2020-05-07 2023-04-21 如你所视(北京)科技有限公司 纹理映射策略确定方法、装置及计算机可读存储介质
CN111754635B (zh) * 2020-06-22 2022-12-20 北京市商汤科技开发有限公司 纹理融合方法及装置、电子设备和存储介质
CN111882642B (zh) * 2020-07-28 2023-11-21 Oppo广东移动通信有限公司 三维模型的纹理填充方法及装置
CN111986335B (zh) * 2020-09-01 2021-10-22 贝壳找房(北京)科技有限公司 纹理贴图方法和装置、计算机可读存储介质、电子设备
CN112270737A (zh) * 2020-11-25 2021-01-26 浙江商汤科技开发有限公司 一种纹理映射方法及装置、电子设备和存储介质
CN112802172B (zh) * 2021-02-24 2024-03-01 网易(杭州)网络有限公司 三维模型的纹理映射方法、装置、存储介质及计算机设备
CN113223149A (zh) * 2021-05-08 2021-08-06 中煤(西安)航测遥感研究院有限公司 三维模型纹理生成方法、装置、设备及存储介质
CN113538649B (zh) * 2021-07-14 2022-09-16 深圳信息职业技术学院 一种超分辨率的三维纹理重建方法、装置及其设备
CN114004939B (zh) * 2021-12-31 2022-04-19 深圳奥雅设计股份有限公司 一种基于建模软件脚本的三维模型优化方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310420A (zh) * 2013-06-19 2013-09-18 武汉大学 基于纹理与几何相似性的彩色图像空洞修复方法及系统
CN103761765A (zh) * 2013-12-25 2014-04-30 浙江慧谷信息技术有限公司 基于映射边界优化的三维物体模型纹理映射算法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310420A (zh) * 2013-06-19 2013-09-18 武汉大学 基于纹理与几何相似性的彩色图像空洞修复方法及系统
CN103761765A (zh) * 2013-12-25 2014-04-30 浙江慧谷信息技术有限公司 基于映射边界优化的三维物体模型纹理映射算法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
seamless montage for texturing models;Ran Gal et al.;《computer graphics forum》;20101231;第29卷(第2期);第479-486页 *
seamless mosaicing of image-based texture maps;Victor Lempitsky et al.;《IEEE conference on computer vision & pattern recognition》;20071231;第1-6页 *
基于多幅实拍照片为真实景物模型添加纹理;刘钢 等;《软件学报》;20051130;第16卷(第11期);第2014-2020页 *
用户控制的纹理合成;汤颖 等;《计算机辅助设计与图形学学报》;20041031;第16卷(第10期);第1412-1418页 *
面向复杂三维场景的高质量纹理映射;姜翰青 等;《第十届中国计算机图形学大会暨第十八届全国计算机辅助设计与图形学会会议》;20141017;第1页 *

Also Published As

Publication number Publication date
CN104574501A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104574501B (zh) 一种针对复杂三维场景的高质量纹理映射方法
Debevec et al. Modeling and rendering architecture from photographs: A hybrid geometry-and image-based approach
CN105574922B (zh) 一种鲁棒的三维模型高质量纹理映射方法
US7643025B2 (en) Method and apparatus for applying stereoscopic imagery to three-dimensionally defined substrates
Kang Survey of image-based rendering techniques
Zhang et al. A UAV-based panoramic oblique photogrammetry (POP) approach using spherical projection
US20150325044A1 (en) Systems and methods for three-dimensional model texturing
CN109919876A (zh) 一种三维真脸建模方法及三维真脸照相系统
CN108475327A (zh) 三维采集与渲染
CN106875339A (zh) 一种基于长条形标定板的鱼眼图像拼接方法
CN106910222A (zh) 基于双目立体视觉的人脸三维重建方法
US20080246757A1 (en) 3D Image Generation and Display System
CN104599317B (zh) 一种实现3d扫描建模功能的移动终端及方法
JP2014522591A (ja) 角スライス実像3dディスプレイのためのアライメント、キャリブレーション、およびレンダリングのシステムおよび方法
CN108053476A (zh) 一种基于分段三维重建的人体参数测量系统及方法
CN110191326A (zh) 一种投影系统分辨率扩展方法、装置和投影系统
Yang et al. Toward the light field display: Autostereoscopic rendering via a cluster of projectors
CN109769109A (zh) 基于虚拟视点合成绘制三维物体的方法和系统
CN107862718A (zh) 4d全息视频捕捉方法
CN104751508B (zh) 3d立体影视制作中新视图的全自动快速生成及补全方法
Lin et al. Vision system for fast 3-D model reconstruction
EP1668919B1 (en) Stereoscopic imaging
JP4354708B2 (ja) 多視点カメラシステム
CN107918948A (zh) 4d视频渲染方法
CN105979241B (zh) 一种柱面立体全景视频快速反变换方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant