起源
透视与消失点
不平行于投影面的平行线的投影会汇聚到一个点,这个点称为消失点(Vanishing point)。
单点透视 - 1 个消失点
两点透视 - 2个消失点
三点透视 - 3个消失点
透视投影变换
从视点(投影中心)发出的所有通过对象(景)的射线和投影平面的交点形成三维立体的“像”,就是透视投影。
这是人眼,针孔相机的观察视角,所以尤其重要。
透视变换矩阵
对于单目透视
注意这里透视变换矩阵是右乘形式。
三目透视的话,
产生的三个灭点将分别位于X轴上的1/p处、Y轴上的 1/q 处和Z轴上的 1/r 处。
透视变换矩阵与 Homography、相机内参的关系
上面推导的透视变换矩阵是投影平面与物体表面平行的特殊情况,这种情况也被成为正透视投影。如果物体表面与投影平面不平行呢?那么就是上面透视变换矩阵中为0 的元素不一定为0 了,为1 的元素不一定为 1了。那么就成了标准的三维物体到二维图像的成像模型,矩阵依然是 的。
那么如果我们把物体表面当成一个平面来考虑呢?那就变成了图像到图像的透视变换了。透视矩阵也塌缩为一个 的矩阵。这不就是 Homography 吗?!从这个角度重新考虑 Homography,所谓的两个平面的对应关系,不就是源图像摆放好,目标图像所在平面做投影平面来透视观察源图像、随着投影平面角度距离的变化呈现不同的目标图像吗?!
同时,这个 的矩阵就是相机的内参!只是,
- 对于已经成像好的图像而言,右边的坐标点是
- 而对于相机成像而言,右边的点是有深度信息的,即 ,除以 , 二者就一样了。
- 这实际上反映了,对三维世界进行二维成像的时候丢失的深度信息,同时也是利用二维图像进行三维重建的时候要恢复的深度信息
透视与车载环境的联系
- 前装摄像头就是单目透视成像,对车载环境而言,天空与路面就是两个平行面。平行面在远处相交,就是地平线。
Ref
- 什么是透视点和消失点功能:从最初绘画到近代摄影的应用,结合Photoshop具体实例,讲解的通俗清晰
- 逆透视变换详解及MATLAB 代码实现 : 对应实际的车载应用场景
- 透视变换 Perspective Transformation: 2D图像透视变换矩阵解析,续篇 讲 OpenCV 的实现与对应的Homography求解