SLAM笔记(二)透视投影

来源:互联网 发布:js 数组存在元素 编辑:程序博客网 时间:2024/05/24 05:24

1.内参数矩阵

相机坐标系:以光心为原点,以正对物体的方向为z轴正方向的左手坐标系。在双目中一般以做摄像头光心为原点。
世界坐标系:以世界某一点为原点的左手坐标系
图像坐标系(像(平)面坐标系):成像平面上以像面中心O1为原点的二维坐标系。为了方便理解和计算,一般所说的像面放在凸透镜光心与物体之间的焦距处,而非实际的像面上(一般在凸透镜后);像面坐标系即以左上角为左下角为原点的二维坐标系;单位为公制单位。
像素坐标系:和像面坐标系的差别是原点O0一般在左上角,单位为像素。
像素坐标系和图像坐标系对比

将世界坐标系的一点P[X,Y,Z],转换到像 二维坐标系中对应的一点p[x’,y’](单位为像素):
这里写图片描述(1-1)
式(1-1)从右往左看:
1)左乘Π将齐次坐标转换成一般坐标表示;
2)再左乘Kf将世界坐标转换成像面坐标(单位为公制长度单位);f表示焦距;
3)继续左乘KS,得到以像素为单位的像素坐标。其中:Sx,Sy分别表示横纵坐标中1cm(或1m)所含的像素数量;ox,oy分别表示图像的光心坐标(像素为单位); SθS_{\theta}0
4)λ:式(1-1)算出λ=Z,所以一般在左右两边同时除以纵坐标Z,即可得到最终的像素坐标。

常称为M=KsKf为相机内参数矩阵
这里写图片描述
KsKfΠ为一般投影矩阵π
另有球面投影πs:
λ(x,y)T=ΠKsKf(X,Y,Z,1)T;
与一般投影的区别在于此处λ=sqrt(X2+Y2+Z2)

2.畸变

理论上的透镜没有畸变,但实际制造中,透镜不能制造成理想透镜(径向畸变),和不能使透镜和成像仪保持平行(切向畸变)。
径向畸变意味着实际镜头越往边缘畸变越大,在成像边缘发生显著畸变。其纠正公式为:
这里写图片描述
x,y是纠正后的
切向畸变公式为:

{x=xd+[2p1y+p2(r2+2x2)]y=yd+[p1(r2+2y2)+2p2x]

所以一般畸变参数有4个(径向畸变还可往高阶,参数更多),实际中一般不考虑切向畸变
preimage:像平面上一条直线L的preimage指的是过光心与直线L的平面,一个点P的preimage指的是过光心与点P的直线。所以preimage是可能会投影到该点或该直线的所有空间三维点的集合,它构成了一个二维的空间。
coimage指的是与preimage正交的点的集合。直观上是:与直线的preimage(一个平面)垂直的直线是coimage;与点的preimage(一条直线)垂直的平面是coimage。

总结:

1.相机外参数矩阵。告诉你现实世界点(世界坐标)是怎样经过旋转和平移,然后落到另一个现实世界点(摄像机坐标)上。

2.相机内参数矩阵。内参数矩阵M:将空间三维点投影到像平面上的二维点(注意顺序关系)的矩阵。

3.畸变矩阵。告诉你为什么上面那个像素点并没有落在理论计算该落在的位置上,还tm产生了一定的偏移和变形;
4.单应性矩阵H:一个平面上的点到另一个平面上的点的投影映射矩阵。多视场中会用到。
5.本征矩阵E:(以双目视觉为例)将真实世界中的点P在左摄像机观测到的(左摄像机坐标系的)三维坐标Pl与右摄像机观测到的点P的(右摄像机坐标系中的)三维坐标Pl关联起来的矩阵。
6.基础矩阵F:(以双目视觉为例)将点P投影到左摄像机图像坐标系中的二维坐标和右摄像机图像坐标系中的二维坐标点关联起来的矩阵。

0 0
原创粉丝点击