云镜收藏

稍后阅读

清单保存在当前浏览器,方便下次回来继续阅读。

清单还是空的

在笔记卡片或正文页点击“加入稍后阅读”即可收藏。

卷1 · 深度学习与 CV 基础

1.9 图像形成与相机模型:给 3D/具身留的几何底座

约 5 分钟阅读
全书目录

展开本章目录与同卷章节1. 图像形成:光到像素的三段旅程2. 针孔相机模型:三维到二维的投影3. 多视角几何的最小概念集(概念级,不推导)4. 与你主线的四个接口5. 自测题6. 动手作业7. 延伸资源同卷章节1.1 从 CNN 到 ResNet:卷积时代的遗产1.2 注意力机制:从加权检索到万物的基础操作1.3 Transformer 逐层拆解:从 Block 到小 GPT1.4 ViT 与视觉 Transformer 谱系:图像成为 token1.5 自监督三巨头:MAE、CLIP、DINO1.6 CLIP 精读与 zero-shot 评测实操(第一个完整项目)1.7 SAM 与分割基础模型:提示式视觉1.8 检测与分割极简史:知道即可的一章1.9 图像形成与相机模型:给 3D/具身留的几何底座

本章目标:补上”光怎么变成像素、像素怎么回到空间”的物理与几何底座——5.5 的 COLMAP、4.7 的视角控制、5.3 的机器人相机,全部站在这块地基上。学完标准:能写出针孔投影公式并解释内外参的作用,知道 COLMAP 在解什么问题。

1. 图像形成:光到像素的三段旅程

场景反射的光 → 镜头(聚焦,光圈控制景深)→ 传感器(曝光:快门时间 × 光圈 × ISO 的组合)→ 数字化(拜耳滤色阵列 + 去马赛克 + gamma 编码)。

两个与生成/处理直接相关的点:① 曝光三角(光圈/快门/ISO)决定了运动模糊、噪点、景深——生成模型学到的”摄影感”本质是这些物理参数的分布(prompt 里的 “shallow depth of field, f/1.4” 就是在索要光圈物理);② gamma/sRGB 编码(8.1 §2.1 已讲)是”人眼非线性”的存储妥协——处理图像的数学最好在线性光空间做。

2. 针孔相机模型:三维到二维的投影

空间点 P=(X,Y,Z)P = (X, Y, Z)(相机坐标系)投到像素平面的完整链条:

p~=K[R∣t]P~w,K=[fx0cx0fycy001]\tilde{p} = K \begin{bmatrix} R | t \end{bmatrix} \tilde{P}_w, \quad K = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix}

  • 内参 K(相机自己的属性):焦距 fx,fyf_x, f_y(换算成像素单位)与主点 (cx,cy)(c_x, c_y)(光轴落点);
  • 外参 [R∣t][R|t](相机在世界里的位姿):旋转 + 平移——NeRF/3DGS 训练需要逐张照片的 [R∣t][R|t],COLMAP 的核心工作就是从照片对里把它们恢复出来(5.5 的伏笔在此收线);
  • 齐次坐标:用多一维的坐标让投影变成一次矩阵乘(平移也能线性表达)——机器人学/3D 视觉的通用语言,习惯即可。

畸变:真实镜头不是理想针孔(桶形/枕形畸变),标定即求解畸变系数并在投影前后校正——手机相机的”超广角校正”就是它。

3. 多视角几何的最小概念集(概念级,不推导)

  • 对极几何:两个相机看同一点,该点在各视图的投影位置受”对极约束”限制——这是不需要 3D 点就能从 2D 对应关系恢复相机相对位姿的钥匙(essential/fundamental 矩阵,概念知道即可);
  • 三角化:两个已知位姿的相机 + 同一点的两个投影 → 交出该点的 3D 位置——重建的原理本体;
  • SfM(Structure from Motion)/COLMAP:特征匹配(1.1 的”模板匹配”回归!)→ 对极约束求位姿 → 三角化出稀疏点云 → 光束法平差(bundle adjustment,全局优化)。5.5 作业里你跑的 COLMAP 就是这套;
  • 对偶问题记住一句话:已知位姿求点是三角化,已知点求位姿是定位,都不知道就交替着来(SfM)。

4. 与你主线的四个接口

  1. 3D 管线(5.5):COLMAP 位姿是 NeRF/3DGS 的输入——现在你知道它内部的几何;
  2. 生成模型的视角控制:相机的 [R∣t][R|t] 与焦距是物理意义上的可控生成旋钮(相机轨迹控制视频、焦距控制景深)——比”换视角的 prompt”硬核得多的控制量;
  3. 具身(5.3):机器人头上的相机内外参标定是”手眼标定”问题——VLA 部署的第一天就会遇到;
  4. 艺术(8.x):线性透视法的数学就是投影几何(8.1 §5 的文艺复兴透视)——达芬奇和针孔模型写的是同一套数学。

5. 自测题

  1. 内参和外参各是什么属性?谁需要逐图估计?(相机固有属性 / 相机在世界中的位姿;外参逐图——SfM 的产出)
  2. 为什么投影要用齐次坐标?(平移纳入线性变换——一次矩阵乘完成投影)
  3. 对极约束”强”在哪?(不需要任何 3D 信息就能约束两视图对应关系并恢复相对位姿)
  4. 曝光三角的三个物理量各控制什么视觉效果?(光圈→景深;快门→运动模糊;ISO→噪点)
  5. 生成模型里”相机参数作为控制旋钮”比 prompt 好在哪?(物理精确、连续可微、与 3D 管线兼容)
  6. COLMAP 的四步流水线?(匹配→对极求位姿→三角化→光束法平差)

6. 动手作业

  1. 用 OpenCV 对手机拍的一张棋盘格做相机标定(cv2.calibrateCamera),读出你手机的内参和畸变系数;
  2. 用标定结果对一张广角照片做去畸变(cv2.undistort),前后对比;
  3. 在 5.5 的 COLMAP 输出里找到 cameras.txt/images.txt,把某一行的外参翻译成”相机的位置与朝向”(人话);
  4. 挑战:手写针孔投影(numpy 十行),把一个立方体的 8 个顶点投影到图上并连线渲染——你的第一个 3D 渲染器。

7. 延伸资源

  • 《Multiple View Geometry in Computer Vision》(Hartley & Zisserman)——圣经级参考(选读第 1、6 章)
  • OpenCV 相机标定官方教程——工程直达
  • COLMAP 文档 §Getting started——配合 5.5 作业