接上上一节粗配准文章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有如下性质:
这里是共形几何的点与欧式空间点的相互转换
共形几何的点也可以写成列向量形式:
共形几何里面的平面可以表示为以下形式:
其中n是平面的单位法线,δ是原点到平面的距离。在教材《Geometric Algebra for ComputerScience: An Object-Oriented Approach to Geometry》(文中11跟16都是英文教材,很贵)中被称为双曲面。平面Π的列向量表达式为:
球被定义为:
其中Pc是圆心,r是半径
球面的列向量表达式为:
给定半径r,可以得到球面:
球面的球心到一点p的距离可以由下式计算:
以上就是共形几何的内容,式子2~10均是教材中的内容,需要阅读教材加深理解