AF(Auto Focus),自动对焦技术,是光被相机上的传感器CCD接受,通过计算机处理,带动电动对焦装置进行对焦的方式。手机摄像头模组包含镜头、马达、滤色片、镜座、传感器等部件。

自动对焦这个词有两个方向可以进行叙述。一为Focus,二为Auto,接下来将会从这两个方向进行讲解。

  • Focus原理

在几何光学中,从无穷远处物体发生的光线经过光学系统后会会聚到一个理想点,这个点就是光学系统的焦点。但这只是理想情况,实际上在物理光学和现实中,“焦点”有一定的空间分布,称为弥散圆。弥散圆的产生来源于光学系统的像差。透镜中的光心到焦点的距离叫做焦距,在已知光学系统的焦距的情况下,我们可以通过透镜的成像方程式:1d0+1di=1f,其中d0是物距,di是像距,f是焦距。计算出不同位置的物所对应的清晰的像所在的位置。通常,sensor的位置是固定的,但可以通过改变透镜组的位置来改变像距。

实际上图像是否清晰是人的主观感受,它的物理本质是光学系统的点扩散函数(PSF)这个指标。PSF反映的是一个理想物点经过光学系统后能量的空间分布情况。为讨论方便,令光轴为z轴,成像面为xy平面。由于光的波动性本质,z轴上的一个理想点光源经过光学系统后会在像点所在的xy平面上汇聚成一个具有一定直径的光斑即艾里斑(Airy disk),其直径取决于光学系统的通光口径。这是PSF的理论极限。

当xy平面沿z轴前后移动时,距离像点越远则光斑直径越大,光能量也就越分散(spread)。在此基础上,实际的光学系统总是不理想的,存在各种原理的像差,这些像差效应使光能量进一步扩散。

另外,由于光能量总是扩散的,所以实际的像点只是一个光能量相对集中的平均位置。当光学系统的参数(如光圈大小)发生变化时,光能量的扩散特性也会随之变化,因此焦点的位置也会发生一定程度的偏移,这个现象叫做focus shift,原理如下图所示。

  • 如何实现AUTO?

手机相机上实现自动对焦的方式可以分为两大类:主动式和被动式。

1、主动式自动对焦

主动式自动对焦方式的代表是激光对焦(TOF,Time of Flight)。主要原理是通过发射人眼不可见的红外光线到物体表面然后接收其反射回来的信号来测量对焦物体与手机的距离,然后控制马达推动镜头到对应的位置上完成对焦。

这种技术还可以细分为D-TOF和I-TOF两种。D-TOF,Direct Time-of-Flight,直接飞行时间,基于脉冲调制光,工作周期可以比较短即便采用更高的峰值输出功率,也可以兼顾人眼安全,探测距离也就能够比较远,同时还能兼顾相对比较好的测量精度。加上D-TOF方法还具备可很大程度避免多径干扰(multipath effects)的问题,运动伪像对D-TOF产生的影响也比较小。I-DOF,Indirect Time-of-Flight,间接飞行时间,通过测量相位偏移量来间接测量光的飞行时间。不过实际上,D-TOF的实施难度要比I-TOF明显更大,虽然听起来其原理更简单。从TOF的实现原理来看,不难发现一个完整的TOF模组至少要包含发射端和接收端:发射端的主要部分就是光源(消费类TOF模组以VCSEL激光器为主),接收端的主体当然就是TOF图像传感器了。很容易想见,对于普通的p-i-n光电二极管来说,要直接、准确地测定光的“飞行时间”还是有相当难度的。它对于发射端的光源、接收端的光电探测器(即传感器),实现同步、时间检测相关电路都有着很高的要求。

在测得物距后,通过马达调整透镜组的位置,使清晰的像恰好呈现在sensor上。

2、被动式自动对焦

主要有PDAF和CAF两种方案。PDAF对焦速度比CAF快一倍以上。

CAF,Contrast AF,反差式自动对焦,使用的算法是爬山算法。之所以叫反差式自动对焦,是因为这个方法通过计算图像对焦框区域的反差或者对比度来衡量图像清晰度,反差越大表示图像越清晰。爬山算法是指这个算法寻找图像最清晰的镜头位置的方式类似于爬山。算法控制马达移动镜头朝一个方向移动时,图像对比度会出现逐渐增大然后变小的过程,这样才能确定山顶(对比度最高)的位置。

爬山算法包含两个过程,第一个阶段叫做粗扫(Coarse Search),第二个阶段叫做细扫(Fine Search)。粗扫的目的是为了找到爬山过程中的最高点,这个阶段的马达移动跨度会比较大,但精细度不高,只知道山顶的大概范围。细扫的目的是为了找到最清晰的点,会在最高点的附近以比较小的步幅来搜索最清晰的点。

PDAF是目前手机上的主流对焦方法,全称是相位探测自动对焦(Phase Detection AF)。在图像传感器上不同区域规律分布有探测相位用的左右像素对(PD Pixel Pair),左PD像素和右PD像素的相位之差可以衡量对应区域场景的图像清晰度。当相位差为0时物体图像是清晰的,相位差不为0时图像是模糊的。在实际自动对焦时,PDAF软件模块会读取对焦区域内的PD像素对信息计算相位差,然后加上事先在模组厂校准的信息就可以计算出当前相位差要变为0需要设置的马达控制值(Defocus value),然后控制马达一步到位推动镜头到它认为清晰的位置上。

实际上,PDAF和CAF通常配合使用,CAF会替换PDAF的粗扫过程,直接将镜头移动到FV值的最高处附近,然后再用CAF的细扫过程来进一步找到最清晰的点完成对焦。

说完了算法,ISP在处理完图像信息后,输出不一样的电流强度,通过控制电流的大小来控制马达的移动方向和距离。这里就要提到马达的工作原理了。目前市场上最常见的就是音圈马达。音圈马达的工作原理是利用永久磁铁与线圈通电后产生的磁场相互对应而有规律的动作。马达的种类中影响对焦速度的种类分为两种,分别是开环马达(open loop)和闭环马达(close loop)。这两种马达的区别在于,闭环马达在原理上比开环马达多了个反馈的环节。闭环马达相比于开环马达的优势在于可以消除姿势差和磁滞误差的影响,能把镜头推到预设的位置,对焦精度更高。

三、PDAF

可以说AF是相机里最难做的一个功能,在不同的光照环境下,不同的图像成分,要做到又快又准的对焦,目前来看,即使是SONY、佳能、尼康、苹果这些公司也没有完全做到。而PDAF是这几年自动对焦技术发展的重点,从起初的遮挡式PD sensor,到现在100%全dual PD的sensor,PDAF技术的发展非常迅速。基本原理都是形成左右两个传感单元,当图像合焦的时候,左单元形成的图像与右单元形成的图像是对齐的,离焦时,左右两图无法对齐。

PDAF的统计模块工作过程如下:

PD sensor的每行都分布着若干对LR像素,对于full dual PD sensor,所有的像素都是LR的PD像素,也就没有中间那些白色的非PD像素。

如下图这种离焦的情况,一行图像进入PDAF的统计模块中,会形成左右图像序列。

如果蓝色和黄色序列的shift符号为正,则体现的是物体在focal plane的后方;如果蓝色序列和黄色序列镜像,shift符号为负,则体现的是物体在focal plane的前方。所以,PDAF的统计模块的基本作用就是:

1、提取左右序列。

2、计算序列离散的符号,得知镜头的离焦方向。

3、根据左右序列的离散程度,计算出PD。

在现实中,PD是经常有误差的,所以除了要做抗干扰以外,还要输出reliability,告知软件得到的PD有多可靠,软件算法再做决策。

Camera AF原理概述相关推荐

  1. SLAM总结(一)- SLAM原理概述与简介

    SLAM总结(一)- SLAM原理概述与简介 SLAM(Simultaneous Localization and Mapping):同时定位和建图,定位是定位机体在世界坐标系下的位姿(pose.tr ...

  2. Camera AF和FF

    Camera按对焦功能可以分为FF(Fixed Focus)和AF(Auto Focus),即固定对焦和自动对焦.固定对焦顾名思义就是焦距是固定的,而自动对焦可以通过移动镜头位置来改变焦距从而实现自动 ...

  3. nvGRAPH原理概述

    nvGRAPH原理概述 nvGRAPH的API参考分析. 简介 数据分析是高性能计算的不断增长的应用.许多高级数据分析问题可以称为图形问题.反过来,当今许多常见的图形问题也可以称为稀疏线性代数.这是N ...

  4. 相机自动对焦AF原理

    相机自动对焦AF原理 AF性能是判断相机好坏的重要指标,主要从准确度和速度两个方面来进行考察,本文将介绍自动对焦的几种方式. 一.凸透镜成像原理 二.三种对焦方法 有公式在手,只要给相机安个测距仪就好 ...

  5. Vue底层实现原理概述

    Vue是一个典型的MVVM框架,模型(Model)只是普通的JavaScript对象,修改它则视图(View)会自动更新.这种设计让状态管理变得非常简单而直观.那么Vue是如何把模型和视图建立起关联的 ...

  6. 《深入理解Android》一2.1 浏览器工作原理概述

    本节书摘来自华章出版社<深入理解Android>一书中的第2章,第2.1节,作者孟德国 王耀龙 周金利 黎欢,更多章节内容可以访问云栖社区"华章计算机"公众号查看 2. ...

  7. 语音识别技术原理概述!

    原标题:语音识别技术原理概述! 语音识别的基本原理 所谓语音识别,就是将一段语音信号转换成相对应的文本信息,系统主要包含特征提取.声学模型,语言模型以及字典与解码四大部分,其中为了更有效地提取特征往往 ...

  8. 叠片式过滤器原理概述

    叠片式过滤器原理概述 叠片式过滤器过滤芯是由一组两面带沟槽的盘片组成,沟槽棱边形成的交叉点可以把水中固体物截留,由于同时具有了表面阻拦和凝聚的作用,大大提高了过滤效果.同时由于叠片式过滤系统具有反洗, ...

  9. Direct3D 12工作原理概述

    Direct3D 12工作原理概述 这只是Direct3d 12的概述.以后的教程将更深入. Pipeline State Objects (PSO)(MSDN Pipeline States) 管道 ...

最新文章

  1. 布隆过滤器 redis_使用基于 Redis 的 Java 布隆过滤器
  2. 批量导入LYNC 2010用户的联系人
  3. IC基础知识(2)模拟和数字电子学导论
  4. ubuntu搭建lnmp+Yaf+Redis环境
  5. 回调破前高意味着什么_4连阳后是回调还是突破呢?
  6. python max_Python max()
  7. 计算机结构工程专业,我是学计算机的,我想问一下怎么考结构工程师
  8. Java网络编程(两种聊天室:TCP和UDP)
  9. 业务常见面试题(数据分析)
  10. hover效果移除时元素还原太生硬的情况
  11. 域控-笔记二(域权限,域组,域管理,Kerberso 协议)
  12. LoRaWAN入网方式以及加密进阶版
  13. 电子商务计算机网络安全技术教案,网络安全技术教案.doc
  14. esxi能直通的显卡型号_虚拟黑群也可以NVMe加速?还能万兆?wa!
  15. 朋友圈加粗字体数字_微信新版内测!朋友圈将大变样,图片可变视频
  16. 手把手教你设计SNS社区【6】
  17. 2021-07-22 佳博 蓝牙打印
  18. 动漫人物头发的画法教程!
  19. 语音mos测试软件,Pilot Pioneer3.6软件MOS语音测试简易指导书.doc
  20. 十条解决笔记本电脑摄像头问题方案

热门文章

  1. 敏捷开发之产品需求模板
  2. 如何修改后台密码错误超过5次被限制60分钟登录
  3. <基础算法>十大排序算法总结
  4. 数独游戏(3) 自定义对话框等等
  5. 生产者-消费者模式的三种实现方式
  6. 技术管理者的 4 个基本思考点
  7. Jetpack Compose布局之Column
  8. 腾讯开源超分辨率算法(Real-SR )踩坑记录——vkCreateInstance failed -9错误
  9. html超出高度自动下一页,上滑web页面自动加载下一页
  10. 【JavaScript+自然语言处理+HTML+CSS】实现Web端的智能聊天问答客服实战(附源码 超详细必看)