如何利用跨视角运动目标轨迹求解两台相机的相对位置与朝向?
非同步固定相机相对位姿求解方案
针对你描述的场景,可选择的成熟算法路径如下:
分步求解方案
- 时序对齐处理
由于两台相机时间戳不同步,先提取两条轨迹的运动特征关键点(速度峰值、轨迹拐点、加速度突变点等与时序无关的特征)完成粗匹配,再使用*动态时间规整(DTW)*算法完成两条轨迹的精细时序对齐,得到两组轨迹点的一一对应关系,消除时间偏移影响。 - 相对位姿求解
若手头轨迹为相机成像平面的2D像素坐标:先完成两台相机的内参标定,用匹配好的多组对应点对,通过5点法/8点法求解本质矩阵,分解本质矩阵即可得到两台相机之间的旋转、平移参数,即所需的相对朝向和位置。
若手头轨迹为单相机坐标系下的3D坐标:直接使用ICP(迭代最近点)算法,输入匹配好的两组3D点集,即可求解得到两个坐标系之间的变换矩阵。
端到端联合优化方案
如果不想分步骤处理时间对齐和位姿求解,可以直接选用非同步手眼标定类算法:
这类算法会把两台相机的时间偏移量作为优化变量,和相机相对外参一起加入损失函数,以两条轨迹的对齐误差、重投影误差为优化目标,通过LM(列文伯格-马夸尔特)等非线性优化器直接求解得到最优的外参和时间偏移值,鲁棒性比分步方案更高,适合运动特征不明显、时序对齐容易出错的场景。
注意事项
如果使用单目得到的3D轨迹,需要提前解决两个轨迹的尺度一致性问题,可通过共视的已知尺寸参照物或者静态路标点完成尺度对齐,否则求解得到的平移参数会存在尺度偏差。
内容的提问来源于stack exchange,提问作者任浩杰
相关产品推荐
相关产品推荐

