AF算法详解:反差对焦、相位对焦、激光对焦与混合策略

自动对焦(AF)是相机体验的基石。用户按下快门前那零点几秒的犹豫,往往就决定了一张照片的成败。我这些年调试过的AF算法不下十几种,从最早的功能机到现在的旗舰机,每种方案都有它的脾气。今天咱们就把四种主流AF算法掰开揉碎了讲清楚。

反差对焦(CDAF)——最朴素的“爬山”算法

反差对焦的原理其实特别简单。说白了,就是镜头来回移动,找到画面中边缘最锐利、对比度最高的那个位置。

它的核心逻辑是这样的:

  • 镜头从近到远移动,同时计算每一帧图像的对比度值
  • 对比度值会形成一个“山峰”,峰值点就是最佳对焦位置
  • 算法通过“爬山法”找到这个峰值

关键指标:对比度值通常用Sobel算子或Laplacian算子计算。值越大,说明边缘越清晰。

我在项目中遇到过一个问题:当场景是纯色墙壁或者天空时,对比度曲线几乎是一条平线。这时候CDAF就会“迷路”,来回拉风箱。嗯,这就是它最大的痛点——对低纹理场景极度不友好

避坑指南:我曾经调试过一款室内监控摄像头,用户投诉晚上对焦不准。后来发现是红外补光下纹理丢失严重。解决方案是强制切换到PDAF模式,或者增加辅助光源。

CDAF的优点也很明显:

  • 算法简单,不需要额外硬件
  • 精度高,理论上可以做到像素级对焦
  • 成本低,适合入门级设备

但缺点同样致命:

  • 速度慢,需要来回扫描
  • 无法判断方向,经常“过冲”再回调
  • 低光照下对比度不足,容易失败

相位对焦(PDAF)——让像素“看”出距离

相位对焦的出现,算是解决了CDAF最大的痛点——速度。它的原理有点像人眼:通过左右两个“视角”的差异,直接算出镜头该往哪个方向移动多少距离。

PDAF在传感器上埋了专门的相位检测像素。这些像素被遮掉一半,只接收左边或右边的光线。当画面合焦时,左右像素的信号一致;当失焦时,信号会出现相位差。

核心公式:相位差 = 左像素值 - 右像素值。这个差值直接映射到镜头需要移动的步数。

你想想看,CDAF需要来回走一遍才能找到位置,PDAF只需要一次计算就知道方向。这就是为什么现在的旗舰机对焦那么快。

我调试过一款采用2x2 OCL(On-Chip Lens)结构的传感器。这种方案把四个像素共享一个微透镜,既能做相位检测,又能正常成像。但有个坑——像素串扰。左右像素的信号会互相干扰,导致相位差计算不准。

注意事项:PDAF在暗光下性能会急剧下降。因为相位检测像素的感光面积只有正常像素的一半,信噪比天然就差。我建议在低于50 lux的场景下,主动切换到CDAF或激光辅助。

PDAF的优缺点总结:

  • 优点:速度快,一次计算到位;能判断方向;适合运动场景
  • 缺点:需要专用像素,牺牲成像质量;暗光性能差;成本高

激光对焦(TOF)——用光速丈量距离

激光对焦的原理,说白了就是发射一束红外光,然后测量它反射回来的时间。光速是固定的,时间差直接换算成距离。

TOF对焦有个天然优势——它不依赖图像内容。不管你是拍白墙还是拍星空,激光测距的结果都一样稳定。这在暗光环境下简直是救命稻草。

我记得有一次调试一款旗舰机,用户反馈在极暗环境下对焦慢。我们检查了PDAF和CDAF的表现,确实都不理想。后来启用了TOF辅助,对焦时间从800ms降到了150ms。效果立竿见影。

实用技巧:TOF的有效距离一般在0.1m到5m之间。超过5m,反射信号太弱,误差会急剧增大。所以拍远景时,还是要靠PDAF或CDAF。

TOF的局限性也很明显:

  • 只能测单点距离,无法覆盖整个画面
  • 受环境光干扰,强阳光下性能下降
  • 对透明物体(玻璃、水面)无效
  • 需要额外硬件,增加成本和功耗

混合对焦策略——取长补短的智慧

单一算法都有短板。真正的旗舰机,靠的是混合对焦策略。说白了,就是根据场景动态切换或融合多种算法。

我常用的混合策略是这样的:

场景 主算法 辅助算法 说明
明亮场景(>100 lux) PDAF CDAF PDAF快速粗调,CDAF精调
暗光场景(<50 lux) TOF CDAF TOF提供距离,CDAF微调
低纹理场景 TOF PDAF TOF做主,PDAF辅助
运动场景 PDAF TOF PDAF连续跟踪,TOF防丢

这里有个关键点——融合权重。不是简单地说“用哪个算法”,而是根据置信度动态分配权重。比如PDAF的置信度是0.8,TOF是0.6,那最终结果就是0.8×PDAF + 0.6×TOF。

我的经验:混合对焦最难的其实是“切换时机”。切换太频繁,用户会感觉到对焦抖动;切换太慢,又跟不上场景变化。我一般会加一个“滞回区间”,比如从PDAF切到TOF时,要连续3帧都满足条件才切换。

下面这张图展示了混合对焦的决策流程:

混合对焦策略决策流程 场景输入 场景分类(亮度/纹理/运动) 明亮场景 PDAF + CDAF 暗光场景 TOF + CDAF 低纹理场景 TOF + PDAF 置信度加权融合 最终对焦位置

实际工程中,混合对焦还要考虑功耗。PDAF和TOF都需要额外硬件工作,不能一直开着。我一般会设置一个“对焦完成”的阈值,一旦合焦就关闭辅助算法,只保留CDAF做微调。

重要提醒:混合对焦不是算法越多越好。每增加一种算法,就多一份调试工作。我见过一个项目同时用了PDAF、CDAF、TOF和激光雷达,结果四种算法互相打架,对焦反而更慢。精简才是王道。

最后说一句,AF算法的选择没有银弹。低端机用CDAF就够了,中端机加PDAF,旗舰机才上混合对焦。关键是要理解每种算法的物理限制,然后根据产品定位做取舍。

嗯,关于AF算法就先聊到这里。这些经验都是我在项目里一点点踩坑踩出来的,希望能帮你少走些弯路。


公众号:蓝海资料掘金营,微信 deep3321