关于slam第五讲物平面、归一化平面、像素平面、成像平面的思考

随着理解的加深,我又更新了一下,比之前更标准一些: 

经过好几天对于slam里那好几个平面的倒来倒去,零基础的我快要疯掉了,还好我理出了些头绪,和大家一起分享。

我们从头开始一步一步理一下:

1、首先从相机坐标系开始吧,物点在相机坐标系下所在的平面叫做物平面(当然还有世界坐标系,但是那个就涉及外参了,本文暂不讨论那个);

2、物平面的点通过小孔成像后,投到成像平面(相机光心之后),虽然此时的面是真正的成像平面,但是此时得到的坐标是负的,很麻烦的;

3、为了方便计算我们把该成像平面放到相机之前,并且以后都这么算,然后把此平面叫做成像平面,注意此时推到过程是:将X和Y坐标乘以f(焦距)除以Z(z坐标),因为此过程会将3D转化成2D,所以Z肯定要被消去,这样理解可能更直观,最具说服力的还是三角形相似拉;又因为平行光成像都成在焦平面嘛,所以乘以f是理所应当的;

4、由于此时单位依旧是米,我们最终得到的可是像素坐标,单位是像素,所以还需要一个米与像素之间的缩放。公式里是α和β,当然我们还需要把整个点挪到像素原点去,像素图像的原点在左上角,图形的原点在中心,此时有一个cx,cy的平移,但是面的位置没有改变,但是性质变了,已经成为像素平面了,单位是pixel。

现在回头看,我们需要做的是:

① 把第2步省去,因为加负号不是我们想要的,所以我们的脑海里将不再有相机之后的平面了;

② 推导出归一化平面,把第3步分开,先除Z,此时物平面就转到了相机前单位距离处,这时归一化平面就有了。之后再乘以f,让归一化平面回到成像平面

③ 把乘f,米与像素的缩放(α、β),平移(cx,cy)整合成内参矩阵K。

所以最终的过程就是从物平面除以Z变成归一化平面,乘以f变成成像平面,缩放平移变成像素平面,也可以乘以内参由归一化平面变成像素平面。我们平时用归一化平面多一些,毕竟齐次嘛,可以忽略物点深度的影响。这样看来,由近及远以此是:相机平面,归一化平面(1),成像平面(f),像素平面(f)

再来一张自己做的一张图吧,可能和别的博主有相似的地方:

本文没涉及外参(也同相机位姿)只有内参

发布了9 篇原创文章 · 获赞 16 · 访问量 6629

猜你喜欢

转载自blog.csdn.net/weixin_38133509/article/details/85689838
今日推荐