一种适用于三维重建的网格纹理化简算法制造技术

技术编号:35746792 阅读:7 留言:0更新日期:2022-11-26 18:51
本发明专利技术公开了一种适用于三维重建的网格纹理化简算法,包括如下步骤,S1、参考三维模型场景的构建;利用三维重建中恢复的场景结构以及已校准图像,对原始精细的三维网格执行纹理贴图,以完成参考三维模型场景的重建;S2、参考三维模型场景的图像采集;依据参考三维模型场景与视图内参、外参之间的三维空间相对姿态关系,利用反反投影原理逐视图逐像素进行三维网格到二维图像的栅格化计算,完成参考图像集的采集;S3、网格和纹理化简;利用QEM算法对网格进行化简,以参考图像集作为数据源并利用纹理重建算法进行纹理的重映射和化简。优点是:本发明专利技术算法可支持网格与纹理一起化简,不同纹理化简参数下,纹理几乎没有失真且能显著降低纹理数据量。理数据量。理数据量。

【技术实现步骤摘要】
一种适用于三维重建的网格纹理化简算法


[0001]本专利技术涉及网格纹理化简
,尤其涉及一种适用于三维重建的网格纹理化简算法。

技术介绍

[0002]近年来,倾斜三维重建技术克服了传统航空摄影只能从垂直角度拍摄的局限,以多角度、高分辨率获取图像,并以大规模、自动化、集群并行计算的方式快速实现三维模型的重建,因此成为了主流的建模手段。然而,随着重建区域的增大以及建模精度的不断提高,激化了快速增长的三维模型数据量与有限的传输带宽、流畅的模型渲染之间的矛盾。网格化简是一种有效的解决途径。
[0003]网格化简技术将高分辨率、精准的原始三维模型转化为较粗略的近似网格模型。目前,国内外学者在这一领域取得卓有成效的进展,算法大致可分为两类:几何驱动的化简算法和外观属性驱动的化简算法。常见的几何驱动的化简算法有基于顶点聚类的算法、基于顶点抽取的算法、基于边折叠算法。该类算法只靠成本度量中的几何体,力求在减少顶点的前提下保证几何保真度,而忽略了颜色和纹理等外观属性,当面对带有纹理等外观属性的三维模型时,化简效果并不理想。而外观属性驱动的化简算法不仅考虑了几何,还考虑了外观属性尤其是纹理,以更好地保证化简后的外观。其中,Garland和Heckbert通过将外观属性合并到二次误差度量(QEM)中扩展他们原来的算法;Sporysz等人对纹理贴图进行Canny边缘检测,同时考虑简化区域面积与三维网格总面积的比值,有效保留网格中边缘信息;She等人根据拓扑和外观对曲面网格进行分割,并推导出一种考虑了几何和纹理的误差度量,最大限度降低了纹理失真度。然而,上述方法仅将模型化简作为三维重建的后处理步骤,均未考虑与三维重建流程紧密结合;并且使用上述方法进行化简处理后的模型在纹理方面存在一定程度的失真问题,且纹理均未做化简处理导致模型数据量依然很大。
[0004]外观属性驱动的化简算法同时将几何与外观属性尤其是纹理考虑进化简过程,以便更好地保持化简后模型的外观。大多数算法使用迭代边折叠来简化网格,并确定每个替换顶点的纹理坐标,以降低纹理失真程度。Garland和Heckbert通过将属性合并到二次误差度量(QEM)中扩展他们原来的算法。Cohen等人通过引入纹理偏差度量并基于该度量局部查找新顶点的纹理坐标,进一步改进了他们的工作。Williams等人基于感知模型,考虑纹理偏差、照明对比度、动态照明等因素,对边缘降维进行优先排序。另外一些算法在网格化简过程中引用纹理图像或渲染图像。Lindstrom和Turk提出了一种图像驱动的简化方法,从多个视点比较简化前、后模型的渲染图像,并计算图像像素的均方根误差(RMSE),然后根据RMSE对边折叠操作进行排序;Qu和Meyer分析了表面信号的感知特性(例如纹理、颜色、光线),并使用结果计算模型每个顶点的重要性值并将其整合到QEM中,以指导简化过程。另外,Pascual等人和Gonz
á
lez等人提出了基于视点熵和互信息的简化算法,也可以减少简化模型的纹理扭曲。
[0005]在带有纹理的模型简化中,还提出了其他外观保持策略。Garc
í
a和Patow提出了一
种称为逆几何纹理(IGT)的纹理技术,该技术为简化模型中的所有顶点定义纹理坐标,以保留高分辨率参考模型中的纹理细节。Chen和Chuang以及Coll和Paradinas对纹理图像进行了修改,以最大限度地减少每个边缘降维造成的纹理失真。值得注意的是,Garc
í
a和Patow、Chen和Chuang以及Coll和Paradinas的方法并不适用于嵌入式LOD构建,因为在迭代简化过程中,继承顶点的纹理坐标或纹理图像内容不断变化。
[0006]在缓解简化模型的纹理扭曲和变形方面,现有研究中最新且较为有效的方法源自She(She J,Gu X,Tan J,et al.An appearance reserving simplification method for complex 3D building models[J].Transactions in GIS,2019,23),其提出了一种新的复杂三维建筑模型简化方法,在几何保真度和纹理保持之间实现了良好的平衡。该方法的基本原理如下:
[0007]步骤1:网格分割。基于广度优先搜索(BFS),依据网格中的几何相似性和纹理特征,将曲面网格分割为多个区域。基于分割结果,为模型的每一条边分配一个权重,以便在同一区域内进行更多的简化操作;
[0008]步骤2:代价计算和半边折叠。遍历该网格以计算所有边的初始成本,并选择成本最小的边作为半边折叠简化的起点,简化中充分考虑了模型中的纹理信息。
[0009]步骤3:纹理坐标更新。调整纹理坐标并更新相邻边的成本。当简化率超过用户指定的阈值(简化率定义为删除的三角形数除以原始模型中的三角形数)时,该方法终止。
[0010]现有算法在网格化简方面已经很成熟,但在纹理化简方面只考虑了化简后网格对应的纹理坐标的计算和更新,这只能在一定程度上缓解纹理扭曲和变形,并未完全解决该问题;其次,算法未对纹理内容进行化简,导致化简后模型的数据量依然很大。以下对两个方面进行详细说明:
[0011](1)化简后网格纹理扭曲和变形方面:
[0012]由于化简算法是按照一定的合并规则(如二次度量公式)对三维空间邻接关系的面片进行网格顶点删除、边折叠和面合并等操作。但囿于这些被合并的面片对应的纹理斑块在二维纹理空间不一定是连续的,这种离散分布现象导致了不能正确计算合并新生成三角面片的纹理坐标,以下结合图1和图2进行说明:
[0013]根据现有算法(she),将原始网格M
i
‑1合并为化简网格M
i
,在合并过程中顾及了模型纹理扭曲和变形的问题:算法步骤2中构建的误差度量公式倾向于合并连续的纹理斑块,如图2(c)中的t
′1、t
′5;对于离散分布的纹理斑块,如图2(c)的t
′2、t
′3、t
′4,算法将收集折叠前、后多个线段组,线段对之间并没有交点,则纹理误差公式计算失败,因此不能处理该类情况,算法存在一定的局限性。
[0014]同时,现有算法步骤3中调整纹理坐标时,根据化简前、后网格顶点建立的纹理坐标映射表,查找纹理空间最近的纹理坐标值进行近似代替,如图1(b)中面片t3所属的顶点v2对应的纹理坐标tex2则用图1(a)中面片t5所属的顶点v2对应的纹理坐标tex2替代,注意这里的两个tex2在纹理空间很有可能不是同一个坐标,因此,图1(b)中面片t3的纹理图斑很有可能会出现扭曲或变形。
[0015]图2(a)M
i
‑1是3D空间中的原始网格,t1~t5是5个相邻的面片;图2(b)M
i
是半边折叠(v1,v2)

v2后的简化网格;图2(c)I代表2D纹理空间,t
′1~t
′5是t1~t5在纹理空间对应的图斑,v...

【技术保护点】

【技术特征摘要】
1.一种适用于三维重建的网格纹理化简算法,其特征在于:包括如下步骤,S1、参考三维模型场景的构建;利用三维重建中恢复的场景结构以及已校准图像,对原始精细的三维网格执行纹理贴图,以完成参考三维模型场景的重建;S2、参考三维模型场景的图像采集;依据参考三维模型场景与视图内参、外参之间的三维空间相对姿态关系,利用反反投影原理逐视图逐像素进行三维网格到二维图像的栅格化计算,完成参考图像集的采集;S3、网格和纹理化简;利用QEM算法对网格进行化简,以参考图像集作为数据源并利用纹理重建算法进行纹理的重映射和化简。2.根据权利要求1所述的适用于三维重建的网格纹理化简算法,其特征在于:步骤S1具体包括如下内容,S11、基于多视图像的网格面片进行最佳视图选择;以graph cuts和alpha expansion最小化视图的能量函数,求得网格中每个面片的最佳视图;并创建纹理斑块,将空间相邻且具有相同最佳视图的面片存入同一纹理斑块;texturePatch=({Tri
j
...Tri
n
},l
i
)
ꢀꢀꢀꢀ
(2)其中,E(l)为视图l的能量函数;E
data
为数据项,Grad
ij
为三角网格f
i
在标记图像l
i
下的Soble梯度积分,表示节点f
i
选择某个标签图像l
i
的概率大小;E
smooth
为平滑项,表示邻接节点f
i
和f
j
选择相同标签图像时,平滑项的值为0,否则为无穷大;texturePatch为某一纹理斑块,Tri
j
为属于当前纹理斑块的一个面片,l
i
为当前纹理斑块对应的最佳视图;F
i
为面片;Faces为面片集合;F
j
为与F
i
相邻的面片;l
i
和l
j
为图像,i和j为编号;S12、纹理块接缝处的颜色调整;采用全局颜色调整和泊松编辑局部颜色调整对相邻面片接缝处进行颜色调整;S13、纹理空间布局及纹理坐标计算;依据视图的投影矩阵将纹理斑块中存储的面片顶点坐标逐一反投影到视图图像空间并计算纹理斑块对应的包围盒,利用二维盒子打包算法进行纹理空间布局并计算出每个包围盒的偏移值;计算每个面片的纹理坐标值,并提取像素数据,生成参考三维模型场景的纹理。3.根据权利要求2所述的适用于三维重建的网格纹理化简算法,其特征在于:步骤S2具体包括如下步骤,S21、根据已恢复场景中视图的内参、外参和图像分辨率构建视图l的投影矩阵,如公式3,将世界坐标系下的三维点变换到视图图像坐标系下的像素;然后,对参考三维模型场景建立八叉树索引,便于快速搜索视图l的可见面片;
其中,M1为内参矩阵,M2为外参矩阵;X、Y分别为视图图像坐标系下x轴坐标值和y轴坐标值;Z
c
为相机坐标系z轴坐标值;f为相机焦距;μ0、v0分别为中心像素坐标;R
c
为3
×
3旋转矩阵,即相机坐标系相对于世界坐标系的旋转;T
c
为3
×
1的平移向量,即相机坐标系相对于世界坐标系的偏移;O1×3为1
×
3的零向量;X
w
、Y
w
、Z
w
分别为世界坐标系下在x轴、y轴和z轴的分量;S22、结合视图l的相机投影矩阵,分别创建一张与视图图像相同分辨率Re(width,height)的深度图l
depth
和参考图像l
ref
,深度图l
depth
位于视图l的相机坐标系下,且深度值初始化为0;其中,widt...

【专利技术属性】
技术研发人员:刘振东洪志远朱立宁蔡昊琳屈文虎张帅哲
申请(专利权)人:中国测绘科学研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1