课程的 YouTube 地址为:https://www.youtube.com/playlist?list=PLTBdjV_4f-EJn6udZ34tht9EVIW7lbeo4。视频评论区可以找到课程所使用课件与练习题的下载地址。
第3章介绍了透视投影、相机内参、畸变矫正、原像与余像的概念。
1. 数学表示
1.1 从相似三角形开始
用一张图表示相机成像的光学过程(小孔成像)。
图中 Fl 与 Fr 是焦点,焦点即垂直通过透镜的光线的汇集点。
图中蓝色标明的三角形与红色标明的三角形相似:
同理在像平面另一个方向 X 轴上也有三角形相似:
式子中存在负号是因为成的像是倒像,与原像是中心对称的关系。这样计算很不方便,于是将成像平面从焦点 Fr 的后侧移动到焦点的前侧,并且翻转,于是有:
翻转之后的成像如下所示:
总结一下,透视投影是将三维点坐标投影到平面形成二维点坐标:
以上是使用薄透镜时的透视原理,使用厚透镜时光线在透镜内部存在不可忽略不计的折射,需要进行变形纠正。
1.2 矩阵表示
将投影过程在齐次坐标下用矩阵表示:
这里引入了两个新的矩阵 Kf,Π0 :
Π0 被称作标准投影矩阵(Standard Projection Matrix),作用是将齐次坐标转化为非齐次坐标。
假设物体离相机很远,其景深
Z
为常数
其中 x 是相机投影平面坐标(单位m), X 是三维点在相机坐标系中的坐标。
1.3 从世界坐标系到相机投影平面
上式中的 X 是相机坐标系坐标,将相机的位姿加入考虑范围,求世界坐标系坐标到相机投影平面坐标系的坐标。
由上一章的内容可知,相机当前坐标系坐标与世界坐标系坐标之间的转换关系如下:
所以从世界坐标系坐标到相机投影平面坐标系坐标的转换关系为
还可以做进一步的简化,如果将相机投影平面坐标系的单位长度设置为焦距
f
,那么
2. 相机内参
上面的公式推导是世界坐标系坐标转化为相机投影平面坐标系坐标,相机投影平面坐标系坐标的单位是 m,但使用相机拍摄的影像时我们读取的是像素坐标,所以还需要进一步的坐标转换。进一步的坐标转换如下:
这里引入了新的矩阵 Ks
矩阵 Ks 中各个参数的解释如下:
- ox,oy 相机相主点在相机投影平面坐标系下的像素坐标,单位为 pixel;
- sx(sy) 在 x(y) 方向上单位长度包含的像素个数,单位为 pixel / m;
- sθ 在像素形状为矩形时值为0,像素形状为平行四边形时值不为0,一般像素形状都为矩形,该值为0。
定义相机内参矩阵为
将 K 代入上面的公式
这里定义了一个新的矩阵 Π≡KΠ0g=[KRKT] ,称作一般投影矩阵(General Projection Matrix),可将世界坐标转化为像素坐标。
3. 球面投影
小孔相机的透视模型是将影像投影在平面上,同样的影像也可以投影在球面上。
将影像投影到单位球面