基于特征点的三维模型配准算法

2020-08-11 16:09徐磊
网络安全技术与应用 2020年8期
关键词:张量顶点网格

◆徐磊

(辽宁大学 辽宁 110036)

1 引言

在计算机视觉研究领域中,三维物体配准技术是一项非常重要的基础研究。

三维模型配准可以分为两类:粗配准、精配准。粗配准可以在两个模型姿态未知的情况下,提供快速、高效的方式,完成两个模型之间的配准工作。同时粗配准还可以为精配准提供一个良好的初始位置条件,减少精配准迭代所需的时间消耗。精配准可以完成模型之间精细的配准,使模型之间的误差更小。

基于RANSAC的粗配准方法[1]利用“点云”数据间的重叠区域确定对应点,根据对应点求解待匹配点云间的刚体变换关系;一种是ICP算法(迭代最近点算法)[2],一种是利用ICP的改进算法[3]。

2 基于特征点的三维模型配准算法

2.1 特征点提取

研究人员将网格顶点v的法向张量投票定义为与1环面相邻的加权协方差矩阵的和:

因为一个法向投票张量是一个对称的“正半定”二阶张量,它可以被分解为如下形式:

我们可以根据张量T的特征值,将三角网格上的一个顶点分类为角点,边上点和面上点,依据Shimizu等[4]的定义,如果顶点位于“拐角”或“锐边”上,边缘强度大约是1,如果它位于一个面上,则几乎为0。分类条件为:

2.2 模型粗配准(改进的4pcs算法)

算法概括:给定两个“点”集P,Q,不确定度δ,以及“点集”P与“点集”Q重叠度的预估f,结合本文章节2顶点特征提取,获得相应的特征“点集”S1,S2。我们的目标是找到一个刚性变换使得“点集”S1中的点尽可能多的与“点集”S2中的某些点的距离小于δ。

(1)在“点集”P的特征“点集”S1中选择一些共面4点对。

(2)对于给定的基础对X,我们可以定义放射不变比集合。从“点集”Q的特征“点集”S2中提取出所有满足e1=e2且在一定范围δ内的条件即与X相符合的4点集合。

(3)为了确认唯一的Ti,我们计算Ti(v),并且统计有多少点与“点集”S2之间的距离小于δ,最后得到最佳刚性变换矩阵T。

2.3 模型细配准(改进的ICP算法)

ICP算法核心是最小化一个目标函数:

可归纳为以下步骤:

给定两个“点集”P1,P2,每一次迭代,匹配程度都在提高。

步骤1.筛选:由P1中的点,在P2中搜索出其最近的点,组成一个点对;找出两个点集中所有的点对组成两个新点集。(随机筛选法与最近邻点法)

步骤2.计算重心:根据“点集”对,计算两个新点集的重心(均匀分配权重)。

步骤3.R、T优化:由新点集,计算出下一步计算的旋转矩阵R,和平移矩阵T。

步骤4.收敛:得到旋转矩阵和平移矩阵R、T,就可以计算“点集”P2进行刚体变换之后的新点集P21,由计算P2到P21的距离平方和,以连续两次距离平方和之差绝对值,作为是否收敛的依据。若小于阈值,就收敛,停止迭代(固定比例法)。

步骤5.重复:重复1-5,直到收敛或达到既定的迭代次数。

3 结果分析

从图1的配准结果来看快速4PCS粗配准算法能够将三维模型初步对齐,为细配准阶段提供良好的初始位置,而改进的ICP算法能够实现模型的进一步精确配准,从而实现模型的完全匹配。

图1 Dragon模型“先粗后细”配准结果,Armadillo模型“先粗后细”配准结果

4 总结

针对带有噪声的三维网格模型,本文提出了一种“先粗配再细配”的模型配准方法。该算法首先基于张量投票提取出模型的特征顶点,之后采用一种快速4PCS配准算法实现模型的粗配准,不仅可以避免算法陷入局部极值,而且大大提高了配准的精度;细配准算法则是通过改进ICP算法实现两个曲面的最终精确配准。在今后的研究中,要进一步优化算法的时间性能和配准精度。

猜你喜欢
张量顶点网格
一类张量方程的可解性及其最佳逼近问题 ①
2型糖尿病脑灌注及糖尿病视网膜氧张量的相关性
过非等腰锐角三角形顶点和垂心的圆的性质及应用(下)
过非等腰锐角三角形顶点和垂心的圆的性质及应用(上)
严格对角占优张量的子直和
四元数张量方程A*NX=B 的通解
追逐
重叠网格装配中的一种改进ADT搜索方法
数学问答
一个人在顶点