计算机视觉基础-投影变换

2019-04-10  本文已影响0人  田田ww

参考《计算机视觉——算法与应用》

3D到2D投影

一、平行投影

1.正平行投影(正交投影)

正交投影简单舍弃三维坐标pz分量来得到2D点x

x=[I_{2\times2}\vert 0]p,写成齐次坐标可以写作

\bar{x} =\left[ \begin{matrix} 1& 0&0&0 \\ 0&1&0&0 \\ 0&0&0&1 \end{matrix}  \right]\bar{p},即此时我们舍弃z分量但保留w分量。

正交投影是当长焦距(望远)镜头成像时,当物体自身深度与其到摄像机的距离相比很浅时的近似模型。在实践中,世界坐标(可能用米来度量)需要按比例缩放以适合图像传感器(物理上以毫米度量,最终以像素度量)。因为这个原因,归一化的正交投影实际更常用,

x=[sI_{2\times2}\vert 0]p

在重建原理摄像机的物体3D形状时,归一的正交投影可以大大简化某些计算。例如姿态(摄像机的方向)可以用简单的最小二乘来估计。结构和运动可以用奇异值分解同时估计。

2.斜平行投影(类透视投影para-perspective)

物体点按照平行于到物体中心的视线投影到一个平行于物体平面的局部参考面,然后按照通常的投影方式投影到最终的图像平面上,对应于缩放,两个投影的组合也就是仿射。

\tilde{x} =\left[ \begin{matrix}  a_{00}& a_{01}&a_{02}&a_{03}\\ a_{10}&a_{11}&a_{12}&a_{13}\\ 0&0&0&1 \end{matrix}  \right]\tilde{p} ,类透视投影提供了比归一的正交投影更精确的投影模型,而不会出现每点透视的除法所增加的复杂性。

二、透视投影

计算机视觉和图形学中常用的投影是3D透视投影。这里点映射到图像平面是通过除以z分量来实现的。使用非齐次坐标可以写为

\tilde{x} =P_x(p) = \left[ \begin{matrix} x/z \\ y/z \\ 1\  \end{matrix}\right],在齐次坐标下,投影具有简单的线性形式,

\tilde{x} =\left[ \begin{matrix}  1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\end{matrix}  \right]\tilde{p} ,即舍弃pw分量。

在计算机图形学系统中常见的一种形式是一个两步投影。先将3D坐标投影到范围在

(x,y,z)\in[-1,1]\times[-1,1]\times[0,1]的规范化设备坐标上,然后用视口变换,将这些坐标缩放成整数的像素坐标。该透视投影可以用如下形式表示

\tilde{x}=\left[ \begin{matrix} 1&0&0&0\\ 0&1&0&0\\ 0&0& \frac{-z_{far}}{z_{range}}  & \frac{z_{near}z_{far}}{z_{range}}\\0&0&1&0\end{matrix} \right]\tilde{p} ,其中z_{near},z_{far}z的最近和最远裁剪面,z_{range}=z_{far}-z_{near},相当于z的归一化操作。前两行以焦距和横纵比缩放的,以便可见光线映射到(x,y,z)\in[-1,1],保留第三行的原因是可见性运算。

上一篇下一篇

猜你喜欢

热点阅读