103、视频连续 AF:Touch Tracking、目标跟踪与平滑过渡的工程实践
一、从一次“追焦翻车”说起
去年Q2,我接手一个旗舰机项目,视频模式下用户点击屏幕锁定对焦目标后,只要被摄物体稍微加速移动,画面就开始“抽搐”——对焦马达像抽风一样来回拉风箱,偶尔还出现焦点突然跳到背景上的“跳变”。更诡异的是,当物体移出画面再回来,镜头需要2-3秒才能重新咬住目标。PM在评审会上拍桌子:“这玩意儿叫Touch Tracking?我看是Touch 抽风!”
那段时间我每天盯着log里的AF stats和lens position曲线,发现三个核心问题:触控锁定后的目标丢失、跟踪过程中的焦点抖动、以及场景切换时的过渡生硬。这三个问题,恰好对应了视频连续AF中Touch Tracking的三大工程难点:目标跟踪的鲁棒性、连续对焦的平滑性、以及状态切换的过渡策略。
二、Touch Tracking的“锚点”设计:别把用户点击当终点
很多方案把用户点击屏幕时的AF window直接当作跟踪目标,这是第一个坑。用户手指点下去时,可能点在人脸边缘、衣服纹理稀疏区,甚至点在了背景上。如果直接用这个window的contrast值做跟踪,一旦目标移动,window内的纹理特征变化,AF立刻失锁。
我的做法是:在触控点周围做一次“特征锚点提取”。
具体来说,用户点击后,不立即锁定AF win