3. AF对焦原理与海思AF算法框架

自动对焦(Auto Focus, AF)是摄像头模组获取清晰图像的核心环节。在安防、车载、机器视觉等嵌入式场景中,海思平台通常集成多种对焦技术,并根据场景动态切换或融合。本章深入剖析对比度对焦(CDAF)、相位对焦(PDAF)、激光/TOF辅助对焦的原理,并拆解海思AF算法框架的层级与数据流。

3.1 对比度对焦(CDAF)

CDAF基于图像本身的清晰度评价函数,通过搜索透镜位置使评价函数值最大。其核心是“爬山算法”:在透镜移动过程中,实时计算当前帧的对比度值,若值上升则继续同向移动,若下降则反向搜索,直至找到峰值。

关键评价函数(Focus Value, FV):常用Tenengrad(Sobel梯度)、Laplacian、Brenner、方差(Variance)等。海思ISP内部通常使用经过优化的多尺度梯度累加器,兼顾灵敏度与抗噪性。
CDAF 爬山搜索流程 初始位置 计算FV值 FV上升? 同向移动 反向搜索 峰值锁定 返回计算FV 返回计算FV
工程避坑:CDAF在低对比度场景(如白墙、夜空)容易陷入局部极值或来回振荡。海思ISP通常配置“死区阈值”和“滞回比较器”,避免透镜在平坦区域无效微动。

3.2 相位对焦(PDAF)

PDAF通过在sensor像素阵列中嵌入专用相位检测像素(左/右半遮光像素),直接计算入射光的角度差,从而一次性判断对焦方向与距离,无需反复搜索。海思平台支持On-Sensor PDAF和基于ISP的PDAF后处理两种模式。

特性 CDAF PDAF
对焦速度 慢(需多次搜索) 快(一次计算方向)
精度 高(依赖图像内容) 中高(受像素遮挡影响)
低照度性能 差(噪声干扰FV) 较好(相位信号独立)
硬件成本 低(纯算法) 高(需专用sensor)
海思支持 全系列ISP Hi3519A/Hi3559A等高端型号
PDAF 相位差计算原理 左半遮光像素 右半遮光像素 相位差计算 (左-右信号偏移) 对焦方向/步长 前焦/后焦/合焦 PDAF 输出相位差 ΔP,海思ISP通过查表或线性映射转换为VCM驱动步数

3.3 激光/TOF辅助对焦

激光测距(TOF)通过发射红外脉冲并测量飞行时间,直接获取物距。海思平台通过I²C/SPI接口读取TOF模块的距离值,将其作为AF搜索的初始位置参考或置信度权重,大幅缩短搜索范围。

  • 激光辅助:适用于近距离(0.1~2m),精度±1cm,在微距场景下优势明显。
  • TOF辅助:适用于中远距离(0.3~5m),可输出深度图,辅助多目标对焦决策。
  • 融合策略:海思AF框架支持“TOF粗定位 + CDAF精调”或“PDAF主对焦 + TOF防误判”两种典型模式。
联调注意:激光/TOF模块的帧同步必须与sensor VSYNC对齐,否则距离数据与图像帧错位会导致对焦抖动。海思VI模块支持外部触发同步,需在sensor驱动中配置GPIO中断。

3.4 海思AF算法框架

海思AF算法运行在ISP的AE/AWB/AF 3A统计引擎之上,采用分层模块化设计。整体框架分为:驱动层(VCM/I²C控制)、算法层(FV计算、PDAF解析、融合决策)、策略层(场景识别、搜索策略、防抖逻辑)。

海思AF算法框架分层架构 策略层(AF Strategy) 场景识别 | 搜索策略选择 | 防抖/抗闪烁 | 多目标优先级 算法层(AF Algorithm) CDAF FV计算 PDAF相位解析 TOF距离融合 驱动层(AF Driver) VCM I²C控制 | 步进/音圈马达驱动 | 位置回读 | 限位保护 数据流:sensor RAW → ISP统计 → 算法层FV/PDAF → 策略层决策 → 驱动层VCM控制

3.4.1 关键数据结构

海思AF算法通过结构体 ISP_AF_ATTR_S 传递配置参数,以下为典型成员:

typedef struct {
    HI_BOOL  bEnable;            // AF使能
    HI_U32   u32SearchStep;      // 搜索步长(单位:VCM code)
    HI_U32   u32StableThr;       // 合焦稳定阈值
    HI_U32   u32ZoomPos;         // 当前变焦位置(影响无穷远对应code)
    HI_U32   u32InitPos;         // 初始位置(TOF辅助时使用)
    HI_U32   u32MaxPos;          // VCM最大限位
    HI_U32   u32MinPos;          // VCM最小限位
    ISP_AF_MODE_E enAfMode;      // CDAF / PDAF / HYBRID
} ISP_AF_ATTR_S;

3.4.2 典型联调流程

  1. sensor初始化:配置sensor输出分辨率、帧率、PDAF像素使能(若支持)。
  2. VCM校准:通过I²C扫描VCM的全程位置,记录近端/远端code与物理距离映射表。
  3. AF参数配置:设置搜索步长、稳定阈值、场景模式(风景/微距/运动)。
  4. 实时统计:ISP每帧输出FV值和PDAF相位差,AF算法线程以帧同步为节拍运行。
  5. 决策输出:算法层计算目标位置,驱动层通过I²C写入VCM寄存器。
  6. 闭环验证:读取VCM回读位置,与目标位置比较,误差超过阈值时触发补偿。
海思调试工具:使用海思提供的 AF_TuningTool 可以实时观察FV曲线、PDAF置信度、VCM位置波形,是联调阶段最核心的辅助手段。