4. 噪声评估指标:SNR、PSNR、SSIM、视觉噪声评估
噪声抑制做得好不好,不能光靠眼睛看。你得有数据说话。
我见过不少团队,模型跑出来的图看着挺干净,一上指标就露馅了。要么细节糊了,要么颜色偏了。所以这一章,我们聊聊怎么给噪声做「体检」。
4.1 信噪比(SNR)—— 最朴素的度量
SNR 是信号与噪声的功率比值。说白了,就是有用信息占多大分量。
公式(简化版):
SNR = 10 * log10( Psignal / Pnoise )
单位是 dB。值越大,说明信号越强,噪声越弱。
我在项目中常用 SNR 来快速评估 sensor 的底噪水平。比如同一颗 sensor,ISO 100 时 SNR 能到 45 dB,ISO 3200 时可能掉到 25 dB。这个落差,基本决定了你的降噪策略要从哪一档开始发力。
实用技巧:
计算 SNR 时,建议取图像中一块均匀区域(比如灰卡)作为噪声估计,再取一块纹理丰富区域作为信号。别整张图一起算,那样会把边缘和纹理的贡献也混进去。
4.2 峰值信噪比(PSNR)—— 工业标准,但有坑
PSNR 是 SNR 的变种,用像素最大值(8bit 就是 255)代替信号功率。它成了图像压缩和降噪领域最通用的指标。
公式:
PSNR = 10 * log10( MAX^2 / MSE )
其中 MSE 是均方误差,MAX 是像素最大值。
PSNR 的好处是计算简单、可复现。坏处也很明显——它不关心人眼怎么看。
我曾经踩过的坑:
有一次我调了一个降噪模型,PSNR 比 baseline 高了 0.8 dB,心里挺美。结果放到实际场景里,纹理细节全磨没了,像油画一样。从那以后,我再也不单看 PSNR 了。
PSNR 对像素级误差敏感,但对结构失真、纹理模糊几乎无感。所以它适合做回归测试,不适合做最终决策。
4.3 结构相似性(SSIM)—— 更接近人眼
SSIM 从亮度、对比度、结构三个维度比较两张图像。它比 PSNR 更贴近人眼感知。
SSIM 的三个分量:
- 亮度(luminance):比较均值
- 对比度(contrast):比较标准差
- 结构(structure):比较协方差
最终 SSIM 是这三个分量的加权乘积,范围在 [-1, 1],越接近 1 越好。
我个人习惯用 SSIM 来评估降噪后的细节保留程度。比如一张图降噪后 PSNR 涨了 2 dB,但 SSIM 掉了 0.05,那说明降噪过头了,细节丢了。
注意:
SSIM 对局部结构敏感,但全局一致性它管不了。所以我会配合 PSNR 一起看,一个看像素误差,一个看结构保真。
4.4 视觉噪声评估:主观与客观
指标再漂亮,最终还是要过人眼这一关。视觉噪声评估分两条路:主观评价和客观模型。
4.4.1 主观评价
最直接的方法就是找人看。ITU-R BT.500 标准里定义了主观测试流程,比如双刺激连续质量量表(DSCQS)。
- 双刺激法:同时展示参考图和测试图,让观察者打分
- 单刺激法:只展示测试图,让观察者凭印象打分
- 成对比较法:两两对比,选出更好的那张
主观评价的缺点是费时费力,而且不同人的审美差异很大。我见过同一个降噪结果,有人觉得干净,有人觉得太肉。
4.4.2 客观模型
为了模拟人眼,学术界提出了不少模型。常用的有:
| 模型 | 原理 | 适用场景 |
|---|---|---|
| VIF(视觉信息保真度) | 基于自然场景统计和 HVS 模型 | 通用图像质量评估 |
| VMAF(视频多方法评估融合) | 融合 VIF、DLM、运动特征 | 视频质量评估 |
| NIQE(自然图像质量评估器) | 无参考,基于自然场景统计 | 无参考场景 |
| PIQE(感知图像质量评估) | 块级失真检测 | 无参考,实时性高 |
我的经验:
在 HDR 噪声抑制项目中,我通常用 VIF 做主要客观指标,因为它对纹理和边缘的保真度比较敏感。NIQE 作为无参考的辅助指标,用来监控模型在未知场景下的表现。
4.5 知识体系总览
下面这张图把本章的评估体系串起来了。你可以看到,从像素级到感知级,每个指标都有自己的位置。
4.6 实战建议:怎么选指标
你可能会问:这么多指标,我到底该用哪个?
我的建议是分场景:
- 算法调优阶段:用 PSNR + SSIM 组合,快速迭代
- 模型选型阶段:加 VIF 或 VMAF,看感知质量
- 上线前验收:必须做主观评估,至少找 5 个人看
- 无参考场景(比如用户上传的图):用 NIQE 或 PIQE 做监控
避坑提醒:
我曾经在一个项目里只用 PSNR 做优化,结果模型学会了「磨皮」——PSNR 涨了,但纹理全没了。后来加上 SSIM 和 VIF,才把模型拉回来。记住:指标是工具,不是目标。
噪声评估没有银弹。理解每个指标的脾气,组合使用,才能做出真正能用的降噪系统。