表面缺陷检测和三维建模方法技术

技术编号:20365596 阅读:28 留言:0更新日期:2019-02-16 17:45
本发明专利技术公开了一种表面缺陷检测和三维建模方法,包括以下步骤:1)原始表面点云数据采集,2)原始缺陷点云数据缺陷分割,得到无缺陷部位和缺陷部位;3)无缺陷部位配准,获取缺陷模型;4)缺陷模型顶部分割;5)缺陷模型顶部杂散点滤波;6)缺陷模型平滑;7)曲面建模,将点云缺陷模型进行表面重建,得到缺陷区域的曲面模型。本发明专利技术的表面缺陷检测和三维建模方法,能实现待检测物体表面缺陷的自动检测和三维模型自动构建。可用于实现工业表面自动化修复,可以应用于人体表面皮肤组织损伤部位建模,为皮肤三维打印提供三维模型。

【技术实现步骤摘要】
表面缺陷检测和三维建模方法
本专利技术涉及图像处理
,特别涉及一种表面缺陷检测和三维建模方法。
技术介绍
待检测物体的表面缺陷建模,是实现工业表面自动化修复的关键步骤;同时,该技术结合三维影像全景建模,也可以应用于人体表面皮肤组织损伤部位建模,为皮肤三维打印提供三维模型。而现在的表面缺陷检测和三维建模技术存在诸多缺陷,难以实现表面缺陷部位模型的精准重建。
技术实现思路
本专利技术所要解决的技术问题在于针对上述现有技术中的不足,提供一种表面缺陷检测和三维建模方法。为解决上述技术问题,本专利技术采用的技术方案是:一种表面缺陷检测和三维建模方法,包括以下步骤:1)原始表面点云数据采集,其包括原始缺陷点云数据和原始无缺陷点云数据;2)原始缺陷点云数据缺陷分割,得到无缺陷部位和缺陷部位;3)无缺陷部位配准,获取缺陷模型;4)缺陷模型顶部分割;5)缺陷模型顶部杂散点滤波;6)缺陷模型平滑;7)曲面建模,将点云缺陷模型进行表面重建,得到缺陷区域的曲面模型。优选的是,所述步骤1)包括分别扫描含缺陷区域的物体和完整的物体,将含缺陷的三维点云数据记作原始缺陷点云数据Pd,将无缺陷的三维点云数据记作原始无缺陷点云数据Pi。优选的是,所述步骤2)具体为:在含表面缺陷的原始缺陷点云数据中搜索表征缺陷的点云子集,将符合Pi点云分布的点称为内点,记作pi,不符合Pi点云分布模型的称为外点,记作po;其中,其内点和外点提取的具体步骤为:2-1)输入Pd,设置内点到模拟模型的距离的阈值d;2-2)每一轮的迭代中,在Pd中随机选取n个点进行表面模型的参数估计,得到模拟模型;2-3)对于Pd剩下的点,若他们到模拟模型的距离小于设定阈值d,则将它们划入到内点集合,大于d,则划入到外点集合;2-4)若内点集合中点的个数超过设定数量Nt,则判定其为一个好的模型,并将它与上一个好模型进行比较;若该模型对Pd的符合程度比上一论迭代出的模型更好,则保存现有模型;若没有上一个好,则舍弃;2-5)开始新一轮的模型估计迭代;2-6)循环k次后,输出最好的模拟模型,以及符合该模型的所有内点,该内点即为含表面缺陷的的原始缺陷点云数据中平坦分布的点云数据,记为无缺陷部位,其剩下的即为原始缺陷点云数据中的缺陷部位。优选的是,所述步骤3)具体包括以下步骤:3-1)输入Pi和Pd;3-2)质心粗配准,其具体包括:3-2-1)首先计算目标点云Pi的中心与待配准点云Pd的中心记Ny是目标点云的点数,Nx是待配准点云的点数;待配准点云是上一步骤2)中分割出的Pd中无缺陷部分,其中:3-2-2)计算待配准点云的平移向量3-2-3)根据平移向量实现粗配准,是粗配后的点云:3-3)精配准:在使用粗配准完成点云初始位置设定之后,再进行精配准,其配准模型为经过数次迭代最小化寻找出最优的旋转矩阵以及平移向量其中:其中,表示待配准点云与目标点云的平均距离,是待配准点云经过k+1次迭代后的结果,是目标点云经过k+1次迭代后的结果,τ代表示两次迭代前后配准误差的插值;当出现两次迭代之间的差值小于阈值时,则认为迭代结束,完成无缺陷部位配准,并通过数据共享或传递获得配准后的缺陷部位,从而得到配准后的缺陷模型。优选的是,所述步骤4中使用k-d树最邻近搜索方法检测缺陷模型底部,具体包括以下步骤:4-1)输入原始无缺陷点云数据Pi,通过设置搜索半径,对该点云的每一个点在半径r的球内寻找在无缺陷区域内的近邻值;4-2)构造3维KD树:三维点对应一棵三维树,构造树时根节点选取x轴,根节点的孩子选取y轴,根节点的孙子选取z轴,根节点的曾孙子选取x轴,依次循环下去;4-3)从根结点出发,通过二叉树搜索顺着“搜索路径”在一个叶节点处到最近邻的近似点;其中,二叉树搜索方法为:比较待查询节点和分裂节点的分裂维的值,小于等于就进入左子树分支,大于就进入右子树分支直到叶子结点;4-4)递归向上回退,每回退一步,如果该回退处的结点比当前“近似紧邻点”更接近目标点,则以该点作为“当前最近邻点”;4-5)最近邻点一定存在于当前节点的一个子节点对应的区域,检查该节点的父结点的另一个子节点区域内是否有比“当前最近邻点”更接近目标点的点;若有,则在那个节点处进行回退,若没有,则在当前节点处继续回退;4-6)回退到根节点时,搜索结束,“当前最近邻点”即为“最近近邻点”;4-7)利用k-d树对配准后的无缺陷部位的每一个点在原始无缺陷点云表面进行近邻搜索,若在所给半径范围的球内找不到一个近邻值,则这个点就是配准后的缺陷模型顶部的点,从而实现配准后的缺陷模型顶部的分割。优选的是,所述步骤5中采用欧式聚类对点云进行聚类操作,实现对缺陷模型顶的杂散点滤波,具体包括以下步骤:5-1)输入由步骤4处理后的缺陷模型顶部,设置中k-d树搜索的半径范围r以及一个有效聚类包含的最小点数n;5-2)找到空间中某点p11,用kd树找到离他最近的n个点,判断这n个点到预先设定的点p10的距离,将距离小于阈值r的点p12,p13,p14....放在队列Q里;5-3)在Q\p11里找到一点p12,重复步骤5-1;5-4)在Q\p11,p12找到一点,重复5-1,找到p22,p23,p24....全部放进Q里;5-5)当Q再也不能有新点加入了,则完成搜索;5-6)最终完成所有点的分类,并将缺陷模型顶部的点云分成了有效数据点和杂散点两类,将杂散点去除。优选的是,所述步骤6中使用移动最小二乘方法,在现有数据的基础上,结合重采样算法通过对周围数据点进行高阶多项式插值来重建表面缺失的部分,从而实现缺陷模型平滑,具体包括以下步骤:6-1)输入由所述步骤5处理后的缺陷模型,使用最小二乘方法对其进行平滑预处理;6-2)设定参数:KD树查找边缘和邻域时的搜索半径,高阶多项式插值的阶数,以及平面上重采样的密度,即单位网格体素内点的数量;6-3)对于一个点云,创建一个三角网格;6-4)使用KD树查找边缘和它的邻域;6-5)对于一个邻域计算投影平面;6-6)判定平面上的重采样位置;6-7)拟合曲面且重新采样;6-8)重复步骤6-1)-步骤6-5),直到没有孔洞存在,完成缺陷模型平滑,得到平滑后的点云缺陷模型。优选的是,所述步骤7)中使用贪婪投影三角化算法完成步骤6)得到的点云缺陷模型的表面重建,最终得到缺陷区域的的曲面模型;具体步骤包括:7-1)设置以下参数:算法模型估算所需的最少点数,设置连接点之间的最大距离(最大边长),每个点的最终搜索半径r,搜索最近邻点的最大数量k,生成的三角形的最小角度以及最大角度;7-2)将步骤6)得到的点云缺陷模型的三维点投影到某一平面;7-3)对投影得到的点云做平面内的三角化,从而得到各点的连接关系;7-4)最后根据投影点云的连接关系确定各原始三维点间的拓扑连接,所得三角网格即为重建得到的缺陷区域的曲面模型。优选的是,所述步骤7-3)中,在平面区域三角化的过程中使用基于Delaunay的空间区域增长算法,该算法通过创建一个起始的三角形启动,并不断添加新的三角形直到所有点云中的点被包含或没有更有效的三角形;其具体步骤为:7-3-1)最近邻域搜索:对于点云中的每一个点p,选择一个k邻域;这个邻域是由搜索参考点k近邻的范围内创建的,半径为r;最初点云中的所有本文档来自技高网...

【技术保护点】
1.一种表面缺陷检测和三维建模方法,其特征在于,包括以下步骤:1)原始表面点云数据采集,其包括原始缺陷点云数据和原始无缺陷点云数据;2)原始缺陷点云数据缺陷分割,得到无缺陷部位和缺陷部位;3)无缺陷部位配准,获取缺陷模型;4)缺陷模型顶部分割;5)缺陷模型顶部杂散点滤波;6)缺陷模型平滑;7)曲面建模,将点云缺陷模型进行表面重建,得到缺陷区域的曲面模型。

【技术特征摘要】
1.一种表面缺陷检测和三维建模方法,其特征在于,包括以下步骤:1)原始表面点云数据采集,其包括原始缺陷点云数据和原始无缺陷点云数据;2)原始缺陷点云数据缺陷分割,得到无缺陷部位和缺陷部位;3)无缺陷部位配准,获取缺陷模型;4)缺陷模型顶部分割;5)缺陷模型顶部杂散点滤波;6)缺陷模型平滑;7)曲面建模,将点云缺陷模型进行表面重建,得到缺陷区域的曲面模型。2.根据权利要求1所述的表面缺陷检测和三维建模方法,其特征在于,所述步骤1)包括分别扫描含缺陷区域的物体和完整的物体,将含缺陷的三维点云数据记作原始缺陷点云数据Pd,将无缺陷的三维点云数据记作原始无缺陷点云数据Pi。3.根据权利要求2所述的表面缺陷检测和三维建模方法,其特征在于,所述步骤2)具体为:在含表面缺陷的原始缺陷点云数据中搜索表征缺陷的点云子集,将符合Pi点云分布的点称为内点,记作pi,不符合Pi点云分布模型的称为外点,记作po;其中,其内点和外点提取的具体步骤为:2-1)输入Pd,设置内点到模拟模型的距离的阈值d;2-2)每一轮的迭代中,在Pd中随机选取n个点进行表面模型的参数估计,得到模拟模型;2-3)对于Pd剩下的点,若他们到模拟模型的距离小于设定阈值d,则将它们划入到内点集合,大于d,则划入到外点集合;2-4)若内点集合中点的个数超过设定数量Nt,则判定其为一个好的模型,并将它与上一个好模型进行比较;若该模型对Pd的符合程度比上一论迭代出的模型更好,则保存现有模型;若没有上一个好,则舍弃;2-5)开始新一轮的模型估计迭代;2-6)循环k次后,输出最好的模拟模型,以及符合该模型的所有内点,该内点即为含表面缺陷的的原始缺陷点云数据中平坦分布的点云数据,记为无缺陷部位,其剩下的即为原始缺陷点云数据中的缺陷部位。4.根据权利要求3所述的表面缺陷检测和三维建模方法,其特征在于,所述步骤3)具体包括以下步骤:3-1)输入Pi和Pd;3-2)质心粗配准,其具体包括:3-2-1)首先计算目标点云Pi的中心与待配准点云Pd的中心记Ny是目标点云的点数,Nx是待配准点云的点数;待配准点云是上一步骤2)中分割出的Pd中无缺陷部分,其中:3-2-2)计算待配准点云的平移向量3-2-3)根据平移向量实现粗配准,是粗配后的点云:3-3)精配准:在使用粗配准完成点云初始位置设定之后,再进行精配准,其配准模型为经过数次迭代最小化寻找出最优的旋转矩阵以及平移向量其中:其中,表示待配准点云与目标点云的平均距离,是待配准点云经过k+1次迭代后的结果,是目标点云经过k+1次迭代后的结果,τ代表示两次迭代前后配准误差的插值;当出现两次迭代之间的差值小于阈值时,则认为迭代结束,完成无缺陷部位配准,并通过数据共享或传递获得配准后的缺陷部位,从而得到配准后的缺陷模型。5.根据权利要求4所述的表面缺陷检测和三维建模方法,其特征在于,所述步骤4中使用k-d树最邻近搜索方法检测缺陷模型底部,具体包括以下步骤:4-1)输入原始无缺陷点云数据Pi,通过设置搜索半径,对该点云的每一个点在半径r的球内寻找在无缺陷区域内的近邻值;4-2)构造3维KD树:三维点对应一棵三维树,构造树时根节点选取x轴,根节点的孩子选取y轴,根节点的孙子选取z轴,根节点的曾孙子选取x轴,依次循环下去;4-3)从根结点出发,通过二叉树搜索顺着“搜索路径”在一个叶节点处到最近邻的近似点;其中,二叉树搜索方法为:比较待查询节点和分裂节点的分裂维的值,小于等于就进入左子树分支,大于就进入右子树分支直到叶子结点;4-4)递归向上回退,每回退一步,如果该回退处的结点比当前“近似紧邻点”更接近目标点,则以该点作为“当前最近邻点”;4-5)最近邻点一定存在于当前节点的一个子节点对应的区域,检查该节点的父结点的另一个子节点区域内是否有比“当前最近邻点”更接近目标点的...

【专利技术属性】
技术研发人员:戴亚康周志勇耿辰胡冀苏钱旭升
申请(专利权)人:中国科学院苏州生物医学工程技术研究所
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1