特征因子:多帧和时间连续点云对齐的平面估计
Ferrer G. Eigen-Factors: Plane Estimation for Multi-Frame and Time-Continuous Point Cloud Alignment[C]. IROS 2019
俄罗斯斯科尔科沃科技学院,三星   代码开源演示视频

Eigen-Factors: Plane Estimation for Multi-Frame and Time-Continuous Point Cloud Alignment

【C】 穷理以致知,一文而四问

  • 1. 针对什么问题?
    • 如何解决多帧、连续时间上的点云对齐问题,同时保持合理的计算量。
  • 2. 采用什么方法?
    • 提出特征因子方法,不需要平面的明确参数化,只需要点云和传感器姿态,在这方面,EFs 表现为平面的非参数地标;
    • EFs 重新制定平面估计值,减少拟合平面中的误差,并对相应的相对传感器位姿的特征值进行优化,提高了轨迹精度;
    • 使用 SE(3)和李代数对 EFs 的梯度进行闭式推导;
    • 使用流形中的插值对 EFs 进行时间连续推导。
  • 3. 达到什么效果?
    • 在误差和时间上都优于 ICP 点-点和 ICP 点-面的方法;
    • EFs 优化的复杂性与点云数无关,但取决于平面和姿势的数目
  • 4. 存在什么不足?
    • 虽然不受限于点云数量,但是计算的时间与位姿的数量成正比
    • 简介中提到需要平面语义分割预处理

0. 摘要

  • 在本文中,我们介绍了 特征因子 Eigen-Factor(EF)方法,该方法可从一组点云估计平面,这些点是从不同的姿态(即传感器描述的不同轨迹)下观测到的;
  • 我们建议使用多个 Eigen-Factor(EFs)或不同平面的估计,以解决一系列观察到的点云在多帧上对齐的问题;
  • 此外,EF 优化的复杂性与点云数无关,但取决于平面和姿势的数目,为此,通过对姿势的最小特征值求微分来得出梯度的封闭形式,因此得名特征因子;
  • 另外,提出了 EFs 的时间连续轨迹版本,EFs 方法在模拟环境中进行了评估,并与 ICP 的两个变体进行了比较,表明可以对所有点误差进行优化,从而提高了准确性和计算时间

1. 简介

  • 针对的问题:机器人能够在移动时收集信息,这使机器人技术与其他相关领域脱颖而出,在本文中,我们提出了一种新的特征因子(EFs),用于计算一系列观测值或点云(PCs)的对齐方式,其复杂性与点云数无关
    • 我们将我们提出的方法称为特征因子(EFs),因为需要多个平面来计算一个适当的对齐问题
  • 问题描述:对齐问题通常是在一对姿态之间提出的,大部分贡献来自图形界[1]–[7];
    • 所有这些方法和变体广泛用于 3D 对齐的多个机器人应用程序中,但它们的初始设计条件略有不同,例如感应误差,点的密度或离散度。
  • 当前不足:深度传感器的进展是惊人的,然而,它们仍然不能免受限制;
    • 当前的激光雷达呈现出非均匀的光束模式,这增加了光子晶体上的色散。激光雷达上的点密度随着距离的减小而减小,导致区域采样点较少;
    • 另一方面,RGBD 相机输出稠密的低精度信息
    • 通过移动传感器可以减轻这些限制,从而从不同的角度对相同的表面进行更丰富的采样
  • 本文方法的优化:当前的挑战是如何处理所有这些观测数据,同时保持计算量负担得起
    • 我们的方法能够聚合所有信息,同时大大降低复杂性
    • 为了实现这一目标,EFs 需要一个预处理步骤来进行平面语义分割,这在室内、城市和半城市环境中都很常见;
    • 不足为奇的是,平面已经被用于机器人领域的多项工作 [8]-[12];
    • EFs 不需要平面的明确参数化,只需要点云和传感器姿态,在这方面,EFs 表现为平面的非参数地标。
  • 本文方法的思想:EFs 背后的主要思想重新制定平面估计值,以减少拟合平面中的误差,并对相应的相对传感器位姿的特征值进行优化,以提高轨迹精度;
    • 此外,EFs 能够存储属于同一平面的点云的紧凑表示并进行处理,而不会丢失任何信息。
  • 主要贡献:
    • ① EFs 是多帧点云对齐的平面估计的一个重新公式化,EFs 的复杂性与点数无关;
    • ② 使用 SE(3)和李代数对 EFs 的梯度进行闭式推导
    • ③ 使用流形中的插值对 EFs 进行时间连续推导
    • ④ 此外公式能很容易地转换到 2D 领域,这是特征因子用于估计直线而不是平面,从而优化 2D 机器人的轨迹。

2. 相关研究

  • 迭代最近点(ICP)[1],是有关点云对准或配准的最具影响力的论文之一;
    • ICP 在两对点云或其他表面表示上找到欧几里得距离中最接近的点,这项工作为最先进的方法奠定了基础,这些方法由于其简单性和性能而正在使用类似的方法。
  • 点云对齐也可以使用直接方法计算,例如使用四元数的方法 [2,3] 和使用 SVD 分解 [4], [5]引入了一种点-面的 ICP 方法,该方法改进了点-点的 ICP 方法,而 [6] 针对曲线和曲面上的工作,文献 [7] 研究了点关联的多种变化。
  • 大多数技术都是针对稠密点云的,在稠密点云上,采样点上的密度和离散度与点云的所有区域相似,另外还有许多点用于曲面估计
    • 这些不同的关联技术对于算法的正确收敛是必不可少的,没有一个算法能够收敛到一个数据差的解,因此 EFs使用所有可用的数据
  • 机器人学界也对扫描匹配感兴趣,它显示了大量的收敛区域,正如 [13] 所做的工作,尽管同样的技术不容易转化为 3d 技术。
  • 文献 [9] 引入广义 ICP(gicp),它有效地寻求点对之间的平面到平面关系,这是通过提出虚拟协方差来模拟平面来实现的,通过这样做,可以增加关联距离,寻找比 icp 更进一步的对应密度
    • 文献 [10] 提出了 gicp 的一个变体,该变体还考虑了法线对齐(nicp)
    • 这些 ICP 变体在开发局部几何结构方面向前迈进了一步,然而,这些方法需要处理所有的点
  • 其他 3D 对齐方法将概率点关联视为 ICP 的改进输入,例如 [14,15],在频谱的另一端是 3d 描述符 [16,17],但它们不是像图像那样的默认方法。
  • SLAM 领域中还建议使用平面特征 [8],[12],[20],[21] 或点-平面的混合[11],这些方法中的大多数在平面数不足时会受到影响,因此,有基于平面的 V-I SLAM [22],[23]。

3. 背景

3.1 平面估计

  • 通常平面可以用法向量 η平面到远点的距离 d 来确定,记做: π=[η,d] ,总共四个变量和一个约束,一个点 p=[x,y,z] 如果满足以下约束说明点属于平面 π(不管这个点是笛卡尔坐标系表示的 p 还是其次坐标表示的 p~ηp+d=0 or π[p1]=πp~=0(1)
  • 我们最关心的是三维平面,但是给定从一个平面采样的一组包含 N 个点云P={pn},有多种方法可以估计它;
    • 最流行的平面估计方法(我们称之为居中方法)使用中心点集,根据公式(1)这些点的期望值为: E{ηp+d}=0E{ηp}=d
  • 点云平面估计方法一:因此可以得到优化的目标函数
    • 其中 CR3×3 类似于中心点内积或协方差
    • 公式(2)的通解对应于 C 的最小特征值相关的特征向量
    • 对于对称和半正定矩阵,特征分解与奇异值分解(SVD)一致,通过构造 C;
    • 在第二步中将参数 d 表示为 d=ηE{p}
  • 缺点是,每次添加或修改新样本时,例如由于姿势更新(见下文),C 也会随着改变,并且需要再次执行所有计算
  • 点云平面估计方法二:有一种替代方法,即齐次法,允许计算平面参数,而无需将数据点居中
    • 利用 4 * 4 矩阵 S 的 SVD 分解再次计算公式(3);
    • 如果我们要寻找公式(1)中定义的平面,则有必要对该解进行缩放,以使 η 的前三个元素是统一的。
    • 这种方法最大的优点是 S 允许增量更新。
  • 点云平面估计方法三:从一组点估计一个平面有第三种方法,它基于正交原理,如公式(4):
    • 文献 [24] 关于这种方法和其他平面估计方法的性能做了报告; ηE{(pnpn)×(pnpn)}(4)
  • 二维空间中的直线相当于三维空间中的平面,直线的齐次方程表示为公式(5);
    • 从这里我们可以得到二维特征因子的类似推导[mx,my,d][x,y,1]=0(5)

3.2 刚体变换及其李代数

  (这部分暂略)


4. 具体实现

4.1 问题公式化

  • 给定一组在时间间隔 t[1,H] 内的观测值或点云 Pt={ptn},问题在于估计从这些观测值得到的 3D 姿态 ξtSE(3) 的轨迹,这样,轨迹可以将某些目标最小化
    • 问题可以表述为下面的公式(9);
    • 其中 ξ=[ξ1,,ξH] 表示包含轨迹中所有姿态的列向量;
    • 在以下各节中,我们将定义目标 J 是什么以及如何最小化此表达式。 minξJ(ξ1,,ξH)(9)

4.2 特征因子

  • 单特征因子是平面的最优估计,给定一组从不同姿态 ξt 观测到的点 Pt,从单特征因子或平面估计来看,对齐问题是不适定的;
    • 另一方面,如果满足某些条件,多重特征因子(EFs)会导致一个适定问题
    • 在这一节中,我们将推导单 EF 的解,考虑到对齐问题需要多个 EF,因此我们将我们的方法命名为 Eigen-Factors (EFs)。
  • 根据公式(3)中的齐次方法,可以推导出一个考虑每个点和平面误差的表达式
    • 现在,这些齐次的点都是从不同的参考系中观察到的,这样得到: minπn=1NπTtp~tn2(10)
    • 其中 Tt 与某个时刻的位姿 ξt 相关;
    • 该公式等价于公式(3),其中某个时刻 t 的点云 {p~tn}=P~tTt 变换,因此可以将此求和重写为 P~t 的矩阵乘积(公式 11):
    • 奇异值分解 SVD 法求解这一问题的方法是将参数从一个局部坐标系粗略地旋转到另一个坐标系的平面上
    • 注意, Qt 只需要计算一次从所有原始齐次点获得的平方项 St,然后更新矩阵 Qt 只需要两个乘法;
    • 不需要存储所有点,只需要存储矩阵 St,因此,复杂性不再取决于点 N 的数量,而是取决于平面和姿势的数量,点 Nt的数目可以随 t 而变化,并且不存在信息丢失。
  • 对于多个姿态总误差为: minπt=1Hn=1N(t)πTtp~tn2(12)
    • 也可以写成: minπt=1HπTtStTtπ(13)
  • 由于平面向量 π 与时间 t 无关,因此可以将其移出总和, Q=Qt 为平面估计提供了解决方案,具体的矩阵 Q 为: Q=t=1HQt=S1+1T2S21T2++1THSH1TH(14)
    • 其中我们在初始姿态下选择了一个固定的参考系T1=I ,所有其余的变换都相对于第一帧。
  • 对于平面估计的居中方法公式(2)获得的等效推导需要在每次更改/更新 Tt之后重新计算平均值,这使得经典平面估计的效率大大降低。
  • 此外如果需要惩罚点,我们可以构造一个加权平方矩阵S=P~WP~
    • 在本项工作中我们认为所有点都是等价的,他们是同一传感器的输出,因此我们将 W 设置为标准恒定式 1σz2I,其中 σz 是传感器深度的标准差。
  • 平面估计相应的误差为: minπ(πQπ)=λmin(Q)(15)
    • 这等价于 Q 的最小特征值,注意 Q 取决于轨迹 ξ ,因此可以定义代价函数J(ξ)=πQπ ,关注下面的公式: {ξ1,ξ2,,ξH}=argminJ(ξ)(16)
    • 该公式不包括待估计的状态变量的平面参数;
    • 平面只是连接轨迹中所有姿态观察到相同几何实体(采样点)的一种手段,作为评估当前轨迹的隐式结果,我们获得了平面参数,这些参数根本不需要作为状态变量,因此 EF 是非参数路标。这是 EFs 方法的另一个优点,不需要存储点云和平面参数。
  • λmin(Q) 的另一个重要特性是,它恰好说明了与平面拟合的每个点的平方误差的总和 λmin(Q)=en2 ,其中 en=πp~n,这个误差遵循卡方分布

4.3 时间序列上的梯度

  • 在定义完 EF 之后,再计算其梯度以优化轨迹,根据定义,特征分解表示为:Qπ=λπ,参数向量 π 是一个单位向量,满足 π2=ππ=1
  • 假设存在小扰动 Q=Qo+dQ,λ=λo+dλ,π=πo+dπ ,则特征向量定义为: Qdπ+dQπ=λdπ+dλπ(17) s.t. πdπ=0(18)
  • 考虑到 Q 构造的是一个对称矩阵,所以有: Q=QπQ=λπ(19)
  • 可以将表达式(17)乘以 π,然后替换(19)并进行一些操作:
  • 这个紧凑的结果通过 λ=λo+πdQπ 表达对代价函数的小扰动,我们可以通过流型 ξtR6 来微分这种小扰动 λξt=ξt(λo+πdQπ)=πQξtπ(21)
    • 表达式 Qξt 是 4×4 矩阵的偏导数,得出张量 4×4×6,利用李代数极大地简化了闭式导数的计算。
  • 矩阵 Qt 是 Q 的每个组成部分,如公式(14)所定义,此外,它通过构造是对称的,因此 Qt列向量可以写成: Qt=[q1,q2,q3,q4]=[q1q2q3q4]4×4(22)
  • 根据公式(14)和对当前变换 1Tt=Exp(ξt) 的无穷小更新 Δξt 得到
    • 其中 K 与 Δξt 无关;
    • 然后根据左乘原则来拓展和更新公式(8)。
  • 现在需要导出每个分量的生成矩阵(公式 7),再将其乘以(23),为简便起见,省去了时间索引(即公式 22 中的)
    • 下式中每一列 AtL(i) 都是一个 4 * 4 的矩阵,其中索引 i = 1,2,……,6 代表流行中姿态的每个变量。 AtL=[0q3q2q400q30q10q40q2q1000q4000000]4×4×6(24)
  • 再次利用矩阵 Qt 的对称性,重写表达式(23):
  • 最后整体的梯度定义为公式(26)
    • 这是一个列向量,由关于 Δξt 的每个梯度组成。

4.4 基于梯度的优化

  • 一旦在姿态序列上 ξ=[ξ1,ξ2,,ξH] 获得了梯度 λΔξ根据平面估计的极小化,选择一种优化方法来计算最优轨迹
    • 对于这项任务,我们选择了一种简化方法,而不是使用 NAG 方法[29][30];
    • 虽然原始 NAG 是针对凸函数的,其主要贡献在于实现超线性收敛,但对于这个问题,我们不能假设凸性和 Lipschisz 连续性等强条件。
  • 文献 [30] 将 NAG 方法描述为基于动量梯度的优化,我们考虑流形中姿势的特殊更新
    • 其中 k 表示优化序列上的迭代索引;
    • 在大量使用符号情况下,操作符 更新所有的姿态(如公式 8);
    • 要求速度项 vk 在公式(28)之前计算。

4.5 时间连续轨迹作为 SE(3) 上的插值

  • 我们将连续时间轨迹定义为在流行上的直接插值
    • 一般情况下任一对姿态 To,TfSE(3) 的 RBT 插值 T(τ):[0,1]SE(3) 可以表达为: T(τ)=Exp(τLn(TfTo1))To(29)
  • 如果将初始帧的变换设置为单位矩阵,则公式(29)变为 T(τ)=Exp(τLn(Tf))(30)
  • 相对于唯一要优化的姿态 ξf=Ln(Tf) 我们推导了插值过程对应的梯度,使用先前在公式(26)中的梯度和链式规则表示时间 t 处的姿态与最终姿态 ξf 之间的梯度
    • 其中 τ(t) 是从 τ(1)=0τ(H)=1 的值的序列。 λΔξf=t=1HπQΔξtΔξtΔξfπ=t=1Hτ(t)πQΔξtπ(31)

5. 评估

  • 评估环境生成一个随机轨迹,并模拟对应于不同平面的合成数据
    • 平面上的点在 XY 平面上采样,并根据随机变换进行变换,轨迹由流形中的采样生成;
    • 与姿态 ξ=[w,v] 相对应的采样值从均匀分布 wU(π,π)vU(4,4) 中获取;
    • 图 2 显示了此类轨迹之一的示例。
  • 虽然我们给出了姿态序列的推导,但结果表明,它们与观测值过拟合,从而增加了轨迹上的不连续性
    • 这是预期的结果,因为我们没有以其他因素或任何其他正则化形式提供额外的约束;
    • 尽管如此,EFs 依然能够以移动轨迹为代价来计算非常平滑的平面,因此,我们仅评估了 EFs 的连续时间插值版本。
  • 第二个考虑因素是初始化。EF 对初始化敏感,因此我们提供了一个粗略的初始对齐方式,该对齐方式是在姿势对之间进行计算的,主要是从原点到后续姿势;
    • 结果如图 2 所示,但是,它仍然是一个粗糙的初始化,变换或姿势之间的距离定义为流形 d(Ti,Tj)=Ln(TiTj1)2 中组件的欧式距离
  • 首先我们选择用于优化的超参数 α=0.2NallH and β=0.7,其中点数记做 Nall
    • 成本函数考虑所有观察到的点,所以对 Nall 进行梯度归一化是很自然的,这是通过运行一些实验并遍历参数来实现的;
    • 对于 β=0 表现为没有动量的梯度下降;
    • 平面的数量范围为 [3, 8],观测点的数量为 [400, 6400],姿态的数量范围为 [2, 40];
    • 平面上的每个点都是根据 deN(0,0.012) 来采样的。
  • 一旦获得了可能的最佳参数集,我们就将 NAG 与 Gradient Descent(GD)进行了比较,总共进行了 20k 次仿真;
    • 图 3 左图显示了相对于姿态数的迭代次数,右图显示了使用先前距离的轨迹 RMSE随着我们增加观察数量,EFs 不断改进
  • 在下一阶段的评估中,我们将 EFs 和 NAG 与上述类似设置下的 ICP 点-点和 ICP 点-面基准进行比较;
    • 这两种 ICP 算法都是在 open3d 库 [31] 上实现的,并且看起来效率很高,两种 ICP 都在校准初始点和最终点,丢弃所有其他观测信息;
    • 我们对 3 种方法使用了相同的初始化;
    • 图 4 描绘了支持 EFs 的主要结果,对于非常短的轨迹(2 - 4 个姿态),ICP-plane 的表现优于 EFs,对于更大的轨迹,从而评估更多的点云,EFs的误差减小
    • 图 4 中显示了最后的位姿误差,特征因子通过在轨迹上增加姿态来提高其准确性,ICP-plane(红色)可以达到很高的精度并且优化 EFs,但它只考虑一对姿态,具有隐式误差,在初始条件下,ICP-point(绿色)的性能较差。
  • EFs 的执行时间如图 5 所示,它指出 EFs 比 ICP 或基于计算点误差的任何其他方法更有效,ICP 使用多个内核,而 EFs 是单线程进程,但 EFs 仍胜过它们。

6. 总结

  • 我们提出了特征因子,这是一种在多帧和时间连续轨迹上进行点云对齐的新方法;
    • EFs 通过估计平面的拟合度来优化轨迹,并在每次迭代时计算不同姿势之间的误对齐
    • 我们的公式考虑了所有点,但不需要保留它们,甚至不需要重新计算点误差,因为这些误差保持为 4 * 4 的 St 的矩阵;
    • 我们还推导了流形特征值梯度的封闭形式,这是操纵刚体变换的一种非常有效的方法。
  • 据我们所知,这是通过最小化平面上的特征值来优化轨迹的首次尝试;
    • 连续的插值轨迹上,我们已经在模拟环境中证明了 EFs 可以减少平面和轨迹的误差,尽管对于多帧来说,它可能过度拟合,解决这个问题需要更多的限制。
  • 在这项工作中,我们在固定的时间窗口上优化上使用 EFs 进行点云对齐,但是确实存在与其他 SLAM 应用程序的直接链接,我们打算在不久的将来进行探索。

【R】参考文献


【Q】问题

  • 1. 公式(17)(19) ?
  • 2. 需要提前进行语义平面分割?需要已知点云时属于平面的?

【T】思考


wuyanminmax@gmail.com
2019.09.09