1. 自动对焦概述:AF 基本原理
自动对焦,说白了就是让镜头自己找到最清晰的那个位置。我刚开始做摄像头驱动时,觉得 AF 不就是来回跑几步嘛,后来才发现——这里面的坑,一个比一个深。
咱们先理清楚一个核心问题:什么叫“对上焦”?
从光学角度讲,就是被摄物体通过镜头后,成像面刚好落在传感器感光面上。差一点点,画面就糊了。这个“刚好落在”的位置,就是我们要找的焦点。
核心指标:对焦精度通常用 DOF(景深)的几分之一来衡量。手机模组一般要求 1/2 DOF,高端安防或工业相机能做到 1/4 DOF。
1.1 对比度检测 AF(CDAF)
这是最“老派”的方法,也是我最早接触的 AF 方式。它的原理很简单:找图像最“锐”的那个位置。
怎么判断锐不锐?算对比度。图像越清晰,相邻像素之间的亮度差越大,对比度值就越高。镜头从近到远扫一遍,对比度值最高的那个点,就是焦点。
我当年在调试一款 8MP 安防相机时,就遇到过一个问题:场景里全是白墙,对比度几乎为零,镜头来回跑了三趟都找不到焦点。嗯,这就是 CDAF 的典型痛点——对低纹理场景束手无策。
| 项目 | 说明 |
|---|---|
| 原理 | 通过图像处理计算对比度,寻找峰值 |
| 优点 | 算法简单、成本低、精度高(静态场景) |
| 缺点 | 需要反复扫描、速度慢、低纹理场景失效 |
| 典型应用 | 低端手机、USB 摄像头、部分 IPC |
我的调试习惯:CDAF 的搜索步长很关键。步长太大容易跳过峰值,步长太小又太慢。我一般先用大步长粗扫,再用小步长精搜——类似二分查找的思路。
1.2 相位检测 AF(PDAF)
PDAF 的出现,算是解决了 CDAF 的“慢”问题。它不靠图像内容,而是靠光路相位差来判断焦点方向。
原理是这样的:在传感器上放一些特殊的像素对(左像素和右像素),它们分别接收从镜头左右两侧过来的光线。如果对焦准确,左右像素的信号一致;如果靠前或靠后,信号就会出现相位差。根据这个差值,镜头可以一步到位。
我第一次调 PDAF 是在一颗 48MP 的 sensor 上,当时被那些掩蔽像素(masked pixel)的校准搞得很头疼。每个 PDAF 像素的灵敏度都不一样,不做校准的话,算出来的相位差全是偏的。
注意:PDAF 像素会牺牲一部分成像质量。它们被遮挡了一半,所以感光能力弱,后期需要做增益补偿。补偿不对,就会出现“黑点”或“亮度不均”。
| 项目 | 说明 |
|---|---|
| 原理 | 通过左右像素对的相位差计算离焦方向和距离 |
| 优点 | 速度快、一次到位、适合运动场景 |
| 缺点 | 需要特殊像素结构、低光下精度下降、成本高 |
| 典型应用 | 中高端手机、旗舰安防相机 |
1.3 激光 / ToF 辅助 AF
这个就更有意思了。它不依赖图像,而是直接测距离。
激光 AF 发射一束红外激光,打到物体上反射回来,通过飞行时间(ToF)算出距离。镜头直接转到对应的位置就行。你想想看,这相当于给相机装了一把“尺子”。
我曾经在一个扫地机器人项目上用过 ToF 模组,用来做避障和辅助对焦。当时最头疼的是多径干扰——激光打到玻璃上,反射路径变复杂,测出来的距离忽远忽近。后来加了算法滤波才稳住。
| 项目 | 说明 |
|---|---|
| 原理 | 发射激光/红外光,测量飞行时间计算距离 |
| 优点 | 不受纹理影响、暗光下也能用、速度快 |
| 缺点 | 测距范围有限、易受反射面干扰、成本较高 |
| 典型应用 | 旗舰手机、扫地机器人、AR/VR 设备 |
实际项目中的组合策略:现在很少有设备只用一种 AF 方式。我常用的方案是:PDAF 做粗定位 + CDAF 做精调 + ToF 做低光辅助。三种互补,才能在各种场景下都稳得住。
1.4 三种 AF 方式对比总览
为了方便你快速查阅,我把三种方式的核心差异整理成了一张表:
| 维度 | CDAF | PDAF | 激光/ToF |
|---|---|---|---|
| 速度 | 慢(需扫描) | 快(一步到位) | 非常快 |
| 精度 | 高(静态) | 中高 | 中(受距离限制) |
| 低光表现 | 差 | 中 | 好 |
| 低纹理表现 | 差 | 好 | 好 |
| 硬件成本 | 低 | 中 | 高 |
| 功耗 | 中 | 低 | 中高 |
1.5 AF 系统知识结构图
下面这张图帮你理清本章的知识脉络:
一点个人体会:别想着用一种 AF 打天下。我见过不少方案,为了省成本只用 CDAF,结果在暗光或运动场景下用户体验极差。该加 PDAF 就加,该上 ToF 就上——对焦体验,往往是用户对相机第一印象的关键。