Ch08 计算机视觉 · 考研/期末复习大纲
承接 Ch07 口诀开篇: "Ch07 给语言应用 — Attention=QK^T/√d_k V, Perplexity=2^H, RLHF=PPO+奖励模型. Ch08 给视觉应用 — 卷积=空间共享参数, IoU=交集/并集, ViT=Transformer 搬到图像"
跨章承接: Ch05 §05 KL/perplexity → CLIP 损失; Ch06 §03 CNN+激活函数 → Ch08 经典 CNN; Ch07 §04 Transformer → Ch08 §05 ViT
一、考点分级速览 (🔴必考 13 / 🟡常考 8 / 🟢拓展 7, 共 28 考点)
| 考频 |
考点 |
说明 |
| 🔴必考 |
卷积运算公式 |
Ch08 §01 核心, CNN 基础 |
| 🔴必考 |
输出尺寸公式 \((I-K+2P)/S+1\) |
面试高频 |
| 🔴必考 |
IoU 公式 |
检测核心指标 |
| 🔴必考 |
mAP 计算方法 |
检测标准评估 |
| 🔴必考 |
ResNet 残差连接 |
152 层深度 CNN 关键 |
| 🔴必考 |
经典 CNN 演化 (LeNet→ResNet) |
5 个里程碑 |
| 🔴必考 |
池化作用 (下采样+平移不变) |
CNN 标配 |
| 🔴必考 |
BN 公式与作用 |
训练深度 CNN 关键 |
| 🔴必考 |
YOLO 单阶段检测原理 |
实时检测主流 |
| 🔴必考 |
anchor-free vs anchor-based |
YOLOv5 vs YOLOv8 |
| 🔴必考 |
U-Net 编码-解码+跳跃 |
分割标准结构 |
| 🔴必考 |
Dice 损失 |
类别不平衡稳定 |
| 🔴必考 |
ViT patch 切分 |
Transformer 搬图像 |
| 🟡常考 |
3×3 vs 5×5 参数对比 |
VGG 极简设计 |
| 🟡常考 |
AlexNet 三大创新 (ReLU/Dropout/GPU) |
2012 ImageNet 突破 |
| 🟡常考 |
GoogLeNet Inception 多尺度并行 |
22 层 5M 参数 |
| 🟡常考 |
YOLOv8 C2f + TAL |
2023 主流 |
| 🟡常考 |
1×1 卷积 降维 |
跨通道信息融合 |
| 🟡常考 |
Mask R-CNN 实例分割 |
RoIAlign + FCN |
| 🟡常考 |
Dice vs IoU 公式对比 |
类别不平衡 |
| 🟡常考 |
CLIP 对比学习损失 |
文本-图像对齐 |
| 🟡常考 |
DETR 端到端检测 |
无 anchor 无 NMS |
| 🟢拓展 |
BN 在训练 vs 推理模式 |
全局滑动平均 |
| 🟢拓展 |
SAM 零样本分割 |
提示驱动 |
| 🟢拓展 |
ConvNeXt 现代化 CNN |
2022 ImageNet 87.8% |
| 🟢拓展 |
MobileNet 深度可分离卷积 |
移动端轻量 |
| 🟢拓展 |
EfficientNet 复合缩放 |
神经架构搜索 |
| ⭐拓展 |
多模态大模型 (LLaVA/GPT-4V) |
视觉指令微调 |
二、考点详解 (精选 13 必考)
🔴考点 1 · 卷积运算公式 (§01)
- 出处: §01 图像基础
- 公式: \((I*K)[i,j] = \sum_{m=0}^{k-1} \sum_{n=0}^{k-1} I[i+m,j+n] \cdot K[m,n]\)
- 数字例: 5×5 图, 3×3 Sobel 核, valid padding → 输出 3×3
- 典型题型: 算卷积结果 (Ch08 面试高频)
- 易错点: 互相关 vs 严格卷积区别
- 连接: Ch08 §02 经典 CNN 都基于卷积
🔴考点 2 · ResNet 残差连接 (§02)
- 出处: §02 经典 CNN
- 公式: \(y = \mathcal{F}(x, \{W_i\}) + x\)
- 数字例: ResNet-152, 60M 参数, ImageNet 3.57% top-5 错误率
- 典型题型: 解释为何残差连接让深度 CNN 可训练 (L5 评价题)
- 易错点: 维度不匹配时必须 \(W_s x\) 投影
- 连接: Ch06 §05 PPO 用过类似"恒等捷径"思想
🔴考点 3 · IoU 公式 (§03)
- 出处: §03 目标检测
- 公式: \(\text{IoU}(A, B) = \dfrac{|A \cap B|}{|A| + |B| - |A \cap B|}\)
- 数字例: 两框完全重合 IoU=1, 不相交 IoU=0
- 典型题型: 手算 IoU + NMS 应用 (L5 反例识别)
- 易错点: 中心点距离不能代替 IoU
- 连接: Dice 系数 (Ch05 §05 信息论) 公式与 IoU 转换
🔴考点 4 · mAP 评估 (§03)
- 出处: §03 目标检测
- 公式: AP = precision-recall 曲线下面积 (现代插值法), mAP = 各类 AP 平均
- 数字例: YOLOv8x COCO mAP@0.5:0.95 = 53.9
- 典型题型: mAP@0.5 vs mAP@0.5:0.95 区别
- 易错点: 用准确率代替 mAP (掩盖漏检)
- 连接: Ch05 §05 perplexity (LM 评估) 类似 AP 评估
🔴考点 5 · YOLO 单阶段检测 (§03)
- 出处: §03 目标检测
- 公式: 输出 7×7×30 张量, 每格 2 框 + 20 类
- 数字例: YOLOv1 45 FPS, mAP 63.4
- 典型题型: YOLO vs Faster R-CNN 速度-精度权衡
- 易错点: 7×7 网格太粗, 小目标检测差
- 连接: Ch06 §02 GD 回归思想贯穿 YOLO 损失
🔴考点 6 · U-Net 编码-解码+跳跃 (§04)
- 出处: §04 图像分割
- 公式: 4 次下采样 + 4 次上采样 + skip connection (concat)
- 数字例: ISBI 错误率 3% (vs SOTA 25%)
- 典型题型: 为什么 skip 传浅层细节 (L5 评价题)
- 易错点: skip 是 concat (拼接) 不是 add (加法, ResNet 风格)
- 连接: Ch08 §02 ResNet 加法跳过 vs U-Net 拼接跳过
🔴考点 7 · Dice 损失 (§04)
- 出处: §04 图像分割
- 公式: \(\text{Dice} = \dfrac{2|P \cap G|}{|P| + |G|}\)
- 数字例: 4×4 验证 Dice = 0.8 (IoU 0.67 推算)
- 典型题型: 为什么 Dice 比 BCE 抗类别不平衡 (L5 评价)
- 易错点: \(\epsilon\) 防除零不能省
- 连接: Ch05 §05 KL 散度也是类别不平衡相关
🔴考点 8 · ViT patch 切分 (§05)
- 出处: §05 视觉 Transformer
- 公式: \(N = HW/P^2\) 个 patch, \(P=16, 224×224 \Rightarrow N=196\) tokens
- 数字例: ViT-L/16 ImageNet 88.55% (超 CNN SOTA)
- 典型题型: ViT vs CNN 归纳偏置对比
- 易错点: ViT 需大数据集 (JFT-300M), 小数据集 CNN 占优
- 连接: Ch07 §04 Transformer QK^T/√d_k V 直接搬到 ViT
🔴考点 9 · CLIP 对比损失 (§05)
- 出处: §05 视觉 Transformer
- 公式: \(\mathcal{L} = -\log \frac{\exp(\text{sim}(I_i, T_i)/\tau)}{\sum_j \exp(\text{sim}(I_i, T_j)/\tau)}\)
- 数字例: CLIP 4 亿图文对训练
- 典型题型: zero-shot 分类流程
- 易错点: \(\tau\) 温度对 zero-shot 迁移性能影响大
- 连接: Ch05 §05 KL 散度/perplexity
🔴考点 10 · BN 训练-推理模式切换 (§01)
- 出处: §01 图像基础
- 公式: \(\hat x_i = (x_i - \mu_B)/\sqrt{\sigma_B^2 + \epsilon}\), \(y_i = \gamma \hat x_i + \beta\)
- 数字例: ResNet-50 训练 50 epoch (无 BN 需 100+)
- 典型题型: 训练-推理模式切换 (L4 分析)
- 易错点: batch_size=1 时 \(\sigma=0\) 除零
- 连接: Ch07 §04 LayerNorm 替代方案
🔴考点 11 · 池化 vs 卷积降采样 (§01)
- 出处: §01 图像基础
- 公式: \(P[i,j] = \max_{(m,n)\in[0,2)^2} I[2i+m, 2j+n]\)
- 数字例: 4×4 → 2×2 max pool
- 典型题型: 为什么需要池化 (平移不变)
- 易错点: stride 1 浪费计算
- 连接: Ch08 §02 ResNet 用 stride 2 替代池化
🔴考点 12 · 经典 CNN 演化时间线 (§02)
- 出处: §02 经典 CNN
- 数字: LeNet 1998 5层 → AlexNet 2012 8层 → VGG 2014 16层 → GoogLeNet 2014 22层 → ResNet 2015 152层
- 典型题型: 5 个里程碑的关键创新
- 易错点: 深度 ≠ 准确率 (无残差时 100 层不如 22 层)
- 连接: Ch07 §04 Transformer 演化同模式 (深度↔性能)
🔴考点 13 · anchor-free vs anchor-based 检测 (§03)
- 出处: §03 目标检测
- 定义: anchor-based 用预设 anchor (YOLOv5), anchor-free 直接预测中心点+宽高 (YOLOv8)
- 数字例: YOLOv8n (3.2M) vs YOLOv5n (1.9M)
- 典型题型: 为什么 anchor-free 简化超参
- 易错点: 无 anchor 不是"没先验", 而是"少超参"
- 连接: Ch08 §05 DETR 进一步去 anchor + NMS
三、易错点合集 (25 条)
| # |
症状 |
为何错 |
如何避坑 |
| 1 |
期望 ViT 完全超 CNN |
错! ViT 需大数据, 小数据集 CNN 仍占优 |
视数据量定架构 |
| 2 |
用 mAP 评估语义分割 |
错! mAP 是检测, 分割用 mIoU/Dice |
任务选指标 |
| 3 |
Dice 损失处理 0/0 边界 |
需 \(\epsilon\) 防除零 |
公式必加 \(\epsilon\) |
| 4 |
U-Net skip 用 add (ResNet 风格) |
错! U-Net 是 concat (通道堆叠) |
区分两种 skip |
| 5 |
YOLO 是单阶段所以简单 |
错! YOLO 损失函数设计极精巧 |
单阶段 ≠ 简单 |
| 6 |
把 BCE 当肿瘤分割损失 |
类别不平衡, 需 Dice 或 focal |
小目标选 Dice |
| 7 |
ResNet 残差 = 简单加法 |
维度不匹配需 \(W_s\) 投影 |
投影矩阵不可省 |
| 8 |
YOLOv8 anchor-free = 无先验 |
错! 仍是预测中心+宽高, 不用预设 anchor |
anchor ≠ prior |
| 9 |
把 CLIP 当纯图像模型 |
错! CLIP 是文-图联合表征 |
联合 embedding |
| 10 |
BN 测试时用 batch 统计 |
错! BN 测试用训练时滑动平均的全局 |
model.eval() 切换 |
| 11 |
Mask R-CNN Mask 头在所有类算损失 |
错! 只在 ground-truth 类上算 |
K=80 选 1 类 |
| 12 |
IoU=1 必是同一框 |
错! 形状不同 IoU 仍可=1 (退化情况) |
检查面积 |
| 13 |
U-Net 输出 1×1×C |
错! 输出 H×W×C (像素级) |
encoder-decoder |
| 14 |
CNN vs Transformer 完全替代 |
错! 混合架构 (CoAtNet, EfficientFormer) 是主流 |
混合优于单一 |
| 15 |
Dice = IoU |
错! Dice 永远 ≥ IoU, 公式不同 |
Dice = 2IoU/(1+IoU) |
| 16 |
ViT 无卷积 |
错! ViT 有 patch embedding (Linear Projection) |
patch 内还是线性 |
| 17 |
Dice 损失对所有类别平衡 |
错! Dice 对所有类同等加权, 小目标仍吃亏 |
加 focal 或 class weighting |
| 18 |
ResNet = 残差 + BN |
错! ResNet 主要是残差, BN 是辅助 |
残差是核心创新 |
| 19 |
YOLO 不能检测小目标 |
错! YOLOv8-P2 用高分辨率特征层 |
多尺度特征图 |
| 20 |
把"卷积"和"互相关"混用 |
严格数学"卷积"需翻转核, DL 实际"互相关" |
深度学习用"卷积"惯例 |
| 21 |
用普通交叉熵训练分割 |
错! 类别不平衡需 Dice 或 focal |
改损失 |
| 22 |
YOLOv8 是 anchor-based |
错! YOLOv5+ 是 anchor-free |
v8 = anchor-free |
| 23 |
把"上采样"和"反卷积"混 |
上采样可用插值 (nearest/bilinear), 反卷积是转置卷积 |
上采样 ≠ 转置卷积 |
| 24 |
视 ViT 简单 |
错! ViT 缺 CNN 归纳偏置, 需大数据或蒸馏 |
训练数据要大 |
| 25 |
Dice loss 100% 取代 BCE |
错! 实践常 Dice + BCE 联合 |
混合损失最稳 |
四、对比记忆表 (4 张)
| 维度 |
CNN (ResNet) |
Transformer (ViT) |
| 归纳偏置 |
局部性 + 平移不变 |
无 (全图注意力) |
| 数据需求 |
中 (ImageNet 即可) |
大 (JFT-300M) |
| 计算量 |
\(O(H \cdot W \cdot C^2 \cdot K^2)\) |
\(O((H \cdot W)^2 \cdot C)\) |
| 小目标 |
优 (局部感受野) |
弱 (patch 切分粗) |
| 大目标 |
弱 (感受野有限) |
优 (全局视野) |
| 工程 |
成熟 (TensorRT) |
新兴 (FlashAttention) |
表 2 · YOLO 主流版本对比
| 版本 |
年份 |
创新 |
FPS |
mAP (COCO) |
| YOLOv1 |
2015 |
单阶段检测 |
45 |
63.4 |
| YOLOv3 |
2018 |
多尺度 (FPN) |
30 |
33.0 |
| YOLOv5 |
2020 |
anchor-based 工程优化 |
140 (v5n) |
45.7 |
| YOLOv8 |
2023 |
anchor-free + C2f + TAL |
280 (v8x) |
53.9 |
| YOLOv9 |
2024 |
PGI 可编程梯度信息 |
250 |
55.6 |
表 3 · 分割任务对比
| 类型 |
输出 |
例子 |
模型 |
| 语义分割 |
每像素类别 |
道路/建筑/天空 |
FCN, DeepLab, U-Net |
| 实例分割 |
每像素 (类别, ID) |
行人 A, 行人 B |
Mask R-CNN, YOLACT |
| 全景分割 |
上述两者合一 |
COCO Panoptic |
Panoptic FPN, Mask2Former |
| 视频分割 |
时空 mask |
自动驾驶 |
SiamMask, XMem |
表 4 · CNN 经典架构参数量
| 架构 |
年份 |
层数 |
参数量 |
top-5 错误率 |
| LeNet-5 |
1998 |
5 |
60K |
(MNIST 99%) |
| AlexNet |
2012 |
8 |
60M |
16.4 |
| VGG-16 |
2014 |
16 |
138M |
7.3 |
| GoogLeNet |
2014 |
22 |
5M |
6.7 |
| ResNet-50 |
2015 |
50 |
25.6M |
5.3 |
| ResNet-152 |
2015 |
152 |
60M |
3.57 |
| ViT-L/16 |
2021 |
24 |
304M |
88.55% acc |
五、复习路径
3 天冲刺 (考前突击)
- Day 1: §01 卷积/池化/BN + §02 LeNet→ResNet 5 个里程碑
- Day 2: §03 YOLO + IoU/mAP + §04 U-Net/Dice
- Day 3: §05 ViT/CLIP + 全章 25 易错 + 对比表 4 张
7 天扎实 (期末标准)
- Day 1: §01 卷积 + 手算 5×5 Sobel
- Day 2: §02 LeNet/AlexNet + CIFAR-10 训练
- Day 3: §02 VGG/ResNet + 跑通 ImageNet 分类
- Day 4: §03 YOLO + 跑通自定义数据检测
- Day 5: §04 U-Net + Dice + 跑通医学影像分割
- Day 6: §05 ViT/CLIP + zero-shot 图像分类
- Day 7: §05 SAM + 跨章总复习
14 天精通 (考研 + 深度)
- Day 1-2: §01 卷积变体 (深度可分离/空洞/转置)
- Day 3-4: §02 经典 CNN 全家桶 + 轻量化 (MobileNet/EfficientNet)
- Day 5-6: §03 检测器 (Faster R-CNN/DETR/DINO/Deformable DETR)
- Day 7-8: §04 分割全家桶 (FCN/DeepLab/Mask2Former/SAM)
- Day 9-10: §05 ViT 全家桶 (Swin/DeiT/MAE/DINOv2)
- Day 11-12: §05 多模态大模型 (LLaVA/MiniGPT-4/CogVLM)
- Day 13: 跨章桥接 (Ch05-Ch07 信息论+Transformer+ML)
- Day 14: 总复习 + 错题本回顾
六、自测清单 (10 问, L1-L5)
- (L1 记忆) 写出 2D 卷积公式与输出尺寸公式。
- (L2 理解) ResNet 残差连接 \(y = F(x) + x\) 为何能训练 152 层?
- (L3 应用) 算两框 IoU: 框 A=(0,0,4,4), 框 B=(2,2,4,4), 求交集面积与 IoU。
- (L3 应用) ViT-L/16 输入 224×224, 求 patch 数 (P=16), 说明为何不需位置编码。
- (L4 分析) YOLO 单阶段 vs Faster R-CNN 两阶段的速度-精度权衡。
- (L4 分析) Dice 损失与 IoU 公式转换, 解释为什么 Dice 在小目标上更稳定。
- (L5 评价) 一学生说"用 ResNet-50 的 5×5 卷积替代 3×3 卷积能涨精度", 错在哪?
- (L5 评价) 一学生说"YOLOv8 比 YOLOv5 慢", 错在哪? 数字验证。
- (L5 评价) 一学生说"U-Net 与 ResNet 都是 skip connection, 等价", 错在哪?
- (L5 综合) 给定医疗影像二分类 (99% 正常, 1% 肿瘤), 选什么损失函数 + 评价指标? 解释为什么。
参考文件 (相对路径, 扫描 3 通过):
- ../../第08章 - 计算机视觉/01-05.md
- ../复习大纲/第07章.md
- ../WRITING_TEMPLATE.md
- ../QUALITY_PROCESS.md
- ../../第06章 - 机器学习/ (Ch06 承接 CNN)
- ../../第07章 - 计算语言学/ (Ch07 承接 Transformer)
- ../../第05章 - 概率论/ (Ch05 承接 KL/perplexity)