B. Amberg, S. Romdhani, and T. Vetter, “Optimal Step Nonrigid ICP Algorithms for Surface Registration,” in 2007 IEEE Conference on Computer Vision and Pattern Recognition, Minneapolis, MN, USA, 2007, pp. 1–8.
Overview
配准是将template warp到target上。该算法使用局部仿射性进行正则化,假设每个顶点都对应一个仿射变换,并且最小化相邻顶点对应仿射变换的差(局部平滑)。由于一对匹配点无法计算得到一个仿射变换,因此引入正则项作为新的约束。
该文章定义了非刚体ICP框架的最优化步骤,扩展的ICP方法适用于非刚体形变并且保留了ICP原本的收敛性。
构造CostFunction
给定template mesh为拥有个顶点和条边的图。Target 为任意一种中3D空间中可以给其中任意一个点找到最近点的表示。
需要求解的数据是每个template顶点对应的仿射变换矩阵,完整的形式为
距离项
形变后template上的顶点和target之间的距离应该很小,距离项由此构造为
为其次向量,点和它在target中最近点的距离为。使用分层边界球方法提高最近点搜索的速度。匹配的可信度为权重,当某个点没有对应点时,其权重为。
stiffness项
Stiffness项用来惩罚相邻顶点间仿射变换的不同。使用加权矩阵,得到
landmark项
用来初始化和引导配准,对cost function本身影响不大。给定一系列landmark 将template顶点映射到target顶点上,
完整的CostFunction
计算步骤
- 初始化
- 对每个stiffness 都有
- 到之前
- 为找到出事对应
- 将作为初始对应和的最优形变
- 到之前
为形变后的点。优化步骤包含2个循环。外循环找到越来越优的形变,由非常强的stiff正则化约束,然后逐步降低。内循环在固定的stiffness下寻找形变,初始对应通过最近点搜索寻找,每一次迭代更新template后重新确定对应关系。
优化方法
虽然点匹配会在优化过程中不断更新,但是在每一次循环的时候是固定的。在对应固定的情况下,cost function是一个可以最小化的稀疏二次系统,重写为
距离项
根据重写后的cost function可以看出只有距离项需要重写,因为此时已经确定了具体的点匹配。
其中,是Kronecker乘积。但是这种形式不容易微分,因此在重新改写一下,
stiffness项
引入node-arc关系矩阵,矩阵由mesh的拓扑图直接定义。每个arc(edge)一行,每个node(vertex)一列。如果边连接顶点,行中的非元素为和,有
landmark项
仿照距离项构造和
完整的CostFunction
得到一个二次函数
如果的秩小于,这个问题的约束不够,是病态的问题。该文认为仿射变换的自由度为12。文中有证明的列秩为。
数据缺失和鲁棒性
当template中的顶点,对应到target中的缺失数据时,权重设为。
检测没有对应顶点有3个测试,满足其一则去掉对应:
- 在target mesh的边界上
- 和处的mesh法线夹角大于阈值
- 线段到与形变后的template相交
优化过程中找到的新的对应会使残差变大,以前到优化方法都无法解决这个问题,文中提出的优化过程可以解决这个问题。