Paper Reading | 一种高效的光流估计方法——NeuFlow v2

简介: 本文介绍了一种高效的光流估计方法——NeuFlow v2。

魔搭论文板块全新上线! 作为社区内汇总人工智能技术领域最新学术研究成果的专属功能区域,它不仅提供论文列表及链接,还附加每篇论文的摘要概述与核心亮点,致力于帮助社区用户迅速把握各项研究的核心价值与创新之处。 通过每日更新的论文板块,用户能够及时掌握AI技术的最新研究动态、大模型的最新进展、数据集应用的创新实践,以及AI技术跨界应用的前沿成果,助力探索智能科技的无限可能。

论文标题:

NeuFlow v2: High-Efficiency Optical Flow Estimation on Edge Devices

论文链接:

https://modelscope.cn/papers/43893/overview

模型链接:

https://modelscope.cn/models/z878570312/NeuFlow_v2

论文解读

本文介绍了一种高效的光流估计方法——NeuFlow v2。光流估计在现实世界中有许多应用,但是传统的计算密集型方法难以满足实时性和准确性的需求。本文作者通过引入更轻量级的骨干网络和快速精炼模块,实现了高精度和低计算成本之间的平衡。与现有的最优方法相比,该模型具有10倍到70倍的速度优势,并且在合成数据和真实数据上都表现出与最优方法相当的性能。该模型可以在Jetson Orin Nano上以每秒超过20帧的速度运行。作者提供了完整的训练和评估代码供读者参考。

image.png

方法描述

具体来说,NeuFlow v2包括以下几个关键步骤:

  1. 简单的骨干网络提取特征:本文避免使用耗时的ResNet或是FPN,而是研发了轻量级的骨干网络来提取特征。该方法使用了一个简单的卷积神经网络结构来提取图像的低级特征。该网络在1/2、1/4和1/8倍尺度下分别提取低级特征,并将这些特征通过少量卷积得到最终的特征表示。
  2. 全局匹配和局部微调:该方法首先使用基于transformer的全局匹配来获得初始的光流估计值,然后通过多次迭代来进一步优化这个估计值。具体来说,在每次迭代中,该方法会计算出相邻像素之间的相关性,并将相关性与上下文信息以及之前的隐状态向量结合起来,经过多个卷积层的处理后得到更新后的隐状态向量和光流估计值。
  3. RNN快速微调模块:我们提出了一个更简单的 RNN 模块,能够输出隐状态向量和微调后的光流。该模块计算量小,效率高,可实现更高精度的局部微调,而不是使用耗时的 LSTM 或 GRU等常用模块。

方法改进

相比于之前的版本(NeuFlow v1),该方法主要进行了以下两个方面的改进:

  1. 精简网络结构:该方法去除了冗余部分,只保留了有效的组件。这样做的目的是为了提高模型的效率和准确性。
  2. 引入了CNN块:该方法引入了一个由卷积、归一化和ReLU层组成的CNN块,用于提取多尺度图像的特征。该CNN块不仅能够有效地捕捉到不同尺度下的特征信息,还能够在不增加参数数量的情况下提高模型的表现力。

解决的问题该方法主要解决了光学流估计中的两个问题:

  • 基于深度学习的光流估计精度较高,但速度太慢,无法在边缘计算设备上实时运行。传统光流估计方法则精度不足。我们在保持最高精度的同时达到了10到70倍的加速,实现了在边缘设备上实时运行。

论文实验

本文还介绍了NeuFlow v2的实验结果和与其他光流方法的比较。在实验中,作者使用了FlyingThings、Sintel、KITTI等数据集进行了训练和测试,并对模型的准确度、速度以及内存占用等方面进行了评估。

首先,作者将NeuFlow v2与Sea-Raft-Large、Sea-Raft-Medium、NeuFlow v2、RPKNet、DIP、FlowFormer、GMFlow、RapidFlow等其他光流方法进行了比较。在计算时间方面,NeuFlow v2在RTX 2080和Jetson Orin Nano上均表现出色,而且相对于其他重模型如RPKNet和FlowFormer来说,NeuFlow v2的速度更快,但精度相近。在准确度方面,NeuFlow v2在Sintel和KITTI数据集上的表现都相对较好,特别是相对于Sea-Raft-Large和Sea-Raft-Medium等模型,在Sintel数据集上的表现更加稳定。

接下来,作者还进行了一系列的Ablation Study(剪枝实验),以进一步优化NeuFlow v2的性能。具体包括:

  1. Backbone Module(骨干模块):作者发现,使用全尺度图像特征并没有提高精度,反而会导致一些性能下降的情况。
  2. Refine Module(微调模块):作者通过增加或减少CNN层的数量来观察其对精度的影响。结果显示,减少层数会略微降低准确性,而添加更多的层数并不会显著提高准确性。因此,作者选择了8个CNN层作为最佳配置。
  3. Architecture(架构):作者使用了Cross-attention来交换两张图像之间的全局信息,去除它不会显著影响Kitti数据集上的准确性,但在Sintel数据集上会造成较大的性能下降。此外,作者还发现去除全局匹配,并相应添加1/16尺度的微调迭代次数,会使模型推理时间变长,并导致验证集上的准确性小幅下降。
  4. Different Iterations(不同迭代次数):作者发现在1/16次迭代中的默认迭代次数为一次,因为额外的迭代并不能显著提高准确性。相比之下,1/8次迭代可以从更多迭代中受益,虽然增加了推理时间,但也可以进一步提高准确性。

本文通过一系列的实验和分析,证明了NeuFlow v2在光学流领域的优越性能,特别是在速度和准确性方面的平衡表现。同时,作者也为后续的研究提供了有价值的参考和启示。

最佳实践

在魔搭社区免费提供的GPU免费算力上可体验NeuFlow v2:

image.png

!git clone https://github.com/neufieldrobotics/NeuFlow_v2.git
%cd NeuFlow_v2
!python infer.py

results:


点击链接👇直达模型~

https://modelscope.cn/models/z878570312/NeuFlow_v2?from=alizishequ__text

相关文章
|
7月前
|
编解码 算法
【论文速递】Remote Sensing2021 : 通过半全局匹配法的SAR立体图像DSM生成以及惩罚方程的评估
【论文速递】Remote Sensing2021 : 通过半全局匹配法的SAR立体图像DSM生成以及惩罚方程的评估
|
5月前
|
机器学习/深度学习 数据采集 监控
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
**神经网络与AI学习概览** - 探讨神经网络设计,包括MLP、RNN、CNN,激活函数如ReLU,以及隐藏层设计,强调网络结构与任务匹配。 - 参数初始化与优化涉及Xavier/He初始化,权重和偏置初始化,优化算法如SGD、Adam,针对不同场景选择。 - 学习率调整与正则化,如动态学习率、L1/L2正则化、早停法和Dropout,以改善训练和泛化。
54 0
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
|
7月前
R语言EG(Engle-Granger)两步法协整检验、RESET、格兰杰因果检验、VAR模型分析CPI和PPI时间序列关系
R语言EG(Engle-Granger)两步法协整检验、RESET、格兰杰因果检验、VAR模型分析CPI和PPI时间序列关系
|
7月前
|
机器学习/深度学习 算法 vr&ar
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列
|
7月前
R语言POT超阈值模型和极值理论EVT分析
R语言POT超阈值模型和极值理论EVT分析
|
机器学习/深度学习 人工智能 vr&ar
光流法相关论文-LK光流法,HS光流法,Farneback光流法,FlowNet: 端到端的深度光流估计, RAFT: 结构化的光流估计
光流法相关论文-LK光流法,HS光流法,Farneback光流法,FlowNet: 端到端的深度光流估计, RAFT: 结构化的光流估计
319 0
|
7月前
R语言中的马尔科夫机制转换(Markov regime switching)模型
R语言中的马尔科夫机制转换(Markov regime switching)模型
|
7月前
|
资源调度 算法 Ubuntu
基于协方差矩阵自适应演化策略(CMA-ES)的高效特征选择
特征选择是指从原始特征集中选择一部分特征,以提高模型性能、减少计算开销或改善模型的解释性。特征选择的目标是找到对目标变量预测最具信息量的特征,同时减少不必要的特征。这有助于防止过拟合、提高模型的泛化能力,并且可以减少训练和推理的计算成本。
122 3
|
7月前
|
机器学习/深度学习 算法 计算机视觉
BEV新SOTA | Sparse4D v3用实例去噪+质量估计+解耦注意力全面提升BEV检测性能
BEV新SOTA | Sparse4D v3用实例去噪+质量估计+解耦注意力全面提升BEV检测性能
158 0
|
机器学习/深度学习 算法 Python
【状态估计】将变压器和LSTM与卡尔曼滤波器结合到EM算法中进行状态估计(Python代码实现)
【状态估计】将变压器和LSTM与卡尔曼滤波器结合到EM算法中进行状态估计(Python代码实现)
208 0

热门文章

最新文章