第20章:Camera图像质量调优
图像质量调优,说白了就是让摄像头拍出来的照片「好看」。但好看这个词太主观了,我们需要一套客观的量化指标。我在做手机摄像头驱动那几年,几乎每天都在跟这些指标打交道。今天咱们就聊聊这些硬核的东西。
20.1 图像质量核心指标
先说说几个最关键的指标。你想想看,一张照片好不好,无非就是清不清晰、亮不亮、颜色对不对、暗部细节能不能看到。这些对应到工程上,就是MTF、SNR、动态范围和色彩还原。
20.1.1 MTF(调制传递函数)
MTF衡量的是镜头和传感器组合对细节的还原能力。简单说,就是拍黑白条纹时,你能分辨到多细的条纹。
我习惯用MTF50这个值——就是对比度下降到50%时的空间频率。单位是lp/mm(线对每毫米)。
经验值参考:
- 高端手机主摄:MTF50 > 2000 LW/PH(线宽每画面高度)
- 中端摄像头:MTF50 在 1500-2000 LW/PH
- 入门级:MTF50 < 1200 LW/PH
我在项目中遇到过一件事:某款模组MTF测试数据很好看,但实拍总觉得模糊。后来发现是测试时用了理想光源,实际场景下镜头色散导致MTF下降。嗯,这里要注意——实验室数据和实拍效果有时候是两码事。
20.1.2 SNR(信噪比)
信噪比就是信号和噪声的比值。单位是dB。数值越高,画面越干净。
| 场景 | 目标SNR | 说明 |
|---|---|---|
| 白天户外 | > 40 dB | 几乎看不到噪点 |
| 室内灯光 | 30-40 dB | 轻微噪点可接受 |
| 暗光(< 10 lux) | 25-30 dB | 噪点明显,需降噪 |
为什么暗光下SNR会差?因为光子数少了,信号弱,但传感器本身的读出噪声基本不变。这个比值自然就下来了。
20.1.3 动态范围
动态范围是传感器能同时记录的最亮和最暗区域的比值。单位是dB或档位(stops)。
我见过最夸张的一次:客户要求在逆光场景下同时看清人脸和背景天空。普通传感器动态范围也就60-70dB,根本做不到。最后只能上HDR。
小技巧:动态范围不够时,优先保暗部细节。人眼对暗部丢失更敏感。这是我调了上百款模组后的体会。
20.1.4 色彩还原
色彩还原用ΔE(色差)来衡量。ΔE < 3 时,人眼基本看不出差别。ΔE > 5 就会明显偏色。
我习惯用24色卡做测试,每个色块的ΔE都要看。特别是肤色、天空蓝、草地绿这几个关键色。
20.2 ISP参数调优流程
ISP(图像信号处理器)的参数调优,是图像质量的核心。我把它分成三个关键环节:AE、AWB和CCM。
20.2.1 AE Target(自动曝光目标值)
AE Target就是你想让画面达到的平均亮度。通常用Y值表示,范围0-255。
我的经验是:
- 室内场景:Y target = 100-120
- 户外晴天:Y target = 120-140
- 夜景:Y target = 80-100(太亮会暴露噪点)
调AE时要注意:不要只看Y值,还要看直方图分布。我曾经遇到一个case,Y值达标了,但直方图集中在两端,高光过曝、暗部死黑。这种就是AE策略有问题。
20.2.2 AWB Gain(自动白平衡增益)
AWB就是让白色物体在各种光源下都呈现白色。R/G/B三个通道的增益值决定了色温。
我常用的方法:
- 在D65光源(6500K)下校准,得到基准增益
- 在A光源(2856K)、TL84(4000K)下验证
- 检查灰卡18%的R/G和B/G比值是否在1.0附近
注意:AWB不能只靠算法。传感器本身的RGB响应曲线差异很大。同一套AWB参数换一个传感器型号,效果可能天差地别。
20.2.3 CCM(色彩校正矩阵)
CCM是一个3x3的矩阵,用来校正传感器RGB到标准色彩空间的转换。
// CCM矩阵示例
[ R' ] [ 1.8 -0.5 -0.3 ] [ R ]
[ G' ] = [ -0.2 1.6 -0.4 ] [ G ]
[ B' ] [ -0.1 -0.3 1.4 ] [ B ]
调CCM我有个原则:对角线元素尽量接近1.5-2.0,非对角线元素绝对值不超过0.5。超过这个范围,说明传感器本身色彩响应有问题,靠矩阵硬拉会引入噪声。
20.3 噪点与锐化平衡
这是最让人头疼的部分。锐化多了噪点明显,降噪狠了画面模糊。说白了就是鱼和熊掌。
我一般分三步走:
- 第一步:先做空域降噪。用双边滤波或NLM(非局部均值),强度控制在3-5级(0-10级)。
- 第二步:做时域降噪。多帧叠加,适合暗光场景。
- 第三步:锐化。用非锐化掩模(USM),半径1-2像素,强度0.5-1.0。
我曾经犯过一个错:为了追求清晰度,把锐化强度拉到2.0。结果照片边缘出现了明显的白边(overshoot)。后来学乖了,锐化前先看边缘的MTF曲线,确保不过冲。
20.4 HDR融合效果调优
HDR就是把多帧不同曝光的图像合成一张。难点在于:
- 对齐:手持拍摄时会有抖动,需要做图像配准
- 去鬼影:运动物体会在融合时出现重影
- 色调映射:把高动态范围的图像映射到8bit显示
我调HDR时最关注三个参数:
- 曝光差:短帧和长帧的曝光时间比,一般2-4倍
- 融合权重:亮区多用短帧,暗区多用长帧
- 色调映射曲线:我用的是对数映射,gamma值0.4-0.6
实战经验:HDR效果好不好,看天空和暗部交界处有没有光晕。有光晕说明融合算法没处理好边缘过渡。
20.5 实战:使用Imatest进行图像质量评估
Imatest是业界最常用的图像质量分析工具。我拿它做三件事:
20.5.1 测试卡拍摄
用标准的ISO 12233测试卡,在D65光源下拍摄。注意:
- 测试卡要占画面80%以上
- 光源均匀度 > 90%
- 相机和测试卡垂直,误差 < 5度
20.5.2 数据分析
把拍摄的RAW图导入Imatest,选择对应的测试模块:
- SFR模块:分析MTF,看中心、四角、边缘的清晰度
- Colorcheck模块:分析色彩还原,看ΔE和饱和度
- Noise模块:分析SNR,看亮区和暗区的噪声水平
20.5.3 迭代调优
拿到数据后,对照目标值调整ISP参数。我一般做3-5轮迭代:
- 第一轮:调AE Target,让亮度达标
- 第二轮:调AWB,让色温准确
- 第三轮:调CCM,让色彩还原
- 第四轮:调降噪和锐化,平衡清晰度和噪声
- 第五轮:调HDR,提升动态范围
每轮调整后都要重新拍摄测试卡,用Imatest验证。别偷懒,我见过有人一次调完所有参数,结果根本不知道哪个参数起了作用。
核心总结:
- MTF看清晰度,SNR看噪声,动态范围看宽容度,ΔE看色彩
- ISP调优顺序:AE → AWB → CCM → 降噪/锐化 → HDR
- Imatest是验证工具,不是调优工具。参数怎么调,还得靠经验和理解
好了,这一章的内容就到这里。图像质量调优是个细活,急不来。多测、多看、多对比,慢慢就有感觉了。