3. AF 自动对焦:对比度对焦与相位对焦的原理、对焦窗口选择策略

自动对焦(AF)是 ISP 流水线里最“显眼”的模块之一。用户按下快门前,系统得在几十毫秒内把镜头推到合焦位置。我这些年调过不少 sensor,说实话,AF 调好了,照片的“锐利感”就稳了一半。

AF 的核心就一句话:找到镜头移动过程中,图像最清晰的那个位置。但怎么定义“清晰”,怎么快速找到它,这里头门道不少。

3.1 对比度对焦(CDAF)

对比度对焦,也叫反差对焦。它的原理很直观:图像越清晰,相邻像素之间的亮度差异(对比度)就越大。

你想想看,一张完全模糊的照片,所有像素都糊在一起,灰度值差不多。一旦对上焦,边缘就出来了,亮暗分明。CDAF 就是利用这个特性。

3.1.1 工作原理

CDAF 的工作流程是一个“搜索-评价-驱动”的闭环:

  1. 移动镜头:马达驱动镜头,从近端向远端(或反向)步进移动。
  2. 抓取图像:在每个步进位置,抓取一帧图像(或 ROI 区域)。
  3. 计算评价值:用评价函数计算当前图像的清晰度,得到一个数值(Focus Value, FV)。
  4. 寻找峰值:继续移动,直到 FV 开始下降,说明已经越过了峰值。
  5. 回退合焦:将镜头退回到 FV 最大的位置。

核心评价函数:我常用的有 Tenengrad 函数(基于 Sobel 梯度)和 Laplacian 函数(基于二阶微分)。它们本质上都是在计算图像的高频分量。高频越多,图像越锐利。

3.1.2 优缺点

特性 说明
优点 算法简单,硬件实现容易;精度高,理论上可以做到像素级合焦;对 sensor 无特殊要求。
缺点 速度慢,需要“爬山”搜索,容易陷入局部极值;对低对比度场景(如白墙)失效;不适合拍摄运动物体。

我曾经踩过的坑:在夜景低照度下,CDAF 的评价值曲线会变得非常平坦,峰值不明显。马达来回扫半天也找不到准确定位,最后合焦失败。后来我加了一个“置信度判断”,当 FV 曲线斜率低于阈值时,直接切换到 PD 对焦或固定到超焦距位置。

3.2 相位对焦(PDAF)

相位对焦,说白了就是“测距”。它不靠图像内容,而是通过检测光线通过镜头不同区域后的相位差,直接计算出镜头应该移动的方向和距离。

3.2.1 工作原理

PDAF 需要在 sensor 上集成特殊的相位检测像素(PD Pixel)。这些像素被遮挡了一半的光路(左半或右半),形成一对“左视”和“右视”像素。

  • 合焦时:左右像素接收到的光强一致,信号波形重合。
  • 前焦(镜头靠前):左右像素信号出现偏移,相位差为正。
  • 后焦(镜头靠后):相位差为负。

通过计算这个相位差的大小和方向,系统可以一步到位地告诉马达:“往回调 X 微米”。

我个人习惯:在 PDAF 的校准阶段,一定要做镜头位置的线性化标定。不同焦段下,相位差与镜头位移的映射关系不是完全线性的。不做标定,长焦端容易对焦不准。

3.2.2 优缺点

特性 说明
优点 速度快,一次计算即可得到方向与距离;对低对比度场景鲁棒;适合追焦和连拍。
缺点 需要专用 PD 像素,增加 sensor 成本;PD 像素会牺牲部分成像质量(坏点校正);精度受限于像素间距,不如 CDAF 精细。

3.3 对焦窗口选择策略

不管用哪种对焦方式,你都得告诉 ISP:“你只算这个区域里的清晰度”。这个区域就是对焦窗口(Focus Window / ROI)。

窗口选得好,对焦又快又准。选得不好,背景比前景清晰,系统就对焦到背景上去了。

3.3.1 常见策略

  • 中心权重:默认把窗口放在画面中央。最简单,但构图偏移时容易失焦。
  • 人脸/人眼优先:检测到人脸后,窗口自动锁定到人脸区域。这是目前手机的主流策略。
  • 多窗口融合:在画面中设置多个子窗口(如 3x3 网格),分别计算 FV,取最大值或加权平均。
  • 触控对焦:用户点击屏幕,窗口直接移动到点击位置。

我建议:在混合对焦系统中,CDAF 和 PDAF 的窗口可以不同。PDAF 窗口可以大一些(覆盖更多 PD 像素),用于快速粗调;CDAF 窗口可以小一些(聚焦主体),用于精细微调。

3.3.2 窗口大小与形状

参数 建议 原因
窗口大小 画面总面积的 10% ~ 25% 太小容易受噪声影响,太大容易包含不同景深物体。
窗口形状 矩形或椭圆形 矩形便于硬件加速;椭圆形更贴合人眼/人脸区域。
边缘权重 中心高、边缘低 减少窗口边缘物体切换带来的 FV 抖动。

3.4 CDAF 与 PDAF 的协同

现在的 ISP 很少只用一种对焦方式。主流方案是混合对焦(Hybrid AF):

  1. 启动阶段:PDAF 快速计算相位差,驱动镜头到大致合焦位置。
  2. 精调阶段:切换到 CDAF,在小范围内做精细搜索,找到峰值。
  3. 跟踪阶段:如果检测到物体移动,PDAF 持续输出相位差,CDAF 做校验。

嗯,这里要注意:切换时机很关键。如果 PDAF 粗调后直接交给 CDAF,但 CDAF 的搜索步长太大,可能会越过峰值。我一般会在 PDAF 到位后,把 CDAF 的搜索范围限制在 ±5 步以内,步长设为最小单位。

3.5 本章知识体系

下面这张图总结了 CDAF 与 PDAF 的核心差异,以及它们在对焦窗口策略下的协同关系。

AF 自动对焦知识体系 AF 自动对焦:CDAF vs PDAF 协同 对比度对焦 (CDAF) 原理:计算图像高频分量 评价函数:Tenengrad / Laplacian 特点:精度高,速度慢 适用:静态场景、精细合焦 相位对焦 (PDAF) 原理:检测 PD 像素相位差 计算:一步到位,方向+距离 特点:速度快,需专用像素 适用:运动追焦、低对比度 对焦窗口选择策略 中心权重 | 人脸优先 | 多窗口融合 | 触控 窗口大小:10%~25% 画面面积 形状:矩形 / 椭圆形,边缘权重递减 混合对焦:PDAF 粗调 → CDAF 精调

总结一下:CDAF 是“精雕细琢”,PDAF 是“快刀斩乱麻”。对焦窗口就是它们的“视野范围”。选对窗口,用好协同,你的 AF 系统才能又快又准。