《Auto‑adjusting Camera Exposure for Outdoor Robotics using Gradient Information》完整步骤详细总结
以下总结至《Auto‑adjusting Camera Exposure for Outdoor Robotics using Gradient Information》
目录
步骤 1‑4 带激活阈值的对数非线性映射,得到单像素梯度信息量
论文目标:面向室外移动机器人,解决传统自动曝光(基于图像平均亮度)、固定曝光在大动态光照下丢失物体特征的问题。核心思想:把最大化图像梯度信息量作为曝光优化目标,摒弃传统基于图像平均亮度的曝光评价方式。 整套算法分为四大阶段:
①梯度与梯度信息量计算;
②γ‑校正软件仿真不同明暗效果;
③多项式拟合寻优得到虚拟最优
;
④非对称比例反馈闭环,更新相机硬件参数,迭代收敛。
撇开效果和实时性不说,论文的思路还是很有意思的
前置背景问题
室外环境同时存在强光、阴影,场景动态范围往往超过相机传感器动态范围。
- 相机内置 AE:依靠图像平均亮度调节,常会为抑制天空过曝压低整体曝光,造成阴影区域物体细节被压进暗区,丢失梯度特征;
- 人工固定曝光:光照发生变化后容易出现成片过曝、欠曝;
- 两种方式都会破坏边缘、纹理特征,造成行人检测、视觉里程计等下游机器人算法性能下降。
机器人视觉算法(SIFT、HOG、角点、SLAM)高度依赖梯度特征。在没有发生像素饱和前提下,梯度域对全局光照缩放相比亮度域更加鲁棒;但梯度幅值会随曝光大小发生缩放,不存在全局固定不变的最优总梯度信息量M,因此不能简单设置固定M阈值做控制。
阶段一:梯度计算与梯度信息量评价函数(图像质量评价)
输入:相机采集灰度图像;输出:整张图像总梯度信息量M,表征可供机器人算法使用的有效特征丰富程度。
步骤 1‑1 图像像素归一化
原始灰度图像像素范围([0,255]),除以 255 得到浮点归一化图像:
步骤 1‑2 Sobel 算子求取双向梯度
论文选用 3×3 Sobel 算子(同时说明也可替换为其他边缘算子)做卷积,得到水平方向梯度、竖直方向梯度
。
(*)为二维卷积;卷积输出数值可大于 1。
步骤 1‑3 梯度幅值计算
论文仅规定最终梯度幅值
值域([0,1]),没有给出具体缩放常数;
是符合该前提的工程实现方案,非论文原文给定参数。实现上使用全局固定常数缩放,保证保留梯度绝对幅值信息,不采用单张图像梯度最大值做动态归一化。
步骤 1‑4 带激活阈值的对数非线性映射,得到单像素梯度信息量
自然图像梯度服从重尾分布,同时存在图像噪声,不能直接累加原始梯度幅值。
:激活阈值。梯度幅值小于阈值直接置 0,过滤噪声产生的虚假小梯度;代价:曝光过低时真实弱纹理梯度也会被置零。
:映射曲率参数。较小
侧重强物体轮廓;较大
更加看重细微纹理;
过大会造成输出提前饱和。
:归一化系数,约束
,只做整体缩放,不改变曲线相对形态;论文没有给出N具体计算公式。
步骤 1‑5 计算整张图像总梯度信息量M
对全部像素的梯度信息量求和:
M越大,代表图像中有效边缘、纹理特征越丰富,越适配机器人视觉任务。
⚠️重要性质:M没有全局固定最优值;曝光改变,梯度幅值整体缩放,M同步变化。因此不能直接设定目标M做阈值控制。
阶段二:γ‑校正软件仿真图像明暗效果
设计动机:反复修改相机硬件、多次拍照搜索最优曝光耗时大,无法满足机器人实时要求。 方案:仅利用当前已经采集完成的一帧图像,通过软件幂变换仿真不同明暗效果,不需要重新驱动相机拍照。
γ 校正变换:
图像整体变暗;
图像整体变亮;
图像不变。
注意:γ 校正只是软件像素幂运算,并不严格等价于真实物理曝光,仅用来近似模拟曝光改变带来的亮度变化趋势,预测梯度信息量变化;γ 变换不会改变图像噪声模式,真实曝光会改变信噪比。依靠后续闭环迭代补偿仿真带来的模型偏差。
步骤 2‑1 选取 7 个离散 γ 锚点采样
锚点集合:
对应原始图像;限定仿真搜索区间([0.1,1.9]);
- 对当前帧原图,分别执行 7 次 γ 校正,生成 7 张仿真图像。
步骤 2‑2 全部仿真图像计算梯度信息量
对 7 张 γ 仿真图像,每一张完整执行阶段一整套梯度‑梯度信息量计算流程,得到 7 组离散样本:
样本含义:该 γ 仿真明暗条件下计算得到的总梯度信息量。
阶段三:多项式拟合,求解虚拟最优参数
步骤 3‑1 五阶多项式拟合
使用 7 组样本做五阶多项式拟合:
得到连续函数
,描述仿真 γ 与仿真梯度信息量之间的映射关系。
7 个样本对于 5 阶多项式属于超定问题,论文没有指定拟合求解算法;数学上五阶多项式有可能产生虚假局部极值;室外实际场景大多观测为单峰,依靠 γ 区间约束与闭环迭代抑制异常。
步骤 3‑2 在定义域求最大值点,输出虚拟最优
:仿真最优对应更亮图像 → 真实相机应当提高曝光;
:当前仿真状态接近最优,无需大幅调整;
:仿真最优对应更暗图像 → 真实相机应当降低曝光。
⚠️核心提醒:
是软件仿真输出的虚拟参数,不是相机硬件参数,不能直接下发给相机,送入反馈控制器做增量计算。
值。
阶段四:非对称比例反馈闭环,更新相机硬件参数
动机:γ 仿真存在模型误差,室外光照动态变化;因此采用帧间增量迭代,而非一步调到理论最优。论文给出分段系数
,下面对 α 的动机属于工程解读,非论文原文陈述:调暗时步长减半,倾向保护暗区细节;调亮使用完整步长,可以快速提亮暗区域。
步骤 4‑1 反馈控制公式
变量释义:
:t时刻抽象无量纲曝光等级(中间变量,无物理单位,仅使用增量);
下一帧曝光等级;
闭环偏差项;
偏差为 0,曝光保持不变;
比例增益;平衡收敛速度与震荡;为论文实验手动调参结果;
非对称系数:
(需要调暗图像),
,步长减半;
(需要调亮图像),
,完整步长。
步骤 4‑2 将抽象曝光等级
映射为相机硬件(快门、增益)
物理事实:增益放大会放大噪声,噪声会产生虚假梯度,干扰评价指标。论文硬件分配策略:优先调节快门时间,快门到达上限之后才允许提高增益。
- 增益初始维持较小值,优先增大快门时长;
- 快门达到帧率约束最大上限(论文实验设置 25.51 ms),无法继续拉长;
- 再提升相机增益,满足曝光等级
对应的亮度需求。
步骤 4‑3 迭代闭环
- 相机使用新的快门 + 增益采集下一帧真实图像;
- 返回阶段一,重新计算梯度信息量,循环往复。
系统没有显式代码收敛判定条件;光照稳定时,
会在 1 附近小幅浮动,曝光趋于稳态。
局限:如果当前帧已经硬件饱和(大片过曝 / 欠曝),梯度已经被传感器截断丢失。γ 仿真基于损坏图像,得到的
不可靠;依靠闭环迭代修改硬件曝光,下一帧跳出饱和状态后算法恢复正常。
完整算法文字流程图
相机采集图像
↓ 【阶段一】Sobel 求梯度 →固定常数缩放梯度幅值 →阈值 + 对数映射 →求和得到总梯度信息量M ↓ 【阶段二】生成 7 个 γ 锚点仿真图像,每张图像全部重新计算得到 7 组
↓ 【阶段三】五阶多项式拟合,区间求极大值得到虚拟最优
↓ 【阶段四】代入非对称反馈公式更新抽象曝光等级 →映射为快门(优先)、增益 →下发相机硬件 ↓ 相机新参数采集下一帧图像,循环
实验验证思路
搭建三台硬件完全一致的同步相机,分别运行:相机内置 AE、人工固定曝光 ME、本文算法。 两组任务验证算法有效性:
- 监控行人检测:全天不同光照采集数据集;本文算法可以保留阴影行人特征,漏检率更低;使用 HOGgles 可视化特征空间,直观证明保留更多有效特征。
- 车载视觉里程计:同一闭合环路,不同时段行驶;统计有效特征内点数量、闭环距离误差;本文算法获得更多内点,轨迹闭环误差更小。
算法整体优缺点总结
✅优点
- 放弃亮度统计,从机器人下游算法的特征本源(梯度)设计曝光评价指标,更适配室外机器人任务;
- γ 软件仿真避免多次硬件拍照,保证实时性,单帧耗时 30‑35ms;
- 非对称反馈、优先快门后增益的硬件分配策略,兼顾收敛速度,抑制增益带来的噪声。
⚠️局限
- γ 校正是软件仿真,和真实物理成像存在模型偏差,依赖闭环迭代补偿;
- 图像一旦发生硬件像素饱和,梯度信息直接丢失,评价指标失效;
- 该梯度信息量评价函数不区分物体真实边缘与阴影边界产生的梯度,阴影梯度同样计入总信息量;论文并未尝试解决该问题,实验表明室外机器人任务总体收益大于该干扰;
- 超参数\
依靠人工调参,不存在通用全局最优参数;
- 五阶多项式拟合有可能产生虚假局部极值,需要依靠 γ 区间约束和闭环迭代缓解。
效果:
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)