王晓辉 王丽勇 傅思勇
摘 要:针对文物碎片拼接过程中存在因局部碎片缺失和碎片形状多变而导致配准偏差较大的问题,本文提出一种基于轮廓特征的文物碎片自动拼接方法。首先采用迭代重新加权的方法来估算文物碎片点云的法向量,并以法向量为邻域曲面的局部支撑,通过邻域构造参数二次曲面来估算点云的曲率。然后对点云进行去噪预处理,采用特征提取算法识别点云模型轮廓特征点并拟合特征曲线。最后,采用四点算法和改进ICP算法对文物碎片特征点云进行粗配准和精确配准,并根据配准结果计算轮廓配准偏差。通过方法对比分析,本文算法能有效减少配准偏差,拼接误差较小,碎片拼接结果较为理想。
关键词:碎片拼接;特征提取;点云配准;配准偏差
中图分类号:TP391.4 文献标识码:A 文章编号:1673-260X(2021)10-0035-07
引言
文物是反映一个历史时期经济文化发展的时代印记,在历史发展中具有举足轻重的作用,因此文物的保护和修复等工作具有十分重要的意义。早期文物的修复是需要工作人员手工拼接去完成,对于文物碎片数量较多且形状复杂的文物修复则需要耗费大量的时间和精力,且工作人员在对碎片进行拼接时很容易造成人为的破坏。随着三维测量与数字化、可视化技术的发展,计算机等辅助手段被逐步应用于文物碎片的虚拟拼合及修复中,文物数字化虚拟修复技术不受时间和空间的限制,不存在人为因素的破坏,大大提高了文物修复的质量和效率。
文物修复最关键的一步就是文物碎片的拼接。碎片拼接是通过匹配碎片间的某些特征信息来判别其是否具有邻接关系,然后通过邻接碎片间的拼合实现文物的复原[1]。针对文物碎片的数字化拼接,诸多学者做了大量研究。张雨禾[2]通过研究碎片表面非完整几何纹元的互补匹配问题,提出基于形状骨架图匹配的文物碎片自动拼接方法,该方法对边缘缺损的碎片拼接有很好的配准效果。傅思勇[1]根据导数动态时间规整算法来搜索候选轮廓曲线匹配段,实现对三维薄壁碎片的自动拼接。刘晓宁等[3]提出一种文物碎片拼接方法,通过构造低冗余的SURF特征描述符和借助杰卡德距离来搜寻匹配特征点对,并采用ICP方法进行精确配准,实现碎片的拼接。此外,还有学者提出半自动碎片拼接方法[4],该类方法主要依赖于专家给出的匹配特征点对,然后再根据特征点对之间的角度、点距等信息之间的匹配关系,实现碎片的拼接。
现有的文物拼接算法对于一对多碎片的拼接及碎片形状多变的拼接还不能达到满意的效果。为此,本文提出基于轮廓特征的文物碎片自动拼接方法。首先采用迭代重新加权的方法来估算碎片点云的法向量,并以法向量为邻域曲面的局部支撑,通过邻域构造参数二次曲面来估算点云的曲率。然后对点云进行去噪预处理,提取点云模型轮廓特征点并拟合特征曲线。最后采用四点算法和改进ICP算法对碎片特征点进行粗配准和精确配准,实现碎片的准确拼接。
1 点云数据的获取与预处理
1.1 数据获取
近年来三维扫描技术得到了迅速发展,被广泛应用于各个数字领域。其中,在文化遗产保护领域,尤其是在文物的记录、虚拟修复和文物三维展示等方面更是依赖于这种技术的应用。本文采用形创CREAFORM HandySCAN 3D非接触式手持激光扫描仪来获取仿制文物陶瓷碎片实物的三维数据,如图1所示。该扫描仪通过三角测距函数来实时确定自身与被扫描部件的相对位置,扫描在物体表面产生点云,这些点可以用来插值对象的表面形状,点云越密,模型越精确。仿制文物陶瓷碎片实物如图2所示。陶瓷碎片分为7个部分,分别设置编号为1-7号,图3所示为扫描后获取的陶瓷碎片1-7号的点云数据。
1.2 法向量与曲率的估算
经扫描获取的碎片数据为散乱点云数据,在对其进行预处理之前,需要构建点云的拓扑关系。本文采用k-d树搜索算法[5]来构建点的k邻域点集,然后根据点云的邻域结构估算点云的微分几何信息,即估算点云的法向量和曲率。点云法向量和曲率的估算方法已在文献[6]中进行了详细的阐述,通过对k邻域点进行迭代重新加权来拟合平面的方法估算点云法向量,采用二次曲面拟合邻域点集的方法来估算点云的曲率。法向量和曲率的估算结果如图4和图5所示。图5中红色点表示高曲率点,黄色点表示低曲率点。
1.3 点云数据的去噪与精简
在扫描实物获取三维数据的过程中,由于受环境和人为等因素的影响,获取的原始点云数据中会包含一定的噪声数据。过多的噪声会增加原始点云的数据量,降低模型重构的效率,同时也会影响点云模型特征提取和拼接的精度,因此要先去除噪声点。本文采用基于法向量距离分类的去噪方法[6]对原始陶瓷碎片点云数据进行去噪处理。
三维扫描设备的精度也会对原始点云数据量产生影响,设备精度越高,获取的点云数据量就越多。过多的点云数据会降低计算效率,因此在保留模型特征的前提下,适当对原始点云进行精简预处理。本文获取的陶瓷碎片点云数据量适中,为确保计算精度可以不对其进行精简处理。
2 輪廓特征点的提取
特征提取是碎片拼接的基石,特征提取的优劣直接决定了后续碎片拼接中形状表达与匹配的准确率[2]。碎片的轮廓点属于边界特征点,可以利用采样点及其邻域点的分布均匀性来进行边界特征点的判别。如图6所示,若点云中的任一采样点 的邻域分布偏向一侧,则可以认为点o为边界点,反之则认为o是内部点。图中红色点为采样点,黑色点为其最邻近点。
3 碎片的配准拼接
扫描获取的1-7号陶瓷碎片的点云数据每一组都具有独立的坐标系,要想将碎片完整拼合成一个整体,必须将1-7号碎片点云进行坐标变换,将每一个独立的坐标系下的点云统一到一个全局坐标系下。理想的拼接效果需要高效的形状匹配方法,即点云配准方法。为提高点云配准精度,减少碎片之间的拼接误差,1-7号碎片点云数据之间的对应点对在其特征点集中选取,碎片配准的详细步骤可归纳如下:
(1)配准前先要去除碎片点云中的噪声点。
(2)按照特征点提取方法从两组点云数据中提取特征点。
(3)对比两组点云数据的特征和位置的相似度,在提取的特征点集中初步估计特征点对应点对。
(4)去除错误的对应点对。
(5)利用两组点云数据的对应关系,求解坐标变换矩阵,实现点云配准。
点云配准的关键,一是找到两个特征点集之间的对应关系,二是求解两个特征点集之间的刚体变换矩阵。刚体变换主要包括旋转变换和平移变换,其旋转矩阵R和平移矩阵T可表示为:
若已知特征点云数据集P={pi∈R3,i=1,2,…,n}中的点pi和特征点云数据集Q={qi∈R3,i=1,2,…,m}中的点qi,满足刚体变换(R,T),将空间坐标写成非齐次形式时,刚体变换关系可表示为:
3.1 基于四点算法的粗配准
粗配准就是将不同坐标系下的两组点云通过刚体变换大致统一到同一坐标系下。在刚性变换矩阵中需要求解六个参数,这就需要在两组特征点集中至少要找到三对组应点对。Dior Arger等人[9]提出的四点算法(4-Points Congruent Sets Algorithm,4PCS)将三组对应点对增加到四组对应点对,在配准过程中选取一组特征点集中共面四点作为匹配基础点,然后利用四点的对角线交点把两条对角线分成四个线段,根据四个线段的长度、比例关系在刚体变换中的不变特性,寻找另一组特征点集中的四个共面点与之对应,计算这些点对之间的变换。应用RANSAC算法选取多组点对,最终找到最佳变换点对。四点算法简便、复杂度低,对噪声不敏感,因此本文选择四点算法对陶瓷碎片1-7号点云数据进行粗配准。
定义一组特征点集为Q,P为另一组待配准的特征点集,在Q中随机寻找共面四点a,b,c,d,如图9(a)所示,两条线段的交点为e。在P点集中选取对应的共面四点a′,b′,c′,d′,线段交点为e′,如图9(b)。设被交点分得的线段比为r1和r2,根据线段长度和线段比例在刚体变换中的不变特性,则有:
式中:p1、p2为在特征点集P中找到的线段长度符合d1、d2的候选对应点,近似相等交点所对应的点即为组成特征点集P中的共面四点。
4PCS算法对应点搜索步骤可归纳为:
(1)在特征点集Q中随机选取共面四点a,b,c,d,计算其交点e,获取对角线段的长度d1和d2,以及线段比r1和r2。
(2)在特征点集P中找寻a,b,c,d的所有點对a′i,b′i,c′i,d′i(i=1,2,…),通过公式(6)筛选点对。
(3)根据r1、r2,求出候选对应点对的交点e′i,则e′i所对应的四个点即为a,b,c,d的对应点。
3.2 基于改进ICP算法的精确配准
式中:n为最邻近点对的个数,qi为与源点云数据集P中pi对应的最近点。其方法步骤可归纳如下:
(1)在点云数据集P中取点集pi∈P。
(2)在另一点云数据集Q中找到最近的对应点集qi∈Q,使得min||qi-pi||。
(3)求解旋转矩阵R和平移矩阵T,使得目标函数f(R,T)最小。
(4)pi经过刚体变换后,得到新的点集p′i={p′i=Rpi+T}。
(5)计算新的点集p′i与点云数据集Q中所有点对的平均距离d:
(6)判断d是否小于给定的阈值或大于预先设定的最大迭代次数,如果符合则迭代停止;否则返回步骤(2),直至算法终止。
ICP算法的核心是对应点对的确定。ICP算法是通过直线搜索两组点云数据集之间距离最近的点作为对应点,方法虽然简单,但也容易搜索出错误的对应点,即在点云数据集Q中出现一点对应数据点集P中多点的情况,会严重影响配准的精度。
对应点对的确定方法通常有三类:点到点、点到投影和点到面方法。ICP算法是通过点到点间的欧式距离建立点间对应关系;点到投影的ICP算法则是将点云数据集P中的点沿着点云数据集Q视点方向穿过,与点集Q中的点相交,所得交点即为对应点。这种方法省去了搜索对应点对的步骤,大大节省了计算时间,但该方法的应用范围较窄,且无法达到较高的配准精度;点到面的ICP算法在三类方法中具有较高的配准精度,该方法是采用点到面的距离作为误差度量替代点到点欧式距离误差度量,即利用点集P中的点的法线与点集Q的交点来确定对应点。如图10所示,点云数据集P中的点pi,其法线与点云数据集Q的交点为qi,则qi即为pi的对应点。在建立目标函数时,相应地采用pi点到点集Q过qi的切平面Si的距离。点到面的ICP算法迭代次数少,精度高且不易陷入局部极值。因此,本文通过采用点到面搜索对应点方法来改进ICP算法,实现点云的精确配准。
假设两组点云中P(初始配准后的点云)和Q,定义其刚性变换为H(R,T),计算它们的初始变换H0,经过k次迭代后,则式(10)变为:
3.3 运动参数的估计
刚体变换运动参数是通过目标函数最小化来估计的,估计出的运动参数要使得两组点云数据得到最佳配准结果。常用求解目标函数的方法有正交矩阵法、奇异值法、单位四元数法[11]和对偶四元数法等。其中,单位四元数法效率较高,且稳定性更好,因此选择该方法来求解目标函数。
4 陶瓷碎片配准结果与分析
算法在Windows环境下Microsoft Visual Studio 2013和OpenGL开源图形库的开发平台下实现,并在具有CPU Intel Core i5 2.6GHz处理器和8G内存的标准PC上进行实验验证。对1-7号陶瓷碎片进行一对一配准拼接,即两组点云数据的配准。用不同颜色的点来表示1-7号陶瓷碎片,其一对一点云配准结果如图12所示。为便于清晰显示陶瓷碎片的形状及配准结果,将1-7号陶瓷碎片的点云数据用其重构光照模型来表示,如图13所示。图14为碎片一对一配准结果的重构光照模型。从图中结果可知,本文配准算法能够较好地实现一对一碎片的配准拼接。
在对陶瓷碎片进行一对多的配准拼接过程中,由于待配准点云组数的增加,配准过程中的配准偏差也会相应地增多。如果配准方法精度不高,那么就可能造成碎片间的配准拼接偏差相对较大,特别是当一个碎片需要同时与其他两片碎片配准拼接时,这个碎片很难同时与其他两碎片达到无缝拼接的程度,如图15(a)所示为采用四点算法进行粗配准,ICP算法进行精确配准的1-3号陶瓷碎片配准拼接结果。由图中红色圈出的部分可以看出1号和2号碎片的拼接部分有明显偏差,2号和3号碎片拼接部分产生了缝隙。若将ICP算法换为改进的ICP算法,即采取本文提出的配准算法对1-3号陶瓷碎片点云数据进行配准拼接,其结果如图15(b)所示。图中1号和2号碎片、2号和3号碎片拼接部分偏差较小,且无缝隙产生,这是因为改进的ICP算法精度要高于ICP算法。通过对比可知,应用本文算法进行配准,各部分碎片的基本位置是准确的,且拼接部分偏差较小,说明本文算法能够较好解决一对多碎片的拼合,配准结果更精确。
为了定量分析配准精度,定义配准拼接后断裂面内对应点之间的距离差为配准偏差,ICP算法和改进ICP算法在配准过程中的参数设置与偏差分析结果如表1所示。由表中数据分析可知,改进ICP算法配准后的偏差距离和平均偏差均较小,迭代次数少,进一步说明已达到较好的配准精度。图16为1-7号碎片配准拼接结果。
5 结语
针对文物碎片自动拼接偏差距离大、效率低的问题,提出了一种基于轮廓特征的文物碎片自动拼接方法。方法首先计算文物碎片点云的微分几何信息,为提取轮廓特征点提供准确的几何信息。再去除碎片点云中的噪声点,防止因噪声干扰而获取错误的特征信息。利用局部邻域大小和邻域点间有向线段角度差来提取轮廓特征点,最后通过粗配准和精确配准实现碎片的自动拼接,并计算配准后的轮廓偏差距离。通过与ICP精确配准方法对比分析,本文算法能有效减少配准偏差,拼接误差小且效率高,配准拼接结果更为理想。
参考文献:
〔1〕傅思勇.三维文物破损碎片数字化及拼合技术研究[D].南昌大学,2019.
〔2〕张雨禾.散乱点云特征提取方法与部位缺损文物碎片拼接技术研究[D].西北大学,2017.
〔3〕刘晓宁,狄宏璋,杨稳,等.基于SURF特征描述符和杰卡德距离的文物碎片拼接[J].光学精密工程,2020,28(04):963-972.
〔4〕周明全,袁洁,耿国华,张雨禾.基于轮廓线特征点的交互式文物拼接[J].光学精密工程,2017,25(06):1597-1606.
〔5〕Bentley J L. Multidimensional binary search trees used for associative searching[J]. Communications of the ACM, 1975, 18(09):509-517.
〔6〕王曉辉,吴禄慎,陈华伟.基于法向量距离分类的散乱点云数据去噪[J].吉林大学学报(工学版),2020,50(01):278-288.
〔7〕Wang X H, Chen H W, Wu L S. Feature extraction of point clouds based on region clustering segmentation[J]. Multimedia Tools and Applications, 2020, 79(03).
〔8〕Pauly M, Keiser R, Gross M. Multi-scale Feature Extraction on Point-Sampled Surfaces[J]. Computer Graphics Forum, 2003, 22(03): 281-289.
〔9〕Aiger D, Mitra N J, Cohen-Or D. 4-points congruent sets for robust pairwise surface registration[J]. ACM Transactions on Graphics, 2008, 27(03): 1-10.
〔10〕Besl P J, Mckay N D. A Method for Registration of 3-D Shapes[M]. IEEE Computer Society, 1992.
〔11〕Horn B K P. Closed form solution of absolute orientation using unit quaternions [J]. Journal of the Optical Society of America A-Optics Image Science and Vision, 1987, 4(04): 629-642.