以下总结至《Auto‑adjusting Camera Exposure for Outdoor Robotics using Gradient Information》

基于梯度信息的相机曝光自动调节整体框架

目录

前置背景问题

阶段一:梯度计算与梯度信息量评价函数(图像质量评价)

步骤 1‑1 图像像素归一化

步骤 1‑2 Sobel 算子求取双向梯度

步骤 1‑3 梯度幅值计算

步骤 1‑4 带激活阈值的对数非线性映射,得到单像素梯度信息量

步骤 1‑5 计算整张图像总梯度信息量M

阶段二:γ‑校正软件仿真图像明暗效果

步骤 2‑1 选取 7 个离散 γ 锚点采样

步骤 2‑2 全部仿真图像计算梯度信息量

阶段三:多项式拟合,求解虚拟最优参数

步骤 3‑1 五阶多项式拟合

步骤 3‑2 在定义域求最大值点,输出虚拟最优

阶段四:非对称比例反馈闭环,更新相机硬件参数

步骤 4‑1 反馈控制公式

步骤 4‑2 将抽象曝光等级映射为相机硬件(快门、增益)

步骤 4‑3 迭代闭环

完整算法文字流程图

实验验证思路

算法整体优缺点总结


 

论文目标:面向室外移动机器人,解决传统自动曝光(基于图像平均亮度)、固定曝光在大动态光照下丢失物体特征的问题。核心思想:把最大化图像梯度信息量作为曝光优化目标,摒弃传统基于图像平均亮度的曝光评价方式。 整套算法分为四大阶段:

①梯度与梯度信息量计算;

②γ‑校正软件仿真不同明暗效果;

③多项式拟合寻优得到虚拟最优(\hat{\gamma});

④非对称比例反馈闭环,更新相机硬件参数,迭代收敛。

撇开效果和实时性不说,论文的思路还是很有意思的

前置背景问题

室外环境同时存在强光、阴影,场景动态范围往往超过相机传感器动态范围。

  1. 相机内置 AE:依靠图像平均亮度调节,常会为抑制天空过曝压低整体曝光,造成阴影区域物体细节被压进暗区,丢失梯度特征;
  2. 人工固定曝光:光照发生变化后容易出现成片过曝、欠曝;
  3. 两种方式都会破坏边缘、纹理特征,造成行人检测、视觉里程计等下游机器人算法性能下降。

机器人视觉算法(SIFT、HOG、角点、SLAM)高度依赖梯度特征。在没有发生像素饱和前提下,梯度域对全局光照缩放相比亮度域更加鲁棒;但梯度幅值会随曝光大小发生缩放,不存在全局固定不变的最优总梯度信息量M,因此不能简单设置固定M阈值做控制。

阶段一:梯度计算与梯度信息量评价函数(图像质量评价)

输入:相机采集灰度图像;输出:整张图像总梯度信息量M,表征可供机器人算法使用的有效特征丰富程度。

步骤 1‑1 图像像素归一化

原始灰度图像像素范围([0,255]),除以 255 得到浮点归一化图像:

(I_{norm}(x,y)=\frac{I(x,y)}{255},\quad I_{norm}\in[0,1])

步骤 1‑2 Sobel 算子求取双向梯度

论文选用 3×3 Sobel 算子(同时说明也可替换为其他边缘算子)做卷积,得到水平方向梯度(g_x)、竖直方向梯度(g_y)。

(G_x=\begin{bmatrix} -1 & 0 & +1\\ -2 & 0 & +2\\ -1 & 0 & +1 \end{bmatrix},\; G_y=\begin{bmatrix} -1 & -2 & -1\\ 0 & 0 & 0\\ +1 & +2 & +1 \end{bmatrix})

(g_x = I_{norm}*G_x,\quad g_y = I_{norm}*G_y) (*)为二维卷积;卷积输出数值可大于 1。

步骤 1‑3 梯度幅值计算

(m_{raw}=\sqrt{g_x^2+g_y^2})

论文仅规定最终梯度幅值(m_i)值域([0,1]),没有给出具体缩放常数;(C=4\sqrt{2}\approx5.656)是符合该前提的工程实现方案,非论文原文给定参数。实现上使用全局固定常数缩放,保证保留梯度绝对幅值信息,不采用单张图像梯度最大值做动态归一化。

(m_i=\frac{m_{raw}}{C},\quad m_i\in[0,1])

步骤 1‑4 带激活阈值的对数非线性映射,得到单像素梯度信息量(\overline m_i)

本文所提出的、受控制参数delta与lama约束的梯度幅值‑梯度信息量映射函数。该映射函数结合梯度的普遍特性设计而成。

自然图像梯度服从重尾分布,同时存在图像噪声,不能直接累加原始梯度幅值。

(\overline{m}_{i}= \begin{cases} \frac{1}{N} \log \big(\lambda\left(m_{i}-\delta\right)+1\big) & m_{i} \geq \delta \\ 0 & m_{i}<\delta \end{cases})

  1. (\boldsymbol{\delta=0.11}):激活阈值。梯度幅值小于阈值直接置 0,过滤噪声产生的虚假小梯度;代价:曝光过低时真实弱纹理梯度也会被置零。
  2. (\boldsymbol{\lambda}):映射曲率参数。较小(\boldsymbol{\lambda})侧重强物体轮廓;较大(\boldsymbol{\lambda})更加看重细微纹理;(\lambda)过大会造成输出提前饱和。
  3. (\boldsymbol{N}):归一化系数,约束(\overline m_i\in[0,1]),只做整体缩放,不改变曲线相对形态;论文没有给出N具体计算公式。

步骤 1‑5 计算整张图像总梯度信息量M

对全部像素的梯度信息量求和:

(M=\sum_i \overline m_i) M越大,代表图像中有效边缘、纹理特征越丰富,越适配机器人视觉任务。

⚠️重要性质:M没有全局固定最优值;曝光改变,梯度幅值整体缩放,M同步变化。因此不能直接设定目标M做阈值控制。

阶段二:γ‑校正软件仿真图像明暗效果

设计动机:反复修改相机硬件、多次拍照搜索最优曝光耗时大,无法满足机器人实时要求。 方案:仅利用当前已经采集完成的一帧图像,通过软件幂变换仿真不同明暗效果,不需要重新驱动相机拍照。

γ 校正变换:

(I_{out}=I_{in}^\gamma,\quad I_{in}\in[0,1])

  • (\gamma>1)图像整体变暗;
  • (\gamma<1)图像整体变亮;
  • (\gamma=1)图像不变。

注意:γ 校正只是软件像素幂运算,并不严格等价于真实物理曝光,仅用来近似模拟曝光改变带来的亮度变化趋势,预测梯度信息量变化;γ 变换不会改变图像噪声模式,真实曝光会改变信噪比。依靠后续闭环迭代补偿仿真带来的模型偏差。

步骤 2‑1 选取 7 个离散 γ 锚点采样

锚点集合:(\boldsymbol{\gamma \in \{0.1,0.5,0.8,1.0,1.2,1.5,1.9\}})

  1. (\gamma=1)对应原始图像;限定仿真搜索区间([0.1,1.9]);
  2. 对当前帧原图,分别执行 7 次 γ 校正,生成 7 张仿真图像。

步骤 2‑2 全部仿真图像计算梯度信息量

对 7 张 γ 仿真图像,每一张完整执行阶段一整套梯度‑梯度信息量计算流程,得到 7 组离散样本:

((\gamma_0,M_0),(\gamma_1,M_1),\dots,(\gamma_6,M_6))

样本含义:该 γ 仿真明暗条件下计算得到的总梯度信息量。

阶段三:多项式拟合,求解虚拟最优参数(\boldsymbol{\hat{\gamma}})

步骤 3‑1 五阶多项式拟合

使用 7 组样本做五阶多项式拟合:

(f(\gamma)=a_0+a_1\gamma+a_2\gamma^2+a_3\gamma^3+a_4\gamma^4+a_5\gamma^5) 得到连续函数(M=f(\gamma)),描述仿真 γ 与仿真梯度信息量之间的映射关系。

7 个样本对于 5 阶多项式属于超定问题,论文没有指定拟合求解算法;数学上五阶多项式有可能产生虚假局部极值;室外实际场景大多观测为单峰,依靠 γ 区间约束与闭环迭代抑制异常。

步骤 3‑2 在定义域求最大值点,输出虚拟最优(\boldsymbol{\hat{\gamma}})

(\hat{\gamma}=\arg\max_{\gamma\in[0.1,1.9]} f(\gamma))

  • (\hat{\gamma}<1):仿真最优对应更亮图像 → 真实相机应当提高曝光;
  • (\hat{\gamma}=1):当前仿真状态接近最优,无需大幅调整;
  • (\hat{\gamma}>1):仿真最优对应更暗图像 → 真实相机应当降低曝光。

⚠️核心提醒:(\boldsymbol{\hat{\gamma}})是软件仿真输出的虚拟参数,不是相机硬件参数,不能直接下发给相机,送入反馈控制器做增量计算。

本文相机曝光自动调节反馈系统的迭代过程。将最左侧图像输入反馈系统,系统经迭代收敛得到最右侧图像;图中数字代表算法估计得到的 值。

阶段四:非对称比例反馈闭环,更新相机硬件参数

动机:γ 仿真存在模型误差,室外光照动态变化;因此采用帧间增量迭代,而非一步调到理论最优。论文给出分段系数(\alpha),下面对 α 的动机属于工程解读,非论文原文陈述:调暗时步长减半,倾向保护暗区细节;调亮使用完整步长,可以快速提亮暗区域。

步骤 4‑1 反馈控制公式

(\begin{cases} E_{t+1}=E_{t}\big(1+\alpha K_{p}(1-\hat{\gamma})\big) \\[4pt] \alpha= \begin{cases} 1/2 & \hat{\gamma} \geq 1 \\ 1 & \hat{\gamma}<1 \end{cases} \end{cases})

变量释义:

  1. (E_t):t时刻抽象无量纲曝光等级(中间变量,无物理单位,仅使用增量);(E_{t+1})下一帧曝光等级;
  2. ((1-\hat{\gamma}))闭环偏差项;(\hat{\gamma}=1)偏差为 0,曝光保持不变;
  3. (K_p=0.2)比例增益;平衡收敛速度与震荡;为论文实验手动调参结果;
  4. (\boldsymbol{\alpha})非对称系数:
    • (\hat{\gamma}\ge1)(需要调暗图像),(\alpha=0.5),步长减半;
    • (\hat{\gamma}<1)(需要调亮图像),(\alpha=1),完整步长。

步骤 4‑2 将抽象曝光等级(E_{t+1})映射为相机硬件(快门、增益)

物理事实:增益放大会放大噪声,噪声会产生虚假梯度,干扰评价指标。论文硬件分配策略:优先调节快门时间,快门到达上限之后才允许提高增益。

  1. 增益初始维持较小值,优先增大快门时长;
  2. 快门达到帧率约束最大上限(论文实验设置 25.51 ms),无法继续拉长;
  3. 再提升相机增益,满足曝光等级(E_{t+1})对应的亮度需求。

步骤 4‑3 迭代闭环

  1. 相机使用新的快门 + 增益采集下一帧真实图像;
  2. 返回阶段一,重新计算梯度信息量,循环往复。

系统没有显式代码收敛判定条件;光照稳定时,(\hat{\gamma})会在 1 附近小幅浮动,曝光趋于稳态。

局限:如果当前帧已经硬件饱和(大片过曝 / 欠曝),梯度已经被传感器截断丢失。γ 仿真基于损坏图像,得到的(\hat{\gamma})不可靠;依靠闭环迭代修改硬件曝光,下一帧跳出饱和状态后算法恢复正常。

完整算法文字流程图

相机采集图像

↓ 【阶段一】Sobel 求梯度 →固定常数缩放梯度幅值 →阈值 + 对数映射 →求和得到总梯度信息量M ↓ 【阶段二】生成 7 个 γ 锚点仿真图像,每张图像全部重新计算得到 7 组((\gamma,M))

↓ 【阶段三】五阶多项式拟合(M=f(\gamma)),区间求极大值得到虚拟最优(\hat{\gamma})

↓ 【阶段四】代入非对称反馈公式更新抽象曝光等级(E_{t+1}) →映射为快门(优先)、增益 →下发相机硬件 ↓ 相机新参数采集下一帧图像,循环

实验验证思路

搭建三台硬件完全一致的同步相机,分别运行:相机内置 AE、人工固定曝光 ME、本文算法。 两组任务验证算法有效性:

  1. 监控行人检测:全天不同光照采集数据集;本文算法可以保留阴影行人特征,漏检率更低;使用 HOGgles 可视化特征空间,直观证明保留更多有效特征。
  2. 车载视觉里程计:同一闭合环路,不同时段行驶;统计有效特征内点数量、闭环距离误差;本文算法获得更多内点,轨迹闭环误差更小。

算法整体优缺点总结

✅优点

  1. 放弃亮度统计,从机器人下游算法的特征本源(梯度)设计曝光评价指标,更适配室外机器人任务;
  2. γ 软件仿真避免多次硬件拍照,保证实时性,单帧耗时 30‑35ms;
  3. 非对称反馈、优先快门后增益的硬件分配策略,兼顾收敛速度,抑制增益带来的噪声。

⚠️局限

  1. γ 校正是软件仿真,和真实物理成像存在模型偏差,依赖闭环迭代补偿;
  2. 图像一旦发生硬件像素饱和,梯度信息直接丢失,评价指标失效;
  3. 该梯度信息量评价函数不区分物体真实边缘与阴影边界产生的梯度,阴影梯度同样计入总信息量;论文并未尝试解决该问题,实验表明室外机器人任务总体收益大于该干扰;
  4. 超参数\(\delta,\lambda,K_p)依靠人工调参,不存在通用全局最优参数;
  5. 五阶多项式拟合有可能产生虚假局部极值,需要依靠 γ 区间约束和闭环迭代缓解。

效果:

这些图像展示了行人检测的示例结果,以及基于 HOGgles [15] 的特征空间可视化效果。 所有输入图像均取自 SURVEILLANCE‑A 数据集;每一行图像为同一时刻采集。从上至下,图像的拍摄时间分别约为 8:00、14:00、16:00 和 18:00。
采用视觉里程计 估计得到的运动轨迹。由于车辆行驶的是闭环路径,所有轨迹起点与终点的真值均位于坐标 (0,0) 处。相较于其他方法,本文方法的估计误差更小。
图中展示了路径上两处位置对应的图像,位置标记见图 9。第一行为 14:00 时刻采集的图像,第二行为 18:00 时刻采集的图像。图像中绿色线条代表相邻帧之间被跟踪到的图像特征。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐