第五章第一节-相机与图像-相机模型
相机将三维世界中的点投影到二维图像平面,这一过程可以由针孔模型和畸变模型共同描述,这两个模型构成了相机的内参数。
一、针孔相机模型
1、针孔相机原始模型
针孔相机模型如图所示:
相机坐标系
O
−
x
y
z
O-xyz
O−xyz:从相机后面看,相机坐标系的
z
z
z轴指向前方,
x
x
x轴指向右方,
y
y
y轴指向下方。点
O
O
O是相机的光心。
物理成像平面
O
′
−
x
′
y
′
O' - x'y'
O′−x′y′:
x
′
x'
x′轴方向与
x
x
x轴方向一致;
y
′
y'
y′轴方向与
y
y
y轴方向一致。
焦距
f
f
f:光心到物理成像平面的距离
设真实世界中点
P
P
P的坐标为
[
X
,
Y
,
Z
]
T
[X,Y,Z]^T
[X,Y,Z]T,成像平面上的点为
[
X
′
,
Y
′
,
Z
′
]
T
[X',Y',Z']^T
[X′,Y′,Z′]T,根据三角形相似原理:
Z
f
=
−
X
X
′
=
−
Y
Y
′
\frac{Z}{f} = - \frac{X}{{X'}} = - \frac{Y}{{Y'}}
fZ=−X′X=−Y′Y
其中符号表示成像平面上成的是倒像。
2、针孔相机模型的改进
实际上相机上拍出来的不是倒像,这是因为相机已经对图片进行了预处理,将其翻转成正像。对对应的,我们可以将真实成像平面上的像关于光心做对称,得到对称的成像平面。
在对称的成像平面中,由于不在是倒像,因此针孔相机模型可以去掉负号:
整理得式5-3:
这个公式描述了三维空间点
P
P
P和他的像
P
′
P'
P′的空间关系。
3、相机坐标系到像素(图像)坐标系
像素坐标系
o
′
−
u
v
o'-uv
o′−uv:(原始从图像的后面看)原点
o
′
o'
o′在图像的左上角,
u
u
u轴向右与
x
x
x轴一致,
v
v
v轴向下与
y
y
y轴一致。在电脑上看一幅图片时,其图像坐标系与上述方向是一致的,如下:
成像平面坐标系
O
′
−
x
′
y
′
O' - x'y'
O′−x′y′到像素坐标系
o
′
−
u
v
o'-uv
o′−uv的变换:相差了一个平移和一个缩放。记原点平移量为
[
c
x
,
c
y
]
T
[c_x,c_y]^T
[cx,cy]T,在
u
u
u轴上的缩放了
α
\alpha
α倍,在
v
v
v轴上缩放了
β
\beta
β倍。则成像平面坐标系
P
′
P'
P′坐标与其在像素平面坐标系坐标
[
u
,
v
]
T
[u,v]^T
[u,v]T的关系为:
习惯性将
Z
Z
Z左移,得到三维空间点
P
P
P从相机坐标系到图像坐标系的变换公式:
其中,矩阵K称为相机的内参矩阵。一般来说,相机的内参矩阵出厂后是固定的,可以由厂家给定或者自己标定。
4、世界坐标系到像素(图像)坐标系
P
=
[
X
,
Y
,
Z
]
T
P=[X,Y,Z]^T
P=[X,Y,Z]T是点
P
P
P在相机坐标系下的坐标,而相机在世界坐标系下是运动的。设相机在世界坐标系下的位姿为
R
,
t
R,t
R,t。点
P
P
P在世界坐标系下的坐标是
P
w
P_w
Pw,则点
P
P
P在世界坐标系到图像坐标系的转换公式为:
其中,相机在世界坐标系下的位姿
R
,
t
R,t
R,t成为相机的外参,该外参也是SLAM中待估计的目标。
5、归一化成像平面
世界坐标系到图像坐标系的转换公式反映了投影过程的另外一个角度:
我们可以把一个世界坐标点先转换到相机坐标系,再除掉它最后一维的数值
Z
Z
Z ,这相当于把最后一维进行归一化处理,得到点 P 在相机归一化平面上的投影:
归一化坐标为(三维世界点
P
P
P与相机光心的连线)与相机前方
z
=
1
z=1
z=1平面上的的交点在相机坐标系下的坐标。而相机前方
z
=
1
z=1
z=1平面称为归一化平面。
因此,点
P
P
P的像素坐标
[
u
,
v
]
T
[u,v]^T
[u,v]T可以看成是对点
P
P
P在归一化平面上的对应的点进行量化测量的结果。
同时,这阐述了一个重要结论:
如果对点
P
P
P在相机坐标系下的坐标同时乘以任意非零常数,归一化坐标都是一样的,这说明点的深度在技影过程中被丢失了,所以单目视觉中没法得到像素点的深度值。
二、畸变模型
1、径向畸变
畸变原因:由透镜形状引起的图像畸变
畸变特点:直线畸变成曲线,越靠近图像边缘越严重。由于透镜通常是中心对称的,因此径向畸变通常也是径向(中心)对称的。穿过图像中心的直线不会发生径向畸变。
畸变分类:
- 桶形畸变图像放大率随着与光轴之间的距离增加而减小
- 枕形畸变图像放大率随着与光轴之间的距离增加而增加
2、切向畸变
畸变原因:由于透镜与成像平面不严格平行
3、畸变数学模型
在归一化平面上建立归一化平面坐标系,原点为光轴与归一化平面的交点。设点
p
p
p坐标为
[
x
,
y
]
T
[x,y]^T
[x,y]T,其极坐标形式为
[
r
,
θ
]
T
{[r,\theta ]^T}
[r,θ]T。点
p
p
p畸变后的坐标为
(
x
d
i
s
t
o
r
t
e
d
,
y
d
i
s
t
o
r
t
e
d
)
({x_{distorted}},{y_{distorted}})
(xdistorted,ydistorted)
1)径向畸变使得坐标点沿着长度方向发生了变化,即其距离原点的距离发生了变化。可以用三个参数
k
1
,
k
2
,
k
3
k_1,k_2,k_3
k1,k2,k3描述:
2)切向畸变使得坐标点沿着切向方向发生了变化,即水平夹角发生了变化。可以用两个参数
p
1
,
p
2
p_1,p_2
p1,p2描述:
3)联合畸变模型
同时考虑径向畸变和切向畸变:
在实际用用中,我们也可以只选择
k
1
,
p
1
,
p
2
k_1,p_1,p_2
k1,p1,p2三个参数建立畸变模型。
4)去畸变过程
理解:通常我们已知的是空间通过有畸变相机在图像坐标系下的坐标
[
u
,
v
]
T
[u,v]^T
[u,v]T,因此我们根据上述公式反解该点在无畸变情况向在归一化平面的坐标
[
x
,
y
]
T
[x,y]^T
[x,y]T,在将其通过内参矩阵重新投影到图像坐标系下,得到去畸变的图像。这一过程成为图像去畸变。
4、总结
**注意:**上述过程是真实世界中点到图像坐标系下的转换过程。而实际我们在处理视觉信息时,通常是已经带有第五步中的像素坐标,要还原图像中点所对应的世界坐标系。因此,我们对图像的处理实际上是上述成像过程的逆过程。因此,我们首先要去畸变。