CN112184564A - 一种基于半边排序法的三维孔洞补偿方法 - Google Patents
一种基于半边排序法的三维孔洞补偿方法 Download PDFInfo
- Publication number
- CN112184564A CN112184564A CN202010848916.8A CN202010848916A CN112184564A CN 112184564 A CN112184564 A CN 112184564A CN 202010848916 A CN202010848916 A CN 202010848916A CN 112184564 A CN112184564 A CN 112184564A
- Authority
- CN
- China
- Prior art keywords
- point
- boundary
- point cloud
- holes
- edges
- 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 65
- 238000001914 filtration Methods 0.000 claims abstract description 10
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 238000012163 sequencing technique Methods 0.000 claims abstract description 8
- 238000005070 sampling Methods 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 claims description 23
- 238000013499 data model Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 7
- 230000005484 gravity Effects 0.000 claims description 6
- 238000011084 recovery Methods 0.000 abstract description 3
- 230000006872 improvement Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- 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
-
- 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/10028—Range image; Depth image; 3D point clouds
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于半边排序法的三维孔洞补偿方法,包括:采集点云数据,对点云数据进行预处理;其中,预处理包括降采样和滤波;将预处理后的点云数据通过法线投影到二维平面后进行三角剖分,得到平面内各点的拓扑关系,并确定各原始三维点的拓扑连接,得到半边结构的点云网格;判别点云网格中的空洞,依次获取组成孔洞的所有边界边,对所得的边界边进行排序;对排序的孔洞所有边界边集合,取角度最小两个半边,增加新的半边和三角片,依次迭代直到孔洞修补完成。本发明能够根据孔洞边界边的数量对孔洞进行选择性填补,通过对孔洞周围半边的迭代插边,保持了孔洞曲面的完整性和平滑性,具有复原度高、鲁棒性强的特点。
Description
技术领域
本发明涉及点云图像修复技术领域,具体涉及一种基于半边排序法的三维孔洞补偿方法。
背景技术
三维点云模型广泛运用于测绘、文物古迹保护和逆向工程建模等领域。在测绘领域中,经纬仪测绘法工作量大且精度较低,一般运用精度更高的激光扫描仪来获取三维数据。由于采集的过程存在数据丢失、实物引进等原因,点云模型会出现表面缺失和孔洞;这会对点云图像的识别、体积测算的精度造成较大影响,如何完整且准确的获取三维点云模型一直是图像处理领域的研究热点。因此,在将生成的点云模型运用到实际应用中,研究一种孔洞补偿方法对模型进行修补十分必要。
近年来,孔洞补偿算法出现很多不同方法的修补方式,主要有切片法、模板法、网格曲面法等等。切片法是以确定的一个方向进行切片,使得修补的结果存在不确定性和偶然性,鲁棒性不高。模板法对于复杂程度较低的孔洞曲面,修补效果较好;但对于孔洞区域具有多种曲面的情况,修补效果不太理想。网格曲面法大多在构造新的三角面片时仅采用原有的孔洞边缘顶点进行三角剖分,没有加入新的三角面片,因此很难获得适应性很好的三角修补面,造成修补效果不佳、难以保持孔洞边缘尖锐特征的现象。
发明内容
针对现有技术中存在的上述问题,本发明提供一种基于半边排序法的三维孔洞补偿方法,其具有修补孔洞效率高、还原度高的优点。
本发明公开了一种基于半边排序法的三维孔洞补偿方法,包括:
步骤1、采集点云数据,对所述点云数据进行预处理;其中,所述预处理包括降采样和滤波;
步骤2、将预处理后的点云数据通过法线投影到二维平面后进行三角剖分,得到平面内各点的拓扑关系,并确定各原始三维点的拓扑连接,得到半边结构的点云网格;
步骤3、判别所述点云网格中的空洞,依次获取组成孔洞的所有边界边,对所得的边界边进行排序;
步骤4、对排序的孔洞所有边界边集合,取角度最小两个半边,增加新的半边和三角片,依次迭代直到孔洞修补完成。
作为本发明的进一步改进,所述步骤1,具体包括:
步骤11、通过激光扫描仪采集扫描后的点云数据模型,采用Statistical OutlierRemoval滤波器对所述点云数据模型的离散点进行滤波;
步骤12、采用VoxelGrid滤波器对滤波后的点云数据进行降采样,对输入的数据创建一个体素大小为lentht三维体素栅格,将体素中所有点的重心来显示体素内其他所有的点。
作为本发明的进一步改进,在步骤11中,所述滤波的方法包括:
对点云数据模型中每个点的邻域做一个统计分布,计算每个点到其所有邻近点的平均距离,若其平均距离在标准范围lenthg以外,则移除该离散点。
作为本发明的进一步改进,所述步骤2,具体包括:
步骤21、将预处理后的点云数据通过法线投影到二维平面,在二维平面内对投影的点云数据基于Delaunay的三角剖分;
步骤22、构建Mesh,从步骤21的三角面片Mesh中找到所有半边,对于每一条边界半边对端点进行扩展,找到符合重建的点以后,重建一个三角片;
步骤23、每一个邻近点满足预设条件后,构成组成三角形的第三个端点;其中,所述预设条件包括:新加入的两边长度小于阈值、三角形的内角均在预设角度范围内以及形成的三角面片的外接圆半径最小;
步骤24、获得符合重建的点以后,重建一个三角面片,同时重建新加入的两边,得到二维平面内各点的拓扑连接关系,然后根据平面内各点的拓扑关系确定各原始三维点的拓扑连接,得到半边结构的点云网格。
作为本发明的进一步改进,在步骤21中,所述三角剖分的方法,包括:
初始化三角面片,对投影到二维平面的点云数据,先初始化一个三角面片,计算所有点的重心Pz=(xi,yi,zi),找到距离重心最近的一个点Pz0,在Pz0的邻域计算最远的距离len,在距离其len/3的某一点作为Pz1;其次在邻域中找一个点Pz2,使其构成的外接圆的半径最小;取三点构成一个三角面片,标记为边界点。
作为本发明的进一步改进,所述步骤3,具体包括:
步骤31、获取步骤2的网格数据模型:定义步骤2得到的点云三角网络模型为Mesh={Pi,Fj},其中Pi为点云网格中的点,i、j为正整数且Pi=(xi,yi,zi)∈R3,R为自然数;F是一个单纯复型,具有以下三种类型的元素:点Pj={i},边ej={i,j}以及三角形sj={i,j,n},i、j、n为正整数;
步骤32、提取孔洞的边界边:遍历点云网格模型Mesh,将边ej={i,j}和三角形sj={i,j,n}两两对比,若n为唯一值时则判定边ej={i,j}为孔洞的边界边;
步骤33、孔洞边界边排序:依次以逆时针方向对孔洞边界边进行排序,则孔洞的边界边的集合为e={ek,k=1,2,3,…,n},其中ek={i,j};
步骤34、循环点云网格模型的所有边界边e={ek,k=1,2,3,…,n},以其中一条半边开始依次寻找以这条边终点为起点的边,依次迭代直到找到以第一条起点为终点的半边,得到一个孔洞;标记孔洞的边界边的数量以及边的ID号k1∈k,定义孔洞为hm={ek1,k1∈k},m=1,2,3,…,n,其余的按边界边数量对孔洞进行排序,得到孔洞的集合hole={hm}。
作为本发明的进一步改进,所述步骤4,具体包括:
步骤41、获取孔洞相邻两边界边的向量角度:将步骤3排序后的边界边的集合为e={ek1,k1∈k},取相邻的边界边ek1={i,j},ek1+1={i+1,j+1}进行向量角度计算,将计算的角度θ按大小排序,则边界边的向量角度的集合为:Υ={θm,m=1,2,3…,n};
步骤42、修补孔洞:以最小的向量角度θ1开始依次迭代,若角度处于0~180°时,连接未封闭的角度θ1对应的边界边ek={i,j},ek+1={i+1,j+1}两端,并计算新生成三角形的外心Ps,三点互相连接形成新的三角形;若超出0~180°,不执行处理,直到完成补洞;
步骤43、删除有重叠的三角面片:首先找到孔洞的边界点,找到与之对应的邻域的边界面,并对此边界进行重叠条件判定,其判定条件为边界面的数量大于2且面与面的角度小于30°,若出现有重叠的三角面片,将之删除;
步骤44、通过选择孔洞边界边的数量选择性的填补孔洞,依次迭代直到全部孔洞填补完整。
与现有技术相比,本发明的有益效果为:
本发明能够根据孔洞边界边的数量对孔洞进行选择性填补,通过对孔洞周围半边的迭代插边,保持了孔洞曲面的完整性和平滑性,具有复原度高、鲁棒性强的特点;其改良了网格曲面法构造新的三角面片时仅采用原有的孔洞边缘顶点进行三角剖分的局限性问题,获得了适应性很好的三角修补面,充分考虑了边界点周围的特征情况并进行了曲面拟合,还原了物体本来的形状、保持了孔洞边缘尖锐的特征,能够选择性的对孔洞进行补偿。
附图说明
图1为本发明一种实施例公开的基于半边排序法的三维孔洞补偿方法的流程图;
图2为油罐点云模型处理后孔洞示意图;
图3为油罐点云模型补偿效果示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于半边排序法的三维孔洞补偿方法,相比与现有的三维孔洞补偿方法,基于半边排序法的三维孔洞补偿方法具有鲁棒性高、还原度强的特点。对孔洞边界边点进行法向量计算,对相邻两边法向量两两运算,将之归一化为逆时针排序,计算每条边的夹角并排序,在进行插点修补。基于半边排序法的三维孔洞补偿方法充分考虑了边界点周围的特征情况并进行了曲面拟合,还原了物体本来的形状、保持了孔洞边缘尖锐的特征。本发明以点云模型作为研究对象,探究了基于半边排序的孔洞补偿方法,它可以根据孔洞半边的数量的设置,选择性的补偿需要补偿的孔洞。
下面结合附图对本发明做进一步的详细描述:
如图1所示,本发明提供一种基于半边排序法的三维孔洞补偿方法,包括:
步骤1、采集点云数据,对点云数据进行预处理,预处理包括降采样和滤波,得到预处理后的点云数据,使得样本保持形状的同时降低了数据量;
具体包括:
步骤11、通过激光扫描仪采集扫描后的点云数据模型,采用Statistical OutlierRemoval滤波器对点云数据模型的离散点进行滤波;其中,滤波的方法包括:对点云数据模型中每个点的邻域做一个统计分布,计算每个点到其所有邻近点的平均距离,若其平均距离在标准范围lenthg(全局距离均值与方差构成)以外,则移除该离散点;
步骤12、采用VoxelGrid滤波器对滤波后的点云数据进行降采样,对输入的数据创建一个体素大小为lentht三维体素栅格,将体素中所有点的重心来显示体素内其他所有的点,降低数据量的同时,保有点云数据的轮廓。
步骤2、将预处理后的点云数据通过法线投影到二维平面后进行三角剖分,得到平面内各点的拓扑关系,并确定各原始三维点的拓扑连接,得到半边结构的点云网格;
具体包括:
步骤21、将预处理后的点云数据通过法线投影到二维平面,在二维平面内对投影的点云数据基于Delaunay的三角剖分;其中,三角剖分的方法,包括:初始化三角面片,对投影到二维平面的点云数据,先初始化一个三角面片,计算所有点的重心Pz=(xi,yi,zi),找到距离重心最近的一个点Pz0,在Pz0的邻域计算最远的距离len,在距离其len/3的某一点作为Pz1;其次在邻域中找一个点Pz2,使其构成的外接圆的半径最小;取三点构成一个三角面片,标记为边界点;
步骤22、构建Mesh,从步骤21的三角面片Mesh中找到所有半边,对于每一条边界半边对端点进行扩展,找到符合重建的点以后,重建一个三角片;如果某条半边的两点都不能重建,则删除;
步骤23、每一个邻近点满足预设条件后,构成组成三角形的第三个端点;其中,预设条件包括:新加入的两边长度小于阈值、三角形的内角均在预设角度范围内以及形成的三角面片的外接圆半径最小;
步骤24、获得符合重建的点以后,重建一个三角面片,同时重建新加入的两边,得到二维平面内各点的拓扑连接关系,然后根据平面内各点的拓扑关系确定各原始三维点的拓扑连接,得到半边结构的点云网格。
步骤3、判别点云网格中的空洞,依次获取组成孔洞的所有边界边,对所得的边界边进行排序;
具体包括:
步骤31、获取步骤2的网格数据模型:定义步骤2得到的点云三角网络模型为Mesh={Pi,Fj},其中Pi为点云网格中的点,i、j为正整数且Pi=(xi,yi,zi)∈R3,R为自然数;F是一个单纯复型,具有以下三种类型的元素:点Pj={i},边ej={i,j}以及三角形sj={i,j,n},i、j、n为正整数;
步骤32、提取孔洞的边界边:由于孔洞的几何特性,在孔洞上的边仅仅和一个三角形相邻;遍历点云网格模型Mesh,将边ej={i,j}和三角形sj={i,j,n}两两对比,若n为唯一值时则判定边ej={i,j}为孔洞的边界边;
步骤33、孔洞边界边排序:依次以逆时针方向对孔洞边界边进行排序,则孔洞的边界边的集合为e={ek,k=1,2,3,…,n},其中ek={i,j};
步骤34、循环点云网格模型的所有边界边e={ek,k=1,2,3,…,n},以其中一条半边开始依次寻找以这条边终点为起点的边,依次迭代直到找到以第一条起点为终点的半边,得到一个孔洞;标记孔洞的边界边的数量以及边的ID号k1∈k,定义孔洞为hm={ek1,k1∈k},m=1,2,3,…,n,其余的按边界边数量对孔洞进行排序,得到孔洞的集合hole={hm};
步骤35、对孔洞进行有效性判定,在满足以下情况需去除各边组成的三角面:
1.该孔洞的边界边只有三条半边,则可能是一个独立的面;
2.该孔洞的边界边只有四条半边,则可能是两个独立的面;
3.若该孔洞的边界边数处于2~8之间,具有共同的顶点;
4.其余的按边界边数量对孔洞进行排序。
步骤4、对排序的孔洞所有边界边集合,取角度最小两个半边,增加新的半边和三角片,依次迭代直到孔洞修补完成;
具体包括:
步骤41、获取孔洞相邻两边界边的向量角度:将步骤3排序后的边界边的集合为e={ek1,k1∈k},取相邻的边界边ek1={i,j},ek1+1={i+1,j+1}进行向量角度计算,将计算的角度θ按大小排序,则边界边的向量角度的集合为:Υ={θm,m=1,2,3…,n};
步骤42、修补孔洞:以最小的向量角度θ1开始依次迭代,若角度处于0~180°时,连接未封闭的角度θ1对应的边界边ek={i,j},ek+1={i+1,j+1}两端,并计算新生成三角形的外心Ps,三点互相连接形成新的三角形;若超出0~180°,不执行处理,直到完成补洞;
步骤43、删除有重叠的三角面片:首先找到孔洞的边界点,找到与之对应的邻域的边界面,并对此边界进行重叠条件判定,其判定条件为边界面的数量大于2且面与面的角度小于30°,若出现有重叠的三角面片,将之删除;
步骤44、通过选择孔洞边界边的数量选择性的填补孔洞,依次迭代直到全部孔洞填补完整。
实施例:
以油罐点云模型为例,本发明提供一种基于半边排序法的三维孔洞补偿方法,包括:
步骤1、对由激光扫描仪采集的油罐点云模型进行数据预处理;
具体按以下步骤实施:
步骤11、采用StatisticalOutlierRemoval滤波器对点云模型的离散点进行处理,先计算每个点到其所有邻近点的平均距离的标准差Thresh,设置进行统计时每个点的查询邻近点数kmean=50,再将标准差Thresh的系数设置为1,超过这个标准差系数的点则记为离散点;
步骤12、对于滤波后的点云数据,采用VoxelGrid滤波器对数据进行降采样,先在点云数据中创建一个体素,设置这个体素为1cm的立方体,其中leafsize=0.01f,来替代周围的点,进而降低数据量以便快速计算。
步骤2、将预处理后的点云三角化网格化;
具体按以下步骤实施:
步骤21、先将点云通过法线投影到二维坐标平面,用法向量估计每个点云的法向量,设置kd树为搜索方法,其维度k=19,先初始化一个三角面片。
步骤22、首先步骤21的三角面片Mesh中找到所有的边界半边,对于其中的每一条边界的端点进行扩展,样本点与其邻近点的最远距离为lmax=2.5栅格。
步骤23、对每一个邻近点在满足以下条件,才能构成组成三角形的第三个端点,进而进行三角剖分形成网格:
1.新加入的两边长度小于阈值Rmax=0.024;
2.三角形的内角都在一定的范围内:MinAngle=20°,ManAngle=180°;
3.形成的三角面片的外接圆半径最小:三点决定一个外接圆,得其圆心Pr(xr,yr),则其半径为:
其中P1(x1,y1)为三角面片中顶点其中一点的坐标。
得到二维平面内各点的拓扑连接关系,然后根据平面内各点的拓扑关系确定各原始三维点的拓扑连接。
步骤3、判定孔洞并排序
具体按以下步骤实施:
步骤31、获取步骤2的网格数据模型:定义步骤2中的点云三角网络模型为Mesh={Pi,Fj}。其中Pi为点云网格中的点,i、j、n为正整数且Pi=(xi,yi,zi)∈R3,F是一个单纯复型,具有以下三种类型的元素:点pj={i},边ej={i,j}以及三角形sj={i,j,n}。
步骤32、提取孔洞的边界边:由于孔洞的几何特性,在孔洞上的边仅仅和一个三角形相邻。将遍历点云网格模型Mesh,将边ej={i,j}和三角形sj={i,j,n}两两对比,若n为唯一值时则判定边ej={i,j}为孔洞的边界边。
步骤33、孔洞边界边排序:依次以逆时针方向对孔洞边界边进行排序,则孔洞的边界边的集合为e={ek,k=1,2,3…n},其中ek={i,j}。
步骤34、循环点云网格模型的所有边界边e={ek,k=1,2,3,…,n},以其中一条半边开始依次寻找以这条边终点为起点的边,依次迭代直到找到以第一条起点为终点的半边,这样就找到一个孔洞。标记孔洞的边界边的数量以及边的ID号k1∈k,定义孔洞为hm={ek1,k1∈k},m=1,2,3,…,n。其余的按边界边数量对孔洞进行排序,得到孔洞的集合hole={hm},油罐点云模型处理后孔洞如图2所示;
步骤4、对排序的孔洞所有边界边集合,取角度最小两个半边,增加新的半边和三角片,依次迭代直到孔洞修补完成;
具体按以下步骤实施:
步骤41、获取孔洞相邻两边界边的向量角度:将步骤3排序后的边界边的集合为e={ek1,k1∈k},取相邻的边界边ek1={i,j},ek1+1={i+1,j+1}进行向量角度计算,将计算的角度θ按大小排序,则边界边的向量角度的集合为:Υ={θm,m=1,2,3…,n}。其中向量角度的计算公式为:设相邻的两边的向量为e1=(a1,a2,a3),e2=(b1,b2,b3),则
步骤42、修补孔洞:以最小的向量角度θ1开始依次迭代,若角度处于0~180°时,连接未封闭的角度θ1对应的边界边ek1={i,j},ek1+1={i+1,j+1}两端,并计算新生成三角形的外心Ps,三点互相连接形成新的三角形。若超出0~180°,不执行处理。直到完成补洞。
步骤43、删除有重叠的三角面片:首先找到孔洞的边界点,找到与之对应的邻域的边界面,并对此边界进行重叠条件判定,其判定条件为边界面的数量大于2且面与面的角度小于30°,若出现有重叠的三角面片,将之删除。
步骤44、通过选择全部孔洞进行孔洞填补,依次迭代直到全部孔洞填补完整;油罐点云模型补偿效果如图3所示。
本发明的优点为:
本发明能够根据孔洞边界边的数量对孔洞进行选择性填补,通过对孔洞周围半边的迭代插边,保持了孔洞曲面的完整性和平滑性,具有复原度高、鲁棒性强的特点;其改良了网格曲面法构造新的三角面片时仅采用原有的孔洞边缘顶点进行三角剖分的局限性问题,获得了适应性很好的三角修补面,充分考虑了边界点周围的特征情况并进行了曲面拟合,还原了物体本来的形状、保持了孔洞边缘尖锐的特征,能够选择性的对孔洞进行补偿。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于半边排序法的三维孔洞补偿方法,其特征在于,包括:
步骤1、采集点云数据,对所述点云数据进行预处理;其中,所述预处理包括降采样和滤波;
步骤2、将预处理后的点云数据通过法线投影到二维平面后进行三角剖分,得到平面内各点的拓扑关系,并确定各原始三维点的拓扑连接,得到半边结构的点云网格;
步骤3、判别所述点云网格中的空洞,依次获取组成孔洞的所有边界边,对所得的边界边进行排序;
步骤4、对排序的孔洞所有边界边集合,取角度最小两个半边,增加新的半边和三角片,依次迭代直到孔洞修补完成。
2.如权利要求1所述的三维孔洞补偿方法,其特征在于,所述步骤1,具体包括:
步骤11、通过激光扫描仪采集扫描后的点云数据模型,采用Statistical OutlierRemoval滤波器对所述点云数据模型的离散点进行滤波;
步骤12、采用VoxelGrid滤波器对滤波后的点云数据进行降采样,对输入的数据创建一个体素大小为lentht三维体素栅格,将体素中所有点的重心来显示体素内其他所有的点。
3.如权利要求2所述的三维孔洞补偿方法,其特征在于,在步骤11中,所述滤波的方法包括:
对点云数据模型中每个点的邻域做一个统计分布,计算每个点到其所有邻近点的平均距离,若其平均距离在标准范围lenthg以外,则移除该离散点。
4.如权利要求1所述的三维孔洞补偿方法,其特征在于,所述步骤2,具体包括:
步骤21、将预处理后的点云数据通过法线投影到二维平面,在二维平面内对投影的点云数据基于Delaunay的三角剖分;
步骤22、构建Mesh,从步骤21的三角面片Mesh中找到所有半边,对于每一条边界半边对端点进行扩展,找到符合重建的点以后,重建一个三角片;
步骤23、每一个邻近点满足预设条件后,构成组成三角形的第三个端点;其中,所述预设条件包括:新加入的两边长度小于阈值、三角形的内角均在预设角度范围内以及形成的三角面片的外接圆半径最小;
步骤24、获得符合重建的点以后,重建一个三角面片,同时重建新加入的两边,得到二维平面内各点的拓扑连接关系,然后根据平面内各点的拓扑关系确定各原始三维点的拓扑连接,得到半边结构的点云网格。
5.如权利要求4所述的三维孔洞补偿方法,其特征在于,在步骤21中,所述三角剖分的方法,包括:
初始化三角面片,对投影到二维平面的点云数据,先初始化一个三角面片,计算所有点的重心Pz=(xi,yi,zi),找到距离重心最近的一个点Pz0,在Pz0的邻域计算最远的距离len,在距离其len/3的某一点作为Pz1;其次在邻域中找一个点Pz2,使其构成的外接圆的半径最小;取三点构成一个三角面片,标记为边界点。
6.如权利要求1所述的三维孔洞补偿方法,其特征在于,所述步骤3,具体包括:
步骤31、获取步骤2的网格数据模型:定义步骤2得到的点云三角网络模型为Mesh={Pi,Fj},其中Pi为点云网格中的点,i、j为正整数且Pi=(xi,yi,zi)∈R3,R为自然数;F是一个单纯复型,具有以下三种类型的元素:点Pj={i},边ej={i,j}以及三角形sj={i,j,n},i、j、n为正整数;
步骤32、提取孔洞的边界边:遍历点云网格模型Mesh,将边ej={i,j}和三角形sj={i,j,n}两两对比,若n为唯一值时则判定边ej={i,j}为孔洞的边界边;
步骤33、孔洞边界边排序:依次以逆时针方向对孔洞边界边进行排序,则孔洞的边界边的集合为e={ek,k=1,2,3,…,n},其中ek={i,j};
步骤34、循环点云网格模型的所有边界边e={ek,k=1,2,3,…,n},以其中一条半边开始依次寻找以这条边终点为起点的边,依次迭代直到找到以第一条起点为终点的半边,得到一个孔洞;标记孔洞的边界边的数量以及边的ID号k1∈k,定义孔洞为hm={ek1,k1∈k},m=1,2,3,…,n,其余的按边界边数量对孔洞进行排序,得到孔洞的集合hole={hm}。
7.如权利要求1所述的三维孔洞补偿方法,其特征在于,所述步骤4,具体包括:
步骤41、获取孔洞相邻两边界边的向量角度:将步骤3排序后的边界边的集合为e={ek1,k1∈k},取相邻的边界边ek1={i,j},ek1+1={i+1,j+1}进行向量角度计算,将计算的角度θ按大小排序,则边界边的向量角度的集合为:Υ={θm,m=1,2,3…,n};
步骤42、修补孔洞:以最小的向量角度θ1开始依次迭代,若角度处于0~180°时,连接未封闭的角度θ1对应的边界边ek={i,j},ek+1={i+1,j+1}两端,并计算新生成三角形的外心Ps,三点互相连接形成新的三角形;若超出0~180°,不执行处理,直到完成补洞;
步骤43、删除有重叠的三角面片:首先找到孔洞的边界点,找到与之对应的邻域的边界面,并对此边界进行重叠条件判定,其判定条件为边界面的数量大于2且面与面的角度小于30°,若出现有重叠的三角面片,将之删除;
步骤44、通过选择孔洞边界边的数量选择性的填补孔洞,依次迭代直到全部孔洞填补完整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010848916.8A CN112184564A (zh) | 2020-08-21 | 2020-08-21 | 一种基于半边排序法的三维孔洞补偿方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010848916.8A CN112184564A (zh) | 2020-08-21 | 2020-08-21 | 一种基于半边排序法的三维孔洞补偿方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112184564A true CN112184564A (zh) | 2021-01-05 |
Family
ID=73924225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010848916.8A Pending CN112184564A (zh) | 2020-08-21 | 2020-08-21 | 一种基于半边排序法的三维孔洞补偿方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112184564A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114266798A (zh) * | 2021-12-14 | 2022-04-01 | 上海应用技术大学 | 基于边界点迭代的点云修复方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361632A (zh) * | 2014-11-03 | 2015-02-18 | 北京航空航天大学 | 一种基于Hermite径向基函数的三角网格补洞方法 |
US20160371891A1 (en) * | 2015-06-17 | 2016-12-22 | Adobe Systems Incorporated | Hybrid surfaces for mesh repair |
CN206657545U (zh) * | 2017-03-14 | 2017-11-21 | 周东文 | 一种物理学中关于弹力片的弹力演示装置 |
CN107610061A (zh) * | 2017-08-30 | 2018-01-19 | 西安理工大学 | 一种基于二维投影的保边点云孔洞修补方法 |
CN109615702A (zh) * | 2018-10-23 | 2019-04-12 | 深圳市华讯方舟太赫兹科技有限公司 | 网格补洞方法、图像处理设备及具有存储功能的装置 |
CN110097642A (zh) * | 2019-04-25 | 2019-08-06 | 东北大学 | 一种基于半边结构的模型网格补全的方法 |
CN111239760A (zh) * | 2020-01-16 | 2020-06-05 | 湖北三江航天红峰控制有限公司 | 基于融合传感器的多视场目标环境信息采集装置和方法 |
-
2020
- 2020-08-21 CN CN202010848916.8A patent/CN112184564A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361632A (zh) * | 2014-11-03 | 2015-02-18 | 北京航空航天大学 | 一种基于Hermite径向基函数的三角网格补洞方法 |
US20160371891A1 (en) * | 2015-06-17 | 2016-12-22 | Adobe Systems Incorporated | Hybrid surfaces for mesh repair |
CN206657545U (zh) * | 2017-03-14 | 2017-11-21 | 周东文 | 一种物理学中关于弹力片的弹力演示装置 |
CN107610061A (zh) * | 2017-08-30 | 2018-01-19 | 西安理工大学 | 一种基于二维投影的保边点云孔洞修补方法 |
CN109615702A (zh) * | 2018-10-23 | 2019-04-12 | 深圳市华讯方舟太赫兹科技有限公司 | 网格补洞方法、图像处理设备及具有存储功能的装置 |
CN110097642A (zh) * | 2019-04-25 | 2019-08-06 | 东北大学 | 一种基于半边结构的模型网格补全的方法 |
CN111239760A (zh) * | 2020-01-16 | 2020-06-05 | 湖北三江航天红峰控制有限公司 | 基于融合传感器的多视场目标环境信息采集装置和方法 |
Non-Patent Citations (4)
Title |
---|
LEARN DEEP LEARNING: "三维重建: 点云三角化(二流型的)要点 很详细", 《HTTPS://BLOG.CSDN.NET/ZKL99999/ARTICLE/DETAILS/56511727》 * |
范炜: "基于三维激光扫描技术的隧道断面线提取方法研究", 《智能城市》 * |
菜鸟知识搬运工: "点云贪心三角化原理", 《HTTPS://BLOG.CSDN.NET/QQ_30815237/ARTICLE/DETAILS/86313534》 * |
陈学伟: "真实场景三维几何建模与快速重建技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114266798A (zh) * | 2021-12-14 | 2022-04-01 | 上海应用技术大学 | 基于边界点迭代的点云修复方法 |
CN114266798B (zh) * | 2021-12-14 | 2023-09-22 | 上海应用技术大学 | 基于边界点迭代的点云修复方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685080B (zh) | 基于霍夫变换与区域生长的多尺度平面提取方法 | |
CN107610061B (zh) | 一种基于二维投影的保边点云孔洞修补方法 | |
CN107610230B (zh) | 一种3d打印数字模型剖切及接口设计方法及应用 | |
CN112581457A (zh) | 一种基于三维点云的管道内表面检测方法及装置 | |
CN109859114B (zh) | 基于局域平滑性和非局域相似性的三维点云修复方法 | |
CN110866531A (zh) | 一种基于三维建模的建筑物特征提取方法、系统及存储介质 | |
CN109615581B (zh) | 一种融合扩展高斯球和颜色几何特征的三维碎片的拼接复原方法 | |
CN107680168B (zh) | 三维重建中基于平面拟合的网格简化方法 | |
CN107464223B (zh) | 一种基于切片的点云孔洞修补方法 | |
CN109872394B (zh) | 基于最小二乘支持向量机的狭长三角形网格优化方法 | |
US20240153123A1 (en) | Isogeometric Analysis Method Based on a Geometric Reconstruction Model | |
CN111553292A (zh) | 一种基于点云数据的岩体结构面识别与产状分类方法 | |
CN111882668A (zh) | 一种多视角立体对象重建方法与系统 | |
CN113012063B (zh) | 一种动态点云修复方法、装置及计算机设备 | |
CN115222883A (zh) | 一种基于地基LiDAR点云的电力杆塔重建方法 | |
CN111932669A (zh) | 一种基于边坡岩体特征对象的变形监测方法 | |
CN115187749A (zh) | 基于立方体网络模型的点云表面重建方法及系统 | |
CN111489416A (zh) | 隧道轴线拟合方法及在超欠挖方量计算上的应用 | |
CN115640670A (zh) | 一种地形自适应水深模型分区加权融合方法 | |
CN115861247A (zh) | 一种高分辨率遥感影像轮廓多级正则化方法、系统及应用 | |
CN112184564A (zh) | 一种基于半边排序法的三维孔洞补偿方法 | |
CN109102535B (zh) | 一种基于构件提取的室内场景重建方法 | |
CN108109205B (zh) | 一种基于孔洞填充的残缺模型检索与重建方法 | |
CN111681322B (zh) | 一种倾斜摄影模型的融合方法 | |
CN113870326A (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: 20210105 |