0. 这篇文章干了啥?
近年来,高精度光流估计算法的发展取得了显著进展。从FlowNet开始,基于学习的光流方法已转向特征学习以进行匹配,逐渐摒弃了Lucas-Kanade或SIFT等传统手工设计的特征。尽管取得了这些进展,但早期的光流方法仍面临大位移和泛化到现实世界数据等重大挑战。最近的深度学习方法虽然缓解了这些问题,但计算成本也随之增加。
由于在实际世界中收集真实的光流数据存在困难,因此主要通过模拟来生成足够的训练数据。然而,使用模拟数据进行训练可能会因不现实的照明、反射和单调场景而导致过拟合。早期依赖卷积神经网络(CNN)的光流方法在处理大位移时存在困难,且其一次性架构无法很好地泛化到现实世界数据。
从RAFT开始,迭代细化部分缓解了泛化问题,同时也捕捉到了更大的运动。最近的研究通过引入最新的模块(如Transformer、部分核卷积、超级核等)进一步提高了准确性和泛化能力。然而,由于迭代细化过程,这些方法通常计算量更大。一些模型需要超过30次迭代才能生成稳定的光流,而其他模型虽然减少了迭代次数,但增加了每次迭代的计算负载。
分析NeuFlow-v1时,我们注意到在现实世界数据上存在类似的泛化问题。但使用之前方法中的细化模块会导致计算时间大幅增加,这是不希望的。为了缓解这一问题同时保持实时推理速度,我们向架构中引入了两个新组件。首先,我们详细分析了主干网络并移除了冗余组件,使其更加轻量级和高效。在主干网络之前,我们采用了交叉注意力和全局匹配模块来处理大位移问题,以估计不受感受野限制的初始光流。其次,我们提出了一个高效的迭代细化模块。这两个模块在保持计算成本较低的同时,大大提高了在现实世界数据上的性能。最终,我们的方法实现了实时性能,在Jetson Orin Nano上以512x384分辨率的图像运行,速度超过20 FPS。
下面一起来阅读一下这项工作~
1. 论文信息
标题:NeuFlow v2: High-Efficiency Optical Flow Estimation on Edge Devices
作者:Zhiyong Zhang, Aniket Gupta, Huaizu Jiang, Hanumant Singh
原文链接:https://arxiv.org/abs/2408.10161
代码链接:https://github.com/neufieldrobotics/NeuFlow_v2
2. 摘要
实时高精度光流估计对于各种现实应用至关重要。尽管最近基于学习的光流方法已达到了高精度,但它们往往伴随着巨大的计算成本。在本文中,我们提出了一种高效的光流方法,该方法在保持高精度的同时降低了计算需求。在NeuFlow v1的基础上,我们引入了新的组件,包括更轻量级的骨干网络和快速细化模块。这两个模块在保持计算需求较低的同时,提供了接近最先进技术的准确性。与其他最先进的方法相比,我们的模型在合成数据和现实数据上均保持了可比的性能,同时实现了10倍至70倍的加速。它能够在Jetson Orin Nano上以超过20 FPS的速度处理512x384分辨率的图像。完整的训练和评估代码可在https://github.com/neufieldrobotics/NeuFlow v2上获得。
3. 效果展示
图2展示了NeuFlow-v2在未见过的现实世界数据上的泛化示例。
4. 主要贡献
本文的主要贡献如下:
简单的主干网络:一个基于简单CNN的主干网络,用于从多尺度图像中提取低级特征。与常用的ResNet或特征金字塔网络等架构不同,这种轻量级主干网络被发现足以获得准确的光流。
推荐学习:
线结构光(单目&双目)三维重建系统教程
轻量级且高效的迭代细化模块:一个能够输出隐藏状态和解码细化光流的简单循环网络模块。与使用耗时的LSTM或GRU模块不同,我们提出了一个更简单的RNN模块,它更轻量级且在局部细化方面实现了更高的准确性。
5. 基本原理是啥?
在NeuFlow v1中,我们提出了一个类似的浅层主干网络,用于从多尺度图像中提取低级特征。在NeuFlow v2中,我们消除了冗余部分,仅保留了有效组件。这一设计的直觉是,在光流任务中,充足的低级特征比高级特征更为重要。图4详细说明了新的简单主干网络。我们使用由卷积层、归一化层和ReLU层组成的CNN块从1/2、1/4和1/8尺度的图像中提取特征。这个相同的CNN块用于将这些特征连接并调整为所需的输出尺度,特别是1/16尺度的特征和上下文,以及1/8尺度的特征和上下文。特征用于相关性计算,而上下文用于流细化。
请注意,1/1尺度的图像仅用于凸上采样,并不参与估计1/8分辨率的光流。第4节中的消融实验表明,从完整的1/1尺度图像中提取的特征会导致训练集(FlyingThings)上的过拟合,并且不会提高未见数据(Sintel, KITTI)的准确性。
6. 实验结果
7. 总结 & 未来工作
在本文中,我们提出了一种高效的光流方法,其精度接近最先进水平,同时速度提高了10倍,能够在边缘计算设备上实现实时推理。我们已经发布了NeuFlow v2的代码和模型权重(https://github.com/neufieldrobotics/NeuFlow_v2)。然而,我们也认识到,由于相关性计算,该方法存在内存消耗大的问题。已有多种模块解决了这一问题,这些模块可以在我们的架构中使用。
我们的方法还包含过多的参数(900万),这主要是由于简单的骨干网络和简单的RNN细化模块,它们高度依赖于卷积神经网络(CNN)。这可能会导致训练数据过拟合。许多高效的模块可以被替换以减少参数数量。例如,MobileNets使用深度可分离卷积,而ShuffleNet则利用逐点组卷积。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
3D视觉交流群,成立啦!
目前我们已经建立了3D视觉方向多个社群,包括
2D计算机视觉
、
最前沿
、
工业3D视觉
、
SLAM
、
自动驾驶
、
三维重建
、
无人机
等方向,细分群包括:
工业3D视觉
:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM
:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
三维重建
:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机
:四旋翼建模、无人机飞控等
2D计算机视觉
:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
最前沿
:具身智能、大模型、Mamba、扩散模型等
除了这些,还有
求职
、
硬件选型
、
视觉产品落地、产品、行业新闻
等交流群
添加小助理: dddvision,备注:
研究方向+学校/公司+昵称
(如
3D点云+清华+小草莓
), 拉你入群。
▲长按扫码添加助理:cv3d008
「
3D视觉从入门到精通
」
知识星球
「3D视觉从入门到精通」知识星球
,已沉淀6年,星球内资料包括:
秘制视频课程近20门
(包括
结构光三维重建、相机标定、SLAM、深度估计、3D目标检测、3DGS顶会带读课程、三维点云
等)、