3、AF算法核心指标:对焦速度、对焦精度、对焦稳定性、重复性、低照度性能、HDR场景适应性
做AF调优这些年,我最大的感受是:没有完美的对焦算法,只有最适合场景的妥协。你不可能让一个算法在所有指标上都拿满分,就像你不能让一辆赛车同时拥有越野车的通过性。
今天我们就来拆解AF算法的六大核心指标。这些指标,说白了就是衡量一个对焦系统好不好的尺子。我习惯把它们分成两类:性能类(速度、精度、稳定性)和场景类(重复性、低照度、HDR)。
核心观点:AF调优的本质,就是在六个指标之间找平衡。你优化了速度,精度可能下降;你提升了低照度性能,HDR场景可能翻车。没有银弹,只有trade-off。
3.1 对焦速度:用户感知的第一道门槛
对焦速度,就是镜头从当前位置移动到目标位置所用的时间。用户按下快门,如果等半秒才合焦,体验直接归零。我见过太多项目,算法精度做得极高,但速度慢得像蜗牛,最后被用户骂成筛子。
影响速度的因素有三个:
- 搜索策略:全局搜索还是局部搜索?爬山法还是二分法?
- 步长设计:大步长跑得快,但容易过冲;小步长精度高,但慢。
- 马达响应:VCM马达和步进马达的响应延迟不同,算法要适配。
我的经验:速度优化的核心是「粗调+微调」两段式。先用大步长快速逼近目标区域,再切换小步长做精细定位。我在一个项目中把速度从800ms压到350ms,就是靠这个思路。
3.2 对焦精度:合焦的「准」到底怎么定义?
精度,说白了就是镜头停在的位置到底离真正的合焦面有多远。我们通常用MTF(调制传递函数)或者对比度值来量化。
精度不是越高越好。你想想看,如果要求精度达到1个码盘步长,马达可能来回振荡都停不下来。我一般建议:
- 拍照场景:精度控制在3-5个步长内,人眼基本看不出差异
- 视频场景:精度可以放宽到5-8个步长,但稳定性要求更高
注意:精度和速度是死对头。你每提升一档精度,可能要多花几十毫秒。调优时一定要看产品定义——扫码枪和单反相机的精度要求完全不同。
3.3 对焦稳定性:别让画面「呼吸」
稳定性,就是镜头到达目标位置后,能不能稳稳停住,不来回抖动。这个问题在视频对焦中尤其致命——画面一抽一抽的,用户直接晕菜。
为什么会抖动?原因有两个:
- 过冲回摆:镜头冲过头了,又往回找,来回几次才稳定
- 噪声干扰:评价函数在合焦附近太平坦,算法找不到明确峰值
我处理过一个案例:某款手机在暗光下视频对焦,画面一直「呼吸」。查了两天,发现是评价函数的窗口太小,噪声被放大了。把窗口扩大30%,问题解决。
3.4 重复性:同一个场景,对焦结果一样吗?
重复性,就是多次对焦同一目标,镜头停的位置是否一致。这个指标很容易被忽视,但用户感知很强——拍十张照片,九张清楚一张模糊,用户会骂「什么破相机」。
重复性差的原因:
- 马达的机械回差(backlash)
- 评价函数的随机噪声
- 搜索起始位置不同导致收敛到不同局部极值
| 指标 | 优秀 | 及格 | 不合格 |
|---|---|---|---|
| 重复性(步长) | ≤2 | ≤5 | >5 |
| 测试方法 | 同一场景对焦20次 | 同一场景对焦10次 | — |
避坑指南:我曾经在一个项目中,重复性怎么都调不好。后来发现是马达驱动芯片的初始化顺序有问题,每次上电后马达位置偏移了几个步长。硬件问题,软件背锅。
3.5 低照度性能:暗光下的「盲人摸象」
低照度下,传感器信噪比急剧下降,评价函数变得「毛刺」很多。说白了,就是算法看不清目标了。
我常用的优化手段:
- 增大评价窗口:更多的像素参与计算,平滑噪声
- 降低搜索步长阈值:避免被噪声误导
- 增加帧累积:多帧平均,提升信噪比
但要注意,帧累积会降低速度。暗光下我一般把帧累积数设为2-3帧,再多用户就感觉卡顿了。
3.6 HDR场景适应性:高动态范围的「两难」
HDR场景,就是画面中同时有极亮和极暗的区域。比如逆光人像,人脸暗、背景亮。这时候评价函数会出问题——亮部对比度高,暗部对比度低,算法容易被亮部「带偏」。
我的做法是:
- 分区评价:把画面分成多个区域,分别计算对比度
- 权重分配:中心区域权重高,边缘权重低
- 动态窗口:根据场景亮度分布,自动调整评价窗口位置
关键点:HDR场景下,不要迷信全局对比度最大值。用户要的是主体清晰,不是背景清晰。我习惯把评价窗口锁定在画面中心区域,或者结合人脸检测做动态跟踪。
3.7 指标间的权衡:一张表说清楚
| 优化方向 | 速度 | 精度 | 稳定性 | 重复性 | 低照度 | HDR |
|---|---|---|---|---|---|---|
| 增大步长 | ↑ | ↓ | ↓ | — | ↓ | ↓ |
| 增加帧累积 | ↓ | ↑ | ↑ | ↑ | ↑ | — |
| 扩大评价窗口 | ↓ | ↑ | ↑ | ↑ | ↑ | ↓ |
| 增加滞回区 | ↓ | — | ↑ | ↑ | ↑ | — |
这张表是我自己总结的。你看,没有一个操作能让所有指标都变好。调优就是做选择题——根据产品定位,选你最看重的两三个指标,其他的能及格就行。
最后提醒:指标是死的,场景是活的。同一个算法,在室内灯光下可能满分,拿到户外逆光下就翻车。调优时一定要覆盖全场景测试,别只在实验室里自嗨。