1. AF系统概述:自动对焦的定义、发展历程、主流技术路线对比

1.1 什么是自动对焦?

自动对焦,英文叫 Auto Focus,简称 AF。说白了,就是相机自己帮你把画面调清楚,不用你手动去拧镜头上的对焦环。

我经常跟刚入行的工程师讲:自动对焦的本质,是一个闭环控制系统。它通过某种方式检测当前画面的清晰度,然后驱动镜头马达,让镜头移动到最清晰的位置。整个过程不需要人工干预。

你想想看,如果没有自动对焦,拍一张照片得先眯着眼看取景器,再慢慢拧对焦环,等确认清楚了再按快门。这在抓拍运动物体或者拍视频的时候,基本没法用。所以自动对焦的出现,可以说是相机从「专业工具」走向「大众消费品」的关键一步。

核心定义:自动对焦系统 = 对焦检测模块 + 控制算法 + 驱动执行机构。三者缺一不可。

1.2 发展历程:从手动到智能

自动对焦的发展,我把它分成四个阶段。每个阶段我都踩过坑,后面慢慢跟你聊。

阶段 时间 代表技术 我的评价
萌芽期 1960s-1970s 测距仪、超声波 笨重,但开了个好头
成熟期 1980s-1990s 反差对焦(CDAF) 数码相机时代的标配
爆发期 2000s-2010s 相位对焦(PDAF) 单反和手机都离不开它
融合期 2010s至今 混合对焦、AI对焦 又快又准,但算法越来越复杂

我记得最早接触自动对焦,是在大学实验室里拆一台老式胶片相机。里面那个超声波马达,又大又沉,驱动起来嗡嗡响。当时我就想,这东西要是能塞进手机里,那得多牛。结果十几年后,手机上的对焦模组比指甲盖还小,精度却高了一个数量级。

1.3 主流技术路线对比

目前市面上主流的自动对焦技术,主要有三种:反差对焦、相位对焦、激光对焦。每种技术都有自己的脾气,我一个个说。

1.3.1 反差对焦(CDAF)

反差对焦的原理很简单:画面越清晰,相邻像素之间的亮度差异越大。系统会驱动镜头从一端走到另一端,边走边计算画面的「对比度值」,找到对比度最高的那个位置,就是最清晰的位置。

嗯,这里要注意:反差对焦是个「搜索」过程,不是「计算」过程。它不知道目标位置在哪,只能靠试。所以它的特点是:

  • 优点:结构简单,成本低,不需要额外的传感器。在静态场景下精度很高。
  • 缺点:慢!因为它需要来回搜索。而且遇到低对比度的场景(比如拍白墙),容易拉风箱。
我的经验:我在做一款工业相机项目时,用过纯反差对焦。拍静止的电路板没问题,但一换成流水线上的移动工件,就完全跟不上。后来我加了个预判算法,才勉强能用。说白了,反差对焦适合「慢工出细活」的场景。

1.3.2 相位对焦(PDAF)

相位对焦就聪明多了。它通过镜头两侧的相位检测像素,直接计算出当前焦点偏离了多少、往哪个方向偏。一次计算就能知道镜头该往哪走,不需要来回搜索。

我曾经在手机模组厂调试 PDAF 时,遇到过一个问题:相位检测像素会牺牲一部分成像质量,因为那些像素不参与正常成像。后来通过算法补偿,才把画质损失降到最低。

  • 优点:速度快!一次计算到位,适合拍运动物体和视频。
  • 缺点:需要额外的硬件支持(相位检测像素),成本高。而且在暗光环境下,相位检测的精度会下降。
避坑指南:我曾经在低照度环境下测试 PDAF,发现对焦总是偏一点点。后来排查发现,是相位检测像素的灵敏度不够,导致计算出的偏移量有误差。解决方案是:在暗光下切换到反差对焦做精细微调。这就是混合对焦的雏形。

1.3.3 激光对焦

激光对焦,说白了就是「用激光测距」。它发射一束红外激光,打到目标上反射回来,通过飞行时间(ToF)计算出距离,然后直接驱动镜头到对应位置。

你想想看,这玩意儿在暗光下特别好使。因为激光不受环境光影响,黑灯瞎火也能对焦。但它的局限性也很明显:

  • 优点:暗光对焦快,精度高。适合拍近距离物体。
  • 缺点:有效距离短(一般不超过5米)。遇到透明物体(比如玻璃),激光直接穿透,测距失败。

我记得有一次做扫地机器人的避障模块,用的就是激光 ToF 传感器。当时测试发现,对着黑色地毯测距误差很大,因为黑色吸光了。后来调整了激光功率和接收增益,才搞定。

1.4 三种技术路线对比总结

对比项 反差对焦 相位对焦 激光对焦
对焦速度 慢(搜索式) 快(计算式) 非常快(测距式)
精度 高(静态场景) 中高(受光照影响) 高(近距离)
暗光表现
硬件成本 中高
适用场景 静态拍摄、微距 运动物体、视频 暗光、近距离

1.5 知识体系框架图

下面这张图,是我自己梳理的自动对焦知识体系。你可以把它当作整个课程的地图。

自动对焦系统知识体系 对焦检测模块 控制算法模块 驱动执行机构 反差对焦 相位对焦 搜索算法 预测算法 步进马达 激光对焦 混合对焦 PID控制 模糊控制 音圈马达 核心目标:在最短时间内,将镜头驱动到最清晰位置 兼顾速度、精度、功耗、成本四大指标

1.6 我的建议

如果你是刚接触自动对焦,我建议你先从反差对焦入手。为什么?因为它原理简单,代码量少,你能快速跑通一个完整的对焦流程。等你理解了「搜索-评价-驱动」这个闭环,再去看相位对焦和激光对焦,会轻松很多。

我在带新人时,经常让他们先写一个反差对焦的 demo,用 USB 摄像头对着打印的测试卡跑。一般两天就能跑通。然后我会让他们加一个「峰值检测」功能,把对焦过程的对比度曲线画出来。这一步做完,基本上对自动对焦的底层逻辑就心里有数了。

嗯,今天就先聊到这儿。下一章我们深入讲讲反差对焦的算法细节,包括那个经典的「爬山算法」到底怎么实现,以及我当年踩过的那些坑。


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