自动对焦学习-4
自动对焦系统中的 Zoom、Focus 和标定表到底是什么?一文讲清它们之间的关系
一、前言
在做工业相机、机器视觉、电动变焦镜头或者自动对焦设备时,经常会遇到几个关键词:
- Zoom
- Focus
- 自动对焦
- Zoom-Focus 曲线
- 标定表
- Zoom Tracking
这些词看起来都和“让图像变清楚”有关,但它们的含义并不一样。
很多初学者容易把 Zoom 和 Focus 混在一起,认为“变焦”和“对焦”都是让画面清晰。实际上,二者的作用完全不同。
简单来说:
Zoom 负责改变画面看得多大;
Focus 负责让当前画面看得清楚。
在自动对焦系统中,真正直接参与“找清晰位置”的通常是 Focus;而 Zoom 更多负责改变视场和放大倍率。对于电动变焦镜头来说,Zoom 和 Focus 又不是完全独立的,因为 Zoom 位置改变后,最佳 Focus 位置也会发生变化。
这就引出了一个非常重要的工程概念:Zoom-Focus 标定表。
二、Zoom 是什么?
Zoom 中文一般叫变焦。
它控制的是镜头的焦距 focal length。
焦距改变后,画面的视场角和放大倍率会发生变化。
通俗理解:
Zoom out:广角,看得更宽,目标更小 Zoom in :长焦,看得更窄,目标更大例如在工业相机中:
焦距变短 ↓ 视场角变大 ↓ 画面范围更宽 ↓ 目标在图像中看起来更小焦距变长 ↓ 视场角变小 ↓ 画面范围更窄 ↓ 目标在图像中看起来更大所以 Zoom 的本质作用是:
改变焦距 ↓ 改变视场角 ↓ 改变放大倍率 ↓ 改变目标在画面中的大小需要注意的是:
Zoom 的主要作用不是让画面变清晰,而是改变画面范围和目标大小。
三、Focus 是什么?
Focus 中文一般叫对焦或调焦。
它控制的是某个距离上的物体,能不能准确成像在图像传感器平面上。
通俗理解:
目标在 0.5 m:Focus 需要调到一个位置 目标在 1 m: Focus 需要调到另一个位置 目标在 5 m: Focus 又需要调到另一个位置Focus 的作用是让当前目标变清晰。
如果 Focus 位置不对,就会出现:
图像模糊 边缘发散 细节不清楚 纹理不锐利如果 Focus 位置正确,就会出现:
图像清晰 边缘锐利 细节丰富 纹理明显因此,Focus 的本质作用是:
改变对焦位置 ↓ 让目标成像在传感器平面上 ↓ 让图像变清楚四、Zoom 和 Focus 的核心区别
可以用一张表来理解:
| 项目 | Zoom | Focus |
|---|---|---|
| 中文含义 | 变焦 | 对焦 / 调焦 |
| 控制对象 | 焦距 | 成像清晰位置 |
| 主要作用 | 改变视场和放大倍率 | 让目标清晰 |
| 画面效果 | 目标变大或变小 | 目标变清楚或变模糊 |
| 是否直接判断清晰度 | 通常不是 | 是 |
| 自动对焦中是否必须动 | 不一定 | 通常必须动 |
一句话总结:
Zoom 决定“看多大” Focus 决定“看得清不清”五、Zoom 和 Focus 之间有什么关系?
虽然 Zoom 和 Focus 的作用不同,但在真实镜头中,它们之间存在非常强的耦合关系。
也就是说:
Zoom 位置改变以后,最佳 Focus 位置通常也会跟着改变。
原因是:Zoom 改变的是镜头焦距,而焦距改变后,镜头内部光路也发生变化。对于同一个目标距离,原来的 Focus 位置可能就不再是最清晰的位置。
可以这样理解:
同一个目标距离下: Zoom 位置 A ↓ 最佳 Focus 位置 FA Zoom 位置 B ↓ 最佳 Focus 位置 FB也就是说:
Zoom 改变 ↓ 镜头内部光路改变 ↓ 最佳 Focus 位置改变 ↓ 需要重新对焦或进行 Focus 补偿工程上经常用下面这个关系表示:
Focus_best = F(Zoom_position, Object_distance)其中:
Focus_best:最佳 Focus 位置 Zoom_position:当前 Zoom 位置 Object_distance:目标距离这说明最佳 Focus 位置不仅和 Zoom 有关,还和目标距离有关。
因此,严格来说,Zoom-Focus 关系不是一条简单曲线,而是一组曲线。
例如:
目标距离 1 m: Focus = F1(Zoom) 目标距离 3 m: Focus = F2(Zoom) 目标距离 10 m: Focus = F3(Zoom) 目标距离 ∞: Focus = F∞(Zoom)这就是电动变焦镜头中经常提到的Zoom-Focus 曲线或Zoom Tracking Curve。
六、为什么 Zoom 变了,Focus 也要变?
可以用薄透镜公式做一个简单理解:
1/f = 1/u + 1/v其中:
f:焦距 u:物距,也就是目标到镜头的距离 v:像距,也就是镜头到成像平面的距离当目标距离u不变时,如果焦距f改变,那么像距v也会变化。
真实工业镜头通常不是单片薄透镜,而是由多个镜片组组成,内部光路更加复杂。但是这个公式可以帮助理解一个基本规律:
Zoom 改变焦距 ↓ 成像关系发生变化 ↓ 最佳 Focus 位置也可能变化所以,在电动变焦镜头中,如果只改变 Zoom 而不补偿 Focus,图像可能会从清晰变成模糊。
七、什么是标定表?
标定表,简单来说就是提前测出来的一张查找表。
在自动对焦和电动变焦系统中,常见的标定表是:
Zoom 位置 + 目标距离 → 最佳 Focus 位置也就是:
当前 Zoom 在哪里 目标距离是多少 对应的最佳 Focus 应该在哪里举一个抽象例子:
| 目标距离 | Zoom 位置 0 | Zoom 位置 500 | Zoom 位置 1000 | Zoom 位置 1500 |
|---|---|---|---|---|
| 1 m | Focus 120 | Focus 260 | Focus 610 | Focus 980 |
| 3 m | Focus 90 | Focus 220 | Focus 540 | Focus 870 |
| 10 m | Focus 60 | Focus 180 | Focus 460 | Focus 760 |
| ∞ | Focus 40 | Focus 150 | Focus 410 | Focus 700 |
这张表的作用是:
让系统不用每次都从头搜索焦点,而是可以直接跳到接近清晰的位置,再进行小范围微调。
这对于提高自动对焦速度非常重要。
八、标定表一定是表格吗?
不一定。
工程上所谓的“标定表”只是一个通俗说法,它的本质是描述输入和输出之间的映射关系。
它可以是:
1. 离散查找表 LUT 2. 多项式拟合公式 3. 分段曲线 4. 插值表 5. 曲线系数 6. 神经网络模型比如:
Focus_best = F(Zoom, Distance)这个F可以用一张表表示,也可以用数学公式表示,还可以用曲线拟合表示。
只要它能根据当前 Zoom 和目标距离估算最佳 Focus 位置,本质上都可以看作标定数据。
九、标定表和自动对焦算法有什么区别?
这是一个非常容易混淆的问题。
1. 自动对焦算法
自动对焦算法是实时运行的。
它依赖图像清晰度评价,通过不断移动 Focus、采集图像、计算清晰度,找到最清楚的位置。
流程如下:
移动 Focus ↓ 采集图像 ↓ 计算清晰度 ↓ 继续移动 Focus ↓ 继续计算清晰度 ↓ 找到清晰度最大的位置它属于“现场搜索”。
2. 标定表
标定表是提前测好的经验数据。
运行时可以直接根据当前条件查表:
读取当前 Zoom 位置 ↓ 估算目标距离或选择距离曲线 ↓ 查表得到 Focus 预测位置 ↓ Focus 直接移动到预测位置附近 ↓ 再用图像算法小范围微调它属于“提前预测”。
3. 二者关系
标定表和自动对焦算法不是互相替代的关系,而是互相配合的关系。
标定表:负责快速接近正确焦点 图像算法:负责最终精确锁焦如果没有标定表,系统可能要做全范围搜索,速度较慢。
如果只有标定表,没有图像反馈,实际使用中又可能受装配误差、温度变化、机械回差、目标距离误差影响,导致焦点不够准确。
所以成熟的工程方案通常是:
标定表预测 + 图像清晰度微调十、什么是 Focus 曲线?
Focus 曲线是自动对焦过程中常见的一种曲线。
它表示:
横轴:Focus 位置 纵轴:图像清晰度评价值 条件:Zoom 固定当 Focus 从一侧移动到另一侧时,图像清晰度通常会先升高,达到峰值后再下降。
形状大概如下:
清晰度值 ^ | | /\ | / \ | / \ |___________/______\__________> Focus 位置 最清晰位置自动对焦算法要做的事情,就是尽快找到这个峰值位置。
这个峰值位置就是当前条件下的最佳 Focus 位置。
十一、什么是 Zoom-Focus 曲线?
Zoom-Focus 曲线和 Focus 曲线不是一回事。
Zoom-Focus 曲线表示:
横轴:Zoom 位置 纵轴:最佳 Focus 位置 条件:目标距离固定例如:
Focus 位置 ^ | | 距离 1 m 曲线 | / | / 距离 3 m 曲线 | / |____/________________________> Zoom 位置它的作用是:
当 Zoom 改变时 ↓ 预测 Focus 应该移动到哪里 ↓ 尽量保持画面清晰这就是所谓的Zoom Tracking,也就是变焦跟踪。
十二、Zoom 镜头和 Varifocal 镜头的区别
在光学概念里,还需要区分两个词:
Zoom Lens Varifocal Lens1. Zoom Lens / Parfocal Lens
严格意义上的 Zoom Lens,也可以理解为变焦过程中尽量保持合焦的镜头。
理想情况下:
改变 Zoom ↓ 画面大小变化 ↓ Focus 基本保持清晰这种镜头通常内部结构复杂,需要精密机械设计或补偿机构。
2. Varifocal Lens
Varifocal Lens 也可以改变焦距,但改变焦距后通常会失焦。
也就是说:
改变 Zoom ↓ 画面大小变化 ↓ 图像可能变模糊 ↓ 需要重新调 Focus3. 工程上要注意
很多工业镜头即使叫“电动变焦镜头”,实际使用时仍然需要做 Focus 补偿或者变焦后重新对焦。
所以不能只看镜头名字,而要实际验证:
改变 Zoom 后,图像是否还能保持清晰? 如果不能,就必须做 Zoom-Focus 标定和对焦补偿。十三、自动对焦时 Zoom 和 Focus 都要动吗?
答案是:
不一定。多数情况下,单纯自动对焦只需要动 Focus,不需要动 Zoom。
需要分场景来看。
场景 1:画面大小合适,只是图像模糊
这种情况最典型。
Zoom 不动 Focus 动例如:
当前视场已经合适 目标只是从 1 m 移动到 1.2 m 图像变模糊这时只需要调 Focus。
因为你只是想让画面变清楚,并不想改变画面大小。
场景 2:用户改变放大倍率后重新对焦
这种情况是:
先动 Zoom 再动 Focus例如:
用户希望目标更大 ↓ Zoom in ↓ 画面放大 ↓ 焦点可能偏掉 ↓ Focus 重新对焦这不是自动对焦过程中 Zoom 和 Focus 同时乱动,而是两个阶段:
第一阶段:Zoom 到目标视场 第二阶段:Focus 找清晰位置场景 3:连续变焦过程中保持清晰
这种情况叫Zoom Tracking。
这时 Zoom 和 Focus 需要协调运动。
Zoom 连续改变 ↓ Focus 根据 Zoom-Focus 曲线同步补偿 ↓ 画面尽量保持清晰这种功能在视频监控、工业检测、远距离观测等场景中比较常见。
场景 4:自动构图 + 自动对焦
如果系统不仅要让图像清晰,还要让目标在画面中保持某个大小,那么 Zoom 也可能参与自动控制。
例如:
目标太小 ↓ 系统自动 Zoom in ↓ 目标变大 ↓ Focus 跟随调清晰这已经不是单纯的自动对焦,而是:
Auto Zoom + Auto Focus控制难度会更高。
十四、如何建立 Zoom-Focus 标定表?
实际工程中,可以按下面流程建立标定表。
第一步:确定 Zoom 采样点
例如:
Zoom = 0, 200, 400, 600, 800, 1000采样点越多,标定越精细,但工作量越大。
第二步:确定目标距离采样点
例如:
距离 = 0.5 m, 1 m, 2 m, 5 m, 10 m, ∞不同应用需要选择不同距离。
如果是近距离机器视觉,就重点标定近距离。
如果是远距离观测,就重点标定远距离和无穷远附近。
第三步:每个 Zoom、每个距离下找最佳 Focus
对每个组合执行自动对焦:
固定目标距离 ↓ 固定 Zoom 位置 ↓ Focus 从近到远扫描 ↓ 计算每个 Focus 位置的清晰度 ↓ 找到清晰度最大的位置 ↓ 记录最佳 Focus例如:
Zoom = 400 Distance = 2 m 扫描 Focus = 0 ~ 1000 找到最佳 Focus = 520 保存数据第四步:生成二维查找表
最终得到:
Focus_best = F(Zoom, Distance)表格形式类似:
| Distance / Zoom | Zoom 0 | Zoom 200 | Zoom 400 | Zoom 600 |
|---|---|---|---|---|
| 0.5 m | F00 | F01 | F02 | F03 |
| 1 m | F10 | F11 | F12 | F13 |
| 2 m | F20 | F21 | F22 | F23 |
| 5 m | F30 | F31 | F32 | F33 |
| ∞ | F40 | F41 | F42 | F43 |
第五步:运行时查表或插值
实际运行时,当前 Zoom 位置可能不刚好落在标定点上。
例如:
标定点:Zoom = 400 和 Zoom = 600 实际值:Zoom = 530此时就需要插值。
最简单的是线性插值:
Focus(530) = Focus(400) + (Focus(600) - Focus(400)) × (530 - 400) / (600 - 400)如果同时考虑目标距离,还可以做二维插值。
十五、标定表在自动对焦中的实际使用流程
推荐流程如下:
1. 确定当前 Zoom 位置 2. 根据标定表预测 Focus 位置 3. Focus 快速移动到预测位置附近 4. 采集图像 5. 计算清晰度 6. 在小范围内微调 Focus 7. 找到清晰度峰值 8. 锁定焦点也就是:
Zoom-Focus 标定表负责“快” 图像清晰度算法负责“准”如果没有标定表,可能需要全范围扫描:
Focus 从最小位置扫到最大位置 ↓ 每个位置都采图 ↓ 每个位置都算清晰度 ↓ 找到最大值这种方法虽然简单,但速度很慢。
有了标定表后,可以直接跳到焦点附近:
查表得到预测 Focus ↓ 只在预测位置附近小范围搜索 ↓ 快速锁焦这就是标定表提高自动对焦速度的核心原因。
十六、做高速自动对焦时,Zoom 和 Focus 应该怎么配合?
如果目标是对焦速度快,不建议在自动对焦过程中让 Zoom 来回搜索。
推荐流程是:
第一步:先确定需要的视场 第二步:Zoom 移动到目标位置 第三步:根据 Zoom-Focus 标定表预测 Focus 位置 第四步:Focus 快速移动到预测位置 第五步:图像算法做小范围微调 第六步:锁定焦点也可以简化为:
Zoom 先定画面大小 Focus 再找清晰位置对于高速系统,重点是减少 Focus 搜索范围。
减少搜索范围的方法包括:
1. 使用 Zoom-Focus 标定表 2. 使用上一次对焦位置作为初值 3. 使用距离传感器估计目标距离 4. 使用粗扫 + 细扫算法 5. 使用高帧率相机和小 ROI 6. 使用更快的执行机构,例如 VCM 或液态镜头十七、一个推荐的工程实现顺序
如果从零开始做自动对焦设备,建议分阶段实现。
第一阶段:只做固定 Zoom 下的 Focus 自动对焦
先不要考虑 Zoom。
只实现:
固定 Zoom ↓ 移动 Focus ↓ 采集图像 ↓ 计算清晰度 ↓ 找到清晰度最大位置这一阶段的目标是跑通自动对焦闭环。
第二阶段:加入 Zoom 控制
实现:
用户设置 Zoom ↓ Zoom 移动到目标位置 ↓ Focus 自动重新对焦这一阶段已经可以做成比较实用的电动变焦自动对焦设备。
第三阶段:建立 Zoom-Focus 标定表
实现:
Zoom 改变 ↓ 查表得到 Focus 预测位置 ↓ Focus 先移动到预测位置 ↓ 再进行小范围自动对焦这一阶段可以显著提高对焦速度。
第四阶段:实现连续 Zoom Tracking
实现:
Zoom 连续变化 ↓ Focus 根据 Zoom-Focus 曲线同步跟随 ↓ 画面尽量持续保持清晰这一阶段最接近成熟的工业变焦对焦系统,但难度也最高。
十八、最终总结
Zoom 和 Focus 是自动对焦系统中两个非常重要但容易混淆的概念。
1. Zoom 的作用
Zoom = 变焦 作用:改变焦距、视场角和放大倍率 结果:目标在画面中变大或变小2. Focus 的作用
Focus = 对焦 作用:改变最佳成像位置 结果:让目标图像变清晰3. Zoom 和 Focus 的关系
Zoom 改变后,最佳 Focus 位置通常也会改变可以抽象为:
Focus_best = F(Zoom_position, Object_distance)4. 标定表的作用
标定表 = 提前测出来的 Zoom、距离、Focus 之间的对应关系它的作用是:
减少搜索范围 提高对焦速度 提高变焦后的对焦稳定性5. 自动对焦时是否要同时动 Zoom 和 Focus?
| 场景 | Zoom 是否动 | Focus 是否动 |
|---|---|---|
| 只需要让当前画面清楚 | 不动 | 动 |
| 改变画面大小后重新对焦 | 先动 | 后动 |
| 连续变焦保持清晰 | 动 | 同步动 |
| 自动构图加自动对焦 | 可能动 | 必须动 |
最推荐的高速自动对焦流程是:
Zoom 先到目标视场 ↓ 查 Zoom-Focus 标定表 ↓ Focus 快速移动到预测位置 ↓ 图像清晰度算法小范围微调 ↓ 锁定焦点一句话概括:
Zoom 负责确定画面大小,Focus 负责确定图像清晰度,标定表负责让 Focus 更快接近正确位置,图像算法负责最终精确锁焦。
参考资料
- Edmund Optics:Understanding Focal Length and Field of View
- Edmund Optics:Imaging Lens Selection Guide
- Opto Engineering:Fixed Focal Length Lenses / Varifocal Lenses
- Theia Technologies:Focus/Zoom Tracking Application Notes
- Sensors 2012:Robust Feedback Zoom Tracking for Digital Video Surveillance
- ICPR 2000:Camera Calibration with a Motorized Zoom Lens
- Auto Focus Using Adaptive Step Size Search and Zoom Tracking Algorithm
