首页/文章/ 详情

基于QEM-Draco的数字孪生几何模型轻量化方法

2月前浏览820

致力于数字孪生体技术的研究与发展

通过解决方案和工程化应用造福人类

来源:市场监管领域

字孪生重点实验室


编者按

在数字孪生(Digital Twin, DT)技术快速发展的今天,几何模型的轻量化成为了提升系统性能和用户体验的关键要素。数字孪生不仅需要精确地模拟物理世界,还必须具备实时更新和高效响应的能力。然而,复杂的几何模型往往包含大量的顶点和面,导致数据体积庞大,给存储、传输和渲染带来了巨大挑战。


因此,如何在不牺牲模型精度的前提下,实现几何模型的轻量化,成为了实施数字孪生关键。本期文章提供了一套通用的几何模型轻量化流程:几何模型轻量化-模型压缩-一致性评价的一体化范式。


首先,通过Quadric Error Metrics(QEM)算法对几何模型进行优化,减少模型的顶点和面片数量,在保留模型主要几何特征的前提下显著降低复杂度。其次,使用Draco算法对简化后的模型进行压缩,通过高效编码进一步减小模型文件体积,使其更适合存储和传输。最后,利用Metro网格对优化和压缩后的模型与原始模型进行一致性评价,确保轻量化后的模型在几何保真度上与原始模型保持高度一致,助力数字孪生在各类应用场景中的广泛应用。


几何模型轻量化    


采用QEM网格简化,它是一种基于顶点对的迭代收缩度量的网格简化算法。其基本思想是基于二次度量误差对某一边进行塌缩,将边的两个点合成一个点,如图1所示。在每个迭代步骤中,算法选择待折叠的边,得到这条边的顶点坐标和局部变量信息,根据二次度量误差方法计算DT几何模型中每个顶点的误差,获取多条折叠边的代价。然后,将所有的边折叠代价进行比较,选择边折叠代价最小的边。最后对选定的边进行折叠操作,同时删除原待折叠边的顶点以及两个顶点所在的三角形网格,以及与原始顶点相关的边。


图1 基于二次度量误差的模型简化


QEM简化网格算法模型与原始DT几何模型有更好的近似,且生成的网格模型有更多均匀面积的等边三角形。


1. 优化二次型误差度量矩阵

许多DT几何模型对象具有复杂的几何形状和内部结构。模型的三角网格拓扑结构包含许多流形和非流形曲面。对于非流形曲面,一条边连接的三角面数会大于2,或者一个顶点会连接多个单独的区域,可使用QEM算法来简化处理。而对于流形曲面,利用三角面片面积作为简化模型的指标,即权重因子,计算每个平面的二次型误差度量矩阵和基本二次误差曲面。通过设置边界约束控制简化的程度,来确定新顶点位置。根据每个三角形对模型外观的贡献程度,逐步合并三角形网格,最终生成一系列不同细节级别的DT几何模型。


对于流行曲面,处理步骤如下:对于每个网格边的顶点,计算与其相邻的三角面片的法向量的加权平均,并计算网格模型边界约束平面和相应的二次型误差度量矩阵。其次,以三角网格面积作为权重,与每个顶点的二次误差曲面相乘。将新求解的边界约束平面的二次误差曲面添加到边界边的两个端点。再次,在计算顶点的新二次误差曲面时,将每个边界顶点连接的边与其相邻的面的法向量进行叉积计算,得到约束平面的法线。最后,将所有三角面片的面积的最大值作为边界约束面的权重,并将其添加到每个顶点的新二次误差曲面中,其目的是更好地考虑边界顶点与非边界区域之间的连接关系。


图2 优化QEM算法后的简化模型


2. 优化网格定点位置

LBFGS拟牛顿法用来调整复杂网格形状,优化三维模型的网格顶点和网格细节。此外,LBFGS还可用于最小化表面能量,以获得更平滑和自然的表面,或者处理带有各种不同类型的约束条件的网格优化问题,确保满足几何、边界等不同的约束条件,以提高数字孪生模拟实体的准确性。LBFGS在迭代过程中只保留最近m次迭代的信息,逼近Hessian矩阵,避免了存储整个Hessian矩阵的需求,从而提高了算法的可扩展性,减小计算机处理的复杂度。因此,LBFGS在每次迭代计算中使用有限内存的方法来引导参数的更新优化。拟牛顿法的程序框图如图3。


图3 LBFGS拟牛顿法的程序框图


模型压缩    


通过上述算法对DT几何模型进行简化曲面、优化网格顶点等操作,网格模型中的点、面、线数量均可显著减小。随着沉浸式3D体验的需求不断上升,文件格式变得越来越重要。GLTF(图形库传输格式)和GLB(GLTF的二进制表示)已成为存储3D模型的主流选择,这两种格式的模型能够封装几何、纹理、动画等信息,并且可以与Draco算法集成,对DT几何模型进行压缩,方便后续的快速加载、实时仿真和渲染。


Draco是谷歌开源的程序,采用了两种主要的数据压缩方法。一是几何压缩,侧重于模型的顶点数据,将原始顶点表示转换为更紧凑的索引或编码的坐标形式。二是属性压缩,除了几何数据,Draco还可以处理材质、颜色和其他表面属性,并且它采用特定的编码策略,确保这些信息在解压后仍能精确恢复。


KHR_Draco_mesh_compression是Draco算法中常见的压缩方式,在使用Darco算法的时候要考虑画质问题,使用Draco算法之后的模型可能会出现画质的损失。且同一个模型导出的GLB和GLTF大小不一,GLB格式要比GLTF小。因此在使用Draco算法进行模型压缩时,需要在压缩比率和画质之间取得平衡。但总体而言,Draco算法通常可以将DT几何模型的GLB和GLTF文件的大小减小至20%甚至更低。


在分布式系统中,模型数据需要在不同节点之间传输。轻量化的几何模型减少了数据传输量,提升了网络传输效率,尤其在带宽有限的情况下,可以显著减少传输时间,降低延迟。


模型一致性判别    


使用Metro网格算法对上述两种算法简化、压缩后的模型进行几何测量,是评估模型简化质量的常用方法之一。Metro网格算法是一种几何误差分析工具,通过比较原始模型与简化、压缩后模型之间的几何差异来评估简化效果。


具体来说,Metro网格算法利用模型表面上的点和法向量来精确计算两者之间的几何误差。它通过将原始模型与简化模型进行逐点比较,测量各对应点之间的距离,并计算这些距离的最大误差和均方根误差。其中,最大误差反映了两者之间最大的几何偏差,通常用于评估最差情况下的简化效果;而均方根误差则提供了一个整体误差的平均值,反映了简化过程中模型整体的几何一致性。


图4 模型一致性判别(偏差0.00648mm)

视频号《安世亚太》        

  传统城市建造面临的挑战和问题

     


以上视频源自视频号        
     

关注《安世亚太》,精彩不错

来源:数字孪生体实验室
通用数字孪生控制渲染曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-01
最近编辑:2月前
数字孪生体实验室
围绕数字孪生技术的创新研发,推...
获赞 446粉丝 366文章 594课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈