[ISP 3A ] AE的常用算法分析

📌 自动曝光(AE, Auto Exposure)解析

自动曝光(AE)是相机通过调节 曝光参数(增益、快门时间、光圈等)来确保拍摄出的图像亮度适宜的算法。AE 需要根据环境光线变化自动调整曝光,以避免过曝(图像太亮)或欠曝(图像太暗)。

📌 曝光模型

曝光值的计算可以用以下公式表示:
Exposure = Gain × Irradiance × Time \text{Exposure} = \text{Gain} \times \text{Irradiance} \times \text{Time} Exposure=Gain×Irradiance×Time
其中:

  • Gain(增益):放大传感器信号,增加亮度,但会引入噪声,和ISO(International Organization for Standardization,国际标准化组织)感光度有关
  • Irradiance(入射光照强度):与场景光线直接相关,和光圈有关
  • Time(曝光时间):即快门时间,越长进光量越多,但可能导致运动模糊。

目标是通过 动态调整 Gain 和 Time 来补偿 Irradiance 变化,以使曝光保持在合适的水平。


📌 AE 的基本过程

AE 算法的核心目标是让图像亮度(通常用 平均像素亮度直方图均衡性 衡量)保持在合理范围,主要流程如下:

  1. 计算当前图像亮度

    • 计算全局 平均亮度
    • 计算某些重要区域(ROI)的亮度。
    • 统计 直方图分布,分析亮部、暗部区域占比。
  2. 调整曝光参数

    • 如果亮度低,则增加曝光时间或增益。
    • 如果亮度过高,则减少曝光时间或降低增益。
  3. 权衡增益和快门时间

    • 优先调整快门时间,避免太高增益导致噪声。
    • 遇到快速运动物体时,减少快门时间,避免拖影。
  4. 循环优化

    • 逐步调整参数,防止闪烁或剧烈变化。
    • 结合历史帧信息,使曝光变化平滑过渡。

📌 AE 常见算法

1️⃣ 直方图法(Histogram-based AE)

  • 计算 图像亮度直方图,找出高亮和低亮区域比例。
  • 设定一个目标亮度范围(如 18% 灰阶),根据直方图调整曝光。
  • 优点:对亮度变化敏感,可适应复杂场景。
  • 缺点:在高反差场景(如强光源)下可能失效。

2️⃣ 平均亮度法(Mean Luminance AE)

  • 计算 整幅图像的平均像素亮度 L mean L_{\text{mean}} Lmean,与目标亮度 L target L_{\text{target}} Ltarget 对比:
    Adjustment Factor = L target L mean \text{Adjustment Factor} = \frac{L_{\text{target}}}{L_{\text{mean}}} Adjustment Factor=LmeanLtarget
  • 根据这个比例调整曝光时间和增益。
  • 优点:计算简单,适用于均匀光照场景。
  • 缺点:在局部强光/阴影场景下易失效。

3️⃣ 亮度分区法(Region-based AE)

  • 把图像划分为多个区域,分别计算亮度。
  • 给予不同区域不同的权重,比如:
    • 中心区域权重大(人脸检测场景)。
    • 边缘区域权重低(减少背景影响)。
  • 适用于: 人脸识别、车载摄像头等。

4️⃣ 基于 PID 控制的 AE(PID-based AE)

  • 采用 PID(比例-积分-微分)控制,根据误差调整曝光:
    Δ Exposure = K p ⋅ e + K i ∑ e + K d ⋅ d e d t \Delta \text{Exposure} = K_p \cdot e + K_i \sum e + K_d \cdot \frac{d e}{dt} ΔExposure=Kpe+Kie+Kddtde
    其中 e e e 是亮度误差。
  • 适用于 视频场景,可平滑调整,避免闪烁。

5️⃣ 机器学习/深度学习 AE

  • 训练 CNN、LSTM 网络学习最佳曝光调整策略。
  • 结合 光流(Optical Flow) 分析运动情况,动态调整曝光。
  • 优点
    • 可适应不同场景(白天/夜晚)。
    • 结合对象检测,提高 ROI(如人脸、车牌)曝光准确性。
  • 缺点
    • 计算量大,实时性要求高。

📌 AE 方案选择

AE 方法适用场景优点缺点
直方图 AE一般场景适应高动态范围易受极端光源影响
平均亮度 AE均匀光照场景简单高效不能处理复杂光照
亮度分区 AE人脸、车载ROI 曝光更稳定计算量增加
PID 控制 AE视频拍摄平滑调整曝光需精调参数
机器学习 AE自动驾驶、AI 摄像头适应复杂场景计算开销大

📌 结论

  • 简单应用:可以使用 平均亮度 AE直方图 AE
  • 运动场景:可以采用 PID 控制 AE 以保证平滑调整。
  • 高级应用(如自动驾驶、人脸识别):可以结合 深度学习 AE

AE 算法的核心是 动态调整曝光参数,使图像亮度合适且噪声最小,选择适合的 AE 算法能提升图像质量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型学习二:DeepSeek R1+蒸馏模型组本地部署与调用

一、说明 DeepSeek R1蒸馏模型组是基于DeepSeek-R1模型体系,通过知识蒸馏技术优化形成的系列模型,旨在平衡性能与效率。 1、技术路径与核心能力 基础架构与训练方法‌ ‌DeepSeek-R1-Zero‌:通过强化学习(RL)训练&…

STM32入门学习笔记(持续更新)

b站江协科技资料 通过网盘分享的文件:STM32入门教程资料 链接: https://pan.baidu.com/s/1-rOi83sUK8CqUNsHQuvxew?pwd8krh 提取码: 8krh LED灯闪烁0402 #include "stm32f10x.h" // Device header #include "Delay.h"int m…

企业安全——FIPs

0x00 前言 先来看一道题目。这道题目涉及到的就是道德规范和互联网相关内容,本文会对相关内容进行描述和整理。 正确答案是:D 注意FIPs的主要目的是为了限制,也就是针对数据的守则。 0x01 RFC 1087 1989年1月 互联网架构委员会 IAB 发布了…

【Linux系统编程】进程概念,进程状态

目录 一,操作系统(Operator System) 1-1概念 1-2设计操作系统的目的 1-3核心功能 1-4系统调用和库函数概念 二,进程(Process) 2-1进程概念与基本操作 2-2task_struct结构体内容 2-3查看进程 2-4通…

基于TradingView和CTPBee的自动化期货交易系统实现

引言 在量化交易领域,TradingView因其强大的技术分析工具和丰富的指标库而广受欢迎,但是其不支持国内期货自动化交易,CTPBee则是一个优秀的国产Python期货交易接口。本文将介绍如何将两者结合,实现一个完整的自动化交易系统。 本…

初始ARM

ARM最基础的组成单元。 最小系统:能系统能够正常工作的最少器件构成的系统 。 一、CPU基础定义 ALU(运算单元): 负责执行算术和逻辑运算,是处理器的核心部分。 寄存器(R0, R1, R12)&#xff…

通信数据记录仪-产品概念ID

总结: 1、支持高速CAN、支持容错CAN、支持单线CAN(理解是支持不同的协议,CANFD、CAN2.0和LIN?) 2、 通过上位机设计时间

Qt QTableView QAbstractTableModel实现复选框+代理实现单元格编辑

话不多说&#xff0c;直接看代码 一、Model 1、QTableModel_Test.h #pragma once#include <QAbstractTableModel> #include <QObject> #include <QModelIndex>class QTableModel_Test : public QAbstractTableModel {Q_OBJECT public:QTableModel_Test(Q…

JavaWeb学习--MyBatis-Plus整合SpringBoot的ServiceImpl方法(增加,修改与删除部分)

接下来是常用的增加&#xff0c;修改以及删除部分 首先是增加部分&#xff0c;增加一个新的数据 Testpublic void testInsert() {// 添加一个新用户记录Student s new Student();s.setName("NewStudent");s.setAge(25);boolean saved studentService.save(s);//可以…

明清两朝全方位对比

目录 一、政治制度二、民族与社会三、经济与对外四、文化与思想五、军事与边疆六、灭亡原因总结 明清两朝是中国历史上最后两个封建王朝&#xff0c;在政治、经济、文化等方面存在显著差异&#xff0c;以下为主要区别&#xff1a; 一、政治制度 皇权集中程度 明朝&#xff1a;…

Linux系统时间

1. Linux系统时间 jiffies是linux内核中的一个全局变量&#xff0c;用来记录以内核的节拍时间为单位时间长度的一个数值。 jiffies变量开机时有一个基准值&#xff0c;然后内核每过一个节拍时间jiffies就会加1。 一个时间节拍的时间取决于操作系统的配置&#xff0c;Linux系统一…

高并发系统架构设计的深度解析与实施指南【大模型总结】

以下是对高并发系统架构设计的深度解析与实施指南&#xff0c;通过技术分层拆解和场景化案例说明&#xff0c;呈现完整的系统设计方法论&#xff1a; 一、容错优先思维的系统级实现 1. 混沌工程落地框架 # 混沌实验设计模板 class ChaosExperiment:def __init__(self, scope,…

leetcode-代码随想录-链表-翻转链表

题目 链接&#xff1a;206. 反转链表 - 力扣&#xff08;LeetCode&#xff09; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]class Solution { public:ListNode* rev…

spring boot 集成redis 中RedisTemplate 、SessionCallback和RedisCallback使用对比详解,最后表格总结

对比详解 1. RedisTemplate 功能&#xff1a;Spring Data Redis的核心模板类&#xff0c;提供对Redis的通用操作&#xff08;如字符串、哈希、列表、集合等&#xff09;。使用场景&#xff1a;常规的Redis增删改查操作。特点&#xff1a; 支持序列化配置&#xff08;如String…

Linux红帽:RHCSA认证知识讲解(九)标准输入输出、重定向、过滤器与管道

Linux红帽&#xff1a;RHCSA认证知识讲解&#xff08;九&#xff09;标准输入输出、重定向、过滤器与管道 前言一、标准输入与输出、重定向&#xff0c;使用过滤器筛选文件信息1.1 Linux 的标准输入与输出1.2 什么是输入重定向1.3 输出重定向1.4 标准错误输出重定向1.5 使用过滤…

搭建完全分布式系统时,为何必须同步服务器时间?

在构建完全分布式系统时&#xff0c;时间同步是保障系统一致性和可靠性的基石。本文将从完全分布式系统的核心特点、时间同步的必要性、不同步可能引发的灾难性后果、主流时间同步协议对比及最佳实践方案五个角度展开分析&#xff0c;帮助开发者深入理解时间同步的关键作用。 一…

MonkeyDev 如何创建一个root级级别的app,并执行root命令获取iphone设备序列号serialNumber(ios15.8)

前提条件:有越狱的手机,XCode中已经安装了Monkeydev 1. 和普通应用一个创建一个ios的工程 2. 在App的TARGETS>build setting> 中设置Apple Development 3. 设置User-Defined的配置 CODE_SIGNING_ALLOWED = NO MonkeyDevBuildPackageOnAnyBuild = NO MonkeyDevClearUi…

每日一题(小白)模拟娱乐篇13

今天题目比较简单&#xff0c;直接分析。小蓝想知道2024这个数字中有几个1&#xff0c;计算机组成学习好的同学肯定可以直接长除法或者瞪眼法得出答案&#xff1a; 202411111101000&#xff08;B&#xff09;也就是说2024中有一共有六个1 接下来用代码实现 &#xff0c;我们也…

【蓝桥杯】算法笔记2

这篇文章主要记录动态规划方面的学习。 动态规划的核心思想: 把大问题分解成小问题,记住小问题的解,避免重复计算。 动态规划(DP)的三大特点: ①最优子结构:大问题的最优解可以由小问题的最优解推导出来 ②重叠子问题:在求解过程中会反复遇到相同的小问题 ③无后效…

MINIQMT学习课程Day9

获取qmt账号的持仓情况后&#xff0c;我们进入下一步&#xff0c;如何获得当前账号的委托状况 还是之前的步骤&#xff0c;打开qmt&#xff0c;选择独立交易&#xff0c; 之后使用pycharm&#xff0c;编写py文件 导入包&#xff1a; from xtquant import xtdata from xtqua…