2026 春 · 期末考试 · 6/24 14:00–16:00

计算机视觉导论
期末一站式复习

覆盖 Lect09-15:3D 视觉与相机模型、3D 表示与 NeRF / 3D Gaussian Splatting、3D 深度学习(PointNet++ / 稀疏卷积)、序列模型(RNN/LSTM)、Attention & Transformer、生成模型(VAE/GAN/扩散)与多模态(CLIP)。期末范围 Lect 9–15,但可能涉及期中之前的技术。

8讲课件
50+知识点
8章节练习
34自测题

📌 期末考试形式(来自 Lect15 通知)

  • 时间地点:6/24(周三)14:00–16:00,第二教学楼 105。占总成绩 30%
  • Cheat sheet:允许一页 A4 双面(手写或打印均可,不超过一页)。
  • 范围:Lecture 9 – Lecture 15,可能涉及期中之前学过的技术。
  • 题型(全英文出题,讲义涵盖的术语不再额外解释,不允许字典与计算器):
    • 多选题 (Multiple-select questions)
    • 简答题 (Short answer):解释 why / how,部分需数学推导
    • 计算题 (Calculation questions)
  • 简答与简单计算题可用中文作答,但专业术语建议用英文,否则无法理解时按错处理。

考点权重(基于课件结构推断)非课件内容

~25%

Transformer & Attention

缩放点积注意力、多头、masked、位置编码、复杂度 $O(N^2)$、ViT

~20%

生成模型

VAE 的 ELBO 与重参数化、GAN 对抗博弈、扩散 DDPM 前向/反向与噪声预测

~20%

3D 视觉

针孔/透视相机、深度反投影、3D 表示、NeRF / 3DGS、PointNet++、稀疏卷积

~35%

序列模型 & 多模态 & 简答

RNN/LSTM 梯度、beam search、CLIP 对比学习、概念辨析与推导

推荐路径:按左侧导航顺序学习;3D 视觉的相机投影与生成模型的数学推导是重点,建议把关键公式整理进 cheat sheet。每章末做对应自测题。

期末考点路线图 整理导图

9

相机模型与 3D (Lect09)

针孔相机 → 内参 $K$ / 外参 $[R\mid T]$ → 投影变换 → 弱透视/正交 → 深度图与反投影

10

3D 表示与 NeRF (Lect10)

Depth / voxel / mesh / point cloud / implicit field → SDF 与 marching cube → NeRF 体渲染 → 3D Gaussian Splatting

11

3D 深度学习 (Lect11)

PointNet++(FPS+ball query+PointNet)· 体素 / 稀疏卷积 · SDF / Mesh

11

序列模型 (Lect11)

RNN → BPTT/梯度消失 → LSTM 门控与 cell state → GRU · beam search

12

Attention & Transformer (Lect12)

seq2seq+attention → 自注意力 → 缩放点积 → 多头 / masked → 位置编码 → ViT

13

生成模型 I (Lect13)

Autoencoder → 概率 AE 的 intractability → VAE (ELBO+重参数化) → GAN 对抗

14

多模态与视频 (Lect14)

CLIP 图文对比学习与 zero-shot · LM+CLIP · 视频 Transformer · VidIL

15

生成模型 II (Lect15)

层次化 VAE → 扩散为其特例 → 前向加噪 / 反向去噪 → DDPM 噪声预测 → score / SDE

第 9 章 · 3D 视觉 I — 相机模型(Lect09)

9.1 从 2D 到 3D

  • 2D 图像表示为 $H\times W\times 3$,但我们生活在 3D 世界,需要从局部观测聚合出完整 3D 场景(如 "Building Rome in a day")。
  • 视觉数据采集:RGB 相机 → RGB 图像;深度相机 → 深度图;LiDAR → 点云;立体/多视角 → 由视差恢复 3D。
  • 准确鲁棒的 3D 距离信息对工业机器人、自动驾驶等具身智能体至关重要。

9.2 针孔相机与透镜

  • 针孔相机 (pinhole):光线穿过一个小孔在像平面成倒立的像,是最简单的成像模型。
  • 真实相机用透镜聚光(近轴折射模型),换来更多进光量,但引入径向畸变 (radial distortion) 等问题。

9.3 相机参数:内参与外参

内参 (Intrinsics):相机自身的成像性质(与场景无关)。
外参 (Extrinsics):相机在世界参考系中的位姿(旋转 + 平移)。

投影完整链路:世界坐标 → (外参 $[R\mid T]$)→ 相机坐标 → (投影)→ 像平面 → (内参 $K$)→ 像素坐标

内参矩阵 $K$

$K = \begin{bmatrix} \alpha & -\alpha\cot\theta & c_x \\ 0 & \beta/\sin\theta & c_y \\ 0 & 0 & 1\end{bmatrix}$,其中 $\alpha=f\cdot k$、$\beta=f\cdot l$ 为像素单位下的焦距,$(c_x, c_y)$ 为主点,$\theta$ 为倾斜角 (skewness)

倾斜角 $\theta$ 来自制造误差/镜头安装误差;对大多数工业级相机 $\theta=\pi/2$,可忽略(此时 $\cot\theta=0$,$\sin\theta=1$)。

外参 $[R\mid T]$ 的含义

  • 世界点 $P_w$ 变换到相机系:$P = RP_w + T$。
  • 世界系原点 $P_w=[0,0,0,1]^\top$ 在相机系中为 $T=[t_x,t_y,t_z]^\top$;世界系坐标轴在相机系中的方向即 $R$ 的列。
  • 因此 $R, T$ 表示世界参考系相机参考系中的朝向与原点位置。
  • 相机在世界系中的位姿:朝向 $R^{-1}=R^{\top}$,位置(光心)$-R^{-1}T = -R^{\top}T$。

9.4 投影变换与齐次坐标

  • 齐次坐标把透视投影写成线性矩阵乘法:$\tilde{p} = K\,[R\mid T]\,\tilde{P}_w = M\tilde{P}_w$,$M$ 即 $3\times 4$ 相机矩阵。
  • 透视除法:$(x,y,z)\to (x/z, y/z)$ 引入了深度依赖的缩放(近大远小)。
透视投影的性质:① 保直线(直线→直线);② 保平行(平行线交于消失点);③ 保长度/角度/比例。

9.5 相机模型对比

模型投影适用条件
透视 (Perspective)$x'=fx/z$(除以深度)一般情形,最精确
弱透视 (Weak Perspective)用平均深度 $z_0$ 代替:$x'=fx/z_0$物体深度变化 ≪ 到相机距离
正交 (Orthographic)$x'=x$(忽略深度)远距离 / 远心镜头

9.6 深度图与反投影

  • 深度图:单通道图像,每个像素存深度值。是 2.5D 表示。
  • 记录的是沿光轴 z 方向的距离(不是光心到点的射线长度)。
  • 深度反投影 (backprojection):已知 $K$,对像素 $(u,v,z)$ 可解出相机系 3D 坐标 $$x = z(u-c_x)/\alpha,\quad y = z(v-c_y)/\beta$$ 把深度图转成深度点云(Assignment 3 会练习)。
  • 为何只是 2.5D:单凭深度无法测量任意两点间距离,还需 $K$ 才能恢复真正的 $(x,y,z)$。
课件 · Lect09
已知外参 $[R\mid T]$(世界点 → 相机系),相机光心在世界坐标系中的位置是?
A. $T$
B. $-R^{-1}T$
C. $R^{-1}T$
D. $RT$
答案:B。由 $P=RP_w+T$,光心在相机系为原点,反解得世界系下位置 $-R^{-1}T=-R^{\top}T$。
简答 · Lect09
为什么深度图只是 2.5D 而非真正的 3D 表示?
深度图只记录每像素沿光轴方向的 $z$ 值,本身不含 $x,y$ 物理坐标。真正的 3D 表示应能直接测量任意两点间的距离,而要从 $(u,v,z)$ 恢复相机系真实坐标 $(x,y,z)$ 必须借助相机内参 $K$($x=z(u-c_x)/\alpha,\ y=z(v-c_y)/\beta$)。因为缺少这一步,深度图被称为 2.5D。

第 10 章 · 3D 视觉 II — 表示、NeRF 与 3DGS(Lect10)

10.1 多种 3D 表示

表示形式核心特点典型问题
Depth image规则 $H\times W$ 单通道2.5D;每像素记录深度,配合 $K$ 可反投影为点云不是完整 3D,缺少遮挡背面
Voxel规则 $H\times W\times D$ 网格可索引,适合 3D CNN分辨率立方增长;昂贵;不是天然表面表示
Mesh不规则图结构分片线性曲面;顶点/边/面描述几何与拓扑拓扑复杂,重建/修复成本高
Point cloud$N\times 3$ 无序点集轻量、易采集,真实 3D 常以点云出现不是表面表示;缺少连接关系
Implicit field连续函数SDF / UDF / occupancy 可表达连续曲面,并可转 mesh提取显式表面需 marching cubes 等算法
选表示看任务:存储、编辑、渲染、动画、机器学习监督信号都可能偏好不同表示。规则形式易计算,不规则形式通常更贴近真实表面。

10.2 Mesh:几何、拓扑与属性

  • Surface mesh 是分片线性曲面,同时是几何表示与表面表示;三角网格可看作图结构 $\{\text{vertex},\ \text{edge}\}$ 加三角面。
  • 需要存储三类信息:geometry(3D 坐标)、topology(连接关系)、attributes(法线、颜色、纹理坐标,可按顶点/面/边存储)。
  • Triangle list / STL:每个面直接存 $3$ 个顶点位置,简单但没有 connectivity。
  • Indexed face set / OBJ/OFF/WRL:先存 vertex positions,再用 face vertex indices 表示面;通常逆时针顺序配合右手法则确定外法线方向。
  • 真实采集数据常是点云,但 mesh 常用于可视化 3D、生成机器学习算法的 ground truth。

10.3 点云采样与距离

  • 点云:$N\times 3$,不规则、无序,轻量且容易构建算法;但它是 surface + sampling,不直接告诉你表面在哪里。
  • 从 mesh 均匀采样点云:先计算每个三角面的面积,用面积作为采样概率 i.i.d. 抽 face,再在被选三角形内部均匀采样点。
  • 三角形均匀采样:令 $a_1,a_2\sim U(0,1)$。若 $a_1+a_2\le 1$,$x=a_1v_1+a_2v_2+(1-a_1-a_2)v_3$;否则映射为 $x=(1-a_1)v_1+(1-a_2)v_2+(a_1+a_2-1)v_3$。
  • Uniform sampling 最容易实现,但点距可能不规则;FPS (farthest point sampling) 更均匀,常用于点云网络采样。
  • 点云距离常比较最近邻距离的和:Chamfer distance 对采样相对不敏感;需要匹配的距离(如 EMD 思路)对采样更敏感。

10.4 隐式场、SDF 与表面提取

  • Implicit shape 同时是隐式几何表示与表面表示:用函数值定义形状,而不是直接列出点/面。
  • SDF (signed distance function) 记录空间点到表面的带符号距离;零等值面 $f(x)=0$ 即表面。相关表示还包括 UDF 与 occupancy network。
  • Marching squares / marching cubes:在 2D / 3D 网格上根据角点符号查表提取零等值线/零等值面。
  • Marching cubes 有歧义配置,可能导致 holes;可通过更大上下文、更完整查表(如 marching cube 33)缓解。
  • DeepSDF 用神经网络学习连续 SDF,把隐式场参数化为可学习函数。

10.5 NeRF:新视角合成与体渲染

  • Novel view synthesis:给定若干输入视角,学习 3D 场景并从新相机位姿渲染图像。Graphics 是已知 3D 场景 + 相机 $\to$ 图像;inverse graphics 是由图像反推相机位姿与 3D 场景。
  • NeRF 将场景表示为连续 $5$D 函数:输入空间位置 $(x,y,z)$ 与视角方向 $(\theta,\phi)$,输出密度 $\sigma$ 与颜色/辐射 $c$。
  • 训练方式:沿相机 ray 采样点,用体渲染方程合成像素颜色,与真实图像做 rendering loss,通过可微渲染和梯度下降优化网络。
  • Beer-Lambert 定律:线段长度 $\delta$、衰减系数 $\sigma$ 的不透明度 $\alpha=1-\exp(-\sigma\delta)$。
  • Ray marching 离散体渲染:从远到近或近到远聚合采样点颜色,前方点的贡献会被后方/前方透明度传输项衰减。常见写法:$I=\sum_i T_i\alpha_i c_i$,$T_i=\prod_{j<i}(1-\alpha_j)$(取决于排序约定)。

10.6 3D Gaussian Splatting (3DGS)

  • NeRF 式 ray marching 会在大量空空间采样,低效;3DGS 的关键想法是只在非零密度附近稀疏参数化场景。
  • 用各向异性的 3D Gaussians 表示场景;高斯在仿射变换和积分下封闭,投影到图像平面后仍是 2D Gaussian。
  • 渲染时可用 rasterization / splatting:把与像素视锥相关的 Gaussian 投影并累积,而不是沿每条 ray 密集采样空区域。
  • 优化仍是 inverse graphics,容易陷入局部最小;常见修正包括从 SFM point cloud 初始化,以及启发式 pruning / spawning 操作。
课件 · Lect10
以下哪项最准确描述 point cloud 的局限?
A. 点云必须存储规则 $H\times W\times D$ 网格
B. 点云不能表示任何 3D 坐标
C. 点云是 surface + sampling,本身不是显式表面表示,缺少连接关系
D. 点云一定比 mesh 存储更昂贵
答案:C。点云轻量、易采集,但只给出采样点,不直接给出连续表面或拓扑连接,因此常需重建/采样/距离度量等额外处理。
简答 · Lect10
为什么 3D Gaussian Splatting 通常比 NeRF 式密集 ray marching 更高效?
NeRF 沿每条相机射线采样许多点,其中大量点落在空空间,计算被浪费。3DGS 用稀疏的各向异性 3D Gaussian 只在密度非零附近参数化场景,并把 Gaussian 投影到图像平面做 rasterization / splatting;这样可以跳过大量空区域采样,同时保留可微渲染优化。

第 11a 章 · 3D 深度学习(Lect11)

11.1 点云网络:PointNet++

核心思想:在局部区域递归地应用 PointNet,实现层次化特征学习。

  • 三大不变性:层次化特征学习 ✓ 局部平移不变 ✓ 置换不变 (permutation invariance) ✓
  • Set Abstraction 层 = 最远点采样 (FPS) + 分组 (ball query) + PointNet:
    • FPS:从 $N$ 个点中采样出 $N_1$ 个分布均匀的中心点。
    • Ball query:以中心点为球心、半径为超参,最多取 $k$ 个邻点(多则随机取 $k$,少则复制凑数,不影响 max pooling)。
    • 邻域点转相对坐标 $u=x-x_c,\ v=y-y_c$,再过 PointNet → 提取平移不变的局部几何特征。
  • 分割任务需上采样:通过 3D 插值(基于 3 近邻的反距离加权)+ skip link 拼接(把编码器同层特征接回来)逐步恢复到原始点数。

11.2 体素网络与稀疏卷积

  • 体素化 (voxelization):用规则 3D 网格表示占用情况,可直接套 3D CNN(4D 卷积核)。
  • 复杂度问题:分辨率立方增长($30^3=27000$ 已很大),且体素化有信息损失。
  • 稀疏性洞察:3D 形状的占用率随分辨率立方下降(表面是 2D 流形),大量体素是空的。
  • 稀疏卷积 (sparse conv):只存储/计算占用的体素,约束计算在表面附近。实现:MinkowskiEngine、TorchSparse、SparseConvNet。
稀疏卷积点云网络
优点核空间各向异性;索引/邻域查询高效;适合大场景高分辨率;易用,适合快速试验
缺点分辨率受限;离散化误差性能略低;FPS/ball query 较慢
课件 · Lect11
PointNet++ 的 Set Abstraction 层包含哪些操作?(多选)
A. 最远点采样 (FPS)
B. Ball query 分组
C. 对每个局部区域应用 PointNet
D. 对全图做一次全局稠密卷积
答案:A、B、C。Set Abstraction = FPS + grouping(ball query) + PointNet,实现层次化局部特征提取。D 是稠密体素方法的做法。

第 11b 章 · 序列模型 RNN / LSTM(Lect11)

11.3 循环神经网络 (RNN)

  • 处理序列数据,隐藏状态递归更新:$h_t = f_W(x_t, h_{t-1})$,所有时间步共享同一组权重 $W$。
  • vanilla RNN:$h_t = \tanh(W_{hh}h_{t-1} + W_{xh}x_t)$,输出 $y_t = W_{hy}h_t$。
  • 结构灵活:one-to-many(图像描述)、many-to-one(分类)、many-to-many(翻译/逐帧标注)。
  • 训练用通过时间的反向传播 (BPTT);序列太长时用截断 BPTT (truncated BPTT),只在窗口内传播梯度——窗口外的长程依赖学不到。

11.4 梯度消失/爆炸

BPTT 中梯度反复乘以 $W_{hh}$:奇异值 <1 → 梯度消失(远处信号被淹没,只能学到近期依赖);>1 → 梯度爆炸(可用梯度裁剪缓解)。梯度消失使模型无法捕捉长程依赖(如开头的 "tickets" 影响末尾预测)。

11.5 长短期记忆 (LSTM)

  • 除隐藏状态 $h_t$ 外,引入单元状态 (cell state) $c_t$ 作为长期记忆,类似计算机的 RAM。
  • 三个门(值在 0~1 之间,由当前上下文动态计算)控制信息:
    • 遗忘门 $f$:决定从 cell 擦除哪些信息
    • 输入门 $i$ + 候选 $g$:决定写入哪些新信息
    • 输出门 $o$:决定从 cell 读出哪些信息到 $h_t$
  • 更新:$c_t = f\odot c_{t-1} + i\odot g$,$h_t = o\odot\tanh(c_t)$。
  • 缓解梯度消失:cell state 通过加法更新,提供一条梯度的"高速公路"(gradient highway),使梯度沿 $c_t$ 几乎无衰减地流动。
  • GRU:LSTM 的简化变体(合并门、无单独 cell state),参数更少。

11.6 序列生成与解码

策略做法特点
贪心采样每步取概率最高的 token确定性,只能生成一条序列
加权采样按预测分布采样多样,但可能采到错误 token 跑偏
穷举搜索枚举所有序列取最优$O(V^T)$ 太贵
Beam search每步保留 $k$ 个最优部分序列效率与质量折中,不保证全局最优
课件 · Lect11
LSTM 通过哪些机制缓解 RNN 的梯度消失问题?(多选)
A. 引入 cell state $c_t$ 作为长期记忆
B. cell state 加性更新,提供梯度高速公路
C. 用输入/遗忘/输出门动态控制读写
D. 完全去掉非线性激活
答案:A、B、C。LSTM 的核心是加性更新的 cell state 与门控机制。D 错误,LSTM 仍用 sigmoid/tanh 非线性。

第 12 章 · 大模型 I — Attention & Transformer(Lect12)

12.1 从 RNN+Attention 到自注意力

  • seq2seq+attention:decoder 每个时间步用不同的上下文向量 $c_t$,按注意力权重对 encoder 所有隐藏状态加权求和——"看"输入的不同部分。
  • Attention 是一种新的基本算子:根据 query 与一组 (key, value) 的相似度做加权聚合,本身与序列、与位置无关。

12.2 缩放点积注意力 (Scaled Dot-Product Attention)

$\text{Attention}(Q,K,V) = \text{softmax}\!\left(\dfrac{QK^{\top}}{\sqrt{d_k}}\right)V$

  • Query / Key / Value:由输入线性投影得到。用 $Q$ 与 $K$ 算相似度(点积),softmax 归一化为权重,对 $V$ 加权求和。
  • 为何除以 $\sqrt{d_k}$:维度大时点积方差随 $d_k$ 增大,过大 logits 使 softmax 饱和、梯度极小。除以 $\sqrt{d_k}$ 归一化方差,稳定训练。

12.3 自注意力 (Self-Attention)

  • $Q, K, V$ 都来自同一输入序列,让每个 token 与序列中所有 token 交互。
  • 置换等变 (permutation equivariant):打乱输入顺序,输出同样被打乱——自注意力本身不感知位置
  • 因此需要位置编码 (positional encoding) 注入顺序信息(正弦/可学习)。

12.4 Masked & Multi-head

  • Masked self-attention:自回归生成时,把未来位置的注意力 logits 置 $-\infty$(softmax 后为 0),保证位置 $i$ 只看 $\le i$,维持因果性
  • 多头注意力:把 $Q/K/V$ 投影到 $h$ 个低维子空间分别做注意力,再拼接投影回去。让模型在不同子空间并行关注不同类型的关系。

12.5 复杂度

标准自注意力关于序列长度 $N$ 的计算与(朴素)显存复杂度均为 $O(N^2)$(注意力矩阵 $QK^{\top}$ 是 $N\times N$)。这是长序列的主要瓶颈;FlashAttention 可把显存降到 $O(N)$(计算仍 $O(N^2)$)。

12.6 Transformer 块与 ViT

  • Transformer block:(多头自注意力 → 残差 + LayerNorm) → (前馈 MLP → 残差 + LayerNorm)。
  • 残差连接缓解深层梯度问题;LayerNorm 跨特征维归一化(适合变长序列)。
  • Vision Transformer (ViT):把图像切成不重叠 patch(如 $16\times16$),每个 patch 展平 + 线性投影成 token,加位置编码与 [CLS] token,送入标准 Transformer encoder 做分类。
课件 · Lect12
缩放点积注意力中除以 $\sqrt{d_k}$ 的主要目的是?
A. 加快矩阵乘法
B. 使 Q 和 K 维度一致
C. 归一化点积方差,防止 softmax 饱和、梯度消失
D. 保证权重为整数
答案:C。$d_k$ 大时点积方差随之增大,过大 logits 使 softmax 进入饱和区导致梯度极小,除以 $\sqrt{d_k}$ 稳定训练。
简答 · Lect12
为什么 Transformer 需要位置编码,而 RNN 不需要?
RNN 按时间步顺序处理序列,顺序信息天然蕴含在递归计算中。而自注意力对输入 token 是置换等变的——它并行地让每个 token 与所有 token 交互,本身完全不感知位置;若不加位置信息,打乱输入顺序输出只会被同样打乱,模型无法区分 "猫追狗" 与 "狗追猫"。因此 Transformer 必须显式加入位置编码(正弦或可学习)来注入顺序。

第 13 章 · 生成模型 I — AE / VAE / GAN(Lect13)

13.1 自编码器与概率自编码器

  • Autoencoder:encoder 把 $x$ 压缩到低维潜码 $z$,decoder 重构 $\hat{x}$,用重构误差训练。潜码可捕捉姿态、笑容程度等潜在属性
  • 概率自编码器:希望建模 $p(x)=\int p(x|z)p(z)\,dz$ 以便生成新样本。
  • 难点 (intractability):高维潜空间下该积分解析不可解;朴素蒙特卡洛采样因绝大多数 $z$ 对应的 $p(x|z)$ 极小而方差巨大。

13.2 变分自编码器 (VAE)

  • 引入变分后验 $q_\phi(z|x)$ 近似真实后验 $p(z|x)$。
  • 用 Jensen 不等式($f$ 为凹函数时 $f(\mathbb{E}[X])\ge\mathbb{E}[f(X)]$)推出对数似然的下界 ELBO

$\log p(x) \ge \underbrace{\mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)]}_{\text{重构项}} - \underbrace{D_{KL}\big(q_\phi(z|x)\,\|\,p(z)\big)}_{\text{正则项}} = \text{ELBO}$

  • 重构项:让解码器从 $z$ 重建出 $x$;KL 项:让后验 $q_\phi(z|x)$ 贴近先验 $p(z)=\mathcal{N}(0,I)$。
  • 重参数化技巧:直接采样 $z\sim\mathcal{N}(\mu,\sigma^2)$ 不可导;改写为 $z=\mu+\sigma\odot\varepsilon,\ \varepsilon\sim\mathcal{N}(0,I)$,把随机性移到外部噪声,使梯度可经 $\mu,\sigma$ 回传。

13.3 生成对抗网络 (GAN)

  • 生成器 $G$:把噪声 $z$ 映射成假样本;判别器 $D$:区分真/假。
  • minimax 对抗博弈:$\min_G\max_D\ \mathbb{E}_{x\sim p_{data}}[\log D(x)] + \mathbb{E}_{z}[\log(1-D(G(z)))]$。
  • 理想平衡时 $G$ 生成的分布与真实数据分布一致,$D$ 无法区分(输出 0.5)。
  • 对比:VAE 显式建模似然(有 ELBO),生成偏模糊;GAN 隐式建模、样本更锐利但训练不稳定(模式崩溃)。
课件 · Lect13
VAE 中重参数化技巧 $z=\mu+\sigma\odot\varepsilon$ 的作用是?
A. 消除 KL 散度项
B. 把随机采样改写为可导形式,使梯度能回传到 $\mu,\sigma$
C. 加快采样速度
D. 替代解码器
答案:B。直接从 $q_\phi$ 采样不可导,重参数化把随机性移到外部噪声 $\varepsilon$,使梯度可经 $\mu,\sigma$ 反向传播。

第 14 章 · 大模型 II — 多模态与视频(Lect14)

14.1 CLIP:图文对比学习

  • 用大规模图文对训练图像编码器 + 文本编码器,把两者映射到同一嵌入空间
  • 对比训练目标:一个 batch 内,匹配的图文对相似度最大化,不匹配的最小化(对称 InfoNCE / 交叉熵)。
  • Zero-shot 分类:把类别名写成文本提示("a photo of a {class}")编码为文本嵌入,与图像嵌入算相似度,取最高者——无需该数据集的任何训练样本。
  • 学到的表示泛化强(linear probe 在多数据集上表现优异)。

14.2 LM + CLIP / 基础模型

  • 把 CLIP 的视觉表示接入语言模型,构成多模态基础模型,支持图文问答、描述生成等。
  • VidIL(few-shot video-language learner):用图像/语言模型组合处理视频任务的代表性方法。

14.3 视频 Transformer

视频在空间 patch 之外还有时间维度,时空 token 数随帧数增长,使全时空自注意力的 $O(N^2)$ 开销迅速膨胀。常用分解注意力(先空间后时间)或局部窗口来降低开销。
课件 · Lect14
CLIP 实现 zero-shot 图像分类的方式是?
A. 对每个新数据集重新微调分类头
B. 把类别名构造成文本提示,比较图像嵌入与各文本嵌入的相似度
C. 每类需要大量标注样本
D. 只能做图文检索,不能分类
答案:B。CLIP 将候选类别写成文本提示编码为文本嵌入,与图像嵌入算相似度取最高者,无需任何针对该数据集的训练。

第 15 章 · 生成模型 II — 扩散模型(Lect15)

15.1 从层次化 VAE 到扩散

  • 单层 VAE 的单一潜码要同时编码类别、形状、姿态、纹理、细节,负担过重。
  • 层次化 VAE:多个潜变量构成马尔可夫链,每个变量只依赖相邻变量。
  • 扩散模型可看作层次化 VAE 的特例:潜变量是逐步加噪的序列 $x_{1:T}$,推断(前向加噪)过程固定、无可学习参数,且构造使最终 $x_T$ 收敛到标准高斯。

15.2 前向扩散过程 (Forward Process)

  • 逐步加高斯噪声:$q(x_t|x_{t-1}) = \mathcal{N}(x_t;\sqrt{1-\beta_t}\,x_{t-1},\ \beta_t I)$。
  • 扩散核(任意步一步采样):令 $\alpha_t=1-\beta_t,\ \bar\alpha_t=\prod_{s\le t}\alpha_s$,则 $$q(x_t|x_0) = \mathcal{N}(x_t;\sqrt{\bar\alpha_t}\,x_0,\ (1-\bar\alpha_t)I)$$ 即 $x_t = \sqrt{\bar\alpha_t}\,x_0 + \sqrt{1-\bar\alpha_t}\,\varepsilon,\ \varepsilon\sim\mathcal{N}(0,I)$。
  • $T$ 足够大时分布趋于标准高斯。

15.3 反向去噪过程 (Reverse Process)

  • 训练一个网络 $p_\theta(x_{t-1}|x_t)$ 近似反向过程;最大化似然 → 优化变分下界(与 VAE 同源)。
  • 真实反向后验 $q(x_{t-1}|x_t,x_0)$ 是高斯,均值 $\mu_t$、方差 $\beta_t$ 可解析推出。
  • 重参数化为预测噪声:与其预测均值,不如让网络 $\varepsilon_\theta(x_t,t)$ 直接预测所加的噪声。

15.4 DDPM 简化训练目标

$\mathcal{L}_{\text{simple}} = \mathbb{E}_{x_0,\,t,\,\varepsilon}\Big[\big\|\varepsilon - \varepsilon_\theta(\sqrt{\bar\alpha_t}\,x_0 + \sqrt{1-\bar\alpha_t}\,\varepsilon,\ t)\big\|^2\Big]$

一句话记忆:训练扩散 = 给 $x_0$ 加已知噪声得到 $x_t$,让网络预测这个噪声。
  • 训练:随机取 $t$、噪声 $\varepsilon$,构造 $x_t$,最小化 $\|\varepsilon-\varepsilon_\theta(x_t,t)\|^2$。
  • 采样/生成:从纯高斯 $x_T\sim\mathcal{N}(0,I)$ 出发,用去噪网络逐步迭代 $x_{T-1},\dots,x_0$($T$ 步)。
  • 网络结构常用 U-Net

15.5 进阶视角(了解)

  • Score 视角:score 函数 $s(x)=\nabla_x\log p(x)$ 是指向高密度区域的向量场;预测噪声等价于估计 score。
  • SDE 视角:连续加噪可写成随机微分方程 $d\boldsymbol{x}=f(\boldsymbol{x},t)dt+g(t)d\boldsymbol{w}$,扩散学网络近似求解。
课件 · Lect15
DDPM 简化后的训练目标实际上让网络预测什么?
A. 原始图像 $x_0$
B. 所加入的噪声 $\varepsilon$
C. 类别标签
D. 下一时间步的方差
答案:B。经重参数化,DDPM 训练让网络 $\varepsilon_\theta(x_t,t)$ 预测构造 $x_t$ 时所加的噪声 $\varepsilon$,损失为 $\|\varepsilon-\varepsilon_\theta(x_t,t)\|^2$。
简答 · Lect15
简述扩散模型与 VAE 的关系。
扩散模型可视为层次化 VAE 的特例。其潜变量是对数据逐步加噪得到的序列 $x_{1:T}$;与一般 VAE 不同的是,扩散的推断(前向加噪)过程是固定的、无可学习参数,且被构造成使最终 $x_T$ 收敛到标准高斯。训练时同样最大化变分下界 (ELBO),反向去噪网络对应 VAE 的解码器。

互动自测(期末 · 打分)

计算机视觉期末自测

0 / 0

期末考前速查表

相机模型(Lect09)

投影链路:$\tilde{p} = K\,[R\mid T]\,\tilde{P}_w$(世界 → 像素)

相机系变换:$P = RP_w + T$;世界系下光心:$-R^{-1}T=-R^{\top}T$,朝向 $R^{\top}$

深度反投影:$x=z(u-c_x)/\alpha,\ y=z(v-c_y)/\beta$

透视性质:保直线,不保平行/长度/角度/比例

3D 表示与渲染(Lect10)

表示:depth image = 2.5D;voxel = 规则 $H\times W\times D$;mesh = geometry + topology + attributes;point cloud = 无序 $N\times3$ 采样;implicit field = SDF/UDF/occupancy。

Mesh 采样:按三角面面积抽 face,再在三角形内部均匀采样;FPS 比 uniform sampling 更均匀。

SDF:零等值面 $f(x)=0$ 是表面;marching cubes 从网格符号查表提取 mesh。

NeRF:连续 $5$D radiance field,输入位置+视角,输出密度 $\sigma$ 与颜色 $c$;体渲染 $I=\sum_i T_i\alpha_i c_i$。

3DGS:稀疏各向异性 3D Gaussian,投影成 2D Gaussian 后 splatting,减少空空间 ray marching。

Transformer(Lect12)

缩放点积注意力:$\text{softmax}\!\left(\frac{QK^\top}{\sqrt{d_k}}\right)V$

复杂度:$O(N^2)$(FlashAttention 显存 $O(N)$)

自注意力置换等变 → 需位置编码;masked → 因果;多头 → 多子空间

ViT:图像切 patch → 线性嵌入 + 位置编码 + [CLS]

VAE / GAN(Lect13)

ELBO:$\log p(x)\ge\mathbb{E}_q[\log p_\theta(x|z)] - D_{KL}(q_\phi(z|x)\|p(z))$

重参数化:$z=\mu+\sigma\odot\varepsilon,\ \varepsilon\sim\mathcal{N}(0,I)$

GAN:$\min_G\max_D\ \mathbb{E}[\log D(x)]+\mathbb{E}[\log(1-D(G(z)))]$

扩散 DDPM(Lect15)

扩散核:$x_t=\sqrt{\bar\alpha_t}\,x_0+\sqrt{1-\bar\alpha_t}\,\varepsilon$,$\bar\alpha_t=\prod_s\alpha_s$

训练目标:$\|\varepsilon-\varepsilon_\theta(x_t,t)\|^2$(预测噪声)

采样:$x_T\sim\mathcal{N}(0,I)$ 逐步去噪 $\to x_0$

score:$s(x)=\nabla_x\log p(x)$;扩散是层次化 VAE 特例

序列模型 & 3D(Lect11)

概念要点
RNN$h_t=f_W(x_t,h_{t-1})$,共享权重,梯度消失/爆炸
LSTMcell state 加性更新(梯度高速公路)+ 三门控
Beam search每步保留 $k$ 个最优部分序列
PointNet++FPS + ball query + PointNet;置换/平移不变
稀疏卷积利用 3D 稀疏性,只算占用体素