Camera Tuning中AE/AWB/AF基础知识介绍

3A定义

3A是Camera ISP控制算法的一个重要组成部分,通常分为自动曝光(AE)、自动聚焦(AF)、自动白平衡(AWB)三个组件。

自动曝光(Auto Exposure)

AE基本概念

曝光概念:光线强度乘以光线作用的时间
计算公式:曝光强度(E,单位为lxs*s)=曝光时间(感光受光线照射的时间)光圈大小Gain
曝光时间:快门打开的时间,影响进光量。曝光时间长则进光量多,适合光线条件差的情况;反之,则适合光线好的情况。
光圈大小:由拍摄者手动选择的光圈f值,影响景深和进光量。光圈越大,景深越浅,适合人像等特写拍摄;反之,则适合风景等需要大景深的拍摄。
增益(ISO):传感器模拟增益和传感器/ISP数字增益,影响图像噪声和亮度。增益越大,图像噪声也越大,但亮度也会相应提高。

关系:要取得一定量的曝光量,光强越大,曝光时间越短,光强越小,曝光时间越大;
手机(光圈固定)只考虑曝光时间Gain

AE基本原理

根据图片平均亮度与目标亮度的差距,调整曝光时间和Gain,避免出现曝光不足和过曝的情形。
自动曝光的标准
物体的亮度与色彩是由物体对光线的反射率来决定的。例如纯黑色的反射率是0,纯白色的反射率是100%,处于中间灰度的反射率是18%,这就是18%中间灰度。其中认为V是适中曝光度
相机在各种场景下无法识别物体的反射率,于是统一将图像整体平均亮度设置为中性灰的亮度。只限于部分场景,有局限性。
在这里插入图片描述

自动曝光算法

  1. 均值法AE
    均值法AE是通过计算图像或视频的平均亮度(或称为平均灰度),并将其与预设的目标亮度(通常是18%灰度)进行比较,来自动调整曝光参数的方法。
    1.1 计算过程:
    基于下面这个公式,Output是我们期望的曝光输出值,也就是18%灰的曝光强度,Gamma一般都是2.2。
    Input = 255 x (Output/255)gamma
    在灰度卡上以0~255为计算区域的话,那么18%灰的Ouput就是122,Input就是50。也就是测光区域的实际曝光强度应该为50。
    1.2 曝光参数调整:
    如果当前图像的平均亮度低于目标亮度,系统会自动增加曝光时间、增大光圈或提高ISO等参数,以增加进光量,提高图像亮度。
    如果当前图像的平均亮度高于目标亮度,系统则会减少曝光时间、缩小光圈或降低ISO等参数,以减少进光量,降低图像亮度。
    1.3 优点与限制
    优点:均值法AE能够快速的根据图像的整体亮度调整曝光参数,适用于大多数光线条件。
    限制:当图像中存在大范围白和黑物体时,均值法AE可能不够准确。

  2. N段式统计法(直方图法)
    自动曝光中的N段式统计法是一种在手机ISP(Image Signal Processor,图像信号处理器)上常用的方法,特别是在手机摄像头光圈固定(这里仅考虑单摄像头场景)的情况下。由于光圈固定,可调节的参数主要限于曝光时间和ISO(感光度)。以下是关于N段式统计法的详细解释:
    2.1 基本概念
    N段:指的是ISO的不同段。由于手机sensor的光圈是固定的,因此曝光时间的调节和ISO的调节成为主要手段来适应不同的光线条件。
    2.2 调节顺序与策略
    优先调节曝光时间:在大多数情况下,系统会优先调节曝光时间以达到目标亮度。但曝光时间有一个上限,这个上限通常是为了保证预览帧率(如每秒30fps)而设定的,一般在33ms内完成。
    调节ISO:当曝光时间达到其上限但仍不能满足目标亮度时,系统会开始调节ISO。但需要注意的是,调节ISO可能会引入更多的噪点,特别是在暗光条件下。
    N段式统计:这里的“N段”实际上是指ISO的不同调节阶段。系统会根据当前曝光时间和ISO的组合,以及目标亮度,来决定是否调整ISO以及调整多少。这种策略旨在保证在ISO较小的情况下优先调节曝光时间,以减小噪点的影响。
    2.3 实现过程
    第一步:对当前图像进行亮度统计;
    第二步:根据当前图像亮度确定曝光值;
    第三步:计算新的曝光参数,曝光时间、光圈、增益;
    第四步:将新的曝光参数应用到相机;
    第五步:重复步骤一到四,直到亮度满足要求。

自动白平衡(AWB)

概念

自动白平衡就是通过一系列算法使相机在各种色温下获取到的白色均还原成正常的白色。
色温:值越低,色调越暖,值越高,色调越冷
相机的色温范围,决定于你所使用的白平衡设置。
AWB只在一定的色温范围内是准确的
相机预设3200k-7000K,白炽灯3200K,白色荧光灯4000K,日光5200K,闪光5900K,多云6000K,阴影7000K。

算法原理

找到图像中的无色点(白点)
计算所有白点的R/G/B平均值:Ravg,Gavg,Bavg
计算R/G/B增益Gain:
Rgain=Gavg/Ravg
Bgain=Gavg/Bavg
Ggain=1
将AWB Gain作用在图像上:
R’=RRgain
G’=G
Ggain
B’=B*Bgain
校正后白点满足:R’=G’=B’
RAW格式拍摄,更方便后期调节白平衡

自动对焦(AF)

概念

在这里插入图片描述
自动聚焦是能使得场景目标在成像系统中准确清晰成像的某种自动调节过程,自动聚焦方式主要可以分为主动聚焦和被动聚焦,其中主动聚焦是依赖某种距离探测方式,如超声和红外测距等,通过测量目标场景和和镜头之间的距离,然后调焦获得对焦准确的位置。被动聚焦则不需要向对焦目标物发射任何能量或信息,仅仅通过利用透入的光线和形成的图像信息进行分析来调节聚焦。被动对焦主要包括相位检测聚焦对比度检测聚焦两类方法。

相位检测聚焦是单反相机中用的最普遍的自动对焦方法,这种聚焦系统一般由反光镜、微透镜,以及多个成像敏感器等硬件构成
其对焦原理,简单地说,通过镜头的光束被分为两个部分,分别在不同的两组成像敏感器上成像 如果对焦准确,则两幅图像相同;如果对焦不准 ,则两幅图像会出现偏移 通过比较两幅图像而检测这个偏,就能检测出聚焦的偏离状态。

相位检测自动聚焦的优点在于对焦迅速且比较精确, 缺点在于 要独特的硬件构造,造价高,且其复杂的构造不适合需要结构紧凑的情况,比如不适合在一般的数码相机及移动手机 等平 台上应用。

对比度检测聚焦是另外一种被动聚焦方法,这种方法不需要额外的硬件构造,它仅仅通过对连续获得的实际图像进行分析处理,根据前后两帧或多帧图像的对比度计算结果来控制调焦的方向和大小。其基本原理是随着调焦向准确位置越近,图像越清晰,对应的图像对比度也越大。由于不需要额外的硬件支持,这种聚焦方法广泛应用于摄像机、数码相机等成像系统。

但是,对比度检测聚焦方法往往存在以下缺点:
①聚焦速度 相对较慢:②对光照较为敏感,尤其是在低照度情况下容易失效; ③当 目标物缺乏明显的纹理细节(比如白色墙壁)时,难以准确聚焦,为了提高聚焦的速度、精度以及适应性,对比度检测自动聚焦方法受到越来越多的关注和研究。

反射式对焦(CAF)

特点:
优点:光学设计简单。
缺点:
a. 速度较慢,在出现失焦图像时,机器无法判断该移动多少,甚至往哪个方向移动镜头才能聚焦,甚至到了峰值也不知道,必须移动过了以后再往回移动,来回几次后才能找到对焦点;
b. 在物体对比度较低时会对焦失败,比如雪景,无云的蓝天以及各种纯色的图像;

相对聚焦(PDAF)

特点:先粗调再细调
优点:速度快。
缺点:
a. 需要专用PDAF sensor,并且有精度损失;
b. 在暗处效果较差,无法完全取代CAF。
目前的PDAF都是PD+contrast AF的混合对焦方式

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

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

相关文章

group_concat配置影响程序出bug

在 ThinkPHP 5 中,想要临时修改 MySQL 数据库的 group_concat_max_len 参数,可以使用 原生 SQL 执行 来修改该值。你可以通过 Db 类来执行 SQL 语句,从而修改会话(Session)级别的变量。 步骤 设置 group_concat_max_l…

linux 下查看程序启动的目录

以azkaban为例 第一步、ps -ef | grep azkaban 查询出进程号 第二步、cd /proc/ 第三步 、cd 进程号 第四部 ll 查看详情 查看jar 位置 查看jar 启动命令

Linux设置Nginx开机启动

操作系统环境:CentOS 7 【需要 root 权限,使用 root 用户进行操作】 原理:利用 systemctl 管理服务 设置 Nginx 开机启动 需要 root 权限,普通用户使用 sudo 进行命令操作 原理:利用 systemctl 管理服务 1、新建…

红帽认证和华为认证哪个好?看完这4点你就明白了

就算在一堆的认证里面,华为和红帽也因为它们特别权威、含金量特别高而显得特别突出,简直就是行业里的榜样。只要拿到了其中随便哪一个证书,就说明证书持有者的网络技术很厉害,找工作的时候常常能给自己加点分。 不过好多人都不太…

初始JavaEE篇 —— 网络编程(2):了解套接字,从0到1实现回显服务器

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:JavaEE 目录 TCP 与 UDP Socket套接字 UDP TCP 网络基础知识 在一篇文章中,我们了解了基础的网络知识,网络的出…

❤React-JSX语法认识和使用

1、JSX基本使用​ JSX是React的核心 JSX是ES的扩展 jsx语法 -> 普通的JavaScript代码 -> babel React可以使用JSX的前提和原因: React生态系统支持: 脚手架通常用于构建React应用程序,而JSX是React框架的核心语法之一。因此&#xf…

中文书籍对《人月神话》的引用(161-210本):微软的秘密

中文书籍对《人月神话》的引用(第001到160本)>> 《人月神话》于1975年出版,1995年出二十周年版。自出版以来,该书被大量的书籍和文章引用,直到现在热潮不退。 2023年,清华大学出版社推出《人月神话》…

【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-最大的数

CL13 最大的数(20 分) 输入一个有 n 个无重复元素的整数数组 a&#xff0c;输出数组中最大的数。提示&#xff1a;如使用排序库函数 sort()&#xff0c;需要包含头文件#include 。输入&#xff1a; 第一行是一个正整数 n(2<n<20)&#xff1b; 第二行包含 n 个不重复的整…

DHCP与FTP

DHCP dhcp&#xff1a;动态主机配置的协议&#xff0c;应用在大型的局域网环境中 服务端和客户端 服务端&#xff1a;提供IP地址&#xff0c;某种特定功能的提供者 客户端&#xff1a;请求IP地址&#xff0c;请求对应的功能的使用者 服务端的端口号&#xff1a;67 客户端的端…

Spark 的容错机制:保障数据处理的稳定性与高效性

Spark 的介绍与搭建&#xff1a;从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交&#xff1a;本地与集群模式全解析-CSDN博客 Spark on YARN&#xff1a;Spark集群模式…

【Qt-ROS开发】使用 Qt Creator 构建和编译含 ROS 库的 Qt 项目

【Qt-ROS】使用 Qt Creator 构建和编译含 ROS 库的项目 网上大多数办法是在 Qt creator中安装 ros_qtc_plugin 插件&#xff0c;项目以 ROS1 工作空间的形式构建&#xff0c;还是使用 catkin 来构建整个项目。但是这种方式局限很大&#xff0c;导入 Qt 的组件反而变得很麻烦&a…

彻底理解ARXML中的PDU

文章目录 一、DBC报文信号的发送二、ARXML报文信号的发送2.1 什么是PDU2.2 PDU的类型2.3 Container-I-PDU的发送 三、小结 在CANFD支持可变速率和更大的数据长度&#xff08;64字节&#xff09;的情况下&#xff0c;可以使用DBC和ARXML两种数据库格式来进行报文通信&#xff0c…

OpenGL【C++】台灯

#include<gl/glut.h> #include <math.h>/**************************************/ /* 设置灯旋转角度初始值和一些所用参数 */ /**************************************/ static GLfloat yrot -100.0; static GLfloat zrot 40.0; const GLfloat PI 3.141592…

初探鸿蒙:从概念到实践

一、鸿蒙开发的环境准备 开发工具&#xff1a;使用 DevEco Studio&#xff0c;支持 ArkTS 语法。 系统要求&#xff1a;确保计算机符合 DevEco Studio 的最低系统需求。安装步骤&#xff1a;下载 DevEco Studio&#xff0c;安装合适的 SDK 和模拟器 二、鸿蒙应用可以…

React Native 全新架构来了

React Native 0.76 现已在 npm 上以全新架构默认发布&#xff01; 在 0.76 版本的发布博客中&#xff0c;我们分享了此版本包含的一系列重大更改。在本文中&#xff0c;我们将概述全新架构以及它如何塑造 React Native 的未来。 全新架构全面支持现代 React 功能&#xff0c;…

git commit 校验

commitlint官方链接 1. npm install --save-dev commitlint/config-conventional commitlint/cli 2. 配置commitlint.config.cjs(项目根目录中&#xff09; module.exports {extends: [commitlint/config-conventional],rules: {type-enum: [2,always,[Feat, Fix, Doc, Style,…

vue2.x elementui 固定顶部、左侧菜单与面包屑,自适应 iframe 页面布局

vue elementui 固定顶部、左侧菜单与面包屑&#xff0c;自适应 iframe 页面布局 疑问点&#xff1a;iframe无法高度100%&#xff0c;如果写了100%就会有滚动条&#xff0c;所以只写了99.5% 【效果图】 路由示例 const routes [{title: Index,path: /,name: "Index"…

Coggle数据科学 | RAG编码模型对比:谁与OpenAI最为相似?

本文来源公众号“Coggle数据科学”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;RAG编码模型对比&#xff1a;谁与OpenAI最为相似&#xff1f; 在设计检索增强型生成&#xff08;RAG&#xff09;系统时&#xff0c;选择嵌入模型…

golang分布式缓存项目 Day1 LRU 缓存淘汰策略

注&#xff1a;该项目原作者&#xff1a;https://geektutu.com/post/geecache-day1.html。本文旨在记录本人做该项目时的一些疑惑解答以及部分的测试样例以便于本人复习。 LRU缓存淘汰策略 三种缓存淘汰策略 FIFO&#xff08;First In, First Out&#xff09;先进先出 原理&…

工业相机选取

1.相机分类&#xff1a; 1.1 在相机曝光方式中&#xff0c;全局曝光和卷帘曝光是两种主流技术。CCD相机通常采用全局曝光方式&#xff0c;而CMOS相机则可能采用卷帘曝光。 面阵相机与全局曝光关联与区别 关联&#xff1a;面阵相机可以使用全局曝光作为曝光方式&#xff0c;但…