场景亮度到APEX测光系统全链接通路解析(一)

目录

一、ISP自动曝光算法中ADU到Bv的全连接通路

那么,如何打通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 要做的事,本质就是:)

二、如何计算APEX中的𝐿𝑠

2.1、先明确标定核心逻辑

[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.4、关键注意事项(避免标定误差)

[2.5、标定结果验证(确保 K 有效)](#2.5、标定结果验证(确保 K 有效))

2.6总结


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:搭建标定环境
  1. 将相机固定在暗箱中,镜头正对积分球出光口;
  2. 在积分球出光口贴 18% 灰卡,确保相机画面 90% 以上区域被灰卡覆盖;
  3. 设定积分球输出已知亮度 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 数据
  1. 相机拍摄积分球灰卡画面,连续采集 10~20 帧(减少噪声干扰);
  2. 对每帧画面取「中间区域」(如 100×100 像素)的平均 ADU,得到原始 ADU 均值;
  3. 减去黑电平,得到净 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、关键注意事项(避免标定误差)

  1. ADU 必须去黑电平:黑电平是 Sensor 无光照时的基础输出,不扣除会导致 ADU_net 偏大,K 值偏小;
  2. 增益必须设为 1.0:若增益不为 1,会导致 ADU 被放大 / 缩小,K 值失真;
  3. 光源必须均匀:画面亮度不均会导致 ADU 统计偏差,优先取中间区域均值而非全画面;
  4. 硬件不可变动:标定后若更换镜头、IR 滤光片、Sensor,必须重新标定 K(因为 τ/ Ksensor 已变化);
  5. 避免过曝 / 欠曝:ADU 若接近饱和(如 10bit Sensor 超过 1000)或过低(如 <50),会偏离线性区,导致 K 不准。

2.5、标定结果验证(确保 K 有效)

标定完成后,用一个未参与标定的亮度值验证:

  1. 设定积分球亮度 L_test=150 cd/m²;
  2. 相机参数:F=2.0,S=1.0,T=0.033s,采集 ADU_net=720;
  3. 代入「ADU→L」公式:=0.0017×4×720/1×0.033≈150 cd/m2
  4. 验证标准:计算出的 L 与真实 L_test 误差≤3%,说明 K 标定有效;若误差过大,重新检查光源均匀性、ADU 黑电平扣除是否正确。

2.6总结

  1. K 的标定核心是「用已知亮度反推系数」,依赖积分球提供的精准 L 值;
  2. 标定关键是「固定增益 / 光圈、扣除黑电平、采集均匀 ADU」,避免非线性 / 干扰因素;
  3. 标定后需验证,确保 K 能准确将 ADU 转换为真实亮度 L;
  4. K 绑定硬件,换镜头 / Sensor 必须重新标定,这是「ADU→L」公式准确的前提。

简单说:标定 K 的过程,就是给相机 "校准亮度标尺"------ 让相机知道 "输出多少 ADU 对应真实世界的多少亮度",这是自动曝光调整的基础。

相关推荐
大熊背7 小时前
场景亮度到APEX测光系统全链接通路解析(二)
数码相机·apex·自动曝光·isppipeline
视觉人机器视觉1 天前
机器视觉-硬件方案方案组成
数码相机
大熊背4 天前
APEX自动曝光调整逻辑
apex·自动曝光·isp pipeline
Σίσυφος19005 天前
双目立体视觉 简介
数码相机
AI视觉网奇5 天前
3d 数字人 ue 手大问题解决 相机视角设置
数码相机·3d
YJlio6 天前
1.7 通过 Sysinternals Live 在线运行工具:不下载也能用的“云端工具箱”
c语言·网络·python·数码相机·ios·django·iphone
光泽雨6 天前
三维点云数据 平面度的数值含义
数码相机·smart3
格林威6 天前
工业相机图像如何高速存入硬盘?5 种方法 + 海康/Basler/堡盟 C#/C++ 代码全解析!
c++·人工智能·数码相机·c#·视觉检测·工业相机·堡盟相机
YJlio6 天前
1.6 使用 Streams 工具移除下载文件的 ADS 信息:把“来自互联网”的小尾巴剪掉
c语言·网络·python·数码相机·ios·django·iphone