博客
关于我
流体运动估计光流算法研究
阅读量:586 次
发布时间:2019-03-12

本文共 3026 字,大约阅读时间需要 10 分钟。

流体运动估计光流算法研究

流体运动估计技术在流体力学、医学和计算机视觉等领域发挥着重要作用。通过从流体图像序列中提取密集精确的速度矢量场,可以为多个领域提供有价值的信息。基于光流法的流体运动估计技术因其独特优势成为研究热点。相比于粒子图像测速技术,光流法能够获取更加密集的速度场,并且适用于标量图像的运动估计。此外,光流方法还能更好地适应各种物理约束。

光流法的基本原理

光流本质上是3维场景中物体运动投影到2维图像平面表现的像素点亮度变化。光流计算旨在从图像数据中估计物体的运动。Horn和Schunck(1981)开创性地提出了经典的变分光流估计模型,其目标函数包含数据项和平滑项的能量函数。数据项基于亮度守恒假设,即同一像素点的亮度在相邻两帧图像内保持不变。

通过对亮度守恒假设进行泰勒展开,可以得到速度矢量场的表达式。光流计算面临孔径问题,即单独使用式(3)估算速度的两个未知分量无法得到唯一解。为解决这一问题,通常采用附加的平滑项,如Eregu(·)项,执行流场的空间平滑度一致性。

基于光流法的流体运动估计技术

自经典光流模型提出以来,研究者不断进行改进,以提升算法的精度、鲁棒性和时空分辨率等性能。现有算法主要围绕以下关键问题进行发展:结合流体力学知识的能量最小化函数、提高对光照变化的鲁棒性、大位移估计和消除异常值。

1. 结合流体力学知识的能量最小化函数

Wildes等人(2000)和Corpetti等人(2002)尝试将经典光流模型应用于云运动估计,但结果表明该模型不能准确估计云的运动。经典光流模型主要适用于估计刚性运动,其依赖的亮度约束方程缺乏物理解释,难以捕获复杂运动模式。为克服这一局限性,研究者引入基于流体力学知识的改进模型。

Corpetti等人(2002)提出了一种结合流体力学连续性方程的光流模型,采用二阶散度—旋度(div-curl)正则化替换经典模型中的一阶正则化。这种改进能够更好地恢复流体运动的散度和旋度结构。Liu和Shen(2008)根据3维物体空间中的传输方程或连续性方程在2维图像平面上的投影,推导出针对流体可视化的投影运动方程,并将其作为光流约束。

Yang和Johnson(2017)利用Liu等人(2008)提出的基于物理的光流方程,提出一种散度补偿光流法,并成功应用于X射线图像的流场估计。Cassisa等人(2011)和Zille等人(2014)引入大涡模拟的相关概念,提出亚网格传输方程模型,以捕捉湍流的小尺度速度分量。Chen等人(2015)在此基础上,系统地计算嵌入光流约束方程中的小尺度扩散项,得到了改进的估计结果。

Cai等人(2018)推导了一种基于位置不确定性的光流方程,通过Mémin(2014)的推导,将流体运动的欧拉速度分解为大尺度分量和位置不确定性的小尺度湍流分量。Kohlberger等人(2003)基于亥姆霍兹分解定理,提出了对图像序列中的非刚性结构进行稠密运动估计的方法,将速度场分为无散度分量和无旋度分量之和。

Cuzol和Mémin(2005; Cuzol等,2007)提出了一种基于亥姆霍兹分解的低维流体运动估计方法,结合离散化的涡度和散度图和正则化狄拉克测度,实现了更高的精度和更快的计算。Ruhnau等人(2007)提出了一种基于涡度传输方程的流体运动估计方法,考虑了流场间的时间相关性。Zuo和Qi(2017)提出了一种时空光学流模型,能够同时估计流体序列所有帧的速度场。

Lu等人(2019)提出了一种基于场分割的变分光流方法,用于保留非均匀流场的空间不连续特性。该方法根据流体的速度分布对图像进行分割,将不连续的流场划分为多个连续的速度场,并根据速度在每个分割区域中连续变化的假设建立平滑约束条件。

2. 提高对光照变化的鲁棒性

经典的变分光流模型主要依据亮度恒定假设,无法满足实际情况下的光照变化需求。Uras等人(1988)、Zhou等人(2000)、Nakajima等人(2003)和Arnaud等人(2006)将连续性方程应用于光流模型,提高了流体运动估计的精度。计算机视觉领域在经典变分光流法的基础上也进行了诸多改进,以提高对光照变化的鲁棒性。

Brox等人(2004)使用梯度守恒假设对亮度恒定假设进行扩展,Papenberg等人(2006)在此基础上引入Hessian恒定假设和Laplacian恒定假设。Zhong等人(2017)利用基于梯度不变假设的数据项及一阶散度和涡度构成的平滑项,提出了一种新的2维光流算法。

Zabih和Woodfill(1994)提出了两种非局部参数变换:rank变换和census变换。Müller等人(2011)将census变换应用于变分光流计算方案,并提出了一种新的光流估计方法。Ranftl等人(2014)通过对具有不同半径的径向模板进行采样,提出了一种尺度不变的census描述符。

Yuan等人(2014)将rank变换嵌入到基于TV-L1模型的数据项中,提出了一种对单调变化的光照具有鲁棒性的光流估计方法。Demetz等人(2013)提出了一种新的rank变换———CRT(complete rank transform),对全部像素的秩进行编码。

Rashwan等人(2013)提出了一种对光照变化具有高度不变性的局部纹理描述子方向梯度直方图(HOG)。Mohamed等人(2014)通过修改使用二进制特征描述符作为匹配成本的局部定向模式,提出了一种对光照变化更加鲁棒的方法。Ali等人(2016)提出了一种使用邻域描述符作为匹配成本的方法。

Xu等人(2017)介绍了一种称为亮度分布矩阵(BDM)的新型数据结构,对剧烈变化的光照具有鲁棒性。该方法在处理复杂流体情况时需要进行大量计算,因此还开发了基于GPU的并行版本。

3. 大位移估计

光流法使用的变分公式仅限于小位移估计而无法捕捉大的运动。Bruhn等人(2005)选择了凸型的Charbonnier惩罚函数来构造能量函数。Sun等人(2010)对凸型Charbonnier惩罚函数和非凸型Lorentzian惩罚函数进行测试,发现在测试集上使用凸型Charbonnier惩罚函数的算法性能优于使用鲁棒性较强的非凸型Lorentzian惩罚函数的算法。

Sun等人(2014)提出了一种新的加权中值滤波模型,但在所有像素上应用加权中值运算增加了计算成本。为了解决大位移估计问题,研究者采用多分辨率金字塔方案。通过一系列不同尺度的图像序列来找到运动矢量,将当前模型获得的估计值线性化并嵌入到多分辨率金字塔结构中。

4. 消除异常值

光流估计过程中可能会产生异常值,影响估计结果的准确性。Sun等人(2010)发现在“由粗到细”的增量估计过程中加入中值滤波步骤也能有效去除异常值的影响。不过,仅在较大邻域中进行中值滤波具有优势,在以拐角或薄结构为中心的邻域,计算中间值会导致过度平滑。Sun等人(2014)提出了一种新的加权中值滤波模型,但在所有像素上应用加权中值运算增加了计算成本。

综上所述,基于光流法的流体运动估计技术在提升精度、鲁棒性和适应复杂流体运动方面取得了显著进展,但仍面临计算耗时、鲁棒性不足等问题。未来的研究方向应集中在结合湍流模型、位置不确定性、场分割和自适应光照变化模型等方面,以进一步提升光流算法的性能。

转载地址:http://vyrtz.baihongyu.com/

你可能感兴趣的文章
np.bincount(x)的简单解释
查看>>
LeetCode Top-100 T22-括号生成
查看>>
vscode设置eslint保存文件时自动修复eslint错误
查看>>
deepin 安装过程记录
查看>>
JAVA 多线程
查看>>
Java的 arraylist类【具体案例】
查看>>
牛客-链表中环的入口节点(Java)
查看>>
解决微信小程序中 calc 失效问题
查看>>
JS数组去重的方法
查看>>
堆的应用_topK算法和堆排序
查看>>
最大半连通子图
查看>>
Remove Extra one 维护前缀最大最小值
查看>>
跳台阶
查看>>
另类加法,走方格的方案数,最近公共祖先
查看>>
线程学习5
查看>>
[Java Path Finder][JPF学习笔记][7]JPF输出详细程度设置
查看>>
GitHub完整记录数据库GHTorrent的下载和安装经验
查看>>
设计模式—— 三:依赖倒置原则
查看>>
SpringBoot打包之后乱码
查看>>
因SGA分配错误无法启动数据库
查看>>