计算机视觉理论笔记 (11) - 运动估计 (Motion Estimation)

光流法 (Optical Flow)

光流 (optical flow) 反映了由于时间间隔 dt 中的运动而导致的图像变化,光流场是跨 2D 图像的 对象点的 3D运动 的速度场 (velocity field)。
在这里插入图片描述
光流是像素级图像中亮度模式 (brightness pattern) 的运动。理想情况下,光流 = 运动场 (motion field)。

限制

但在以下情况下,光流不等于运动场
在这里插入图片描述

  1. 运动场存在但是没有光流产生。
  2. 没有运动场但是光照改变。

Horn&Schunck 全局方法 (global method)

在这里插入图片描述
如何估计从图像H到图像I中的像素运动?

  • 查找像素对应 (pixel correspondences)
  • 给定 H 中的像素,寻找 I 中相同颜色的附近像素 (nearby pixel of the same color)。

要这么做,是基于以下关键假设:

  • 颜色恒定(color constancy): 图像 H 中的一个点 看起来和 图像 I 相同。对于灰度图来说,则是亮度恒定。
  • 小幅度动作(small motion): 点不会移动的太远。

光流法约束等式 (Constrain Equation)

光流:速度 Velocities(u, v),用其替代x, y的变化而代表移动。
在这里插入图片描述
在这里插入图片描述
假设两个图像中同样点的亮度保持不变:
在这里插入图片描述
假设小幅度动作: (RHS的泰勒展开至一阶)
在这里插入图片描述
最终得到约束等式
在这里插入图片描述
在这里插入图片描述
注意: (u,v)必须位于一条直线上。我们可以使用梯度运算符进行计算。但是,(u,v) 不能在此约束下唯一地找到!
在这里插入图片描述
在这里插入图片描述
约束表示:确定了由矢量(𝐸𝑥,𝐸𝑦)表示的梯度方向上的流分量 (flow component)。平行于边缘 parallel to an edge(即垂直于梯度方向 perpendicular to the gradient direction)的流分量未知。

接着,公式化光流中的约束误差。
在这里插入图片描述
还有其他约束需要被考虑,即平滑度约束 (smoothness constraine),通常,运动场在图像中平滑变化。因此,我们要惩罚偏离平滑度的问题。
在这里插入图片描述
我们需要在每个图像点中找到最小化以下公式的 (u, v):
在这里插入图片描述

小幅度动作问题

如果一个物体移动大大多于一个像素点,那么光流法很有可能检测不到。我们的一个解决方法是降低画面分辨率 (reduce the resolution)。
在这里插入图片描述
粗粒度到细粒度的光流估计(Coarse-to-fine Optical Flow Estimation)
在这里插入图片描述

全局方法和局部方法的比较

全局方法

  • 如 Horn & Schunk 方法
  • 全局方法使用全局约束,通常是平滑正则项(smoothing regularization term)。
  • 平滑假设 (smooth assumption) 不适用于移动边界 (moving boundary),深度不连续性 (depth discontinuities)。
  • 错误传播 (Error Propagation)

局部方法

  • 如 Lucas & Kanade 方法
  • 没有全局术语
  • 将图像分为保持平滑假设的小区域
  • 然而,在具有小的或没有空间梯度 (no spatial gradient) 的区域中的光流的估计成为不适定的问题(ill-pose problem)。

基于块的运动场 (Block-based Motion Field)

该方法将图像分割 (break image up) 为多个方块,并估计每个方块的转变(estimate translation)。
在这里插入图片描述

动作估计 (Motion Estimation - ME)

每个块一个运动矢量(Motion Vector - MV), (u,v)。 MV搜索通常仅限于较小的近邻 (small immediate neighbourhood) - 水平和垂直位移 (horizontal and vertical displacement) 范围 [-p,p]。 这使得搜索窗口大小为 (2p + 1) x (2p + 1)
在这里插入图片描述
两个块之间的差异通过其平均绝对差异 (Mean Absolute Difference - MAD) 进行衡量。
在这里插入图片描述
ME搜索的目标是找到一个向量(i, j)作为运动向量 MV = (u, v),这样使得MAD(i, j)最小。
在这里插入图片描述

动作估计算法

顺序或完全搜索 (Sequential or Full Search)

按顺序搜索在参考帧中的整个 (2p + 1) x (2p + 1) 窗口 (也称为完全搜索 full search)。将以窗口内每个位置为中心的块与目标帧中的块逐像素进行比较,然后计算其各自的MAD。提供最少 MAD 的向量 (i,j) 被指定为目标帧中该块的MV (u,v)。
顺序搜索的运算成本很高 - 假设每个像素比较都需要操作 (求和,绝对值,加法), 则获得单个块的运动矢量的成本为 (2p + 1) x (2p + 1) x N2 x 3 => O(p2N2)
在这里插入图片描述

二维对数搜索 (2D Logarithmic Search)

对数搜索: 一种计算不那么昂贵的版本,虽然次优,但通常仍然有效。
运动向量的2D对数搜索过程需要多次迭代,类似于二分搜索 (binary search)。最初,搜索窗口(search window)只有9个位置用作基于MAD的搜索种子 (seeds for a MAD-based search),其被标记成1。
在找到产生最小MAD (minimum MAD) 的区域之后,将新的搜索区域的中心移到该区域,并将步长 step-size(偏移 offset)减少到一半。
在下次迭代中,将九个新位置标记为2,并以此类推。
在这里插入图片描述
如图,MV是从最中间的被标记为1的点指向右上角标记为3的点的向量。
在这里插入图片描述

分层搜索 (Hierarchical Search)

该搜索可以受益于多层 (多分辨率) 方法 (hierarchical/multiresolution approach),其中可以从分辨率大大降低的图像 (image with a significantly reduced resolution) 中获得运动矢量的初始估计。
三级分层搜索 (three-level hierarchical search),其中原始图像位于级别0 (Level 0),通过从先前级别下采样2倍 (down-sampling by a factor of 2) 来获得级别1和级别2的图像,并在级别2进行初始搜索。
由于块的大小较小,并且p也可以按比例缩小,因此所需的操作次数大大减少。
在这里插入图片描述
在这里插入图片描述

三个方法运算时间对比

在这里插入图片描述

全局运动估计 (Global Motion Estimation)

相机运动

  • 放大/缩小 (Zooming - in/out)
  • 平移 (panning): 水平移动相机
  • 倾斜 (tilting): 垂直移动相机
  • Dolly: 前后移动整个相机
  • Truck: 与小推车一样,只能从左向右移动相机
  • 底座 (Pedestal): 将相机固定在一个位置时上下垂直移动相机

2D坐标转换 (2D Coordinate Transformations)

在这里插入图片描述

仿射运动模型 (Affine Motion Model)

每个像素在6个全局未知数中提供1个线性约束。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一组 (> 6) 关键点上的最小二乘最小化。
在这里插入图片描述

层运动估计 (Layer Motion Estimation)

该估计方式用多组重叠图层 (overlapping layers) 表示运动图像。层按照深度排序 (ordered in depth) 并相互遮挡 (occlude each other)。每层代表一个运动物体。
在这里插入图片描述
每一层包含三张图(three maps):

  • 强度图 intensity map (或纹理图 texture map)
  • Alpha图 (每个点的不透明度 opacity)
  • 速度图 velocity map (随时间弯曲 warping over time)
    在这里插入图片描述

运动分析中的运动场 (Motion Fields in Motion Analysis)

运动通常是四个基本元素的某种组合:

  • 与相机保持恒定距离的平移 (translation at constant)。
  • 相对于相机的深度平移(translation in depth)。
  • 绕相机光轴 (camera optical axis) 以恒定距离旋转 (rotation at distance)。
  • 垂直于相机光轴 (perpendicular to the camera optical axis) 的平面物体的旋转 (rotation of a planner object)。

四个基本运动的光流模式 (optical flow pattern)

  • 一组平行运动矢量 (parallel motion vectors)。
  • 一组具有共同扩展重点的矢量 (vectors having a common focus of expansion)。
  • 一组同心运动矢量 (concentric motion vectors)。
  • 从直线段开始的一组或多组矢量 (vectors starting from straight line segments)。
    在这里插入图片描述

如果平移深度不是恒定的,则光流矢量不平行,并且其方向只有一个扩展焦点(focus of expansion - FOE)。
如果平移深度恒定 (constant depth),则FOE处于无限远。
如果图像中存在几个独立移动的对象,则每个运动都有其自己的FOE,如下图所示,其中摄像机在汽车中朝着道路上其他正在驶近的汽车移动。
在这里插入图片描述

应用

  • 相互速度(Mutual Velocity):在运动的相机和运动的物体之间的相互速度。
  • 运动深度或结构(Structure From Motion - SFM):从移动物体到摄像机的当前距离
  • 碰撞预测 (Coliision Prediction):机器人与场景对象之间的潜在碰撞
  • 图像对齐/配准 (Image Alignment/Regisration)

全局运动应用 (Global Motion Application)

  • 视频稳定 (Video Stablization)
  • 运动补偿 (Global motion compensation - GMC)
方向估计是在信号处理中的一个重要问题,其目的是确定从不同方向传入的信号源。经典的方向估计方法包括波束形成、最大似然估计和最小二乘估计等,而现代的方向估计方法则包括了高分辨率谱估计和基于子空间方法等。 波束形成是一种经典的方向估计方法,它利用了阵列天线的结构特性,通过调整不同天线的相位和幅度权重来形成一个波束,以达到对不同方向信号源的波束聚集。这种方法通常需要大规模的天线阵列,并且对信号源的数量和方向有一定的限制。 最大似然估计是另一种经典的方向估计方法,它基于统计学原理,通过对接收信号的统计特性进行概率建模,从而推测信号源的方向。最大似然估计在理论上是最优的,但在实践中通常需要知道较多的信号源信息,并且对噪声的统计特性有一定的要求。 最小二乘估计是一种基于数学优化的经典方向估计方法,它通过最小化接收信号与估计信号方向的残差平方和来估计信号源的方向。这种方法对噪声的统计特性要求相对较低,适用于多种应用场景。 高分辨率谱估计是现代方向估计方法中的一种,它基于接收信号的统计特性,通过提取信号的频谱信息来估计信号源的方向。这种方法可以达到很高的方向分辨能力,但需要较长的样本序列,并且对信号源的数量和方向有一定的限制。 基于子空间的方向估计方法是现代方向估计中的另一种重要技术,它利用信号子空间和噪声子空间的性质来估计信号源的方向。这种方法适用于低信噪比环境下的方向估计,并且对信号源的数量和方向没有明显的限制。 综上所述,经典和现代的方向估计方法各有其优势和适用场景。在具体应用中,需要根据实际需求和系统条件选择合适的方向估计方法。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值