常用AF对焦算法详解
常用的AF算法框架
module
由module分别输出两个通道给到AP, 分别传输PDBuffer与RawBuffer;然后由算法针对拿到的Buffer进行计算,输出对应的CAF与PD结果; TOF同样如此,由TOFsensor输出depthBuffer给到平台来解析distance和confidence数据
AP
AP和AF相关的主要是两个部分,一个是ISP, 另外一个是外置ISP,常用来做PD计算。现如今的平台慢慢不局限与ISP来做PD计算,追求独立的PD计算模块,来提升性能。
HybridAF
AF算法逻辑, 通过AF算法逻辑部分分别来选择ContrastAF, PhaseDetectionAF, TOF等
DriveIC
最后从算法逻辑中选择马达需要移动位置,给到driveIC,然后写入寄存器中控制马达移动
PDAF算法
相位对焦算法, 基本原理是利用同一个miscoLens下的左右两个Pixel所接受的光线相位差的不同,得到相位值, 然后使用相位值来映射镜头位置的过程
如上图,焦点在画面前后时,左右PDpixel所呈现的曲线存在相位差的; 只有在2中,准焦点上相位差才会为0
常用的相位计算逻辑,如上图,将整个PDPixel中的LR像素抽离出来,然后形成LR两张buffer数据; 再将LR的buffer分别按列取值,得到LR的灰度曲线(类似于双目测距)。从曲线即可得到对应的相位差。PD对焦在对焦速度上相比于其他算法比较有优势,同时也能检测出一张图片不同景深位置,具备测距功能
ContrastAF
反差式对焦,通过不断的统计马达在每个位置的对比度数据,得到对比度最大的位置,然后将这个位置最为最终的清晰点。
如上图,在每个位置都能计算出算法对应的对比度数据,然后使用最常见的爬山算法来选择清晰点。相对与其他算法,这是最笨,也是最准确的方式。缺点就是速度慢,在夜景噪点多的情况稳定性相对更差。不具备反映景深特点
TOF
激光测距分为两种 DTOF(直接 TOF) 和 ITOF(间接TOF); DTOF计算从发射脉冲光到传感器接收到的时间; ITOF测量发射的正弦波/脉冲信号与接收的正弦波/脉冲信号之间的相位差的方法计算出时间
DTOF: 直接测量法,运用单光子雪崩二极管对单个光子探测有非常好的灵敏度特性,只要有光子击中二极管就会输出一个脉冲,输出这个脉冲后,可以很快复位,准备接收下一个光子
ITOF: 按发射光波的调制方式分成连续波调制和脉冲调制;
脉冲调制,一般都是使用方波作为调制信号;
连续波调制使用正弦波作为调制信号
然后在接收端进行信号读取,确认接收到的信号和发射信号的相位偏移
DTOF
利用飞行时间来计算测距结果
光子发射经过目标物之后反射到接收端,通过计算发射与接收的时间来测距。如今用的比较多的距离统计方法是通过连续发射多束光线,然后统计每束光线的测距结果。统计其中出现距离最多的作为最终的distance。
上面是单点TOF,随着这两年成本的降低,多点TOF慢慢使用上来了。 通过使用多个SPAD作为接收端,形成SPAD阵列,最常见的就是8*8和4*4, 使得DTOF具备了显示景深的特性,具备分区域测距的效果。 在对焦过程也慢慢从只能用于景物的TOF,扩展到了手动对焦和人脸对焦,甚至是追焦
ITOF
四个方波分别为发射信号,接收信号,一个传感器A以和发射信号同样频率的波形进行工作,和发射光光波同步进行光信号读取积分。一个传感器B以和发射信号同样频率的波形进行工作,但是在时域上有π的相位偏差,进行光信号读取积分。可以看到传感器A和传感器B在交替开关对接收信号进行积分,他们分别接收到了返回信号的一部分。输出的强度信号B/(A+B) * π既是发射信号和接收信号的相位差ϕ
算法对比
CAF算法, 优势在于准确性,当然在获得准确性的同时丢失的对焦速度,对焦时间花费至少是其他算法的两倍以上
PDAF算法, 优势在于对焦速度快,对比度高的场景能做到CAF的准确性。缺点也明显,在暗环境和低对比情况下效果就很差了。需要算法调试过程中自主选择了
TOF算法, 优势在于对焦速度快与暗环境对焦准确性好。 相对而言TOF的准确性比不上CAF和PDAF, 毕竟TOF得到的距离,距离转换到电流时实际对焦会存在一定误差,很多时候都是以TOF+CAF来混合对焦。直接转换的话就要考虑如何将这个误差缩小到可接收范围内
现如今使用的最多的还是PDAF+TOF+CAF三者混合,在三者之间CAF一般是作为底线,在无法使用PDAF和TOF情况下才会考虑到。 PDAF和TOF优先级每家手机都会有自己的策略,PDAF优先和TOF优先都存在,这个要看自己选择了。
以上是个人理解,如有问题,欢迎讨论
常用AF对焦算法详解相关推荐
- 机器学习、深度学习中常用的优化算法详解——梯度下降法、牛顿法、共轭梯度法
一.梯度下降法 1.总述: 在机器学习中,基于基本的梯度下降法发展了三种梯度下降方法,分别为随机梯度下降法,批量梯度下降法以及小批量梯度下降法. (1)批量梯度下降法(Batch Gradient D ...
- python牛顿法计算平方根_常用的平方根算法详解与实现
本文从属于笔者的数据结构与算法系列文章. SquareRoot 平方根计算一直是计算系统的常用算法,本文列举出几张简单易懂的平方根算法讲解与实现.其中Java版本的代码参考这里 Reference B ...
- 常用的平方根算法详解与实现
本文从属于笔者的数据结构与算法系列文章. SquareRoot 平方根计算一直是计算系统的常用算法,本文列举出几张简单易懂的平方根算法讲解与实现.其中Java版本的代码参考这里 Reference 计 ...
- html5 游戏 算法,JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】...
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解[圆形情况] 发布时间:2020-10-10 13:42:43 来源:脚本之家 阅读:95 作者:krapnik 本文实例讲述了JS/HTML ...
- C++中的STL算法详解
1.STL算法详解 STL提供能在各种容器中通用的算法(大约有70种),如插入.删除.查找.排序等.算法就是函数模板,算法通过迭代器来操纵容器中的元素.许多算法操作的是容器上的一个区间(也可以是整个容 ...
- Twitter-Snowflake,64位自增ID算法详解
Twitter-Snowflake,64位自增ID算法详解 from: http://www.lanindex.com/twitter-snowflake%EF%BC%8C64%E4%BD%8D%E8 ...
- FloodFill算法详解及应用
FloodFill算法详解及应用 啥是 FloodFill 算法呢, 最直接的一个应用就是「颜色填充」,就是 Windows 绘画本中那个小油漆桶的标志,可以把一块被圈起来的区域全部染色. 这种算法思 ...
- YOLOv5算法详解
目录 1.需求解读 2.YOLOv5算法简介 3.YOLOv5算法详解 3.1 YOLOv5网络架构 3.2 YOLOv5实现细节详解 3.2.1 YOLOv5基础组件 3.2.2 输入端细节详解 3 ...
- SoftPool算法详解
Refining activation downsampling with SoftPool-论文链接-代码链接 目录 1.需求解读 2.SoftPool算法简介 3.SoftPool算法详解 3.1 ...
最新文章
- 数字图像处理8:图像增强之空域滤波
- Javascript的闭包及其使用技巧实例
- mysql报错3534_win7下安装MYSQL报错:MYSQL 服务无法启动的3534问题
- 动态规划之硬币表示问题
- BAT-批量改文件后缀名
- cvi中c语言只保留两位小数,CVI编程常见问题与错误-2012.9
- Windows下Android开发环境 搭建
- Docker 快速安装 Mysql
- java并发编程(10)-- 线程池 底层原理
- Atitit 眼科医学之道 attilax总结
- POM文件配置Maven仓库地址
- 从物理到软件工程,中山大学转专业2017纪实
- 计算机金山打字基础,金山打字通电脑版
- linux终端的中国象棋,在Ubuntu 17.10上玩国际象棋等游戏
- 一个人的职业生涯之旅 —— 应届生求职、面试、Offer、跳槽(发展瓶颈、薪资倒挂、职业倦怠、骑驴找马、简历优化)问题分享
- springboot农机装备生产车间物料配送车辆调度管理系统毕业设计源码181710
- .net的web开发前后端传值系列(二)
- Git: Cannot update paths and switch to branch 'feature' at the same time.
- 尔宾团队角色(Belbin Team Roles),亦被称为贝尔宾团队角色表(Belbin Team Inventory)
- 十进制小数转为二进制小数
热门文章
- C#学习笔记之匿名方法
- 电脑ftp服务器信息,电脑上的ftp信息服务器地址
- FileSystemWatcher 基础用法
- matlab语法介绍——fft()、ifft()、fftshift()
- 网络工程师必备学习内容!深度理解OSPF——OSPF是什么?为什么要用OSPF?
- 正数负数的原码,反码,补码
- 2021年江苏省淮安高考成绩查询,2021年江苏淮安高考时间:6月7日至9日
- 两个简单方法--shift()和unshift();
- MATLAB可以使用但是使用help函数报错问题的解决
- 淘宝/天猫API:item_videolist-按分类搜索淘宝直播接口