CN109191397A - 基于体素的孔洞填补方法及装置 - Google Patents
基于体素的孔洞填补方法及装置 Download PDFInfo
- Publication number
- CN109191397A CN109191397A CN201810988440.0A CN201810988440A CN109191397A CN 109191397 A CN109191397 A CN 109191397A CN 201810988440 A CN201810988440 A CN 201810988440A CN 109191397 A CN109191397 A CN 109191397A
- Authority
- CN
- China
- Prior art keywords
- voxel
- hole
- value
- sdf
- effective
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000005259 measurement Methods 0.000 claims description 13
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 238000005267 amalgamation Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- PPTYJKAXVCCBDU-UHFFFAOYSA-N Rohypnol Chemical compound N=1CC(=O)N(C)C2=CC=C([N+]([O-])=O)C=C2C=1C1=CC=CC=C1F PPTYJKAXVCCBDU-UHFFFAOYSA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002073 mitogenetic effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G06T5/77—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种基于体素的孔洞填补方法及装置。该方法包括确定三维表面模型中孔洞的边界位置;在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充;以及得到孔洞填补后完整的三维表面模型。本申请解决了孔洞填补的适用性和融合性较差的技术问题。通过本申请对复杂的孔洞、几何形状、拓扑结构复杂等情况都可以进行孔洞填补。此外,本方法具有较高鲁棒性,参数随机,不固定,适用性强,可适用于任何尺寸的孔洞。
Description
技术领域
本申请涉及计算机图形处理领域,具体而言,涉及一种基于体素的孔洞填补方法及装置。
背景技术
基于体素的三维表面重建技术,主要是指通过测距摄像头获取物体表面的深度数据,在三维空间的体素内对数据进行分析处理,结合计算机视觉的相应知识得出物体表面的三维模型。
深度数据是建模的直接数据,对建模结果起着至关重要的作用。尽管现如今测距技术的水平已经很高,但由于受到诸多因素的影响如噪声干扰,被测样本的反射率太低,由于激光或摄像头的视线遮挡等。物体表面建模过程中仍然会有孔洞产生,得到的三维表面模型并不完整。
申请人发现,现有的对于孔洞的边界检测,以及补洞数据在孔洞边界融合并不能够较好地提高孔洞普遍可适用性,进一步填补得到的孔洞与原孔洞边界数据连接较差。
针对相关技术孔洞填补的适用性和融合性较差的问题,目前尚未提出有效的解决方案。
申请内容
本申请的主要目的在于提供一种基于体素的孔洞填补方法及装置,以解决孔洞填补的适用性和融合性较差的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种基于体素的孔洞填补方法。
根据本申请的基于体素的孔洞填补方法包括:确定三维表面模型中孔洞的边界位置;在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充;以及得到孔洞填补后完整的三维表面模型。
具体进行孔洞填补时,以体素为单位,需要同时满足三个条件后,检测出孔洞的边界。在孔洞的边界附近向孔洞中心方向对体素进行多次叠加扩充。扩充过程实际是对无效体素插入周围有效体素的均值即有符号距离函数值SDF,且随着插值步骤的加入的同时给新添加的数据不断地作模糊平滑处理,在模糊新插值的孔洞的同时,又不改变原始数据孔洞的边缘数据。最后迭代使用阿尔法混合进行合,得出完整的三维表面模型。
进一步地,确定三维表面模型中孔洞的边界位置包括如下条件:当前体素本身是有效的;所述体素周围邻域内的体素,至少有一个是无效的体素;邻域体素中至少有一个有效的体素,并且所述有效体素的SDF值与被检测体素的SDF值异号,其中,一个体素有八个角点,所有体素统一选取某一个角点代表该体素的整体,通过读取该角点的SDF值为整体体素SDF值;选取该体素的权重值为有效体素的判断依据,若有权重值,则为有效的体素。
进一步地,在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充包括:初始化体素数据得到扩充体素数据和原始体素数据;对扩充体素数据中至少包括:有符号距离函数值SDF和判断该体素是否有效的值;对原始体素数据至少包括:体素到重建表面的距离SDF值和权重值;其中,有符号距离函数值SDF表示为sdf,判断该体素是否有效的值表示为valid,SDF表示为sdfs,权重值表示为ws。
进一步地,在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充包括:获取前一次迭代的估计值;根据所述估计值用滤波器进行插值计算,估计当前体素的SDF值。
进一步地,根据所述估计值用滤波器进行插值计算包括:采用均值滤波器,通过对孔洞边缘的有效体素的均值给孔洞进行插值计算。
进一步地,在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充包括:判断体素是否有效;如果体素是有效,则读取该体素的sdf值采用低通滤波器执行模糊卷积操作。
进一步地,确定三维表面模型中孔洞的边界位置之前还包括:遍历以XYZ轴中的一预设轴为参考坐标取切片;在该切片上遍历所有的扫描线并复制一个扫描线的副本,作为扩充体素样本;在扫描线上遍历每一个体素。
进一步地,得到孔洞填补后完整的三维表面模型包括:迭代混合时使用阿尔法迭代混合,利用扫描线的副本和原始数据进行混合。
进一步地,在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充还包括:条件1:对于每一个体素检测是否为孔洞边界;如果对于每一个体素检测为孔洞边界,则对当前体素的SDF值进行累加记录,且对节点数据加1;条件2:对于每一个体素检测是否为空体素或者修改过的体素;如果对于每一个体素检测为空体素或者修改过的体素,则对该体素进行模糊赋值,模糊赋值的数据来自于所述条件1执行均值滤波后的结果。
为了实现上述目的,根据本申请的另一方面,提供了一种基于体素的孔洞填补装置。
根据本申请的基于体素的孔洞填补装置包括:确定模块,用于确定三维表面模型中孔洞的边界位置;扩充模块,用于在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充;以及混合模块,用于得到孔洞填补后完整的三维表面模型。
在本申请实施例中,采用确定三维表面模型中孔洞的边界位置的方式,通过在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充,达到了得到孔洞填补后完整的三维表面模型的目的,从而实现了孔洞填补快速、适用性和融合性较高的技术效果,进而解决了孔洞填补的适用性和融合性较差的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的基于体素的孔洞填补方法示意图;
图2是根据本申请实施例的基于体素的孔洞填补装置示意图;
图3是根据本申请实施例的同时满足以上三个条件的体素示意图;
图4是根据本申请实施例的扩充过程的二维举例说明图;
图5是根据本申请实施例的孔洞填补具体流程示意图;以及
图6是根据本申请实施例的3x3x3邻域图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
本申请的基于体素的孔洞填补方法包括:确定三维表面模型中孔洞的边界位置;在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充;以及得到孔洞填补后完整的三维表面模型。通过本申请中的方法能够对复杂的孔洞、几何形状、拓扑结构复杂等情况都可以进行孔洞填补。同时本申请的方法只在洞附近操作,而该孔洞填补申请是在物体表面已经完全建立后进行操作,所以任何3d模型都的重建方法都适用。
此外,所有体素(voxel)都用有符号距离函数SDF(signed distance function)表示。用深度图重建三维表面技术VRIP(Volumetric Range Image Processing)是用有符号距离函数SDF重建的三维表面。本申请是基于VRIP技术对孔洞周围体素(voxel)的SDF值扩充从而实现孔洞填补的技术。
具体地,在本申请中对如下参数进行说明和定义:
体素(voxel):把三维空间均匀的分为极多的小立方体。每个立方体以体素(voxel)为单位。
角点:每个体素上的8个顶点都为该体素的角点。
体素是否有效:通过该体素的权重值判断,如果有权重,体素为有效,相反如果没有权重,该体素则为无效值。
SDF值:SDF值等于此体素到重建表面的距离。为了使本申请细节更佳清晰,用以下规定为实施例进行举例说明,当有符号距离函数值SDF大于零时,表示该体素在模型的表面外部;当SDF值小于零时,表示该体素在模型的表面内部;SDF值越接近于零,表示该体素越贴近于场景的真实表面。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,该方法包括如下的步骤S102至步骤S106:
步骤S102,确定三维表面模型中孔洞的边界位置;
比如可以确定三维表面模型中孔洞的边界位置包括如下条件:
条件1,当前体素本身是有效的;
条件2,所述体素周围邻域内的体素,至少有一个是无效的体素;
条件3,邻域体素中至少有一个有效的体素,并且所述有效体素的SDF值与被检测体素的SDF值异号,
其中,一个体素有八个角点,所有体素统一选取某一个角点代表该体素的整体,通过读取该角点的SDF值为整体体素SDF值;选取该体素的权重值为有效体素的判断依据,若有权重值,则为有效的体素。
步骤S104,在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充;
扩充算法是以体素为单位,对体素特别是孔洞边界周围的体素进行扩充。直到孔洞周围无效体素被赋值,且和周围体素形成闭合的面后相互模糊融合,最后原孔洞上的大部分体素就拥有各自估算出的SDF值。
具体地,通过上述步骤确定了三维表面模型中孔洞的边界位置后,还需要初始化体素数据得到扩充体素数据和原始体素数据;对扩充体素数据中至少包括:有符号距离函数值SDF和判断该体素是否有效的值;对原始体素数据至少包括:体素到重建表面的距离SDF值和权重值;其中,有符号距离函数值SDF表示为sdf,判断该体素是否有效的值表示为valid,SDF表示为sdfs,权重值表示为ws。
优选地,上述步骤中还可以包括:获取前一次迭代的估计值;
根据所述估计值用滤波器进行插值计算,估计当前体素的SDF值。给无效体素进行插值计算时,利用均值滤波器,通过对孔洞边缘的有效体素的均值给孔洞进行插值计算。
同时,针对上述操作采用均值滤波器,通过对孔洞边缘的有效体素的均值给孔洞进行插值计算。
优选地,上述步骤中还可以包括:判断体素是否有效;如果体素是有效,则读取该体素的sdf值采用低通滤波器执行模糊卷积操作。
步骤S106,得到孔洞填补后完整的三维表面模型
在上述步骤中确定三维表面模型中孔洞的边界位置之前还包括:遍历以XYZ轴中的一预设轴为参考坐标取切片;在该切片上遍历所有的扫描线并复制一个扫描线的副本,作为扩充体素样本;在扫描线上遍历每一个体素。
在此步骤中得到孔洞填补后完整的三维表面模型包括:迭代混合时使用阿尔法迭代混合,利用扫描线的副本和原始数据进行混合。混合时,使用阿尔法迭代混合。利用扫描线的副本和原始数据进行混合。该体素的最后有符号距离函数值SDF是根据该体素和邻域按权重值混合得出。
从以上的描述中,可以看出,本申请实现了如下技术效果:
在本申请实施例中,采用确定三维表面模型中孔洞的边界位置的方式,通过在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充,达到了得到孔洞填补后完整的三维表面模型的目的,从而实现了孔洞填补快速、适用性和融合性较高的技术效果,进而解决了孔洞填补的适用性和融合性较差的技术问题。
此外,本申请还具备如下的技术效果:
本申请中的方法对复杂的孔洞、几何形状、拓扑结构复杂等情况都可以进行孔洞填补。不同于其他的补洞方式在重建的时候补洞,本申请中的方法只在洞附近操作。该孔洞填补本申请中的方法是在物体表面已经完全建立后进行操作,所以对各种重建方法都适用。本申请中的方法能很好地延续孔洞表面的弯曲趋势,使得填补后的表面通常与观察表面可以良好的融合。本申请中的方法适用于孤岛很多的情况。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述基于体素的孔洞填补方法的装置,如图2所示,该装置包括:确定模块10,用于确定三维表面模型中孔洞的边界位置;扩充模块20,用于在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充;以及混合模块30,用于得到孔洞填补后完整的三维表面模型。
在本申请实施例的确定模块10中比如可以确定三维表面模型中孔洞的边界位置包括如下条件:
条件1,当前体素本身是有效的;
条件2,所述体素周围邻域内的体素,至少有一个是无效的体素;
条件3,邻域体素中至少有一个有效的体素,并且所述有效体素的SDF值与被检测体素的SDF值异号,
其中,一个体素有八个角点,所有体素统一选取某一个角点代表该体素的整体,通过读取该角点的SDF值为整体体素SDF值;选取该体素的权重值为有效体素的判断依据,若有权重值,则为有效的体素。
在本申请实施例的扩充模块20中扩充算法是以体素为单位,对体素特别是孔洞边界周围的体素进行扩充。直到孔洞周围无效体素被赋值,且和周围体素形成闭合的面后相互模糊融合,最后原孔洞上的大部分体素就拥有各自估算出的SDF值。
具体地,通过上述装置确定了三维表面模型中孔洞的边界位置后,还需要初始化体素数据得到扩充体素数据和原始体素数据;对扩充体素数据中至少包括:有符号距离函数值SDF和判断该体素是否有效的值;对原始体素数据至少包括:体素到重建表面的距离SDF值和权重值;其中,有符号距离函数值SDF表示为sdf,判断该体素是否有效的值表示为valid,SDF表示为sdfs,权重值表示为ws。
优选地,上述装置中还可以包括:获取前一次迭代的估计值;
根据所述估计值用滤波器进行插值计算,估计当前体素的SDF值。给无效体素进行插值计算时,利用均值滤波器,通过对孔洞边缘的有效体素的均值给孔洞进行插值计算。
同时,针对上述操作采用均值滤波器,通过对孔洞边缘的有效体素的均值给孔洞进行插值计算。
优选地,上述装置中还可以包括:判断体素是否有效;如果体素是有效,则读取该体素的sdf值采用低通滤波器执行模糊卷积操作。
在本申请实施例的混合模块30中在上述步骤中确定三维表面模型中孔洞的边界位置之前还包括:遍历以XYZ轴中的一预设轴为参考坐标取切片;在该切片上遍历所有的扫描线并复制一个扫描线的副本,作为扩充体素样本;在扫描线上遍历每一个体素。
在此装置中得到孔洞填补后完整的三维表面模型包括:迭代混合时使用阿尔法迭代混合,利用扫描线的副本和原始数据进行混合。混合时,使用阿尔法迭代混合。利用扫描线的副本和原始数据进行混合。该体素的最后有符号距离函数值SDF是根据该体素和邻域按权重值混合得出。
本申请的实现原理如下:
本申请提出了一种适用于拓扑结构、几何形状复杂的孔洞填补算法:以体素为单位,需要同时满足三个条件后,检测出孔洞的边界。在孔洞的边界附近向孔洞中心方向对体素进行多次叠加扩充。扩充过程实际是对无效体素插入周围有效体素的均值即有符号距离函数值SDF,且随着插值步骤的加入的同时给新添加的数据不断地作模糊平滑处理,在模糊新插值的孔洞的同时,又不改变原始数据孔洞的边缘数据。最后迭代使用阿尔法混合进行合,得出完整的三维表面模型。
一个体素(voxel)有8个角点,所有体素(voxel)统一选取某一个角点代表该体素的整体,读取该角点点的SDF值为整体体素SDF值。选取该体素的权重值为有效体素的判断依据。有权重值,即为有效体素。在补洞填补方法的过程中定位孔洞边界位置就根据SDF值和权重值,双重选取进行判断。
步骤1)定位孔洞的边界位置。
当一个体素同时满足以下三个条件时,才可判定为孔洞的边缘。首先,当前体素(voxel)本身是有效的。其次该体素(voxel)周围3x3x3邻域内的体素(voxel),至少有一个是无效的体素。最后,邻域体素(voxel)中至少有一个有效的体素(voxel),并且这个有效体素(voxel)的SDF值与被检测体素(voxel)的SDF值异号(即相反)。同时满足以上三个条件的体素如图1所示,就可判定为孔洞的边界。
本申请用以下规定说明孔洞边界问题,如图3,为三维立体模型的某一层-二维切片图像(slice),每个方块代表一个有效体素(voxel),每个体素(voxel)均有SDF值。不同的SDF值用不同的颜色表示,黑色是SDF大于零,灰色为SDF值等于零,白色为SDF值小于零。其他没有画的体素均为无效体素(voxel)。
在定位孔洞边界时,如上所说需要同时满足三个条件。如图3中标记为2的体素,可以发现该体素满足:1)体素2是有效的。2)体素(voxel)2的右邻域体素(voxel),是无效的体素。3)体素2的上邻域体素3的SDF值大于零,他的下邻域体素1的SDF值小于零,存在有效的异号邻域体素。因为同时满足三个边界条件,所以体素2为孔洞边缘,相同的原理体素5也是孔洞边缘。相比之下,其他体素均未同时满足这三个要求。如图6所示,3x3x3邻域图,其中黑色方块为被检测体素,其他白色方块为此体素的3x3x3邻域。
步骤2)扩充基本算法
扩充算法是以体素为单位,对体素特别是孔洞边界周围的体素进行扩充。直到孔洞周围无效体素被赋值,且和周围体素形成闭合的面后相互模糊融合,最后原孔洞上的大部分体素就拥有各自估算出的SDF值。整体扩充过程如图2所示。
图4(a)-图4(d)为扩充过程的二维举例说明图,图4(a),是建模的原始数据,左右各有一组连续的拥有SDF值的体素群。黑白灰三种颜色,各代表不同的SDF值,黑色为SDF大于零,灰色为SDF值等于零,白色为SDF值小于零。其余没有网格表示的体素,为无效体素。
图4(b),为第一次扩散体素过程。其中虚线表示被扩充的无效体素,但在扩充过程中周围的无效体素也有SDF值.灰色代表零集即最后建模的表面。此时左右两边体素同时扩充,并且相互靠近。
图4(c),为在图4(b)基础上第二次扩充过程,左右两个体素群再度扩充后已经相遇,且将会相互影响。
图4(d),孔洞闭合后,衔接处的体素相互混合SDF值,模糊平滑数值。可以看出虚线体素中的灰色体素即为填补的孔洞表面。
通过以上示例图4(a)-图4(d)可以看出,本申请的孔洞填补方法是由多次扩充模糊组成的。随着次数的增加,孔洞会慢慢补全,且越来越接近平滑。
为了实现以上扩散的过程,需要两部分数据进行计算。一个是用于扩充的体素数据,另外一个为原始的体素数据。
步骤2.1)初始化
对于扩充的体素数据,每个体素有两个值:一个是有符号距离函数值SDF,在以下事例中用符号sdf表示,sdf值直接为模型的SDF值。另一个是判断该体素是否有效的值,在以下事例中用va l i d表示。va l id只有有效和无效两种情况。通过该体素的权重值判断va l id,如果有权重,则va l i d为有效,相反如果没有权重,va l id则为无效值。
对于原始的体素,还是保持和建模数据一致,有SDF值用sdfs表示,权重值ws表示。
4、对基于体素的有符号距离函数值SDF的孔洞边缘检测条件,应该满足三点:1)体素自身有效。2)体素周围的邻域体素内至少有一个是无效的。3)至少有一个体素的邻域体素与该体素的SDF值异号。
步骤2.2)扩充
为了估计当前体素的SDF值,需要已知前一次迭代的估计值。对于扩充体素来说,初始化的sdf值和va l id值是根据模型数据来的,所以每进行一次扩充,对于在扩充范围内的无效体素会定为有效体素。在做模糊过程中,只有va l i d值为有效的体素才会读取他的sdf值进行卷积运算。这一扩充步骤,可以看为是用滤波器进行插值计算。
步骤2.3)模糊卷积
由于本申请的扩充步骤是多次进行的,所以对滤波器尺寸的大小没有特别的要求,滤波器越小反而越节省时间,如图6所示本申请用3x3x3均值滤波来进行插值为例进行说明。用于模糊卷积可以采用任意一种低通滤波器,可以防止新插入孔洞的数据与原孔洞边界数据在衔接部分生成尖锐变化即可。为了使本申请细节更佳清晰,用均值滤波器为例进行说明,作为线性滤波器,均值滤波器在二维图像学中有模糊和降噪的作用,所以应用到三维空间也会有同样的效果。
滤波器用h表示,距离方程是基于体素领域的SDF值迭代的更新:
后续迭代的最终结果使用阿尔法混合的进行组合(by Tom Porter and Tom Duff(S I GRAPH'84))
其中,
(sdf0,v0)=(sdfs,[ws>0])
sdfi(x)∈[-1,1],sdfs(x)∈[-1,1]
具体地,混合时使用阿尔法迭代混合。利用扫描线的副本和原始数据进行混合。该体素的最后有符号距离函数值SDF是根据该体素和邻域按权重值混合得出。此外,在给无效体素进行插值计算时,优选采用均值滤波器,通过对孔洞边缘的有效体素的均值给孔洞进行插值计算。
请参考图5是根据本申请实施例的孔洞填补具体流程示意图,
如图5所示,在本申请的整体流程中,为了能够检测或者修改某体素的SDF值,主要采取的是遍历以XYZ轴的某一个轴(比如,可以是Z轴)为参考坐标取切片(slice)的方式,并且在该切片上遍历所有的扫描线(scanline),最后在扫描线上遍历每一个体素。这样在遍历扫描线时,需要复制一个扫描线的副本,作为扩充体素样本。
在扩充样本上,对于每一个体素,主要检测两个方面:1是否为孔洞边界。2是否为空体素或者修改过的体素(即不为被填充过的体素)。如果满足条件1,那么就对当前体素的SDF值进行累加记录,且对该节点数据加1。条件2是在判断条件1结束后进行判断。如果满足条件2,那么就对该体素进行模糊赋值,模糊赋值的数据来自于条件1均值滤波后的结果。
最后,按照扫描线上体素的顺序,把扩充扫描线的副本同原扫描线按照阿尔法混合进行合并。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于体素的孔洞填补方法,其特征在于,包括:
确定三维表面模型中孔洞的边界位置;
在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充;以及
得到孔洞填补后完整的三维表面模型。
2.根据权利要求1所述的孔洞填补方法,其特征在于,确定三维表面模型中孔洞的边界位置包括如下条件:
当前体素本身是有效的;
所述体素周围邻域内的体素,至少有一个是无效的体素;
邻域体素中至少有一个有效的体素,并且所述有效体素的SDF值与被检测体素的SDF值异号,
其中,
一个体素有八个角点,所有体素统一选取某一个角点代表该体素的整体,通过读取该角点的SDF值为整体体素SDF值;
选取该体素的权重值为有效体素的判断依据,若有权重值,则为有效的体素。
3.根据权利要求1所述的孔洞填补方法,其特征在于,在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充包括:
初始化体素数据得到扩充体素数据和原始体素数据;
对扩充体素数据中至少包括:有符号距离函数值SDF和判断该体素是否有效的值;
对原始体素数据至少包括:体素到重建表面的距离SDF值和权重值;
其中,有符号距离函数值SDF表示为sdf,判断该体素是否有效的值表示为valid,SDF表示为sdfs,权重值表示为ws。
4.根据权利要求1所述的孔洞填补方法,其特征在于,在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充包括:
获取前一次迭代的估计值;
根据所述估计值用滤波器进行插值计算,估计当前体素的SDF值。
5.根据权利要求4所述的孔洞填补方法,其特征在于,根据所述估计值用滤波器进行插值计算包括:采用均值滤波器,通过对孔洞边缘的有效体素的均值给孔洞进行插值计算。
6.根据权利要求1所述的孔洞填补方法,其特征在于,在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充包括:
判断体素是否有效;
如果体素是有效,则读取该体素的sdf值采用低通滤波器执行模糊卷积操作。
7.根据权利要求1所述的孔洞填补方法,其特征在于,确定三维表面模型中孔洞的边界位置之前还包括:
遍历以XYZ轴中的一预设轴为参考坐标取切片;
在该切片上遍历所有的扫描线并复制一个扫描线的副本,作为扩充体素样本;
在扫描线上遍历每一个体素。
8.根据权利要求7所述的孔洞填补方法,其特征在于,得到孔洞填补后完整的三维表面模型包括:
迭代混合时使用阿尔法迭代混合,利用扫描线的副本和原始数据进行混合。
9.根据权利要求1所述的孔洞填补方法,其特征在于,在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充还包括:
条件1:对于每一个体素检测是否为孔洞边界;
如果对于每一个体素检测为孔洞边界,则对当前体素的SDF值进行累加记录,且对节点数据加1;
条件2:对于每一个体素检测是否为空体素或者修改过的体素;
如果对于每一个体素检测为空体素或者修改过的体素,则对该体素进行模糊赋值,模糊赋值的数据来自于所述条件1执行均值滤波后的结果。
10.一种基于体素的孔洞填补装置,其特征在于,包括:
确定模块,用于确定三维表面模型中孔洞的边界位置;
扩充模块,用于在所述孔洞的边界附近向所述孔洞的中心方向对体素多次叠加扩充;以及
混合模块,用于得到孔洞填补后完整的三维表面模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810988440.0A CN109191397A (zh) | 2018-08-28 | 2018-08-28 | 基于体素的孔洞填补方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810988440.0A CN109191397A (zh) | 2018-08-28 | 2018-08-28 | 基于体素的孔洞填补方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109191397A true CN109191397A (zh) | 2019-01-11 |
Family
ID=64916619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810988440.0A Pending CN109191397A (zh) | 2018-08-28 | 2018-08-28 | 基于体素的孔洞填补方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109191397A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679650A (zh) * | 2013-11-26 | 2014-03-26 | 四川大学 | 岩心三维图像修复方法 |
CN104306021A (zh) * | 2014-10-15 | 2015-01-28 | 北京理工大学 | 全局匹配优化的超声图像三维重建方法 |
CN104504663A (zh) * | 2014-12-29 | 2015-04-08 | 佛山市诺威科技有限公司 | 一种义齿三角网格模型孔洞的迭代修补方法 |
US20150363970A1 (en) * | 2014-06-16 | 2015-12-17 | Replica Labs, Inc. | Model and Sizing Information from Smartphone Acquired Image Sequences |
CN106780518A (zh) * | 2017-02-10 | 2017-05-31 | 苏州大学 | 一种基于随机游走和图割的活动轮廓模型的mr图像三维交互分割方法 |
CN106910189A (zh) * | 2017-02-20 | 2017-06-30 | 广东电网有限责任公司惠州供电局 | 一种基于三维重建的绝缘子爬电距离测量系统及方法 |
CN108090953A (zh) * | 2017-12-14 | 2018-05-29 | 上海联影医疗科技有限公司 | 感兴趣区域重建方法、系统以及计算机可读存储介质 |
-
2018
- 2018-08-28 CN CN201810988440.0A patent/CN109191397A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679650A (zh) * | 2013-11-26 | 2014-03-26 | 四川大学 | 岩心三维图像修复方法 |
US20150363970A1 (en) * | 2014-06-16 | 2015-12-17 | Replica Labs, Inc. | Model and Sizing Information from Smartphone Acquired Image Sequences |
CN104306021A (zh) * | 2014-10-15 | 2015-01-28 | 北京理工大学 | 全局匹配优化的超声图像三维重建方法 |
CN104504663A (zh) * | 2014-12-29 | 2015-04-08 | 佛山市诺威科技有限公司 | 一种义齿三角网格模型孔洞的迭代修补方法 |
CN106780518A (zh) * | 2017-02-10 | 2017-05-31 | 苏州大学 | 一种基于随机游走和图割的活动轮廓模型的mr图像三维交互分割方法 |
CN106910189A (zh) * | 2017-02-20 | 2017-06-30 | 广东电网有限责任公司惠州供电局 | 一种基于三维重建的绝缘子爬电距离测量系统及方法 |
CN108090953A (zh) * | 2017-12-14 | 2018-05-29 | 上海联影医疗科技有限公司 | 感兴趣区域重建方法、系统以及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
JAMES DAVIS ET AL.: "Filling Holes in Complex Surfaces using Volumetric Diffusion", 《PROCEEDINGS OF THE FIRST INTERNATIONAL SYMPOSIUM ON 3D DATA PROCESSING VISUALIZATION AND TRANSMISSION》 * |
董朝: "基于可编程图形硬件加速的若干技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7046840B2 (en) | 3-D reconstruction engine | |
CN106683167A (zh) | 复杂建筑物高精度模型自动建模方法 | |
Stamos et al. | Integration of range and image sensing for photo-realistic 3D modeling | |
US20090153577A1 (en) | Method and system for texturing of 3d model in 2d environment | |
Niem | Automatic reconstruction of 3D objects using a mobile camera | |
CN105264566A (zh) | 建模装置、三维模型生成装置、建模方法、程序和布局模拟器 | |
CN100399358C (zh) | 图像处理装置及其方法 | |
CN105046735A (zh) | 一种基于基元分布的三维表面纹理合成方法 | |
Yemez et al. | A volumetric fusion technique for surface reconstruction from silhouettes and range data | |
CN110428504A (zh) | 文本图像合成方法、装置、计算机设备和存储介质 | |
Dyken et al. | Preferred directions for resolving the non-uniqueness of Delaunay triangulations | |
CN110136262B (zh) | 水体虚拟可视化方法和装置 | |
CN109191397A (zh) | 基于体素的孔洞填补方法及装置 | |
PP et al. | Efficient 3D visual hull reconstruction based on marching cube algorithm | |
JP3340198B2 (ja) | 形状復元装置 | |
Fang et al. | 3D shape recovery of complex objects from multiple silhouette images | |
CN105574926A (zh) | 生成三维图像的方法和装置 | |
CN114638926A (zh) | 一种三维场景自动生成系统及方法 | |
Jang et al. | 3-D object reconstruction from multiple 2-D images | |
CN112017294A (zh) | 基于可见性判断的三维cad网格模型简化方法和系统 | |
US20110074777A1 (en) | Method For Displaying Intersections And Expansions of Three Dimensional Volumes | |
Wang et al. | Identifying and filling occlusion holes on planar surfaces for 3-D scene editing | |
CN115205485B (zh) | 基于包围盒的三维空间探测扩充方法、系统、装置及介质 | |
CN115937457B (zh) | 一种基于dem影像的实时地形素描方法 | |
Tsai et al. | Combining 3D Volume and Mesh Models for Representing Complicated Heritage Buildings |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190111 |
|
RJ01 | Rejection of invention patent application after publication |