美文网首页
Point-to-Plane ICP算法的线性近似求解

Point-to-Plane ICP算法的线性近似求解

作者: 变胖是梦想2014 | 来源:发表于2017-03-18 17:13 被阅读0次

ICP算法的全称是迭代最近邻点(iterative closest points),是用于求解空间点云(或者surface)刚性变化的一种算法。ICP每一个迭代过程中,对位姿的求解都是一个非线性最小二乘问题。本文讲解如何将ICP的非线性最小二乘近似转化为一个线性最小二乘问题并求解。
经典ICP算法在每次迭代过程中首先在源(source)surface和目标(destination)surface之间建立点的对应,通常source surface某点的对应点就是destination surface上距离其最近的点,根据最小化对应点之间的误差,得到source surface和destination surface之间的变换矩阵。
对应点之间的误差有很多度量方式,有point-to-point,point-to-plane,plane-to-plane,这里我们重点讲point-to-plane度量的ICP。最小化point-to-plane误差就是最小化source surface上的点和destination surface上对应点切平面距离的平方和,如图1所示。

图1.point-to-plane误差计算示意

source surface和destination surface之间的变换可由图2所示公式求得。

图2.point-to-plane误差度量。s表示source surface上的点,d表示destination source上对应的点,n表示destination source上对应点的法向量,M表示source surface和destination surface之间的刚性变换。
如果用矩阵的形式表示变换M,那么就有如图3所示的形式。 图3.变换矩阵M由旋转部分R和平移部分T两部分组成。其中α,β和γ分别为绕x轴,y轴和z轴旋转的角度。
由上可见,变换矩阵中的旋转部分是非线性的,导致ICP求解实质上是一个非线性最小二乘问题。我们考虑到,如果在短时间内的运动非常小,这样α,β和γ都接近于0,我们近似地认为sinα=α,sinβ=β,sinγ=γ,cosα,cosβ和cosγ都等于1,如图4所示,这样我们就可以将其近似地转换为一个线性最小二乘问题。
图4.将旋转矩阵近似处理后的结果
由此近似,我们要求解的目标函数就可以写成如下图5的形式。 图5.取近似后目标函数的展开形式
上文所述我们预先建立了source surface和destination surface之间的对应点,每一组对应点都要求满足图5给出的形式,我们以矩阵的方式表示所有对应点之间的关系,如图6所示。 图6.将对应点带入并用矩阵形式表示的目标函数
由此一来,我们对图2中目标函数的求解就变成了如下图7形式,只需要求解用SVD分解的方法求解x即可,如图8所示。
图7.最终要求解的目标函数
图8.SVD分解求解x

以上就是算法的全部介绍。
持续更新,欢迎提出质疑或与作者就相关问题进行讨论。


*参考文献
Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration

相关文章

  • Point-to-Plane ICP算法的线性近似求解

    ICP算法的全称是迭代最近邻点(iterative closest points),是用于求解空间点云(或者sur...

  • 使用牛顿迭代法求解非线性方程的根

    牛顿法是一种近似求解非线性方程根的迭代算法。本文简要叙述该算法并使用MATLAB实现该算法求解一元非线性方程和多元...

  • Machine_learning(持续补充......)

    1.线性回归 涉及到了批量梯度下降算法和正规方程求解

  • SVM

    二分类 学习策略:间隔最大化-->求解凸二次规划 分类 线性可分-->硬间隔支持向量机 近似线性可分-->软间隔支...

  • 第一章、绪论

    1.算法是求解问题的有限步骤。2.逻辑上把数据结构分为线性结构和非线性结构

  • 机器学习--逻辑回归原理

    补充 : 梯度下降梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型...

  • 用人话讲明白梯度下降Gradient Descent(以求解多元

    文章目录1.梯度2.多元线性回归参数求解3.梯度下降4.梯度下降法求解多元线性回归 梯度下降算法在机器学习中出现频...

  • [图解机器学习] 预备知识

    微积分 (求导,极限,极值) 线性代数(矩阵表示、矩阵运算、特征根、特征向量) 算法精确算法、近似算法、启发式算...

  • Python3入门机器学习 - 梯度下降法

    梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化...

  • 迭代思想

    求解一元高次方程的时候 ,用迭代法近似求解这类问题,梯度法,最小二乘法,牛顿迭代法。迭代法 用于 线性非线形方程组...

网友评论

      本文标题:Point-to-Plane ICP算法的线性近似求解

      本文链接:https://www.haomeiwen.com/subject/oetpnttx.html