2. 曝光三要素:光圈、快门、ISO的物理意义与对图像亮度的影响

做ISP算法这些年,我见过太多工程师把AE调参当成「调三个滑块让画面不黑不白」的活儿。说实话,这么想也能跑通流程,但一旦遇到极端场景——比如大逆光、夜景运动、或者客户非要你做到14bit动态范围——你就会发现,不懂三要素的物理本质,根本没法下手。

这一章,咱们就把光圈、快门、ISO这三个东西彻底聊透。不是背参数,而是理解它们到底怎么影响进光量、怎么影响图像质量,以及你在AE策略里该怎么权衡。

2.1 光圈:通光孔径与景深控制

光圈说白了就是镜头里那个可调节的孔。孔开得大,进光多;孔收得小,进光少。这个大家都能理解。但我要强调一个容易忽略的点:光圈值F-number是焦距与孔径的比值,不是孔径本身。

核心公式:

F-number = 焦距 / 有效孔径直径

F值越小,孔径越大,进光量越大。F1.4比F2.0大一档(2倍光量)。

我在项目中遇到过一件事:某款手机镜头标称F1.8,但实测暗光下画面比竞品F2.0还暗。查了半天,发现是镜头透光率虚标,实际T-stop(透光率修正后的光圈值)只有F2.2。所以做AE时,别只看F值,要关注实际通光效率。

光圈值 相对进光量 景深 典型场景
F1.4 1x(基准) 极浅 暗光、人像虚化
F2.0 0.5x 较浅 室内、夜景
F4.0 0.125x 适中 日常拍摄
F8.0 0.03125x 很深 风景、文档扫描

避坑指南:我曾经在调试一款安防摄像头时,为了追求大光圈,把F值从2.0改到1.4。结果边缘画质崩得一塌糊涂,紫边严重。大光圈带来的不只是进光量,还有像差和色散。AE策略里,光圈优先级不能只看亮度,还要考虑光学质量。

2.2 快门:曝光时间与运动模糊

快门时间,就是传感器收集光线的时长。1/30秒比1/60秒多一倍的进光量。这个很好理解。但快门对图像的影响远不止亮度——它直接决定了运动物体的清晰度。

你想想看,如果场景里有人在走路,你用1/30秒拍,人就是模糊的;用1/200秒拍,人就冻住了。这个「冻住」的能力,取决于物体在传感器上的移动速度。

经验法则:

  • 手持拍摄安全快门:1/焦距(秒)。比如50mm镜头,至少1/50秒。
  • 行人运动:1/125秒以上
  • 汽车运动:1/500秒以上
  • 体育/飞鸟:1/1000秒以上

我记得有一次做运动相机的AE算法,客户要求「跑步场景不能有运动模糊」。我一开始把快门锁死在1/500秒,结果暗光下ISO飙到6400,噪点炸了。后来我改成动态快门策略:检测到运动区域时,局部提高快门速度;静止背景用慢快门降噪。嗯,这个思路后来成了我们产品的一个卖点。

注意:快门速度不能无限快。传感器有读出速度限制,卷帘快门(Rolling Shutter)下,过快的快门会导致逐行曝光不同步,出现「果冻效应」。做AE时,快门上限要参考传感器规格书,别想当然。

2.3 ISO:增益与噪声的博弈

ISO,全称是国际标准化组织感光度标准。但说白了,它就是传感器信号的放大倍数。光信号转成电信号后,再乘以一个增益系数。

ISO 100是基准,ISO 200就是放大2倍,ISO 400放大4倍,以此类推。每翻一倍,亮度翻一倍。

但问题来了:放大信号的同时,也放大了噪声。传感器本身有读出噪声、暗电流噪声、光子散粒噪声……这些噪声和信号一起被放大。所以ISO越高,信噪比(SNR)越低,画面越「脏」。

ISO值 增益倍数 噪声水平 适用场景
100 1x 极低 充足日光、三脚架
400 4x 较低 室内、阴天
1600 16x 明显 暗光、夜景
6400 64x 严重 极限暗光(尽量不用)

个人经验:我习惯把ISO分成三个区间:

  • 原生ISO区间(通常100-400):画质最佳,AE应优先使用
  • 中增益区间(400-1600):可接受,但需要配合降噪算法
  • 高增益区间(1600以上):最后手段,必须配合多帧降噪或AI降噪

AE策略里,ISO永远是最后调整的参数。先动光圈和快门,实在不行了再拉ISO。

2.4 三要素的协同与AE策略

好了,三个东西都讲完了。现在问题来了:给定一个场景亮度,你怎么分配光圈、快门、ISO?

曝光量公式很简单:

曝光量 ∝ (光圈面积) × (快门时间) × (ISO增益)

但实际AE算法要考虑的远不止这个。我画了一张图,帮你理清三要素的权衡关系:

曝光三要素权衡关系图 曝光三要素权衡关系 曝光目标(目标亮度) 光圈 F值 / 景深 / 像差 快门 曝光时间 / 运动模糊 ISO 增益 / 噪声 / 动态范围 AE策略优先级(我的习惯) ① 先调光圈(保证景深和画质)→ ② 再调快门(保证运动清晰度)→ ③ 最后调ISO(不得已才加增益) 但遇到极限暗光时,三者需要联合优化,不能死守优先级 硬件约束 镜头最大光圈 传感器读出速度 场景约束 环境光照强度 物体运动速度 质量约束 目标信噪比 动态范围要求

从这张图你能看到,AE算法本质上是一个多目标优化问题。你要在硬件限制、场景条件、画质要求之间找到平衡点。

实战中的AE策略示例:

// 伪代码:AE曝光参数计算
if (场景亮度 >= 目标亮度) {
    // 光线充足,优先保证画质
    光圈 = 最佳画质光圈(通常F4-F5.6)
    快门 = 安全快门(1/焦距)
    ISO = 原生ISO(100-200)
} else if (场景亮度 < 目标亮度) {
    // 光线不足,逐步放宽约束
    光圈 = 最大可用光圈(考虑像差)
    快门 = 最大允许快门(考虑运动模糊阈值)
    ISO = 计算所需增益
    if (ISO > 噪声阈值) {
        触发多帧降噪或HDR模式
    }
}

一个常见的坑:我曾经看到有人把AE写成「先固定ISO,再调快门,最后调光圈」。这个顺序在大多数场景下没问题,但遇到景深敏感场景(比如微距、人像)就会翻车。正确的做法是:根据场景语义动态调整三要素的优先级。检测到人脸时,优先保证光圈够大(虚化背景);检测到文档时,优先保证光圈够小(全图清晰)。

2.5 小结

这一章我们聊了三件事:

  • 光圈控制进光量和景深,F值越小越亮但像差越大
  • 快门控制曝光时间和运动模糊,越慢越亮但越容易糊
  • ISO控制信号增益,越高越亮但噪声越大

三要素不是独立调节的,它们通过曝光量公式耦合在一起。做AE算法时,理解每个参数的物理代价比记住公式更重要。你想想看,如果不知道大光圈会带来紫边,不知道高ISO会吃掉暗部细节,你怎么写出靠谱的AE策略?