不知何故,我对视频序列中的光流概念是个新手,我已经读过关于光流的基础知识,我熟悉Horn & Shunck方法或Lucas &Kanade方法。
我意识到,在这些方法中,我们计算的是代表图像中像素运动的一些向量,当然,这些像素有一些约束(亮度恒定、平滑度和...)。
我的问题是:
根据公式fx*u + fy *v = -ft,我们如何准确地建立帧t中的一个像素与帧t + 1中的另一个像素之间的对应关系
我的意思是,我们如何确定它是我们在frame t + 1中找到的frame t中的相同像素,我不知道我们是在他们算法的哪一部分中找到这些像素,并在frame t和frame t + 1中的像素之间建立对应关系!我知道我们可以找到已经移动的像素,但我不知道我们是如何找到帧t和帧t + 1中像素之间的关系的。
我希望你理解我的问题:o)(o:
如果这是可能的答案,请尽可能地制定。
谢谢你
发布于 2013-01-16 23:43:20
实际上,Horn,Schunk和Lucas,Kanade的方法以不同的方式处理方程:
Fx*U + Fy*V = -Ft如你所见,这个方程是一个欠定的方程组。因此,Horn和Schunk提出了第二个假设。光滑度约束了U和V的偏差应该很小。这被集成到一个最小二乘框架中,在这个框架中你有:
(Fx*U + Fy*V + Ft)² + lambda * (gradient(U)² + gradient(V)² = E
E -> min利用该方程,可以通过将U的偏差设置为V来求解E和0。因此,运动矢量的解通过U和V的梯度算子联系起来。
Lucas和Kanade提出,在定义的区域中,Lucas Kanade窗口只计算一个运动矢量(或者一个区域具有唯一的运动/运动恒定约束),并将其放入最小二乘框架中:
sum(Fx*U + Fy*V + Ft)² = E
E->min对定义区域中的每个像素进行求和。U和V也可以很容易地通过E的偏差设置为0来计算。
通过这两个方程,您可以看到像素对应关系是通过使用时间(Ft)和空间图像梯度(Fx,Fy)找到的。在Lucas和Kanade的原始论文中有一张很好的图片,用图形显示了这种相关性。但是,有几点需要考虑:
如果图像包含纹理,则这些方法只能计算运动矢量(
F(x, y, t) = F(x + U, y + V, t + 1)的一阶泰勒近似。这意味着你的图像信号需要是线性的。因此,您只能计算高达几个像素的运动。这就是为什么图像金字塔被用来提供线性。发布于 2012-12-16 10:48:19
使用Fx*U + Fy*V = -Ft,我们不能在cvGoodFeaturesToTrack给出一组像素后,为一个pixel...so求解这个方程...在该set...according中的每个像素周围选择一个窗口,假设补丁/窗口(以所选像素为中心)在下一帧中具有相同的强度。假设在frameA中,我们通过考虑一个点周围的窗口来找出它的U和V。U和V给出了特定点在水平和垂直direction...using中应该经过的像素位移U和V,我们在下一帧中找到了点的位置,即frameB。根据恒定强度假设,frameB中预测点周围的补丁应该与frameA had...after中该点周围的补丁具有相同的强度。检查frameA和frameB中两个补丁之间的强度,以确定该点是否处于良好的轨道上。如果我在某个点上出错,我已尝试尽可能多地解释I could...correct me。
发布于 2017-01-03 10:22:51
在Horn和Schunk的方法中,不需要通过无关的方法计算两个帧之间的像素对应关系。H&S是一种迭代算法。对于两个连续的帧,您从u-s和v-s的一些初始值开始,然后迭代直到它收敛。
详细信息:
对于两个连续的帧,您执行以下几次迭代,(这是为每个像素计算的,想象一下有一个u-image-buffer和一个v-image-buffer)
u = u_av - Fx *(P/D)
v = v_av - Fy *(P/D)哪里
*, stands for multiplication
P = Fx * u_av + Fy * v_av + Ft
D = lambda + Fx**2 + Fy**2
Fx = gradient of image along x (can be averaged across the two frames)
Fy = gradient of image along y (can be averaged across the two frames)
Ft = temporal gradient across two frames
u_av = (sum of u-s of 4 diagonal neighbors)/4
v_av = (sum of u-s of 4 diagonal neighbors)/4
lambda=smoothness constraint coefficientU和v的初始值可以是零。
https://stackoverflow.com/questions/13873791
复制相似问题