第 12 章 图像识别与深度学习
学习目标:掌握深度学习在计算机视觉中的核心架构——CNN、ResNet、Transformer、GAN、Diffusion;理解分类、检测、分割、生成四大任务范式;了解基础模型 (CLIP、SAM) 与部署实践。 本章是从传统图像处理到现代视觉智能的跨越,也是 2012-至今整个领域的精华。
12.1 从传统方法到深度学习
12.1.1 历史转折点:AlexNet (2012)
| 年 | 事件 | 意义 |
|---|---|---|
| 1998 | LeNet-5 (LeCun) | CNN 第一个成功应用(手写数字) |
| 2006 | 深度信念网 (Hinton) | 深度学习的”预训练”复兴 |
| 2009 | ImageNet 数据集 (Li Fei-Fei) | 14M 图像,1000 类 |
| 2012 | AlexNet 赢 ILSVRC (top-5 从 25.8% → 16.4%) | 深度学习爆发起点 |
| 2014 | VGG、GoogLeNet | 更深更宽 |
| 2015 | ResNet 超越人类 (top-5 3.5%) | 残差学习 |
| 2017 | Transformer (NLP) | 注意力机制 |
| 2020 | ViT | Transformer 进入视觉 |
| 2021 | CLIP, DALL-E | 视觉-语言基础模型 |
| 2022 | Diffusion Models (Stable Diffusion) | 生成爆发 |
| 2023 | SAM, GPT-4V | 通用视觉模型 |
12.1.2 为什么传统方法被取代?
传统流水线:
图像 → 手工特征 (SIFT/HOG) → 分类器 (SVM/Random Forest) → 结果 ↑ 费时、凭经验、鲁棒性差深度学习:
图像 → CNN (自动学习特征 + 分类) → 结果 ↑ 端到端训练,数据决定一切优势:
- 层次化表示:浅层学边缘,深层学部件/整体
- 端到端:特征与任务联合优化
- 可扩展:数据越多、模型越大 → 性能越好
12.2 卷积神经网络 (CNN) 基础
12.2.1 为什么用”卷积”?
全连接网络:1000×1000 图像展平 (\to 10^6) 输入 → 第一层 1000 神经元 → (10^9) 参数。太大。
CNN 三大思想:
- 局部连接 (Local Receptive Field):每个神经元只看小邻域
- 权值共享 (Weight Sharing):同一个核扫过整图
- 分层抽象:多层卷积递进
参数数量骤降:3×3 核 → 9 个参数(与图像大小无关)。
12.2.2 卷积层
[ \text{output}(f, i, j) = \sum_c \sum_{dy, dx} \text{input}(c, i + dy, j + dx) \cdot W(f, c, dy, dx) + b(f) ]
- (c):输入通道
- (f):输出通道(滤波器编号)
- 每个输出特征图 = 所有输入通道卷积加权后叠加
超参数:
- 核大小 (k)(3×3 最常用)
- 步长 (s)(2 用于下采样)
- 填充 (p)(保持尺寸时 (p = (k-1)/2))
- 输出尺寸:(\lfloor (W + 2p - k)/s \rfloor + 1)
12.2.3 激活函数
| 函数 | 公式 | 特点 |
|---|---|---|
| Sigmoid | (1/(1+e^{-x})) | 老了,饱和梯度 |
| Tanh | ((e^x - e^{-x})/(e^x + e^{-x})) | 零中心 |
| ReLU | (\max(0, x)) | 现代默认,快,稀疏 |
| Leaky ReLU | (\max(0.01 x, x)) | 负半轴小梯度 |
| GELU | (x \Phi(x)) | Transformer 常用 |
| Swish | (x \sigma(\beta x)) | EfficientNet 用 |
ReLU 的深度学习意义:解决了 Sigmoid/Tanh 的梯度消失,使训练非常深的网络成为可能。
12.2.4 池化层 (Pooling)
目的:下采样、增加感受野、引入平移不变性。
- Max Pooling:取邻域最大值(保留最强响应)
- Avg Pooling:取邻域平均(平滑)
- Global Avg Pooling:整张特征图求平均(分类头常用)
现代网络(ResNet 之后)常用步长 2 的卷积代替池化,减少信息损失。
12.2.5 全连接层
最后几层把特征图展平,做分类。现代架构常用 Global Average Pooling + 一层 FC,减少参数。
12.2.6 归一化
Batch Normalization (2015)
[ \hat{x} = \frac{x - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}, \quad y = \gamma \hat{x} + \beta ]
- (\mu_B, \sigma_B):batch 内均值方差
- (\gamma, \beta):可学习的缩放和偏置
作用:
- 加速训练(可用更大学习率)
- 缓解内部协变量偏移
- 轻微正则化
Layer Norm / Group Norm / Instance Norm
| 归一化 | 统计维度 | 适用 |
|---|---|---|
| BN | batch + 空间 | CNN 大 batch |
| LN | 单样本全部 | Transformer |
| GN | batch + 部分通道 | 小 batch |
| IN | 单样本单通道空间 | 风格迁移 |
12.3 经典 CNN 架构
12.3.1 LeNet-5 (1998)
Input 32×32 → Conv 6 → Pool → Conv 16 → Pool → FC 120 → FC 84 → FC 10简单清晰,建立 CNN 基本范式。
12.3.2 AlexNet (2012)
- 8 层(5 conv + 3 FC)
- 60M 参数
- 创新:
- ReLU(以前用 Sigmoid)
- Dropout
- 数据增强
- GPU 训练(两块 GTX 580)
- LRN(后来被 BN 取代)
12.3.3 VGG (2014)
- 极简:“只用 3×3 conv + 2×2 maxpool,堆很多层”
- VGG16、VGG19
- 亮点:连续的 3×3 卷积 = 大感受野 + 少参数
- 两个 3×3 = 一个 5×5 感受野
- 三个 3×3 = 一个 7×7 感受野
12.3.4 GoogLeNet / Inception (2014)
- Inception 模块:并行多尺度卷积
- 1×1, 3×3, 5×5, maxpool 并行
- 输出通道拼接
- 1×1 卷积降维:显著减少参数
- GAP 代替 FC
12.3.5 ResNet (2015) —— 里程碑
核心问题:直接堆更深的网络,精度反而下降(退化现象)。
何恺明洞察:让网络学 残差 (F(x) = H(x) - x),再加回 (x): [ y = F(x, {W_i}) + x ]
┌──────┐│ Conv ││ BN ││ ReLU ││ Conv ││ BN │──┐└──────┘ │ +x (skip connection) ↓ │ ReLU ←───┘为什么有效?
- 网络永远可以”学恒等映射” ((F = 0)) → 不比浅层差
- 梯度可以通过 skip 直接传到浅层 → 缓解梯度消失
- 实际训练了 152 层的 ResNet(之前最深 VGG 才 19 层)
变体:
- ResNet-18/34:两层块
- ResNet-50/101/152:Bottleneck(1×1 → 3×3 → 1×1)
- ResNeXt:引入 cardinality
- WideResNet:宽而浅
12.3.6 MobileNet (2017)
移动端设计。核心:深度可分离卷积。
标准卷积:(k \times k \times C_{in} \times C_{out}),参数 (k^2 C_{in} C_{out})。
深度可分离 = Depthwise + Pointwise:
- Depthwise:每通道独立 (k \times k) 卷积(只混合空间)
- Pointwise:1×1 conv(只混合通道)
- 参数 (k^2 C_{in} + C_{in} C_{out})
减小到原来的 (1/C_{out} + 1/k^2 \approx 1/9)((k=3))。精度略降,但移动端 10 倍提速。
MobileNetV2 加入 Inverted Residual + Linear Bottleneck,V3 加入 NAS + Squeeze-Excitation。
12.3.7 EfficientNet (2019)
复合缩放 (Compound Scaling):同时按比例放大深度、宽度、分辨率。 [ d = \alpha^\phi, \quad w = \beta^\phi, \quad r = \gamma^\phi, \quad \alpha \beta^2 \gamma^2 \approx 2 ]
B0 到 B7 依次放大,效率 / 精度 Pareto 最优。
12.4 训练 CNN 的实战要点
12.4.1 损失函数
分类: [ L = -\sum_i y_i \log \hat{y}_i \quad \text{(Cross Entropy)} ]
回归:(L_1, L_2, \text{Smooth-}L_1)
分割:Cross Entropy 或 Dice Loss
多任务:加权和
12.4.2 优化器
| 优化器 | 特点 | 推荐场景 |
|---|---|---|
| SGD + Momentum | 标准 | 大规模、充足时间 |
| Nesterov | 带前瞻动量 | 大规模 |
| RMSProp | 自适应学习率 | RNN |
| Adam | 综合版(m + v) | 通用默认 |
| AdamW | 正确的权重衰减 | Transformer |
12.4.3 学习率策略
- Warmup:训练初期从 0 线性上升
- Cosine Annealing:余弦衰减
- Step Decay:阶梯下降
- OneCycleLR:大 LR 后线性下降
12.4.4 正则化
- L2 权重衰减:(\lambda |W|^2)
- Dropout:训练时随机置零神经元
- Batch Norm:隐含正则
- 数据增强:
- 翻转、裁剪、旋转
- 颜色抖动
- MixUp:(\lambda x_1 + (1-\lambda) x_2)
- CutMix:粘贴矩形块
- RandAugment:随机多种操作
12.4.5 迁移学习
为什么管用:CNN 前几层学的是通用特征(边缘、纹理),这些在任何任务都适用。
流程:
1. 下载在 ImageNet 预训练的模型2. 替换最后的 FC 层3. 选项 A: 冻结前几层,只训练后面(小数据集) 选项 B: 全网络 fine-tune(大数据集)4. 用小学习率(1e-4 左右)训练实战效果:100-1000 张标注就能训出像样的分类器。
12.4.6 调参心得
- 从小模型 + 小数据开始 sanity check
- 先过拟合一个 batch(检查代码没错)
- 学习率是最重要的超参(用 LR Finder)
- batch size 大点稳定,但可能损失泛化
- 先只用基础 augmentation,之后加复杂的
- 用 TensorBoard / W&B 跟踪
12.5 目标检测
12.5.1 任务定义
给定图像,输出若干 (bbox, class, confidence)。
12.5.2 两阶段检测:R-CNN 家族
R-CNN (2014):
- Selective Search 生成 ~2000 候选框
- 每框裁剪 → CNN 特征
- SVM 分类 + Bbox 回归
Fast R-CNN (2015):
- 整图只过一次 CNN
- RoI Pooling 从特征图裁各 proposal
- 更快
Faster R-CNN (2015):
- 引入 Region Proposal Network (RPN) 替代 Selective Search
- 端到端
- ~ 5 fps
Mask R-CNN (2017):
- 加一个分割分支
- 能同时检测 + 实例分割
12.5.3 单阶段检测
YOLO (2016 起) —— 实时王者
You Only Look Once:
- 把图分成 S×S 网格
- 每格预测 B 个 bbox + 类别
- 一次前向完成
YOLO 系列:
- YOLOv1-v3 (Redmon):原始与改进
- YOLOv4-v5 (其他团队):CSPNet、数据增强大集合
- YOLOv8 / v10:现代版本,ultralytics 出品
- 速度:30-200 fps(取决于变体和硬件)
优势:简单、快 劣势:早期版本对小目标差(v3 起加多尺度改善)
SSD, RetinaNet
- SSD:多尺度特征图 + 预定义 anchor
- RetinaNet:Focal Loss 解决正负样本失衡(背景远多于前景) [L = -\alpha (1 - p)^\gamma \log p] 简单例子压权,难例子加权。
12.5.4 Anchor-Free 与 Transformer
- CornerNet / CenterNet:检测关键点代替 anchor
- FCOS:每像素预测距 4 边距离
- DETR (Facebook 2020):首个 Transformer 检测器,end-to-end 无 NMS
- DINO, Grounding DINO:当前 SOTA
12.5.5 评价指标
- IoU (Intersection over Union)
- Precision / Recall
- AP (Average Precision):PR 曲线下面积
- mAP:各类 AP 平均
- COCO mAP:IoU 从 0.5 到 0.95 步进 0.05 的平均
12.6 语义分割与实例分割
12.6.1 FCN (2015)
Fully Convolutional Network:把 FC 层变成卷积,输出每像素分类。
使用 转置卷积 (Transposed Convolution) 上采样到原图大小。
12.6.2 U-Net (2015) —— 医学图像王者
对称的编码-解码结构 + Skip Connection:
Encoder (下采样) Decoder (上采样) ┌─────┐ ┌─────┐ │ 64 │───────────────▶│ 64 │ └──┬──┘ └──▲──┘ ▼ │ ┌─────┐ ┌─────┐ │ 128 │───────────────▶│ 128 │ └──┬──┘ └──▲──┘ ▼ │ ┌─────┐ ┌─────┐ │ 256 │───────────────▶│ 256 │ └──┬──┘ └──▲──┘ ▼ │ ┌─────┐ ┌─────┐ │ 512 │───────────────▶│ 512 │ └──┬──┘ └──▲──┘ ▼ │ ┌─────────1024─────────┐Skip 让解码器能拿到高分辨率细节(低层特征)。
应用:医学图像分割(最经典)、遥感、卫星图。
12.6.3 DeepLab 家族
- 空洞卷积 (Dilated / Atrous Conv):扩大感受野不降分辨率
- ASPP(Atrous Spatial Pyramid Pooling):多空洞率并行
- DeepLabV3+:加 Decoder
12.6.4 Mask R-CNN
在 Faster R-CNN 每 RoI 上加小 FCN输出掩膜。实例分割标杆。
12.6.5 实例 / 全景分割
- 全景 FPN:语义 + 实例融合
- Panoptic DeepLab:中心点 + 偏移
- Mask2Former:Query-based,统一范式
12.7 Vision Transformer (ViT)
12.7.1 从 NLP 到 CV
Transformer (2017):序列建模标配。ViT (2020) 把图像拆 patch,像 token 一样输入 Transformer。
12.7.2 ViT 架构
1. 图像 224×224 分成 16×16 patches → 14×14 = 196 patches2. 每 patch 展平 + 线性映射 → 768 维 token3. 加位置编码 + 一个 [CLS] token4. 堆 12 层 Transformer Encoder5. [CLS] 最后的向量过 MLP → 分类12.7.3 自注意力
[ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{Q K^T}{\sqrt{d_k}}\right) V ]
- 每个 token 与所有其他 token 计算权重
- 全局感受野(CNN 需堆很多层才有)
多头注意力:并行多组 Q, K, V,捕捉多样关系。
12.7.4 ViT 与 CNN 对比
| 维度 | CNN | ViT |
|---|---|---|
| 归纳偏置 | 强(局部+平移) | 弱(纯数据驱动) |
| 小数据 | 优 | 需大数据预训练 |
| 大数据 | OK | 更好 |
| 全局感受野 | 深层才有 | 每层都有 |
| 效率 | 高 | 二次方复杂度 |
12.7.5 重要变体
- Swin Transformer:窗口注意力,线性复杂度
- DeiT:数据高效训练
- MAE:Masked Autoencoder 自监督预训练
- ConvNeXt:现代化 CNN,媲美 ViT
12.8 生成模型
12.8.1 GAN (Generative Adversarial Network, 2014)
生成器 G vs 判别器 D 对抗博弈: [ \min_G \max_D E[\log D(x)] + E[\log(1 - D(G(z)))] ]
- (z \sim \mathcal{N}(0, I)) 噪声 → G → 假图
- D 区分真假,G 骗过 D
训练:交替更新。
重要变体:
- DCGAN:CNN 版
- Conditional GAN:加条件(类标签、文字)
- Pix2Pix:图像到图像(边缘到照片)
- CycleGAN:无配对翻译(马 ↔ 斑马)
- StyleGAN:高质量人脸生成(这个网站不存在:人脸)
- BigGAN:ImageNet 高质量
缺点:训练不稳定、模式坍塌
12.8.2 VAE (Variational Autoencoder)
编码器学习 (q(z|x))(均值、方差),解码器 (p(x|z)),用 ELBO 训练。
生成图像较模糊,但潜空间有良好结构。
12.8.3 Diffusion Models (2020-)
DDPM (Ho 2020):
- 前向过程:逐步加高斯噪声 (x_0 \to x_T)(固定过程)
- 反向过程:训练网络逐步去噪 (x_T \to x_0)
- 采样:从噪声开始反向去噪 → 生成图
训练目标(简化版): [ L = E_{x, \epsilon, t} [|\epsilon - \epsilon_\theta(x_t, t)|^2] ] 即预测每一步加入的噪声。
优点:
- 训练稳定(无 GAN 对抗)
- 生成质量极高(超越 GAN)
- 理论清晰(score matching 等价)
Stable Diffusion(2022):
- 在潜空间扩散(而非像素) → 速度快
- 加 CLIP 文本编码 → 文生图
- Classifier-Free Guidance → 强条件
12.8.4 现代生成模型对比
| 模型 | 训练 | 质量 | 速度 | 应用 |
|---|---|---|---|---|
| GAN | 对抗 | 高 | 快 | 人脸、风格迁移 |
| VAE | ELBO | 中 | 快 | 无监督表示 |
| Diffusion | 去噪 | 极高 | 慢 | 文生图(Midjourney, SD) |
| Flow | 双射 | 中 | 中 | 密度估计 |
12.9 视觉大模型与基础模型
12.9.1 CLIP (2021)
Contrastive Language-Image Pretraining(OpenAI)。
- 400M 图文对比学习
- 文本编码器 + 图像编码器,相似图文靠近
- Zero-shot 分类:把类别名嵌入,取最近
import clipmodel, preprocess = clip.load("ViT-B/32")text = clip.tokenize(["a dog", "a cat", "a bird"])image = preprocess(img).unsqueeze(0)logits_per_image, _ = model(image, text)# 不需要训练就能分类!影响:开启了”视觉-语言”时代。衍生:
- DALL-E 2
- Stable Diffusion(用 CLIP 文本编码器)
- 无数多模态模型
12.9.2 SAM (Segment Anything Model, 2023)
Meta 发布的”分割万物”:
- 1B 掩膜、11M 图像训练
- Prompt-driven:点、框、文字触发
- Zero-shot 分割任何物体
12.9.3 DINO / DINOv2
自监督视觉特征学习。DINOv2 的视觉特征被广泛用作主干。
12.9.4 GPT-4V / Gemini / Claude
多模态大语言模型,既能看图又能对话。
12.10 模型部署
12.10.1 推理优化
- 量化 (Quantization):FP32 → INT8(4 倍速度,精度损失 < 1%)
- 剪枝 (Pruning):去掉不重要权重
- 蒸馏 (Distillation):大模型教小模型
- 操作融合 (Fusion):Conv + BN + ReLU 合并
12.10.2 部署框架
| 框架 | 特点 | 场景 |
|---|---|---|
| ONNX | 跨框架中间表示 | 模型交换 |
| TensorRT | NVIDIA 推理加速 | 服务器 GPU |
| OpenVINO | Intel CPU 加速 | 边缘 |
| NCNN / MNN | 移动端 | Android/iOS |
| TFLite | Google 移动端 | Android |
| CoreML | Apple 原生 | iOS |
| TorchScript / Triton | 服务器部署 | 云推理 |
12.10.3 轻量级推理部署示例
# PyTorch → ONNX → TensorRTimport torchmodel = torch.load('model.pt').eval()dummy = torch.randn(1, 3, 224, 224)torch.onnx.export(model, dummy, 'model.onnx', opset_version=13)
# ONNX 推理import onnxruntime as ortsess = ort.InferenceSession('model.onnx', providers=['CUDAExecutionProvider'])out = sess.run(None, {'input': np.random.rand(1, 3, 224, 224).astype(np.float32)})12.10.4 终端 AI 趋势
- iPhone 16 Pro:A18 芯片 35 TOPS,本地跑 7B LLM + SD
- 安卓 Snapdragon 8 Gen 4:45 TOPS
- 端云协同:轻任务本地,重任务云
12.11 展望:2025 年以后的方向
- 多模态统一:图、文、声、视频同一模型
- 世界模型:视频生成 = 学习物理世界
- Embodied AI:视觉 + 动作 → 机器人
- 视频理解爆发:Sora 等长视频生成
- 图像编辑对话化:像 ChatGPT 一样改图
- 3D 生成:NeRF、3D Gaussian Splatting、一张图生 3D
- 高效推理:本地化、边缘化
- 安全与对齐:深度伪造检测、水印、可控生成
12.12 本章要点与面试考点
✅ 必须掌握
- CNN 的三大思想(局部、共享、分层)
- ResNet 残差的本质与作用
- BN vs LN vs GN 的选型
- Adam 优化器的优势
- 数据增强的常用手段
- R-CNN、Fast、Faster 的演进
- YOLO 单阶段思想
- U-Net 的对称结构
- Transformer 自注意力公式
- GAN、VAE、Diffusion 的基本思想
💡 高频面试题
Q1. 为什么 ResNet 能训练到 152 层?
答:Skip connection 使输出 (y = F(x) + x),梯度 (\partial y / \partial x = \partial F / \partial x + 1),即梯度至少为 1,能通过 identity shortcut 直达浅层。缓解了深层网络的梯度消失。同时,网络至少能学”恒等映射”(F = 0) → 深层不会比浅层差。
Q2. 3×3 卷积为什么最常用?
答:
- 两个 3×3 = 一个 5×5 感受野,参数少一半,非线性多一层 → 效果更好
- 硬件(NVIDIA Tensor Core)对 3×3 有专门优化
- 足够小以抓细节,不太小以免层次过深
Q3. BN 为什么有效?
答:
- 稳定激活分布:每层输入均值方差固定 → 后续层不受前层影响
- 允许更大学习率:内部协变量偏移减小
- 正则化:batch 统计引入小噪声
- 梯度传播更好
Q4. 转置卷积与上采样 + 卷积的区别?
答:
- 转置卷积 用可学习核做上采样;可能产生 “棋盘伪影”
- 上采样(双线性)+ 卷积:先固定上采样再卷积;通常伪影少
- 现代架构(如 StyleGAN)更倾向后者
Q5. Focal Loss 为什么有用?
答:检测中背景(负样本)远多于前景(正样本,几十倍)。普通 CE 会被大量容易负样本主导。 [L = -\alpha (1 - p_t)^\gamma \log p_t] ((1 - p_t)^\gamma) 对容易样本((p_t) 大)大幅降权,对困难样本((p_t) 小)保持权重。聚焦难例。
Q6. Transformer 如何应用到视觉?
答:ViT:把图分成 16×16 patches,每 patch 展平后线性嵌入成 token(类似 NLP 的 word embedding),加位置编码,送入 Transformer encoder。[CLS] token 最终的向量作为图像特征做分类。
Q7. GAN 和 Diffusion 的本质区别?
答:
- GAN:一步到位,生成器直接从噪声生成图;训练是对抗博弈,难稳定
- Diffusion:逐步去噪(多步),每步只学一小步;训练稳定(监督回归)
- 质量:Diffusion 通常更高
- 速度:GAN 快得多(一次前向)
Q8. CLIP 的 zero-shot 分类怎么做?
答:
- 把类别名写成
"a photo of a {class}"之类的 prompt- 用 CLIP 文本编码器嵌入为向量
- 用 CLIP 图像编码器嵌入图像
- 计算图像向量与每个类别向量的余弦相似度
- 相似度最高的类 = 预测结果
完全不需要用目标类别训练!
Q9. Depthwise Separable Conv 节省多少计算?
答:标准卷积 (k^2 C_{in} C_{out}) 次乘加;分离后 (k^2 C_{in} + C_{in} C_{out}) 次。比例 [\frac{k^2 C_{in} + C_{in} C_{out}}{k^2 C_{in} C_{out}} = \frac{1}{C_{out}} + \frac{1}{k^2}] 取 (k=3, C_{out}=256) → (\approx 1/9),9 倍节省。精度略有损失,但移动端可接受。
Q10. 如何防止 CNN 过拟合?
答:
- 数据增强(翻转/旋转/MixUp/RandAug)
- Dropout
- L2 权重衰减
- BN
- Early Stopping
- 迁移学习(小数据集用预训练)
- Label Smoothing
- 更小的模型
12.13 延伸阅读
入门教材
- 《深度学习》(Goodfellow)—— 理论教材
- 《动手学深度学习》(李沐)—— 实战教材
- Stanford CS231n —— 公开课
经典论文
- Krizhevsky et al., “ImageNet Classification with Deep CNNs”, NeurIPS 2012 (AlexNet)
- He et al., “Deep Residual Learning for Image Recognition”, CVPR 2016 (ResNet)
- Vaswani et al., “Attention Is All You Need”, NeurIPS 2017 (Transformer)
- Dosovitskiy et al., “An Image is Worth 16x16 Words”, ICLR 2021 (ViT)
- Radford et al., “Learning Transferable Visual Models from Natural Language Supervision”, 2021 (CLIP)
- Rombach et al., “High-Resolution Image Synthesis with Latent Diffusion Models”, CVPR 2022 (Stable Diffusion)
- Kirillov et al., “Segment Anything”, 2023 (SAM)
工程
- PyTorch: https://pytorch.org
- timm (PyTorch Image Models): https://github.com/huggingface/pytorch-image-models
- HuggingFace: https://huggingface.co
- ultralytics YOLO: https://github.com/ultralytics/ultralytics
结语
至此,你已经走完从像素到智能的完整旅程:
- 理解了图像的物理来源(光、传感器、量化)
- 掌握了空间域与频率域两大处理范式
- 学会了复原、彩色、小波、压缩的核心技术
- 理解了形态学、分割、特征的几何世界
- 进入了深度学习驱动的现代视觉
下一步:
- 挑选感兴趣方向深入(医学影像、自动驾驶、AIGC、3D)
- 做项目(跟着
/projects/走一遍) - 读最新论文(Arxiv, CVPR, ICCV, NeurIPS)
- 参加 Kaggle / ICDAR / OpenImages 竞赛
- 贡献开源(OpenCV、timm、mmcv、mmdetection)
图像处理的终极目标,是让机器像人一样看见世界、理解世界。这条路仍未走完,而你已站在起跑线上。
“The computer revolution hasn’t happened yet.”
— Alan Kay
如果這篇文章對你有幫助,歡迎分享給更多人!
部分資訊可能已經過時





















