CN102521869B - 一种几何特征引导的三维模型表面纹理空洞填补方法 - Google Patents

一种几何特征引导的三维模型表面纹理空洞填补方法 Download PDF

Info

Publication number
CN102521869B
CN102521869B CN 201110301143 CN201110301143A CN102521869B CN 102521869 B CN102521869 B CN 102521869B CN 201110301143 CN201110301143 CN 201110301143 CN 201110301143 A CN201110301143 A CN 201110301143A CN 102521869 B CN102521869 B CN 102521869B
Authority
CN
China
Prior art keywords
texture
dimensional model
rectangular
piece
structure line
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
CN 201110301143
Other languages
English (en)
Other versions
CN102521869A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN 201110301143 priority Critical patent/CN102521869B/zh
Publication of CN102521869A publication Critical patent/CN102521869A/zh
Application granted granted Critical
Publication of CN102521869B publication Critical patent/CN102521869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种几何特征引导的三维模型表面纹理空洞填补方法,该方法包括:读入、存储与处理三维模型与纹理地图的信息;基于纹理信息检测与初始化三维模型表面已有的纹理结构线;在无先验知识的条件下,利用几何特征引导三维模型表面缺失纹理结构线的生成;在先验知识的约束下,利用几何特征引导三维模型表面缺失纹理结构线的生成;构建表示三维模型表面纹理信息的矩形纹理块;利用三维模型的几何特征,匹配与空洞区域最相似的矩形纹理块,并利用该矩形纹理块填充空洞区域;利用矩形纹理块、纹理地图及其映射关系,实现三维模型表面纹理空洞区域的纹理映射。本发明纹理生成合理,填补效果逼真,保持了三维模型表面纹理的完整性。

Description

一种几何特征引导的三维模型表面纹理空洞填补方法
技术领域
本发明属于计算机图形图像和虚拟现实技术领域,具体地说是几何特征引导的三维模型表面纹理空洞填补方法。
背景技术
纹理映射技术是一种提高模型真实感的有效手段,不仅可以有效的仿真现实世界物体表面的纹理信息,使得模型的渲染效果美观真实,而且可以大大简化建模的过程,只需增加少量的计算量便可大幅度丰富模型外观。大部分的纹理信息是通过现场拍摄取得的,但是当采集的图像不充分或图像与模型不完全匹配(三维模型与图像对应于不同的物体)时,将各个视角图像中的纹理信息映射到三维模型上,形成带纹理的三维模型时,模型上的某些区域会缺失纹理,形成纹理空洞,需要结合三维模型表面已有的纹理信息和三维模型表面的几何特征对三维模型上纹理缺失的区域生成相应的纹理,形成完整的纹理模型。
目前,许多科研工作者致力于该方面的研究。2000年,马克斯普朗克研究所的Hendrik P.A.Lensh等人提出了一个自动的将多个视角的图像映射到对应三维模型上的方法。该方法是一个基于侧影轮廓线硬件加速的方法,可以处理不同分辨率的图像,自动的将这些图像精确的映射到三维模型上;2004年,匈牙利罗兰大学的计算机与自动化研究所的Zsolt Janko等人提出了一种基于图像一致性的纹理映射方法。该方法首先需要人工选择模型和图像中的点对,得到一个初始的三维模型和图像的映射关系,然后利用两幅图像的一致性优化映射关系,达到精确的纹理映射效果。
2005年,意大利比萨可视化计算实验室的Thomas Franken等人提出了一个最小用户交互纹理映射方法。该方法在已知某些点的对应关系的情况下,使用基于图的方法推断图像与三维模型之间新的点的对应关系,以减少用户的操作;2009年,以色列技术学院的Yochay Tzur和Ayellet Talk提出了一个基于局部映射关系的纹理映射方法。该方法首先在用户选定的每个特征点计算局部摄像机参数,然后在每个特征点的局部区域根据透视投影计算二维纹理与三维模型的映射关系,最后检测模型的可见区域并在模型的可见区域进行纹理映射,该方法既避免了参数化方法在纹理映射中纹理变形的缺点,也避免了摄影测量方法不能处理任意图像的问题。
三维几何模型表面纹理生成的目的是根据三维模型上已有的纹理信息来生成缺失的纹理信息,在现实生活中有广泛的应用。二维图像上的纹理生成到目前为止已经有了相当的发展,在图像空洞填补方面有广泛的应用。对于三维几何表面纹理生成,目前所做的工作较少。
2005年,微软亚洲研究院的周昆等人提出了一个基于层次细节网格模型的纹理映射方法。对于三维模型上没有纹理的区域,提出了三种三维几何表面纹理生成的方法:(1)对于面积小且纹理简单的区域,使用泊松插值的方法自动生成缺失区域的纹理;(2)对于纹理具有较显著模式的区域,使用人工引导的方法生成缺失区域的纹理。首先人工指定纹理缺失区域中某些点的方向,然后使用基于径向基函数的插值方法计算纹理缺失区域其它点的方向,最后使用泊松插值的方法生成缺失区域的纹理;(3)对于纹理较复杂的区域,使用克隆的方法生成缺失区域的纹理。从任意图像上人工选择一块纹理,经过变形后,复制到目标区域,生成缺失区域的纹理。自动的方法只能生成简单的纹理,泊松插值的方法需要用户参与指定纹理缺失区域的结构信息,并且不能得到较好的效果,克隆的方法需要较多的人工参与。
纹理合成能基于小纹理生成视觉上相似的大纹理,是当前计算机图形学、计算机视觉和图像处理领域的研究热点之一。2001年,佐治亚理工学院计算机专业的Greg Turk提出了一个在三维表面合成纹理的方法。该方法使用图像金字塔和多层三维模型进行纹理合成,首先创建一个点密度从低到高的多层三维模型,然后在三维模型表面计算一个向量场,用于指示纹理合成的顺序,将表面上的点排序。最后按顺序访问各个点,通过在样例中搜索与其邻居颜色最接近的点来获取各个点的颜色;2001年,斯坦福大学的Li-Yi Wei等人提出了一个在三维模型表面合成纹理的方法。已知一个矩形纹理和一个目标模型,该方法首先对以三维模型上的每个点为中心的局部区域进行参数化,并在参数化平面上建立以该点为中心的矩形区域。然后在样例中寻找与该点具有相似邻居的点,样例中点的颜色为三维模型上该点的颜色。
2009年,西蒙弗雷泽大学的Kai Xu等人提出了一个特征对齐的三维表面纹理合成方法。该方法遵循纹理要与三维模型上的显著曲线相匹配和纹理上的主要特征要与三维模型上的显著曲线相匹配的原则,首先计算三维模型上的显著曲线,然后计算沿显著曲线的平滑向量场,最后采用基于样例的纹理合成方法合成纹理,在纹理合成时确保纹理特征与三维模型上的特征相匹配。该方法合成的纹理不仅更加符合模型的表面几何,而且具有更好的可视化效果。
发明内容
为了克服现有技术的不足,本发明的目的在于提出一种几何特征引导的三维模型表面纹理空洞填补方法。
为完成发明目的,本发明采用的技术方案是:
一种几何特征引导的三维模型表面纹理空洞填补方法,包括以下步骤:(1)读入、存储与处理三维模型与纹理地图的信息;(2)基于纹理信息检测与初始化三维模型表面已有的纹理结构线;(3)在无先验知识的条件下,利用几何特征引导三维模型表面缺失纹理结构线的生成;(4)在先验知识的约束下,利用几何特征引导三维模型表面缺失纹理结构线的生成;(5)构建表示三维模型表面纹理信息的矩形纹理块;(6)利用三维模型的几何特征,匹配与空洞区域最相似的矩形纹理块,并利用该矩形纹理块填充空洞区域;(7)利用矩形纹理块、纹理地图及其映射关系,实现三维模型表面纹理空洞区域的纹理映射。
进一步的,步骤(2)所述的基于纹理信息的三维模型表面结构检测与初始化包含以下步骤:
(2.1)基于坎尼边缘检测算法,实现纹理地图的边缘检测;
(2.2)利用三维模型与纹理地图之间的映射关系提取三维模型表面纹理空洞区域周围已有的纹理结构线;
(2.3)对已有的纹理结构线上的点进行张量投票,获取已有的纹理结构线上各点的初始张量。
进一步的,步骤(3)所述的无先验知识的三维模型表面缺失的纹理结构线生成包含以下步骤:
(3.1)在三维模型表面结构检测与初始化基础之上,利用纹理地图的掩码图像获取三维模型表面的纹理空洞区域;
(3.2)根据三维模型表面已有纹理结构的张量信息,对空洞区域点进行稠密张量投票,获取空洞区域点的张量信息;
(3.3)在空洞区域中,迭代地选取显著性极大值点,并将其加入到缺失的纹理结构线中,生成空洞区域中缺少的纹理结构。
进一步的,步骤(4)所述的基于先验知识的三维模型表面缺失的纹理结构线生成包含以下步骤:
(4.1)在三维模型表面结构检测与初始化基础之上,提取三维模型表面的脊线;
(4.2)利用先验知识调整阈值筛选出适合的脊线;
(4.3)利用先验知识计算选定脊线的两条辅助结构曲线;
(4.4)基于张量投票方法,结合选定脊线及其两条辅助结构曲线,对空洞区域点进行稠密张量投票,获取空洞区域点的张量信息;同时利用极大值抑制,生成空洞区域中缺少的纹理结构。
进一步的,步骤(5)所述的矩形纹理块构建过程如下:
(5.1)在三维模型表面选取各个顶点的一邻域三角面片,构建矩形纹理块的几何结构;
(5.2)根据三维模型和纹理地图之间的映射关系,将纹理地图中离散的纹理信息通过三角形之间的仿射变换,填充到矩形纹理块中的相应三角形中,构建矩形纹理块的纹理信息。
进一步的,步骤(6)所述的矩形纹理块的匹配范围受到纹理结构线的约束,其具体匹配步骤如下:
(6.1)计算空洞区域边界的矩形纹理块与待选矩形纹理块的区域面积之比,得到两个矩形纹理块之间的缩放比例;
(6.2)以10度为间隔,旋转待选矩形纹理块,并计算旋转后待选矩形纹理块与空洞区域边界的矩形纹理块之间的纹理颜色差异;
(6.3)选取具有最小纹理颜色差异的待选矩形纹理块,并记录相应的旋转角度与缩放比例。
进一步的,步骤(7)所述的纹理映射过程中:匹配的矩形纹理块与空洞区域之间的映射关系,在矩形纹理块的匹配过程中已经确定;矩形纹理块和纹理地图之间的映射关系,在矩形纹理块的构建过程中已经确定。
本发明技术方案的原理在于:
在三维模型表面纹理结构线生成过程中,包含了两种算法:在无先验知识条件下的几何特征引导三维模型表面缺失纹理结构线生成算法和基于先验知识约束下的几何特征引导三维模型表面缺失纹理结构线生成算法。无先验知识的三维模型表面缺失纹理结构线生成算法的输入为一个三维模型和保存有模型表面纹理信息的纹理地图,首先根据三维模型表面的纹理信息与几何特征,提取出纹理空洞区域周围已有的纹理结构线,然后基于张量投票算法,利用已有的纹理结构线与三维模型表面的几何特征构建约束,生成纹理空洞区域缺少的纹理结构线。无先验知识的三维模型表面缺失纹理结构线生成算法能够生成比较合理的三维模型表面纹理结构,但其不一定符合真实物体上的纹理结构。故为了提高纹理填补的真实度,需要令生成的三维模型表面纹理结构尽可能的符合真实物体,故本发明提出在基于先验知识的三维模型表面缺失纹理结构线生成算法,在上述无先验知识的纹理结构线生成算法基础之上,首先通过分析真实物体纹理结构与三维模型几何特征的相关性,提取出符合客观世界知识的几何特征,作为先验知识,然后以无先验知识纹理结构线生成算法为基础,利用先验知识约束、引导缺失纹理结构线的生成。
无先验知识的三维模型表面缺失纹理结构线生成算法和基于先验知识的三维模型表面缺失纹理结构线生成算法均能生成比较合理的纹理结构,所生成的纹理结构能够很好的反映三维模型的几何特性和表面纹理特性,但三维模型表面纹理空洞区域的纹理仍然是未知的,还需要生成相应的纹理,保持三维模型表面纹理的完整性。本发明提出一种三维模型表面纹理生成和映射算法,以生成的纹理结构线为基础,通过对三维模型几何特征进行分析,引导三维模型表面纹理的生成与映射。算法包含三方面的内容:构建表示三维模型表面纹理信息的矩形纹理块;利用三维模型的几何特征,匹配与空洞区域最相似的矩形纹理块,并利用该矩形纹理块填充空洞区域;利用矩形纹理块、纹理地图及其映射关系,实现三维模型表面纹理空洞区域的纹理映射。
在构建三维模型表面非空洞区域矩形纹理块的过程中,本发明通过对三维模型表面的几何特征进行分析,利用纹理地图与三维模型的映射关系,直接在三维模型表面采集纹理区域来构建矩形纹理块。本发明采用局部参数化思想,根据几何特征引导,将一个三维点的一邻域纹理区域映射到一个二维的矩形纹理块中,使用该矩形纹理块保存三维点的一邻域纹理区域的纹理信息,并用其进行待选纹理块与空洞区域纹理块间的匹配与空洞区域纹理块的填充。由于一个三维点的纹理区域一般都很小,该区域的曲面曲率变化也非常的小,可近似为一个平面,所以将其参数化到二维平面并不会引入非常大的变形和失真,而且通过纹理地图构建矩形纹理非常的方便,并不需要太大的计算量,并且使用二维矩形纹理块可以大大简化纹理匹配的复杂度,极大的提高纹理生成的速度。
矩形纹理块匹配的过程是受生成的纹理结构线约束的,其匹配算法的输入为三维模型、纹理地图及两者之间的对应关系和三维模型表面上的点,输出为与该点的纹理信息最匹配的点及其旋转角度和缩放尺度。算法的思想是:首先根据纹理结构线的位置和点的位置设置搜索区域,然后对于搜索区域中的每个点,计算该点和目标点纹理块之间的差异,纹理差异最小的点就是最匹配的点。在计算两个三维点矩形纹理块之间纹理差异时,考虑到三维模型表面的几何特征,需要对点的矩形纹理块进行缩放和旋转,本发明以10度为单位对矩形纹理块进行旋转。矩形纹理块的填充过程包括两部分:分别是三角形的线性扫描与颜色插值。
利用矩形纹理块、纹理地图及其映射关系,实现三维模型表面纹理空洞区域的纹理映射的过程中,匹配的矩形纹理块与空洞区域之间的映射关系,在矩形纹理块的匹配过程中已经确定;矩形纹理块和纹理地图之间的映射关系,在矩形纹理块的构建过程中已经确定。
本发明与现有的技术相比,其有益的特点是:1、本发明首先生成纹理空洞区域的纹理结构线,然后利用纹理结构线约束纹理生成,生成纹理空洞区域的纹理信息,这种处理流程在很大程度上保持了三维模型表面的纹理结构与几何特征,使得生成的纹理更加合理,填补效果更加逼真;2、本发明提出的基于先验知识的几何特征引导三维模型表面结构线生成算法能够根据客观世界知识提取出相应的几何特征,作为先验知识引导缺失纹理结构线的生成,使得生成的纹理结构与真实物体表面的纹理结构更加相似,填补效果更加逼真。
附图说明:
图1是本发明几何特征引导的三维模型表面纹理空洞填补方法的主流程图;
图2是本发明三维模型表面点的纹理区域组成示意图;
图3是本发明三维模型表面点的矩形纹理块构建过程示意图;
图4是本发明几何特征引导纹理地图中两个三角形拼接的示意图;
图5是本发明基于三维模型几何特征的矩形纹理块匹配过程示意图;
图6是本发明基于矩形纹理块、纹理地图及其映射关系实现纹理映射原理图。
具体实施方式:
下面结合附图对本发明的具体实施方式进行描述,以便更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当采用已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
参阅图1本发明的主流程图,由于本发明中包含两种纹理结构线生成算法,所以主流程图中包含两个纹理生成和映射的过程。本发明的几何特征引导的三维模型表面纹理空洞填补方法主要包括如下步骤:读入、存储与处理三维模型与纹理地图等信息;基于纹理信息检测与初始化三维模型表面已有的纹理结构线;在无先验知识的条件下,利用几何特征引导三维模型表面缺失纹理结构线的生成;在先验知识的约束下,利用几何特征引导三维模型表面缺失纹理结构线的生成;构建表示三维模型表面纹理信息的矩形纹理块;利用三维模型的几何特征,匹配与空洞区域最相似的矩形纹理块,并利用该矩形纹理块填充空洞区域;利用矩形纹理块、纹理地图及其映射关系,实现三维模型表面纹理空洞区域的纹理映射。
无先验知识的几何特征引导三维模型表面结构线生成算法首先需要提取三维几何模型表面已有的纹理结构线,本发明借助纹理地图提取三维几何模型表面纹理结构线:首先使用坎尼边缘检测算法对纹理地图做边缘检测,然后借助三维模型和纹理地图之间的映射关系直接在三维模型上提取纹理空洞区域周围已有的纹理结构线。纹理结构线提取算法的思想是:首先根据三维模型的几何特征,在纹理地图中检测纹理结构线;然后采样三维模型表面纹理空洞区域周围的点,根据三维模型与纹理地图的映射关系,判断该点在纹理地图中对应的点是否在已检测的纹理结构线上,如果在结构线上,则将该点加入到三维模型表面纹理结构线中;最后判断已检测的纹理结构线是否与纹理空洞区域相接,只保留与其相接的纹理结构线,这些剩余的纹理结构线就是所要求的三维模型表面已有的纹理结构线。
三维模型表面纹理结构线既包含了三维模型的几何特征,也包含了三维模型表面纹理的结构信息,由于张量可以很好的描述三维模型表面纹理的结构信息,并且张量投票过程中也考虑到了三维模型表面的几何特征,根据三维模型表面已有的纹理结构线和三维模型表面的几何特征,张量投票算法可以生成比较合理的缺失的纹理结构线,所以本发明利用已有的纹理结构线约束张量投票生成空洞区域缺失的纹理结构线。
由于初始状态下,所提取的三维模型表面纹理结构线上各个点的切线方向未知,所以首先对每条纹理结构线上各点相互投票(稀疏张量投票),可获得各个点在纹理结构线上的切线方向,然后结合三维模型表面已有纹理区域的结构信息和三维模型表面的几何特征采用张量投票的方法生成三维模型表面纹理空洞区域缺失的纹理结构。算法的思想是:首先对已有的纹理结构线进行稀疏张量投票,计算纹理结构线上每个点的张量信息;然后选择一条纹理结构线,使用其张量信息对纹理空洞区域中的点进行投票,并计算显著性极大值点,将其加入这条纹理结构线与生成的缺失纹理结构线中,并更新已有纹理结构线的张量信息;最后判断这条结构线是否可以与其它结构线融合,其中阈值通过计算三维模型上所有三角面片的边长平均值得到,如果可以融合,则将它们从结构线中删除并输出结果,依此类推,直到处理完所有的纹理结构线。
由于张量投票所计算的张量均为对称张量,对带符号的方向不敏感,不能用于推断内部点和端点,而非对称张量对接受投票的方向敏感,可用于判断边界属性,所以使用非对称张量信息计算极大值点。极大值点的计算过程为:首先根据张量投票的结果计算非对称的张量,然后选取非对称张量中置信度最大的10个顶点,最后计算这些顶点的切线方向与目标纹理结构线中各个顶点的平均切线方向的差值,并选择差值最小的顶点为极大值点。
三维模型表面的纹理结构线是由一些离散的点构成的,在生成纹理结构线的过程中需要计算两条结构线之间的距离,所以首先定义一个顶点v到纹理结构线L的距离D(v,L),其中D(v,p)指点v到点p的测地线距离。纹理结构线Li和Lj之间的距离D(Li,Lj)的定义如下公式所示。
D ( v . L ) = min p ∈ L D ( v , p )
D ( L i , L j ) = min v ∈ L i D ( v , L j )
基于先验知识的几何特征引导三维模型表面结构线生成算法首先需要根据客观事实进行人工交互预处理操作,提取一些先验知识,例如针对斑马腹部纹理缺失区域的纹理结构生成问题,可以提取斑马腹部的竖型、黑色条纹与三维模型的凸脊线对应;调整黑色条纹的宽窄以及斑马腹部其它方向的条纹应该与正中间的黑色条纹相连等先验知识。然后以无先验知识的几何特征引导三维模型表面结构线生成算法为基础使用先验知识引导纹理结构的生成。针对斑马腹部纹理缺失区域的纹理结构生成问题,首先需要精确的提取三维模型表面的脊线,然后以该脊线作为先验知识之一引导张量投票方法生成纹理结构。具体算法的思想是:首先根据脊线计算得到两条辅助的曲线,其中参数的选取与设置是基于先验知识的;然后进行稀疏张量投票,计算纹理结构线和辅助曲线上每个点的张量信息,选择一条纹理结构线和辅助的曲线,使用它们的张量信息对纹理空洞区域中的点进行投票,并计算极大值点,将其加入这条纹理结构线与生成的缺失纹理结构线中并更新已有纹理结构线的张量信息;最后判断这条结构线是否可以与辅助的曲线融合,如果可以融合,则删除该纹理结构线并输出结果,依此类推,直到处理完所有的纹理结构线。根据所提取的脊线计算两条辅助的曲线,其主要作用是使用两条辅助的曲线指示斑马腹部黑色条纹的区域,并且辅助纹理结构的生成,根据客观世界事实,认定斑马腹部其它方向的条纹应该与正中间的黑色条纹相连,作为先验知识,在实际的计算过程中纹理结构线是与辅助的曲线相连,而不是与所提取的脊线相连。
在张量投票过程中,不仅需要使用已有的纹理结构线对纹理空洞区域中的点进行投票,还需要使用辅助曲线对纹理空洞区域中的顶点进行投票,因为已经认定纹理结构线与辅助曲线相连。极大值点的计算过程与无先验知识三维几何模型表面纹理结构线生成算法相似,均是选取非对称张量中置信度最大的10个顶点,但是计算方向差值有所不同,该方法计算这些顶点的切线方向与辅助曲线中各个顶点的平均切线方向的差值,并选择差值最大的点为极大值点。因为所有的结构线均要与辅助的曲线相连,所以不需要将两条结构线融合。
在生成三维模型表面纹理空洞区域的纹理结构线后,需要根据纹理结构线生成纹理空洞区域的纹理。在生成纹理的过程中,首先需要构建记录各个顶点区域纹理信息的矩形纹理块,由于三维模型上顶点分布不规则(点分布的密集或疏散),顶点之间的距离和角度各不相同以及三维模型表面各个部分的曲率各不相同,这些因素都会对纹理生成造成影响,所以在纹理生成过程中既要考虑所生成的纹理与周围已有纹理的相融性,又要考虑三维模型表面的几何特性。由于三维模型表面大部分区域为曲面,而曲面在参数化过程中存在变形和失真,所以不能简单的将三维模型参数化到二维平面,再按照图像纹理生成的方法生成纹理。
经过纹理映射后,三维模型的纹理信息均保存在纹理地图中,由于纹理地图是三维模型各个区域参数化的结果,并且在生成纹理地图的过程中对三维模型进行了分割,在三维模型上相邻的区域,在纹理地图上可能不相邻,所以不能直接使用纹理地图生成纹理。
为了使生成的纹理更加合理有效,在生成三维模型表面纹理信息的过程中要考虑三维模型表面的几何特征,所以本发明直接在三维模型表面采集纹理区域来生成三维模型表面的纹理。由于三维模型大多以三角网格的形式存在,所以本发明定义一个顶点的纹理区域为该点一邻域点与其组成的所有三角形构成的区域,参阅图2本发明三维模型表面点的纹理区域组成示意图,中心的点为三维模型表面的顶点,粗线框所包围的区域为这个顶点的纹理区域。
参阅图3本发明三维模型表面点的矩形纹理块构建过程示意图,由于三维模型表面的纹理信息均保存在纹理地图中,所以上述定义的纹理区域并没有直接包含纹理信息,并且由于顶点的纹理区域为一个曲面,不利于纹理区域之间纹理的比较,所以本发明采用局部参数化思想,将一个顶点的纹理区域映射到一个二维的矩形纹理块中,使用该矩形纹理块保存顶点纹理区域的纹理信息,并用其进行纹理区域间纹理的比较。由于一个顶点的纹理区域一般都很小,该区域的曲面曲率也非常的小,可近似为一个平面,所以将其参数化到二维平面并不会引入非常大的变形和失真,而且通过纹理地图构建矩形纹理非常的方便,并不需要太大的计算量,并且使用二维矩形纹理块可以大大简化纹理区域间纹理匹配的复杂度,极大的提高纹理生成的速度。纹理矩形块的构建过程如下所述:对于三维模型表面上的一个顶点,其在三维模型上的纹理区域对应到纹理地图中可能是多个离散的区域,将这些离散的区域变形后放入一个矩形块中,则该矩形块就是该顶点的纹理区域对应的矩形纹理块。其中,矩形纹理块的中间灰度区域为有效区域,包含了顶点的纹理信息,四周无色区域为无效区域不参与运算。矩形纹理块只包含了顶点纹理区域的纹理信息,并没有包含几何信息,所以在纹理区域间纹理比较的过程中,还需要考虑顶点的几何特征。
矩形纹理块的构建过程主要是找顶点的纹理区域在纹理地图中对应的区域,并将这些区域变形后融入矩形图像块中。具体算法的思想是:从顶点所在的一个三角面片开始,按顺时针顺序依次处理该点所在的三角面片,首先计算三角面片在纹理地图中的纹理坐标;然后计算其在矩形纹理块中的纹理坐标,对于第一个三角面片通过平移可以得到其在矩形纹理块中的纹理坐标,其它的三角面片均需要根据纹理地图中相邻两个三角面片公共边的夹角和长度比值进行旋转和缩放得到其在矩形纹理块中的纹理坐标;最后针对每个三角面片,根据其各个顶点在纹理地图中的纹理坐标和在矩形纹理块中的纹理坐标之间的仿射关系,将三角面片的纹理信息填充到矩形纹理块中。
三维模型上相邻的两个三角形,其在纹理地图中对应的三角形可能不相邻,并且可能差异较大,在构建矩形纹理块时,需要将纹理地图中离散的两个三角形根据公共边合并在一起,需要以其中一个三角形为基础,对另一个三角形进行旋转和缩放变换,参阅图4本发明几何特征引导纹理地图中两个三角形拼接的示意图,纹理地图中△ABC和△A′B′D在三维模型上对应的是两个相邻的三角形,它们的公共边对应于纹理地图中△ABC的边AB和△A′B′D的边A′B′,但是在纹理地图中这两个三角形是不相邻的,并且对应的公共边的长度也不相同,以点A为中心,按顺时针的顺序,△ABC排在前面,所以以△ABC为基础,对△A′B′D进行旋转和缩放。首先计算边AB和边A′B′的夹角θ。然后对△A′B′D平移,将点A′平移到原点处,对平移后的△A′B′D的三个顶点按照夹角θ进行旋转,并按照边AB和边A′B′长度的比值进行缩放,最后对变换后的△A′B′D平移,将点A′平移到其初始位置,整个计算过程如下公式所示,其中(x1,y1)为点A′的坐标。
θ = arccos ( AB → A ′ B ′ → | AB → | | A ′ B ′ → | )
x ′ y ′ = L AB L A ′ B ′ cos θ - sin θ sin θ cos θ x - x 1 y - y 1 + x 1 y 1
在构建矩形纹理块的过程中,需要根据矩形纹理块中的三角形和其在纹理地图中对应的三角形之间的仿射关系,将三角面片的纹理信息填充到矩形纹理块中。两个二维三角形之间的仿射关系如下公式所示。其中,sx和sy是伸缩因子,shx和shy是形变因子,tx和ty是位移量:
x y 1 = s x sh x t x sh y s y t y 0 0 1 u v 1
根据两个三角形的六个顶点之间的对应关系可以决定一个二维仿射变换的六个参数,两个三角形之间的仿射关系的计算方法如下公式所示。其中,(u1,v1)、(u2,v2)和(u3,v3)为第一个三角形的三个顶点,(x1,y1)、(x2,y2)和(x3,y3)为第二个三角形的三个顶点,两个三角形的顶点一一对应:
x → = ( s x , sh x , t x , s y , sh y , t y ) T
x → = A - 1 B
A = u 1 v 1 1 0 0 0 0 0 0 u 1 v 1 1 u 2 v 2 1 0 0 0 0 0 0 u 2 v 2 1 u 3 v 3 1 0 0 0 0 0 0 u 3 v 3 1 , B = x 1 y 1 x 2 y 2 x 3 y 3
填充矩形纹理块的过程为:首先选择矩形纹理块中一个没有纹理信息的三角形,根据其在纹理地图中对应的三角形,计算两个三角形之间的仿射关系;然后对该三角形栅格化,计算三角形内的每个点的坐标;最后针对三角形内的每个点,根据仿射关系,计算它在纹理地图中对应的点,纹理地图中对应点的颜色即为该点的颜色。依此类推,依次处理矩形纹理块中的每个三角形。
在构建出各个顶点的纹理信息后,需要根据已有点的纹理信息生成纹理空洞区域中各个点的纹理信息,并将其映射到三维模型表面。本发明以矩形纹理块为基础,根据顶点已有的纹理信息搜索与其纹理最相似的顶点,使用所搜索的顶点的纹理信息生成目标顶点的纹理信息,以此方式生成三维模型表面纹理空洞区域的纹理。该方法的主要流程包括:选择要生成纹理信息的顶点,在三维模型表面纹理空洞区域内选一个包含有部分纹理信息的顶点,即选取一个空洞区域边界矩形纹理块;根据三维模型表面纹理结构线的位置和顶点的位置,设置搜索的范围,构建待选矩形纹理块集合;进行待选与空洞边界矩形纹理块间的匹配,在搜索区域内,搜索与目标顶点纹理块已有纹理最相似的顶点;生成并填充目标点的纹理信息,并将其保存;将所生成的纹理映射到三维模型上。
参阅图5本发明基于三维模型几何特征的矩形纹理块匹配过程示意图,由于矩形纹理块只包含了顶点纹理区域的纹理信息,所以在纹理信息匹配的过程中,还需要考虑顶点纹理区域的几何特征。由于三维模型上顶点分布不规则,造成顶点纹理区域的大小不一样,纹理信息的表现也是不一样的,所以要根据顶点纹理区域的差异对矩形纹理块缩放。图像上的纹理信息可以用统一的方向描述,与图像上的纹理表现形式不同,三维模型表面并没有一个统一的方向,三维模型表面上的纹理信息很难用统一的方式描述,所以在纹理匹配的过程中,需要对矩形纹理块旋转,对于每个角度均要对其进行判断。已知三维模型Mo、纹理地图IA以及两者之间的映射关系TA和三维模型表面上的点p,具体的矩形纹理块匹配流程如下:(1)根据纹理地图IA和映射关系TA,构建点p的矩形纹理块Ip,设置误差Emin=+∞;(2)根据纹理结构线的位置信息,设置搜索区域,并将搜索区域中的顶点加入队列QS;(3)选择队列QS的头节点v,将其从队列QS中删除,并构建点v的矩形纹理块Iv;(4)根据三维模型上点p和点v的纹理区域的面积比值,计算矩形纹理块的缩放尺度S(Ip,Iv),对矩形纹理块Iv进行缩放,得到矩形纹理块I′v;(5)从零度开始,每次增加10度,对矩形纹理块I′v旋转,得到I″v,计算矩形纹理块Ip和I″v之间的误差ESSD(Ip,I″v),当ESSD(Ip,I″v)<Emin时,更新Emin,将点v标记为vmin,并记录矩形纹理块I″v当前的旋转角度θ和缩放尺度S(p,v),直到
Figure BDA0000096324610000121
否则转到步骤(3);(6)点vmin就是所求的与点p的纹理信息最匹配的点p′,输出与点p的纹理信息最匹配的点p′。
矩形纹理块的匹配算法的思想是:首先根据纹理结构线的位置和点的位置设置搜索区域,然后对于搜索区域中的每个点,计算该点和目标点纹理之间的差异,纹理差异最小的点就是最匹配的点。在计算两个顶点之间纹理差异时,需要对点的矩形纹理块进行缩放和旋转,本发明以10度为单位对矩形纹理块旋转。
在矩形纹理块匹配的过程中,首先要对矩形纹理块缩放,缩放的尺度是根据三维模型表面上两个顶点的纹理区域的面积求得的。顶点p矩形纹理块Ip和顶点p′的矩形纹理块Ip′之间的缩放尺度S(Ip,Ip′)的定义如下公式所示。其中,Qtri(p)为三维模型表面上顶点p所属的三角面片的集合,Sarea(Tf)为三维模型表面上三角面片Tf的面积:
S ( I p , I p ′ ) = Σ T f ∈ Q tri ( p ) S area ( T f ) Σ T f ∈ Q tri ( p ′ ) S area ( T f )
计算两个矩形纹理块的纹理差异的过程为:首先将其中一个矩形纹理块平移,使得两个矩形纹理块的中心重合,然后计算两个矩形纹理块中的有效区域的公共区域的纹理的差异。由于矩形纹理块可能只包含部分的纹理信息,所以在计算纹理差异的过程中,只计算公共区域中两个矩形纹理块均有纹理的区域的纹理差异。由于三维模型表面并没有一个统一的方向,所以在矩形纹理块匹配的过程中还需要对矩形纹理块旋转,计算每个旋转角度下两个矩形纹理块纹理之间的纹理差异,其中最小的差异值为这两个顶点纹理区域之间的纹理差异。
在矩形纹理块缩放的过程中,缩放后的矩形纹理块I′p和原矩形纹理块Ip之间的映射关系如下公式所示。其中,S(Ip,I′p)为缩放尺度,(x′,y′)为矩形纹理块I′p中点的坐标,(x,y)为矩形纹理块Ip中点的坐标:
x y = 1 S ( I p , I p ′ ) x ′ y ′
将矩形纹理块Ip旋转角度θ后,对其进行平移,使其中心与矩形纹理块Ip′的中心重合,在这个过程中,矩形纹理块Ip和旋转平移后的矩形纹理块Ip″之间的映射关系如下公式所示。其中,(x,y)为矩形纹理块Ip中点的坐标,(x″,y″)为矩形纹理块Ip″中点的坐标,(cx,cy)为矩形纹理块Ip的中心,(cx′,cy′)为矩形纹理块Ip′的中心,θ为旋转角度:
x ′ ′ y ′ ′ = cos θ - sin θ sin θ cos θ x - cx y - cy + cx ′ cy ′
矩形纹理块Ip和纹理矩形块Ip′的纹理差异在本发明中指的是这两个矩形纹理块的公共区域中纹理颜色的差异,其计算方法如下公式所示。其中n为公共区域中点的个数,(ri,gi,bi)为公共区域中第i个点在纹理矩形块Ip中的颜色值,(r′i,g′i,b′i)为公共区域中第i个点在纹理矩形块Ip′中的颜色值:
E SSD ( I p , I p ′ ) = 1 n Σ i = 1 n ( ( r i - r i ′ ) 2 + ( g i - g i ′ ) 2 + ( b i - b i ′ ) 2 )
三维模型表面上两个顶点p和p′的纹理区域的纹理差异定义为:对点p′的纹理地图Ip′进行旋转,计算每个旋转角度下矩形纹理块Ip′,θ和点p的矩形纹理块Ip之间的纹理差异,其中最小的差异值为这两个顶点纹理区域之间的纹理差异,如下公式所示。其中,为Ip′,θ为矩形纹理块Ip′旋转θ角度后所得到的矩形纹理块,Qθ为旋转角度的集合:
E REC ( p , p ′ ) = min θ ∈ Q θ E REC ( p , p ′ , θ ) = min θ ∈ Q θ E SSD ( I p , I p ′ , θ )
Qθ={θ|θ=10i,0≤i≤35,i∈N}
参阅图6本发明基于矩形纹理块、纹理地图及其映射关系实现纹理映射原理图,在得到与顶点p的纹理信息最匹配的顶点p′后,还需要使用点p′的纹理生成点p的纹理,并将所生成的纹理映射到三维模型上。具体的流程为:(1)构建点p的矩形纹理块Ip和点p′的矩形纹理块Ip′;(2)对矩形纹理块Ip′进行缩放、旋转和平移,使两个矩形纹理块的中心重合,缩放尺度和旋转角度在纹理矩形块的匹配过程中已经求出;(3)生成点p的纹理信息并将其映射到三维模型上,首先根据矩形纹理块Ip和Ip′之间的映射关系TP,使用矩形纹理块Ip′中点的颜色信息生成矩形纹理块Ip中对应点的颜色信息;(4)根据纹理矩形块Ip与纹理地图IA之间的映射关系TR,将纹理矩形块Ip中的纹理信息保存到纹理地图IA中;(5)根据纹理地图IA和三维模型Mo之间的映射关系TA,将纹理地图中的纹理信息映射到三维模型上,生成三维模型上点p的纹理信息。
映射关系TP和映射关系TR可以根据上述相应的公式得到,映射关系TA在生成纹理地图IA时就已经确定,矩形纹理块Ip′和三维模型Mo之间的映射关系记为TN,其计算方法如下:
TN=TATRTP
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (4)

1.一种几何特征引导的三维模型表面纹理空洞填补方法,其特征在于包含以下步骤:
(1)读入、存储与处理三维模型与纹理地图的信息;
(2)基于纹理信息检测与初始化三维模型表面已有的纹理结构线;
(3)在无先验知识条件下,利用几何特征,引导三维模型表面缺失纹理结构线的生成;
(4)在先验知识的约束下,利用几何特征,引导三维模型表面缺失纹理结构线的生成;
(5)构建表示三维模型表面纹理信息的矩形纹理块;
(6)利用三维模型的几何特征,匹配与空洞区域最相似的矩形纹理块,并利用该矩形纹理块填充空洞区域;
(7)利用矩形纹理块、纹理地图及其映射关系,实现三维模型表面纹理空洞区域的纹理映射。
2.根据权利要求1所述的一种几何特征引导的三维模型表面纹理空洞填补方法,其特征在于:步骤(2)所述的基于纹理信息的三维模型表面结构检测与初始化包含以下步骤:
(2.1)基于坎尼边缘检测算法,实现纹理地图的边缘检测;
(2.2)利用三维模型与纹理地图之间的映射关系提取三维模型表面纹理空洞区域周围已有的纹理结构线;
(2.3)对已有的纹理结构线上的点进行张量投票,获取已有的纹理结构线上各点的初始张量。
3.根据权利要求1所述的一种几何特征引导的三维模型表面纹理空洞填补方法,其特征在于:步骤(5)所述的矩形纹理块构建过程如下:
(5.1)在三维模型表面选取各个顶点的一邻域三角面片,构建矩形纹理块的几何结构;
(5.2)根据三维模型和纹理地图之间的映射关系,将纹理地图中离散的纹理信息通过三角形之间的仿射变换,填充到矩形纹理块中的相应三角形中,构建矩形纹理块的纹理信息。
4.根据权利要求1所述的一种几何特征引导的三维模型表面纹理空洞填补方法,其特征在于:步骤(7)所述的纹理映射过程中:匹配的矩形纹理块与空洞区域之间的映射关系,在矩形纹理块的匹配过程中已经确定;矩形纹理块和纹理地图之间的映射关系,在矩形纹理块的构建过程中已经确定。
CN 201110301143 2011-09-30 2011-09-30 一种几何特征引导的三维模型表面纹理空洞填补方法 Active CN102521869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110301143 CN102521869B (zh) 2011-09-30 2011-09-30 一种几何特征引导的三维模型表面纹理空洞填补方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110301143 CN102521869B (zh) 2011-09-30 2011-09-30 一种几何特征引导的三维模型表面纹理空洞填补方法

Publications (2)

Publication Number Publication Date
CN102521869A CN102521869A (zh) 2012-06-27
CN102521869B true CN102521869B (zh) 2013-12-25

Family

ID=46292771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110301143 Active CN102521869B (zh) 2011-09-30 2011-09-30 一种几何特征引导的三维模型表面纹理空洞填补方法

Country Status (1)

Country Link
CN (1) CN102521869B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875462B2 (en) * 2020-11-18 2024-01-16 Adobe Inc. Systems for augmented reality authoring of remote environments

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018133227A1 (zh) * 2017-01-18 2018-07-26 华为技术有限公司 颜色填充方法及终端
WO2018176185A1 (zh) * 2017-03-27 2018-10-04 中国科学院深圳先进技术研究院 一种纹理合成方法及其装置
CN109658365B (zh) * 2017-10-11 2022-12-06 阿里巴巴(深圳)技术有限公司 图像处理方法、装置、系统和存储介质
CN109064542B (zh) 2018-06-06 2019-11-19 贝壳找房(北京)科技有限公司 三维模型表面空洞填补方法和装置
CN109191557B (zh) * 2018-09-11 2023-05-02 中国科学院国家天文台 立体地形图的影像纹理映射方法及装置
CN111435243B (zh) * 2018-12-26 2023-05-05 珠海一微半导体股份有限公司 扫地机器人空间地图生成方法、装置及扫地机器人
CN110517301B (zh) * 2019-07-22 2022-04-01 杭州电子科技大学 一种快速相机运动下有效匹配特征的方法
CN110717966B (zh) * 2019-08-12 2024-01-26 深圳亚联发展科技股份有限公司 一种三维纹理映射图的生成方法和装置
CN112232182B (zh) * 2020-10-14 2022-06-07 山东科技大学 一种三维模型局部特征识别过程中孤立面的判断及去除方法、存储介质
CN112541925A (zh) * 2020-12-15 2021-03-23 华南理工大学 结合视觉仿真的图像感兴趣区域截取方法、系统及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339670A (zh) * 2008-08-07 2009-01-07 浙江工业大学 一种计算机辅助的三维颅面复原方法
CN102034265A (zh) * 2010-11-24 2011-04-27 清华大学 一种三维视图获取方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7688317B2 (en) * 2006-05-25 2010-03-30 Microsoft Corporation Texture mapping 2-D text properties to 3-D text

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339670A (zh) * 2008-08-07 2009-01-07 浙江工业大学 一种计算机辅助的三维颅面复原方法
CN102034265A (zh) * 2010-11-24 2011-04-27 清华大学 一种三维视图获取方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875462B2 (en) * 2020-11-18 2024-01-16 Adobe Inc. Systems for augmented reality authoring of remote environments

Also Published As

Publication number Publication date
CN102521869A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
CN102521869B (zh) 一种几何特征引导的三维模型表面纹理空洞填补方法
Wang et al. Lidar point clouds to 3-D urban models $: $ A review
Verdie et al. LOD generation for urban scenes
Ju Fixing geometric errors on polygonal models: a survey
CN104966317B (zh) 一种基于矿体轮廓线的三维自动建模方法
CN111932671A (zh) 基于密集点云数据的三维实体模型重建方法
Li et al. Shape completion from a single rgbd image
CN106780751A (zh) 基于改进的屏蔽泊松算法的三维点云重建方法
CN102855658B (zh) 基于气象雷达基数据三维重构方法
CN105513131B (zh) 一种顾及褶皱的三维地质结构模型角点网格剖分方法
CN103617603A (zh) 一种三维数字几何网格模型结构的自动修复方法
CN108665530B (zh) 基于单张图片的三维建模实现方法
Pérez et al. A comparison of hole-filling methods in 3D
Brunnett et al. Geometric modeling for scientific visualization
CN108830776A (zh) 面向3d打印模型的三维可见实体水印版权防伪标识方法
CN107767453A (zh) 一种基于规则约束的建筑物lidar点云重构优化方法
CN103530907A (zh) 基于图像的复杂三维模型绘制方法
CN104156997A (zh) 一种基于渲染的快速体数据骨架提取方法
CN111127658A (zh) 一种基于点云重建三角网格曲面的保特征曲面重建方法
Peng et al. Higher Dimensional Vector Field Visualization: A Survey.
Tychonievich et al. Delaunay deformable mesh for the weathering and erosion of 3d terrain
Lu et al. Surface reconstruction via cooperative evolutions
Rasoulzadeh et al. Strokes2Surface: Recovering Curve Networks From 4D Architectural Design Sketches
Wei et al. A point clouds fast thinning algorithm based on sample point spatial neighborhood
CN112967396A (zh) 基于镜向反射的3d模型球面保面积参数化方法及系统

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