一种彩色3D点云超体素凹凸分割算法的制作方法

文档序号:16214201发布日期:2018-12-08 08:08阅读:299来源:国知局
一种彩色3D点云超体素凹凸分割算法的制作方法

本发明属于3d点云数据处理技术领域,具体涉及一种彩色3d点云超体素凹凸分割算法。

背景技术

随着人工智能的发展,机器视觉逐渐从二维图像过度到三维图像,而3d点云作为三维图像的典型代表之一,已逐渐被广泛应用。3d点云分割是将点云划分为多个区域的过程,其是点云配准、分类、识别的重要环节,同一区域内的点具有相同的特性,其分割效果的好坏对后续工作起着决定性作用。这种分割由于冗余度高、密度不均匀和点云数据结构不明确等原因具有很大的挑战性。

近些年,利用超体素完成点云分割逐渐引起了一些学者的关注。这种分割方法均是利用超体素间关系、几何特征相似性进行3d点云图像及点云视频的分割和分类。steinsc等人提出了点云数据的超体素凹凸分割算法。首先,利用八叉树将点云数据划分为指定尺寸体素单元,均匀选取一定距离的体素为种子体素,计算种子体素和相邻体素的特征距离,按此特征距离进行体素增长以形成超体素;其次,对超体素构建点云块邻接关系图,计算相邻超体素块间凹凸关系;最后,任意选取超体素种子,沿着具有凸关系的边进行超体素区域增长,以完成分割的目的。此方法优点在于不需要利用训练模型来分割点云,可直接分割且效果理想。但其还存在一些缺陷:(1)计算复杂度较高,运行速度较慢;(2)若选取的体素种子是凹棱中的体素时会导致分割结果的不稳定;(3)凹凸分割时,相邻距离很近但并不相接的物体无法分割;(4)颜色不同的物体有时无法分割。



技术实现要素:

本发明的目的是提供一种彩色3d点云超体素凹凸分割算法,解决了现有超体素凹凸分割算法中计算复杂度较高且分割结果不稳定的问题。

本发明所采用的技术方案是,一种彩色3d点云超体素凹凸分割算法,具体按照以下步骤实施:

步骤1,分别利用统计离群消除滤波器和体素网格滤波器对3d点云数据进行去噪和简化处理,得到简化后的3d点云数据;

步骤2,利用八叉树将经步骤1后得到的3d点云数据划分成若干个大小形同的体素,计算各个体素的平均曲率,并将平均曲率最小的体素作为种子体素,进行区域增长,形成超体素;

步骤3,经步骤2后,构建超体素邻接关系图,将相邻超体素间凹凸性、连续性检测判定和颜色判定值作为超体素邻接关系图边上的权值;

步骤4,选取任意超体素作为种子超体素,判断相邻超体素间凹凸性、连续性、色差值是否满足要求,当凹凸性权值、连续性权值、色差权值均为真时,进行区域增长;反之,停止增长;

步骤5,经步骤4后,判断邻接关系图中是否存在未标记归并的超体素,若存在,则重复步骤4,直至所有的超体素都归并标记处理完,结束增长,即可得到分割结果。

本发明的特点还在于,

步骤1,具体按照以下步骤实施:

步骤1.1,利用统计离群消除滤波对3d点云数据进行去噪处理,具体步骤为:

步骤1.11,计算3d点云数据中每个点到其最近k邻域点的平均距离d;

步骤1.12,经步骤1.11后,计算每个点的平均距离d的期望值dm和标准差s;

步骤1.13,经步骤1.12后,计算每个点的距离阈值dt,若d>dt,则滤除该点,否则,保留;

步骤1.2,利用体素网格滤波器对经步骤1.1后得到的3d点云数据进行滤波,具体步骤为:

步骤1.21,利用八叉树将经步骤1.1后得到的3d点云数据划分为若干个小立方体素,并计算每个小立方体素的重心点值;

步骤1.22,利用经步骤1.21后得到的重心点值代替每个小立方体素中的所有3d点云数据,得到简化后的3d点云数据。

步骤1.13中,距离阈值dt的计算公式,如式(1)所示:

dt=dm+λ*s(1);

式(1)中,λ为参数,λ=0.1;dm为期望值;s为标准差。

步骤2中,体素中某点z的曲率k计算公式,如式(2)所示:

式(2)中,cotαij为连接zi边的对角,cotβij为连接zj边的对角,n(i)为z邻域内点集合,amin为点z的最小邻域面积。

步骤2中,体素内所有点的平均曲率计算公式,如式(3)所示:

式(3)中,n为体素内的所有点数。

步骤3中,具体按照以下步骤实施:

步骤3.1,计算相邻超体素间凹凸关系,利用表面法向量和相邻超体素邻接面中心连线间夹角判断两个面之间的凹凸性,若为凸关系,则凹凸关系权值e1=true;若为凹关系,则凹凸关系权值e1=false;

其中,凹凸性的计算公式,如式(4)及式(5)所示:

式(4)及式(5)中,分别为相邻两个超体素邻接面中心,分别为法向量,α1、α2分别为对应面法向量和其中心连线向量的夹角;

步骤3.2,计算每个超体素和其相邻超体素间距离dt,若dt>阈值d,则两个超体素之间无邻接边,连续性权值e2=false,否则,两个超体素之间有邻接边,连续性权值e2=true;

其中,超体素间距离dt的计算公式,如式(6)、式(7)及式(8)所示:

dt=de+dc(6);

dc=ct*rv(8);

式(6)、式(7)及式(8)中,de为预期距离;dc为连续距离;rs为超体素间距离;为目标超体素法向量;为与目标超体素相邻超体素的法向量;rv为体素尺寸;ct为连续阈值,ct=0.1;

步骤3.3,计算每个超体素的平均彩色值,之后依次计算相邻超体素彩色差值,若该差值小于彩色阈值6时,则相邻超体素进行合并,进行区域增长,色差权值e3=true;若该差值大于彩色阈值20时,则相邻超体素不进行合并,停止增长,色差权值e3=false。

步骤4中,判断公式如式(9)所示:

本发明的有益效果是:

该方法分别运用统计离群消除滤波器和体素网格滤波对3d点云数据进行去噪和简化,选取平均曲率最小的体素为种子体素,进行区域增长,以形成超体素,同时,在凹凸分割过程中加入了连续性检测和颜色检测准则,减少了处理的时间,提高了分割效果。

附图说明

图1是本发明一种彩色3d点云超体素凹凸分割算法的流程图;

图2是本实施例中待处理的第一个原3d点云数据图像;

图3是本实施例中利用统计离群消除滤波器对图2中原3d点云数据图像去噪图;

图4是本实施例中利用体素网格滤波器对图3简化后的结果图;

图5是本实施例中待处理的第二个原3d点云数据图像;

图6本实施例中未加入连续性检测准测处理结果图;

图7是本实施例中加入连续性检测准测处理结果图;

图8是本实施例中待处理的第三个原3d点云数据图像;

图9是未加入颜色检测准则的分割方法处理图8的结果图;

图10是加入颜色检测准则的分割方法处理图8的结果图;

图11是本实施例中待处理的第四个原3d点云数据图像;

图12是未经去噪简化的分割方法处理图11的结果图;

图13是本发明的分割方法处理图11的结果图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明一种彩色3d点云超体素凹凸分割算法,如图1所示,具体按照以下步骤实施:

步骤1,分别利用统计离群消除滤波器和体素网格滤波器对3d点云数据进行去噪和简化处理,得到简化后的3d点云数据;具体按照以下步骤实施:

步骤1.1,利用统计离群消除滤波对3d点云数据进行去噪处理,具体步骤为:

步骤1.11,计算3d点云数据中每个点到其最近k邻域点的平均距离d;

步骤1.12,经步骤1.11后,计算每个点的平均距离d的期望值dm和标准差s;

步骤1.13,经步骤1.12后,计算每个点的距离阈值dt,若d>dt,则滤除该点,否则,保留;

其中,距离阈值dt的计算公式,如式(1)所示:

dt=dm+λ*s(1);

式(1)中,λ为参数,λ=0.1;dm为期望值;s为标准差;

利用统计离群消除滤波对3d点云数据进行滤波的目的是在保证点云特征不变的前提下可以滤除掉离群噪音点云数据,为后续点云数据的分割奠定基础;

步骤1.2,利用体素网格滤波器对经步骤1.1后得到的3d点云数据进行滤波,在保持几何特征不变的前提下减少点云数量,进而提高分割速度;具体步骤为:

步骤1.21,利用八叉树将经步骤1.1后得到的3d点云数据划分为若干个小立方体素,并计算每个小立方体素的重心点值;

步骤1.22,利用经步骤1.21后得到的重心点值代替每个小立方体素中的所有3d点云数据,得到简化后的3d点云数据;

步骤2,利用八叉树将经步骤1后得到的3d点云数据划分成若干个大小形同的体素,计算各个体素的平均曲率,并将平均曲率最小的体素作为种子体素,进行区域增长,形成超体素;

其中,体素中某点z的曲率k计算公式,如式(2)所示:

式(2)中,cotαij为连接zi边的对角,cotβij为连接zj边的对角,n(i)为z邻域内点集合,amin为点z的最小邻域面积;

体素内所有点的平均曲率计算公式,如式(3)所示:

式(3)中,n为体素内的所有点数;

步骤3,经步骤2后,构建超体素邻接关系图,将相邻超体素间凹凸性、连续性检测判定和颜色判定值作为超体素邻接关系图边上的权值;具体按照以下步骤实施:

步骤3.1,计算相邻超体素间凹凸关系,利用表面法向量和相邻超体素邻接面中心连线间夹角判断两个面之间的凹凸性,若为凸关系,则凹凸关系权值e1=true;若为凹关系,则凹凸关系权值e1=false;

其中,凹凸性的计算公式,如式(4)及式(5)所示:

式(4)及式(5)中,分别为相邻两个超体素邻接面中心,分别相邻两个超体素邻接面的法向量,α1、α2分别为相邻两个超体素邻接面的法向量与中心连线向量的夹角;

步骤3.2,计算每个超体素和其相邻超体素间距离dt,若dt>阈值d,则两个超体素之间无邻接边,连续性权值e2=false,否则,两个超体素之间有邻接边,连续性权值e2=true;

其中,超体素间距离dt的计算公式,如式(6)、式(7)及式(8)所示:

dt=de+dc(6);

dc=ct*rv(8);

式(6)、式(7)及式(8)中,de为预期距离;dc为连续距离;rs为超体素间距离;为目标超体素法向量;为与目标超体素相邻超体素的法向量;rv为体素尺寸;ct为连续阈值,ct=0.1;

步骤3.3,计算每个超体素的平均彩色值,之后依次计算相邻超体素彩色差值,若此差值小于彩色阈值6时,则相邻超体素进行合并,进行区域增长,色差权值e3=true;若此差值大于彩色阈值20时,则相邻超体素不进行合并,停止增长,色差权值e3=false;

步骤4,选取任意超体素作为种子超体素,判断相邻超体素间凹凸性、连续性、色差值是否满足要求,当凹凸性权值、连续性权值、色差权值均为真时,进行区域增长;反之,停止增长;

其中,判断公式如式(9)所示:

步骤5,经步骤4后,判断邻接关系图中是否存在未标记归并的超体素,若存在,则重复步骤4,直至所有的超体素都归并标记处理完,结束增长,即可得到分割结果。

本发明的方法与现有的超体素凹凸分割算法相比,首先,针对3d扫描仪获取的3d点云数据存在噪音或数据量巨大,影响分割效果和处理的时间,本方法增加了运用统计离群消除滤波器进行去噪处理以及运用体素网格滤波对其进行简化;其次,在超体聚类过分割选取种子体素时,本方法选取平均曲率最小的体素作为种子体素,而现有方法是选取一定距离的体素作为种子体素,其目的是为了避免种子体素落在凹棱上而导致最终的错误分割;最后,传统的超体素凹凸分割算无法分割多个相邻但不相接的物体、整齐并排摆放或叠置但颜色不同的多个物体,本方法在凹凸分割过程中在现有区域增长判定准则的基础上加入了连续性检测和颜色检测准则,能够有效地解决这类问题。

实施例

本发明的一种彩色3d点云超体素凹凸分割算法,具体按照以下步骤实施:

步骤1,先对图2中的原3d点云数据分别利用统计离群消除滤波器和体素网格滤波器对3d点云数据进行去噪和简化处理,得到简化后的3d点云数据;具体按照以下步骤实施:

步骤1.1,利用统计离群消除滤波对3d点云数据进行去噪处理,具体步骤为:

步骤1.11,计算3d点云数据中每个点到其最近k邻域点的平均距离d;

步骤1.12,经步骤1.11后,计算每个点的平均距离d的期望值dm和标准差s;

步骤1.13,经步骤1.12后,计算每个点的距离阈值dt,若d>dt,则滤除该点,否则,保留;

其中,距离阈值dt的计算公式,如式(1)所示:

dt=dm+λ*s(1);

式(1)中,λ为参数,λ=0.1;dm为期望值;s为标准差;

步骤1.2,利用体素网格滤波器对经步骤1.1后得到的3d点云数据进行滤波,在保持几何特征不变的前提下减少点云数量,进而提高分割速度;具体步骤为:

步骤1.21,利用八叉树将经步骤1.1后得到的3d点云数据划分为若干个小立方体素,并计算每个小立方体素的重心点值;

步骤1.22,利用经步骤1.21后得到的重心点值代替每个小立方体素中的所有3d点云数据,得到简化后的3d点云数据;

利用统计离群消除滤波器对图2原3d点云数据进行滤波去噪处理的结果,如图3所示,由图可知,图2中周围的离散噪音点几乎被滤除掉,这为后续点云数据的分割奠定基础;

当点云为曲面时,其表示更准确,利用体素网格滤波器对图3简化后的结果,如图4所示,简化前点数为211794,简化后点数为111355,简化后并不影响原点云数据的空间特征,若场景中的曲面物体较多的情况下,效果更佳明显;

步骤2,利用八叉树将经步骤1后得到的3d点云数据划分成若干个大小形同的体素,计算各个体素的平均曲率,并将平均曲率最小的体素作为种子体素,进行区域增长,形成超体素;

其中,体素中某点z的曲率k计算公式,如式(2)所示:

式(2)中,cotαij为连接zi边的对角,cotβij为连接zj边的对角,n(i)为z邻域内点集合,amin为点z的最小邻域面积;

体素内所有点的平均曲率计算公式,如式(3)所示:

式(3)中,n为体素内的所有点数;

该步骤中以平均曲率最小的体素作为种子体素,从而避免了因种子体素落在凹棱上带来错误分割;而现有的凹凸分割方法中,该步骤种子体素的选取方法是均匀地按照一定距离的体素作为种子体素,这样就无法解决种子体素落在凹棱上的区域增长的分割,导致其过分割或欠分割;

步骤3,经步骤2后,构建超体素邻接关系图,将相邻超体素间凹凸性、连续性检测判定和颜色判定值作为超体素邻接关系图边上的权值;具体按照以下步骤实施:

步骤3.1,计算相邻超体素间凹凸关系,利用表面法向量和相邻超体素邻接面中心连线间夹角判断两个面之间的凹凸性,若为凸关系,则凹凸关系权值e1=true;若为凹关系,则凹凸关系权值e1=false;

其中,凹凸性的计算公式,如式(4)及式(5)所示:

式(4)及式(5)中,分别为相邻两个超体素邻接面中心,分别为法向量,α1、α2分别为相邻两个超体素邻接面的法向量与中心连线向量的夹角;

步骤3.2,计算每个超体素和其相邻超体素间距离dt,若dt>阈值d,则两个超体素之间无邻接边,连续性权值e2=false,否则,两个超体素之间有邻接边,连续性权值e2=true;

其中,超体素间距离dt的计算公式,如式(6)、式(7)及式(8)所示:

dt=de+dc(6);

dc=ct*rv(8);

式(6)、式(7)及式(8)中,de为预期距离;dc为连续距离;rs为超体素间距离;为目标超体素法向量;为与目标超体素相邻超体素的法向量;rv为体素尺寸;ct为连续阈值,ct=0.1;

增加连续性检测准则能够有效地将两个距离很近但并不相连的目标物分割开来,图5为待处理的第二个原3d点云数据图像,即连续性检测凹凸分割算法的原图,图6为现有凹凸分割方法中未加入连续性检测准测处理的结果,由图6可以看出,现有分割方法中并未有效的将距离很近但又不相连的两个沙发分割开,图7为加入了连续性检测准则后处理的结果,由图7可知,该方法能够有效的将距离很近但又不相连的两个沙发分割开来,避免出现过分割或欠分割的情况;

步骤3.3,计算每个超体素的平均彩色值,之后依次计算相邻超体素彩色差值,若此差值小于彩色阈值6时,则相邻超体素进行合并,进行区域增长,色差权值e3=true;若此差值大于彩色阈值20时,则相邻超体素不进行合并,停止增长,色差权值e3=false;

增加颜色检测准则能够有效地将一些整齐叠放但颜色有差异的多个物体分割开来,图8为待处理的第三个原3d点云数据图像,即待分割的相互重叠但颜色不同的书籍,图9为未加入颜色检测准则的分割方法处理的结果,由图9可知,该方法不能有效的将相互重叠但颜色不同的书籍分割开来,图10为加入颜色检测准则后分割的结果,由图10可知,该方法能够有效地将相互重叠但颜色不同的书籍分割开来,达到较好的分割效果;

步骤4,选取任意超体素作为种子超体素,判断相邻超体素间凹凸性、连续性、色差值是否满足要求,当凹凸性权值、连续性权值、色差权值均为真时,进行区域增长;反之,停止增长;

其中,判断公式如式(9)所示:

步骤5,经步骤4后,判断邻接关系图中是否存在未标记归并的超体素,若存在,则重复步骤4,直至所有的超体素都归并标记处理完,结束增长,即可得到分割结果。

图11为待处理的第四个原3d点云数据图像,图12为未经去噪简化的凹凸分割方法处理的结果,且在形成超体素过程中种子体素的选取采用具有一定距离的体素未种子体素,超体素区域增长时仅仅采用凹凸性准则进行区域增长,从分割结果可以看出该图中最右侧的沙发出现过分割,水平方向的两个沙发和后背物体出现欠分割,图13为经去噪简化分割方法处理的结果图,这说明了该方法能够有效地克服原分割方法中的不足,避免分割过程中出现过分割和欠分割的不足。

将现有方法(即只有凹凸性判断准则以及采用常规种子体素的选取方法)和本方法分割图像性能对比,如表1所示,由表可知,采用本方法对图像进行分割,其性能均优于现有方法,本方法不仅在算法的执行时间上减少了40.14%,聚类数量与人眼观察到的数量基本一致。

表1现有方法和本方法分割图像性能对比

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1