2. 基础概念
各位同学,咱们今天聊点实在的。做ISP算法,这三个概念就像盖房子的地基——信噪比、动态范围、曝光量。你要是没吃透它们,后面多帧降噪和HDR合成根本玩不转。
我当年刚入行时,总觉得这些是物理课本上的东西,跟实际工程离得远。直到有一次调试夜景模式,图像暗部全是噪点,亮部又过曝,折腾了两周才发现是曝光量没算对。嗯,从那以后我再也不敢小看这些基础概念了。
2.1 信噪比(SNR)——图像质量的“体检报告”
信噪比,说白了就是信号和噪声的比值。信号是你想要的信息,噪声是你不想要的干扰。这个比值越高,图像越干净。
核心公式:
SNR = 20 * log10(Signal / Noise) 单位:dB
每提升6dB,视觉上的噪声就减少一半左右。
我在项目中遇到过这样的坑:某款传感器的SNR标称是40dB,但实际暗光下只有25dB。为什么?因为SNR跟光照强度直接挂钩。你想想看,光线越弱,信号越弱,但传感器的读出噪声基本不变,比值自然就掉了。
| 场景 | 典型SNR | 视觉感受 |
|---|---|---|
| 户外晴天 | 40-50 dB | 画面干净,几乎无噪点 |
| 室内灯光 | 30-40 dB | 轻微噪点,可接受 |
| 黄昏/暗光 | 20-30 dB | 明显噪点,需要降噪 |
| 极暗环境 | <20 dB | 噪点严重,细节丢失 |
工程小技巧:多帧降噪的本质,就是通过叠加多帧图像来提升SNR。叠加N帧,SNR理论上提升10*log10(N) dB。比如叠加4帧,能提升约6dB——相当于把暗光场景拉到室内灯光的水平。
2.2 动态范围(DR)——相机能看到的“明暗跨度”
动态范围描述的是传感器能同时记录的最亮和最暗细节的能力。单位也是dB,但含义跟SNR不同。
物理定义:
DR = 20 * log10(满阱容量 / 本底噪声) 单位:dB
满阱容量:像素能容纳的最大电子数
本底噪声:无光照时的噪声水平
举个例子。人眼的动态范围大约在100dB以上,所以你能同时看清窗外的蓝天和室内的暗角。但普通手机传感器的DR只有60-70dB,这就导致拍逆光场景时,天空一片死白,人脸一团漆黑。
我曾经调试过一款12bit的传感器,理论DR是72dB,但实际测出来只有58dB。查了半天,发现是电源纹波太大,抬高了本底噪声。你看,理论归理论,工程实现才是硬道理。
| 传感器类型 | 典型DR | 典型场景 |
|---|---|---|
| 手机CMOS | 60-70 dB | 日常拍照,逆光需要HDR |
| 单反CMOS | 70-80 dB | 风光摄影,宽容度较好 |
| 工业相机 | 80-90 dB | 机器视觉,高对比场景 |
| 人眼 | ~100 dB | 自适应,明暗都能看清 |
避坑指南:我曾经以为DR越高越好,直到发现高DR传感器往往伴随着低灵敏度。因为要扩大满阱容量,就得增大像素尺寸,但像素大了,暗光下的信噪比反而下降。这是个trade-off,没有完美的传感器。
2.3 曝光量(EV)——控制图像亮度的“三驾马车”
曝光量EV(Exposure Value)是个相对值,用来描述进入传感器的总光量。它由三个参数共同决定:光圈、快门速度、ISO增益。
EV定义:
EV = log2(N^2 / t) 其中N是光圈F数,t是快门速度(秒)
每增加1EV,进光量翻倍。ISO增益不改变EV,但会放大信号和噪声。
我习惯把EV理解成“曝光档位”。比如:
- EV 0:F1.0光圈 + 1秒快门,极暗场景
- EV 15:F16光圈 + 1/125秒快门,户外晴天
- EV -2:F1.4光圈 + 1/4秒快门,夜景手持
你想想看,为什么夜景模式要拍多帧?因为单帧的EV不够,强行拉高ISO会炸噪声。多帧合成相当于用多张低ISO短曝光帧,拼出一张高EV的干净图像。
| 场景 | 典型EV | ISP策略 |
|---|---|---|
| 阳光沙滩 | 16-18 | 低ISO,高速快门,注意高光保护 |
| 阴天户外 | 12-14 | 中等ISO,自动曝光 |
| 室内灯光 | 7-10 | 适当提高ISO,开启降噪 |
| 夜景 | 2-5 | 多帧降噪或HDR合成 |
| 极暗 | <2 | 三脚架+长曝光,或AI夜景 |
2.4 三者的关系——一张图说清楚
这三个概念不是孤立的。我画了一张图,帮你理清它们之间的逻辑关系。
2.5 工程中的权衡——我踩过的坑
讲完理论,咱们聊聊实际工程中怎么用这些概念。
经验分享:我调试夜景模式时,发现一个规律——SNR和DR是跷跷板。你为了提升暗部SNR,拉高ISO或延长曝光时间,结果高光区域过曝,DR反而缩水了。反过来,为了保住高光细节压低曝光,暗部又全是噪点。
多帧降噪和HDR合成,本质上就是在打破这个跷跷板。用多帧低ISO短曝光帧叠加,既保证了高光不溢出,又通过帧间平均提升了SNR。这就是为什么现在的旗舰手机夜景模式能同时做到“亮部不过曝、暗部无噪点”。
我曾经犯过的错:早期做HDR时,我直接用了3帧不同曝光的图像做合成。结果运动物体出现了严重鬼影。后来才明白,HDR不仅要考虑DR和SNR,还得考虑帧间对齐和运动补偿。这三个概念是基础,但工程实现远不止于此。
2.6 本章小结
好了,咱们把这一章的核心点捋一捋:
- SNR:信号与噪声的比值,决定图像干净程度。多帧降噪就是靠叠加提升SNR。
- DR:传感器能记录的明暗跨度,受限于满阱容量和本底噪声。HDR合成就是为了扩展DR。
- EV:控制进光量的三要素(光圈、快门、ISO),是曝光策略的起点。
- 三者相互制约:EV影响SNR,SNR限制DR的可用范围。好的ISP算法就是在三者之间找到最优平衡点。
这些概念看起来简单,但真正吃透它们,你才能理解为什么多帧降噪要拍4帧而不是3帧,为什么HDR要用短中长三档曝光而不是两档。后面的章节,咱们会一步步把这些基础应用到实际算法中。