1. AF 调优算法概述

各位同学好,我是老张。今天咱们聊聊自动对焦——也就是 AF。说实话,我在安防这个行当摸爬滚打了十几年,AF 调优这块踩过的坑,比吃过的盐还多。这一章,咱们先把基础打牢。

1.1 什么是自动对焦(AF)

自动对焦,说白了就是让摄像头自己找到最清晰的那个位置。你想想看,镜头里有个马达,马达带着镜片前后移动。移动过程中,图像从模糊变清晰,再变模糊。AF 算法要做的,就是找到那个“最清晰”的点,然后让镜片停在那里。

我习惯把 AF 分成三个步骤:

  1. 采样——马达走一步,拍一张图
  2. 评价——算算这张图有多清晰
  3. 决策——下一步往哪走,走多远

听起来简单?嗯,实际做起来,每一步都是坑。

核心概念:AF 的本质是一个搜索问题。搜索空间是镜片位置,目标函数是图像清晰度。我们要在最短时间内,找到这个函数的全局最大值。

1.2 安防场景对 AF 的特殊要求

消费级摄像头和安防摄像头,虽然都叫 AF,但要求天差地别。我举个例子你就明白了。

你拿手机拍照,对焦慢个半秒,顶多骂一句“这破手机”。但安防摄像头呢?

  • 场景一:周界防范。有人翻墙,镜头必须瞬间锁定目标。慢了,人就跑了。
  • 场景二:车牌识别。车从远处开过来,镜头要快速变焦、对焦。对不准,车牌就是一团糊。
  • 场景三:低照度。晚上光线暗,图像本来就噪点多。AF 算法要是再不给力,画面直接没法看。

我把安防场景的特殊要求总结成了一张表:

维度 消费级 安防级
对焦速度 1-2 秒可接受 < 0.5 秒,甚至 < 0.2 秒
低照度性能 一般 必须优秀,信噪比低时仍能工作
可靠性 偶尔失败无所谓 7×24 小时,不能掉链子
场景复杂度 单一主体 多目标、遮挡、快速运动
功耗限制 较宽松 严格,尤其球机电池供电场景

你看,安防场景对 AF 的要求,几乎是全方位的碾压。

避坑指南:我曾经在一个项目中,直接把消费级的 AF 算法移植到安防摄像头上。结果呢?晚上对焦来回震荡,根本停不下来。后来花了整整两周,才把低照度下的搜索策略调好。所以,千万别偷懒,安防场景必须单独调优。

1.3 AF 调优的核心目标

AF 调优,到底在调什么?我个人认为,核心目标就三个字:快、准、稳。

1.3.1 快——速度优先

安防场景里,时间就是一切。我见过一个极端案例:某工厂的周界系统,要求从目标出现到对焦完成,不能超过 200 毫秒。这意味着什么?

  • 马达驱动延迟:约 20-50ms
  • 图像采集延迟:约 30-50ms(取决于帧率)
  • 清晰度计算延迟:约 10-30ms
  • 留给搜索决策的时间:不到 100ms

所以,调优的第一步,就是压缩每个环节的时间。

1.3.2 准——精度为王

光快没用,对不准等于白搭。安防场景里,对焦精度通常用“峰值位置偏差”来衡量。我一般要求偏差不超过 1 个马达步长。

但这里有个矛盾:步长越小,精度越高,但搜索时间越长。怎么平衡?

我的经验:采用粗搜+精搜的两阶段策略。粗搜用大步长快速定位大致区域,精搜用小步长精确找到峰值。这样既保证了速度,又保证了精度。

1.3.3 稳——拒绝震荡

这是最容易被忽视的一点。有些算法在实验室里跑得好好的,一上现场就开始“抽风”——镜头来回震荡,画面忽明忽暗。

为什么会这样?

  • 场景中有周期性纹理(比如栅栏、百叶窗)
  • 目标快速移动,导致清晰度曲线出现多个峰值
  • 噪声干扰,让算法误判了方向

解决震荡,我常用的手段包括:

  1. 滞回比较——不要一看到下降就回头,等下降超过阈值再动
  2. 滤波平滑——对清晰度曲线做低通滤波,去掉毛刺
  3. 死区设置——在峰值附近设置一个不敏感区域,避免微调

下面这张图,展示了 AF 调优的核心逻辑:

AF 调优核心目标与实现路径 快(速度) 准(精度) 稳(鲁棒) 搜索步长 vs 时间 峰值定位偏差 震荡与误判 粗搜 + 精搜 提前终止策略 亚步长插值 多帧融合评价 滞回比较 + 死区 清晰度曲线滤波 最终目标:快速、精准、稳定的自动对焦 满足 7×24 小时安防场景需求 三者缺一不可 需要联合调优

你看,这三个目标不是孤立的。速度快了,精度可能下降;精度高了,稳定性可能变差。调优的本质,就是在三者之间找到最佳平衡点。

调优原则:先保证稳,再追求快,最后抠精度。不稳的算法,再快再准也是废的。这是我用无数次失败换来的教训。

1.4 本章小结

这一章,我们聊了三个问题:

  • AF 是什么——一个搜索清晰度峰值的优化问题
  • 安防场景有什么特殊要求——快、准、稳,缺一不可
  • 调优的核心目标是什么——在速度、精度、鲁棒性之间找平衡