掌桥专利:专业的专利平台
掌桥专利
首页

基于形态学提取点云局部曲面特征的方法

文献发布时间:2023-06-19 19:30:30


基于形态学提取点云局部曲面特征的方法

技术领域

本发明涉及点云数据处理领域,具体涉及一种基于形态学提取点云局部曲面特征的方法。

背景技术

目前点云滤波算法主要以针对LiDAR数据研究为主,特别是具有明显特征的地形区域,如城市聚集区的大型建筑物、道路、森林植被、山区的山脊山谷等,目的是去除噪声和点云数据中的非地面信息。但是当需要提取出点云数据中具有与地形特征相似的局部区域时,使用点云滤波进行处理的表现出的效果较差,无法对于各局部特征进行准确提取并分别查看。

形态学滤波以先腐蚀后膨胀的开运算作为基础处理LiDAR数据,在不明显改变总体位置和形状的前提下剔除离散点和平滑边界,可滤除指定窗口大小内高程突变的物体。形态学滤波在滤波过程中需要反复进行参数设置,难以选取合适的滤波视窗大小,滤波视窗太小容易将尺寸较大的物体保留,滤波视窗太大会将类似于山顶的信息错误地滤除,且设置好的参数对不同地形特征的区域普适性较差。引入高差阈值对点云进行判断,可保留小于高差阈值的点,但是需要预设坡度参数,高差阈值无法自动适应地形变化。

因此,本发明提出一种基于形态学提取点云局部曲面特征的方法,针对具有明显的曲率变化的局部区域进行提取,准确性高,适应性广。

发明内容

本发明要解决的技术问题是提出一种基于形态学提取点云局部曲面特征的方法,采用三维形态学操作修复处理过程中造成的信息缺失和产生的噪点,优化目标特征区域使其变得完整平滑;且本发明提供的提取点云局部曲面特征的方法针对具有明显的曲率变化的局部区域进行提取,准确性高,适应性广。

为了解决上述技术问题,本发明采用的技术方案是:该基于形态学提取点云局部曲面特征的方法,具体包括以下步骤:

S1:采集点云数据并对点云数据进行数据预处理;

S2:在三维空间中搜索点云各点的邻域点,计算法线信息,再基于法线信息计算各点的曲率,获得曲率值;再参照局部曲面特征对应的曲率值范围筛选出目标曲面;

S3:采用渐进式形态学滤波不断调整滤波参数,根据选中局部区域的曲率变化相应调整滤波视窗的大小,滤除曲率筛选后点云数据中的非目标点,提取目标局部区域的点;

S4:综合使用膨胀、腐蚀三维形态学算子及膨胀腐蚀组合的开运算和闭运算对目标局部区域进行优化,提取完整平滑的点云数据的局部曲面特征区域。

采用上述技术方案,首先对获取的点云数据进行预处理得到清晰的点云方便后续处理;根据不同地形类型的局部曲面对应的曲率范围筛选点云目标区域的点,以便进行下一步的局部特征提取;使用渐进式形态学滤波提取目标特征区域,根据滤波视窗选中的局部区域内的曲率变化相应调整窗口的大小,记录滤波后的坡度值以保持高差阈值的动态更新,更准确地滤除非地面点;利用点云上各点曲率变化的特点将渐进式形态学滤波其应用于提取点云中具有不同曲率变化的局部区域,并利用三维形态学算子填补局部特征区域的缺失部分和滤除点云噪声,获得平滑完整的各局部特征区域;且本发明提供的提取点云局部曲面特征的方法针对具有明显的曲率变化的局部区域进行提取,准确性高,适应性广。

优选地,所述步骤S1中对点去数据进行数据预处理具体包括以下步骤:

S11:计算点云数据中点与点之间的距离,根据点与点之间的最小距离对点云数据中的重复点进行筛选并删除的处理;将与两点之间与一个点的距离过近的点划分为重复点并进行删除;防止重复点对于后续处理操作造成干扰;

S12:采用点云下采样方法将点云空间进行划分,获得若干个空间;再在划分后每一个空间内选取一个点代替该空间内的所有点;

S13:通过点云滤波去除下采样后的点云数据中存在的稀疏离群点,再通过对点云中各点进行邻域搜索,获得主体点。点云滤波去除下采样后的稀疏离群点是为了避免影响后续点的搜索与识别;此处的优选采用统计滤波云除下采样后的稀疏离群点;采用统计滤波筛选出下采样后点云数据上出现的离群点或是测量误差导致的粗差点并进行剔除,该滤波方法无需提前设定滤波参数,避免增加目标分类的困难和影响后续点的搜索与识别。

优选地,在所述步骤S12中具体为:对点云数据进行曲面均匀采样,将点云空间进行划分,获得若干个空间;再在划分后的每一个空间中以R为半径的球体,选取一个点代替以该点为球心以R为半径的球体范围内所有的点。曲面均匀采样以一个点代替以该点为球心的球体范围内的所有点,该采样得到的点分布均匀,但其不改变点云的位置,具有良好的精度;该算法的实现依赖于Open3d库,选取的球体半径越大则采样之后的点就越少,采样得到的点分布均匀,但其不改变点云的位置和基本轮廓,具有良好的精度。

优选地,在所述步骤S13中对点云数据进行统计滤波后,再通过建立空间拓扑关系,通过k近邻搜索邻域点得到目标点的邻近点集;若目标点的邻域点满足高斯分布,则计算目标点与k个邻域点的平均距离,由全局距离的均值和标准差确定平均距离的标准范围,将与邻域点之间的平均距离超过标准范围的目标点定义为离群点并进行剔除,若目标点与k个邻域点的平均距离未超过标准范围,则保留该目标点为模型的主体点。

优选地,所述步骤S2的具体步骤为:

S21:基于最小二乘拟合平面得到法线方程,通过法线方程求得特征向量代表平面的法线值;确定该平面一个点的法线近似于估计该平面的一个相切面法线的问题,因此转换过来以后就变成一个最小二乘法平面拟合估计问题;

S22:基于获取的点云数据和计算得到的点云数据中各点的法线值,使用目标点在k邻域内的曲面变分近似该点的曲率信息,计算点云数据中各点的法曲率;

S23:结合不同类型局部曲面对应的曲率值范围设置曲率区间,筛选出目标局部曲面特征。

优选地,在所述步骤S21中采用KdTree最近邻算法,将KdTree作为基于二进制空间划分的数据结构,将整个k维的矢量空间分为若干个区域,通过在搜索过程中不断进行分支判定,确定每个局部空间的位置;再使用点云库(PCL库)中的法向量估算NormalEstimation计算目标点所在表面的法线特征,具体为:将平面表达式由一般式转化为法线式方程,通过引入拉格朗日乘子法求解方程的最优解,对表达式中的参数分别求偏导并将得到的表达式统一,对表达式中的协方差矩阵进行特征值分解求得各特征值,其中各特征值中的最小特征值所对应的特征向量即为拟合平面的法向量,法向量则代表点去的法线值。KDTree是由二分搜索树演变而来的用于大规模高维度数据查找场景当中的索引树形结构,主要用于最近邻查找和近似最近邻查找的场景。通过KdTree最近邻算法确定每个局部空间的位置可以免去对全局空间的搜索;基于KdTree的最近邻算法从根节点开始向下递归搜索二叉树,直至找到叶节点,再回溯搜索路径,经过叶节点循环迭代回溯到根节点完成KdTree的构建,再使用KdTree对点云数据进行搜索,检查另外的子空间是否有更近的节点,搜索子节点区域再回溯根节点,这样不仅可以节省计算时间,另外也可以随时保证对点云关联点的匹配与查找。其中基于KdTree搜索目标点的邻域点,通过PCA分析寻求一个方向n使得所有邻域点在方向n上的投影点的分布最为集中,即目标点在该方向上的投影的方差最小,法线对应主成分中最不重要的方向。使用最小二乘规则对目标点及其邻域点进行平面拟合;因此为获得最佳拟合的平面,则需满足任意点到平面的距离平方之和为最小值,因此将平面表达式由一般式转化为法线式方程,将问题转化为求解法线方程的极值,通过引入拉格朗日乘子法求解方程的最优解,对表达式中的参数分别求偏导并将得到的表达式统一,对表达式中的协方差矩阵进行特征值分解求得各特征值,最小特征值所对应的特征向量即为拟合平面的法向量;由求法线转换到求最小特征值对应的特征向量,代表点云各点的法线值;最后检查法线方向,若知道点云的视点位置,则使所有法线一致朝向视点方向。

优选地,在所述步骤S22中采用点云库(PCL库)中的点云曲率估算方法(PrincipalCurvatures Estimation)基于KdTree搜索点云各点的邻域点,计算点云中各点的主曲率,计算公式为:

其中,σ表示目标点在k邻域内的曲面变分;λ

优选地,所述步骤S3的具体步骤为:

S31:采用渐进式形态学滤波区分点云中的地面点和非地面点;

S32:使用三维形态学膨胀算子d和三维形态学腐蚀算子e滤除滤波视窗在目标局部曲面标记的非地面点,从而提取目标局部曲面的地面点。

优选地,所述步骤S31的具体步骤为:

S311:增加滤波窗口并通过线性增加视窗尺寸进行迭代运算,再根据滤波视窗选中局部区域的曲率变化辅助调整滤波视窗的大小;

S312:根据点云数据的平均坡度提前设置坡度值,同时基于坡度变化提取目标曲面;

S313:利用所述步骤S312中提前设置的坡度值调整高差阈值,同时根据地形坡度和视窗尺寸的变化自适应调整高差阈值,将高差值大于设置的高差阈值的点定为非地面点;并记录滤波后的曲面的坡度信息,再基于坡度信息计算高差阈值,以保持高差阈值设置的动态更新。根据滤波视窗选中局部区域的曲率变化辅助调整滤波视窗的大小时,当局部区域上各点的曲率变化近似于无,曲面平坦,可选择进一步扩大滤波视窗的大小,若局部区域上曲率变化对应的区域特性为凸或凹,则调整滤波视窗的增加速度。

优选地,所述步骤S311中在线性增加视窗尺寸进行迭代运算时增加滤波窗口的公式为:

w

其中,w

优选地,所述步骤S313中假设坡度值s不变,当前高差阈值、视窗大小以及地形坡度值s之间存在如下式的关系,公式为:

其中,h

优选地,所述步骤S32中三维形态学膨胀算子d的公式为:

腐蚀算子e的计算公式为:

其中,w为结构元素窗口;z(x,y)表示计算之后生成图像的第x行第y列的高程值。

优选地,在所述步骤S32中若非目标点所处的位置不能用滤波视窗进行滤除,则使用Open3d库中rotate函数,设置旋转中心和旋转矩阵对点云数据进行旋转,将所需滤除的点旋转至目标曲面的上方;其中若选择绕x轴进行旋转θ角度,x坐标保持不变,y和z组成的yOz平面上进行二维旋转,则有公式:

x′=x

y′=y cosθ-z sinθ

z′=y sinθ+z cosθ;

进而获取旋转矩阵;

优选地,所述步骤S4具体为:使用三维膨胀算子d连接目标曲面的中断处,用三维腐蚀算子e使粘连的物体分离和区域收缩,开运算平滑目标区域的边界,闭运算用于连接物体的边界,填充断连的连通区域,并消除边界点和噪声点;

其中膨胀是求局部最大值的形态学操作,作用是使得曲面断连处重新连接,扩张目标区域;A被S膨胀的定义有:通过结构元素S的所有点位移Z输入集合,然后计算其并集得到膨胀后的图像,计算公式为:

其中,A为子空间Z

腐蚀操作是求取局部最小值的形态学运算,主要功能是将粘连的物体分离,边界线向内收缩;使用S对A进行腐蚀是将所有结构元素S中包含于A中的点的集合用Z平移,腐蚀表达式为:

其中,

开运算是先对图像进行腐蚀再膨胀,该种操作可将粘连的区域进行分离,还可以在不改变原始面积的前提下平滑图像的边界,其表达式为:

其中,

闭运算是先对图像进行膨胀再腐蚀可连接两相邻物体之间的边界和填充断连的连通区域,其表达式为:

其中,·表示闭运算符;

采用上述技术方案,点云数据在曲率筛选和点云滤波进行提取过程中容易造成局部缺失、曲面出现空洞和细缝、原本不粘连的区域处理后出现粘连,此时采用三维形态学算子对提取出的有残缺的点云进行填补和平滑局部特征区域,并消除噪声点;使用三维膨胀算子连接目标曲面的中断处,用三维腐蚀算子使粘连的物体分离和区域收缩,开运算平滑目标区域的边界,闭运算用于连接物体的边界,填充断连的连通区域,并消除边界点和噪声点,提取相对完整平滑的点云局部曲面特征区域。

与现有技术相比,本发明具有的有益效果为:

(1)目前点云滤波算法主要用于滤除具有明显特征的地形区域,如城市聚集区的大型建筑物、道路、森林植被、山脊、山谷等,本发明利用点云上各点曲率变化的特点将渐进式形态学滤波其应用于提取点云中具有不同曲率变化的局部区域,方便对各局部区域分别进行后续研究;也可用于先将具有明显特征的点云中大部分区域进行滤除,防止后续在对剩下的小且复杂的局部区域进行处理时造成干扰;

(2)由于点云上的数据点十分庞大,因此进行预处理是非常有必要的过程;去除重复点可降低数据量并为后续操作节省计算时间,曲面均匀采样滤除多余点后使得剩余点分布均匀且不改变位置,统计滤波通过去除明显的离群点从而避免干扰后续操作,经过预处理后的点云数据量少分布均匀但没有噪点;

(3)渐进式形态学滤波在处理过程中的一个难点就是对于滤波视窗大小的选取,窗口过大容易将部分特征信息错误地滤除,窗口过小会将尺寸较大的物体当作地面点给错误地保留;因此本发明通过渐进式线性增大滤波窗口,并根据滤波窗口选取的局部区域上各点的曲率变化相应地调整滤波窗口的大小,能够更加准确设置滤波窗口的大小,从而滤除非地面点;

(4)获取的点云数据相对粗糙,存在噪声点和采集不完整区域,加上滤波处理过程中产生的区域缺失,因此对提取的目标特征区域通常需要再进行优化;三维形态学算子可平滑边界、填补缺失区域、分离粘连区域、对局部区域进行膨胀和收缩,使得最后提取的目标特征区域相对完整。

附图说明

图1是本发明基于形态学提取点云局部曲面特征的方法的流程示意图;

图2是本发明基于形态学提取点云局部曲面特征的方法中具体实施例的牙齿原始的三维点云图;

图3是本发明基于形态学提取点云局部曲面特征的方法具体实施例的预处理后的三维牙齿点云图;

图4是本发明基于形态学提取点云局部曲面特征的方法的具体实施例的曲率筛选后的粗略牙齿分割线图;

图5是本发明基于形态学提取点云局部曲面特征的方法的具体实施例的渐进式形态学滤波后的牙齿分割线图;

图6是本发明基于形态学提取点云局部曲面特征的方法的具体实施例的三维形态学算子优化后的牙齿分割线图;

图7是本发明基于形态学提取点云局部曲面特征的方法的具体实施例的三维点云腐蚀图。

具体实施方式

下面将结合本发明的实施例图中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。

实施例:如图1所示,该基于形态学提取点云局部曲面特征的方法,具体包括以下步骤:

S1:采集点云数据并对点云数据进行数据预处理;

所述步骤S1中对点去数据进行数据预处理具体包括以下步骤:

S11:计算点云数据中点与点之间的距离,根据点与点之间的最小距离对点云数据中的重复点进行筛选并删除的处理;将与两点之间与一个点的距离过近的点划分为重复点并进行删除;防止重复点对于后续处理操作造成干扰;

S12:采用点云下采样方法将点云空间进行划分,获得若干个空间;再在划分后每一个空间内选取一个点代替该空间内的所有点;

在所述步骤S12中具体为:对点云数据进行曲面均匀采样,将点云空间进行划分,获得若干个空间;再在划分后的每一个空间中以R为半径的球体,选取一个点代替以该点为球心以R为半径的球体范围内所有的点。曲面均匀采样以一个点代替以该点为球心的球体范围内的所有点,该采样得到的点分布均匀,但其不改变点云的位置,具有良好的精度;该算法的实现依赖于Open3d库,选取的球体半径越大则采样之后的点就越少,采样得到的点分布均匀,但其不改变点云的位置和基本轮廓,具有良好的精度;

S13:通过点云滤波去除下采样后的点云数据中存在的稀疏离群点,再通过对点云中各点进行邻域搜索,获得主体点。点云滤波去除下采样后的稀疏离群点是为了避免影响后续点的搜索与识别;此处的优选采用统计滤波云除下采样后的稀疏离群点;采用统计滤波筛选出下采样后点云数据上出现的离群点或是测量误差导致的粗差点并进行剔除,该滤波方法无需提前设定滤波参数,避免增加目标分类的困难和影响后续点的搜索与识别;

在所述步骤S13中对点云数据进行统计滤波后,再通过建立空间拓扑关系,通过k近邻搜索邻域点得到目标点的邻近点集;若目标点的邻域点满足高斯分布,则计算目标点与k个邻域点的平均距离,由全局距离的均值和标准差确定平均距离的标准范围,将与邻域点之间的平均距离超过标准范围的目标点定义为离群点并进行剔除,若目标点与k个邻域点的平均距离未超过标准范围,则保留该目标点为模型的主体点;

S2:在三维空间中搜索点云各点的邻域点,计算法线信息,再基于法线信息计算各点的曲率,获得曲率值;再参照局部曲面特征对应的曲率值范围筛选出目标曲面;

所述步骤S2的具体步骤为:

S21:基于最小二乘拟合平面得到法线方程,通过法线方程求得特征向量代表平面的法线值;确定该平面一个点的法线近似于估计该平面的一个相切面法线的问题,因此转换过来以后就变成一个最小二乘法平面拟合估计问题;

在所述步骤S21中采用KdTree最近邻算法,将KdTree作为基于二进制空间划分的数据结构,将整个k维的矢量空间分为若干个区域,通过在搜索过程中不断进行分支判定,确定每个局部空间的位置;再使用点云库(PCL库)中的法向量估算Normal Estimation计算目标点所在表面的法线特征,具体为:将平面表达式由一般式转化为法线式方程,通过引入拉格朗日乘子法求解方程的最优解,对表达式中的参数分别求偏导并将得到的表达式统一,对表达式中的协方差矩阵进行特征值分解求得各特征值,其中各特征值中的最小特征值所对应的特征向量即为拟合平面的法向量,法向量则代表点去的法线值;KDTree是由二分搜索树演变而来的用于大规模高维度数据查找场景当中的索引树形结构,主要用于最近邻查找和近似最近邻查找的场景,通过KdTree最近邻算法确定每个局部空间的位置可以免去对全局空间的搜索;基于KdTree的最近邻算法从根节点开始向下递归搜索二叉树,直至找到叶节点,再回溯搜索路径,经过叶节点循环迭代回溯到根节点完成KdTree的构建,再使用KdTree对点云数据进行搜索,检查另外的子空间是否有更近的节点,搜索子节点区域再回溯根节点,这样不仅可以节省计算时间,另外也可以随时保证对点云关联点的匹配与查找。其中基于KdTree搜索目标点的邻域点,通过PCA分析寻求一个方向n使得所有邻域点在方向n上的投影点的分布最为集中,即目标点在该方向上的投影的方差最小,法线对应主成分中最不重要的方向;使用最小二乘规则对目标点及其邻域点进行平面拟合;因此为获得最佳拟合的平面,则需满足任意点到平面的距离平方之和为最小值,因此将平面表达式由一般式转化为法线式方程,将问题转化为求解法线方程的极值,通过引入拉格朗日乘子法求解方程的最优解,对表达式中的参数分别求偏导并将得到的表达式统一,对表达式中的协方差矩阵进行特征值分解求得各特征值,最小特征值所对应的特征向量即为拟合平面的法向量;由求法线转换到求最小特征值对应的特征向量,代表点云各点的法线值;最后检查法线方向,若知道点云的视点位置,则使所有法线一致朝向视点方向;

S22:基于获取的点云数据和计算得到的点云数据中各点的法线值,使用目标点在k邻域内的曲面变分近似该点的曲率信息,计算点云数据中各点的法曲率;

所述步骤S22中采用点云库(PCL库)中的点云曲率估算方法(PrincipalCurvatures Estimation)基于KdTree搜索点云各点的邻域点,计算点云中各点的主曲率,计算公式为:

其中,σ表示目标点在k邻域内的曲面变分;λ

S23:结合不同类型局部曲面对应的曲率值范围设置曲率区间,筛选出目标局部曲面特征;

S3:采用渐进式形态学滤波不断调整滤波参数,根据选中局部区域的曲率变化相应调整滤波视窗的大小,滤除曲率筛选后点云数据中的非目标点,提取目标局部区域的点;

所述步骤S3的具体步骤为:

S31:采用渐进式形态学滤波区分点云中的地面点和非地面点;

所述步骤S31的具体步骤为:

S311:增加滤波窗口并通过线性增加视窗尺寸进行迭代运算,再根据滤波视窗选中局部区域的曲率变化辅助调整滤波视窗的大小;

所述步骤S311中在线性增加视窗尺寸进行迭代运算时增加滤波窗口的公式为:

w

其中,w

所述步骤S313中假设坡度值s不变,当前高差阈值、视窗大小以及地形坡度值s之间存在如下式的关系,公式为:

其中,h

S312:根据点云数据的平均坡度提前设置坡度值,同时基于坡度变化提取目标曲面;

S313:利用所述步骤S312中提前设置的坡度值调整高差阈值,同时根据地形坡度和视窗尺寸的变化自适应调整高差阈值,将高差值大于设置的高差阈值的点定为非地面点;并记录滤波后的曲面的坡度信息,再基于坡度信息计算高差阈值,以保持高差阈值设置的动态更新。根据滤波视窗选中局部区域的曲率变化辅助调整滤波视窗的大小时,当局部区域上各点的曲率变化近似于无,曲面平坦,可选择进一步扩大滤波视窗的大小,若局部区域上曲率变化对应的区域特性为凸或凹,则调整滤波视窗的增加速度;

S32:使用三维形态学膨胀算子d和三维形态学腐蚀算子e滤除滤波视窗在目标局部曲面标记的非地面点,从而提取目标局部曲面的地面点;

所述步骤S32中三维形态学膨胀算子d的公式为:

腐蚀算子e的计算公式为:

其中,w为结构元素窗口;z(x,y)表示计算之后生成图像的第x行第y列的高程值;

在所述步骤S32中若非目标点所处的位置不能用滤波视窗进行滤除,则使用Open3d库(Open3D为现有技术,出处为:A Modern Library for 3D Data Processing-Open3D master(4c5ded8)documentation)中rotate函数,设置旋转中心和旋转矩阵对点云数据进行旋转,将所需滤除的点旋转至目标曲面的上方;其中若选择绕x轴进行旋转θ角度,x坐标保持不变,y和z组成的yOz平面上进行二维旋转,则有公式:

x′=x

y′=y cosθ-z sinθ

z′=y sinθ+z cosθ;;

进而获取旋转矩阵;

S4:综合使用膨胀、腐蚀三维形态学算子及膨胀腐蚀组合的开运算和闭运算对目标局部区域进行优化,提取完整平滑的点云数据的局部曲面特征区域;所述步骤S4具体为:使用三维膨胀算子d连接目标曲面的中断处,用三维腐蚀算子e使粘连的物体分离和区域收缩,开运算平滑目标区域的边界,闭运算用于连接物体的边界,填充断连的连通区域,并消除边界点和噪声点;

其中膨胀是求局部最大值的形态学操作,作用是使得曲面断连处重新连接,扩张目标区域;A被S膨胀的定义有:通过结构元素S的所有点位移Z输入集合,然后计算其并集得到膨胀后的图像,计算公式为:

其中,A为子空间Z

腐蚀操作是求取局部最小值的形态学运算,主要功能是将粘连的物体分离,边界线向内收缩;使用S对A进行腐蚀是将所有结构元素S中包含于A中的点的集合用z平移,腐蚀表达式为:

其中,

开运算是先对图像进行腐蚀再膨胀,该种操作可将粘连的区域进行分离,还可以在不改变原始面积的前提下平滑图像的边界,其表达式为:

其中,

闭运算是先对图像进行膨胀再腐蚀,可连接两相邻物体之间的边界和填充断连的连通区域,其表达式为:

其中,·表示闭运算符;

具体实施例:选择牙齿的三维点云数据,该基于形态学提取点云局部曲面特征的方法,具体包括以下步骤:

(1)删除重复点;根据牙齿与牙龈交界处有明显的曲率变化特征提取牙齿的分割线,如图2所示;采用三维点云编辑和处理软件CloudCompare根据点之间的最小距离筛选出重复点并进行删除;

(2)对牙齿点云数据进行曲面均匀采样;采样得到的点分布均匀,但其不改变点云的位置和基本轮廓,具有良好的精度;并且通过减少点云中点的个数,有利于提高后续操作的处理速度;

(3)采用统计滤波去除牙齿点云数据的离群点;该方法只用来剔除非常明显的离群点,无需提前设定滤波参数,能更好地对点云进行噪声抑制;预处理后的牙齿点云数据如图3所示;

(4)计算牙齿点云各点的法线值;使用PCL库中的NormalEstimation计算目标点所在表面的法线特征;

(5)基于法线值利用PCL中的PrincipalCurvaturesEstimation方法估算各点的曲率,根据曲率值的符号判断曲面在局部区域的凹凸情况。

(6)结合局部曲面类型对应的曲率范围筛选出粗略的牙齿分割线,凹面的点多为负曲率,凸面的点多为正曲率,如图4所示;由于该曲率不是数学定义上的曲率,是通过最小二乘和PCA计算得出的,因此将计算得出的平均曲率映射到[0,1]范围内,最终筛选平均曲率在[0.05,0.08]范围内的点,得到牙齿与牙龈的初始分界点,其中也包括牙齿的边缘点;

(7)采用渐进式形态学滤波对提取的点滤除牙齿的边缘点。通过线性迭代运算增加滤波视窗的尺寸,并根据曲率变化相应调整视窗增大的速度,根据地形坡度和视窗尺寸的变化自适应调整高差阈值,使用三维形态学算子滤除非地面点,保留牙齿分割线的形态特征,如图5所示;

(8)采用三维形态学算子优化牙齿分割线,如图6所示;三维膨胀算子使得曲面断连处重新连接,扩张目标区域。三维腐蚀算子将粘连的物体分离,边界线向内收缩,并消除边界点和噪声点,提取相对完整平滑的点云局部曲面特征区域,如图7所示。

以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120115938203