技术领域
本发明属于算法领域,具体涉及一种基于泊松曲面重建算法修复三维模型缺失信息的方法。
背景技术
三维模型是新一代数字化、虚拟化、智能化设计平台的基础,是数字“新基建”的重要支撑和典型场景。它是建立在平面和二维设计的基础上,三维模型是让设计目标更立体化,更形象化的一种新兴视觉呈现方法,是设计、评审、进度管控、财务结算等系列高级应用的前提。
目前针对三维模型都是通过人工检测的方式发现三维模型中的缺失信息,因此检测过程时间周期长且容易漏检。
发明内容
为解决上述技术问题,本发明采用如下技术方案:一种基于泊松曲面重建算法修复三维模型缺失信息的方法,包括:
检测三维模型是否含有缺失信息;
计算含有缺失信息的三维模型缺失边界的法向量;
基于三维模型缺失边界的法向量通过泊松曲面重建算法修复缺失信息。
优选的,所述检测三维模型是否含有缺失信息包括:
对有n个点的模型,模型中剖分三角形个数为X和,模型中剖分三角形边的总数为Y,m为边界节点数,H为不闭合空洞总数,则:
三维模型含有缺失信息满足以下表达式:
X=2n-m+2H-2;
Y=3n-m+3H-3;
三维模型完整信息满足以下表达式:
X=2n-m+2H-4;
Y=3n-m+3H-6;
优选的,所述检测三维模型是否含有缺失信息包括:
获取三维模型后,遍历其所有边及剖分三角形,统计边总数Y及剖分三角形个数为X,顶点总数n;
如果边总数Y小于顶点总数n-1,则为异常模型;
如果满足边总数Y*2等于剖分三角形个数X*3,则该三维模型为闭合模型;
如果满足边总数Y*2大于剖分三角形个数X*3,则该三维模型含有缺失信息。
优选的,所述计算含有缺失信息的三维模型缺失边界的法向量包括:
计算三维模型缺失边界已知顶点法向量,已知缺失边界的任意顶点为P
(P
已知不闭合边界点的集合,则点集合的法向量为:
其中,n表示已知不闭合边界点的数量。
优选的,所述基于三维模型缺失边界的法向量通过泊松曲面重建算法修复缺失信息包括:
建立八叉树关系:根据三维模型缺失边界的法向量划分网格,并定义八叉树,并细分八叉树使得新的采样点都落在深度为P
定义函数函数空间:针对八叉树的任意节点定义空间函数F,使用向量场V逼近近似的梯度空间后进行三次条样差值:
对于任意点p,定义
其中σ为滤波宽度参数,控制滤波作用范围,q为参考点;
Fp(q)=F(q–p)为F沿p方向的平移,定义χ
泊松求解:向量空间
本发明采用的技术方案,具有如下有益效果:检测三维模型是否含有缺失信息;计算含有缺失信息的三维模型缺失边界的法向量;基于三维模型缺失边界的法向量通过泊松曲面重建算法修复缺失信息,相比于手动检测更有准确度及效率。
本发明的具体技术方案及其有益效果将会在下面的具体实施方式中结合附图进行详细的说明。
附图说明
下面结合附图和具体实施方式对本发明作进一步描述:
图1为本发明一种基于泊松曲面重建算法修复三维模型缺失信息的方法的流程示意图;
图2为本发明一种基于泊松曲面重建算法修复三维模型缺失信息的方法中步骤S1的流程示意图;
图3为本发明一种基于泊松曲面重建算法修复三维模型缺失信息的方法中步骤S3的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的基本思想是检测三维模型是否含有缺失信息;计算含有缺失信息的三维模型缺失边界的法向量;基于三维模型缺失边界的法向量通过泊松曲面重建算法修复缺失信息,相比于手动检测更有准确度及效率。
基于上述思想,参考图1所示,一种基于泊松曲面重建算法修复三维模型缺失信息的方法,包括以下步骤:
S1:检测三维模型是否含有缺失信息。
在一实施例中,检测三维模型是否含有缺失信息的方法为:
闭合三维模型的必要条件为模型上任意x边多边形需要与x个多边形相邻。对有n个点的模型,模型中剖分三角形个数为X和,模型中剖分三角形边的总数为Y,m为边界节点数,H为不闭合空洞总数,则:
三维模型含有缺失信息满足以下表达式:
X=2n-m+2H-2;
Y=3n-m+3H-3;
三维模型完整信息满足以下表达式:
X=2n-m+2H-4;
Y=3n-m+3H-6。
基于闭合三维模型的必要条件,通过上述表达式对三维模型的完整性进行判断,从而检测该三维模型是否含有缺失信息。
在另一实施例中,检测三维模型是否含有缺失信息的方法为:采用红黑树检测算法检测三维模型是否含有缺失信息。具体的,如图2所示,包括以下步骤:
S11:获取三维模型后,遍历其所有边及剖分三角形,统计边总数Y及剖分三角形个数为X,顶点总数n;
S12:如果边总数Y小于顶点总数n-1,则为异常模型;
S13:如果满足边总数Y*2等于剖分三角形个数X*3,则该三维模型为闭合模型;
S14:如果满足边总数Y*2大于剖分三角形个数X*3,则该三维模型含有缺失信息。
基于异常模型、闭合模型及含有缺失信息的三维模型边总数与顶点总数的关系,通过上述条件判断对三维模型的类型进行判断,从而检测该三维模型是否含有缺失信息。
S2:计算含有缺失信息的三维模型缺失边界的法向量。
计算三维模型缺失边界已知顶点法向量,已知缺失边界的任意顶点为P
(P
已知不闭合边界点的集合,则点集合的法向量为:
其中,n表示已知不闭合边界点的数量。
S3:基于三维模型缺失边界的法向量通过泊松曲面重建算法修复缺失信息。
具体包括以下步骤:
S31:建立八叉树关系;
根据三维模型缺失边界的法向量划分网格,并定义八叉树,并细分八叉树使得新的采样点都落在深度为P
S32:定义函数函数空间;
针对八叉树的任意节点定义空间函数F,使用向量场V逼近近似的梯度空间后进行三次条样差值:
对于任意点p,定义
其中σ为滤波宽度参数,控制滤波作用范围,q为参考点;
Fp(q)=F(q–p)为F沿p方向的平移,定义χ
S33:泊松求解。
向量空间
解该方程可得指示函数,方程的解采用拉普拉斯矩阵迭代求出。利用方程的解实现修复缺失信息。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。
机译: 使用泊松概率从二维图像构建三维模型的系统和方法
机译: 基于泊松模型的一种x射线胸腔图像肋骨抑制方法
机译: 泊松噪声中泊松信号的检测方法