相机自动对焦AF原理

AF性能是判断相机好坏的重要指标,主要从准确度和速度两个方面来进行考察,本文将介绍自动对焦的几种方式。

一.凸透镜成像原理

二.三种对焦方法

有公式在手,只要给相机安个测距仪就好了,测距仪的精度越高对焦就越准,成像就越清晰,在这种想法的驱动下,主动式对焦就应运而生了,在大部分不计代价的领域,主动式对焦是很受欢迎的方法。

但是在很多地方,尤其是民用市场,想要给相机按上一个高精度测距仪,代价无疑是很高的,有没有其他办法实现对焦?很明显,就是刚才提到的物理实验所采用的的探索法,让改变镜头与CMOS之间的距离,总能找到成像的最佳位置。

在这种想法的作用下,被动式对焦就应运而生了,主要是以额外硬件为代价的相位法和基于软件的对比度法。

自动对焦目前主流的大致上有CDAF,PDAF和Laser assist AF这三种。前两种属于被动式,也就是说相机不需要其他额外辅助的探测手段,直接使用入射光线做判断来对焦;而第三种属于主动式,也就是说需要使用Laser来辅助探测,这在后面会详细介绍。

1. CDAF (contrast detection auto focus)

反差对焦是假设对焦成功后相邻像素点的对比度最大,这种方式的光学设计是最简单的。

从上图可以看到,右上图中的白色方框代表对焦点,此处反射出的红色光线在经过镜头,到达传感器前就汇聚在一点,随后又散开,此时图像的对比度是很低的。

将这个对焦点与相邻像素的对比度作分析得出右下角的曲线,失焦状态下对比度低,在聚焦过程中,曲线变得逐渐变得倾斜,但是不能判断什么时候是最高点,只有经过了对焦点后曲线下降再往回移动,反复移动后可以得到一个局部梯度最大值,就认为是对焦成功。

详细过程可以从这个链接可以看到。

优点:光学设计简单。

缺点:

a. 速度较慢,在出现失焦图像时,机器无法判断该移动多少,甚至往哪个方向移动镜头才能聚焦,甚至到了峰值也不知道,必须移动过了以后再往回移动,来回几次后才能找到对焦点;

b. 在物体对比度较低时会对焦失败,比如雪景,无云的蓝天以及各种纯色的图像。

2. PDAF (phase detect auto focus)

相位对焦最早是在单反上使用的,也是最常用的被动式对焦方法,光学通路也比较复杂。

在对焦过程中,白色入射光被一个斜45度角的反光镜拦截,部分向上分光到调焦屏,供预览和AE使用,此时预览看到的图像和拍照的是一致的;剩下的光被次级反射镜向下分到AF模块。

可以从下图中看到AF模块的工作原理。AF模块中有两个或者多个小图像传感器(CCD1/2),并且都是一维的,也就是说是由一列像素构成,每个传感器上有一个小的透镜(Micro lens),这些传感器是成对出现,每一对就构成了一个自动对焦点,下图中的对焦点是右下侧图片中央的白色方框。在失焦状态下,红光照射在光圈右侧,绿光照射在光圈左侧,在传感器上的相位就无法匹配,图像中央其实是一个硬币,但为了方便将相位表示成只有一个峰值的曲线,也就是一个黑色背景的白点,真实图像的曲线实际上比较复杂。当移动镜头Main lens的时候,光线的相位会慢慢靠近直至重合,当重合时就认为对焦成功。在图像处理中识别相位重合的方式有很多种,Cross-correlation就是其中一种。由于根据相差可以精确计算出main lens需要移动的方向以及距离,因此PDAF就比CDAF速度要快许多。

由于对焦速度快,在2014年左右被全面引入到手机上,然而手机上没有足够空间来实现如此复杂的光学通路,因此业界就拿sensor做文章,如下图所示在原有的

(a)Bayer CFA sensor基础上将部分G替换成

(b)PD 像素,变成了

(c) PDAF sensor。

测距原理就是发出一组超声波,接收器根据超声波的返回时间来计算距离;同样在单反上的激光辅助对焦是发出一组红外光,根据接收到的时间来计算距离。

优点:

激光辅助对焦完美地补充了PDAF在弱光条件下,以及CDAF在对比度底场景下的不足。

缺点:

a. 所谓激光其实是红外线光,因此在物体本身有红外射线(比如烛光,人脸)的情况下就会失效;

b. 如果有红外射线无法穿透玻璃,因此有玻璃情况下也会失效。

这样也就无需改变原有的光学通路,直接根据PDAF计算出相差来移动镜头。当然这些被PD像素所取代的像素点必须根据周围像素点的值来做补偿,具体补偿方式就由各ISP厂商来决定。

优点:速度快。

缺点:

a. 需要专用PDAF sensor,并且有精度损失;

b. 在暗处效果较差,无法完全取代CDAF。

3. Laser Assit AF

激光辅助对焦在单反上的前生是潜艇的超声波测距系统。

超声波测距原理就是发出一组超声波,接收器根据超声波的返回时间来计算距离;同样在单反上的激光辅助对焦是发出一组红外光,根据接收到的时间来计算距离。

优点:

激光辅助对焦完美地补充了PDAF在弱光条件下,以及CDAF在对比度底场景下的不足。

缺点:

a. 所谓激光其实是红外线光,因此在物体本身有红外射线(比如烛光,人脸)的情况下就会失效;

b. 如果有红外射线无法穿透玻璃,因此有玻璃情况下也会失效。

相位法

相位法是直接通过硬件计算出当前成像的位置是在真正相平面哪一侧的方法,如图所示:

三.对比度法

这种方法很多地方都叫做反差法,但是通过研究其原理,我认为还是叫对比度法比较准确。原理可以通过下面的动图描述:

这下应该不用多解释了,如果还是不明白,那我就简单说明一下:

它实际上是选的一行像素,统计各像素亮度,并计算最亮和最暗的差值作为对比度保存;

尝试往一个方向移动镜片(或者CMOS),如果差值变小则说明方向错误,需要反向移动;

反之继续移动,直到差值经过某个值之后开始变小,说明该值即对比度最大值;

镜片(或者CMOS)反向移动到对比对最大的位置。

相机自动对焦AF原理的更多相关文章

  1. OpenCV 图像清晰度评价(相机自动对焦)

    相机的自动对焦要求相机根据拍摄环境和场景的变化,通过相机内部的微型驱动马达,自动调节相机镜头和CCD之间的距离,保证像平面正好投影到CCD的成像表面上.这时候物体的成像比较清晰,图像细节信息丰富. 相 ...

  2. OpenCV 图像清晰度(相机自动对焦)

    相机的自动对焦要求相机根据拍摄环境和场景的变化,通过相机内部的微型驱动马达,自动调节相机镜头和CCD之间的距离,保证像平面正好投影到CCD的成像表面上.这时候物体的成像比较清晰,图像细节信息丰富. 相 ...

  3. Camera Calibration 相机标定:原理简介(五)

    5 基于2D标定物的标定方法 基于2D标定物的标定方法,原理与基于3D标定物相同,只是通过相机对一个平面进行成像,就可得到相机的标定参数,由于标定物为平面,本身所具有的约束条机,相对后者标定更为简单. ...

  4. Camera Calibration 相机标定:原理简介(四)

    4 基于3D标定物的标定方法 使用基于3D标定物进行相机标定,是一种传统且常见的相机标定法.3D标定物在不同应用场景下不尽相同,摄影测量学中,使用的3D标定物种类最为繁杂,如图-1的室内控制场,由多条 ...

  5. Camera Calibration 相机标定:原理简介(三)

    3 绝对圆锥曲线 在进一步了解相机标定前,有必要了解绝对圆锥曲线(Absolute Conic)这一概念. 对于一个3D空间的点x,其投影空间的坐标为:x~=[x1,x2,x3,x4]T.我们定义无穷 ...

  6. Camera Calibration 相机标定:原理简介(二)

    2 针孔相机模型 常见的相机标定中,使用的相机多为针孔相机(Pinhole camera),也就是大家熟知的小孔成像理论.将其中涉及的坐标系之间的相互转换抽离出来,即为针孔相机模型的核心. 上图所示的 ...

  7. Camera Calibration 相机标定:原理简介(一)

    1 相机标定常见方法 广义来说,相机标定不单包括成像过程的几何关系标定,还包括辐射关系的标定,本文只探讨几何关系.相机标定是3D计算机视觉(Computer Vision)里从2D图像中提取量测信息的 ...

  8. 【VS开发】【图像处理】相机中白平衡的算法模拟实现

    相机主要技术点为3A算法. 而3A算法主要指的是自动对焦(AF).自动曝光(AE)及自动白平衡(AWB).自动白平衡:根据光源条件调整图片颜色的保真程度. 网上时常有类似招聘如下的招聘信息: ---- ...

  9. 与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频)

    原文:与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频) [索引页][源码下载] 与众不同 windows phone (22 ...

随机推荐

  1. 病毒木马查杀实战第016篇:U盘病毒之逆向分析

    比对脱壳前后的程序 我们这次所要研究的是经过上次的脱壳操作之后,所获取的无壳病毒样本.其实我们这里可以先进行一下对比,看看有壳与无壳的反汇编代码的区别.首先用IDA Pro载入原始病毒样本: 图1 可 ...

  2. POJ1789简单小生成树

    题意:       给你一些车牌号,然后另一两个车牌号之间的权值就是这两个字符串之间相同位置不同字母的个数,然后求最小生成树. 思路:       裸题,不解释了. #include<stdio ...

  3. UVA10870递推关系(矩阵乘法)

    题意:       给以个递推f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n - 3) + ... + ad f(n - d), for n > d.,给你n ...

  4. Intel汇编语言程序设计学习-第五章 过程-下

    5.3.3  库测试程序 测试程序#1:整数I/O 该测试程序把输出文本的颜色改为蓝底黄字,然后以十六进制数显示七个数组的内容,最后提示用户输入一个有符号整数,再分别以十进制.十六进制和二进制格式重复 ...

  5. Andrew Ng机器学习算法入门(九):逻辑回归

    逻辑回归 先前所讲的线性回归主要是一个预测问题,根据已知的数据去预测接下来的情况.线性回归中的房价的例子就很好地说明了这个问题. 然后在现实世界中,很多问题不是预测问题而是一个分类问题. 如邮件是否为 ...

  6. 一文详解MySQL如何同时自增自减多个字段

    本文将带大家聊一下如何同时自增自减多个字段 开始之前,先分享一套MySQL教程,小白入门或者学习巩固都可以看 MySQL基础入门-mysql教程-数据库实战(MySQL基础+MySQL高级+MySQL ...

  7. LeetCode 26. 删除有序数组中的重复项

    双指针法 分析: 设置两个指针:p1,p2,初始p1指向数组的第一个元素,p2指向第二个元素 1)如果p1的值 == p2的值,就让p2后移一位 2)如果p1的值 != p2的值,修改p1的下一个元素 ...

  8. SpringBoot+MyBatis练手项目笔记汇总

    以下是我在练习SpringBoot+MyBatis训练时候个人一些笔记汇总(可以点击跳转),献丑了,网上很多大佬的文章都比我写的详细,一些好的文章,我会将贴到各个内容中. 1. 插入数据返回id和内部 ...

  9. 使用花生壳、瑞友天翼远程访问金蝶K3

    金蝶版本号 WISE15.1 瑞友6.0系列 花生壳5 金蝶软件无法通过外网直接访问 因此需要使用瑞友天翼来实现远程访问 一般来说 金蝶服务器固定了IP地址以后 通过路由器开房两个外网端口即可实现瑞友 ...

  10. CRM系统自动化业务流程的好处

    CRM系统的自动化可以简单化企业大部分工作,而且覆盖销售,市场,服务和财务部门,使团队有大量时间花在业务流程上. CRM系统自动化的建立是为了更好地使工作更为简单且便于管理,自动化释放出来员工的时间, ...