第 10 章 计算摄影学 (Computational Photography)
核心结论
-
光度标定(§10.1):辐射响应函数 / 噪声估计 / 暗角估计 / 光学模糊估计;为后续图像处理提供物理模型。
-
高动态范围 (HDR) 成像(§10.2):多曝光融合 → HDR 重建 → 色调映射;保留高光 / 阴影细节。
-
闪光摄影(§10.2.2):结合环境光 + 闪光;保留场景外观同时降噪。
-
图像去噪(§10.3):BM3D / Non-local means / DnCNN(深度学习)。
-
超分辨率(§10.4):单图像 SR(SRCNN / ESRGAN)/ 多图像 SR。
-
图像抠图(§10.5):把前景从背景精确分离;trimap + alpha matte。
-
纹理合成 / 风格迁移(§10.6):Image quilting / Neural Style Transfer / Diffusion。
|
本章主旨
本章是"计算摄影学"——用算法扩展相机的能力。HDR / 去噪 / 超分 / 抠图都是"图像增强 + 后期";理解后才能做专业摄影后期 / 手机相机优化。 |
一、核心概念
本章围绕 6 个核心概念展开:光度标定 → HDR → 闪光 → 去噪 → 超分辨率 → 抠图 / 风格。
| 概念 | 定义 + 重要性 | 实现提示 |
|---|---|---|
光度标定 |
辐射响应函数 + 噪声 + 暗角 + 光学模糊;物理模型基础。 |
§10.1;HDR / 去噪需要。 |
HDR 成像 |
多曝光融合 → 浮点 HDR → 色调映射到 8-bit。 |
§10.2;保留高光 / 阴影细节。 |
闪光摄影 |
环境光 + 闪光结合;保留场景外观。 |
§10.2.2;夜景 / 室内人像。 |
图像去噪 |
BM3D / Non-local means / DnCNN。 |
§10.3;手机夜景必备。 |
超分辨率 |
单图 / 多图 SR;SRCNN / ESRGAN。 |
§10.4;老照片修复 / 视频超分。 |
抠图 / 风格迁移 |
图像抠图(alpha matte);神经风格迁移。 |
§10.5-§10.6;图像编辑 / 艺术效果。 |
二、详细笔记
2.1 光度标定 (Photometric Calibration)
What:标定相机的辐射响应函数(CRF)、噪声模型、暗角、光学模糊。
Why:图像处理需要物理模型——HDR / 去噪 / ISP 调优都依赖标定。
How:
标定内容(§10.1):
-
CRF:像素值与实际辐射度的映射函数;不同相机不同。
-
噪声模型:散粒 + 读取 + 暗电流(§2.3);SNR 与光强相关。
-
暗角(vignetting):镜头边缘进光量减少;用多项式模型。
-
光学模糊(PSF):点光源成像的扩散函数;用刃边法测量。
|
CRF 标定的工程意义
|
When:HDR 重建;图像去噪;专业摄影后期;ISP 调优。
Example:hdrplus / rawpy 库;OpenCV cv2.createCalibrateDebevec。
2.2 HDR 成像 (High Dynamic Range Imaging)
What:从多曝光图像合成 32-bit 浮点 HDR;再色调映射到 8-bit 显示。
Why:单张 8-bit 图像动态范围有限(256:1);人眼 / 自然场景是 100000:1。
How:
HDR 流程(§10.2):
-
多曝光拍摄:3-9 张不同曝光(EV -3 到 +3)。
-
图像对齐:手持拍摄需对齐(特征匹配)。
-
CRF 估计:
cv2.createCalibrateDebevec。 -
HDR 重建:
cv2.createMergeDebevec→ 32-bit 浮点。 -
色调映射:
cv2.createTonemapDrago/ Mantiuk / Reinhard → 8-bit。
|
色调映射算法对比
|
When:专业摄影;手机夜景模式;游戏 / 电影 HDR 渲染。
Example:cv2.createMergeDebevec().process([ldr1, ldr2, ldr3], times);Photoshop HDR Pro。
2.3 图像去噪 (Image Denoising)
What:去除图像中的随机噪声(散粒 / 读取 / JPEG 压缩)。
Why:手机夜景 / 高 ISO / 医学影像 / 低光照都需要去噪。
How:
去噪算法(§10.3):
-
空间域:高斯 / 中值 / 双边 / NLM(§3.3)。
-
变换域:小波 / DCT 阈值。
-
BM3D(2007):协同滤波;当前 SOTA(CNN 出现前)。
-
深度学习:DnCNN(2016)/ RIDNet(2019)/ Restormer(2021);CNN SOTA。
|
去噪算法的工程权衡
|
When:手机夜景;医学影像(CT / MRI);低光摄影。
Example:cv2.fastNlMeansDenoising;pip install bm3d;restormer 深度学习库。
2.4 超分辨率 (Super-Resolution)
What:从低分辨率图像重建高分辨率图像。
Why:老照片修复 / 视频超分 / 监控细节增强;DL 时代的关键应用。
How:
SR 算法(§10.4):
-
传统:bicubic / Lanczos 插值(§3.6)。
-
单图 SR:SRCNN(2015)/ ESRGAN(2018)/ Real-ESRGAN(2021)。
-
多图 SR:多张低分辨率融合。
-
扩散模型:Stable Diffusion SR / Imagen SR;最新 SOTA。
|
超分辨率的工程应用
|
When:老照片修复;视频超分;监控增强;图像放大。
Example:realesrgan 库;torchvision.transforms.functional.resize;Adobe Photoshop 超分。
2.5 图像抠图 (Image Matting)
What:把前景从背景精确分离——输出 alpha matte(前景透明度图)。
Why:电影特效 / 直播换背景 / 抠图证件照。
How:
抠图算法(§10.5):
-
trimap-based:用户提供前景 / 背景 / 未知区域 trimap;算法估计 alpha。
-
Closed-form matting:基于局部颜色模型。
-
KNN matting:用 KNN 估计 alpha。
-
深度学习:MODNet(2022)/ RobustVideoMatting(2021);实时。
|
抠图 vs 分割
|
When:电影特效;直播换背景;证件照抠图;AR 贴纸。
Example:cv2.grabCut;pymatting 库;MODNet 深度学习。
2.6 风格迁移与纹理 (Style Transfer & Texture)
What:把一张图的风格 / 纹理迁移到另一张图。
Why:艺术效果;图像编辑;AI 创作。
How:
算法(§10.6):
-
Image quilting(Efros 2001):传统纹理合成。
-
Neural Style Transfer(Gatys 2015):CNN 特征匹配。
-
CycleGAN(2017):无配对图像翻译。
-
Diffusion Models(2020+):Stable Diffusion / DALL-E 2 / Imagen;当前 SOTA。
|
扩散模型改变了图像生成
|
When:艺术创作;游戏素材;图像编辑;营销内容。
Example:diffusers 库;stablediffusion;pytorch-CycleGAN-and-pix2pix。
三、关键图表
四、思维导图
mindmap
root((第 10 章 计算摄影学))
光度标定
CRF
噪声模型
暗角
HDR
多曝光
色调映射
去噪
BM3D
DnCNN
Restormer
超分辨率
SRCNN
ESRGAN
扩散模型
抠图
trimap
MODNet
风格迁移
NeuralStyle
Diffusion
五、重点与易错点
-
HDR 是手机夜景的基础:现代手机都支持;多曝光融合 + 色调映射。
-
DnCNN / Restormer 是当前去噪 SOTA:手机夜景模式的核心组件。
-
超分从 CNN 转向 Diffusion:Stable Diffusion SR 视觉效果更好;计算更贵。
-
抠图用深度学习:MODNet 实时;传统方法速度慢。
-
扩散模型重塑图像生成:DALL-E / Stable Diffusion 是 2022+ 的范式转移。
-
专业摄影 vs 手机计算摄影:手机用算法扩展硬件能力;专业仍用大传感器 + 后期。
-
跨章衔接:第 2 章相机模型是计算摄影基础;第 5 章深度学习是现代算法核心;第 3 章图像处理是基础工具。