本文最后更新于:2024年10月16日 上午

在计算机视觉和图形学中,不同的相机模型用于模拟真实相机捕获图像的方式,本文简要记录相关内容。

简介

在计算机视觉和图形学中,不同的相机模型用于模拟真实相机捕获图像的方式,或者用于创建特定的视觉效果。

常见的相机模型有如下几类:

  1. Perspective Camera(透视相机):

    这是最常见的相机模型,它模拟人眼观察世界的方式。透视相机遵循透视投影规则,其中物体随着距离的增加而变小,平行线会在远处汇聚于一点(消失点)。

  2. Radial Camera(径向相机):

    这种相机模型考虑了镜头的径向畸变,这种畸变通常是由于镜头的光学特性造成的。畸变会导致图像中的直线出现弯曲,特别是在图像的边缘。

  3. Simple Radial Camera(简单径向相机):

    简化的径向相机模型,它只考虑最简单的径向畸变形式,通常用于快速近似或当详细畸变模型不是必需的时候。

  4. Brown Camera(布朗相机):

    这是以摄影师Robert Brown命名的相机模型,它描述了一种常见的畸变形式,包括径向畸变和切向畸变。这种模型可以更准确地描述和校正实际相机镜头的畸变。

  5. Fisheye Camera(鱼眼相机):

    鱼眼相机使用一个非常广角的镜头,产生一种特殊的球面透视效果,其中整个180度或更广的视野都可以在一个图像中捕捉到。这种相机模型常用于创建全景图像。

  6. Spherical Camera(球形相机):

    球形相机模型假设图像是球面投影的,通常用于360度全景摄影。这种相机捕捉到的图像可以投影到一个球面上,从而没有透视畸变。

  7. Dual Camera(双相机):

    这通常指的是具有两个镜头的相机系统,它可以提供立体视觉,用于捕捉三维信息或增强图像的深度感知。这种系统可以用于各种应用,包括增强现实、机器视觉和三维重建。

Perspective Camera(透视相机)

透视相机,也称为透视投影相机,是3D图形渲染中常用的一种相机模型。与正交相机不同,透视相机模拟了人眼观察物体的方式,使得离相机近的物体看起来更大,离相机远的物体看起来更小,从而产生了远近感和立体感。

基本原理

透视相机的基本原理是透视投影。透视投影将3D空间的点映射到2D平面上,其中每个点的投影位置与相机的位置、方向和观察方向有关。在透视投影中,一个3D空间的点P(x, y, z)在图像平面上投影的位置p(x’, y’)由以下公式确定:
$$
\begin{array}{l}
x’ = (f x) / z\
y’ = (f
y) / z
\end{array}
$$
其中,$f$ 是相机的焦距,表示相机镜头到图像平面的距离。这个公式告诉我们,一个点的投影位置与其在相机坐标系中的位置有关,并且与焦距 $f$ 有关。

畸变模型

$$
\begin{split}\begin{array}{l}
x_n = \frac{x}{z} \
y_n = \frac{y}{z} \
r^2 = x_n^2 + y_n^2 \
d = 1 + k_1 r^2 + k_2 r^4 \
u = f\ d\ x_n \
v = f\ d\ y_n
\end{array}\end{split}
$$

Radial Camera(径向相机)

这种相机模型考虑了镜头的径向畸变。

畸变模型

$$
\begin{split}\begin{array}{l}
x_n = \frac{x}{z} \
y_n = \frac{y}{z} \
r^2 = x_n^2 + y_n^2 \
d = 1 + k_1 r^2 + k_2 r^4\
u = f_x\ d\ x_n + c_x \
v = f_y\ d\ y_n + c_y
\end{array}\end{split}
$$

Simple Radial Camera(简单径向相机)

简化的径向相机模型,它只考虑最简单的径向畸变形式。

畸变模型

$$
\begin{split}\begin{array}{l}
x_n = \frac{x}{z} \
y_n = \frac{y}{z} \
r^2 = x_n^2 + y_n^2 \
d = 1 + k_1 r^2\
u = f_x\ d\ x_n + cx \
v = f_y\ d\ y_n + cy
\end{array}\end{split}
$$

Brown Camera(布朗相机)

Brown Camera 模型,通常指的是 Brown-Conrady 畸变模型,这是一种广泛使用的相机镜头畸变校正模型。这个模型以摄影师 Robert Brown 的名字命名,他在20世纪70年代与同事一起描述了这种畸变模型。Brown-Conrady 模型主要用于描述和校正两种主要的镜头畸变:径向畸变和切向畸变。

畸变模型

$$
\begin{split}\begin{array}{l}
x_n = \frac{x}{z} \
y_n = \frac{y}{z} \
r^2 = x_n^2 + y_n^2 \
d_r = 1 + k_1 r^2 + k_2 r^4 + k_3 r^6\
d^t_x = 2p_1\ x_n\ y_n + p_2\ (r^2 + 2x)\
d^t_y = 2p_2\ x_n\ y_n + p_1\ (r^2 + 2y)\
u = f_x\ (d_r\ x_n + d^t_x) + c_x \
v = f_y\ (d_r\ y_n + d^t_y) + c_y
\end{array}\end{split}
$$

Fisheye Camera(鱼眼相机)

鱼眼相机(Fisheye Camera)是一种特殊的相机,其镜头具有极宽的视角,通常在180度到220度之间,甚至可以达到360度。这种相机因其产生的图像效果类似于鱼从水中看外面的世界而得名。

畸变模型

  • 模型一

$$
\begin{split}\begin{array}{l}
r^2 = x^2 + y^2 \
\theta = \arctan(r / z) \
d = 1 + k_1 \theta^2+ k_2 \theta^4 \
u = f\ d\ \theta\ \frac{x}{r} \
v = f\ d\ \theta\ \frac{y}{r}
\end{array}\end{split}
$$

  • 模型二

$$
\begin{split}\begin{array}{l}
r^2 = x^2 + y^2 \
\theta = \arctan(r / z) \
d_r = 1 + k_1\theta + k_2\theta^2 + k_3\theta^3 + k_4\theta^4 + k_5\theta^5 + k_6\theta^6\
d^t_x = 2p_1\ x_n\ y_n + p_2\ (r^2 + 2x)\
d^t_y = 2p_2\ x_n\ y_n + p_1\ (r^2 + 2y)\
u = f\ (d_r\ \theta\ \frac{x}{r} + d^t_x) + c_x \
v = f\ (d_r\ \theta\ \frac{y}{r} + d^t_y) + c_y
\end{array}\end{split}
$$

  • 模型三

$$
\begin{split}\begin{array}{l}
r^2 = x^2 + y^2 \
\theta = \arctan(r / z) \
d_r = 1 + k_1\theta^2 + k_2\theta^4 + k_3\theta^6\
d^t_x = 2p_1\ x_n\ y_n + p_2\ (r^2 + 2x)\
d^t_y = 2p_2\ x_n\ y_n + p_1\ (r^2 + 2y)\
u = f\ (d\ \theta\ \frac{x}{r} + d^t_x) + c_x \
v = f\ (d\ \theta\ \frac{y}{r} + d^t_y) + c_y
\end{array}\end{split}
$$

Spherical Camera(球形相机)

球形相机(Spherical Camera),也常被称为360度相机或全景相机,是一种能够捕捉周围环境全方位图像的相机。这种相机通常配备有两个或更多个镜头,能够同时拍摄多个方向的照片,并通过软件将这些照片拼接成一个完整的球面全景图像。

畸变模型

$$
\begin{split}\begin{array}{l}
\mathrm{lon} = \arctan\left(\frac{x}{z}\right) \
\mathrm{lat} = \arctan\left(\frac{-y}{\sqrt{x^2 + z^2}}\right) \
u = \frac{\mathrm{lon}}{2 \pi} \
v = -\frac{\mathrm{lat}}{2 \pi}
\end{array}\end{split}
$$

Dual Camera(双相机)

双相机系统(Dual Camera System)是一种在智能手机、平板电脑以及其他一些便携式电子设备上常见的摄像头配置。这种系统通常包括两个独立的摄像头模块,它们可以同时工作或根据不同的拍摄需求独立工作,以提供更好的图像质量和拍摄体验。

畸变模型

$$
\begin{split}\begin{array}{l}
r^2 = x^2 + y^2 \
x^n_p = \frac{x}{z} \
y^n_p = \frac{y}{z} \
x^n_f = theta\ \frac{x}{r} \
y^n_f = theta\ \frac{y}{r} \
d = 1 + k_1\theta^2 + k_2\theta^4 \
u = f\ d\ (l\ x^n_p\ + (1-l)\ x^n_f) \
v = f\ d\ (l\ y^n_p\ + (1-l)\ y^n_f)
\end{array}\end{split}
$$

参考资料



文章链接:
https://www.zywvvd.com/notes/study/camera-imaging/camera-models/camera-models/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

相机模型
https://www.zywvvd.com/notes/study/camera-imaging/camera-models/camera-models/
作者
Yiwei Zhang
发布于
2024年10月16日
许可协议