0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

持续在榜的RAFT-Stereo,你确定不来了解吗?

3D视觉工坊 来源:计算机视觉工坊 2023-05-19 09:24 次阅读

论文题目:RAFT-Stereo: Multilevel Recurrent Field Transforms for Stereo Matching

作者:Lahav Lipson ;Zachary Teed; Jia Deng等人

作者机构:Princeton University(普林斯顿大学)

项目代码:https://github.com/princeton-vl/RAFT-Stereo(论文中提到的开源代码,用的是Pytorch框架)

在公众号「3D视觉工坊」后台回复「原论文」,可获取对应论文pdf文件。

RAFT-Stereo是一种用于立体匹配的算法,它使用多层循环场变换(Multilevel Recurrent Field Transforms)来精确定位左右两幅图像中的对应点。它包括一个RAFT网络和一个立体匹配分支,能够帮助解决深度估计中的一些挑战,如纹理缺失、遮挡和低纹理等问题。RAFT-Stereo能够有效地利用循环场变换来捕捉像素之间的长程依赖性,从而提高立体匹配的准确性。其次,它还使用了多个尺度和不同的分辨率,使算法对多尺度立体匹配具有良好的适应性。此外,RAFT-Stereo算法还采用了门控循环单元(GRU)来进一步提高处理速度。总的来说,RAFT-Stereo是一种有潜力的立体匹配算法,能够在多种深度估计应用中发挥作用。RAFT-Stereo也是作为middleburry排行榜中前五名中,唯一一个2021年就提出的算法,持续至今依然名列前茅。

d7ea8174-f5d0-11ed-90ce-dac502259ad0.png

1 前言

立体深度估计是一个基本的视觉问题,应用范围广泛。早期的研究集中在特征匹配和正则化两个关键部分。在处理中使用3D卷积神经网络计算代价体是主流方法,但代价较大,需要特殊方法才能操作高分辨率的图像。而光流问题则通常使用迭代精化的方法。光流和矫正立体镜头是紧密相关的问题,但两个任务的神经网络结构却有很大差异。这里,作者提出了RAFT-Stereo,一种新的双视立体结构体系,利用了RAFT特有的3D体积和迭代细化法。RAFT-Stereo仅使用2D卷积和一个轻量级的成本体积,相比之前的立体网络,具有更好的泛化能力且不需要复杂的损失项。RAFT-Stereo在KITTI、ETH3D和Middlebury等真实数据集上表现非常出色,且具有更好的跨数据集泛化能力。

2 相关背景

计算机视觉领域,立体匹配一直是一个关键性的问题,早期方法集中在设计更好的匹配成本和高效的推断算法上,而深度学习被应用于改进立体匹配的成本函数。目前的方法更注重于端到端可训练的3D神经网络架构,该架构包括用于从图像块计算成本的2D卷积网络,构建3D成本体,以及3D卷积层用于处理该成本体。这些方法在一些数据集上表现出色,但3D卷积的计算成本很高,往往不能泛化到其被训练的领域之外。因此,尽管一些努力已经集中在提高它们的泛化能力上,但许多工作仍然需要通过替换更轻量级的模块来提高计算效率。RAFT-Stereo是一种内存效率更高的算法,能够在百万像素图像上预测全分辨率的立体。

3 方法

给定一对矫正后的图像(IL, IR),目标是估计一个视差场d,使每个IL中的像素都有水平的位移。与RAFT类似,RAFT-Stereo的方法由三个主要组件组成:特征提取器、相关金字塔和基于GRU的更新运算符,如图1所示。更新运算符迭代地从相关金字塔中检索特征并对视差场进行更新。

d81e56fc-f5d0-11ed-90ce-dac502259ad0.png

3.1 Feature Extraction - 特征提取

作者介绍了一种基于特征编码器和上下文编码器的特征提取方法。特征编码器应用于左右图像并生成密集的特征图,用于构造相关体积。上下文编码器与特征编码器结构相同,但采用批量归一化替代实例归一化,仅在左图像上应用。在作者的方法中,上下文特征用于初始化更新运算符的隐藏状态,并在每次迭代中注入GRU。

3.2 Correlation Pyramid - 相关金字塔

作者提出了相关金字塔,用于提高矫正立体视觉的精度和鲁棒性。相关体积基于特征向量之间的点积,用于计算图像之间的相似性;相关金字塔通过对最后一个维度进行平均池化构建,它具有增加的接受野,但仅通过对最后一个维度进行池化,可以保留原始图像中的高分辨率信息,从而允许恢复非常细微的结构;为了从相关金字塔中检索像素,作者使用相关查找算法,它利用一个类似于 RAFT 中定义的查找算子和线性插值来实现检索。该方法具有高效性和鲁棒性,并且易于实现。

d83e55d8-f5d0-11ed-90ce-dac502259ad0.png

3.3 Multi-Level Update Operator - 多级更新运算符

作者从一个初始的起点d0 = 0开始预测一系列视差场{d1、…、dN}。在每次迭代中,作者使用目前的视差估计来索引相关体积,产生一组相关特征。这些特征经过了2个卷积层。同样地,目前的视差估计也经过了2个卷积层。然后将相关特征、视差和上下文特征连接起来并注入到GRU中。GRU更新隐藏状态,新的隐藏状态然后用于预测视差更新。

多个隐藏状态:原始的RAFT完全在固定的高分辨率上进行更新。这种方法的一个问题是,随着GRU更新次数的增加,接受域的增加非常缓慢。这可能对纹理较大、局部信息较少的场景有影响。作者通过提出一个同时在1/8、1/16和1/32分辨率上操作特征映射的多分辨率更新运算符来解决这个问题。

上采样:预测的视差场分辨率为输入图像的1/4或1/8。为了输出全分辨率的视差图,作者使用了和RAFT相同的凸上采样方法。RAFT-Stereo将全分辨率的视差值视为其粗略分辨率邻居3x3网格的凸组合。最高分辨率的GRU预测凸组合权重。

d85b8dba-f5d0-11ed-90ce-dac502259ad0.png

3.4 Slow-Fast GRU - Slow-Fast递归神经网络模型

在这个部分中,作者介绍了Slow-Fast GRU的方法,针对隐藏状态的1/8分辨率进行GRU更新所需的FLOPs大约是更新1/16分辨率隐藏状态的4倍。为了加快推理速度,在RAFT-Stereo的一个版本中,每次更新1/8分辨率的隐藏状态时都会多次更新1/16分辨率和1/32分辨率的隐藏状态。这种修改将运行时间降低了52%,但是不显著降低性能,使得RAFT-Stereo能够在实时运行中得到高效的计算结果。

3.5 Supervision - 监督

在整个预测序列中,作者监督预测和地面真相差距之间的距离l1, {d1,…, dN},权值呈指数增长。给定地真差dgt,损失定义为:

d8738df2-f5d0-11ed-90ce-dac502259ad0.png

4 实验

4.1 数据集和评估指标

作者在ETH3D、Middlebury 和KITTI-2015上评估了RAFT-Stereo的性能。遵循以前的工作,使用合成Sceneflow数据集对模型进行预训练。在ETH3D和Middlebury的排行榜上,RAFT-Stereo取得了较为先进的性能,并且RAFT-Stereo在ETH3D、KITTI和Middlebury的零样本泛化设置中优于其他的方法。

4.2 实施细节

RAFT-Stereo使用Pytorch实现,并使用两个RTX 6000 GPU进行训练。所有模块都从头开始随机初始化。在训练期间,使用AdamW优化器。在训练计划中进行32次视差场更新后评估RAFT-Stereo:最终模型使用批量大小为8的合成数据进行200k步的训练,而去除实验使用批量大小为6进行100k步的训练。在训练过程中运行消融实验,使用16个视差场更新,最终结果使用22个更新进行训练。作者使用一个单周期学习率计划,学习率最小值为。所有RAFT-Stereo实验都在随机选择的360x720裁剪上进行训练(不包括基准提交),所有实验,除了消融实验外,都使用数据增强。具体来说:图像饱和度在0(灰度)和1.4之间调整;右图被扰动以模拟常见于ETH3D和Middlebury等数据集中的不完美矫正;作者通过在范围内使用随机因子来拉伸图像和视差,以模拟一系列可能的视差分布。

d8916ffc-f5d0-11ed-90ce-dac502259ad0.png

d8ab7b18-f5d0-11ed-90ce-dac502259ad0.png

4.3 Ablations - 消融

RAFT-Stereo使用了多个隐藏状态和单独的backbone来提高性能。在运行时间和内存使用方面做了权衡,并通过简化成本体积和Slow-Fast技术进一步加快了运行时间。在视差估计上保持更高的分辨率可以提高性能,但会增加运行时间和内存使用。最优分辨率视场大小的选择需要在准确性和计算代价之间进行权衡。

4.4 Real-time Inferences - 实时推理

RAFT-Stereo在KITTI分辨率下可实现实时推理,可与DSMNet相媲美。Slow-Fast双级GRU和单个backbone的使用是实现实时推理的关键。RAFT-Stereo实现的双线性采样器可以进一步优化成像质量。

5 总结

RAFT-Stereo利用多级GRUs扩展了RAFT,实现了双视图立体结构。它在跨数据集上的表现达到了先进水平,并且在Middlebury基准测试中排名持续位列前五,在ETH3D上表现也非常优秀。

RAFT-Stereo是一种基于RAFT的深度图估计算法。是一种稠密光流算法,能够在输入图像之间估计像素之间的运动。RAFT-Stereo的主要思想是将光流作为控制变量来解决输入图像的深度图估计问题。该算法在流形空间中优化存储着光流场和深度图的全局能量函数。这种方法既可以考虑全局的能量函数,又可以在局部优化,具有高准确性和稳定性。

相比传统的基于视差的立体匹配算法,RAFT-Stereo在场景中具有更高的鲁棒性和鲁棒性。此外,RAFT-Stereo还支持在多GPU上进行训练和推理,并且速度非常快。总之,RAFT-Stereo是一种强大的深度估计算法,具有高准确性和鲁棒性。它可以用于许多应用程序,例如3D场景重建、自动驾驶汽车、虚拟现实和增强现实等。

d91d73da-f5d0-11ed-90ce-dac502259ad0.png

d92e0448-f5d0-11ed-90ce-dac502259ad0.png

d9679fbe-f5d0-11ed-90ce-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4765

    浏览量

    100608
  • 图像
    +关注

    关注

    2

    文章

    1083

    浏览量

    40431
  • 提取器
    +关注

    关注

    0

    文章

    14

    浏览量

    8118

原文标题:持续在榜的RAFT-Stereo,你确定不来了解吗?

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FHT4644国产替代必然性崛起不来了解一下芯片这些事吗

    FHT4644国产替代必然性崛起不来了解一下芯片这些事吗 国产芯片崛起,让国内发展环境变得更加稳定,国产芯片FHT4644通过性能实验测试,更高效。实验室常温条件下,实测数据,输出电流Iout
    发表于 06-24 17:38

    ESP32用send函数发送数据时,经常出现进到send后就出不来了的情况,为什么?

    使用ESP32的WIFI发送TCP数据时(模块做AP,TCP-Server),用send函数发送数据时,经常出现进到send后就出不来了的情况,唯一的解救办法就是断开WIFI连接,send才会返回
    发表于 06-26 07:00

    菜鸟求助:程序有时进入延时后就出不来了,不知怎么回事

    菜鸟求助:程序有时进入延时后就出不来了,不知怎么回事
    发表于 08-27 17:16

    DSP F2812 GPIOF12配置成通用I/O口,为什么输出不来了高电平?

    DSP F2812 GPIOF12配置成通用I/O口,为什么输出不来了高电平?难道说引脚没有内部上拉,就输出不了高电平吗?还是什么原因?
    发表于 10-31 17:17

    来了在哪?

    来了在哪?
    发表于 10-25 15:23

    请问AD1955处于DSD模式时只能是stereo吗?

    AD1955处于DSD模式时,只能是stereo吗?就算之前设置的是MONO,只要设置为SACD Slave后Output Fomat自动转换Stereo了。
    发表于 09-29 15:48

    为什么任务跑起来直接进入了while(1)出不来了

    我建立了2个相同优先级的任务,一个任务里是while(1);死循环,另一个是闪烁灯, 为什么任务跑起来直接进入了while(1)出不来了?不是有时间片轮询吗?
    发表于 07-24 04:35

    uCOSIII移植运行到OSStart();这个函数里面就出不来了是怎么回事?

    我把uCOSIII移植到STM32F103C8T6的时候,程序运行到OSStart();这个函数里面就出不来了,我移植是跟着原子哥的视频来的,以前的移植到STM32F103ZET6的时候都没有问题,但是这次不知道怎么回事,求帮忙,折腾了一下午了,实在没办法了
    发表于 09-03 04:35

    AD1955处于DSD模式时只能是stereo吗?

    AD1955处于DSD模式时,只能是stereo吗?就算之前设置的是MONO,只要设置为SACD Slave后Output Fomat自动转换Stereo了。
    发表于 11-29 08:24

    high performance stereo routin

    high performance stereo routing switcher
    发表于 04-18 20:37 48次下载
    high performance <b class='flag-5'>stereo</b> routin

    MLCC最新缺货型号排行,电子行业的各位赶紧来了解吧!

    MLCC最新缺货型号排行,电子行业的各位赶紧来了解吧,
    的头像 发表于 09-09 09:35 4356次阅读

    用案例来了解贴片功率电感的作用

    的朋友或许就会说我使用的电感,难道还没有了解的清楚?电感方面的问题或许真没有我了解的清楚。今天我们结合相关案例
    的头像 发表于 01-07 14:10 847次阅读
    用案例<b class='flag-5'>来了解</b>贴片功率电感的作用

    使用 RAPIDS RAFT 进行机器学习和数据分析的可重用计算模式

    使用 RAPIDS RAFT 进行机器学习和数据分析的可重用计算模式
    的头像 发表于 07-05 16:30 568次阅读
    使用 RAPIDS <b class='flag-5'>RAFT</b> 进行机器学习和数据分析的可重用计算模式

    多种角度来了解OBD2

    多种角度来了解OBD2
    的头像 发表于 09-04 09:55 2785次阅读
    多种角度<b class='flag-5'>来了解</b>OBD2

    无需电流采样电阻的智能电机驱动IC,不来了解一下么?

    无需电流采样电阻的智能电机驱动IC,不来了解一下么?
    的头像 发表于 11-30 17:43 442次阅读
    无需电流采样电阻的智能电机驱动IC,<b class='flag-5'>不来了解</b>一下么?