目录
那么,如何打通sensor的电信号(ADU)到APEX测光系统中的亮度(𝐿𝑠)呢?
[步骤 1:传感器照度与曝光量的关系](#步骤 1:传感器照度与曝光量的关系)
[步骤 2:曝光量的计算](#步骤 2:曝光量的计算)
[步骤 3:光电转换(曝光量 → ADU)](#步骤 3:光电转换(曝光量 → ADU))
[步骤 4:代入曝光量,解出 ADU 与 L 的原始关系](#步骤 4:代入曝光量,解出 ADU 与 L 的原始关系)
[步骤 5:整理为 L 的表达式,合并固定常数为 K](#步骤 5:整理为 L 的表达式,合并固定常数为 K)
[步骤6:Bv → 整套 APEX 体系(Ev、Av、Tv、Sv)](#步骤6:Bv → 整套 APEX 体系(Ev、Av、Tv、Sv))
[原理:APEX 加法公式](#原理:APEX 加法公式)
[这一步的目的:把场景亮度 → 直接变成可控制的曝光参数。AE 要做的事,本质就是:](#这一步的目的:把场景亮度 → 直接变成可控制的曝光参数。AE 要做的事,本质就是:)
[2.2、标定前的准备(硬件 + 环境)](#2.2、标定前的准备(硬件 + 环境))
[2.2.1. 核心硬件](#2.2.1. 核心硬件)
[2.22. 提前确认的参数](#2.22. 提前确认的参数)
[2.3、K 值标定的分步操作(标准 6 步)](#2.3、K 值标定的分步操作(标准 6 步))
[步骤 1:搭建标定环境](#步骤 1:搭建标定环境)
[步骤 2:设置相机参数(固定不变)](#步骤 2:设置相机参数(固定不变))
[步骤 3:采集并处理 ADU 数据](#步骤 3:采集并处理 ADU 数据)
[步骤 4:代入公式计算 K 值](#步骤 4:代入公式计算 K 值)
[步骤 5:多亮度点验证 & 平均(提升精度)](#步骤 5:多亮度点验证 & 平均(提升精度))
[步骤 6:保存 K 值](#步骤 6:保存 K 值)
[2.5、标定结果验证(确保 K 有效)](#2.5、标定结果验证(确保 K 有效))
APEX测光系统介绍可以参考博文MTK APEX测光系统中各变量具体的计算方式探究。博文中介绍了APEX系统中主要的计算公式:
在拍摄平均亮度为𝐿𝑠的场景时,满足如下方程的曝光参数,认为可以得到一个亮度合适的照片:
其中, 𝑡表示曝光时间,𝐹表示光圈值(即常说的F-number), 𝐿𝑠表示环境光平均亮度, 𝑆表示是相机感度。𝐾是任意常数,一般由相机厂商决定,它和相机厂商所认为的正确曝光有关,现在一般将 𝐾取值为12.5。上式两边同时取对数,有 :
即:
一、ISP自动曝光算法中ADU到Bv的全连接通路
我们知道**:**
Sensor 只认识电信号(ADU),不认识亮度、不认识 EV。
APEX 只认识亮度、EV、档位,不认识电信号。
完整的链路为:电信号 (ADU) → 曝光量 H → 场景亮度 L → APEX (Bv/Ev)
一句话概括为:外部光照 → 镜头 → Sensor 感光 → 光生电子 → 模拟增益 → ADC 量化 → 最终 ADU
那么,如何打通sensor的电信号(ADU)到APEX测光系统中的亮度( 𝐿𝑠**)呢?**
这部分工作需要进行相关的标定,得到系数K。通过系数K链接电信号到APEX测光系统中平均亮度为𝐿𝑠的联系。
我们将上述完整链路逐段拆解为:
步骤 1:传感器照度与曝光量的关系
场景亮度 L 经过镜头后,到达传感器感光面的照度 E (单位:lux)满足光学成像公式:
- 物理意义:场景越亮(L 大)、镜头透光率越高(τ 大),传感器接收到的照度越高;光圈越大(F 小),照度也越高。
步骤 2:曝光量的计算
传感器的总曝光量 He (单位:lux・s)是照度乘以曝光时间:
步骤 3:光电转换(曝光量 → ADU)
传感器将曝光量转换为数字信号 ADU,核心关系是线性的(忽略非线性区):
- 物理意义:曝光量越多(He 大)、增益越高(S 大),输出的 ADU 越大;Ksensor 是传感器本身的灵敏度(每 lux・s 能输出多少 ADU)。
- 这一步的目的:把 "芯片读数" 变成 "物理光量"。ADU 是相对值,H 是物理量,这是进入摄影体系的
步骤 4:代入曝光量,解出 ADU 与 L 的原始关系
将步骤 2 的 He 代入步骤 3,得到:
步骤 5:整理为 L 的表达式,合并固定常数为 K
我们的目标是从 ADU 反求 L ,因此对上述公式移项:
由于 Ksensor(传感器灵敏度)、τ(镜头透过率)、4(光学几何常数)都是固定不变的常数 ,工程上会将它们合并为一个总标定系数 K:
最终得到你实际使用的 ADU → L 极简推导公式:
这一步的目的:把 "Sensor 收到的光" 还原成 "外面场景有多亮"。只有得到 L,才能进入 APEX。
步骤6:Bv → 整套 APEX 体系(Ev、Av、Tv、Sv)
原理:APEX 加法公式
Ev=Bv+Sv=Av+Tv
各自定义:
- Sv=log2(S/0.3) → ISO 档位
- Av=log2(F2) → 光圈档位
- Tv=log2(1/T) → 快门档位
- Ev:曝光值(光圈 + 快门的组合)
这一步的目的:把场景亮度 → 直接变成可控制的曝光参数。AE 要做的事,本质就是:
根据 Bv 算出 Ev,再分配 Av、Tv。
二、如何计算APEX中的𝐿𝑠
需用通过标定K值以及当前的曝光时间、增益、光圈系数以及ADU计算场景的平均亮度为𝐿𝑠。除了系数K值,其他值都能够从ISP Pipeline中的统计数据获取到。那么如何标定系数K成为极为关键的一步。
2.1、先明确标定核心逻辑
K 是「ADU→L」公式中打包了传感器灵敏度、镜头透过率、光学常数的总系数,标定的本质是:
用已知的「真实场景亮度 L」和相机输出的「ADU、曝光参数」,反推唯一能让公式成立的 K 值。
用于标定的核心公式:
2.2、标定前的准备(硬件 + 环境)
2.2.1. 核心硬件
| 设备 | 作用 | 关键要求 |
|---|---|---|
| 积分球 / 标准灯箱 | 提供已知、均匀的场景亮度 L | 亮度精度 ±1%,输出单位 cd/m² |
| 18% 灰卡 | 保证画面光照均匀,避免反光干扰 | 中性灰,无纹理 |
| 待标定相机模组 | 包含镜头、Sensor、ISP | 镜头光圈固定,黑电平已校准 |
| 暗箱 / 遮光环境 | 排除环境光干扰 | 无杂光、无反光 |
2.22. 提前确认的参数
- 镜头光圈 F(如 F=2.0,固定不变);
- Sensor 黑电平(Black Level):用于计算「净 ADU」(ADU_net = 原始 ADU - 黑电平);
- 基准增益 S_base:设为 1.0(对应 ISO100,无增益放大);
- 曝光时间 T:选择适中值(如 0.033s),确保 ADU 不过曝、不欠曝。
2.3、K 值标定的分步操作(标准 6 步)
步骤 1:搭建标定环境
- 将相机固定在暗箱中,镜头正对积分球出光口;
- 在积分球出光口贴 18% 灰卡,确保相机画面 90% 以上区域被灰卡覆盖;
- 设定积分球输出已知亮度 L(如 100 cd/m²,记为 L_ref),稳定 5 分钟让光源输出均匀。
步骤 2:设置相机参数(固定不变)
- 光圈 F:锁定为固定值(如 F=2.0,记为 F_ref);
- 增益 S:设为基准值 1.0(S_ref=1.0);
- 曝光时间 T:设为适中值(如 0.033s,记为 T_ref);
- 关闭自动曝光 / 自动增益 / 降噪等算法:避免参数自动变化干扰标定。
步骤 3:采集并处理 ADU 数据
- 相机拍摄积分球灰卡画面,连续采集 10~20 帧(减少噪声干扰);
- 对每帧画面取「中间区域」(如 100×100 像素)的平均 ADU,得到原始 ADU 均值;
- 减去黑电平,得到净 ADU(ADU_net):ADUnet=原始ADU均值−黑电平(例:原始 ADU=500,黑电平 = 20 → ADU_net=480)
步骤 4:代入公式计算 K 值
将所有已知值代入标定公式:
示例计算:
已知:
- L_ref=100 cd/m²,S_ref=1.0,T_ref=0.033s,F_ref=2.0(F²=4),ADU_net=480;代入得:K=100×1.0×0.033/(4×480)=3.3/1920≈0.0017
步骤 5:多亮度点验证 & 平均(提升精度)
为避免单亮度点误差,可在 3~5 个不同亮度下重复步骤 1~4(如 L=50、100、200 cd/m²),得到多个 K 值后取平均值,作为最终标定 K 值。
步骤 6:保存 K 值
将最终 K 值写入相机固件 / 配置文件,绑定当前镜头 + Sensor 组合(换硬件需重新标定)。
2.4、关键注意事项(避免标定误差)
- ADU 必须去黑电平:黑电平是 Sensor 无光照时的基础输出,不扣除会导致 ADU_net 偏大,K 值偏小;
- 增益必须设为 1.0:若增益不为 1,会导致 ADU 被放大 / 缩小,K 值失真;
- 光源必须均匀:画面亮度不均会导致 ADU 统计偏差,优先取中间区域均值而非全画面;
- 硬件不可变动:标定后若更换镜头、IR 滤光片、Sensor,必须重新标定 K(因为 τ/ Ksensor 已变化);
- 避免过曝 / 欠曝:ADU 若接近饱和(如 10bit Sensor 超过 1000)或过低(如 <50),会偏离线性区,导致 K 不准。
2.5、标定结果验证(确保 K 有效)
标定完成后,用一个未参与标定的亮度值验证:
- 设定积分球亮度 L_test=150 cd/m²;
- 相机参数:F=2.0,S=1.0,T=0.033s,采集 ADU_net=720;
- 代入「ADU→L」公式:
=0.0017×4×720/1×0.033≈150 cd/m2
- 验证标准:计算出的 L 与真实 L_test 误差≤3%,说明 K 标定有效;若误差过大,重新检查光源均匀性、ADU 黑电平扣除是否正确。
2.6总结
- K 的标定核心是「用已知亮度反推系数」,依赖积分球提供的精准 L 值;
- 标定关键是「固定增益 / 光圈、扣除黑电平、采集均匀 ADU」,避免非线性 / 干扰因素;
- 标定后需验证,确保 K 能准确将 ADU 转换为真实亮度 L;
- K 绑定硬件,换镜头 / Sensor 必须重新标定,这是「ADU→L」公式准确的前提。
简单说:标定 K 的过程,就是给相机 "校准亮度标尺"------ 让相机知道 "输出多少 ADU 对应真实世界的多少亮度",这是自动曝光调整的基础。