CS231A 相机模型笔记
自己写全部太累了,我觉得用ai把大部分知识点写上,我聚焦我觉得需要关注的内容是最高效的
1. 引言
相机是计算机视觉中的核心工具,用于记录三维世界并生成图像。本笔记主要探讨如何对相机进行建模。
2. 小孔相机模型 (Pinhole Camera Model)
2.1 基本工作原理
小孔相机模型使用一个带小孔的屏障来阻挡大多数光线,仅允许通过小孔的光线在传感器上成像,从而建立三维场景点到二维图像点的一一映射。

2.2 形式化构建
- 图像平面 (Image/Retinal Plane):感光传感器所在平面
- 光心 (Pinhole O):小孔位置,相机中心
- 焦距 (Focal length f):光心到图像平面的距离
- 虚拟图像平面:位于光心和物体之间的平面,与实际图像平面存在相似变换关系
2.3 投影公式
对于三维点 $P=\left[\begin{array}{lll}x & y & z\end{array}\right]^{T}$,其投影到图像平面的点为: \(P^{\prime}=\left[\begin{array}{ll}x^{\prime} & y^{\prime}\end{array}\right]^{T}=\left[\begin{array}{ll}f\frac{x}{z} & f\frac{y}{z}\end{array}\right]^{T}\)
2.4 孔径大小的影响
- 小孔径:图像更清晰但更暗
- 大孔径:图像更亮但更模糊
- 核心问题:如何获得既清晰又明亮的图像?
3. 相机与透镜 (Cameras and Lenses)
3.1 透镜的作用
透镜通过聚焦光线解决了小孔相机的亮度与清晰度矛盾,使来自同一点的光线汇聚到传感器同一点上。

3.2 焦点与景深
- 焦点 (Focal point):平行于光轴的光线汇聚点
- 焦距 (Focal length):透镜中心到焦点的距离
- 景深 (Depth of field):相机能够清晰成像的距离范围
3.3 傍轴折射模型 (Paraxial Refraction Model)
投影公式: \(P^{\prime}=\left[\begin{array}{l}x^{\prime} \\ y^{\prime}\end{array}\right]=\left[\begin{array}{c}z^{\prime}\frac{x}{z} \\ z^{\prime}\frac{y}{z}\end{array}\right]\) 其中 $z^{\prime}=f+z_{0}$(与小孔模型不同,小孔模型中 $z^{\prime}=f$)
3.4 镜头畸变 (Lens Distortion)
- 径向畸变 (Radial distortion):由于透镜不同部位焦距不同导致
- 枕形畸变 (Pincushion distortion):放大率随距离增加而增加
- 桶形畸变 (Barrel distortion):放大率随距离增加而减小
4. 数字图像空间 (Going to Digital Image Space)
4.1 相机矩阵模型 (Camera Matrix Model)
4.1.1 坐标系转换
| 属性 | Image Plane Coordinates | Digital Image Coordinates |
|---|---|---|
| 定义 | 成像平面上的连续物理坐标 | 数字图像中的离散像素坐标 |
| 原点位置 | 图像中心(主点) | 图像左上角或左下角(常见为左上角) |
| 单位 | 物理单位(如毫米 mm) | 像素(pixels) |
| 坐标轴方向 | 通常以图像中心为原点,x向右,y向上 | 通常以左上角为原点,x向右,y向下 |
| 是否连续 | 是(实数坐标) | 否(整数坐标) |
| 用途 | 用于几何建模、投影计算 | 用于图像存储、显示、处理 |
需要处理两种差异:
- 图像平面坐标系与数字图像坐标系的原点不同
- 物理测量单位(厘米)与像素单位的转换
修正后的投影公式: \(P^{\prime}=\left[\begin{array}{l}x^{\prime} \\ y^{\prime}\end{array}\right]=\left[\begin{array}{l}\alpha\frac{x}{z}+c_x \\ \beta\frac{y}{z}+c_y\end{array}\right]\) 其中:
- $\alpha = fk$, $\beta = fl$(像素/厘米)
- $c_x, c_y$:原点偏移量
4.1.2 齐次坐标 (Homogeneous Coordinates)
使用齐次坐标将非线性投影转换为线性变换: \(P_h^{\prime}=\left[\begin{array}{ccccc}\alpha & 0 & c_x & 0 \\ 0 & \beta & c_y & 0 \\ 0 & 0 & 1 & 0\end{array}\right] P_h\)
4.1.3 完整的相机矩阵
制造过程中很多模型不是完整的,存在skewness倾斜和distortion畸变 也就是说,图像坐标系的两个轴之间的夹角略大于或小于90度。 大多数相机是 零倾斜(zero-skew) 的,但由于传感器制造误差,有时会出现一定程度的倾斜 相机矩阵分解: \(P^{\prime}=K\left[\begin{array}{ll} I & 0\end{array}\right] P\) 其中内在参数矩阵: \(K=\left[\begin{array}{ccc}\alpha & -\alpha\cot\theta & c_x \\ 0 & \frac{\beta}{\sin\theta} & c_y \\ 0 & 0 & 1\end{array}\right]\)
内在参数(5个自由度):
- 2个焦距参数 ($\alpha, \beta$)
- 2个偏移参数 ($c_x, c_y$)
-
1个 倾斜 skewness 参数 ($\theta$)
透视变换,归一化的内参矩阵
4.2 外参 (Extrinsic Parameters)
齐次坐标系的变换 2d坐标系下的平移
缩放
旋转 
二维平面下的变换总的来说就是这些

由于矩阵不满足交换律,所以说顺序是固定的,先scaling再旋转再平移 对于3d的来说
平移有3个自由度
旋转要以某个轴来旋转,特定的绕着哪个轴旋转就构造对应的旋转矩阵 对于刚体来说,没有缩放,3d的是这样 有的话是[ [RS,T], [0,1] ] 
这里有11个自由度

将世界坐标系转换为相机坐标系,与相机本身无关: \(P=\left[\begin{array}{cc} R & T \\ 0 & 1\end{array}\right] P_w\) 完整投影模型: \(P^{\prime}=K\left[\begin{array}{ll}R & T\end{array}\right] P_{w}=M P_{w}\)
投影矩阵 M(11个自由度):
- 5个内在参数
- 3个旋转参数
- 3个平移参数
5. 相机标定 (Camera Calibration)
5.1 标定原理
通过已知三维点与对应图像点的关系,求解相机内外参数。
5.2 线性求解方法
对于每个对应点 $P_i \leftrightarrow p_i$,建立方程: \(\begin{align*}u_i\left(m_3 P_i\right)-m_1 P_i&=0\\ v_i\left(m_3 P_i\right)-m_2 P_i&=0\end{align*}\) 通过SVD求解最小二乘问题: \(\begin{array}{ll}\underset{m}{\operatorname{minimize}} & \|P m\|^{2} \\ \text{subject to} & \|m\|^{2}=1\end{array}\)
5.3 参数提取
从矩阵M中分解出内外参数:
内在参数: \(\begin{align*}\rho&=\pm\frac{1}{\left\|a_{3}\right\|}\\ c_{x}&=\rho^{2}\left(a_{1}\cdot a_{3}\right)\\ c_{y}&=\rho^{2}\left(a_{2}\cdot a_{3}\right)\\ \theta&=\cos^{-1}\left(-\frac{\left(a_{1}\times a_{3}\right)\cdot\left(a_{2}\times a_{3}\right)}{\left\|a_{1}\times a_{3}\right\|\cdot\left\|a_{2}\times a_{3}\right\|}\right)\\ \alpha&=\rho^{2}\left\|a_{1}\times a_{3}\right\|\sin\theta\\ \beta&=\rho^{2}\left\|a_{2}\times a_{3}\right\|\sin\theta\end{align*}\)
外在参数: \(\begin{align*} r_1&=\frac{a_2\times a_3}{\left\|a_2\times a_3\right\|}\\ r_2&=r_3\times r_1\\ r_3&=\rho a_3\\ T&=\rho K^{-1} b\end{align*}\)
5.4 退化配置 (Degenerate Configurations)
当点共面或位于两个二次曲面交线上时,标定问题无法求解。
6. 畸变标定 (Handling Distortion in Camera Calibration)
通过非线性优化技术处理径向畸变,简化方法是利用坐标比值的线性关系。
7. 附录A:刚体变换 (Rigid Transformations)
7.1 旋转矩阵
绕各坐标轴旋转的矩阵: \(R_x(\alpha)=\left[\begin{array}{ccc}1 & 0 & 0 \\ 0 & \cos\alpha & -\sin\alpha \\ 0 & \sin\alpha & \cos\alpha\end{array}\right]\) \(R_y(\beta)=\left[\begin{array}{ccc}\cos\beta & 0 & \sin\beta \\ 0 & 1 & 0 \\ -\sin\beta & 0 & \cos\beta\end{array}\right]\) \(R_z(\gamma)=\left[\begin{array}{ccc}\cos\gamma & -\sin\gamma & 0 \\ \sin\gamma & \cos\gamma & 0 \\ 0 & 0 & 1\end{array}\right]\)
7.2 平移变换
使用齐次坐标表示平移: \(T=\left[\begin{array}{cccc}1 & 0 & 0 & t_{x} \\ 0 & 1 & 0 & t_{y} \\ 0 & 0 & 1 & t_{z} \\ 0 & 0 & 0 & 1\end{array}\right]\)
7.3 缩放变换
缩放矩阵: \(S=\left[\begin{array}{ccc}S_{x} & 0 & 0 \\ 0 & S_{y} & 0 \\ 0 & 0 & S_{z}\end{array}\right]\)
7.4 组合变换
旋转、缩放、平移的组合: \(T=\left[\begin{array}{cc} R S & t \\ 0 & 1\end{array}\right]\)
8. 附录B:其他相机模型
8.1 弱透视模型 (Weak Perspective Model)
先正交投影到参考平面,再进行透视投影: \(x^{\prime}=\frac{f^{\prime}}{z_0} x \quad y^{\prime}=\frac{f^{\prime}}{z_0} y\) 投影矩阵简化为: \(M=\left[\begin{array}{ll} A & b \\ 0 & 1\end{array}\right]\)
8.2 正交投影模型 (Orthographic Projection Model)
忽略深度信息: \(\begin{array}{l}x^{\prime}=x \\ y^{\prime}=y\end{array}\) 适用于建筑和工业设计领域。
9. 关键概念总结
| 概念 | 描述 | 公式 |
|---|---|---|
| 小孔投影 | 基本投影模型 | $P^{\prime}=\left[f\frac{x}{z}, f\frac{y}{z}\right]^{T}$ |
| 齐次坐标 | 用于线性化投影变换 | $P_h = [x, y, z, 1]^{T}$ |
| 相机矩阵 | 包含内在参数 | $K=\left[\begin{array}{ccc}\alpha & -\alpha\cot\theta & c_x \ 0 & \frac{\beta}{\sin\theta} & c_y \ 0 & 0 & 1\end{array}\right]$ |
| 投影矩阵 | 完整投影模型 | $M = K[R \mid T]$ |
| 标定 | 参数估计方法 | 通过对应点求解线性系统 |
10. 应用场景
- 计算机视觉:三维重建、目标检测
- 摄影测量:从图像中提取测量信息
- 机器人技术:视觉导航、环境感知
- 增强现实:虚拟物体与真实场景的融合
Enjoy Reading This Article?
Here are some more articles you might like to read next:
- Google Gemini updates: Flash 1.5, Gemma 2 and Project Astra
- Displaying External Posts on Your al-folio Blog
- Graph RAG with Milvus —— 纯向量库造图的多跳推理
- Hierarchical Indices 层级索引 —— 先粗后细的两级检索
- HyDE 与 HyPE —— 假设检索技术的两个方向
- 二叉树刷题总结
- RAG 技术体系化分类——从 Pipeline 阶段到失败模式
- MemoRAG 记忆增强型 RAG 总结
- Microsoft GraphRAG 基于知识图谱的 RAG 总结
- Multimodal RAG with Captioning 图像描述型多模态 RAG 总结