基于光流模型的图像运动分析

前言

  根据对动态图像时变图像序列的分析,来确定客观物体与观察者之间的相对运动参数,是当今计算机视觉研究领域中的一个热门课题。在医疗,工业,国防等方面都具有非常重要的现实意义

  本文将介绍采用光流模型分析运动图形:根据图像像素强度守恒原理,建立光流约束方程,计算运动参数,最后结合实例计算两帧样本图像之间的水平和垂直位移量,并绘制光流矢量图

重要概念:光流

  光流,是空间运动物体在被观测表面上的像素点运动的瞬时速度场,包含了物体与成像传感器系统之间的相对运动的关系。

光流约束方程

  物体在空间上一般是相对连续运动,故投影到视网膜/传感器平面上的图像应该也是连续变化的。因此可以假设运动图像函数 ƒ(x,y,t) 是关于变量x,y,t的连续函数

  故,我们可以认为,t 时刻和 t+dt 时刻的图像点强度相等

    (1)

  然后,上式右边在 (x,y,t) 做泰勒级数展开,约去高阶项并同时除以dt,可得:

    (2)

  这就是光流约束方程

  这个式子表示:图像强度对时间变化率等于强度的空间变化率运动速度的乘积( 写成向量式更直观 )

  记:

  

  代入( 2 )中,可得光流约束方程的第二种形式

    (3)

光流约束方程的适用性分析

  1. 实际应用中,图像可能有强度不连续的点存在。在这种情况下,只要在不连续区域周围图像强度均匀变化,光流约束方程依然成立

  2. 需确保图像平面上每一点的变化完全由物体与观察者之间的相对运动引起

光流约束方程的求解

  光流约束方程的求解,也即计算两个未知速度分量 u 和 v

  由 (3) 式知,u 和 v 的解被约束在空间的一条直线上,没有另一个约束条件,我们无法唯一地确定 u 和 v 的解。因此必须附加一个新的约束条件。

  显然,u 和 v 随着像素点移动而发生的改变是缓慢的,局部区域的变化不大,尤其是在目标做无变形刚体运动时,局部区域速度的空间变化率为0

  令 uavg 和 vavg 分别表示 u 和 v 领域内速度的平均值,根据上述分析,可知:

    (4)

  这个约束方程反映了速度变化率应该满足的必要条件,而光流约束方程反映了速度与灰度变化率之间的相对关系

  结合光流约束方程和约束条件,对于全部的像素点,可以建立如下的极小化方程

    (5)

  其中 ε 是极小化问题的总误差,λ 是附加约束的拉格朗日乘子

  为使 ε 最小,令 ε 分别对 u 和 v 求导并取导数为 0 ,得:

    (6a) (6b)

  可导出:

    (7a) (7b)

  可用迭代法求解上式,从而得出 u 和 v。

  

  

  在实际求解中,还需要计算图像强度在空间和时间的偏导数 Ex,Ey,Et设ƒi, j, k 为图像在 (x,y,t) 点的强度,ƒi, j, k+1为 (x, y, t+dt) 点的强度,那么 Ex,Ey,E可以按照以下式子近似计算出来:

  

  对于全部的 x 和 y 值,当迭代运算的结果满足事先给定的估计容差 ε和 ε2 时,迭代计算结束,也即:

  

实际分析步骤

  1. 初始化:迭代次数 n = 1,λ = 1,u(n-1) = v(n-1) = 0 。

  2. 根据公式 (9) 计算图像强度的偏导数 Ex,Ey,Et 。

  3. 根据公式 (8) 计算 u(n) 和 v(n) 

  4. 判断是否满足容差条件 (10) ,如果满足,则迭代结束,u(n) 和 v(n)为所求目标值。

  5. 判断是否满足 n <= 最大迭代次数,如果满足,则迭代结束,u(n) 和 v(n)为所求目标值;否则迭代次数+1,转到 3 执行。

光流法的灵活性

  通过上面演示的求解过程,可知光流法在算法的实现上有很不错的灵活性,主要体现在:

  1. 通过调整 λ 值可以控制计算精度和迭代收敛速度

  2. 可以只计算图像中的部分子块来计算运动参数。

结束语

  1. 该算法有比较完善的理论基础,也有广阔的应用前景。

  2. 除了处理本文所提及的平移问题,还能解决旋转等更为复杂的运动

  3. 至于如何改进算法,提高收敛速度,满足实时要求,则是以后研究学习的方向。

 

 

posted on 2014-03-25 12:09  空山悟  阅读(2901)  评论(0编辑  收藏  举报

导航