3A算法——自动曝光

news/2024/7/21 3:43:27 标签: 图像处理

目录

  • 前沿
  • 一. 自动曝光算法AE
    • 1.1. 自动曝光
    • 1.2. 18%灰
    • 1.3. 测光区域
    • 1.4. 摄影曝光加法系统
    • 1.5. AE算法
      • 1.5.1. 考虑事项
      • 1.5.2. AE实现过程
    • 1.4. 自动曝光方法
      • 1.4.1. 均值法AE
      • 1.4.2. 直方图改进的均值法AE
      • 1.4.3. N段式统计自动曝光
  • 二. 自动对焦

前沿

最近在学习3A技术,简单记录一下。
什么是3A技术?

3A即自动对焦(AF),自动曝光(AE),自动白平衡(AWB)

  • AF:控制对焦马达的移位,使镜头定焦在合适的位置
  • AE:Auto Exposure即自动曝光,是相机根据外界光线的强弱自动调整曝光量和增益,防止曝光过度或者不足的一种机制。通过调节快门,光圈,感光度(ISO),使得图像达到合适的亮度
  • AEB:通过调整图像的R/B通道的增益值,调节图像的色温/色调表现

AF控制着对焦马达,是镜头的基本功能,AE与AWB自动白平衡算法来实现图像对比度最大、改善主体拍摄物曝光或曝光不足、使画面在不足光线照射下的色差得到补偿。3A是每个相机的基本算法功能,每个A都代表了成像的基本组件,总结一下:

  1. AE控制着ISO/快门,是sensor的基本功能
  2. AF控制着对焦马达,是镜头的基本功能
  3. AWB是camera色彩系统的第一个基础模块,3A准确率是成像的基本保证

关于上面的光圈,快门,ISO的含义知乎上有一个很绝的解释:
在这里插入图片描述
感兴趣的也可以跳转到这个话题看一下:如何理解 ISO、快门、光圈、曝光这几个概念?。

一. 自动曝光算法AE

1.1. 自动曝光

先来看下自动曝光的概念,然后在看几个跟其相关的概念:

  • AE的基本概念

Auto Exposure即自动曝光,是相机根据外界光线的强弱自动调整曝光量和增益,防止曝光过度或者不足的一种机制。

在这里插入图片描述
可见,AE的输入为当前影像的亮度值Y,输出为sensor的曝光时间和增益,isp增益和镜头光圈(如果镜头光圈可调)。当AE algorithm得到当前帧的亮度后,便会与target Y做比较,然后计算出下一次需要调整的参数,以便让影像的亮度越来越接近target Y,如下所示(target只是一个范围):
在这里插入图片描述

  1. 曝光是什么?
    以摄影为例,曝光指摄影过程中进入镜头照射在感光元件上形成影像的过程就是曝光,这个过程由光圈、快门、感光度的组合来控制。
  2. 什么是曝光量?
    图像传感器所接受的光量,用H表示,单位是勒克斯·秒,公式如下:
    H = E × t H = E \times t H=E×t
  • E为照度,单位是勒克斯(lx )
  • t为感光材料受到光线照射的时间,单位是秒( s )
  • 曝光量H的单位为勒克斯·秒( lx·s )

解释下上面照度的意思:
照度又称为投射光,是描述被摄体受照表面被照明的程度。照度定义为单位面积上所接受的光通量,照度E用公式表示为:
E = Φ / A E=\Phi/ A E=Φ/A
Φ \Phi Φ 为光通量, 单位为流明 ( I m ) (I m) (Im) A A A 为受照面积, 单位为平方米 ( m 2 ) \left(\mathrm{m}^2\right) (m2)

  1. 什么是曝光强度
    曝光强度 = 曝光时间 × 光圈大小 × I S O 曝光强度 = 曝光时间\times 光圈大小\times ISO 曝光强度=曝光时间×光圈大小×ISO

相机上的光圈是固定的,所以只需要考虑曝光时间和ISO(增益值的一种表示,这里的增益又分为Analog Gain,Digital Gain以及ISP
增益。这里记住ISO指的就是信号增益大小就行了)。
4. 自动曝光
有了上面的三个概念,我们再来看下相机的自动曝光怎么定义的,相机上的自动曝光就是让相机根据当前的图像信息自动配置曝光大小,也就是曝光时间和ISO的值。下面是一组不同曝光强度下的相机成像对比。
在这里插入图片描述

1.2. 18%灰

我们再来看下曝光相关的另一个概念,18%灰。在介绍这个概念之前,我们需要了解两个相关概念:韦伯定律和曝光分区系统。

  1. 韦伯定律
    即感觉的差别阈限随原来刺激量的变化而变化,而且表现为一定的规律性,可用如下公式来表示:
    Δ Φ / Φ = C \Delta \Phi / \Phi=C ΔΦ/Φ=C
    其中 Φ \Phi Φ 为原刺激量, Δ Φ \Delta \Phi ΔΦ 为此时的差别阈限,C为常数,又 称为韦伯率。看起来有点难理解,说人话就是人对自然刺激的感知是非线性的,刺激以一定比例的增长,对人而言是均匀增长的。
  2. 曝光分区系统
    再来看下曝光分区系统。这是由 Ansel Adams 和 Fred Archer在1940年左右所阐述,如下图所示,将人眼对于从黑到白渐进的变化分为11阶,将处于当中的块5认为是适中的曝光强度,称为中灰。而5块的光照反射率是18%,也就是定义的18%灰。因此专业摄影师通常会使用测光表来判断环境光,来决定拍照的曝光强度,使得照片的整体曝光强度在18%灰左右。但是也要结合具体情境进行设置,比如说在拍摄雪景的时候再把曝光度调为18%的话就会使得照片偏黑,即我们说的“白增黑减”。
    在这里插入图片描述

1.3. 测光区域

再来看一个相关概念,测光区域。通常一个图片中同时存在亮与暗的区域,如果把所有区域都纳入考虑来算一个平均值,可能不能如实反映拍照者的期望,所以会有个重点测光区域。根据不同算法,测光区域也不同。比较原始的是将整个区域分为 M × N M \times N M×N个区域,取中心的 X × Y X \times Y X×Y区域;手机上通常有针对人脸区域测光、中心测光与点测光。测光区域也有一定的权重分布,通常在中心的区域权重会更大一些。

1.4. 摄影曝光加法系统

E V = A V + T V = B V + S V EV =AV+ TV= BV+ SV EV=AV+TV=BV+SV

  • EV – Exposure Value,将相机的曝光形成数字化,曝光值
  • AV – Aperture Value 光圈值
  • TV – Time Value 快门值
  • SV – Sensitive Value 感光值 (ISO)
  • BV – Brightness Value亮度值,环境亮度

关于上面每个值的计算方法如下:
在这里插入图片描述
根据上面的公式可以得到 E V = A V + T V = B V + S V EV =AV+ TV= BV+ SV EV=AV+TV=BV+SV的公式为:
2 ∗ log ⁡ 2 ( F number  ) − log ⁡ 2 ( 1  exposure time  ) = log ⁡ 2 ( B / 0.3 K ) + log ⁡ 2 ( 0.3 S ) 2 * \log _2(\mathrm{F}_ \text {number })-\log _2\left(\frac{1}{\text { exposure time }}\right)=\log _2(B / 0.3 K)+\log _2(0.3 S) 2log2(Fnumber )log2( exposure time 1)=log2(B/0.3K)+log2(0.3S)
其中

  • F n u m b e r F_{}number Fnumber是镜头光圈值大小,我们常说的 F 1.4 F_{1.4} F1.4 F 4.0 F_{4.0} F4.0
  • B B B是景物亮度单位是 C d / c m 2 Cd/cm2 Cd/cm2

1.5. AE算法

在了解了上面的基本概念之后,我们来看下AE的算法步骤以及需要考虑的问题。

1.5.1. 考虑事项

在一个响应周期内,AE算法需要处理的具体事项如下:

  1. 根据ISP硬件生成的图像曝光统计数据评估当前图像的曝光质量
  2. 如果曝光质量需要调整,则根据当前的工作参数和理想曝光目标生成下一帧图像的工作参数
  3. 将新的工作参数写入各硬件设备,驱动光圈、sensor快门及增益达到新的位置

1.5.2. AE实现过程

  1. 对当前图像进行亮度统计
  2. 根据当前图像亮度确定曝光值
  3. 计算新的曝光参数,曝光时间,光圈和增益
  4. 将新的曝光参数应用到相机中
  5. 重复1-4的步骤,直到满足亮度需求

1.4. 自动曝光方法

了解了以上的概念,下面我们来简单看种不同的自动曝光方法: 均值法AE,直方图改进的均值法AE以及。

1.4.1. 均值法AE

1.4.2. 直方图改进的均值法AE

1.4.3. N段式统计自动曝光

二. 自动对焦


http://www.niftyadmin.cn/n/4985734.html

相关文章

nvm 安装nodejs

1. 下载nvm 地址:Releases coreybutler/nvm-windows GitHub 2. 按要求一步步进行 3. 安装完成后配置nvm 的环境变量 找到nvm文件的路径,选中path,点击编辑讲nvm的路径放进去确定保存即可

2023_Spark_实验三:基于IDEA开发Scala例子

一、创建一个空项目&#xff0c;作为整个项目的基本框架 二、创建SparkStudy模块&#xff0c;用于学习基本的Spark基础 三、创建项目结构 1、在SparkStudy模块下的pom.xml文件中加入对应的依赖&#xff0c;并等待依赖包下载完毕。 在pom.xml文件中加入对应的依赖 ​<!-- S…

jieba 加whooh 构建自己本地数据库的搜索引擎

例子 from whoosh.index import create_in from whoosh.fields import Schema, TEXT, ID from jieba.analyse import ChineseAnalyzer from whoosh.qparser import QueryParserimport osanalyzer ChineseAnalyzer() schema Schema(titleTEXT(storedTrue, analyzeranalyzer),…

TCP数据报结构分析(面试重点)

在传输层中有UDP和TCP两个重要的协议&#xff0c;下面将针对TCP数据报的结构进行分析 关于UDP数据报的结构分析推荐看UDP数据报结构分析&#xff08;面试重点&#xff09; TCP结构图示 TCP报头结构的分析 一.16位源端口号 源端口表示发送数据时&#xff0c;发送方的端口号&am…

等保测评--安全管理中心--测评方法

安全子类--系统管理 a) 应对系统管理员进行身份鉴别,只允许其通过特定的命令或操作界面进行系统管理操作,并对这些操作进行审计; 一、测评对象 提供集中系统管理功能的系统; 二、测评实施 1)应核查是否对系统管理员进行身份鉴别; 2)应核查是否仅允许系统管理员通过…

Mac版JFormDesigner IDEA插件安装(非商业用途)

前言 仅供个人开发者使用&#xff0c;勿用作商业用途。 仅供个人开发者使用&#xff0c;勿用作商业用途。 仅供个人开发者使用&#xff0c;勿用作商业用途。 感觉做了这些年开发&#xff0c;怎么感觉市场越搞越回去了。桌面应用又成主流了&#xff1f; 甲方让做桌面客户端&am…

成集云 | 钉钉财务费用单同步至畅捷通 | 解决方案

源系统成集云目标系统 方案介绍 财务管理作为企业管理中重要的组成部分&#xff0c;在企业的发展和成长中扮演着重要角色&#xff0c;成集云以钉钉费用单OA审批与畅捷通TCloud系统为例&#xff0c;与钉钉连接器深度融合&#xff0c;通过数据处理和字段匹配实现了费用…

【Jenkins打包服务,Dockerfile报错:manifest for java : 8 not fourd】

1、问题描述 Jenkins打包服务运行dockerfile里的FROM java:8报错manifest for java : 8 not fourd Caused by: com.spotify. docker.client.exceptions.DockerException: manifest for java:8 not found2、解决方法 在网上查找许多方法后得出这是由于Docker官方已经弃用java…