第280章 我已经给你们算好了(2 / 2)

投票推荐 加入书签 留言反馈

  你的svd分解把非线性约束强制投影到了线性空间里,相当於把球面坐標硬塞进直角坐標系,畸变就是这么来的。”
  沈凌的瞳孔缩了一下。
  他隱隱约约感觉到问题出在几何框架上,但一直没能准確定位到,想不到肖宿一下子就看出来了。
  “正確的做法应该是放弃欧拉角,改用四元数表示旋转,並且在单位四元数构成的s^3球面上直接做优化。”
  肖宿再次拿起白板笔,在图纸的另一块空白区域写了起来。
  “首先,设第k帧到第k+1帧的旋转四元数为q_k,那么帧间运动导致的深度估计误差肯定满足一个辛结构保持的hamilton系统。
  然后构造这样一个辛矩阵m,它的作用是把高维的投影误差映射到一个低维的辛商流形上,在这个商流形上,误差传播方程就会退化成一个可积系统。”
  “这个辛矩阵的定义是m = j·?2h,其中j是標准辛形式,h是系统的hamilton函数,取为投影误差在深度方向上的二范数。
  ?2h是h的hessian矩阵,在这个特定的几何设定下,它的闭式解是?2h = (i - n·n^t)/d^2,其中,n是视线方向的单位向量,d是深度值。
  这两个一乘,m的特徵值就会全部落在单位圆上,所以数值稳定性是自然的,不需要任何额外的正则化。”
  沈凌的嘴唇微微颤抖著。
  他浑身上下都激动的泛起了鸡皮疙瘩。
  那个困扰了他一年半的帧间畸变问题,肖宿只是用一组辛矩阵轻轻描淡写地把它拆解了。
  每一步推导都写得那么简单,组合在一起,却让他有些头皮发麻。
  这种震撼不是来自结论本身有多复杂,恰恰相反。
  它太简单了。
  简单到让人觉得,在正確的视角下,这个问题本来就不应该有困难。
  “可是我还有一个问题,”沈凌强迫自己冷静下来,“辛矩阵的方案解决了旋转部分的畸变,但平移部分的漂移呢?
  我们的相机在快速大范围移动时,深度图会出现一个缓慢的累积漂移,这个漂移在用了您的辛矩阵修正旋转后还是会残留的。”
  “那个漂移不是平移带来的,而是你的深度图初始值在高速运动下没有及时收敛。”
  肖宿的回答几乎没有任何停顿,“可以用非线性互补滤波器来解决。
  在低频段,可以信任惯性测量单元的姿態数据,而高频段则可以信任视觉里程计的相对运动估计。至於交叉频率,直接设在视差数据的噪声带宽和imu漂移带宽的交点处就可以。
  传递函数就取n阶巴特沃斯(butterworth)形式,阶数n的取值,是由姿態误差的截止频率和深度估计的收敛速率共同决定的。
  我已经给你们算好了,n取3。” ↑返回顶部↑

章节目录