针孔相机模型

《视觉SLAM十四讲》学习笔记-摄像机成像公式

设P点坐标为[X,Y,Z], P坐标为[X,Y,Z], 根据三角形等比关系有

Zf=XX=YY

《视觉SLAM十四讲》学习笔记-摄像机成像公式

在对称的成像平面上为:

Zf=XX=YY

所以得到:X=fXZ and Y=fYZ.

摄像机内外参数矩阵

内参数矩阵

设像素平面P的坐标为[u,v]. 注意到摄像机的坐标系为Oxyz, 像素坐标定义为ouv, 其中ux平行,vy平行.像素平面与成像平面相差一个缩放因子和平移因子:uv轴上缩放α倍和放β倍, 平移量为[cx,cy]. 则:

{u=αX+cxv=βY+cy

代入上式合并fx=αffy=βf:

{u=fxXZ+cxv=fyYZ+cy

展开成矩阵形式:

[uv1]=1Z[fx0cx0fycy001][XYZ]=1ZKP

整理可得:

Z[uv1]=[fx0cx0fycy001][XYZ]=KP

这里 K 称为摄像机的内参数矩阵.

外参数矩阵

下面推导外参数矩阵。P点的坐标是由世界坐标Pw根据当前位姿变换到相机坐标下的结果,位姿由旋转矩阵R和平移量t来描述:

ZPuv=Z[uv1]=K(RPw+t)=KTPw

相机的位姿R,t 称为相机的外参数.

畸变

径向畸变

径向畸变:由透镜形状引起的畸变称之为径向畸变。主要包括,桶形畸变和枕形畸变。
[x,y]是未纠正的点坐标, [xcorrected,ycorrected]是纠正后的点坐标,皆为归一化平面上的点。校正公式为

{xcorrected=x(1+k1r2+k2r4+k3r6)ycorrected=y(1+k1r2+k2r4+k3r6)

切向畸变

切向畸变:在相机的组装过程中由于不能使得透镜和成像面严格平行也会引入切向畸变。
可用两个参数p1,p2来校正:

{xcorrected=x+2p1xy+p2(r2+2x2)ycorrected=y+2p2xy+p1(r2+2y2)

所以,对于相机坐标系的点P(X,Y,Z), 可通过五个畸变系数找到其正确位置。
1) 首先将空间点投影到归一化平面上,归一化坐标为[x,y];
2) 归一化的点进行径向畸变和切向畸变:

{xcorrected=x(1+k1r2+k2r4+k3r6)+2p1xy+p2(r2+2x2)ycorrected=y(1+k1r2+k2r4+k3r6)+2p2xy+p1(r2+2y2)

3) 将纠正后的点通过内参数投影到像素平面,得到点的正确坐标:
{u=fxxcorrected+cxv=fyycorrected+cy

注意这里一共有四种坐标:世界坐标OXYZ相机坐标Oxyz归一化相机坐标Oxyz(z=1), 和图像像素坐标Ouv.

《视觉SLAM十四讲》学习笔记-摄像机成像公式

双目相机模型

空间点P在左眼和右眼的点为PLandPR, 理想情况下只在u-轴上有位移,左侧位置记为uL, 右侧位置uR.根据三角形相似关系有:

zfz=buL+uRb

整理得:
z=fbd, d=uLuR

其中,d表示视差(disparity), d很难计算。

《视觉SLAM十四讲》学习笔记-摄像机成像公式

RGB-D模型

1) 红外结构光(structed light):发射一束光线,根据返回的结构光图案计算距离。
2) Time-of-flight, ToF: 发射脉冲,根据发送到返回之间的光束飞行时间确定自身距离。
弊端:易受日光或其他发射红外光装置的干扰,不能在室外和多个装置一起工作。不能测量透射材质的物体。

相关文章: