按下快门前的算法——对焦

news2024/11/15 19:37:15

对焦算法可以分为测距式,相位式,反差式。

其中测距式是通过激光,(TOF,Time of Flight)等主动式地得知物距,然后对焦。更常用的是后两者。

反差式CDAF(Contrast Detection Auto Focus

反差式如上图所示,可以看到镜头明显有“拉风箱”一般的往复推拉,遍历得到一个对比度最好的结果。这种对焦方法相对精准,但耗时较长。

CDAF具体使用的是爬山算法。爬山算法包含两个过程,第一阶段叫粗扫(Coarse Search),第二阶段叫细扫(Fine Search)。算法控制马达移动镜头朝一个方向移动时,图像对比度会出现逐渐增大然后变小的过程,类似爬山。

相位式PDAF(Phase Detection Auto Focus)

先来了解一下双眼效应和拇指测距。

两个眼睛因为位置不同,他们的最佳对焦点是不同的,分别需要特定角度的光线才能成最清晰的像。所以拇指测距时,分别用两只眼睛对着拇指,沿着这个方向的延长线在目标物中可以得到不同的两点。这两点的长度/瞳距=目标距离/手臂长度。

知乎日报 - 知乎

既然拇指测距可以测得距离,那么PDAF也是一样的道理。PDAF根据像素对(PD Pixel Pair)的相位差衡量ROI区域的清晰度。

那么什么是相位差呢?PDAF怎么利用相位差呢?

上图中虽然光线只画了一路(对称的),但是实际上光线不会是一条,所以在sensor上的响应是以其为波峰的分布。如果没有对焦好,那么会存在两个波峰,子图4比子图3对焦更差,两个波峰的距离就越远。当对焦完美时,两个波峰重叠。

因为对称的缘故,两个波的形状是一样的,只是有一个相对的偏移量,这个偏移就是相位差。相位差可能是正数可能是负数,相位取0时清晰度最高。

因为出厂的时候标定过,所以只需要知道相位差,马达马上就知道该把镜头往哪个方向推,推多远,这也是为什么PD对焦更快的原因。PDAF对焦速度比CAF快一倍以上,是现在手机上的主流。

How Phase Detection Autofocus Works

由微分的思想,波可以使用两个有差异性的点表示。这两个点如何构造,出现了多种PD sensor。按照PD点的个数可以分为稀疏的和全局的。我们都以全像素All-pixel为例。

Dual PD

dual PD把每个像素进一步细分。dual的含义就是“双重的”,因为同样属于shield pd,但相比于更早的L和R隔了很远,dual PD的左右PD同在一个微透镜下:

每个color filter下面有两个二极管:

对焦阶段两种光电二极管分别成像,在对焦完成后真正成像的阶段,两个光电二极管合并起来,所以不会存在相位差的干扰。

当dual PD技术和quad bayer结合起来,就是Octa PD:

OCL

OCL是“On-Chip Lens”的缩写,它指的是几个相邻的像素共享感光元件上的微透镜。有2x1OCL,有2x2OCL。

2x2ocl指ocl技术和quad bayer联合起来。同一个颜色通道的四个象限共用一个透镜:

当光照条件好的时候可以remoisc得到高分辨率图像,光照差的时候通过bining可以得到更好的画质。

二者的区别

二者都是全像素级别的PD对焦。区别只是相位差的来源不一样,Octa PD是更传统的dual PD,2x2OCL是共用透镜带来的四个象限的差异。

前者真正成像时得益于有两个二极管,所以可以合并,消除相位差,这样因为quad raw同一个颜色通道的四个值更加统一。而2x2OCL相位差无法消除,同一个颜色通道的四个象限在成像时也会和图像梯度有规律地变化,不利于后续图像处理。

Octa PD因为要集成两个二极管,微透镜数目也更多,所以一般当sensor较大时使用这种技术;OCL则使用在中型sensor上。如下图所示:

在实际中,一般是先使用PD对焦,快速将镜头推到大致准确的位置,然后再进行反差式对焦,让图像真正达到对比度高的理想状态。


reference:

All-pixel Auto Focus (AF) Technology | Image Sensor for Mobile | Technology | Sony Semiconductor Solutions Grouphttps://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8993499All-pixel Auto Focus (AF) Technology | Image Sensor for Mobile | Technology | Sony Semiconductor Solutions Group

https://www.ovt.com/products/ov50a/

Sony unveils 2x2 on-chip lens tech for Quad Bayer sensors, which promises better AF performance - GSMArena.com news

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

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

相关文章

微调及代码

一、微调:迁移学习(transfer learning)将从源数据集学到的知识迁移到目标数据集。 二、步骤 1、在源数据集(例如ImageNet数据集)上预训练神经网络模型,即源模型。 2、创建一个新的神经网络模型&#xff…

【Python实战因果推断】31_双重差分2

目录 Canonical Difference-in-Differences Diff-in-Diff with Outcome Growth Canonical Difference-in-Differences 差分法的基本思想是,通过使用受治疗单位的基线,但应用对照单位的结果(增长)演变,来估算缺失的潜…

PostgreSQL 中如何处理数据的批量更新和事务日志管理?

文章目录 PostgreSQL 中数据的批量更新和事务日志管理 PostgreSQL 中数据的批量更新和事务日志管理 在数据库的世界里,数据的批量更新和事务日志管理就像是一场精心编排的舞蹈,需要精准的步伐和协调的动作。对于 PostgreSQL 而言,这两个方面…

LLM基础模型系列:Fine-Tuning总览

由于对大型语言模型,人工智能从业者经常被问到这样的问题:如何训练自己的数据?回答这个问题远非易事。生成式人工智能的最新进展是由具有许多参数的大规模模型驱动的,而训练这样的模型LLM需要昂贵的硬件(即许多具有大量…

常见 Web漏洞分析与防范研究

前言: 在当今数字化时代,Web应用程序扮演着重要的角色,为我们提供了各种在线服务和功能。然而,这些应用程序往往面临着各种潜在的安全威胁,这些威胁可能会导致敏感信息泄露、系统瘫痪以及其他不良后果。 SQL注入漏洞 …

自主研发接口测试框架

测试任务:将以前完成的所有的脚本统一改写为unitest框架方式 1、需求原型 1.1 框架目录结构 V1.0:一般的设计思路分为配置层、脚本层、数据层、结果层,如下图所示 V 2.0:加入驱动层testdriver 1.2 框架各层需要完成的工作 1、配…

【CT】LeetCode手撕—70. 爬楼梯

目录 题目1- 思路2- 实现⭐70. 爬楼梯——题解思路 3- ACM实现 题目 原题连接&#xff1a;70. 爬楼梯 1- 思路 思路 爬楼梯 ——> 动规五部曲 2- 实现 ⭐70. 爬楼梯——题解思路 class Solution {public int climbStairs(int n) {if(n<1){return 1;}// 1. 定义 dp 数…

html5——CSS基础选择器

目录 标签选择器 类选择器 id选择器 三种选择器优先级 标签指定式选择器 包含选择器 群组选择器 通配符选择器 Emmet语法&#xff08;扩展补充&#xff09; 标签选择器 HTML标签作为标签选择器的名称&#xff1a; <h1>…<h6>、<p>、<img/> 语…

数据平滑处理(部分)

一、 移动平均&#xff08;Moving Average&#xff09; 是一种最简单的数据平滑方法&#xff0c;用于平滑时间序列数据。它通过计算一定窗口内数据点的平均值来减少噪音&#xff0c;同时保留数据的趋势。移动平均包括简单移动平均&#xff08;SMA&#xff09;或指数加权移动平均…

初始网络知识

前言&#x1f440;~ 上一章我们介绍了使用java代码操作文件&#xff0c;今天我们来聊聊网络的一些基础知识点&#xff0c;以便后续更深入的了解网络 网络 局域网&#xff08;LAN&#xff09; 广域网&#xff08;WAN&#xff09; 路由器 交换机 网络通信基础 IP地址 端…

可观察性优势:掌握当代编程技术

反馈循环是我们开发人员工作的关键。它们为我们提供信息&#xff0c;并让我们从用户过去和现在的行为中学习。这意味着我们可以根据过去的反应进行主动开发。 TestComplete 是一款自动化UI测试工具&#xff0c;这款工具目前在全球范围内被广泛应用于进行桌面、移动和Web应用的…

“闭门造车”之多模态思路浅谈:自回归学习与生成

©PaperWeekly 原创 作者 | 苏剑林 单位 | 科学空间 研究方向 | NLP、神经网络 这篇文章我们继续来闭门造车&#xff0c;分享一下笔者最近对多模态学习的一些新理解。 在前文《“闭门造车”之多模态思路浅谈&#xff1a;无损》中&#xff0c;我们强调了无损输入对于理想的…

压缩文件的解析方式

我们常用的压缩文件有两种&#xff1a;后缀为.zip或者.rar&#xff0c;接下来将介绍解析两种压缩文件的代码。需要用到三个jar包&#xff1a;commons-io-2.16.1.jar、junrar-7.5.5.jar、slf4j-api-2.0.13.jar&#xff0c;可以在官网下载&#xff0c;也可以发私信。 这段代码是一…

2.GAP:通用访问协议

GAP的简单理解 GAP这个名字&#xff0c;直接翻译过来不好理解。 简单点可以理解为&#xff1a; 这是蓝牙设备在互联之前&#xff0c;过程中&#xff0c;第一个用于交流的协议。在代码上&#xff0c;会给这个协议实现&#xff0c;连接参数的设置&#xff0c;连接事件的实现&am…

【算法】二叉树-迭代法实现前后中序遍历

递归的实现就是:每一次递归调用都会把函数的局部变量&#xff0c;参数值和返回地址等压入调用栈中&#xff0c;然后递归返回的时候&#xff0c;从栈顶弹出上一次递归的各项参数&#xff0c;这就是递归为什么可以返回上一层位置的原因 可以用栈实现二叉树的前中后序遍历 1. 前序…

【数学趣】拉窗帘模型之求面积引发的6个解法

抖音上推了一个趣题 题 求橙色部分的面积 蓝色部分是2个正方形。大的正方形边长为6。&#xff08;小的正方形一半被一个黄色三角形遮住了一半&#xff09; 答案 18 解法1&#xff1a;拉窗帘 先写一个代号&#xff0c;方便证明&#xff0c;H G 代表正方形。&#xff08;G…

AV1 编码标准中帧内预测技术详细说明

AV1 编码标准帧内预测 AV1&#xff08;AOMedia Video 1&#xff09;是一种开源的视频编码格式&#xff0c;旨在提供比现有标准更高的压缩效率和更好的视频质量。在帧内预测方面&#xff0c;AV1相较于其前身VP9和其他编解码标准&#xff0c;如H.264/AVC和H.265/HEVC&#xff0c;…

暑假第一次作业

第一步&#xff1a;给R1,R2,R3,R4配IP [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24 [R1-Serial4/0/0]ip address 15.0.0.1 24 [R2-GigabitEthernet0/0/0]ip address 192.168.2.1 24 [R2-Serial4/0/0]ip address 25.0.0.1 24 [R3-GigabitEthernet0/0/0]ip address 192.…

【Mutilism用74ls192和与非门设计3进制24进制加法计数器2荔枝】2022-5-10

缘由【数电 数字逻辑】如何用74ls192和与非门设计任意进制加法计数器&#xff1f;-嵌入式-CSDN问答

Qt学生管理系统(付源码)

Qt学生管理系统 一、前言1.1 项目介绍1.2 项目目标 2、需求说明2.1 功能性说明2.2 非功能性说明 三、UX设计3.1 登录界面3.2 学生数据展示3.3 信息插入和更新 三、架构说明3.1 客户端结构如下3.2 数据流程图3.2.1 数据管理3.2.2 管理员登录 四、 设计说明3.1 数据库设计3.2 结构…