KinectFusion: Real-Time Dense Surface Mapping and Tracking

1)
3.1
u以像素单位, u[0,640]×[0,480]

2)
3.2 注意这里 Rk(u) Dk(u) 的单位, Kinnect采回来的数据是以millimeter (mm), 在论文中没有考虑单位问题, 实际编程的时候,是要考虑的, kinnect采集的时候存成的是mm,
http://wiki.ros.org/depth_image_proc

然后我们算vertex map 和 normal map的时候用meter为单位

所以 Rk(u) Dk(u) 用mm为单位, Vk(u) Nk(u) 用m为单位

所以公式(3)在我们这里为

Vk(u)=K1u˙Dk(u)1000

3)

3.3 tg,k 为第k帧相机的位置
1/λ converts the ray distance to p to a depth
λ=K1x˙
这里 x˙ 以像素为单位

k=fx000fy0cxcy1

k1=1/fx0001/fy0cx/fxcy/fy1

公式(8)
π(KT1g,kp)=π(Kpk)=π(u˙D(u)/1000)=u
注意u是以pixel为单位

4) T̃ zk1,k 其中z为pyramid level,从第 k 帧的camera view转到第 k1 帧的camera view

5) ũ =π(KT̃ k1,kV˙k(u)) , 这个是从第k帧的image space 转到第k-1帧的image space

6) Ṽ gk(u)=T̃ z1g,kV˙k(u)
这里 Ṽ gk(u) z1 层的全局坐标

公式(20)求第 z 层的全局坐标

1αγα1βγβ1txtytzxyz1=0zyz0xyxz100010001βγαtxtytz

注意这里求相机的pose, 不是用的ICP的最近点, 而是将当前的帧的image空间转到前一帧的Image空间然后转到前一帧camera空间, 然后找到当前帧的camera空间中的点(位置,法向量)与前一帧空间中的一点(位置,法向量),通过公式(24)来求该点的变换。

相关文章
相关标签/搜索