文章Coarse Alignment for Model Fitting of Point Clouds Using a Curvature-Based Descriptor解读三共形几何基础

接上上一节粗配准文章Coarse Alignment for Model Fitting of Point Clouds Using a Curvature-Based Descriptor解读二粗配准,下面看预处理小节

假设点云X = {xi},i = 1, . . . , nx,xi ∈ R3,点云Y  = {yj},j = 1, . . . , ny,yi ∈ R3,其中模型的点云从CAD模型计算得到。这时,三维配准问题转化成最小化误差问题:公式如图所示:

rotate+位移进行配准

至于yj,R,t则是模型点云对应的点云x。在ICP算法中,模型点云y对应的点云x利用如下算法得到:

此解决方案通过迭代找到,每一步的correspondence 利用(2)式子的最小化得到。当前位姿估计,接着位姿R,t由最小化(1)式最小化得到。这种小化要求姿势和对应关系的初始假设足够接近佳解决方案。

可以使用局部方法对模型中的点和观察点使用描述符进行初始对齐,然后基于这两个点云的描述进行初始位姿匹配。可以对点云中所有的点进行这样的描述,例如文献28中所述,【Fast point feature histograms
(FPFH) for 3D registration】快速直方图方法,或者设置限制条件选择关键点

B。共形几何代数

本文将利用【11】Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry
【16】Foundations of Geometric Algebra Computing (Geometry and Computing)中提到的的共形几何代数方法。因为这种公式非常适合计算点,面,球,将用于描述点云并根据这些描述符进行优化。共形几何代数是对欧式空间R3进行了拓展。“共形几何代数设计知识面比较广,需要补充知识储备,后续详细更新”

共形几何是由正交单位向量表示的基向量将欧拉的3维拓展到5维数据,形式如下:

其中ei*ej=δij ,其中i,j属于数据集{1,2,3},δij是克罗内克δ函数的、e0*e0=e∞*e∞=0,并且e0*e∞=-1

克罗内克函数的自变量(输入值)一般是两个整数,如果两者相等,则其输出值为1,否则为0,(感觉跟文章里面提到的相反)。

假设欧拉空间的点:

可以表示成列向量:

这个点可以被五维的共形几何点:

代替,表示为

其中点p有如下性质:

这里是共形几何的点与欧式空间点的相互转换

共形几何的点也可以写成列向量形式:

文章Coarse Alignment for Model Fitting of Point Clouds Using a Curvature-Based Descriptor解读三共形几何基础_第1张图片

共形几何里面的平面可以表示为以下形式:

其中n是平面的单位法线,δ是原点到平面的距离。在教材《Geometric Algebra for ComputerScience: An Object-Oriented Approach to Geometry》(文中11跟16都是英文教材,很贵)中被称为双曲面。平面Π的列向量表达式为:

文章Coarse Alignment for Model Fitting of Point Clouds Using a Curvature-Based Descriptor解读三共形几何基础_第2张图片

球被定义为:

其中Pc是圆心,r是半径

球面的列向量表达式为:

文章Coarse Alignment for Model Fitting of Point Clouds Using a Curvature-Based Descriptor解读三共形几何基础_第3张图片

给定半径r,可以得到球面:

文章Coarse Alignment for Model Fitting of Point Clouds Using a Curvature-Based Descriptor解读三共形几何基础_第4张图片

球面的球心到一点p的距离可以由下式计算:

文章Coarse Alignment for Model Fitting of Point Clouds Using a Curvature-Based Descriptor解读三共形几何基础_第5张图片

以上就是共形几何的内容,式子2~10均是教材中的内容,需要阅读教材加深理解

你可能感兴趣的:(point,cloud,点云配准)