CMNEXT: 基于编解码架构的强大语义分割基线,解锁多模态语义分割的正确姿势!

简介: CMNEXT: 基于编解码架构的强大语义分割基线,解锁多模态语义分割的正确姿势!

640.png

Title: Delivering Arbitrary-Modal Semantic Segmentation

Paper: https://arxiv.org/pdf/2303.01480.pdf

Code: https://jamycheung.github.io/DELIVER.html

导读

自全卷积神经网络(Fully Convolutional Network, FCN)提出以来,语义分割领域得到了飞速的发展,期间涌现了许多极具代表性的工作。例如,以提取多尺度上下文信息为代表的DeepLabPSPNet系列网络;以轻量化分割路线为主的BiseNet系列网络;以霸榜医学、遥感等多领域的U-Net为核心系列的网络等。总的来说,以上工作大都属于单模态的RGB图像分割范畴。另一方面,随着模块化传感器的爆炸式增长,用于语义分割的多模态融合方向也取得了快速进展。众所周知,多模态融合可以获取更高的分割精度,同时促进更鲁邦的语义分割模型。然而目前学术界中融合任意模态的语义分割(Arbitrary-Modal Semantic Segmentation, AMSS)仍未得到充分探索。

因此,为了更加深入的探讨和研究这个问题,本文提出了一个任意模态分割基准——DELIVER,其涵盖以下几个模态的数据:

  • 深度
  • LiDAR
  • 多视图
  • 事件
  • RGB

此外,本文还额外提供了四种恶劣天气条件下的数据集以及五个传感器故障案例,以利用模态互补性和解决部分中断问题。为了更好的评估以上基准,本文针对性地提出了一种任意跨模任意态分割模型——CMNEXT,在不增加计算开销的情况下,当添加更多模态时,CMNeXt 结合了一种新颖的Hub2Fuse范例(图 3c)。与依赖往往计算成本高昂的单分支(图 3a)或使用通常会丢弃有价值信息的单个联合分支(图 3b)相比,CMNeXt 是一种具有双分支的非对称架构,一个用于RGB,另一个用于不同的模态信息补充方式。最重要的是,为了从辅助模式中高效灵活地获取判别线索,本文另外引入了一种简单的并行池化混合器(Parallel Pooling Mixer, PPX)。

最后,通过对总共六个基准的广泛实验,所提方法在 DELIVERKITTI-360MFNetNYU Depth V2UrbanLFMCubeS 数据集上实现了最先进的性能。在新收集的 DELIVER 上,四模态模型 CMNEXTmIoU 中达到 66.30%,与单模态基线相比增加了 +9.10%,从侧面上直接验证了多模态融合对语义分割的实际促进作用!

动机

在正式介绍CMNEXT时,我们先观察两个现象:

首先,上图是用本文所提方法CMNeXt在基于多个不同模态组合而成的数据上所得到的AMSS结果。从图中不难看出,融合更多的模态信息可以有效提高分割精度,这充分表明了多模态数据可以提供多样化的补充信息。下面再让我们看下第二组示意图:

上图展示了以往的多模态融合方法如CMXHRFuser由于 LiDAR 抖动融合未对齐的传感数据导致了分割性能的下降,充分表明它们无法有效的挖掘多模态数据的潜能,因为这些方法遵循预定义模态组合的设计,均建立在每个模态始终准确的假设之上。通常来说,多个传感器的协作有望更好的应对单个传感器故障,毕竟部分传感器故障在现实生活中非常常见。

如上所述,为了应对这种问题,作者提出了CMNeXt。其关键的挑战在于设计两个分支来获取多模态线索。具体来说,在 Hub2Fuse 的中心步骤,为了从辅助模态收集有用的补充信息,本文设计了一个自查询中心(SQ-Hub),它在与 RGB 分支融合之前动态地从所有模态源中选择信息特征。此外,SQ-Hub的另一个巨大好处是可以轻松地将其扩展到任意数量的模态,参数增加可以忽略不计(每个模态约0.01M)。

此外,在融合步骤中,对于没有显式融合的联合分支架构,例如TokenFusion融合稀疏模态如LiDAR或事件数据可能很难处理。为了规避这个问题并充分利用密集和稀疏模态,作者应用了一种交叉融合模块并将它们与所提出的并行池化混合器相结合,有助于高效灵活地从任何辅助模态中获取最具辨别力的线索。这些设计选择汇集在CMNeXt架构中,为AMSS铺平了道路,并通过仔细组合替代模式克服单个传感器故障并增强分割稳健性,从而更好的应对以上两大挑战。

方法

Framework

上图为CMNeXt的整体架构图,可以明显的看出这是一个典型的编码器-解码器(Encoder-Decoder)架构。其中,编码器部分为双分支的骨干网络。基于RGB表示对于语义分割必不可少的假设,这两个分支分别对应于 RGB 的主要分支和其他模态的次要分支。此外,Backbone遵循大多数的CNN/Transformer模型,以用于提取多尺度的金字塔特征。需要注意的是,为了模态表示的一致性,本文将遵循ISSAFEPMFLiDAR和事件数据预处理为类图像表示。下面就每个主要模块分别介绍下。

Self-Query Hub

为了执行任意模态融合,自查询中心(SQ-Hub)是一个关键设计,用于在与 RGB 特征融合之前选择补充模态的信息特征,如上图中间部分下面的子图所示。其实这块简单的理解就是用一个类自注意力机制的模块将不同的模态信息进行融合输出。随后,该输出特征经过PPX模块进行进一步加工。

Parallel Pooling Mixer

并行池化混合器作用是从上述 SQ-Hub 中的任意模态补充中高效灵活地获取判别线索。这个很好理解,大家可以认为SQ-Hub的作用就是先简单粗暴的融合不同的模态信息,而PPX就好比“提纯”获取更具有判别力或代表性的表征,相当于一个Coarse-to-Fine的过程。

此外,与基于卷积的MSCA、基于池化的MetaFormer或者是基于全注意力的FAN相比,本文所提出的PPX模块主要有两点改进:

  • 基于并行池化层对注意力部分进行有效加权;
  • 基于特征混合部分的逐通道增强;

总的来说,这两个特征分别有助于促进空间和通道方面的跨模态特征融合

数据集

如前所述,为了更加深入的探讨和研究这个问题,本文提出了一个任意模态分割基准——DELIVER,下面我们直接引用原文分三方面为大家详细介绍下该数据集。

Sensor settings and modalities

如上图所示,本文基于CARLA模拟器构建了一个包含深度、LiDAR、视图、事件、RGB 数据的大规模多模态分割数据集。DELIVER 提供同一空间视点的六个相互正交的视图(即前、后、左、右、上、下),即完整的数据帧以全景立方体贴图的格式编码。每个视图的视场(FoV)均为 ,图像分辨率为 。当传感器正常工作时,所有深度、视图和事件传感器都使用相同的相机设置。根据近期LiDAR传感器的特点,我们进一步定制了一个 64 垂直通道虚拟语义LiDAR传感器,每秒生成 1,728,000 个点的点云,FoV 为  和 100 米的范围,以便收集相对密集的 LiDAR 数据。

Adverse conditions and corner cases

除了多模式设置外,DELIVER 还提供包括四种环境条件和五种部分传感器故障情况。对于环境条件,除了晴天,作者还考虑了多云、多雾、夜间和下雨的天气条件。环境条件会导致太阳位置和光照、大气漫反射、降水和场景阴影的变化,从而给稳健感知带来挑战。

对于传感器故障情况,本文考虑了 RGB 相机常见的运动模糊、曝光过度和曝光不足问题。由于固定问题或旋转轴偏心,LiDAR 故障通常表现为沿轴 LiDAR 抖动,因此我们添加了一定度数范围内的随机角抖动和[−1cm, 1cm]位置抖动到 LiDAR 传感器的三个轴向方向。由于电路设计,目前使用的事件传感器的分辨率有限。因此,我们为事件相机定制了一个0.25×分辨率的事件低分辨率场景来模拟实际设备。

Statistics and annotations

DELIVER包括六个视图,共计 47,310 帧,大小为 。其中 7,885 个前视图样本分为 3,983/2,005/1,897 分别用于训练/验证/测试,每个样本包含两种类型的注释,即语义分割实例分割标签。为了提高注释的类多样性,我们修改并重新映射源代码中的语义标签。举个例子,Vehicles类被细分为四个细粒度类别:CarsTwoWheelerBusTruck,用于语义相机和语义 LiDAR,使 DELIVER 与主流的分割数据集完美兼容。

实验

表 1 为 CMNeXt 与其它多模态融合领域的 SOTA 方法在六个多模态的分割数据集上的对比。实现结果表明,与HRFuserTokenFusion以及CMX等众多前辈相比,所提方法无论是在任意单模态或多模态下均能发挥出色的分割性能,具备很强的鲁棒性!

表 2 则展示了 CMNeXt 与主流多模式融合范例在不同条件下的比较结果,包括恶劣天气和部分传感器故障场景。可以看出,先前的方法在两大挑战上均表现不加。受益于所提出的用于选择有效特征的SQ-Hub,所提方法显着提高了整体的分割性能,平均提升了 9.1 个点!

表 3 主要对本文所提的各个模块进行消融实验论证。从实验结果不难看出,以上模块被有机的整合到了CMNeXt架构上,任一模块的缺失均有损最终的分割性能。

最后,在让我们一起看下CMNeXt针对RGB-only SegFormerRGB-X CMX的语义分割结果。可以看出,在曝光不足的黑夜中,仅 RGB 的 SegFormer 几乎无法分割近处的车辆,而基于 RGB-D 深度估计的 CMNeXt 明显优于SegFormer。另一方面,结合四种不同模态RGB-D-E-LCMNeXt方法则进一步提高了性能并产生了更完整的分割效果。同时,在激光雷达抖动的部分传感器故障场景中,CMX产生了不令人满意的雨景解析结果;而本文所提方法几乎不受传感数据未对齐的影响,CMNeXt进一步加强了全场景分割的性能。

总结

本文致力于解决任意模态的语义分割AMSS问题,并为此提出了在各种天气条件下具有四种模态和部分传感器故障的DELIVER多模态数据集。此外,结合不对称分支的Hub2Fuse范式,作者设计了一个通用模型CMNeXt,用于与SQ-Hub进行任意模态融合,以动态选择互补表示。最后,为了更加高效灵活地获取有区别的跨模态特征,本文额外引入了一种并行池化混合器,以促进网络整体的分割性能。最终,实验结果充分的表明了所提方法可以在六个不同模态的数据集上均获得最新的技术水准。

写在最后

如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎扫码与我交流,一起探讨更多有趣的话题!

目录
相关文章
|
4月前
|
人工智能 自然语言处理 大数据
大模型+知识图谱双驱架构:新一代《知识语义框架SPG》白皮书
白皮书展望了SPG与LLM双向驱动的技术架构。通过基于SPG构建统一的图谱技术框架,可以屏蔽复杂的技术细节以支持新业务的快速部署,真正实现知识图谱技术的框架化、平民化、普惠化。
|
12月前
|
机器学习/深度学习 编解码 人工智能
阿里团队新作 | AFFormer:利用图像频率信息构建轻量化Transformer语义分割架构
阿里团队新作 | AFFormer:利用图像频率信息构建轻量化Transformer语义分割架构
381 0
|
10天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。
|
22天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
23 0
|
10天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。
|
5天前
|
消息中间件 负载均衡 持续交付
构建高效微服务架构:后端开发者的终极指南
【4月更文挑战第25天】在当今软件工程领域,微服务架构已经成为实现可扩展、灵活且容错的系统的首选模式。本文将探讨如何从零开始构建一个高效的微服务系统,涵盖关键组件的选择、通信机制、数据管理以及持续集成和部署策略。通过深入分析与案例研究,我们旨在为后端开发者提供一个全面的微服务实践指南,帮助他们在构建现代化应用时做出明智的架构决策。
|
5天前
|
消息中间件 持续交付 数据库
构建高效可靠的微服务架构:策略与实践
【4月更文挑战第25天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。本文深入探讨了如何构建一个高效且可靠的微服务架构,包括关键的设计原则、技术选型以及实践中的挑战和应对策略。通过分析多个成功案例,我们总结了一系列最佳实践,并提出了一套可量化的性能优化方法。文章不仅为开发者提供了具体的技术指导,同时也强调了团队协作和持续学习在微服务转型过程中的重要性。
|
21天前
|
Kubernetes 安全 Java
构建高效微服务架构:从理论到实践
【4月更文挑战第9天】 在当今快速迭代与竞争激烈的软件市场中,微服务架构以其灵活性、可扩展性及容错性,成为众多企业转型的首选。本文将深入探讨如何从零开始构建一个高效的微服务系统,覆盖从概念理解、设计原则、技术选型到部署维护的各个阶段。通过实际案例分析与最佳实践分享,旨在为后端工程师提供一套全面的微服务构建指南,帮助读者在面对复杂系统设计时能够做出明智的决策,并提升系统的可靠性与维护效率。
|
3天前
|
Kubernetes 负载均衡 Docker
【专栏】构建高效微服务架构:Docker与Kubernetes的完美搭档
【4月更文挑战第27天】本文介绍了Docker和Kubernetes在构建微服务架构中的应用。Docker是开源容器引擎,用于打包和分发应用,实现隔离和封装,提升可扩展性和可维护性。Kubernetes是容器编排平台,自动化部署、扩展和管理容器,提供负载均衡和故障转移。二者结合,能高效支持微服务架构。文中通过实例展示了如何将用户、商品和订单服务用Docker打包,再用Kubernetes部署和管理,确保微服务稳定运行。
|
5天前
|
监控 测试技术 持续交付
探索现代微服务架构的最佳实践
【4月更文挑战第25天】 随着软件开发领域不断演进,微服务架构已成为设计灵活、可扩展且高度可维护系统的首选方案。本文将深入探讨构建和部署微服务时的关键最佳实践,涵盖从服务划分原则到持续集成/持续部署(CI/CD)的流程,再到监控与日志记录的策略。我们的目标是为开发者提供一套实用的指南,帮助他们在构建未来的应用程序时做出明智的架构选择,并确保这些系统能够快速响应市场和技术的变化。