一、概述

图像降噪是 ISP Pipeline 中最复杂、调参工作量最大的模块之一。降噪本质是一个病态逆问题(Ill-posed Inverse Problem)—— 在去除噪声的同时必须尽可能保留真实信号(细节、纹理、边缘)。

一个好的降噪模块是在 噪声、细节、伪影 三者之间找到最优平衡。


二、噪声基础

2.1 噪声来源

来源 描述 特性
光子散粒噪声 (Photon Shot Noise) 光子到达的随机性 泊松分布,信号越强噪声越强
读出噪声 (Read Noise) Sensor 读出电路的热噪声 高斯分布,与信号无关
暗电流噪声 (Dark Current Noise) 热激发产生的电子 随温度和时间增加
固定模式噪声 (FPN) 像素间响应不一致 空间固定,可标定消除
量化噪声 (Quantization Noise) ADC 量化误差 均匀分布
放大噪声 (Amplifier Noise) 模拟增益放大 与增益成正比

2.2 噪声模型

I_observed = I_true + I_true^γ · N_shot + N_read

简化模型(常用工程近似):

σ_total² = K · S + σ_read²

其中:

  • S = 信号强度
  • K = 散粒噪声系数(与 sensor 量子效率相关)
  • σ_read = 读出噪声标准差

2.3 噪声特性总结

特性 描述
异方差性 噪声方差随信号强度变化(亮区噪声更大)
色度噪声 低光下颜色通道的噪声更明显(由于 AWB 增益放大)
相关性 经过 demosaic/CCM 后噪声变得有空间和通道相关性
非平稳性 不同亮度区域噪声特性不同

三、ISP Pipeline 中的降噪架构

典型的 ISP 采用 多级降噪 + 分域处理 策略:

RAW Domain → [NR1: RAW降噪] → Demosaic → RGB Domain → [NR2: RGB降噪] → YUV Domain → [NR3: YUV降噪]

3.1 三级降噪策略

阶段 位置 网格/域 主要目标 处理对象
NR1 Demosaic 前 RAW Bayer 去除 RAW 域噪声,防止 demosaic 放大噪声 各 Bayer 通道独立
NR2 Demosaic 后 / CCM 前 RGB 去除颜色校正后放大的噪声 R/G/B 三通道联合
NR3 YUV 转换后 YUV 亮度和色度分离降噪 Y(亮度)、Cb/Cr(色度)

3.2 为何需要三级降噪

RAW 域噪声 (σ)
    │
    ├── Demosaic 放大约 1.5~2×
    ├── AWB Gain 放大 (B 通道可达 2~4×)
    ├── CCM 放大 (矩阵运算放大噪声约 1.2~2×)
    ├── Gamma 在暗部放大噪声
    └── Sharpening 进一步放大噪声

→ 噪声经 pipeline 逐级放大,因此需要在前端(RAW 域)尽早去除。


四、降噪算法分类

4.1 空域滤波 (Spatial Domain)

4.1.1 高斯滤波 (Gaussian Blur)
G(x,y) = (1 / 2πσ²) · exp(-(x²+y²) / 2σ²)
优点 缺点
计算量极低 各向同性,不保边缘
实现简单 边缘和细节同时被模糊
4.1.2 双边滤波 (Bilateral Filter)

BF 在高斯滤波基础上加入像素值差异权重:

BF[I]_p = (1/W_p) · Σ G_s(||p-q||) · G_r(|I_p - I_q|) · I_q

其中:

  • G_s = 空间域高斯核 (σ_spatial)
  • G_r = 值域高斯核 (σ_range)
  • W_p = 归一化因子

效果:距离近且像素值接近的像素贡献大 → 边缘保留

调参关键

参数 说明
σ_spatial 空间滤波半径,越大越模糊
σ_range 像素值差异容忍度,越大边缘保护越弱
4.1.3 引导滤波 (Guided Filter)

使用引导图(通常就是原图自身)对图像进行滤波,假设引导图和输出之间存在局部线性关系。

q_i = a_k · I_i + b_k   对每个窗口 ω_k

优点:边缘保护强于 BF,计算可优化到 O(N)(box filter 加速),无梯度反转伪影。

4.1.4 非局部均值滤波 (Non-Local Means, NLM)

基于图像的自相似性假设,搜索全图中相似的 patch 做加权平均:

NLM[I]_p = Σ w(p,q) · I_q
w(p,q) = exp(-||Patch(p) - Patch(q)||² / h²)
优点 缺点
去噪效果极好,保留纹理 计算量极大 (O(N·W²·P²))
能保留重复纹理 搜索窗口大小与性能正反比

工程优化:限定搜索窗口、FFT 加速、patch 预选(积分图)。

4.2 变换域滤波

4.2.1 小波降噪 (Wavelet Denoising)

流程:

  1. DWT 分解 → 得到低频(LL) + 高频(LH/HL/HH) 子带
  2. 对高频子带做阈值收缩(Soft/Hard Thresholding)
  3. IDWT 重构
Soft Threshold:  W_out = sign(W) · max(|W| - λ, 0)
Hard Threshold:  W_out = W · (|W| > λ)
参数 说明
分解层数 越多频率细分越细,但层间相关性损失
阈值 λ 与噪声标准差 σ 成正比
阈值类型 Soft(平滑)/ Hard(保留边缘更锐利)
小波基 Haar(简单)/ Daubechies(平滑更好)
4.2.2 BM3D (Block-Matching and 3D Filtering)

黄金标准降噪算法,NLM + 变换域 的结合:

1. Block-matching → 找相似 patch 堆叠成 3D 组
2. 3D 变换 → 对 3D 组做 3D DCT/Wavelet
3. 协同滤波 → 在变换域做阈值收缩
4. 聚合 → 加权平均重建
优点 缺点
目前单帧降噪效果最好的算法之一 计算量极大,实时难以实现
能有效保留精细纹理 对极端噪声效果下降明显

4.3 时域/多帧降噪 (Temporal / Multi-Frame NR)

利用相邻帧之间的冗余信息进行降噪,是 视频降噪的核心

4.3.1 帧平均法
I_out(t) = α · I_current + (1-α) · I_out(t-1)
参数 说明
α 融合系数,α 越小时域平滑越强,但运动拖影越严重
固定 α 实现简单,运动场景不适用
自适应 α 根据运动检测结果动态调整
4.3.2 运动补偿时域滤波 (MC-TNR)
1. ME (Motion Estimation) → 计算当前帧与参考帧之间的运动矢量
2. MC (Motion Compensation) → 根据 MV 对齐参考帧
3. Temporal Fusion → 对齐后的像素做加权融合
4. 运动掩码生成 → 运动区域降低/关闭时域融合

运动估计算法

算法 精度 计算量
块匹配 (Block Matching)
光流法 (Optical Flow)
分级搜索 (Hierarchical) 中高

调试关键参数

参数 说明
搜索范围 (Search Range) ±4 ~ ±64 pixel
块大小 (Block Size) 8×8 ~ 32×32
运动阈值 (Motion Threshold) 判断像素/块是否运动
时间权重 (Temporal Weight) 运动区域降至 0,静止区域接近 1
Kalman 增益 自适应融合帧间信息

4.4 深度学习降噪 (AI Denoise)

现代 ISP(如高通、联发科旗舰平台)广泛应用 CNN/Transformer 降噪。

代表性网络结构

模型 特点
DNCNN 残差学习,直接预测噪声图
FFDNet 可调噪声水平 map,灵活控制降噪强度
CBDNet 非盲降噪 + 噪声估计子网络
U-Net / RIDNet Encoder-Decoder 结构,多尺度特征融合
SwinIR / Restormer Transformer 结构,全局自注意力

AI 降噪的工程挑战

  • 大量训练数据需求(配对 clean / noisy 数据)
  • 推理延迟与功耗(NPU/DSP 部署)
  • 泛化性(训练域 ≠ 推理域的噪声特征)
  • 可控性(ISP 调参需要暴露强度参数)

混合方案:传统 + AI 结合,AI 用于最难处理的中低光场景,传统算法用于高光场景。


五、各域降噪详解

5.1 RAW 域降噪 (NR1)

5.1.1 Bayer 域的特性处理

Bayer RAW 是单通道数据(R/Gr/Gb/B 交替排列),降噪需考虑:

  • 像素值差异不完全是噪声,可能是真实的颜色差异
  • 不能直接做跨通道滤波(否则引入伪色)
5.1.2 常用 RAW 域降噪算法

Bayer 双边滤波

  • 只在相同颜色通道的像素之间做双边滤波
  • 搜索区域 = 同色位置(如 R at (0,0) 只查 (0,0), (2,0), (0,2), (2,2) → 步长为 2)

Bayer NLM

  • 同色通道 patch 匹配
  • patch 定义为相同 Bayer 模式的区域

Line-based Denoise(低功耗方案):

  • 按 sensor 读出行的方向做 1D 滤波
  • 配合行缓存做 2D
5.1.3 NR1 调参指南
参数 说明 典型范围
σ_spatial (NR1) RAW 域空间滤波半径 1.0 ~ 5.0
σ_range (NR1) RAW 域像素值容忍度 10 ~ 100 (12bit)
通道独立 vs 联合 R/Gr/Gb/B 是否用同一组参数 通常通道独立
暗部增强降噪因子 暗区噪声更明显,需更强降噪 1.0~3.0
ISO 分档阈值 不同增益下切换参数 每档 2x gain
5.1.4 NR1 对后续模块的影响
NR1 过强 → 细节丢失 → Demosaic 边缘模糊 → Sharpening 难恢复
NR1 过弱 → 噪声残留 → Demosaic 放大伪色 → CCM 放大噪声 → NR2 难以收拾

5.2 RGB 域降噪 (NR2)

5.2.1 为何 RGB 域需额外降噪

经过 AWB 增益 + CCM 后:

  • 噪声被放大(尤其是 B 通道)
  • 噪声变得有通道相关性
  • 出现色度噪声
5.2.2 RGB 域算法

联合双边滤波

  • 引导图 = G 通道(绿通道信噪比最高)
  • 对 R/B 通道使用 G 通道的边缘信息引导滤波
R_out(x) = (1/W) · Σ G_s(||x-y||) · G_r(|G(x)-G(y)|) · R_in(y)

色度噪声分离

  • 将 RGB 转为 YUV 空间
  • 只对 U/V 做强降噪(人眼对色度细节不敏感)
  • Y 通道做轻度降噪
5.3 YUV 域降噪 (NR3)

YUV 域降噪是 ISP 最成熟的降噪环节,几乎所有硬件 ISP 都支持。

5.3.1 Luma (Y) 降噪

算法选择

  • 硬件平台:双边滤波、guided filter、IIR 时域滤波
  • 软件平台:NLM、BM3D、AI

调试参数

参数 说明 调试要点
Luma NR Strength 降噪强度 ISO 分档
Edge Threshold 边缘保护阈值 低阈值 → 更多细节保留,但噪声残留多
Coring Threshold 小幅度抑制 防止把细微纹理当成噪声
Filter Window Size 滤波窗口 5×5 ~ 17×17,大窗口降噪强但资源消耗大
Texture Preservation 纹理保留强度 高频区域降低 NR 强度
5.3.2 Chroma (Cb/Cr) 降噪

特点

  • 人眼对色度分辨率不敏感 → 可以做较强的降噪
  • 色度噪声表现为彩色斑点 → 需特殊处理

调试参数

参数 说明 典型值
Chroma NR Strength 色度降噪强度 比 Luma 高 2~4×
Cb/Cr 独立强度 Cb/Cr 通道可分别设 Cr (R偏) 噪声通常更大
Y 值相关权重 低 Y 值时增强 Chroma NR 按 Y 曲线插值
Chroma 边缘保护 彩色边缘的保护强度 较低,防彩色渗色
5.3.3 3D 时域降噪 (3DNR)

核心流程

Frame N-1 (Reference)
    │ (Motion Estimation)
    ▼
Frame N (Current) → Motion Compensation → Temporal Fusion → Output
    │
    └→ Motion Mask → Spatial NR Fallback

关键算法模块

a) 运动估计 (ME)

  • 块匹配:SAD / SSD 代价函数
  • 分级搜索(Hierarchical):下采样粗搜 → 原图精搜
  • 子像素精度:1/2 ~ 1/4 pixel

b) 运动补偿 (MC)

  • 根据 ME 计算的 MV 对参考帧 warp
  • 使用双线性/双三次插值

c) 运动掩码 (Motion Mask)

motion_weight = f(SAD_block, threshold_low, threshold_high)

if SAD < th_low:  motion_weight = 1.0   (静止)
if SAD > th_high: motion_weight = 0.0   (运动)
else:             motion_weight = linear interpolation

d) 时域融合

I_out(t) = W_temporal · I_mc(t-1) + W_spatial · I_in(t)
其中 W_temporal + W_spatial = 1
场景 融合策略
静止区域 强时域融合 (W_temporal=0.9)
慢速运动 中等时域融合 (W_temporal=0.5)
快速运动 关闭时域融合 (W_temporal=0.0)

3DNR 调参核心参数

参数 说明 影响
ME 搜索范围 ±S pixels 大范围 → 大运动场景好,但计算量倍增
ME 块大小 B×B 大块 → 运动估计鲁棒但不够精细
SAD 运动阈值 th_low / th_high 决定运动/静止判断灵敏度
时域融合系数 α 静止帧的更新率 α 小 → 降噪强但 convergence 慢
场景切换检测 整帧 SAD 阈值 快速切换场景时 reset 参考帧

六、降噪强度与 ISO 的映射关系

降噪参数必须随 ISO(增益)动态调节,这是调参工作的核心。

6.1 ISO 分档策略

ISO 50    → NR OFF 或极弱
ISO 100   → NR Level 1
ISO 200   → NR Level 2
ISO 400   → NR Level 3
ISO 800   → NR Level 4
ISO 1600  → NR Level 5
ISO 3200  → NR Level 6
ISO 6400+ → NR Level 7 (最大强度)

6.2 参数插值

参数不是离散跳变的,而是在相邻 ISO 档位之间线性/非线性插值:

param(ISO) = lerp(param(ISO_i), param(ISO_{i+1}), (ISO - ISO_i) / (ISO_{i+1} - ISO_i))

6.3 ISO 分档时各参数变化趋势

参数 ISO 低 → 高 变化趋势
σ_spatial (降噪半径) 增大(1→7)
σ_range (值域容忍度) 增大(去噪更强,边缘牺牲更多)
Edge Threshold 降低(更多边缘被保护,但噪声残留增加)
Temporal Weight 增大(多帧融合更强)
Motion Threshold 降低(对运动更敏感,防止拖影)
Chroma NR Strength 大幅增大
Sharpening Strength 降低(高 ISO 降低或关闭锐化)

七、降噪模块调试流程

7.1 标准化调试流程

Step 1: 噪声特性测量
├── 测量 Sensor 噪声模型 (σ vs S 曲线)
├── 测量 RAW 域各通道噪声水平
├── 测量各 ISO 档位的噪声方差
└── 确定噪声的频谱特性

Step 2: NR1 (RAW 域) 调试
├── 固定 ISO,调整 σ_spatial / σ_range
├── 验证 demosaic 后伪色是否被抑制
├── 检查细节保留情况
└── 重复所有 ISO 档位

Step 3: NR2 (RGB 域) 调试
├── 调整 RGB 域联合双边滤波参数
├── 验证 CCM 后的噪声放大是否被补偿
└── 检查色度噪声

Step 4: NR3 (YUV 域) 调试
├── Luma NR 参数调优
├── Chroma NR 参数调优
├── 3DNR (时域) 参数调优
└── 验证运动场景

Step 5: 联合调优
├── NR1 + NR2 + NR3 联合验证
├── 确认各 NR 模块的分配是否合理
├── 噪声/细节/伪影三角平衡
└── 批量场景测试

7.2 典型调试场景

场景 照明条件 ISO 调试重点
户外阳光 10000+ lux 50-100 降噪最弱,主要做 Luma 细节保留
户外阴天 1000-3000 lux 200-400 轻度降噪,重点是边缘保护
室内灯光 100-500 lux 400-800 中级降噪,Luma + Chroma 兼顾
室内暗光 10-50 lux 1600-3200 强降噪,Chroma NR 优先
极限暗光 < 5 lux 6400+ 最大强度降噪,牺牲细节保证可用性
运动场景 任意 任意 降低/关闭 3DNR,提高 spatial NR

八、降噪质量评估

8.1 客观指标

指标 计算方式 说明
PSNR MSE 的对数表示 像素级误差,对噪声敏感但不能完全反映视觉质量
SSIM 亮度/对比度/结构相似性 与人眼感知相关性好
MSSSIM 多尺度 SSIM 更好的感知相关性
VIF Visual Information Fidelity 全参考,感知质量评估
NIQE Natural Image Quality Evaluator 无参考,基于自然场景统计
BRISQUE Blind/Referenceless Image Spatial Quality 无参考
MTF50 保持率 降噪前后的 MTF50 比值 衡量细节保留能力

8.2 主观评估

评估项目 方法 关注点
Flat Region Noise 均匀区域(天空、墙壁) 噪声颗粒是否细腻,是否有色斑
Edge Preservation 倾斜边缘(SFR 测试图) MTF50 下降量、边缘振铃
Texture Retention Dead Leaves / 纹理图 纹理细节保留比例
Motion Artifacts 运动场景视频 拖影长度、闪烁程度
Color Noise 暗部色块 色度噪声残留、伪色
Temporal Flicker 静止场景视频 像素级闪烁、亮暗跳动

8.3 噪声图谱分析

使用 Noise Profile 分析工具:

  1. 拍摄均匀灰卡在不同 ISO 下
  2. 计算每个亮度级的噪声方差
  3. 绘制 σ-Luminance 曲线
  4. 对比降噪前后的曲线变化
降噪前: σ_total = √(K·S + σ_read²)
降噪后: σ_denoised = f(σ_total)   理想的 f 应在所有亮度级上都显著降低 σ

九、降噪相关的常见画质问题

9.1 问题排查表

问题表现 可能原因 解决方案
水彩化 / Watercolor Effect NR 过强,尤其 Chroma NR 降低 Chroma NR 强度,提高边缘保护阈值
塑料感 / Plastic Look Luma NR 过强,纹理细节全失 降低 Luma NR σ_range,提高纹理保留参数
暗部彩色斑点 Chroma NR 在暗部不够强 增大 Y 值相关的 Chroma NR 权重曲线
亮部噪声残留 NR 统一参数,不平坦区域 NR 不足 降低 NR 对 Y 值的依赖;使用 adaptive NR
运动拖影 / Ghosting 3DNR 运动检测不敏感 降低运动阈值,增大运动区域 spatial NR 权重
闪烁 / Flickering 时域融合速度匹配不当 增大 α(时域融合系数),或降低 3DNR 强度
边缘模糊 σ_range 太大,边缘未保护 降低 σ_range,启用 edge-preserving 模式
摩尔纹 / Aliasing Demosaic + NR 组合不当 加强 demosaic 后 anti-alias 滤波
降噪后振铃 (Ringing) 变换域降噪阈值硬截断 改用 soft thresholding
Patch 伪影 / 块效应 块匹配类算法 + 空域不均匀 增大 overlap,或使用聚合权重优化

十、工程实现要点

10.1 硬件降噪 vs 软件降噪

维度 硬件 ISP 软件 (CPU/GPU/NPU)
实时性 30~60fps @ 4K 取决于算力
功耗 几十 mW 数百 mW ~ 几 W
算法复杂度 低~中(BF, Guided, IIR) 高(NLM, BM3D, AI)
灵活性 寄存器参数可调,算法固定 算法可任意替换
位宽 12~14bit pipe 16~32bit float
内存带宽 line buffer 级别 帧 buffer 级别

10.2 降噪效率优化技巧

空域降噪优化

  • 分离式滤波:2D Gauss → XY 方向分离计算 → O(N) 替代 O(N²)
  • 积分图加速:box filter / guided filter 用积分图 O(1) 计算
  • 降采样 + 上采样:在缩略图上算 NR map → 上采样到原图
  • 去中心化:只对每像素的高频部分做引导(输出叠加到原图)

时域降噪优化

  • 子采样运动估计:在降采样帧上做 ME → 减少计算量
  • 运动矢量预测:利用上一帧 MV 做预测,缩小搜索范围
  • 分块自适应:静止块跳帧 ME,只对运动块做 ME
  • 多参考帧存储管理:环形 buffer + 帧压缩

10.3 数据流注意事项

NR1 需要:
  └── line buffer (Bayer pattern 对齐)
NR2 需要:
  └── full frame buffer (RGB 3 通道)
NR3 (2D) 需要:
  └── line buffer (YUV 420/422)
NR3 (3D) 需要:
  └── 1~N 帧参考帧 buffer + MV buffer + motion mask buffer

十一、降噪参数速查表

11.1 NR1 (RAW Domain)

┌──────────────────┬────────────────────┬──────────┬────────────┐
│ Parameter        │ Description        │ Range    │ ISO Trend  │
├──────────────────┼────────────────────┼──────────┼────────────┤
│ nr1_spatial_sigma│ 空域 σ              │ 0.5~5.0  │ ↗          │
│ nr1_range_sigma  │ 值域 σ              │ 10~200   │ ↗          │
│ nr1_r_gain       │ CH-R 强度偏移       │ 0.5~2.0  │ —          │
│ nr1_gr_gain      │ CH-Gr 强度偏移      │ 0.5~2.0  │ —          │
│ nr1_gb_gain      │ CH-Gb 强度偏移      │ 0.5~2.0  │ —          │
│ nr1_b_gain       │ CH-B 强度偏移       │ 0.5~2.0  │ ↗          │
│ nr1_dark_boost   │ 暗部增强倍数        │ 1.0~4.0  │ ↗          │
│ nr1_edge_protect │ 边缘保护阈值        │ 0~255    │ ↘          │
└──────────────────┴────────────────────┴──────────┴────────────┘

11.2 NR3 Luma (Y Domain)

┌─────────────────────┬──────────────────────┬──────────┬────────────┐
│ Parameter           │ Description          │ Range    │ ISO Trend  │
├─────────────────────┼──────────────────────┼──────────┼────────────┤
│ nr3_luma_strength   │ 亮度降噪强度         │ 0~255    │ ↗          │
│ nr3_luma_edge_th    │ 边缘保护阈值         │ 0~255    │ ↘          │
│ nr3_luma_coring     │ 小幅度抑制阈值       │ 0~64     │ ↗          │
│ nr3_luma_window     │ 滤波窗口大小         │ 3~17     │ ↗          │
│ nr3_luma_texture_k  │ 纹理保留增益         │ 0~1.0    │ ↘          │
└─────────────────────┴──────────────────────┴──────────┴────────────┘

11.3 NR3 Chroma (UV Domain)

┌──────────────────────┬──────────────────────┬──────────┬────────────┐
│ Parameter            │ Description          │ Range    │ ISO Trend  │
├──────────────────────┼──────────────────────┼──────────┼────────────┤
│ nr3_chroma_strength  │ 色度降噪强度         │ 0~255    │ ↗↗         │
│ nr3_chroma_cb_weight │ Cb 通道权重          │ 0.5~2.0  │ —          │
│ nr3_chroma_cr_weight │ Cr 通道权重          │ 0.5~2.0  │ —          │
│ nr3_chroma_y_weight  │ Y 相关权重曲线       │ LUT      │ —          │
│ nr3_chroma_edge_th   │ 色度边缘保护阈值     │ 0~255    │ ↘          │
└──────────────────────┴──────────────────────┴──────────┴────────────┘

11.4 3DNR (Temporal)

┌──────────────────────┬──────────────────────────┬──────────┬────────────┐
│ Parameter            │ Description              │ Range    │ ISO Trend  │
├──────────────────────┼──────────────────────────┼──────────┼────────────┤
│ me_search_range      │ 运动估计搜索范围         │ 4~64     │ —          │
│ me_block_size        │ 运动估计块大小           │ 8~32     │ ↗          │
│ me_sad_th_low        │ 静止 SAD 阈值            │ 100~1000 │ ↘          │
│ me_sad_th_high       │ 运动 SAD 阈值            │ 500~5000 │ ↘          │
│ temporal_alpha       │ 时域融合系数 (静止)      │ 0.1~0.5  │ ↘          │
│ temporal_beta        │ 时域融合系数 (运动)      │ 0.8~1.0  │ —          │
│ scene_change_th      │ 场景切换检测阈值         │ 10~100   │ —          │
│ ref_frame_count      │ 参考帧数量               │ 1~5      │ ↗          │
└──────────────────────┴──────────────────────────┴──────────┴────────────┘

十二、降噪调参经验法则

  1. 先搞定静态(单帧),再做动态(多帧)

    • 单帧降噪是基础,3DNR 是锦上添花
    • 3DNR 无法完全弥补单帧降噪的问题
  2. Chroma NR 加强,Luma NR 克制

    • 色度噪声人眼敏感但色度细节不敏感 → Chroma NR 可大胆做
    • 亮度噪声人眼敏感,但亮度细节也同样敏感 → Luma NR 需有节制
  3. 暗部用强 NR,亮部用弱 NR

    • 暗部 SNR 低但人眼对暗部细节不敏感
    • 亮部 SNR 高但人眼对亮部细节最敏感
  4. 降噪强度 ≤ 锐化强度

    • 降噪过度导致的模糊无法被锐化完全恢复
    • 锐化会放大噪声残留 → 应先降噪再锐化
  5. 每个 ISO 独立调优,不可只调一两档就线性外推

    • 不同 ISO 下噪声特性(的分布/频谱/相关性)可能完全不同
    • 高 ISO 时 chroma NR 和 luma NR 的比例应大幅变化
  6. NR 参数与 AE/AWB 耦合

    • 曝光时间越长 → 噪声越多 → 需要更强 NR
    • AWB 增益越极端(如暖色灯下 B 通道 gain 大)→ B 通道需要更强 NR
  7. 降噪不是越强越好

    • 降噪过度的图像看起来"不真实"(塑料感)
    • 保留一定程度的细微噪声(Grain)反而给人更自然的印象
    • 胶片质感的保留是高端影像的重要特征
  8. 全局降噪 + 局部自适应

    • 全局统一参数无法适应场景内容变化
    • 基于纹理复杂度 / 边缘强度 / 亮度级做局部自适应 NR

十三、总结

降噪是 ISP 整个 Pipeline 中最核心也最耗时的调参模块。一个好的降噪方案需要:

正确的噪声模型 + 合适的算法选择 + 精细的 ISO 分档 + 多级分工协同
  • 了解 Sensor 噪声特性是调参的基础
  • NR1/NR2/NR3 分工协作,各司其职
  • 降噪的参数在不同 ISO 之间平滑过渡
  • 降噪与细节保留的动态平衡是画质竞争的核心差距来源
  • 运动场景下时域降噪的鲁棒性是视频画质的关键
  • 深度学习的引入正在改变传统降噪范式

最终目标:在任何光照条件下,获得视觉上纯净、自然、细节丰富的图像,同时保证实时性和功耗约束。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐