cvspr学习论文基于动态双边网格的算法

学习:光流法

1.什么是光流

光流(optical flow)是空间运动物体在观察成像平面上的像素运动的瞬时速度。

光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。

通常将二维图像平面特定坐标点上的灰度瞬时变化率定义为光流矢量。

一言以概之:所谓光流就是瞬时速率,在时间间隔很小(比如视频的连续前后两帧之间)时,也等同于目标点的位移

2.光流的物理意义

一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。

当人的眼睛观察运动物体时,物体的景象在人眼的视网膜上形成一系列连续变化的图像,这一系列连续变化的信息不断“流过”视网膜(即图像平面),好像一种光的“流”,故称之为光流。光流表达了图像的变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况。

图(1)展示的便是三维空间内物体的运动在二维成像平面上的投影。得到的是一个描述位置变化的二维矢量,但在运动间隔极小的情况下,我们通常将其视为一个描述该点瞬时速度的二维矢量u=(u,v),称为光流矢量。

1.基本假设条件

(1)亮度恒定不变。即同一目标在不同帧间运动时,其亮度不会发生改变。这是基本光流法的假定(所有光流法变种都必须满足),用于得到光流法基本方程;

(2)时间连续或运动是“小运动”。即时间的变化不会引起目标位置的剧烈变化,相邻帧之间位移要比较小。同样也是光流法不可或缺的假定。

2.基本约束方程

考虑一个像素I(x,y,t)在第一帧的光强度(其中t代表其所在的时间维度)。它移动了 (dx,dy)的距离到下一帧,用了dt时间。因为是同一个像素点,依据上文提到的第一个假设我们认为该像素在运动前后的光强度是不变的,即:

将(1)式右端进行泰勒展开,得:

其中ε代表二阶无穷小项,可忽略不计。再将(2)代人(1)后同除dt,可得:

  设u,v分别为光流分别为沿X轴与Y轴的速度矢量,得:

  令分别表示图像中像素点的灰度沿X,Y,T方向的偏导数

   综上,式(3)可以写为:

  其中,Ix,Iy,It均可由图像数据求得,而(u,v)即为所求光流矢量。

  约束方程只有一个,而方程的未知量有两个,这种情况下无法求得u和v的确切值。这种不确定性称为“孔径问题”。此时需要引入另外的约束条件,从不同的角度引入约束条件,导致了不同光流场计算方法。按照理论基础与数学方法的区别把它们分成四种:基于梯度(微分)的方法、基于匹配的方法、基于能量(频率)的方法、基于相位的方法和神经动力学方法。

 

 

一定要注意了,这个光流场在我们这里算出来是为了预测!!!

我们的关键就是求出这个 u和v,构建光流场

这里很明显了,但是究竟他的光流法是用的什么实现的,待会我肯定要看一下

他首先建立了网格,然后用光流法算出了每个像素点的光流场,然后用这个能量函数算出了每个网格的s,

然后就是不是很理解的地方,他突然蹦出来一个lt,不知道怎么用

总之用能量的方法分割了

 

 

 

 

  最后用

进行返回,注意的是结果可能不是0和1,所以定一个阈值0.5来进行分割,但是二次图隔又是什么呢?

总之这篇论文算是看完了,一脑子?

posted @ 2019-09-12 01:17  coolwx  阅读(423)  评论(0编辑  收藏  举报