第 9 章 运动估计 (Motion Estimation)

      +

      核心结论

      • 平移对齐(§9.1):视频稳定 / 视频去抖;相位相关 / 块匹配。

      • 参数化运动(§9.2):仿射 / 透视运动模型;光流约束。

      • 光流(§9.3):逐像素运动估计;Lucas-Kanade / Horn-Schunck;深度学习(FlowNet / RAFT)。

      • 分层运动(§9.4):运动分割;多层独立运动模型。

      • 应用:视频稳定 / 视频去抖 / 动作识别 / 视觉里程计。

      本章主旨

      本章是"运动估计章"——从视频帧序列估计运动。理解光流才能做视觉里程计 / 视频稳定 / 动作识别;现代用深度学习(RAFT / FlowNet)效果远超传统方法。

      一、核心概念

      本章围绕 4 个核心概念展开:平移对齐 → 参数化运动 → 光流 → 分层运动。

      概念 定义 + 重要性 实现提示

      平移对齐

      相邻帧的全局平移估计;视频稳定 / 去抖。

      §9.1;相位相关 / 块匹配。

      参数化运动

      仿射 / 透视运动模型;光流约束。

      §9.2;表达更复杂的运动。

      光流 (optical flow)

      逐像素运动估计;Lucas-Kanade / Horn-Schunck / RAFT。

      §9.3;动作识别 / 视觉里程计基础。

      分层运动

      多层独立运动模型;运动分割。

      §9.4;复杂场景的建模。

      二、详细笔记

      2.1 平移对齐 (Translational Alignment)

      What:估计相邻帧之间的全局平移;用于视频稳定。

      Why:手持视频抖动;视频稳定让观看更舒适。

      How

      平移估计(§9.1):

      • 相位相关:FFT → 互相关 → 相位相关 → 找峰值位置 = 平移量。

      • 块匹配:把图像分块;每块在相邻帧找最相似位置。

      • 特征匹配:SIFT / ORB 跨帧匹配 + RANSAC 估计平移。

      相位相关的工程优势
      • 计算高效(FFT O(n log n))。

      • 对光照变化鲁棒(只依赖相位,不依赖幅度)。

      • 适合估计小到中等平移(< 50 像素)。

      When:视频稳定;视频去抖;视频拼接(粗对齐)。

      Examplecv2.phaseCorrelate(reference, current) 返回 (shift_x, shift_y);FFmpeg vidstab 模块用此技术。

      2.2 参数化运动 (Parametric Motion)

      What:用参数化模型(仿射 / 透视)描述帧间运动。

      Why:表达旋转 / 缩放 / 透视变换;比平移更通用。

      How

      运动模型(§9.2):

      \[\begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} a_1 & a_2 \\ a_3 & a_4 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix} t_1 \\ t_2 \end{bmatrix} \end{bmatrix>\]
      • 仿射 6 个自由度(2×2 矩阵 + 2 维平移)。

      • 透视 8 个自由度(3×3 单应)。

      光流约束(§9.3):

      \[I(x, y, t) = I(x + dx, y + dy, t + dt) \end{bmatrix]\]

      展开(泰勒一阶)→ 光流方程。

      光流约束的"孔径问题"
      • 一个像素 + 光流约束 → 2 个未知(u, v)+ 1 个方程 → 无法求解。

      • Lucas-Kanade 假设邻域内运动一致 → 用 5×5 patch 解 25 个方程。

      • 仍无法处理大运动 / 边缘模糊。

      When:视频稳定(仿射);视频拼接;动作识别。

      Examplecv2.estimateRigidTransform(prev, curr, False)cv2.findTransformECC

      2.3 光流 (Optical Flow)

      What:逐像素运动估计;输出 (u, v) 速度场。

      Why:动作识别 / 视觉里程计 / 视频分割的核心特征。

      How

      经典光流(§9.3):

      • Lucas-Kanade(1981):稀疏光流;假设邻域运动一致;用最小二乘。

      • Horn-Schunck(1981):稠密光流;全局平滑约束。

      • Farneback(2003):多项式展开;稠密光流。

      深度学习光流:

      • FlowNet(2015):CNN 端到端估计光流。

      • RAFT(2020):迭代优化;当前 SOTA。

      • GMA(2021):全局运动聚合。

      深度学习光流的工程优势
      • 处理大运动(> 50 像素)无需金字塔。

      • 端到端训练,不需要光流假设。

      • 但需 GPU;实时性需 RAFT-Stereo 等轻量版。

      When:动作识别;视频稳定;视觉里程计;视频分割。

      Examplecv2.calcOpticalFlowFarnebackmmflow / RAFT 深度学习库。

      2.4 分层运动 (Layered Motion)

      What:把视频分解为多层独立运动;每层一个运动模型。

      Why:复杂场景(前景 / 后景不同运动)单层模型表达力不够。

      How

      分层运动(§9.4):

      • 运动分割:用 K-means / mean-shift 聚类像素光流。

      • 层分配:每个像素分配到对应运动层。

      • 层参数估计:每层一个仿射模型。

      分层运动的应用
      • 视频编辑:分离前景 / 后景做特效。

      • 视频压缩:分层预测。

      • 动作识别:聚焦前景运动。

      When:视频编辑;视频压缩;视频理解。

      Examplemmflow 包含运动分割模型;学术研究较多,工业部署较少。

      三、关键图表

      视觉图表

      图 9-1
      Figure 1. 图 9-1:相位相关示意
      图 9-2
      Figure 2. 图 9-2:Lucas-Kanade 光流
      图 9-3
      Figure 3. 图 9-3:RAFT 迭代优化

      非可视化条目

      非可视化条目(表 / 算法)
      编号 内容摘要

      式 9-1 至 9-15

      相位相关 / LK / HS 光流公式。

      表 9.1

      光流算法对比(LK / HS / Farneback / RAFT)。

      列表 9.1-9.x

      OpenCV / mmflow 光流示例。

      核心公式对照表

      核心公式对照表
      概念 公式

      光流约束

      \(I_x u + I_y v + I_t = 0\)

      Lucas-Kanade

      \(\min \sum_{x \in W} (I_x u + I_y v + I_t)^2\)

      相位相关

      latexmath:[\text{shift} = \arg\max \mathcal{F}^{-1}\left(\frac{F_1 \cdot F_2^*}{

      F_1 \cdot F_2^*

      }\right)]

      四、思维导图

      mindmap
        root((第 9 章 运动估计))
          平移对齐
            相位相关
            块匹配
            视频稳定
          参数化运动
            仿射
            透视
            光流约束
          光流
            LucasKanade
            HornSchunck
            RAFT
          分层运动
            运动分割
            层分配

      五、重点与易错点

      • 相位相关适合视频稳定:高效、对光照鲁棒;只估平移。

      • Lucas-Kanade 解决孔径问题:用邻域一致性假设;小运动(< 5 像素)。

      • RAFT 是当前 SOTA:迭代优化;GPU 实时;优于传统光流。

      • 光流评估指标:EPE(end-point error);Sintel / KITTI 基准。

      • 分层运动是学术方向:工业部署多用语义分割替代。

      • 跨章衔接:第 7 章特征匹配是视频稳定 / 光流的备选;第 11 章 SLAM 用光流做前端;第 12 章深度估计用光流做时序信息。