CN110033519B - 基于隐式函数的三维建模方法、装置、系统及存储介质 - Google Patents
基于隐式函数的三维建模方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN110033519B CN110033519B CN201910326023.4A CN201910326023A CN110033519B CN 110033519 B CN110033519 B CN 110033519B CN 201910326023 A CN201910326023 A CN 201910326023A CN 110033519 B CN110033519 B CN 110033519B
- Authority
- CN
- China
- Prior art keywords
- voxel
- seed
- growth
- voxels
- queue
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种基于隐式函数的三维建模方法、装置、系统及存储介质,该方法包括:获取采集设备采集的待建模对象对应的采样点信息;基于所述采样点信息构造空间插值点,得到用于表征所述待建模对象的三维模型几何域的隐式函数;根据网格划分的体素单元尺寸对所述三维模型按照三维的方向进行分割,得到空间规则数据场;确定种子点的集合,基于所述种子点的集合中各种子点对应的种子体素得到种子体素集合;从所述种子体素集合中提取一作为起始搜索体素的种子体素,将所述起始搜索体素根据设定规则加入生长体素队列,并遍历所述生长体素队列以进行确定所述三维模型的边界的等值面提取;根据等值面提取的结果构建所述待建模对象的三维模型。
Description
技术领域
本申请涉及三维建模领域,具体涉及一种基于隐式函数的三维建模方法、装置、系统及存储介质。
背景技术
三维建模在许多领域得到了应用,例如:计算机医学图像处理与三维重建中器官的几何模型重建、逆向工程中通过对原物件进行三维激光扫描获取的点云数据进行三维曲面重建、地质勘探中基于钻孔数据点进行矿体三维模型构建等。相关技术中,一般通过隐式曲面重构技术进行三维建模,即隐式建模方法,该隐式建模方法是通过定义在三维模型空间上的隐式函数来表达模型的方法。在隐式曲面重构过程中,需要对隐式函数所在的三维空间规则数据场进行大量的采样和取值,这需要耗费大量的时间。为了提高重构的效率,需要尽量减少采样点和取值。在应用传统的移动立方体法、曲面追踪法(又称区域生长法)进行模型重构的过程中,为了圈定等值面,需要计算所有立方体素各顶点的标量值,并比较其与等值面灰度值之间的关系,然而这将带来大量的时间复杂度,影响建模速率。
具体来说,三维建模是把二维的剖面构建成三维数据场,通过在三维数据场中组合体素,再采用适当算法来拟合物体表面的方法。移动立方体法是将三维数据场中每个栅格单元都视作一个立方体素,每个体素对应八个顶点,体素的每个顶点都存在对应的标量值,通过遍历三维数据场中的所有体素,比较每个体素上八个顶点的值与给定的等值面灰度值的关系以确定边界立方体素,如果体素顶点上的值大于或等于等值面值,则定义该顶点位于等值面之外,标记为“0”;而如果体素顶点上的值小于等值面值,则定义该顶点位于等值面之内,标记为“1”。再按三角面片连接表在边界立方体素内连接成一个或多个三角面片,用以近似表示等值面。
每个体素有八个顶点,那么体素与等值面相交一共存在28=256种状态,如果互换体素顶点标记状态值“0”和“1”或者旋转体素得到相同的情形视为同一状态,则可以被简化为15种状态。移动立方体法需要记录每一个体素的各顶点的灰度值与等值面阈值之间的关系,直至队列中的所有体素都处理完毕,如图1A所示。由于需要对所有的体素都进行遍历,这样会耗费非常多的时间在非边界体素(即与等值面不相交的体素)的检测上,将造成大量的时间浪费,影响三维建模的建模速率。
曲面追踪法能够在一定程度上解决这一问题,其思路是如果等值面与立方体素存在相交,那么等值面则必然在切割体面处有延伸,所以只需要查找和追踪与等值面延伸向的临近立方体素,就可以将所有与等值面相交的立方体素找到,因此,曲面追踪的过程较大程度依赖于记录立方体素与其相邻体素连接状态的体素邻接查找表。
曲面追踪法的基本步骤为:首先,创建记录各种相交模式索引及其对应相邻体素的等值面延伸情况的邻接查找表;然后遍历立方体素得到生长种子点P0,并根据等值面的灰度值和创建的邻接查找表确定生长边界,据此确定生长区域并进行等值面的连接;创建一个存储待处理的立方体素信息的队列和存放立方体素处理情况反馈的标志数组;处理完队列中的所有立方体素,即可得到所有的等值面近似。
但是,曲面追踪法中遍历得到生长种子点本身是一个耗时的过程,同时,需要计算每一个立方体素的八个顶点灰度值与等值面之间的关系也需要耗费大量时间。而另一方面,由于遍历得到第一个种子点后,遍历的过程即已结束,所以如果模型由两个或两个以上的独立部分组成,以上方法则有可能造成种子点的遗漏,从而无法完整的重构模型,如图1B所示。
综上所述,现有的基于移动立方体法或者曲面追踪法的三维建模方法,往往存在采样点多或者建模不完整,影响重构效率或者不能完整重构原始模型的问题。
发明内容
有鉴于此,本申请实施例提供了一种基于隐式函数的三维建模方法、装置、系统及存储介质,旨在减少采样点、提高三维建模的建模效率,同时更加完整地重构模型。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种基于隐式函数的三维建模方法,该方法包括:
获取采集设备采集的待建模对象对应的采样点信息;
基于所述采样点信息构造空间插值点,得到用于表征所述待建模对象的三维模型几何域的隐式函数;
根据网格划分的体素单元尺寸对所述三维模型按照三维的方向进行分割,得到空间规则数据场;
确定种子点的集合,基于所述种子点的集合中各种子点对应的种子体素得到种子体素集合;
从所述种子体素集合中提取一作为起始搜索体素的种子体素,将所述起始搜索体素根据设定规则加入生长体素队列,并遍历所述生长体素队列以进行确定所述三维模型的边界的等值面提取;
根据等值面提取的结果构建所述待建模对象的三维模型。
第二方面,本申请实施例提供一种基于隐式函数的三维建模装置,该装置包括:
获取模块,用于获取采集设备采集的待建模对象对应的采样点信息;
隐式函数确定模块,用于基于所述采样点信息构造空间插值点,得到用于表征所述待建模对象的三维模型几何域的隐式函数;
网格划分模块,用于根据网格划分的体素单元尺寸对所述三维模型按照三维的方向进行分割,得到空间规则数据场;
种子体素集合确定模块,用于确定种子点的集合,基于所述种子点的集合中各种子点对应的种子体素得到种子体素集合;
等值面提取模块,用于从所述种子体素集合中提取一作为起始搜索体素的种子体素,将所述起始搜索体素根据设定规则加入生长体素队列,并遍历所述生长体素队列以进行确定所述三维模型的边界的等值面提取;
三维建模模块,用于根据等值面提取的结果构建所述待建模对象的三维模型。
第三方面,本申请实施例提供一种基于隐式函数的三维建模系统,该系统包括:
存储器,用于存储可执行程序;
处理器,用于执行所述存储器中存储的可执行程序时,实现前述实施例所述的基于隐式函数的三维建模方法。
第四方面,本申请实施例提供一种计算机存储介质,存储有可执行程序,所述可执行程序被处理器执行时,实现前述实施例所述的基于隐式函数的三维建模方法。
本申请实施例提供的技术方案中,通过确定种子点的集合,基于所述种子点的集合中各种子点对应的种子体素得到种子体素集合,从所述种子体素集合中提取一作为起始搜索体素的种子体素,将所述起始搜索体素根据设定规则加入生长体素队列,并遍历所述生长体素队列以进行确定所述三维模型的边界的等值面提取;根据等值面提取的结果构建所述待建模对象的三维模型,通过种子体素集合与生长体素队列相结合的搜索方式来提取等值面,能有效减少无效立方体素的遍历过程,提高三维建模的效率,尤其适用于三维模型的立方体素单元数量大、模型的复杂度高的情形;且通过种子体素集合,可以实现对多个模型的建模,有效避免了种子点的遗漏,从而在提高建模效率的同时亦能满足三维建模的完整性的要求。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1A为相关技术中移动立方体法的原理示意图;
图1B为相关技术中曲面追踪法的原理示意图;
图2为本申请一实施例中基于隐式函数的三维建模方法的流程示意图;
图3为本申请一实施例中隐式曲面与函数值关系的示意图;
图4为本申请一实施例中隐式曲面及种子点、种子体素的示意图;
图5为本申请一实施例中各种子点对应的种子体素的结构示意图;
图6为本申请一实施例中生长体素队列提取等值面的原理示意图;
图7为本申请另一实施例中基于隐式函数的三维建模方法的流程示意图;
图8为本申请一实施例中重构的第一三维模型的结构示意图;
图9为本申请一实施例中重构第一三维模型采用不同建模方法的建模速度对比图;
图10为本申请一实施例中重构的第二三维模型的结构示意图;
图11为本申请一实施例中重构第二三维模型采用不同建模方法的建模速度对比图;
图12为本申请一实施例中基于隐式函数的三维建模装置的结构示意图;
图13为本申请一实施例中基于隐式函数的三维建模系统的结构示意图。
具体实施方式
以下结合说明书附图及具体实施例对本申请技术方案做进一步的详细阐述。应当理解,此处所提供的实施例仅仅用以解释本申请,并不用于限定本申请。另外,以下所提供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本申请实施例提供一种基于隐式函数的三维建模方法,相较于现有的移动立方体法和曲面追踪法,本申请实施例三维建模方法由于避免了大量无效立方体素的遍历过程,且过滤了查找生长边界过程中的重复点的计算,因此,在模型重构的速度上得到了较大幅度的提高。
请参阅图2,在一实施例中,本申请基于隐式函数的三维建模方法,包括:
步骤201,获取采集设备采集的待建模对象对应的采样点信息;
本实施例待建模对象可以是地质建模的矿体、医学CT切片建模的对象或者其他需要进行三维建模的对象。例如,在地质建模中,可以通过三维激光扫描仪等采集设备得到地质勘测对应的一系列采样点,多个采样点构成所述采样点信息。该所述采样点信息可以为三维的点云数据,譬如三维激光扫描仪扫描得到的点云数据。本申请实施例可以利用有限的采样点信息进行三维模型的重建。
步骤202,基于所述采样点信息构造空间插值点,得到用于表征所述待建模对象的三维模型几何域的隐式函数;
根据采样点信息构造有符号距离场,以有符号距离场对应的隐式函数来表征待建模对象的三维模型几何域。
如图3所示,其中,位于隐式曲面内部的点为“负值”,外部点为“正值”,由零值点所确定的零水平点集即为三维模型的隐式曲面。也即对于三维空间中的任意点P,三维隐式曲面与隐式函数F(P)之间的关系可以表示为:
其中,R3表示三维空间,内部采样点的函数值为负值,外部采样点的函数值为正值,按函数值为零所提取的零水平集即为三维模型的边界。
在一示例中,获取采集设备采集的采样点信息构成的采样点集合其中,Pi为任意采样点,N为采样点个数。按有符号距离场的方法将其转化为包含距离值的插值点,采用径向基等隐式函数进行空间插值可以得到表征三维模型几何域的隐式函数F(P),以F(P)的零水平集表征三维模型的边界(即隐式曲面)。
步骤203,根据网格划分的体素单元尺寸对所述三维模型按照三维的方向进行分割,得到空间规则数据场;
在一实施例中,可以根据隐式函数确定的插值点的集合确定三维模型的初始最小外包,可选地,根据外包缩放系数λ确定缩放后的最小外包,该外包缩放系数λ可以根据插值点的数目、建模精度进行合理选择。
根据网格划分的体素单元尺寸φ将三维模型的最小外包分别沿X轴、Y轴、Z轴3个方向进行分割,得到空间规则数据场。
请参阅图4,其中,隐式曲面边界为隐式函数F(P)的零水平集,立方体素为根据体素单元尺寸φ确定的立体单元,网格点为立方体素对应的顶点,种子点为定义的位于三维模型的边界上的点,种子体素为种子点对应的立方体素。
步骤204,确定种子点的集合,基于所述种子点的集合中各种子点对应的种子体素得到种子体素集合;
本实施例通过确定种子点的集合,基于所述种子点的集合中各种子点对应的种子体素(如图5所示),得到种子体素集合。在一实施例中,可以根据所述隐式函数确定函数值为零的空间插值点来选取种子点,确定种子点的集合。通过将种子点所在立方体素确定为种子体素,从而不再需要遍历所有立方体素就可以得到种子体素,并生成种子体素集合,从而节约了大量的时间。
可选地,本实施例还可以允许人工指定种子点,从而进一步提高模型重构的完整性和准确性。在另一实施例中,所述确定种子点的集合,包括:通过所述隐式函数确定函数值为零的空间插值点及人工指定的种子点;所述基于所述种子点的集合中各种子点对应的种子体素得到种子体素集合,包括:根据所述函数值为零的空间插值点、所述人工指定的种子点所在的立方体素确定各自对应的种子体素,对于所述人工指定的种子点,判断其对应的种子体素是否包含满足种子体素要求,根据判断结果确定所述种子体素集合。其中,人工指定的种子点是为了避免自动搜索种子点可能产生的遗漏;人工指定种子点时,根据函数值的符号来确定,在正值与负值中间,理论上应该存在零值点,当建模工程师认为某地方可能存在零值而没有被自动搜索出来时,可以人工指定。针对人工指定种子点,结合其是否满足种子体素的要求,从而剔除不符合要求的人工指定种子点对应的种子体素,根据符合要求的人工指定种子点对应的种子体素和搜索的函数值为零的空间插值点对应的种子体素得到种子体素集合S。
步骤205,从所述种子体素集合中提取一作为起始搜索体素的种子体素,将所述起始搜索体素根据设定规则加入生长体素队列,并遍历所述生长体素队列以进行确定所述三维模型的边界的等值面提取;
在一示例中,遍历种子体素集合S,从中取出一个种子体素作为起始搜索体素,将所述起始搜索体素加入生长体素队列G,其中,所述生长体素队列G为一待生长的种子体素的有序集合。该生长体素队列G遵循“先进先出”的原则,且生长体素队列中的体素(都是种子体素)都来自于种子体素集合S。
依序遍历所述生长体素队列,根据所述隐式函数计算当前的生长体素各网格点的函数值,存储该生长体素的索引及对应的函数值,这样,可以避免下次重复计算。
通过线性插值法计算等值面与当前的生长体素各边的交点,基于所述交点确定对应的三角面片,存储该生长体素的索引及对应的三角面片,这样,可以避免下次重复提取等值面。
通过查找体素索引的方式从所述种子体素集合中删除与所述当前的生长体素的索引一致的种子体素;
根据体素邻接表在所述种子体素集合中查找与所述当前的生长体素对应的邻接生长体素,将所述邻接生长体素加入到所述生长体素队列G;
判断所述生长体素队列是否遍历完毕,若否则返回所述依序遍历所述生长体素队列的步骤,直至遍历完毕,以对各种子体素进行等值面提取。
本实施例通过查找体素索引的方式从所述种子体素集合中删除与所述当前的生长体素的索引一致的种子体素,即在查找一条生长边界的过程中,若遇到插值点同为种子点的情况,则将该点移除,由于有效过滤了查找生长边界过程中的重复点的计算,利于提高建模效率。
可选地,在一实施例中,还包括:判断所述种子体素集合中的种子体素是否遍历完毕,若否,则返回所述从所述种子体素集合中提取一作为起始搜索体素的种子体素的步骤,并根据该起始搜索体素创建生长体素队列,并执行依序遍历该生长体素队列的步骤,以对各生长体素提取等值面。并判断所述生长体素队列是否遍历完毕,若否则返回所述依序遍历所述生长体素队列的步骤,若是则返回所述判断所述种子体素集合中的种子体素是否遍历完毕的步骤。并在确定种子体素集合中的种子体素遍历完毕时,执行步骤206。这样,避免了现有的曲面追踪法中因遍历得到第一个种子点后遍历过程即结束,导致两个或者两个以上的独立模型无法完成完整重构的问题,如图6所示,本实施例的体素生长法可以实现两个或者两个以上的模型对应的边界的生长体素队列的等值面提取。
可选地,在一实施例中,所述将所述邻接生长体素加入到所述生长体素队列之前,还包括:确定所述三维模型的最小外包;判断所述邻接生长体素是否越界所述最小外包,若是,则不加入所述生长体素队列,若否,则将相应的所述邻接生长体素加入所述生长体素队列。其中,确定所述三维模型的最小外包可以是步骤203中根据隐式函数确定的插值点的集合确定三维模型的初始最小外包,并根据外包缩放系数λ确定缩放后的最小外包。
步骤206,根据等值面提取的结果构建所述待建模对象的三维模型。
本实施例中,合并各生长体素对应的三角面片,构建所述待建模对象的三维模型。由于通过隐式函数的函数值为零的等值面与各生长体素的边的交点确定了对应的三角面片,通过将各三角面片合并,从而得到三维模型的近似等值面。
本申请实施例三维建模方法,根据种子点自动获取种子体素的改进的种子生长的方法,种子点所在的立方体素即指定为种子体素,从而不再需要遍历所有立方体素就可以得到种子体素,节约了大量的时间。同时,较传统区域生长法只能处理单个模型,可能造成模型重构不完整和不准确的情况,本方法可以确定多个种子体素,因而能够同时重构多个模型,所以建模成果将更准确,如图6所示。此外,本实施例三维建模方法还允许在自动获取种子人工指定种子点,进一步提高了模型重构的完整性和准确性。另一方面,在重构的过程中,从某一指定生长种子点出发,查找一条生长边界的过程中,会遇到插值点同为种子点的情况。此时,认定该点重复计算,故将该点移除,以提高模型三维重构的速度。
请参阅图7,为本申请另一实施例中基于隐式函数的三维建模方法的流程示意图,包括:
步骤701,初始化数据;
可以先对三维建模方法的相关参数进行初始化设置,该相关参数可以包括如下:采样方法、采样点个数N、立方体素单元尺寸φ等,人工指定种子点等。
步骤702,构建面片构型表、体素邻接表;
预先构建面片构型表、体素邻接表。
步骤703,插值得到隐式函数;
在一示例中,获取采集设备采集的采样点信息构成的采样点集合其中,Pi为任意采样点,N为采样点个数。按有符号距离场的方法将其转化为包含距离值的插值点,采用径向基等隐式函数进行空间插值可以得到表征三维模型几何域的隐式函数F(P),以F(P)的零水平集表征三维模型的边界(即隐式曲面)。
步骤704,构建空间规则数据场;
在一实施例中,可以根据隐式函数确定的插值点的集合确定三维模型的初始最小外包,并根据外包缩放系数λ确定缩放后的最小外包,该外包缩放系数λ可以根据插值点的数目、建模精度进行合理选择。
根据网格划分的体素单元尺寸φ将三维模型的最小外包分别沿X轴、Y轴、Z轴3个方向进行分割,得到空间规则数据场。
步骤705,确定种子点集合Z;
通过所述隐式函数确定函数值为零的空间插值点及人工指定的种子点确定种子集合Z。
步骤706,得到种子体素集合S;
根据所述函数值为零的空间插值点、所述人工指定的种子点所在的立方体素确定各自对应的种子体素,对于所述人工指定的种子点,判断其对应的种子体素是否包含满足种子体素要求,根据判断结果确定所述种子体素集合S。
步骤707,判断是否遍历种子体素完毕;
对所述种子体素集合S中的种子体素进行遍历,若有种子体素则执行步骤708,否则,执行步骤717。
步骤708,取出种子体素;
该种子体素作为曲面追踪的起始搜索体素。
步骤709,加入生长体素队列G;
将起始搜索体素加入生长体素队列G,该生长体素队列G为一待生长的种子体素的有序集合。该生长体素队列G遵循“先进先出”的原则,且生长体素队列中的体素(都是种子体素)都来自于种子体素集合S。
步骤710,判断是否遍历生长体素完毕;
对生长体素队列G中的生长体素进行遍历,由于生长体素队列G遵循“先进先出”的原则,可以根据顺序进行遍历。若是则执行步骤707,若否则执行步骤711。
步骤711,取出生长体素V;
从生长体素队列G中取出一个生长体素V(作为曲面追踪的待生长体素)。
步骤712,计算生长体素V各网格点的函数值;
根据隐式函数F(P)计算生长体素V各网格点的函数值;存储已经计算的采样点索引及其函数值,避免下次重复计算。
步骤713,计算等值面与生长体素V各边的交点;
通过线性插值法计算等值面与生长体素V各边的交点。
步骤714,三角化生长体素V的等值面;
根据长体素V网格点的函数值查找面片构型表,以三角化该体素的等值面;存储已经提取等值面的生长体素V的索引,避免下次重复提取等值面。
步骤715,从种子体素集合S删除与生长体素V的索引一致的种子体素;
通过查找体素索引的方式从所述种子体素集合S中删除与当前的生长体素V的索引一致的种子体素。
步骤716,找到邻接生长体素;
根据体素邻接表(对应6个相邻体素的等值面生长的查找表),找到种子体素的邻接生长体素,并判断其是否已经越界最小外包,若没有越界,则将其加入生长体素队列G,否则,不加入。
步骤717,生成三维模型。
合并各生长体素对应的三角面片,构建所述待建模对象的三维模型。
本申请实施例为了比对本实施例三维建模方法相对于传统的移动立方体法、曲面追踪法的建模效率,对两个不同复杂度的三维模型进行曲面重构,以不同单元尺寸(20、25、30、35)的体素划分模型,分别对比传统移动立方体法、曲面追踪法、本实施例方法(改进的体素生长法)三种方法进行模型更新所需的建模时间。其中,第一三维模型的约束个数为844个(包含点约束422个,法向约束422个),第二三维模型的约束个数为794(包含点约束397个,法向约束397个)。图8示出了第一三维模型的结构示意图,图10示出了第二三维模型的结构示意图。
实验的运行环境为Windows 7操作系统,CPU为Intel Core i5-2400 3.10GHz,内存为8GB,使用的插值方法为Hermite径向基插值方法。
图9示出了重构第一三维模型采用不同建模方法的建模速度对比图;图11示出了重构第二三维模型采用不同建模方法的建模速度对比图。
根据实验,可以确定:在保证建模效果的前提下,区域生长法较传统的移动立方体法在建模速度上有较大提高,而本实施例提出的隐式曲面重构方法则在区域生长法的基础上,实现了速度的进一步提升,以上方法速度对比情况见表1。
表1各建模方法速度对比表
当立方体体素单元尺寸越小,即模型划分的立方体素越多,速度提高得越明显;同时,随着模型的复杂度越高,速度提高得越明显。
本申请实施例还提供一种基于隐式函数的三维建模装置,请参阅图12,该装置包括:
获取模块1201,用于获取采集设备采集的待建模对象对应的采样点信息;
隐式函数确定模块1202,用于基于所述采样点信息确定空间插值点,并得到用于表征所述待建模对象的三维模型几何域的隐式函数;
网格划分模块1203,用于根据网格划分的体素单元尺寸对所述三维模型按照三维的方向进行分割,得到空间规则数据场;
种子体素集合确定模块1204,用于确定种子点的集合,基于所述种子点的集合中各种子点对应的种子体素得到种子体素集合;
等值面提取模块1205,用于从所述种子体素集合中提取一作为起始搜索体素的种子体素,以所述起始搜索体素根据设定规则生成生长体素队列,并遍历所述生长体素队列以进行确定所述三维模型的边界的等值面提取;
三维建模模块1206,用于根据等值面提取的结果构建所述待建模对象的三维模型。
在一些实施例中,种子体素集合确定模块1204具体用于:通过所述隐式函数确定函数值为零的空间插值点及人工指定的种子点;根据所述函数值为零的空间插值点、所述人工指定的种子点所在的立方体素确定各自对应的种子体素,对于所述人工指定的种子点,判断其对应的种子体素是否包含满足种子体素要求,根据判断结果确定所述种子体素集合。
在一些实施例中,等值面提取模块1205还用于:判断所述种子体素集合中的种子体素是否遍历完毕,若否,则返回所述从所述种子体素集合中提取一作为起始搜索体素的种子体素的步骤;若是,则执行所述根据等值面提取的结果构建所述待建模对象的三维模型。
在一些实施例中,等值面提取模块1205用于:
将所述起始搜索体素加入生长体素队列,其中,所述生长体素队列为一待生长的种子体素的有序集合;
依序遍历所述生长体素队列,根据所述隐式函数计算当前的生长体素各网格点的函数值,存储该生长体素的索引及对应的函数值;
通过线性插值法计算等值面与当前的生长体素各边的交点,基于所述交点确定对应的三角面片,存储该生长体素的索引及对应的三角面片;
通过查找体素索引的方式从所述种子体素集合中删除与所述当前的生长体素的索引一致的种子体素;
根据体素邻接表在所述种子体素集合中查找与所述当前的生长体素对应的邻接生长体素,将所述邻接生长体素加入到所述生长体素队列;
判断所述生长体素队列是否遍历完毕,若否则返回所述依序遍历所述生长体素队列的步骤;若是则返回所述判断所述种子体素集合中的种子体素是否遍历完毕的步骤。
在一些实施例中,等值面提取模块1205还用于:确定所述三维模型的最小外包;判断所述邻接生长体素是否越界所述最小外包,若是,则不加入所述生长体素队列,若否,则将相应的所述邻接生长体素加入所述生长体素队列。
在一些实施例中,三维建模模块1206用于:合并各生长体素对应的三角面片,构建所述待建模对象的三维模型。
需要说明的是:上述实施例提供的三维建模装置在进行三维建模时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将三维建模装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的三维建模装置与三维建模方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在实际应用中,上述各程序模块均可由服务器上的中央处理器(CPU,CentralProcessing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable GateArray)等实现。
请参阅图13,本申请实施例还提供一种基于隐式函数的三维建模系统1300包括:至少一个处理器1301、存储器1302、用户接口1303和至少一个网络接口1304。三维建模系统1300中的各个组件通过总线系统1305耦合在一起。可以理解,总线系统1305用于实现这些组件之间的连接通信。总线系统1305除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图13中将各种总线都标为总线系统1305。
其中,用户接口1303可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器1302可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。
本申请实施例中的存储器1302用于存储各种类型的数据以支持三维建模方法的执行。这些数据的示例包括:用于在三维建模系统1300上运行的任何可执行程序,如可执行程序13021,实现本申请实施例的三维建模方法的程序可以包含在可执行程序13021中。
本申请实施例揭示的三维建模方法可以应用于处理器1301中,或者由处理器1301实现。处理器1301可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,三维建模方法的各步骤可以通过处理器1301中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1301可以是通用处理器、数字信号处理器(DSP,Digital SignalProcessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器1301可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器1302,处理器1301读取存储器1302中的信息,结合其硬件完成本申请实施例提供的三维建模方法的步骤。
本申请实施例还提供了一种可读存储介质,存储介质可以包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。所述可读存储介质存储有可执行程序;所述可执行程序用于被处理器执行时实现本申请任一实施例所述的三维建模方法。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理系统的处理器以产生一个机器,使得通过计算机或其他可编程数据处理系统的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理系统以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理系统上,使得在计算机或其他可编程系统上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程系统上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于隐式函数的三维建模方法,其特征在于,包括:
获取采集设备采集的待建模对象对应的采样点信息;
基于所述采样点信息构造空间插值点,得到用于表征所述待建模对象的三维模型几何域的隐式函数;
根据网格划分的体素单元尺寸对所述三维模型按照三维的方向进行分割,得到空间规则数据场;
确定种子点的集合,基于所述种子点的集合中各种子点对应的种子体素得到种子体素集合;
从所述种子体素集合中提取一作为起始搜索体素的种子体素,将所述起始搜索体素根据设定规则加入生长体素队列,并遍历所述生长体素队列以进行确定所述三维模型的边界的等值面提取;
根据等值面提取的结果构建所述待建模对象的三维模型。
2.如权利要求1所述的基于隐式函数的三维建模方法,其特征在于,
所述确定种子点的集合,包括:
通过所述隐式函数确定函数值为零的空间插值点及人工指定的种子点;
所述基于所述种子点的集合中各种子点对应的种子体素得到种子体素集合,包括:
根据所述函数值为零的空间插值点、所述人工指定的种子点所在的立方体素确定各自对应的种子体素,对于所述人工指定的种子点,判断其对应的种子体素是否包含满足种子体素要求,根据判断结果确定所述种子体素集合。
3.如权利要求1所述的基于隐式函数的三维建模方法,其特征在于,所述根据等值面提取的结果构建所述待建模对象的三维模型之前,还包括:
判断所述种子体素集合中的种子体素是否遍历完毕,若否,则返回所述从所述种子体素集合中提取一作为起始搜索体素的种子体素的步骤;
若是,则执行所述根据等值面提取的结果构建所述待建模对象的三维模型。
4.如权利要求3所述的基于隐式函数的三维建模方法,其特征在于,所述将所述起始搜索体素根据设定规则加入生长体素队列,并遍历所述生长体素队列以进行确定所述三维模型的边界的等值面提取,包括:
将所述起始搜索体素加入生长体素队列,其中,所述生长体素队列为一待生长的种子体素的有序集合;
依序遍历所述生长体素队列,根据所述隐式函数计算当前的生长体素各网格点的函数值,存储该生长体素的索引及对应的函数值;
通过线性插值法计算等值面与当前的生长体素各边的交点,基于所述交点确定对应的三角面片,存储该生长体素的索引及对应的三角面片;
通过查找体素索引的方式从所述种子体素集合中删除与所述当前的生长体素的索引一致的种子体素;
根据体素邻接表在所述种子体素集合中查找与所述当前的生长体素对应的邻接生长体素,将所述邻接生长体素加入到所述生长体素队列;
判断所述生长体素队列是否遍历完毕,若否则返回所述依序遍历所述生长体素队列的步骤;若是则返回所述判断所述种子体素集合中的种子体素是否遍历完毕的步骤。
5.如权利要求4所述的基于隐式函数的三维建模方法,其特征在于,所述将所述邻接生长体素加入到所述生长体素队列之前,还包括:
确定所述三维模型的最小外包;
判断所述邻接生长体素是否越界所述最小外包,若是,则不加入所述生长体素队列,若否,则将相应的所述邻接生长体素加入所述生长体素队列。
6.如权利要求4所述的基于隐式函数的三维建模方法,其特征在于,所述根据等值面提取的结果构建所述待建模对象的三维模型,包括:
合并各生长体素对应的三角面片,构建所述待建模对象的三维模型。
7.如权利要求1所述的基于隐式函数的三维建模方法,其特征在于,所述采样点信息为三维的点云数据。
8.一种基于隐式函数的三维建模装置,其特征在于,包括:
获取模块,用于获取采集设备采集的待建模对象对应的采样点信息;
隐式函数确定模块,用于基于所述采样点信息构造空间插值点,得到用于表征所述待建模对象的三维模型几何域的隐式函数;
网格划分模块,用于根据网格划分的体素单元尺寸对所述三维模型按照三维的方向进行分割,得到空间规则数据场;
种子体素集合确定模块,用于确定种子点的集合,基于所述种子点的集合中各种子点对应的种子体素得到种子体素集合;
等值面提取模块,用于从所述种子体素集合中提取一作为起始搜索体素的种子体素,将所述起始搜索体素根据设定规则加入生长体素队列,并遍历所述生长体素队列以进行确定所述三维模型的边界的等值面提取;
三维建模模块,用于根据等值面提取的结果构建所述待建模对象的三维模型。
9.一种基于隐式函数的三维建模系统,其特征在于,包括:
存储器,用于存储可执行程序;
处理器,用于执行所述存储器中存储的可执行程序时,实现如权利要求1至7任一所述的基于隐式函数的三维建模方法。
10.一种计算机存储介质,其特征在于,存储有可执行程序,所述可执行程序被处理器执行时,实现如权利要求1至7任一所述的基于隐式函数的三维建模方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910326023.4A CN110033519B (zh) | 2019-04-23 | 2019-04-23 | 基于隐式函数的三维建模方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910326023.4A CN110033519B (zh) | 2019-04-23 | 2019-04-23 | 基于隐式函数的三维建模方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110033519A CN110033519A (zh) | 2019-07-19 |
CN110033519B true CN110033519B (zh) | 2022-06-28 |
Family
ID=67239666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910326023.4A Active CN110033519B (zh) | 2019-04-23 | 2019-04-23 | 基于隐式函数的三维建模方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110033519B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111667563B (zh) * | 2020-06-19 | 2023-04-07 | 抖音视界有限公司 | 图像处理方法、装置、设备和存储介质 |
CN112036030B (zh) * | 2020-08-31 | 2021-06-01 | 中南大学 | 矿体组合约束建模方法、装置、设备及存储介质 |
CN112541264B (zh) * | 2020-12-08 | 2023-07-04 | 石河子大学 | 一种基于隐式建模的高效曲面增厚方法 |
CN112927350B (zh) * | 2021-02-23 | 2021-11-02 | 中南大学 | 多域地质体模型构建方法、装置、设备及存储介质 |
CN113011040B (zh) * | 2021-04-01 | 2022-07-08 | 中南大学 | 脉状地质体建模方法、装置、设备及存储介质 |
CN113470180B (zh) * | 2021-05-25 | 2022-11-29 | 思看科技(杭州)股份有限公司 | 三维网格重建方法、装置、电子装置和存储介质 |
CN113626894B (zh) * | 2021-08-27 | 2024-01-19 | 北京航空航天大学 | 一种基于复合隐式边界的实体运动界面追踪方法 |
CN116486022A (zh) * | 2023-03-23 | 2023-07-25 | 北京冽泉环保科技有限公司 | 一种三维地质模型的构建方法 |
CN116912431B (zh) * | 2023-09-14 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6100893A (en) * | 1997-05-23 | 2000-08-08 | Light Sciences Limited Partnership | Constructing solid models using implicit functions defining connectivity relationships among layers of an object to be modeled |
CN104361246A (zh) * | 2014-11-24 | 2015-02-18 | 河南理工大学 | 基于距离场的功能梯度材料隐式建模方法 |
CN106651842A (zh) * | 2016-12-09 | 2017-05-10 | 江西中科九峰智慧医疗科技有限公司 | 一种ct影像肺结节种子点自动获取和分割方法 |
CN108961271A (zh) * | 2018-06-27 | 2018-12-07 | 西安工程大学 | 一种彩色3d点云超体素凹凸分割算法 |
CN109472863A (zh) * | 2018-12-18 | 2019-03-15 | 合肥阿巴赛信息科技有限公司 | 一种基于笔画交互的实时3d黏土建模方法 |
CN109584357A (zh) * | 2018-11-27 | 2019-04-05 | 中南大学 | 基于多轮廓线的三维建模方法、装置、系统及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4165695B2 (ja) * | 2002-10-08 | 2008-10-15 | 独立行政法人理化学研究所 | 非多様体の陰関数表現方法のコンピュータプログラム |
-
2019
- 2019-04-23 CN CN201910326023.4A patent/CN110033519B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6100893A (en) * | 1997-05-23 | 2000-08-08 | Light Sciences Limited Partnership | Constructing solid models using implicit functions defining connectivity relationships among layers of an object to be modeled |
CN104361246A (zh) * | 2014-11-24 | 2015-02-18 | 河南理工大学 | 基于距离场的功能梯度材料隐式建模方法 |
CN106651842A (zh) * | 2016-12-09 | 2017-05-10 | 江西中科九峰智慧医疗科技有限公司 | 一种ct影像肺结节种子点自动获取和分割方法 |
CN108961271A (zh) * | 2018-06-27 | 2018-12-07 | 西安工程大学 | 一种彩色3d点云超体素凹凸分割算法 |
CN109584357A (zh) * | 2018-11-27 | 2019-04-05 | 中南大学 | 基于多轮廓线的三维建模方法、装置、系统及存储介质 |
CN109472863A (zh) * | 2018-12-18 | 2019-03-15 | 合肥阿巴赛信息科技有限公司 | 一种基于笔画交互的实时3d黏土建模方法 |
Non-Patent Citations (1)
Title |
---|
《Orebody Modeling from Non-Parallel Cross sections with geometry constraints》;钟德云;《Minerals》;20190412;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110033519A (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110033519B (zh) | 基于隐式函数的三维建模方法、装置、系统及存储介质 | |
US11361503B2 (en) | Systems and methods for generating volumetric models | |
Carr et al. | Simplifying flexible isosurfaces using local geometric measures | |
US20180025541A1 (en) | Method for automatic modeling of complex buildings with high accuracy | |
CN112669463B (zh) | 三维点云的曲面重建方法、计算机设备和计算机可读存储介质 | |
Centin et al. | Poisson-driven seamless completion of triangular meshes | |
CN113724401B (zh) | 一种三维模型切割方法、装置、计算机设备和存储介质 | |
US20190243336A1 (en) | Geometric modelling for facilitating simulation for manufacturing operations | |
US20120287128A1 (en) | Electronic device and method for meshing curved surface | |
Nieser et al. | Patch layout from feature graphs | |
Strodthoff et al. | Automatic decomposition of 3D solids into contractible pieces using Reeb graphs | |
CN111210501B (zh) | 一种室内建模方法、装置及终端设备 | |
EP1507220A1 (en) | Boundary data inside/outside judgment method and program thereof | |
Keyser et al. | Efficient and accurate B-rep generation of low degree sculptured solids using exact arithmetic: II—computation | |
NO20160206A1 (en) | Pixel-based or voxel-based mesh editing | |
CN112819108B (zh) | 一种多源异构模型的切片融合方法、系统及存储介质 | |
Tse et al. | Building reconstruction using LIDAR data | |
Yamazaki et al. | Non-manifold implicit surfaces based on discontinuous implicitization and polygonization | |
CN115239901A (zh) | 地质体模型构建方法、装置、设备及存储介质 | |
Mateo et al. | Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks | |
CN113628330B (zh) | 一种有限空间的三维模型构建方法及系统 | |
CN112927350B (zh) | 多域地质体模型构建方法、装置、设备及存储介质 | |
Hossain et al. | Environment and object design for 3D simulation in context of commercial vehicles | |
CN117058300B (zh) | 一种基于kd树加速光线与未裁剪曲面交点计算的方法 | |
Zhu et al. | Finite element mesh editing through cad operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |