CN107067476A - 一种基于高阶拉普拉斯算子的快速网格补洞方法 - Google Patents
一种基于高阶拉普拉斯算子的快速网格补洞方法 Download PDFInfo
- Publication number
- CN107067476A CN107067476A CN201710328306.3A CN201710328306A CN107067476A CN 107067476 A CN107067476 A CN 107067476A CN 201710328306 A CN201710328306 A CN 201710328306A CN 107067476 A CN107067476 A CN 107067476A
- Authority
- CN
- China
- Prior art keywords
- point
- hole
- laplace operator
- matrix
- filling
- 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 19
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000009499 grossing Methods 0.000 claims abstract description 14
- 239000011159 matrix material Substances 0.000 claims description 23
- 230000000694 effects Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 4
- 238000010146 3D printing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000214 mouth Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于高阶拉普拉斯算子的快速网格补洞方法,涉及3D图形图像处理,本发明首先添加新的点并生成三角形网格填充网格洞口,由于填充区域和原始网格交界区域有棱角,本发明对填充区域做平滑处理。本发明能够在保证CGAL同样补洞效果的前提下,提高CGAL现有补洞算法至少10倍效率。
Description
技术领域
本发明涉及3D图形图像处理,特别是涉及一种基于高阶拉普拉斯算子的快速网格补洞方法。
背景技术
3D扫描技术已广泛应用于各行各业。比如在3D数字医疗中,扫描技术已用于口腔牙齿外形建模、面部整形、足底矫正、假肢设计等等。但是在所有这些应用中,扫描得到的原始点云数据都或多或少存在噪音以及数据缺失问题,使得重建出来的3D网格模型一般会带有孔洞。这些孔洞造成的数据不完整不仅直接影响到3D可视化质量,而且还对后续的网格处理和应用带来极大不便甚至错误。比如3D打印就要求数据的完整性与模型的封闭性,带孔洞的模型是不能直接进行3D打印的。因此三维模型的孔洞填充算法就显得格外重要。
现有的网格补洞技术大致可以分为两种:(1)直接连接孔洞的边界点形成封闭的曲面,(2)先连接孔洞的边界点再采用一些几何约束方法来移动新添加的点使得修复的孔洞部分看上去更光滑。很显然第一种方法是不可取的,因为修补的孔洞看上去不仅不光滑,而且还极可能存在网格自相交等non-manifold问题(因而造成后续处理流程的困难)。这种方法目前还用于一些常用软件中如MeshLab和VTK,但只适用于很小的孔洞修复。当孔洞稍大时,通常采用第二种方法效果要好很多,但其计算效率很低。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种效率更高的网格补洞方法。
为实现上述目的,本发明提供了一种基于高阶拉普拉斯算子的快速网格补洞方法,包括以下步骤:
步骤1、找到网格模型的洞边界点,添加新的点并生成三角形网格填充所述网格模型的洞口;
步骤2、把新增的点放到内部点集合N中,把洞口两层边界点放到外部点集合K中;给内部点集合N的每一个点一个序号ID,所述内部点集合N各点的序号为ID0、ID1、……IDn,给外部点集合K的每一个点一个序号ID,所述内部点集合N各点的序号为IDn+1、IDn+2、……IDn+k;
步骤3、遍历所有内部点集合N和外部点集合K,找到各点的一圈邻居点,把各点和其邻居圈放到map集合里;
步骤4、遍历步骤3的map集合,构建矩阵A:
根据各点的邻居圈算出权重wi;再遍历该邻居圈内的各点,算出权重wij;在矩阵(i,j)位置插入值-wi*wij,在矩阵(i,i)位置插入值
步骤5、遍历所有的外部点集合K,把其坐标(x,y,z)分别放入集合Bx、By和Bz;
步骤6、取出矩阵A中的内部点矩阵N,取出矩阵A中的外部点矩阵K;根据NX+KY=0,解出X,X为内部点平滑后的坐标;
步骤7、将X更新到内部点的坐标。
较佳的,所述权重wi和wij按如下方式计算得到:
wij=cotαij+cotβij;正被考虑的网格顶点vi;vi的相邻区域;面积为Ai,αij和βij是正对边vi-vj的两个夹角。
对洞口新增的点做平滑处理:
对洞口新增的点做平滑处理的数学模型是拉普拉斯算子:
进一步的,对洞口新增的点做平滑处理:
为了保证更好的光滑性,对洞口新增的点做平滑处理的数学模型是高阶拉普拉斯算子:
高阶拉普拉斯算子是基于低一阶的拉普拉斯算子按权利要求3放肆计算得到。
本发明的有益效果是:本发明在保证CGAL同样补洞效果的前提下,提高CGAL现有补洞算法至少10倍效率。
附图说明
图1是本发明一具体实施方式的流程示意图。
图2是对洞口填充的点做平滑处理的模型示意图。
图3是稀疏矩阵构建示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
如图1至图3所示,一种基于高阶拉普拉斯算子的快速网格补洞方法,包括以下步骤:
步骤1、找到网格模型的洞边界点,添加新的点并生成三角形网格填充所述网格模型的洞口;
步骤2、把新增的点放到内部点集合N中,把洞口两层边界点放到外部点集合K中;给内部点集合N的每一个点一个序号ID,所述内部点集合N各点的序号为ID0、ID1、……IDn,给外部点集合K的每一个点一个序号ID,所述内部点集合N各点的序号为IDn+1、IDn+2、……IDn+k;
步骤3、遍历所有内部点集合N和外部点集合K,找到各点的一圈邻居点,把各点和其邻居圈放到map集合里;
步骤4、遍历步骤3的map集合,构建矩阵A:
根据各点的邻居圈算出权重wi;再遍历该邻居圈内的各点,算出权重wij;在矩阵(i,j)位置插入值-wi*wij,在矩阵(i,i)位置插入值
步骤5、遍历所有的外部点集合K,把其坐标(x,y,z)分别放入集合Bx、By和Bz;
步骤6、取出矩阵A中的内部点矩阵N,取出矩阵A中的外部点矩阵K;根据NX+KY=0,解出X,X为内部点平滑后的坐标;
步骤7、将X更新到内部点的坐标。
所述权重wi和wij按如下方式计算得到:ωij=cotαij+cotβij;vi是正被考虑的网格顶点(即需要计算其新的位置);f(.)是定义在每个顶点的函数,但这里可以理解为每个顶点的x、y、z的坐标值。vi的相邻区域(灰色部分)面积为Ai,αij和βij是正对边vi-vj的两个夹角。
本实施例对洞口新增的点做平滑处理:
对洞口新增的点做平滑处理的数学模型是拉普拉斯算子:
其他实施例中,对洞口新增的点做平滑处理:
对洞口新增的点做平滑处理的数学模型是高阶拉普拉斯算子:
在CGAL中,高阶拉普拉斯算子是通过递归(recursive)迭代来实现的,这是CGAL低效率的主要原因。本发明采用一种全新的非迭代算法实现高阶拉普拉斯算子的求解,能把求解速度提升到几十倍。详细方法如下:把新填充到洞口的点称为“内部点”表示为点集N,原来洞口边界上的点(本发明以二阶拉普拉斯算子为例,故采用两层边界点)称为“外部点”表示为点集K。根据二阶拉普拉斯算子,可以构成如图3所示矩阵A:N为内部点系数,K为边界点系数。而向量B的构成是:需要求解的内部点变形后的坐标X,外部点坐标Y保持不变(保证原始网格的几何形态)。按拉普拉斯平滑的原理,我们有NX+KY=0;由此求解出X向量就是内部点变形的结果。
现有技术中,先连接孔洞的边界点再采用一些几何约束方法来移动新添加的点一般是基于拉普拉斯算子来决定新添加点的位置信息,但其计算效率很低。如下面表1所示,如果要添加203个新点的话,整个孔洞修复时间在两秒以上。随着添加点数的增多,这个时间是一个不可忽略的代价,尤其对交互操作的软件而言。
补洞的点数 | 203个点 | 174个点 | 144个点 | 77个点 |
补洞的时间 | 2007.65ms | 1853.19ms | 1575.35ms | 794.79ms |
表1.CGAL(4.81版本)单个线程补洞效率测试在计算机Inter CoreTM i5-4460TCPU 1.90GHzx4,内存8GB,Ubuntu 14.04 LTS 64-bit操作系统上
本发明的速度优化结果如表1,基本都加速了一百倍左右。
补洞的点数 | 203个点 | 174个点 | 144个点 | 77个点 |
补洞的时间 | 23.55ms | 18.83ms | 14.3ms | 7.47ms |
表1.本发明算法单个线程补洞效率测试在计算机Inter CoreTM i5-4460T CPU1.90GHzx4,内存8GB,Ubuntu 14.04 LTS 64-bit操作系统上。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (4)
1.一种基于高阶拉普拉斯算子的快速网格补洞方法,其特征在于包括以下步骤:
步骤1、找到网格模型的洞边界点,添加新的点并生成三角形网格填充所述网格模型的洞口;
步骤2、把新增的点放到内部点集合N中,把洞口两层边界点放到外部点集合K中;给内部点集合N的每一个点一个序号ID,所述内部点集合N各点的序号为ID0、ID1、……IDn,给外部点集合K的每一个点一个序号ID,所述内部点集合N各点的序号为IDn+1、IDn+2、……IDn+k;所述n、k均为正整数;
步骤3、遍历所有内部点集合N和外部点集合K,找到各点的一圈邻居点,把各点和其邻居圈放到map集合里;
步骤4、遍历步骤3的map集合,构建矩阵A:
根据各点的邻居圈算出权重wi;再遍历该邻居圈内的各点,算出权重wij;在矩阵(i,j)位置插入值-wi*wij,在矩阵(i,i)位置插入值wi*wij;
步骤5、遍历所有的外部点集合K,把其坐标(x,y,z)分别放入集合Bx、By和Bz;
步骤6、取出矩阵A中的内部点矩阵N,取出矩阵A中的外部点矩阵K;根据NX+KY=0,解出X,X为内部点平滑后的坐标;
步骤7、将X更新到内部点的坐标。
2.如权利要求1所述的一种基于高阶拉普拉斯算子的快速网格补洞方法,其特征是:所述权重wi和wij按如下方式计算得到:
wij=cotαij+cotβij;正被考虑的网格顶点vi;vi的相邻区域面积为Ai,αij和βij是正对边vi-vj的两个夹角。
3.如权利要求1所述的一种基于高阶拉普拉斯算子的快速网格补洞方法,其特征是:对洞口新增的点做平滑处理:
对洞口新增的点做平滑处理的数学模型是拉普拉斯算子:
vi为当前被考虑的网格顶点,vj为其一环邻居顶点几何N1(vi)中的邻居之一;每个顶点上的函数f()在本发明中代表网格顶点的三个坐标值(x,y,z)。
4.如权利要求1所述的一种基于高阶拉普拉斯算子的快速网格补洞方法,其特征是:对洞口新增的点做平滑处理:
对洞口新增的点做平滑处理的数学模型是高阶拉普拉斯算子:
高阶拉普拉斯算子是基于低一阶的拉普拉斯算子按权利要求3放肆计算得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710328306.3A CN107067476A (zh) | 2017-05-11 | 2017-05-11 | 一种基于高阶拉普拉斯算子的快速网格补洞方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710328306.3A CN107067476A (zh) | 2017-05-11 | 2017-05-11 | 一种基于高阶拉普拉斯算子的快速网格补洞方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107067476A true CN107067476A (zh) | 2017-08-18 |
Family
ID=59597372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710328306.3A Pending CN107067476A (zh) | 2017-05-11 | 2017-05-11 | 一种基于高阶拉普拉斯算子的快速网格补洞方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107067476A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109615702A (zh) * | 2018-10-23 | 2019-04-12 | 深圳市华讯方舟太赫兹科技有限公司 | 网格补洞方法、图像处理设备及具有存储功能的装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101203861A (zh) * | 2005-06-22 | 2008-06-18 | 微软公司 | 使用体积图形拉普拉斯算子的大型网格变形 |
CN102509327A (zh) * | 2011-09-30 | 2012-06-20 | 北京航空航天大学 | 一种图像空洞填补的多尺度全局采样方法 |
CN102930091A (zh) * | 2012-10-24 | 2013-02-13 | 浙江大学 | 一种面向牙齿牙龈的高效网格修补方法 |
US20130120382A1 (en) * | 2009-04-24 | 2013-05-16 | Pushkar P. Joshi | Methods and Apparatus for Decomposing an N-Sided Patch into Multiple Patches |
CN104361632A (zh) * | 2014-11-03 | 2015-02-18 | 北京航空航天大学 | 一种基于Hermite径向基函数的三角网格补洞方法 |
CN104504663A (zh) * | 2014-12-29 | 2015-04-08 | 佛山市诺威科技有限公司 | 一种义齿三角网格模型孔洞的迭代修补方法 |
US20160171761A1 (en) * | 2014-12-16 | 2016-06-16 | Fu Tai Hua Industry (Shenzhen) Co., Ltd. | Computing device and method for patching point clouds of object |
CN106340036A (zh) * | 2016-08-08 | 2017-01-18 | 东南大学 | 一种基于双目立体视觉的立体匹配方法 |
-
2017
- 2017-05-11 CN CN201710328306.3A patent/CN107067476A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101203861A (zh) * | 2005-06-22 | 2008-06-18 | 微软公司 | 使用体积图形拉普拉斯算子的大型网格变形 |
US20130120382A1 (en) * | 2009-04-24 | 2013-05-16 | Pushkar P. Joshi | Methods and Apparatus for Decomposing an N-Sided Patch into Multiple Patches |
CN102509327A (zh) * | 2011-09-30 | 2012-06-20 | 北京航空航天大学 | 一种图像空洞填补的多尺度全局采样方法 |
CN102930091A (zh) * | 2012-10-24 | 2013-02-13 | 浙江大学 | 一种面向牙齿牙龈的高效网格修补方法 |
CN104361632A (zh) * | 2014-11-03 | 2015-02-18 | 北京航空航天大学 | 一种基于Hermite径向基函数的三角网格补洞方法 |
US20160171761A1 (en) * | 2014-12-16 | 2016-06-16 | Fu Tai Hua Industry (Shenzhen) Co., Ltd. | Computing device and method for patching point clouds of object |
CN104504663A (zh) * | 2014-12-29 | 2015-04-08 | 佛山市诺威科技有限公司 | 一种义齿三角网格模型孔洞的迭代修补方法 |
CN106340036A (zh) * | 2016-08-08 | 2017-01-18 | 东南大学 | 一种基于双目立体视觉的立体匹配方法 |
Non-Patent Citations (3)
Title |
---|
JUNJIE CAO 等: "Point Cloud Skeletons via Laplacian-Based Contraction", 《2010 SHAPE MODELING INTERNATIONAL CONFERENCE》 * |
WEI ZHAO 等: "A robust hole-filling algorithm for triangular mesh", 《VISUAL COMPUT》 * |
胡燕瑜 等: "基于体网格拉普拉斯变形的鼻整形手术仿真", 《计算机仿真》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109615702A (zh) * | 2018-10-23 | 2019-04-12 | 深圳市华讯方舟太赫兹科技有限公司 | 网格补洞方法、图像处理设备及具有存储功能的装置 |
CN109615702B (zh) * | 2018-10-23 | 2023-09-22 | 深圳市重投华讯太赫兹科技有限公司 | 网格补洞方法、图像处理设备及具有存储功能的装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | Learning deformable tetrahedral meshes for 3d reconstruction | |
Li et al. | Bendsketch: Modeling freeform surfaces through 2d sketching | |
CN113348459B (zh) | 将网格几何结构转换为水密边界表示的方法、系统及介质 | |
CN104361632B (zh) | 一种基于Hermite径向基函数的三角网格补洞方法 | |
Sharf et al. | Competing fronts for coarse–to–fine surface reconstruction | |
Kwok et al. | Efficient optimization of common base domains for cross parameterization | |
Campen et al. | Walking on broken mesh: Defect‐tolerant geodesic distances and parameterizations | |
CN114329668B (zh) | 一种基于cad模型的rar网格优化方法及系统 | |
Hu et al. | Filling Holes in Triangular Meshes in Engineering. | |
Zeng et al. | Least squares quasi-developable mesh approximation | |
CN103489221B (zh) | 四边形网格共形参数化方法 | |
Wang et al. | EQSM: An efficient high quality surface grid generation method based on remeshing | |
Stanko et al. | Surfacing curve networks with normal control | |
US11640485B1 (en) | Generating CAD models from topology optimization data | |
CN106960469B (zh) | 一种快速分割三角形的光滑自由变形方法 | |
CN108665548B (zh) | 一种基于星形假设的点云快速渐进式重建方法 | |
Zhang et al. | A new section line extraction method of ring forgings based on normal vector and L1-median | |
CN107067476A (zh) | 一种基于高阶拉普拉斯算子的快速网格补洞方法 | |
Levet et al. | Improved skeleton extraction and surface generation for sketch-based modeling | |
Kobbelt et al. | Freeform shape representations for efficient geometry processing | |
Cao et al. | Patch layout generation by detecting feature networks | |
Xu et al. | Hexahedral meshing with varying element sizes | |
Tang et al. | A repair method of point cloud with big hole | |
CN108876922A (zh) | 一种基于内二面角补角正则化的网格修补方法 | |
CN107507279A (zh) | 基于快速凸壳技术的三角网生成方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170818 |