他搞了十几年伺服控制,自认为在国内算得上顶尖水平,可肖宿刚才说的话里,他能完全听懂的不到一半。
沈凌比徐洋好不到哪去。
他是做图像重建的,控制理论不是他的本行,但他已经敏锐地意识到了一个问题,那就是肖宿刚才解决伺服延迟的方法,和他接下来要问的成像畸变问题,在数学结构上似乎是相通的。
“肖教授,”沈凌深吸一口气,往前迈了一步,“成像这边的问题,您刚才也听到了。
我们的多视图几何重建在动态场景下会出现帧间畸变,我用梯度下降和卡尔曼滤波都试过了,效果还是不太理想。”
“因为你的问题不在滤波。”肖宿转身面对他,“你把你们的投影矩阵写给我看看。”
沈凌立刻拉过一台笔记本电脑,调出他们当前使用的三维重建算法的核心代码,把投影矩阵的定义部分展示在屏幕上。
肖宿只是上下扫了一遍就知道他们问题在哪儿了。
他直接指着屏幕上的一个矩阵说道:
“世界坐标系到相机坐标系的变换用的是欧拉角表示旋转矩阵,然后用对极几何约束求本质矩阵,再用svd分解做运动恢复。”
“问题就出在这一步,在高速动态场景下,相邻帧之间的旋转不是在欧几里得空间里发生的,而是在一个弯曲的流形上。
你的svd分解把非线性约束强制投影到了线性空间里,相当于把球面坐标硬塞进直角坐标系,畸变就是这么来的。”
沈凌的瞳孔缩了一下。
他隐隐约约感觉到问题出在几何框架上,但一直没能准确定位到,想不到肖宿一下子就看出来了。
“正确的做法应该是放弃欧拉角,改用四元数表示旋转,并且在单位四元数构成的s^3球面上直接做优化。”
肖宿再次拿起白板笔,在图纸的另一块空白区域写了起来。
“首先,设第k帧到第k+1帧的旋转四元数为q_k,那么帧间运动导致的深度估计误差肯定满足一个辛结构保持的hamilton系统。
_c