目前我正在学习密集的光流。为了理解它,我进行了一个实验。我使用Matlab生成一个图像。将具有给定灰度值的一个框放置在一个均匀背景下,并且在另一图像中将该框在x和y方向上平移两个像素。这两个图像被输入到称为TV-L1的算法的实现中。生成的框外部的运动矢量不为零。这个盒子外面的梯度是零的原因是什么?是否从具有大梯度值的值填充值? 在Horn和Schunck的论文中,它读到了
在亮度梯度为零的图像部分中,速度 估计值只是相邻速度估计值的平均值。那里 没有局部信息来约束运动的表观运动速度 这些领域的亮度模式。
这种填充现象的进展类似于传播效应 在均匀平板的热方程的解决方案中,温度变化的时间速率与拉普拉斯算子成正比。
对于梯度较小的像素,是否无法获得正确的运动矢量?或者实验不实用。在实际应用中,这并没有发生。
答案 0 :(得分:1)
是的,在所谓的具有非常小的梯度的同质图像区域中,没有可以存在运动的信息。这就是为什么矩形的运动在边界外传播的原因。如果你给你的背景纹理这个效果将不那么显着。在估计汽车的自我运动时,我知道这样的问题。然后,这种威胁造成了很多问题,因为这里是同质化的。
答案 1 :(得分:0)
该领域的两位先驱者Lukas& Kanade(LK)和Horn& Schunch(HS)是用于计算光流(OF)的开发方法。两者都依赖于亮度恒定性假设,其假设两个序列帧之间的位置像素值不变。这个约束可以表示为两个方程:I(x + dx,y + dy,t + dt)= I(x,y,t)和∂I/∂xdx+∂I/∂ydy+∂I/∂t通过使用泰勒级数展开式I(x + dx,y + dy,t + dt)得到dt = 0,得到(x + dx,y + dy,t + dt)= I(x,y,t)+∂ I /∂xdx+∂I/∂dyy+∂I/∂tdt...让∂x/∂t= u和∂y/∂t= v并结合这些方程我们得到OF约束方程:∂I/∂t =∂I/∂tu+∂I/∂tv。 OF方程有多个解,所以不同的技术在这里不同。假设每个被跟踪特征的邻域中的像素以与特征相同的速度移动,导出LK方程。在OpenCV中,捕获具有小窗口大小的大运动(以保持“相同的局部速度”假设)。