3. 图像质量评价体系

图像质量评价,说白了就是给相机“打分”。但怎么打才公平?怎么打才能指导调优?这背后有一套完整的体系。我个人习惯把评价体系拆成三块:客观指标、主观评价、自动化流程。今天咱们就把它聊透。

3.1 客观指标:用数据说话

客观指标是硬通货。你调没调好,数据一跑就知道。我见过不少工程师凭感觉调参,结果量产翻车——嗯,数据不会骗人。

3.1.1 SNR(信噪比)

SNR 衡量的是信号和噪声的比值。值越高,画面越干净。

  • 定义:SNR = 20 * log10(信号均值 / 噪声标准差)
  • 典型场景:暗光下 SNR 会骤降,这时候降噪算法就得介入
  • 我的经验:曾经有个项目,SNR 在低照度下只有 28dB,画面全是噪点。后来通过调整模拟增益和数字增益的分配,硬是拉到了 35dB。关键是要找到 sensor 的本底噪声拐点。

SNR 参考阈值

场景目标 SNR说明
白天户外≥ 45 dB画面干净,细节丰富
室内灯光≥ 38 dB可接受,轻微噪点
暗光(10 lux)≥ 30 dB需要降噪处理
极限暗光(1 lux)≥ 25 dB保留主体即可

3.1.2 MTF(调制传递函数)

MTF 衡量的是镜头+ sensor 对细节的还原能力。说白了就是“锐不锐”。

  • 测试方法:用 ISO 12233 测试卡,拍斜边,算 SFR
  • 关键频率:Nyquist 频率的一半(比如 sensor 是 12MP,关注 0.5 奈奎斯特处的 MTF)
  • 避坑指南:我曾经遇到过 MTF 数据很好看,但实拍画面很“塑料感”。后来发现是锐化过度了。MTF 高不代表画质好,要结合人眼感知来看。

小技巧:调优时建议同时看 MTF50 和 MTF10。MTF50 反映细节锐度,MTF10 反映边缘过渡。两者差距太大,说明锐化不自然。

3.1.3 Color Accuracy(色彩准确度)

色彩准确度用 ΔE 来衡量。ΔE 越小,颜色越准。

  • ΔE < 3:人眼几乎看不出差异
  • ΔE 3~6:轻微差异,可接受
  • ΔE > 6:偏色明显,需要重新标定

我习惯用 24 色卡做标定。记得有一次,某个红色通道的 ΔE 一直偏高,查了半天发现是 IR cut filter 的透过率曲线在红色波段有异常。嗯,硬件问题有时候会伪装成算法问题。

3.1.4 Shading(亮度均匀性)

Shading 指的是画面从中心到边缘的亮度衰减。理想情况是四角跟中心一样亮,但现实是——镜头天然会带来衰减。

  • 指标:通常用“中心亮度 / 四角亮度”的比值,单位是 %
  • 目标:> 80% 算及格,> 90% 算优秀
  • 调优手段:LSC(镜头阴影校正)查表补偿

注意:LSC 补偿太猛会放大噪声。我曾经在某个项目里把四角补偿到 95%,结果暗光下四角全是噪点。后来改成 85%,噪声和均匀性之间找到了平衡。

3.2 主观评价:人眼才是最终裁判

客观指标再漂亮,最终还是要给人看。主观评价就是让“人”来打分。

3.2.1 ISO 12233 标准

ISO 12233 是图像质量评价的“宪法”。它定义了测试卡、拍摄条件、分析方法。

  • 测试卡:包含斜边、死点、灰阶、色彩块等
  • 分析项:SFR(空间频率响应)、噪声、畸变、色差
  • 我的习惯:每次调优前先跑一遍 ISO 12233 全流程,拿到 baseline。调完再跑一遍,对比 delta。

3.2.2 CPIQ(相机手机图像质量)

CPIQ 是 IEEE 的标准,专门针对移动设备。它把主观感受量化成可测量的指标。

CPIQ 维度对应客观指标主观感受
纹理锐度MTF50画面是否清晰
噪声SNR、视觉噪声画面是否干净
色彩保真度ΔE颜色是否自然
亮度均匀性Shading %四角是否发暗
畸变TV 畸变 %直线是否弯曲

CPIQ 的好处是——它告诉你“用户觉得怎么样”。比如 MTF50 很高,但 CPIQ 纹理锐度得分低,说明锐化不自然。这时候就要回头调 sharpening 参数。

3.2.3 用户感知

用户感知是最玄学但也最重要的部分。我总结了几条经验:

  • 第一眼印象:用户看照片的前 0.5 秒决定了好坏。曝光、色彩、清晰度是核心
  • 放大癖好:用户喜欢放大看细节。边缘的伪像、振铃、色差都会被放大检视
  • 肤色优先:人脸肤色偏一点,用户就会觉得“这相机不行”。我专门做过肤色标定,ΔE 控制在 2 以内

用户感知 vs 客观指标对照

用户抱怨可能原因对应指标
“照片模糊”MTF 低 / 对焦不准MTF50 < 0.3
“噪点多”SNR 低 / 降噪不足SNR < 30 dB
“颜色怪”白平衡偏 / 色彩标定不准ΔE > 5
“四角暗”Shading 补偿不足Shading < 70%

3.3 自动化测试流程

手动测一遍要半天,自动化测一遍只要 10 分钟。你想想看,哪个更划算?

3.3.1 流程设计

  1. 准备阶段:固定光源(D65、D50、A 光源)、固定距离、固定测试卡
  2. 采集阶段:自动切换场景(白天、室内、暗光),每场景拍 5 张取平均
  3. 分析阶段:跑 SNR、MTF、ΔE、Shading 脚本,生成报告
  4. 对比阶段:跟 baseline 对比,标红超标项
  5. 输出阶段:生成 HTML 报告,包含图表和趋势

3.3.2 代码示例(Python 伪代码)

# 自动化测试主流程
def run_iq_auto_test(scene_list):
    results = {}
    for scene in scene_list:
        # 采集
        raw = capture_raw(scene.light, scene.target)
        # 分析
        snr = calc_snr(raw)
        mtf = calc_mtf(raw, scene.slanted_edge)
        delta_e = calc_color_accuracy(raw, scene.color_checker)
        shading = calc_shading(raw)
        # 记录
        results[scene.name] = {
            'snr': snr,
            'mtf50': mtf['mtf50'],
            'delta_e': delta_e,
            'shading': shading
        }
    # 对比 baseline
    report = compare_with_baseline(results, BASELINE)
    generate_html_report(report)
    return report

自动化避坑:我曾经遇到过自动化脚本跑了一夜,结果发现光源没预热,色温漂移了。建议每次测试前加一个“光源稳定检测”步骤,色温稳定在 ±50K 内再开始采集。

3.4 知识体系总览

下面这张图把本章的核心逻辑串起来了。你一看就明白:客观指标是骨架,主观评价是血肉,自动化流程是神经系统。

图像质量评价体系 客观指标 主观评价 自动化流程 SNR MTF ΔE Shading ISO 12233 CPIQ 用户感知 采集 分析 对比 报告 最终画质决策 客观指标提供数据支撑,主观评价提供用户视角,自动化流程保证效率——三者缺一不可

3.5 本章小结

图像质量评价不是单点作战。SNR、MTF、ΔE、Shading 是四个核心客观指标,ISO 12233、CPIQ、用户感知是三个主观评价维度,自动化流程把这一切串起来。我个人建议:先跑客观指标拿到 baseline,再用主观评价验证,最后用自动化流程固化。这样调出来的画质,既经得起数据检验,也经得起用户挑剔。

最后提醒一句:不要迷信单一指标。MTF 再高,SNR 低了也是废片;ΔE 再准,Shading 差了也是残次品。平衡,才是调优的真谛。