基于图像分割的点云去噪方法
2023-02-22龙佳乐杜梓浩张建民陈富健关浩源黄克森
龙佳乐,杜梓浩,张建民*,陈富健,关浩源,黄克森,孙 瑞
(1.五邑大学 智能制造学部,广东 江门 529020;2.北京小米移动软件有限公司,广东 深圳 518054)
1 引言
随着计算机科学的迅速发展和现代精密仪器的出现,点云模型的获取变得越来越容易,在城市建模、计算机图形学、地形测绘、文物保护、逆向工程等领域都有着广泛的应用[1-4]。利用点云模型进行三维重建是三维形貌测量的有效方法之一。然而,在三维测量过程中会受到仪器精度、环境变化、被测物体自身结构等的影响,不可避免地产生噪声点云,影响了三维测量的精度[5-7]。
去除点云噪声以获得完整的三维点云模型一直是三维测量的研究重点。目前,许多国内外研究团队对三维测量中的点云噪声提出了各种去噪方法。袁华[8]等提出一种组合滤波算法,利用统计滤波、半径滤波和双边滤波的方法,不仅能有效去除点云噪声而且运行速度快,具有较好的鲁棒性,然而实验过程中的具体自由参数还需人工调节。Lu[9]等提出一种在保持几何特征的同时进行点云去噪的高效方法,在点云去噪过程中引入了快速迭代的顶点滤波器,该方法明显能够降低噪声干扰。吴禄慎[10]等提出一种基于三维点云特征信息分类的去噪算法,在不同噪声强度下,该算法均能够达到较好的去噪效果,并保留点云的高频特征信息。张玉存[11]等提出基于曲率约束的点云分割的去噪方法,该方法相对于双边滤波能够有效地保持模型的特征,保留模型边缘信息,去除噪声效果更为明显。赵夫群[12]等提出的层次化点云去噪算法通过矩阵运算和循环滤波在保持尖锐几何特征的同时,可以快速精确剔除噪声点,是一种有效的点云去噪算法。吴俊威[13]等提出一种邻域自适应的三维点云滤波算法,在滤波效果得到保证的情况下,提高了点云滤波的精度,但是会导致高噪声点云数据出现明显误差,进而降低滤波精度和达不到很好的去噪效果。Christian[14]等提出一种基于光场的三维点云去噪方法,该方法利用不确定性度量来更好地估计深度值,通过利用几何和光度特性以及已知的相机参数来校正离群点的位置从而达到非常有效的去噪效果。Leal[15]等提出了一种新的点云去噪算法,将中值滤波和稀疏正则化计算相结合,用于处理被高斯和脉冲噪声影响的点云模型,以保持点云中的尖锐特征。该算法能够保持清晰的特征,对合成点扫描和原始点扫描都具有鲁棒性,但具体的算法参数需要手动调整。任彬[16]等提出了一种基于自适应阈值的三维点云分段式去噪方法,在非线性函数的自适应阈值去噪算法和曲率去噪算法的基础上进行噪声点的去除,可达到95%以上的去噪精确度,但具有较多的调整参数。
目前大多数的点云去除噪声的方法无法适用于存在各种噪声点云的情况,并且具有较多的调整参数,在三维空间的计算具有复杂性。为了解决在三维空间中对点云进行去噪产生计算复杂、效率低下等问题,本文提出了一种基于图像分割的点云去除噪声的方法。该方法是基于点云映射图像进行处理,去噪后进行三维重建,实现过程简捷,可以有效去除具有噪声的点云。
2 三维重建及其产生的噪声点分析
基于双波长条纹投影的三维测量方法是使用投影机投影两组不同周期的条纹到待测物体,相机拍摄待测物体上的变形条纹图,通过相移形貌测量法(PSP)对多张变形条纹图进行条纹解析获得包裹相位图[17]。根据参考文献[17]所提的双波长条纹投影相位展开算法对包裹相位图进行相位展开获得绝对相位图,如图1 所示。结合图1 中系统标定参数和绝对相位图进行计算,得出物体的待测三维坐标进行三维重建。三维坐标(X,Y,Z)中的Z坐标与绝对相位图的像素点坐标(r,c)的关系如式(1)所示:
图1 基于双波长条纹投影的三维形貌测量原理图Fig.1 Principle diagram of three-dimensional shape mea‐surement based on dual-wavelength fringe projection
式中λc为缩放因子;f为相机的焦距;Rc、Tc为相机的外参数矩阵,由系统标定参数决定;dx与dy分别为r方向和c方向对应的物理长度,r0与c0分别为图像像素点在相机内的物理坐标。因此,需要建立的点云映射图像既包含了绝对相位图的位置信息也包含了三维点Z的信息。
由于外界环境、测量设备、三维重建算法以及物体自身点等因素影响,在对物体进行三维重建的过程中,不可避免地会产生噪声。重建的三维点云模型具有大量的散乱、块状噪声点云。三维重建产生的噪声点云类型有散乱噪声点云、块状噪声点云、突剌噪声点云等[18-21]。根据式(1)得出,三维点云噪声点与点云映射图像存在着对应关系。利用该对应关系,可以实现对噪声点云的去除。
3 点云去噪的基本原理
3.1 基本框架
基于图像分割的点云去噪方法是通过图像分割技术对点云映射图像进行相应计算,判断出噪声区域,删除噪声区域即去除了具有噪声的点云,如图2 所示:(i)为实验对象;(ii)为初始三维点云模型;(iii)为点云预处理后的二维映射;(iv)为建立的点云映射图像;(v)为分割后的点云映射图像;(vi)为在分割图像上进行的区域判断示意图;(vii)为对不确定是否存在噪声的待定区域进行的进一步判断示意图;(viii)为去除噪声区域后的点云映射图像;(ix)为去噪后的点云模型。该方法主要分为4 个步骤:建立点云映射图像、图像分割、删除噪声区域、恢复点云。
图2 基于图像分割的点云去噪方法示意图Fig.2 Schematic of point cloud denoising method based on image segmentation
基于图像分割的点云去噪方法的总体流程如下:
(1)对实验对象(图2(i))进行三维重建并建立点云映射图像,再对含有噪声的点云模型(图2(ii))进行点云预处理,如图2(iii)所示。将点云映射到二维图像上作为图像分割的输入图像,如图2(iv)所示。在建立点云映射图像过程中,计算图2(ii)中的点云x和y方向坐标的最小值,将点云x和y方向的值减去其对应的最小值得出新的点云坐标,并将点云坐标的数据转换为整型数据,对每一个点进行编号,将新的点云坐标值映射到图像上,标记出坐标点对应的点云序号和点云数量。
(2)对点云映射图像进行图像分割,在图像分割前先设定生长区域阈值,利用区域生长的图像方法进行区域分割,如图2(v)所示。设置区域生长的种子点、步长、窗口以及区域生长阈值,每一次划分区域,记录其生长点数,根据生长点数标记划分图像区域,并附上随机生成的颜色显示在图2(v)的点云映射图像。通过计算各个区域面积与总的区域面积判断噪声区域和非噪声区域,对非噪声区域再进行进一步的判断得出无噪声点云的参考区域和可能存在噪声的待定区域,如图2(vi)所示。
(3)判断待定区域中是否包含噪声的区域,对参考区域进行孔洞填充,利用k近邻算法对待定区域和孔洞填充后的参考区域进行进一步判断得出噪声待定区域,如图2(vii)所示。计算最近邻点的待定区域轮廓点和参考区域轮廓点的三维点Z 的距离,大于设定距离的阈值判断为噪声点,在图中标记为黑色背景。
(4)去除所有噪声区域并恢复点云,根据上述步骤对图像分割后记录的所有噪声区域,计算噪声点的索引值在点云映射图像中对该索引值对应图像位置的像素值设置为0 进行去除,得到去噪后的点云映射图像,如图2(viii)所示。对该点云映射图像进行恢复得到新的三维立体点云模型,如图2(ix)所示。
3.2 图像分割
所提方法中的对点云映射图像进行图像分割的方法是基于大津阈值法(日语罗马音“OOTSU”,简称Otsu)[22-23]和区域生长[24-25]相结合的图像分割方法。大津阈值法具有对噪音和目标大小十分敏感、计算过程简单便捷、不受输入图像亮度和对比度的影响等优点,使用大津阈值法对点云映射图像进行计算得出的阈值,作为该图像经过图像分割后判断噪声区域的阈值,计算过程可以表示为:
其中,σ2(k)为图像平均灰度的方差,mean 为图像总体灰度值,zero(k)和one(k)分别为灰度直方图hist 的零阶累积矩和一阶累积矩。通过计算式(2)中最大的方差σ2max(k),得出对应的k值即为Otsu 法选取的阈值,并且作为图像分割后划分噪声区域的判断阈值。
选定初始点为区域生长的种子点对点云映射图像进行分割,初始点(x0,y0)为点云映射图像中像素I(x,y)不为0 并且坐标(x,y)都是最小的点,可以表示为:
设置区域生长的窗口大小为3×3、区域生长的步长为1 个像素点、区域生长的阈值为ω=10。初始生长点(x0,y0)和(x0,y0)的8 邻域像素满足生长准则,即(x0,y0)和(x0,y0)的8 邻域像素差值的绝对值小于等于区域生长阈值ω,则满足条件的邻域像素点为该生长区域的点,记录生长点数。在接下来的生长次数中,设置上一次生长区域所有点为起始生长点,并与它的8 邻域像素进行生长准则判断,若满足该生长准则,则为该生长区域的点,直到所有生长点不满足生长准则,则该生长区域停止生长,该区域划分为图像分割的一个区域。根据颜色分割阈值k和区域生长的种子点以及步长和窗口,对点云映射图像进行区域生长分割得到一个区域,进行记录。在点云映射图像中删除该区域,继续选定剩下分割区域中满足式(3)的初始点作为区域生长的种子点,不改变区域生长的步长和窗口,对点云映射图像进行再次分割。循环反复,直到所有的区域都被分割完毕。对图像分割完毕后,为了对每个区域进行更好的区分,使用随机生成的图像RGB数值对每个区域进行上色,并且设置每个区域的RGB 数值都不相同使每个区域在图像上的颜色都不相同,便于区分每一个区域。在图2(v)中,分割出来的不同区域用不同的颜色表示在点云映射图像上。
3.3 噪声区域判断
计算图2(v)中所有分割区域面积S,设Si(i为整数)为分割出来的每一个区域面积,可以表示为:
式中,region(i)表示为图像分割后的区域;numbel为计算区域的元素数量,即在点云映射图像中的该区域所包含图像像素点的数量。将分割区域较小的区域(区域面积Si≤k)判定为噪声区域,需要去除;将较大的分割区域判定为无噪声点云的参考区域(区域面积Si≥0.1×S);其他的分割区域(区域面积k≤Si≤0.1×S)判定为待定区域,可能为噪声点云区域,也可能为无噪声点云区域。分割的区域示例表示在图2(vi)上,原本在图2(ii)的6 块散乱噪声点云经过上述判断方法在图2(vi)中被判断为6 个噪声区域。在图2(vii)中,记录通过区域面积判断出的噪声区域并删除,进一步对待定区域是否为噪声区域进行判断。
为避免存在孔洞无法利用参考区域对待定区域判断是否存在噪声区域的情况,对参考区域进行孔洞填充,标记孔洞填充后的参考区域的像素坐标点(u,v)。利用k近邻算法对参考区域和待定区域进行噪声区域判断,计算待定区域的像素坐标点(u0,v0)与填充孔洞后的参考区域的所有的像素坐标点(u,v)的一个最近邻即最短距离,若最近邻点的距离为0,说明待定区域处于参考区域内,记录为内部区域情况;若最近邻点的距离大于0,说明待定区域处于参考区域外,记录为外部区域情况,如图3 所示。图3(a)为待定区域在参考区域内部的情况,最近邻点为待定区域轮廓的点,也属于参考区域内的点,因此最近邻点的距离为0。图3(b)为待定区域在参考区域外部的情况,待定区域轮廓与参考区域轮廓最近邻点的距离大于0。对待定区域处于参考区域内外部情况的噪声区域判断流程图如图4 所示。图4中计算的欧式距离D可以表示为:
图3 待定区域与参考区域位置判断示意图Fig.3 Schematic diagram of location judgment of unde‐termined area and reference area
式中,Z1为待定区域像素点(u0,v0)的深度值,Z2为参考区域像素点(u,v)的深度值,根据式(1)可以计算得出二者的深度值。图4 中欧式距离的判断设定值与颜色分割阈值相等。在图2(vii)中,经过区域生长的图像分割得出在图2(vi)中的待定区域经过k近邻算法判断得出该区域位于参考区域外部。根据图4 区域分割判断噪声区域流程图和式(4),选取待定区域轮廓与参考区域轮廓最近邻的两个像素点计算两点之间的Z值的欧式距离。计算得出D与欧式距离设定值δ进行比较,若D>δ,则该待定区域为噪声区域。对所有的最近邻点进行计算并记录待定区域中所有的噪声区域。
图4 区域分割判断噪声区域流程图Fig.4 Flow chart of region segmentation to determine noise region
3.4 去除噪声区域恢复点云
对区域分割过程中记录的所有噪声区域进行去除,在点云映射图像中,把所含噪声区域的像素点的像素数值设置为0,删除噪声区域。删除噪声区域后的点云映射图像如图2(viii)所示。去除噪声后的点云映射图像与绝对相位图进行点乘计算得到去除噪声点云后的绝对相位图。根据图1 中的基于双波长条纹投影的三维形貌测量原理,利用绝对相位图和相机、投影机标定的内外参数并根据式(1)进行三维重建计算得出去除噪声的三维点云,如图2(ix)所示。在图2(ix)中,图2(ii)中的部分点云在经过一系列的区域分割判断为噪声区域并经过被去除后,得出最终去除噪声的三维点云模型。
4 实验结果与分析
为验证所提方法的有效性,在完成系统标定后,选取1 个玩偶作进行三维重建实验。本次实验使用的是德州仪器(TI)公司的DLPLCR4500 EVM 投影仪和宝视纳公司的Basler ace 的相机,该投影仪和相机的分辨率分别为1 280×800 和1 280×1 024。使用MATLAB2020b 软件编程实现所提方法,并在计算机(内存为16 GB,主频为英特尔i5-9300 2.40 GHz)上进行测试。MATLAB的仿真界面如图5 所示,图中的all_pic.m 文件为点云去噪仿真实验的主函数文件,文件中包含了图1 的双波长条纹投影的三维重建过程、三维点云去噪过程和三维点云精度计算。待测物体1 如图6(a)所示,相机对待测物体1 拍摄的其中1 张变形条纹图如图6(b)所示。根据图1 中的基于双波长条纹投影的三维形貌测量原理,利用PSP对多张变形条纹图进行解析和相位展开获得绝对相位图,如图6(c)所示。结合三维标定参数和待测物体1 的绝对相位图进行三维重建,重建后的三维点云如图6(d)所示。根据三维重建的结果,待测物体1 的三维点云周围存在散乱、块状噪声点云,需要对三维点云进行点云去噪。
图5 MATLAB 仿真界面Fig.5 MATLAB simulation interface
图6 待测物体1 及其重建的三维点云Fig.6 Object 1 and its reconstructed 3D point cloud
对待测物体1 进行的点云去噪实验,如图7所示。采用3.2 节的图像分割方法,通过对点云映射图像进行分割得出标记所有分割区域的点云映射分割图像如图6(b)所示。根据Otsu 算法和式(2),对图6(a)中的点云映射图像进行分割阈值计算。将点云映射图像转化为8 位灰度图像进行灰度直方图计算得到256×1的矩阵hist,图像总体灰度值为mean=8 710.45,把mean 和hist 代入式(2)计算得到256×1 的矩阵σ2(k)(0 ≤k≤255)。对该矩阵使用max 函数进行最大值索引,得出划分噪声区域阈值k=116。根据3.2 节图像分割部分,设置初始点即生长区域种子点为(x0,y0)、区域生长的窗口大小为3×3、区域生长的步长为1 个像素点以及每次区域生长的阈值为ω=10。对点云映射图像进行图像分割,判断该图像的噪声区域,并对噪声区域进行去除。在点云去噪实验的图像分割中,图7(a)中选择的初始生长点为:
图7 待测物体1 点云去噪实验图Fig.7 Point cloud denoising experiment of object 1
式中,(x0,y0)的参数都满足式(3)对初始点的选择。根据区域生长准则,对初始点进行区域生长,初始点的8 邻域像素点只要满足:
式中,(xregion,yregion)为区域生长中该区域的点,I(xregion,yregion)为该区域的像素点对应的数值,(xregion,yregion)在第一次区域生长中只有(x0,y0),I(x,y)为该区域的像素点8 邻域像素点的数值。满足式(7)的像素点I(x,y)为生长区域的点,进行下一次区域生长的判断,区域生长过程的示意图如图8 所示。图8 中的表格为部分点云映射图像像素值,初始点为(717,499)。在第一次区域生长中,满足式(7)的初始点的8 邻域像素点只有(716,500),该点为该生长区域的点,是进行下一次区域生长的判断点。在第二次区域生长中,只有(715,501)是满足区域生长准则要求并且是生长区域像素点(716,500)的8 邻域像素点,则(715,501)也为该生长区域的像素点。在第三次区域生长中,有4 个像素点满足区域生长准则并且是点(715,501)的8 邻域像素点,分别为(714,501),(714,502),(715,502),(716,502)。根据上述步骤对该4 个像素点继续进行区域生长,直到所有生长点都不满足式(7)的计算,则停止区域生长,对该区域进行记录。根据式(4)计算该区域的面积,该区域面积为S1=46 529。记录的区域如图9(a)所示,对该区域在点云映射图像中进行删除,如图9(b)所示。继续选定剩下的待分割区域中满足式(3)的初始点作为区域生长的种子点进行分割,直至图中所有非0 的像素点都处于各个分割区域中。对图像分割完毕后,使用不同的RGB 数值在点云映射图像上表示每一个分割的区域。根据3.3 节噪声区域判断中总的区域面积、噪声区域划分阈值k和参考区域划分阈值0.1×S,对所有区域进行区域划分,得出参考区域、噪声区域和待定区域的数据,如表1所示。表1为对物体1 的点云映射图像进行图像分割、记录区域数量并且根据式(4)进行区域面积计算的结果。根据表1 可知,图像分割后总共有95 个区域,区域总面积S=190 295,无噪声的参考区域有3 个,噪声区域有66 个,待定区域有26 个。
图8 区域生长的过程示意图Fig.8 Schematic diagram of the process of regional growth
表1 物体1 的图像分割结果Tab.1 Image segmentation result of object 1
对待定区域进行进一步的判断,设置待定区域与参考区域最近邻点的欧式距离判断设定值为δ=10。在图7(a)中存在两最近邻点(637,536)为参考区域上的点,(636,536)为待定区域上的点,两点的距离不为0,因此该待定区域在参考区域外。已知该两点的Z值分别为Z(637,536)=159.382 7,Z(636,536)=215.272 7。根据式(4)计算两点Z值的欧氏距离为55.454 4。根据3.3 节噪声区域判断部分,已知D>δ=10,因此,该待定区域为噪声区域,进行记录。对所有的待定区域与参考区域的最近邻点进行索引,得出在点云映射图像中对应的深度值Z,对两点之间的深度值进行式(5)的计算得出新的欧式距离D与欧式距离设定值δ进行比较,若D>δ,则该待定区域为噪声区域,直到所有待定区域与参考区域的最近邻点都进行判断,计算出所有待定区域和参考区域的最近邻点的Z值和欧式距离,如表2 所示,结合欧式距离设定值δ对每一个待定区域进行判断。根据表2,26 个待定区域中有25 个待定区域为噪声区域,对待定区域中的噪声区域进行记录。
表2 物体1 待定区域中的噪声区域分析结果Tab.2 Noise region analysis results in the pending region of object 1
根据表1和表2 可知,经过图像分割后有66个噪声区域,通过k近邻算法对待定区域进行判断得出待定区域中有25 个噪声区域。因此,记录的总噪声区域一共有81 个。对81 个区域所有的像素点在点云映射图像中进行索引,把噪声区域所在像素点的像素数值设置为0,达到去除噪声的效果。根据3.4 节去除噪声区域恢复点云部分,去除噪声后的点云映射图像与图6(c)中的绝对相位图进行点乘,得到新的去除噪声后的绝对相位图,再结合标定参数和去噪后的绝对相位图进行三维重建得到去除噪声后的三维点云模型,如图7(d)所示。
根据点云去噪的结果对点云的去噪精度进行计算,表达式为:
式中:P1为图7 中图像分割后判定的无噪声参考区域点云数量,P2为图像分割后判定的待定区域经过k近邻算法后计算的无噪声区域点云数量。
本文所提方法与半径滤波算法、体素滤波算法以及文献[20]所提的点云滤波算法进行去噪结果的对比分析。其中P1为滤波算法判定的无噪声区域点云数量,P2为滤波算法把噪声点判定为无噪声点的点云数量。表3 为物体1 的去噪结果分析。根据表3 可知,体素滤波算法在对比分析中的速度最快只有0.081 s,但是P2与其他方法相比较高,P1与其他方法相比较低,对于噪声区域的区分度不高。点云的精度也较低,只有13.977%。半径滤波算法较好,精度可以达到89.314%,并且所需要的时间只有0.755 s,但是P2与所提方法和文献[20]所提算法相比较大。本文所提方法与文献[20]相比,使用图像阈值分割方法和区域生长的方法代替文献[20]中的图像处理部分实现三维点云去噪,并且所提方法的点云精度更高,可以达到99.974%,去噪过程的时间为0.954 s。
表3 物体1 去噪结果Tab.3 Denoising effect of object 1
为了进一步验证点云去噪的效果,选择了另外一个物体进行三维重建,其过程和上述过程一样,选取的图像分割的参数,即种子点的选取、生长步长、生长窗口、颜色特征提取以及区域生长阈值ω和欧式距离设定值δ保持不变。图10 为待测物体2 及其三维重建过程。待测物体2 的三维点云周围也存在散乱、块状噪声点云,需要对三维点云进行点云去噪。对物体2 的点云去噪实验如图11 所示,通过上述对式(2)进行计算得出噪声区域划分阈值为k=119。根据上述的图像分割过程对该点云映射图像进行图像分割,判断该图像的噪声区域,并对噪声区域进行去除。表4 为根据3.2 节和3.3 节中图像分割和区域判断的方法对物体2 的点云映射图像进行分割所得到的区域以及根据式(4)进行区域面积计算的结果。根据表4 可知,物体2 的点云映射图像一共被分割为44 个区域,区域总面积为153 489,图像分割后的噪声区域一共有24 个,待定区域一共有19 个。表5 为根据3.3 节噪声区域判断部分,利用k近邻算法对待定区域进行进一步判断待定区域是否存在噪声区域的结果。在表5 中,19 个待定区域经过判断后,其中18 个待定区域被判定为噪声区域,并进行记录。根据表4 和表5 可知,记录总的噪声区域一共有42 个,对噪声区域所有的像素点在图11(b)中的点云映射图像进行索引,并对该像素点的像素数值设置为0,达到去除噪声的效果,去噪后的点云映射图像如图11(c)所示。根据3.4 节去除噪声区域恢复点云部分,去噪后的点云映射图像与图10(c)中的绝对相位图进行点乘,得到去除噪声后的绝对相位图,再结合标定参数和去噪后的绝对相位图进行三维重建得到去除噪声后的三维点云模型,如图11(d)所示。
图10 待测物体2 及其重建的三维点云Fig.10 Object 2 and its reconstructed 3D point cloud
图11 待测物体2 点云去噪实验图Fig.11 Point cloud denoising experiment of object 2
表4 物体2 的图像分割结果Tab.4 Image segmentation result of object 2
表5 物体2 待定区域中的噪声区域分析结果Tab.5 Noise region analysis results in the pending region of object 2
根据式(8),对点云进行进一步的计算并且与其他方法进行比较。本文所提方法与半径滤波算法、体素滤波算法以及文献[20]所提的点云滤波算法在物体2 中进行对比实验分析。表6 为物体2 的去噪结果分析。根据表6 可知,体素滤波算法的去噪时间最短只有0.07 s,然而去噪精度为最低,只有13.972%。半径滤波算法的去噪速度仅次于体素滤波算法,但是去噪精度不如文献[20]所提的方法和本文所提方法。本文所提方法的去噪精度最高,可以达到99.436%,去噪时间为0.905 s。
表6 物体2 去噪结果Tab.6 Denoising effect of object 2
选取一个体积较小的物体3 进行三维重建和点云去噪实验,选取的图像分割的参数,即区域生长种子点的选取、生长步长、生长窗口、颜色特征提取以及区域生长阈值ω和欧式距离设定值δ保持不变。通过上述实验计算噪声区域划分阈值k的方法对点云映射图像进行计算,得出k=128。整个实验过程如图12 和图13 所示。表7 和表8 分别为根据上述步骤和涉及图像区域分割的参数对物体3 的点云映射图像进行图像分割的结果以及对所有待定区域进行进一步判断是否为噪声区域的结果。该物体总共被划分成22 个区域,其中参考区域有1 个,噪声区域有9 个,待定区域有12 个。在表8 中,通过上述方法对待定区域进行判断,得出有11 个待定区域为噪声区域。根据表7 和表8,对记录的所有噪声在图13(b)中的点云映射图像进行去除,得到去除噪声区域的点云映射图像,如图13(c)所示。结合图13(c)、图12(c)和三维标定参数,恢复物体3 的三维点云,得出去噪的三维点云模型,如图13(d)所示。在图13(d)中,图12(d)中的散乱噪声点以及块状噪声点云都已被去除。对该点云进行点云精度计算并与其他方法的去噪实验进行比较,如表9所示。在表9 中,所提方法的去噪精度Q在对比实验中的数值最高,为99.944%,去噪时间为0.875 s。
表7 物体3 的图像分割结果Tab.7 Image segmentation result of object 3
表8 物体3 待定区域中的噪声区域分析结果Tab.8 Noise region analysis results in the pending region of object 3
表9 物体3 去噪结果Tab.9 Denoising effect of object 3
图12 待测物体3 及其重建的三维点云Fig.12 Object 3 and its reconstructed 3D point cloud
图13 待测物体3 点云去噪实验图Fig.13 Point cloud denoising experiment of object 3
通过上述实验例子,所提方法通过图像分割的处理方式快速定位噪声点云,可在1 s 以内对基于结构光条纹投影的三维点云重建过程中产生的散乱、块状噪声点云实现有效去除,并能提升点云的去噪精度。
5 结论
基于结构光条纹投影的三维形貌测量技术是目前最有发展前景的非接触式光学测量技术之一。本文在双波长条纹投影的三维重建基础上提出了基于图像分割的点云去除噪声的方法。根据点云进行预处理建立点云映射图像,对点云映射图像进行图像分割处理,在点云映射图像上去除判断出的噪声区域,将三维点云映射到二维图像上进行计算判断,避免在三维空间进行复杂计算。实验结果表明,经过所提方法进行点云去噪后,点云精度最高可以达到99.974%;对于点云数量不超过16 万个三维像素点的三维点云,去噪时间少于1 s。所提方法可以有效去除产生噪声的点云,适用于基于结构光条纹投影进行三维重建的点云去噪。