当前位置: 代码迷 >> 综合 >> PTAM: Parallel Tracking and Mapping for Small AR Workspaces
  详细解决方案

PTAM: Parallel Tracking and Mapping for Small AR Workspaces

热度:41   发布时间:2024-01-16 00:19:45.0

第5部分讲tracking

给定两帧RGB, 怎么算它们之间相机的变换矩阵

这里有个前提条件, 知道 两帧中匹配上的相素对于同一世界坐标下的点 P j W P_{jW} PjW?
那么该点在当前帧中image space的坐标为
在这里插入图片描述

可以通过匹配找到该点在当前帧中image space的坐标为
在这里插入图片描述

那么目标函数则为
在这里插入图片描述
然后目标函数对未知数 μ \mu μ求导, 用gauss newton, 或者 LM即可解, 算出 μ \mu μ 即算出相机的变换

那么如何通过匹配找到
在这里插入图片描述
5.3有讲
先算A, 怎么算A?
先在source image space空间下, ( u s , v s ) (u_s,v_s) us?,vs?, 然后 向右, 向下移一个像素得到 ( u s + 1 , v s ) , ( u s , v s + 1 ) (u_s+1,v_s),(u_s, v_s+1) (us?+1,vs?),(us?,vs?+1), 然后投射回世界坐标中, 然后再然后世界 坐标中的点投射到当前相机下的image space, 即可得到A.

注意这里如何投射回世界 坐标中, 因为没有深度, 看前面假设, 我佛了
在这里插入图片描述

得到A之后, 先确定在当前金字塔的哪一层去找对应点, 即 l l l
The target pyramid level l is chosen so that det ? ( A ) / 4 l \det(A)/4^l det(A)/4l is closest to unity
然后从源空间的8x8的patch映射到该层, 映射方法
在这里插入图片描述
找后在这个区域找得分最高的点即可

第6部分是讲mapping
先stereo initialisation, 先通5个匹配点, 建立2维到3维的关系 , 具体算法见:
Recent developments on direct relative orientation,

然后后面就是通过 bundle adjustment, 不断算相机的变换 μ \mu μ, 以及对应点在3D中的位置.

  相关解决方案