0. 论文信息
标题:Hybrid Cost Volume for Memory-Efficient Optical Flow
作者:Yang Zhao, Gangwei Xu, Gang Wu
机构:上海交通大学、华中科技大学
原文链接:https://arxiv.org/abs/2409.04243
代码链接:https://github.com/gangweiX/HCVFlow
1. 引言
光流是计算机视觉的一个基本方面,旨在估计连续两幅图像中每个像素的二维运动。这一任务作为提供密集对应关系的基础组件,为下游应用提供了宝贵的线索,包括目标跟踪、高质量视频重建和自动驾驶。随着深度学习的兴起,基于神经网络的方法已成为光流算法的主流,在精度上取得了优异的结果。然而,在内存消耗和高精度之间取得平衡仍然是一个具有挑战性的任务,这限制了光流算法在高分辨率图像场景中的应用。
在光流估计的深度学习方法中,一个关键模块称为代价体(也称为相关体)具有重要地位。该组件捕获两幅图像中像素之间的相关性,有效地存储了它们之间的相似性或差异性的度量。RAFT在光流研究领域取得了重大进展,通过计算所有像素对之间的相关性来构建全局4D代价体。这一包含全面匹配信息的代价体使RAFT达到了惊人的精度水平。然而,该方法存在一个缺点:构建此类代价体的空间复杂度为O(H×W×H×W)。随着图像分辨率的增加,计算所需的内存呈二次方增长,限制了其在高分辨率图像中的应用。为了减轻构建完整匹配代价体的内存开销,一些研究人员提出了构建代价体的内存高效方法。一个典型的例子是Flow1D,它分别沿着水平和垂直方向构建两个三维代价体。这种方法将总体复杂度降低到O(H×W×(H+W))。然而,在构建代价体的过程中,Flow1D在每个位置使用全局注意力来传播和聚合与当前行/列正交的特征信息。这种基于注意力的聚合引入了大量噪声,并且与位置密切相关,导致其在匹配大运动时遇到困难。
在本文中,我们提出了一种新型的混合代价体(HCV)用于内存高效的光流估计。利用这种混合代价体,我们设计了一个端到端的网络,名为HCVFlow,用于光流估计,该网络在需要较少内存资源的同时实现了显著的精度。
实验结果表明,使用我们的混合代价体(HCV)构建的HCVFlow在精度和内存消耗方面均表现出色。在KITTI数据集上的实验表明,我们的方法比以前的内存高效方法(如Flow1D)高出16%以上。我们的模型精度接近RAFT,但仅需要RAFT八分之一的内存。此外,我们在Sintel测试数据集上的基准测试也超过了RAFT,显著优于其他内存高效方法。具体来说,我们的方法在Sintel(Final)测试数据集上比Flow1D高出26%。
下面一起来阅读一下这项工作~
2. 摘要
目前最先进的光流方法大多基于密集的全对代价体。然而,随着图像分辨率的增加,构建这些代价体的计算和空间复杂度以四次方速率增长,使得这些方法对于高分辨率图像来说不切实际。在本文中,我们提出了一种名为HCV的新型混合代价体,用于内存高效的光流估计。为了构建HCV,我们首先提出了一种Top-k策略,将4D代价体分离成两个全局3D代价体。这些代价体在显著降低内存使用的同时,保留了大量的匹配信息。我们进一步引入了一个具有局部搜索空间的局部4D代价体,以补充HCV的局部信息。基于HCV,我们设计了一个内存高效的光流网络,名为HCVFlow。与基于全对代价体的循环光流方法相比,我们的HCVFlow在显著降低内存消耗的同时,确保了高精度。我们在Sintel和KITTI数据集以及现实世界中的4K(2160*3840)分辨率图像上验证了该方法的有效性和效率。大量实验表明,我们的HCVFlow具有极低的内存使用量,并且在精度方面优于其他内存高效的方法。
3. 效果展示
4. 主要贡献
总的来说,我们的工作做出了以下主要贡献:
• 我们开发了一种内存高效的代价体构建技术,通过实现Top-k策略,将传统的4D代价体分解为两个更易管理的3D代价体,显著降低了内存要求,同时保留了最有价值的匹配信息。此外,我们还设计了一个轻量级的聚合模块,使这些3D代价体能够捕获更多的非局部信息,增强了它们处理复杂运动场景的能力。
• 我们创新地将3D全局代价体和4D局部代价体相结合,创建了混合代价体(HCV)。这种新颖的结构不仅最小化了内存消耗,还编码了一组丰富的有效匹配信息,能够处理各种运动。全局和局部代价体的结合解决了在广泛场景下准确预测运动的挑战,使HCV成为一种通用且高效的解决方案。
• 利用混合代价体(HCV),我们构建了一个名为HCVFlow的端到端光流预测网络。实验结果表明,HCVFlow在KITTI数据集上的精度比具有代表性的内存高效方法Flow1D高出16%,并且仅以RAFT八分之一的内存消耗接近RAFT的性能。在Sintel测试数据集上,HCVFlow的基准测试结果比Flow1D高出26%以上,并且超过了RAFT。
5. 方法
混合代价体(HCV)的构建主要分为两个阶段:在第一阶段,我们通过计算目标特征图和参考特征图之间的相关性,沿着水平和垂直两个维度构建两个3D全局代价体。与Flow1D不同,后者使用注意力技术将所有信息聚合到每行或每列的单个值中,我们的方法采用了Top-k策略。该策略保留了每行或每列中相关性最高的k个位置,从而确保了重要的匹配信息得以保留。此外,我们还引入了一个轻量级且高效的可分离聚合模块。该模块沿着两个维度聚合3D代价体,捕获了更多的非局部信息。这对于处理遮挡区域或大面积无纹理/反射表面等挑战特别有益。聚合模块还提供了相对准确的光流初始预测,为进一步的光流回归奠定了基础。聚合后,结果是两个3D全局代价体,它们涵盖了更广泛的潜在匹配场景,同时内存开销最小,从而提高了后续光流预测的准确性。在第二阶段,通过在一个局部2D搜索空间内计算相关性来构建局部4D代价体。这个局部4D代价体具有相对较小的搜索域,不会显著增加内存消耗。重要的是,通过在局部2D域内保留匹配信息,它补充了全局3D代价体中可能缺失的关键局部细节。
推荐课程:
聊一聊经典三维点云方法,包括:点云拼接、聚类、表面重建、QT+VTK等
。
通过将这两个全局3D代价体与局部4D代价体相结合,我们得到了最终的混合代价体(HCV)。这种创新结构有效地平衡了内存效率和捕获详细运动信息的能力,显著提高了在各种具有挑战性场景下的光流预测精度和可靠性。
使用Top-k策略构建两个3D代价体的总体复杂度为O(H×W×(D+D)×K),其中K远小于H(高度)和W(宽度),特别是对于高分辨率图像。我们通常将K设置为8。D表示水平/垂直方向上的最大位移。构建局部4D代价体的复杂度为O(H×W×(2R+1)²),其中R为搜索半径,且R远小于H和W。因此,构建混合代价体(HCV)的总复杂度保持在O(H×W×(D+D)×K)。对于高分辨率图像,D小于H或W。与RAFT中生成代价体的O(H×W×H×W)复杂度相比,我们的方法显著降低了内存要求,同时有效地捕获了关键的匹配信息。
6. 实验结果
7. 总结 & 未来工作
RAFT及其后续方法通过使用4D全局代价量在光流估计中实现了高精度。然而,它们的内存消耗随着图像分辨率的增加而呈二次方增长,从而限制了它们在高分辨率图像中的应用。在本文中,我们提出了一种新颖的方法来构建混合代价量(HCV),该方法在显著降低内存消耗的同时保持了较高的预测精度。通过利用Top-k策略将4D代价量分解为水平和垂直的3D代价量,并使用聚合模块进行处理,我们有效地减少了内存开销,同时保留了大部分匹配信息。此外,我们还构建了一个局部4D代价量来补充局部信息。通过结合这些代价量,我们的HCV不仅大幅降低了内存使用量,而且在各种运动场景下都实现了较高的预测精度。我们希望我们的研究能够促进高分辨率图像和边缘设备中光流算法的研究与应用。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
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视觉从入门到精通」知识星球