首页 理论教育 稠密光流算法简介

稠密光流算法简介

时间:2023-06-21 理论教育 版权反馈
【摘要】:图11.11在估计光流的迭代算法中,某一点的新的光流值(u,v)等于:该点邻域内的光流平均值(,)减去一个朝着约束直线方向的调节项。对于图11.7中给出的具体算例,稠密光流法所给出的结果是:在一个4×4格栅上的16个格栅点的运动速度[2]。图11.12中给出了:当λ=50时,经过30步迭代后,稠密光流法

稠密光流算法简介

对于角点丰富的图像,我们可以直接使用稀疏光流法来估计角点的运动信息,然后,基于角点运动信息完成后续的机器视觉任务。但是,并不是所有的图像都含有丰富的角点信息,对于图11.9所示的具有光滑边缘的图像区域,稀疏光流算法无法提供有效的运动信息。为了解决这一问题,我们需要尝试利用边缘的运动信息,相应的方法称为稠密光流算法,也就是说,对于图像中的每一个像素点,我们都要去估计它的运动速度。

11.4.1 光流的光滑性

现在,我们要引入附加信息。在第17章中,当我们讨论无源导航时,我们将假设:我们所处理的物体是刚体,那时,我们所需要从图像序列中恢复的主要的信息是:相机的平动速度和转动速度。刚体运动是一个很有约束性的假设,它提供了:一个关于解的很有效的约束。但是,在这里,我们希望我们的假设稍微宽泛一些,以使得我们可以对更一般的情况(例如:可以发生形变的弹性物体)进行讨论。通常,速度场在图像中的大部分区域中是均匀变化的。我们将尝试最小化所求得的光流的“不光滑”程度,即:

图11.9 并不是所有的图像都含有丰富的角点信息。对于具有光滑边缘的图像区域,稀疏光流算法无法提供有效的运动信息。

也就是说,对光流的梯度模长的平方的积分。同时,光流约束方程的误差:

也应该尽可能地小。总的来说,我们应该最小化

其中,权重系数λ用来调节:(所求得的光流估计结果)对于光流约束方程的满足程度和对于“光滑性”的符合程度之间的平衡。如果对图像亮度的测量结果很精确,那么参数λ应该比较大;如果对图像亮度的测量结果中包含很大的噪声,那么,参数λ应该比较小。

11.4.2 离散求解

我们直接通过离散近似的方式,来进行求解。首先,使用格点(i,j)及其近邻点的光流来进行近似计算,如图11.10所示。我们可以用如下方式:来测量:光流的“不光滑”程度。而光流约束方程的误差为:

图11.10 通过近邻点的光流分量的差分,我们可以估计:u和v的一阶偏导数

其中,分别表示:格点(i,j)处的亮度关于x、y和t的变化率的估计值。我们的目标是:寻找一组{ui,j}和{vi,j},使得:

取得最小值。上式中的e分别对uk,l和vk,l求偏导,可以得到:

其中,分别表示u和v的局部平均值,即:

(www.xing528.com)

当上式中关于e的偏导数等于零时,e取得极值。于是,我们可以整理得到:求解极值所对应的方程组,即:

式(11.35)和(11.36)是一个关于uk,l和vk,l的方程组,该方程组的2×2的系数矩阵行列式为:

因此,该方程组(即:式(11.35)和(11.36))的解为:

根据上面两式,我们可以立即设计出如下的迭代方法:

来进行求解。

11.4.3 算法实现过程

稠密光流算法的迭代更新过程包括如下两个步骤:

1.光滑性约束所对应的更新过程:,即式(11.33)和(11.34)。

2.数据匹配所对应的更新过程:,即式(11.40)和(11.41)。

每一个步骤中都只包含简单的计算过程,对于式(11.40)和(11.41),图11.11给出了一个有趣的解释。在某一像素点(k,l)处,新的光流速度(u,v)等于:该点周围的点的光流平均值减去一个调节项,在速度空间中,该调节项沿着:图像亮度的梯度方向。为了便于理解,我们不妨将式(11.40)和(11.41)进一步写为:当λ→∞(或1/λ→0)时,点正好(沿着亮度梯度的方向)落在直线=0上,参见图11.11。

图11.11 在估计光流的迭代算法中,某一点的新的光流值(u,v)等于:该点邻域内的光流平均值(,)减去一个朝着约束直线方向的调节项。

对于图11.7中给出的具体算例,稠密光流法所给出的结果是:在一个4×4格栅上的16个格栅点的运动速度[2]。图11.12(a)中给出了:当λ=50时,经过30步迭代后,稠密光流法的结果。图11.12(a)中给出了:当λ=0.1时,经过30步迭代后,稠密光流法的结果。较之于稀疏光流法,稠密光流法对于速度场的描述更加细致。

图11.13所显示的是:某一段视频中相互邻接的四帧图像,这几张图像记录的是:一个表面覆盖有光滑变化的亮度模式的转动着的球。亮度关于空间和时间的变化率的估计结果,被作为输入提供给上面提到的光流迭代算法(即式(11.40)和(11.41))。

经过1步、4步、16步和64步迭代后的结果如图11.14所示。第1步迭代的结果受球表面亮度模式的影响很大,经过几步迭代之后,除了球的轮廓部分,估计出的光流向量逐渐逼近正确的结果。

作为对比,图11.15(b)给出了速度场。除了球的轮廓部分以外,估计出的光流(如图11.15(a)所示)和速度场之间只有微小的差别。

图11.12 对于图11.7中给出的具体算例,稠密光流法所给出的结果是:在一个4×4格栅上的16个格栅点的运动速度。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈