专栏名称: 3DCV
关注工业3D视觉、SLAM、自动驾驶技术,更专注3D视觉产业的信息传播和产品价值的创造,深度聚焦于3D视觉传感器、SLAM产品,使行业产品快速连接消费者。
目录
相关文章推荐
人民网舆情数据中心  ·  广东吴川一中学生疑遭欺凌、官方回应网传浙江一 ... ·  19 小时前  
人民网舆情数据中心  ·  从农村聚餐不得使用四季豆事件分析基层移风易俗 ... ·  19 小时前  
江苏新闻  ·  江苏一市市管领导干部任前公示 ·  3 天前  
江苏新闻  ·  江苏批复了!淮安,大消息传来! ·  3 天前  
51好读  ›  专栏  ›  3DCV

精度、速度、显存吊打一切SOTA!LightStereo:17ms实现最强立体匹配!

3DCV  · 公众号  ·  · 2024-07-20 00:00

正文

点击下方 卡片 ,关注 「3D视觉工坊」 公众号
选择 星标 ,干货第一时间送达

来源:3D视觉工坊

添加小助理:dddvision,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群

扫描下方二维码,加入 3D视觉知识星球 ,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料: 近20门视频课程(星球成员免费学习) 最新顶会论文 、计算机视觉书籍 优质3D视觉算法源码 等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!


写在前面

双目立体匹配旨在确定立体图像对中像素之间的对应关系,以计算深度信息。这一技术支撑了自动驾驶、机器人导航和增强现实等应用。尽管双目立体匹配技术经历了显著的进步和创新,在资源有限的平台上实现实时立体匹配仍然是一项艰巨的挑战。传统方法的代价聚合依赖于计算密集型的4D代价体,而本文采用3D代价体作为一种轻量级替代方案,提出了轻量级立体匹配网络LightStereo。LightStereo专注于优化3D代价体的通道维度来提高性能,从而更好拟合匹配视差分布。本文通过全面探索,提出了多种策略以扩展关键维度的容量,保证了精度和效率的平衡。LightStereo与现有的SOTA方法在多种基准上进行了比较,展示了其在速度、准确性和资源利用率方面的卓越性能。在SceneFlow数据集中,LightStereo实现了具有竞争力的EPE,同时仅需22GFLOPs的计算量和17毫秒的推理时间。对LightStereo的综合分析揭示了2D代价聚合在立体匹配中的可用性,为高效立体系统的实际应用铺平了道路。

  • 论文链接: https://arxiv.org/abs/2406.19833

  • 代码链接: https://github.com/XiandaGuo/OpenStereo

LightStereo: 中科慧拓技术团队新成果

中科慧拓技术团队联合武汉大学、西安交通大学、中科院自动化所、加州大学伯克利分校、博洛尼亚大学和元橡科技等单位联合提出的轻量级立体匹配网络LightStereo,专门设计用于解决实时立体视觉应用中的各种挑战,在不影响视差估计质量的前提下减少计算需求。该方法创新地提出了一个轻量级的2D encoder-decoder聚合网络,实现了精确的视差估计。

本文提出的LightStereo由五个部分组成:特征提取、代价计算、代价聚合、视差预测和损失函数。技术上本方案提出多尺度卷积注意力模块(MSCA),以捕获和融合多个尺度的特征。首先通过左右特征图来构建代价体。然后,进一步利用倒残差块来聚合低分辨率代价体的视差,以降低计算复杂度。最后,利用每个视差的概率分布来估计视差图。其中损失函数采用平滑L1损失。

该模型在SceneFlow、KITTI 2012和KITTI2015等数据集上的运行时间远远低于其他方法,在显著降低计算成本的同时,其各项评估指标仍然具有竞争力。

图1.SceneFlow(左)和KITTI15(右)数据集上的性能与时间的关系

问题背景

立体匹配是计算机视觉中的一项关键任务,其目的是确定立体图像对中像素之间的对应关系,从而计算深度信息。这一方法支撑了许多应用,包括自动驾驶、机器人导航和增强现实。尽管取得了巨大的进步,但在不牺牲精度的情况下实现实时立体匹配仍然是一个艰巨的挑战,特别是在资源受限的平台上。很多现有的立体匹配方法都是将3DCNN用于代价聚合,其在性能上有了明显提升,然而,这些方法计算复杂度高、资源需求大的缺点限制了它们在实时场景中的应用。尽管有一些研究侧重于立体匹配的轻量化设计,但这些基于2D代价聚合的方法的性能表现不佳。

代价聚合对立体匹配的精度至关重要,但实时的方法需要在精度和速度之间做出妥协。是否有可能设计一个轻量级的二维编码器-解码器聚合网络来实现精确的视差估计?本文提出了LightStereo作为解决方案,探索了2D代价聚合用于立体匹配,并利用倒残差块来提高精度和计算效率。该模型是专门为解决实时立体视觉应用的挑战而设计的,重点是在不影响视差估计质量的情况下减少计算需求。在立体匹配中,提出了用于2D代价聚合的倒残差块,它关注的是代价体的视差通道维度。对于代价聚合来说,这种方法被证明是有效且轻量级的。从立体匹配的代价聚合角度看,关注视差通道维度具有若干优势。首先,它允许更直接地建模对应图像点之间的视差,这对于准确估计深度至关重要。通过对视差维度进行优先级排序,该方法可以有效地捕获和整合与立体匹配相关的信息。此外,受大核卷积和条带卷积在图像分割中的有效性的启发,本文提出了一个多尺度卷积注意力模块(MSCA),通过从左侧图像中提取特征来增强代价聚合效果。

图2.上图说明了LightStereo的整体架构。MSCA是指多尺度卷积注意力模块

提出了一个轻量级立体匹配网络LightStereo,整体架构如图1所示。创新性地探索了用于立体匹配的2D代价聚合,利用先进的技术来提高准确性和计算效率。LightStereo在四个不同的尺度上提取特征图,将分辨率分别降低到初始尺寸的1/4、1/8、1/16和1/32。随后,使用带有跳跃连接的上采样块将这些特征映射恢复到1/4比例。其次,利用从左右图像中提取的左侧特征和右侧特征,通过比较不同视差上的特征图构建相关代价体。然后,使用倒残差块来聚合1/4、1/8和1/16分辨率代价体,在每个分辨率下,使用多尺度卷积注意力块融合左图信息。最后,使用视差回归的方法来预测视差图。在广泛使用的SceneFlow和KITTI基准测试上进行了大量实验证明LightStereo在速度、准确性和资源利用率方面的优越性能。

1)2D代价聚合的倒残差块

如图2所示,倒残差块是轻量化立体匹配网络设计的基本组成部分。给定输入代价体(维度为H/4 × W/4 × Disp/4),关键思想是首先扩展视差通道的数量,然后应用深度卷积,最后将扩展后的特征投影回低维空间。倒残差块的分辨率分别为1/4、1/8和1/16,每个分辨率对应不同的残差块。对于每个块:

首先,代价体

通过1 × 1的卷积来增加视差通道的数量:


式中, 表示卷积的权重, 表示卷积运算, 为ReLU6激活函数。接下来, 经过3 × 3深度卷积,在每个视差通道上操作以捕获空间特征:

最后,结果 经过另一个1 × 1卷积,将通道数量减少到原始维度:

如果输入和输出尺寸匹配,则增加一个跳跃连接:

倒残差块的结构显著降低了计算复杂度,使其成为资源受限环境的理想选择。

图3.代价聚合中不同块的比较。DW是指深度可分离卷积,V1 Block表示深度可分离卷积,V2 Block表示倒残差块,ViT Block是指EfficientViT中使用的块

2)多尺度卷积注意力模块

多尺度卷积注意力模块(MSCA)旨在捕获多个尺度的特征,以增强代价聚合的特征表示。MSCA包含一系列具有不同核大小的深度可分离卷积,具体为1 × 1,7 × 1,1 × 7,11 × 1,1 × 11,21 × 1和1 × 21。这些卷积捕获了水平和垂直的条状特征,这对于识别图像中的细长结构至关重要。我们选择深度条形卷积的原因是它们是轻量级的。例如,通过使用一对7 × 1和1 × 7卷积,我们可以有效地代替标准的7 × 7卷积。因此,条形卷积作为网格卷积的补充,有助于提取左侧图像的条形特征。

给定尺寸为H × W × 3的立体图像输入,该方法得到三个尺度的特征分别是原始分辨率的1/4、1/8和1/16。然后,通过MSCA模块对这些多尺度特征图进行处理,进一步提取水平和垂直条形特征。然后将MSCA的输出连接起来,形成一个全面的多尺度特征表示。该聚合特征随后由1 × 1卷积处理,该卷积充当通道混合器。在MSCA处理后,将最终输出与聚合代价相乘,提高了代价聚合的精度。

3)LightStereo的网络架构

本文提出的LightStereo包括五个部分:特征提取、代价计算、代价聚合、视差预测和损失。下面对每个模块进行介绍。

多尺度特征提取 对于尺寸为H × W × 3的立体图像对输入,本文利用了MobileNetV2模型作为核心架构基础,该模型先前在ImageNet数据集上进行了训练。我们可以在四个不同的尺度上提取特征图,有效地将分辨率分别降低到初始尺寸的1/4、1/8、1/16和1/32。随后,使用带有跳跃连接的上采样块将这些特征映射恢复到1/4比例,用于构建代价体。

代价体构建 利用从图像 中提取的左侧特征 和右侧特征 构建一个代价体。相关代价体构建涉及比较不同视差上 的特征。对于0到D−1范围内的每个视差 ,计算 之间偏移 个像素特征的相似度。数学上,这可以表示为:

时,代价计算为在同一空间位置上,在所有通道上,来自 的特征向量的元素积的平均值。

代价聚合 使用倒残差块来聚合代价体,对代价体进行多次下采样,将分辨率降低为原图尺寸的1/4, 1/8,1/16,在每个分辨率下,使用多尺度卷积注意力模块处理左图像。我们基于块和扩展变体开发了三种LightStereo变体:用于小规模应用的LightStereo-S,用于中等规模任务的LightStereo-M和LightStereo-L。在LightStereo-S中,倒残差块配置为(1,2,4),扩展因子为4。对于LightStereo-M,块设置为(4,8,14),扩展因子为4。最后,LightStereo-L利用扩展因子为8的块(8,16,32)。LightStereo-L*的主干采用了EfficientnetV2。

视差回归 使用视差回归来估计视差图。该方法利用每个视差 的概率分布来预测视差, 是通过softmax操作 从预测代价 中得到的。然后,通过将每个视差 按其概率的加权和来确定预测的视差 ,如公式所示:

损失函数 使用平滑L1损失来训练本文所提出的LightStereo。损失函数定义为:

其中 为标记像素数,d为真实视差, 为预测视差。

LightStereo实验结果

本文对LightStereo与SOTA方法进行了一系列深入而详尽的对比实验。这些实验涵盖了从 计算量 参数量 、从 运行时间 性能表现 等一系列关键指标。通过这些全面的实验,揭示了LightStereo具有高水平的的准确度和效率。

如表1所示,本文提出的LightStereo方法在SceneFlow数据集上与几种最先进的立体匹配方法进行了比较。在运行时间方面,LightStereo-S的运行时间仅为17ms。在模型复杂度方面,LightStereo-S也达到了良好的效果,仅为22.71GFLOPs,远低于StereoNet的85.93GFLOPs。这反映了LightStereo可以在实现轻量化的同时保证具有竞争力的性能。在精度方面,LightStereo-L*的EPE为0.51,低于Fast-ACVNet+(0.59)和IINet(0.54),同时使用更低的计算成本。总的来说,我们的LightStereo框架,特别是LightStereo-S变种,为实时立体匹配提供了一个出色的解决方案,在计算效率和深度估计精度之间实现了有效的平衡。这使得它非常适合自主导航和增强现实等应用,在这些应用中,快速可靠的双目立体匹配算法是必不可少的。

图4.Sceneflow测试集的定性结果。第一列在第一行显示左图像,在第二行显示右图像。第二列到第五列在第一行显示预测的视差图,在第二行显示相应的误差图
表1.在SceneFlow数据集上与SOTA方法的比较。在我们的RTX 3090 GPU上进行运行测试

此外,我们在KITTI 2012和2015基准上评估了我们提出的模型。如表2所示,LightStereo-S的运行时间超过了所有方法。值得注意的是,对于KITTI12数据集,LightStereo-L*在每个评估指标上都超过了所有其他轻量级的最先进的立体匹配网络。此外,LightStereo-L*在KITTI15数据集上,就D1-bg和D1-all指标而言,在轻量级立体匹配方法中取得了最佳性能。

表2.在KITTI基准测试上与SOTA方法的比较。这些方法根据其运行时间是否超过100ms进行分类。粗体数字表示最高值,带下划线的数字表示第二高值。带*符号模型的运行时间为由我们的RTX 3090 GPU测试得到

OpenStereo 平台的助力下,我们还进行了一系列消融实验,包括 Backbone Conv.Type 扩展因子分析 MSCA模块分析

Backbone 本文探索了各种经典的轻量级模型作为backbone的效果。如表3所示,MobilenetV2表现出均衡的性能,EPE为0.7144,FLOPs为35.82G,参数为7.54M,推理时间为 22.93ms。尽管MobilenetV3的 FLOPs稍低,为35.72G,但它的EPE更高(0.7292),并且需要更多参数(9.16M)和更长的推理时间(25.02ms)。StarNet的EPE为0.7247,具有更高的FLOPs(40.21G)和推理时间(26.63ms)。EfficientnetV2实现了最低的EPE(0.6130),但代价是明显更高的计算资源(103.14G FLOPs)和参数量(28.87M),推理时间为46.83ms。RepVIT,一个基于Transformer的模型,EPE为0.6876,但需要50.45GFLOPs和9.56M参数,推理时间为28.65ms。因此,我们最终选择MobilenetV2作为LightStereo的backbone。

表3.SceneFLow数据集上关于backbone的消融研究
图5.Sceneflow测试集的可视化结果。第一列在第一行显示左图像,在第二行显示右图像。第二列到第五列在第一行显示预测的视差图,在第二行显示相应的误差图

Conv.Type 如表4所示,我们的实验强调了视差维度在立体匹配代价聚合过程中的重要性,而不是高度和宽度维度的空间扩展。不同核大小的卷积表明,增加核大小会导致更高的EPE并显着增加计算成本。具体来说,在高度和宽度维度上扩大感受野对性能的提高并没有显著贡献。这一发现表明,仅仅增加卷积的空间范围并不能有效地提高立体匹配的准确性。相反,应把重点放在优化视差维度上以改善代价体的聚合,因为这种方法在捕获相关特征和提高整体性能方面更有效。具有3 × 3卷积核的V1模块的EPE为0.7801,表明性能中等,FLOPs降低(34.86G),但它的推理时间更高 (54.21ms)。相比之下,V2模块提供了最佳平衡,实现了 0.7144的最低EPE和35.82GFLOPs,推理时间为22.93ms。这种卓越的性能归因于V2模块的结构,该模块在视差维度中包含了扩展卷积。通过专注于增强视差维度而不仅仅是扩展空间维度,V2模块有效地聚合了代价体,从而提高了立体匹配任务的准确性和效率。ViT模块显示出与V2模块相似的EPE,但参数计数较低 (6.53M) 、推理时间较高 (51.14ms)。最终,选择V2模块是因为它在精度和计算效率之间取得了最佳平衡。图5显示了不同conv.type的直观比较。可以看出,对于左图左下角的遮挡区域,基于V2块的代价聚合比其他3种转换类型效果更好。

表4.SceneFLow数据集上块设计的消融实验。Regular表示普通卷积,V1 Block表示深度可分离卷积,V2 块表示倒残差块,DW 是指深度可分离卷积,ViT Block 是指EfficientViT中使用的块。带下划线的backbone是我们最终使用的backbone

块结构分析 如表5所示,我们探讨了不同block结构的影响,同时保持4的恒定膨胀系数。配置“e”到“h”分别探索block (1, 2, 4)、(2, 4, 8)、(4, 8, 16) 和 (8, 16, 32)。结果表明,block数量越大,性能越好。







请到「今天看啥」查看全文