自动对焦并不是一次“判断清不清晰”,而是一套闭环系统:先决定画面里谁应该清晰,再估计当前离焦状态,驱动镜组移动,最后用新一帧图像确认结果。拍照时它要尽快锁定,录像时还要在主体运动、遮挡和构图变化中保持稳定。
AF 系统在解决哪四件事
一套完整 AF 可以拆成四层:
- 目标选择:人脸、眼睛、触控点或中央区域,谁拥有对焦优先级;
- 焦点观测:用 CDAF 清晰度分数、PDAF 相位差或深度信息估计离焦;
- 镜组控制:把观测换成位置、方向、速度和制动命令;
- 时序决策:在锁定、搜索、跟踪、丢失和重捕获状态之间切换。
四层必须协作。测量再准确,如果 ROI 选错,镜头只会非常可靠地对错地方;马达再快,如果缺少减速和回差补偿,也会越过焦点来回振荡。
ROI 决定“清晰”属于谁
同一画面通常存在多个物距。前景人物和远处背景分别对应不同的最佳镜组位置,全画面平均分数容易被纹理丰富的背景支配。
对焦框选错,算法会清晰地对错地方
前景主体与背景各自拥有清晰度峰值;ROI 权重决定哪一个峰值主导搜索。
主体 ROI背景 ROICC0 实拍样片这张大光圈样片本身具有浅景深。滑杆模拟镜组位置,预览模糊量由选中 ROI 的教学分数驱动;真实离焦卷积不会是均匀 CSS blur。
中央对焦、触控对焦和眼部追踪的差别,首先在于它们怎样产生 ROI、权重和主体身份。主体暂时被遮挡时,系统还要决定保持原距离、扩大搜索区域,还是切换到新目标。
把多个区域合成一个焦点评价值
设第 个小区域的清晰度统计为 ,目标选择层给出的权重为 ,最简单的 ROI 评价值可以写成:
眼睛区域可以获得较大权重,背景和不可信区域获得较小权重。这里的 只是把“该对谁”交给控制层的接口; 可以来自 CDAF、PDAF 置信度或二者融合,并不限定具体焦点评价算子。
下面的独立 NumPy 示例构造了人物与背景各自的焦点评价曲线。改变人物权重后,综合分数的峰值会从纹理更强的背景转向人物:
import numpy as np
position = np.linspace(0.0, 1.0, 101) # 归一化镜组位置person = 0.75 * np.exp(-0.5 * ((position - 0.32) / 0.08) ** 2)background = 1.00 * np.exp(-0.5 * ((position - 0.78) / 0.10) ** 2)
def roi_score(person_weight: float) -> np.ndarray: weights = np.array([person_weight, 1.0 - person_weight]) scores = np.stack([person, background]) return np.average(scores, axis=0, weights=weights)
for weight in (0.25, 0.85): score = roi_score(weight) best = position[np.argmax(score)] print(f"人物权重={weight:.2f}, 最佳镜组位置={best:.2f}")这与上面的互动实验使用同一种教学模型:每个物距被简化为一条平滑单峰曲线。真实画面会受到纹理方向、噪声、运动、遮挡与多个局部峰影响,不能仅凭这个高斯模型预测真实镜头位置。
观测、控制和确认组成闭环
CDAF 从最终图像统计清晰度,适合确认峰值,但单次测量通常不给出移动方向。PDAF 通过成对子像的相位差估计焦前或焦后,能快速给出初始方向和离焦量,却依赖相位像素、标定和有效纹理。实际系统常让 PDAF 快速接近,再由 CDAF 或相位残差确认。
得到离焦估计后,控制器还要把它换成镜组命令。镜头的命令位置不等于实际位置:摩擦、回差、温度、重力方向和机械惯性都会改变响应。AF 因而必须观察移动后的新帧,而不是把一次马达命令当作完成。
把镜组位置记为 ,观测层给出的带符号离焦量记为 ,最简闭环更新可以写成:
是观测置信度,增益 在高置信度时允许较大动作,在低置信度时缩小动作或直接保持。量产系统还会加入镜组动力学、回差补偿、稳定等待和状态机;这个式子只用来说明“观测—动作—新观测”的反馈关系。
拍照 AF 与视频 AF 的目标不同
单次 AF 更关心锁焦延迟和成功率,可以容忍较明显的快速移动。连续 AF 更关心观感:
- 主体小幅运动时不过度追随测量噪声;
- 路人短暂穿过时不立刻切换焦点;
- 确认主体持续运动后再平滑加速;
- 主体丢失时保留距离预测,并限制大范围拉风箱;
- 变焦或构图变化后,以可控速度重新捕获。
这就是为什么视频 AF 往往看起来比静态 AF 慢:它优化的是稳定、平滑和叙事意图,不只是最短到达时间。
AF 与 AE、ISP 的耦合
曝光不足会让相位和清晰度统计淹没在噪声里;曝光时间过长又会把运动模糊伪装成离焦。降噪和锐化若在搜索过程中剧烈变化,也会破坏跨帧分数的一致性。因此 3A 需要共享状态:AE 在关键搜索阶段限制亮度跳变,AF 向 AE 提供锁定或运动信息,ISP 则保证统计链路尽量稳定。
工程验收关注什么
- 近、中、远多个物距与镜组全行程;
- 人脸进出、遮挡、多主体竞争和低纹理目标;
- 低照、逆光、闪烁光源与快速运动;
- 不同纹理方向下的 PDAF 置信度;
- 镜组回差、温度、姿态与重复定位误差;
- 视频中的焦点呼吸、切换延迟和稳定性;
- 信息不足时能否降低置信度并安全回退。
AF 的核心不是“找最清晰的一帧”,而是持续回答三个问题:该对谁、该往哪走、什么时候应该停下或等待。后续两篇将分别展开 CDAF/PDAF 的观测原理,以及搜索、马达控制与连续追焦策略。