刘信伟 ,靖常峰,罗德利,杜明义,蔡国印
(1.北京建筑工程学院测绘学院,北京 100044;2.北京市市政专业设计院股份公司,北京 100037)
特征点是几何形状的特征基元,它不因坐标系的改变而变化。传统特征点提取方法,如目视判读或相似度匹配等,由于人为因素和相似度函数的误差,所提取特征点精度受限。Woo[1]认为测量点的法矢或曲率的突变是区域的边界,提出将法矢或曲率的突变点作为特征点。马骊溟[2]采用高斯曲率的方法,在散乱点云数据中提取特征点。Huang[3]在完成数据点三角网格化的基础上,估算各测点的法矢和曲率,把曲率极值点作为边界特征点。这些方法均是直接提取方法,直接采用扫描测量点作为特征点,精度受限于测量误差,因此提取的特征点未必是曲面真正的特征点。本文从这个问题出发,首先对点云数据进行预处理,去除噪声数据和非感兴趣数据;然后确定适当大小的邻域,通过计算两个相邻点之间的高斯曲率K和平均曲率H,判断出工作区内特征点的大致位置,最后拟合目标物体的局部曲面,解算出该曲面的极值特征点。
三维激光扫描仪获取的点云数据,通常包含测量过程中产生的噪声数据,影响表面重建[4~5]。此外,在三维点云数据中,还存在扫描物体之外其他物体的点云数据,这些数据虽然不属于噪声数据,但我们不感兴趣,需要将其去除[6~8]。因此,我们在局部点云数据的拟合之前,首先进行点云数据的预处理[9~12]。点云的预处理的步骤如图1所示。
图1 点云预处理步骤
点云预处理工作是特征点提取的先决条件。预处理效果好,则特征点提取和后处理精度高、效率高,拟合曲面更接近被扫描物体的真实情况,所提取的曲面极值特征点更接近于物体的真实特征点,否则反之。
选用三角格网模型模拟表达被扫描物体表面是一种常用方法,模型简洁并且可以很好的表达高度不规则物体表面的拓扑关系[13]。三角格网模型如图2所示。
图2 河南洛阳一佛像的贴图后三角格网模型
每个顶点Di,在其周围有N个网格顶点,基于它们的局部关系确定顶点Di(xi,yi,zi)。用函数式z=f(x,y)表示Di的局部曲面。二阶多项式:
采用最小二乘法,求解多项式函数式(1)的系数。多项式(1)中的系数确定,准确的顶点D'i(Di在拟合曲面中的位置)的坐标位置也将确定。可以用如下多项式表示。
顶点Di附近的N个邻近点的精度和合适的拟合多项式函数是拟合最佳曲面的关键。根据需要,选择合适的控制因素以获得期望的结果。多次平滑也可以应用到三角格网建立的过程中,以获得更加光滑的表面模型。平滑区域的大小通常是直径2个~3个三角格网的圆曲面。这样的曲面可以大大降低局部噪声对明显局部特征的影响。
三角格网曲面经过平滑后,削弱了测量噪声,消除了小的几何特征,较好地保存了主要的表面特征数据。这样较明显地减小特征匹配搜索过程的复杂性,获得可靠的初始刚体变换值。通过平滑确实改变了测量数据点的位置,但是它的改变是十分微小的(我们可以通过拟合曲面函数式解求这个微小变化),因此,平滑而引起的局部几何变形不会对最终的配准产生影响。
得到较好的拟合曲面后,根据高等数学中解求极值点的方法,进行计算。根据式(2),可得:
由式(3)和式(4)得到极值点的x值和y值,把x值和y值代入式(2)解算出z值,这样就得到了曲面的极值特征点坐标(x,y,z)。
对取出的三维点云数据进行分析处理,然后根据最小二乘原理,解求函数式式(2)中的系数,确定曲面的显示表达式。
式中:n为点数;N为系数个数:n-N为多余观测。
设定一个限差ε作为评定精度的标准。本文在做实验时,限差ε的取值是点云扫描精度的1/2。若δ>ε,则说明存在粗差,精度不可取,应对每个测量点的平差残余误差vz进行比较检查,最大者为粗差,将其剔除或重新选点后再进行平差,直至满足δ<ε为止。
这样求解出的参数,可以与式(2)联合解算,求解拟合空间曲面的极值特征点。
利用Geomagic Studio 9.0从佛像的三维点云数据中取出部分的点云数据。保存为.obj格式的文件,然后再另存为.txt格式的文本文件。
通过上面介绍的参数求解的方法,求解拟合曲面的函数表达式,进而求得拟合曲面的极值点坐标。同时分析拟合曲面及其极值特征点的精度。
编程求解出的拟合曲面的函数式为:
将取出的点云数据中未参与拟合计算的部分点作为检核点,进行检核,求解其拟合精度。表1为部分点的检核情况。
拟合曲面的精度分析 表1
根据式(8),求解拟合曲面的拟合精度为:0.0009374。拟合曲面极值点坐标为:(-0.080337,-2.220626,2.749954)。
预处理的必要性。一般来说,三角形网格是通过含有噪声数据的点云数据构建的。由于顶点位置处可能存有噪声,导致产生大量的小特征碎片,每个特征碎片含几个三角形切面,具有相同的局部表面类型。这些特征碎片不是局部特征的真实描述,并且在其他网格上也没有与之对应的特征,增加了特征匹配的虚假率。为了提高特征匹配的效率和可靠性,需要采取一些算法去除这些小的特征碎片。
曲面拟合前初始判断的必要性。要想进一步提高结果的可靠性,还应对曲面的顶点或是谷点进行初始判断。求取每两个相邻点之间的高斯曲率K和平均曲率H,高斯曲率K和平均曲率H的不同值的组合代表8种不同的曲面类型。局部曲面类型可以分为8类,可以提供一个离散的搜索区间,判断曲面类型。然后,在判断后的顶点附近取10个左右的点云数据,用这些数据进行曲面拟合,求得曲面极值特征点,这样所求结果可靠性会更高。
在做实验时,点云的预处理,坐标系的转换,曲面特征的初始判断以及曲面的拟合等,每一步都十分关键。每一步处理的好坏,都直接影响提取特征点的精度。
[1]Woo H,Kang E,Wang Sem - yung,et al.A New Segmentation Method for Point Cloud Data[J].International Journal of Machine Tools andManufacture(S0890 -6955),2002,42(2):167~178.
[2]马骊溟,徐毅,李泽湘.基于高斯曲率极值点的散乱点云数据特征点提取.系统仿真学报,2008,20(9):2341~2344.
[3]Huang J,Menq C H.Automatic Data Segmentation for Geometric Feature Extraction from Unorganized 3-D Coordinate Points[J].IEEE Transactions on Robotics and Automation(S1042 -296X),2001,17(3):268 ~279.
[4]张毅,刘旭敏,隋颖等.基于K-近邻点云去噪算法的研究与改进[J].计算机应用,2009,29(4):1011~1012.
[5]T.Tasdizen,R.Whitaker,P.Burchard,S.Osher.Geometric Surface Smoothing via Anisotropic Diffusion of Normals.Proceedings of IEEE Conference on Visualization,2002,125 ~132.
[6]刘含波.基于散乱点云数据的隐式曲面重建研究[D].哈尔滨:哈尔滨工业大学,2009.
[7]Hanbo Liu,Xin Wang and Wenyi Qiang.Implicit Surface Reconstruction from 3D Scattered Points Based on Variational Level Set Method.ISSCAA,2008,641 ~644.
[8]Wang Xin,Yang Jian,Liu Hanbo and Ma Yan.A Fast Stereo Matching Algorithm for Real- time Robot Application.2007 IEEE InternationalConference on Robotics and Biomimetics,2007,908 ~913.
[9]张鸿飞,程效军,贾东峰.多视点散乱点云配准及压缩改进算法研究[J].测绘通报,2012(2):43~47.
[10]吴世雄,王文,陈子辰等.大规模扫描测点的自适应数据压缩[J].浙江大学学报·工学版,2004,38(9):1200~1204.
[11]邵正伟,席平.基于八叉树编码的点云数据精简方法[J].工程图学学报,2010(4):73~76.
[12]师振中,王秀英,刘锡国.逆向工程中点云数据压缩算法的研究与改进[J].江苏大学学报·自然科学版,2006,27(B09):35 ~39.
[13]N.Li,P.cheng,M.A.Sutton,S.R.McNeill.Three - dimensional Point Cloud Registration by Matching Surface Features with Relaxation Labling Method.Society for Experimental Mechanics,2005,2:71 ~82.