手机多久能替代相机?移动影像会成为未来老牌相机厂商的最终归宿吗?
| §12 Part 1:ISP 详细步骤 — 噪声抑制(NR)Noise Reduction |
| P.133–134 | 典型彩色相机流水线与噪声抑制概述 |


■ 原文知识说明
第133页再次展示典型彩色相机流水线图,将整个 ISP 划分为6大模块,并注明各模块可按实际情况调整顺序。这是整个 ISP 流水线的完整骨架,接下来各节将逐步详解每个模块。
第134页进入第二个 ISP 处理步骤:噪声抑制(Noise Reduction,NR)。所有传感器都不可避免地有噪声——主要来源包括:
·散粒噪声(Shot Noise):光子到达传感器的随机性,低光环境下尤其显著
·读出噪声(Read Noise):A/D 转换过程中引入的电子噪声
·暗电流噪声(Dark Current Noise):热激发产生的暗电流,随温度升高而加剧
高端相机在低 ISO 时噪声极低,但智能手机因传感器面积小,在高 ISO 时噪声严重。相机通常根据 ISO 设置采用不同的降噪策略。
■ 深入理解
噪声模型的理解对 ISP 设计至关重要。对于 RAW 图像,噪声通常建模为"信号相关噪声"(散粒噪声)与"信号无关噪声"(读出噪声)的叠加。数学上:σ² = σ²_read + σ²_shot × I = σ²_read +σ²_shot × I,其中 I 是信号强度。这意味着在暗部(低 I),读出噪声主导;在亮部(高 I),散粒噪声主导。
这就是为什么高 ISO(增益增大)照片暗部噪点更明显——增益不仅放大了信号,也同等地放大了读出噪声,而暗部信号本身很弱,噪声相对就变得显著了。
| P.135–137 | 简单噪声抑制方法与降噪-锐化平衡 |



■ 原文知识说明
第135页展示了一种简单但有启发性的降噪方法,核心思想是"先模糊再锐化"的往返(Round-Trip)策略:
·对输入图像 I 应用模糊(Blur),得到 B(I)
·将原始图像与模糊图像相减,得到"细节层":Detail = I - B(I)
·对暗部进行额外平滑,对亮部保留或增强细节(可加回 Detail)
思路是:模糊会同时降低噪声和细节,但我们可以通过加回 Detail 来恢复图像细节——降噪和锐化在操作上其实是同一个过程的两个方向。
第136-137页用实际示例展示了降噪前后的对比效果。
■ 深入理解
更先进的降噪方法分为空域和频域两类:
·空域降噪:双边滤波(Bilateral Filter,在保持边缘的同时平滑平坦区域)、非局部均值(Non-Local Means,在整幅图像中寻找相似块进行加权平均)
·频域降噪:在 DCT/小波域对高频系数进行阈值处理(收缩)
深度学习降噪(CNN/DnCNN)近年来性能大幅提升,已经超越了大多数传统方法,是当前研究热点。但计算量问题仍是实时 ISP 的挑战。
降噪与去马赛克的顺序也是一个研究点:传统上先去马赛克再降噪(RGB 域降噪),但也可以在 RAW 域先做降噪(Bayer 域降噪),各有权衡:RAW 域降噪更直接但算法更复杂;RGB 域降噪可以利用去马赛克后的更多颜色信息。
| §13 Part 1:白平衡 + 色彩空间变换(CST)White Balance & Color Space Transform |
| P.138–139 | 色彩映射(Colorimetric Stage):从传感器 RGB 到 CIE XYZ |


■ 原文知识说明
第138页解释了 ISP 中将传感器 raw-RGB 映射到设备无关色彩空间(CIE XYZ)的必要性:不同相机的传感器光谱灵敏度曲线不同,导致同一场景在不同相机中 raw-RGB 数值不同。要让图像可比较,必须转换到统一的 CIE XYZ 空间。
第139页给出了两步法实现:
·白平衡校正(White Balance):对 raw-RGB 各通道施加对角增益矩阵,将当前光源调整为等能量白点
·色彩空间变换(Color Space Transform,CST):将白平衡后的 raw-RGB 通过3×3矩阵映射到 CIE XYZ(也可使用多项式函数代替简单矩阵)
这两个步骤组合构成第138页的"White-Balance & Color Space Transform"模块。
■深入理解
CST 的3×3矩阵来自工厂标定:传感器厂商在 D65、A 光源等多种标准光源下测量传感器响应,然后计算从传感器 RGB 到 XYZ 的最优变换矩阵。由于传感器 RGB 不是线性空间,有时需要使用多项式或非线性变换才能达到满意的精度。
值得注意的是,教程中用 CIE XYZ 作为目标空间,但大多数实际相机可能使用其他相关空间(如 CIE LAB)作为中间步骤,关键是保证映射到任何"设备无关"的参考空间。
关于如何实现不同相机的rawRGB到统一标准的CIE XYZ的转换矩阵计算,后续计划另写文章做专题解读,请留意。
| P.140–141 | 白平衡的数学原理:对角增益矩阵 |


■ 原文知识说明
第140页给出了白平衡的精确数学表达:白平衡等价于对对角矩阵diag(1/ℓᵣ, 1, 1/ℓᵦ)与 raw-RGB 向量相乘。
其中 ℓᵣ 和 ℓᵦ 是红通道和蓝通道相对于绿通道的"光源失衡系数":如果某光源下白色物体的 R 响应比 G 大 1.5 倍,则 ℓᵣ=1.5,需要乘以 1/1.5≈0.667 来平衡。
第141页揭示了白平衡的真正难点:如何确定正确的白平衡设置——即如何从任意一张图片中估计当前光源的色温/光谱分布。这个问题也被称为计算颜色恒常性(Computational Color Constancy),是相机制造商和学术界持续研究的难题。
■ 深入理解
对角增益模型(Von Kries 模型的白平衡版本)是实践中最常用的近似,因为它计算简单且效果够用。真实的白平衡比这更复杂——因为传感器 RGB 不等于人眼 LMS,直接用对角矩阵是一种近似。但对角增益模型在大多数标准光源下足够准确,这也是为什么所有相机 ISP 都使用这种方案。
白平衡误差的表现:偏暖(橙色/黄色)的白平衡说明低色温光源估计偏高,需要更多冷色(蓝)补偿;偏冷(蓝色)的白平衡说明低色温光源估计偏低,需要更多暖色(红)补偿。
| P.142–143 | 手动白平衡:相机标定与白平衡图标 |


■ 原文知识说明
第142-143页展示了相机如何通过工厂预标定来支持手动白平衡:相机厂商在不同典型光源(阳光、日光、阴天、白炽灯、荧光灯、阴影等)下测量传感器响应,为每种场景预设对应的白平衡对角矩阵。
第143页以 Nikon D7000 和 Canon 1D 为例,展示了真实相机在出厂时标定的白平衡矩阵(Diagonal WB matrices)。以 Canon 1D 的 Daylight 模式为例:R 增益≈2.09,B 增益≈1.50,意味着该相机在日光下红通道响应比绿强约2倍,蓝通道比绿强约1.5倍。
用户可以在相机菜单中选择这些预设,或者手动设定色温值(如 5500K),相机会在两个预设矩阵之间进行线性插值。
■ 深入理解
白平衡预设的行业标准图标设计:太阳图标代表直射日光(~5500K),云图标代表阴天(~6500K,更偏蓝),灯泡图标代表白炽灯(~2800K,暖黄),阴影图标代表阴影(~7500K,冷蓝)。这些图标与实际色温对应,帮助摄影师快速选择。
不同相机厂商对白炽灯预设的色温设定略有不同:Canon 的 Tungsten 预设通常设为 3200K(接近典型碘钨灯),而 Nikon 可能设为 3000K。这也是为什么同一场景在不同品牌相机中颜色略有差异的原因之一。
| §14 Part 1:自动白平衡(AWB)算法Automatic White Balance Algorithms |
| P.144–145 | 自动白平衡(AWB)的挑战 |


■ 原文知识说明
第144-145页说明了自动白平衡(AWB)的核心挑战:用户没有手动设置白平衡时,相机必须从任意一张 raw-RGB 图像中自动推断当前场景的光源特性。
基本思路(来自第145页):自然界中大多数物体是"自然反射器"——它们反射的是光源的光谱,而不是物体本身的颜色("真正"的物体颜色是反射谱)。因此,如果我们能识别图像中哪些像素对应"白色"(高反射率、中性光谱反射),就能从这些像素的 raw-RGB 值直接观察到传感器对当前光源的响应。
问题在于:自动识别图像中的"白色"本身就是困难的,AWB 算法至今仍会时不时失败。
■ 深入理解
AWB 的困难在于"颜色恒常性"问题的病态本质:给定 raw-RGB 图像,无法唯一确定是"光源 A 下白色物体"还是"光源 B 下彩色物体"。这与人类的颜色感知不同——人类可以依赖经验知识("我知道那是一面白墙"),而相机没有这种先验。
这也解释了为什么日出/日落场景中 AWB 经常出错:大面积橙红色内容可能被误识别为光源的一部分,导致白平衡向补偿蓝的方向调整,使天空看起来比实际更冷。
| P.146–147 | AWB 算法(一):灰度世界(Gray World)算法 |


■ 原文知识说明
第146-147页介绍第一个经典 AWB 算法——灰度世界(Gray World)算法,基于一个简单假设:自然场景的平均反射率是中性的(灰色),即各波长反射率大致相等。
因此,在理想中性感知的图像中,R、G、B 三通道的平均值应该相等(R̄ = Ḡ = B̄)。如果不相等,则说明光源不平衡,需要分别对 R 和 B 通道施加增益使其与 G 通道平均。
白平衡矩阵变为:
R' = (Ḡ/R̄) × R
G' = 1.0 × G
B' = (Ḡ/B̄) × B
第147页给出了矩阵形式的精确表达。
■ 深入理解
灰度世界算法的最大弱点:对于"不灰色"的场景会失效。例如:蓝天图像(蓝通道主导)、大草原(绿色主导)、红色郁金香花田(红色主导)——这些场景的平均反射率并非中性,灰度世界假设不成立,会产生明显的白平衡偏差。
灰度世界算法的改进版本包括:Gray Edge 假设(利用图像导数/梯度的平均是灰色的)、Bayesian 方法(结合先验概率)等。更现代的方法会结合边缘信息和空间上下文来提高鲁棒性。
| P.148–150 | AWB 算法(二):白块(White Patch)算法与对比 |



■ 原文知识说明
第148-149页介绍第二个经典 AWB 算法——白块(White Patch)算法,基于不同假设:图像中最亮的像素(高光区域)通常是"镜面反射"——它们直接反射了光源的光谱,而不是物体的颜色,因此高光区域的颜色就是光源颜色的直接测量。
所以白块算法的策略是:分别取 R、G、B 三通道的最大值(R_max、G_max、B_max),以绿通道最大值为锚点,计算归一化增益:
R' = (G_max/R_max) × R
G' = 1.0 × G
B' = (G_max/B_max) × B
第150页展示了两种算法的实际效果对比:同一张偏暖偏绿的原图,灰度世界算法过度补偿导致偏蓝;白块算法效果更好,但两者都不完美。
■ 深入理解
两种算法各有优劣:灰度世界算法对大面积单色场景(如蓝天、草原)敏感,容易过度补偿;白块算法依赖图像中存在高光区域,如果场景中没有足够亮的高光点(如阴天、暗室),则 R_max/G_max/B_max 可能不准确。
实际相机 ISP 中的 AWB 比这两种算法复杂得多。现代相机通常结合多种方法:基于统计的初步估计、基于场景分类(天空检测、肤色检测)、基于深度学习的端到端估计等。很多高端相机厂商使用专利的 AWB 算法,不会公开具体实现。
| P.151 | 更先进的 AWB 方法 |

■ 原文知识说明
第151页承认灰度世界和白块只是最基础的 AWB 方法,它们在场景中大面积单色内容主导时都会失败。学术界和工业界提出了大量更先进的 AWB 方法,包括但不限于:
·基于贝叶斯推断的方法:假设自然场景中各种颜色/光照组合的先验概率,利用最大后验概率(MAP)估计光源
·边缘/梯度域方法(Gray Edge):利用图像边缘处梯度信息的统计特性来估计光源,因为边缘处物体反射率变化通常更中性
·基于机器学习/深度学习的方法:CNN 直接从 raw-RGB 图像预测光源色温/增益,在大型数据集上训练
·多尺度方法:结合图像的局部和全局统计信息
相机厂商通常使用自己的专利 AWB 算法,并可能故意让结果"不完全中性",保留一点光源色彩倾向,使照片看起来更自然。
■ 深入理解
相机有意保留一点"白平衡偏差"是一个有趣的设计哲学:如果完全严格的 Von Kries 白平衡反而可能让照片看起来"冷清/不自然"。有些摄影师也更喜欢这种"有倾向"的白平衡风格,这就是为什么 RAW 文件比 JPEG 有价值——RAW 可以后期重新白平衡。
深度学习 AWB 的最新进展(2018-2023年):如 ECCV 2018 的 CNN-based AWB、CVPR 2021 的无监督域适应 AWB 等。但深度学习方法需要大量标注数据(raw-RGB → 光源 CCT),且跨相机泛化仍是挑战。
| §15 Part 1:CST 工厂标定与插值CST Factory Calibration & Interpolation |
| P.152–155 | 色彩空间变换(CST):工厂标定与插值 |




■ 原文知识说明
第152页揭示了 CST 实现的工程细节:白平衡只做近似颜色恒常性,CST 矩阵需要根据实际白平衡估计的相关色温(CCT)来选择。工厂预标定了多个色温点的 CST 矩阵,运行时通过插值得到任意 CCT 下的变换矩阵。
第153页展示了工厂预标定过程:在两个标准光源(如 l₁=2500K 白炽灯、l₂=6500K 日光)下分别标定,得到两组(白平衡矩阵 W₁/W₂ + CST 矩阵 T₁/T₂)。
第154-155页展示运行时插值过程:给定一个新光源 la 及其估计 CCT,先计算插值权重 g,再对两个标定矩阵做线性混合:Tₗₐ = g×T₁ + (1-g)×T₂。权重 g 由 CCT 在两个标定色温间的相对位置决定。
■ 深入理解
CST 插值的工程意义:传感器到 XYZ 的变换矩阵本身与光源相关——因为传感器的光谱灵敏度是固定的,但 CIE XYZ 的配色函数是标准化的,不同光源下 XYZ 响应不同。因此同一个传感器在 D65 光源和 A 光源下,需要不同的 CST 矩阵。工厂预标定多个色温点,运行时根据实际 CCT 插值,是效率和精度的折中。
高质量相机可能标定 5-10 个色温点(从 2500K 到 10000K),而非只有两个。插值权重函数也可以用更平滑的 sigmoid 函数代替线性插值,以避免在色温过渡区域出现跳变。
| §16 Part 1:色彩处理(Photo-finishing)Color Manipulation / Photo-finishing |
| P.156–157 | 典型流水线总览 + 色彩处理(Photo-finishing)概述 |


■原文知识说明
第156页再次展示完整流水线图,当前进入"Color Manipulation(Photo-finishing)"模块——这是 ISP 中相机厂商"施展魔法"的环节。
第157页说明:色彩处理是让相机照片"好看"的所有操作的统称,涵盖色调映射、饱和度调整、对比度增强、锐化等美化操作。不同厂商在这个模块的投入差异最大——这也是 iPhone 和 Android 手机照片风格不同的根本原因。
DSLR 相机通常提供用户可选择的"图片风格(Picture Styles)"预设;智能手机则逐张计算,甚至可以基于 AI 识别场景内容(人像、风景、美食)自动调整。
■深入理解
Photo-finishing 是 ISP 中最不透明的部分:大多数相机制造商将其作为核心竞争力,严格保密。索尼、尼康、苹果等公司的 ISP 调校工程师团队人数可能是 ISP 硬件设计团队的数倍。
有趣的是,Photo-finishing 操作虽然看起来是"艺术创作",但背后有大量科学支撑:人眼对肤色的敏感性(自动美颜算法的依据)、对边缘锐度的感知(USM 锐化的参数设置)、对颜色饱和度的偏好(基于心理物理学研究)等。
| P.158–159 | DSLR 图片风格(Picture Styles):同一 RAW 的不同呈现 |


■ 原文知识说明
第158-159页展示了尼康相机提供的几种"图片风格"预设(标准、人像、风景、中性等),用同一张 RAW 图像演示不同预设下的输出差异。
各预设的核心差异在于:
·标准(Standard):通用的"漂亮"设置,中等对比度、饱和度、锐度
·人像(Portrait):降低对比度以保留肤色细节,提高平滑度减少皮肤瑕疵
·风景(Landscape):提高饱和度和锐度,让蓝天更蓝、绿叶更翠
·中性(Neutral):降低对比度和饱和度,保留最多原始信息,适合后期
RAW 文件保存了所有未经 Photo-finishing 的原始数据,用户可以在后期软件中自由选择任何风格。
■深入理解
RAW vs JPEG 的本质差异就在Photo-finishing 这一步:JPEG 在相机内经过完整的Photo-finishing 流程,颜色和对比度已经被"烹饪"过;RAW 保存的是"生食材",可以在后期软件(如 Lightroom、Capture One)中重新"烹饪"。
这也解释了为什么专业摄影师优先选择 RAW:不同的项目可能需要不同的"烹饪风格",RAW 给后期留出更大的调整空间。例如,商业广告可能需要高饱和度、高锐度;艺术摄影可能需要低饱和度的"中性"风格。
| P.160–162 | 3D LUT 与色调曲线:Photo-finishing 的实现方式 |



■原文知识说明
第160页揭示了 Photo-finishing 的具体实现方式:
·3D LUT(3维查找表):将 CIE XYZ 输入映射为另一个 XYZ 输出(相当于非线性颜色变换),相当于一个预计算的"颜色滤镜"
·1D LUT 色调曲线(1维色调曲线):分别对 X、Y、Z 三个通道应用非线性曲线(如 S 型对比度增强曲线)
第161页展示了1D 色调曲线的三种典型效果:压暗图像(darkening)、提亮图像(brightening)、增强对比度(S曲线)。
第162页用可视化方法展示3D LUT 的工作原理:将 XYZ 空间中的每个点映射到另一个位置,相当于对颜色空间做非线性"扭曲"。
■深入理解
3D LUT 在影视后期制作中非常常见(达芬奇Resolve、Adobe Premiere 等都支持),其优点是计算速度快(只需一次表查询),缺点是需要大量标定数据来填充 17×17×17 或 33×33×33 的网格。相机 ISP 中的 LUT 通常经过高度优化。
1D 色调曲线(Photoshop 中的"曲线"工具)本质上是一个分段线性或三次样条插值的非线性映射函数,可以精确控制暗部、中间调、高光的亮度。对比度增强("S曲线")通过同时压暗暗部、拉高高光来实现,是提升图像"通透感"的最常用手段。
| P.163 | 局部色调映射(Local Tone Mapping,LTM) |

■ 原文知识说明
第163页介绍了一个对现代智能手机影响深远的技术——局部色调映射(Local Tone Mapping,LTM)。与全局色调映射(对整幅图像应用相同的曲线)不同,LTM 根据图像局部区域的亮度动态调整映射参数。
典型应用场景:逆光照片——天空中亮部需要压高光(防止过曝),前景暗部需要提暗部(防止欠曝)。全局色调映射无法同时兼顾,但 LTM 可以分别处理。
这也解释了为什么智能手机(尤其是 iPhone)在高对比度场景(逆光、HDR)下效果明显好于传统相机——智能手机 ISP 在每张照片上都运行 LTM,而许多 DSLR 默认不启用 LTM(或只在 RAW 处理时启用)。
■ 深入理解
LTM 的算法挑战:局部调整容易产生"光晕(Halos)"效应——明亮区域和暗区交界处出现明显的光圈状伪影。高质量的 LTM 算法(如 ACME 框架、曹氏色调映射等)需要专门处理光晕问题。
多帧 HDR 合成也是一种局部色调映射形式:iPhone 的 Smart HDR 将多张不同曝光的照片逐区域融合,亮部取自欠曝帧,暗部取自过曝帧,本质上也是一种局部色调映射策略。
个人认为,Color Manipulation / Photo-finishing这些模块,是拉开各家相机产品差距的重要手段,比如大疆无人机拍摄的"大片"般优异的色彩表现、小米手机做的徕卡调色的特色风格等等,都和这个模块息息相关。如果读者感兴趣,请留言,可能另写文章做专题解读。或者留言感兴趣的问题,一起交流。
欢迎关注微信公众号“逐像素学ISP”,公众号或知乎后台私信聊技术咨询/合作。