来源丨将门创投

点击进入—>3D视觉工坊学习交流群

本文提出了一种基于MAE的跨模态交互式自编码器PiMAE,PiMAE同时具有强大的3D点云和RGB图像特征提取能力。作者通过三个方面的独特设计来促进多模态学习过程中的交互效果。并对提出的PiMAE进行了广泛的实验,该框架在多个下游任务上都展示出了非常出色的性能提升效果,这也侧面表明MAE模式在基础视觉感知任务上仍然不过时,具有进一步研究的价值。

a8ba137ed7ae04ed33c52bb7b90e7590.png

论文链接:

https://arxiv.org/abs/2303.08129

代码链接:

https://github.com/BLVLab/PiMAE

5bee3de623f4373f3d8c13b190fe375e.gif

从2021年kaiming大佬首次提出MAE(Masked Autoencoders) 以来,计算机视觉社区已经出现了很多基于MAE的工作,例如将MAE建模拓展到视频序列中,或者直接对MAE原始结构进行改进,将MAE嵌入到层次的Transformer结构中等等。截止到现在,MAE原文在谷歌学术的引用量已经达到1613。

6f1a60d27304263bc416bd9daae6dbb2.png

MAE以其简单的实现方式、强大的视觉表示能力,可以在很多基础视觉任务中展现出良好的性能。但是目前的工作大多是在单一视觉模态中进行,那MAE在多模态数据融合方面表现如何呢?本文为大家介绍一项刚刚被视觉顶会CVPR2023接收的工作,在这项工作中,作者重点探索了点云数据和RGB图像数据,并且提出了一种基于MAE的自监督扩模态协同感知框架PiMAE。具体来说,PiMAE可以从三个方面来提升模型对3D点云和2D图像数据的交互性能:

1. PiMAE设计了一个多模态映射模块来对两个不同模态的masked和可见的tokens进行对齐,这一设计强调了mask策略在两个不同模态中的重要性。

2. 随后,作者为PiMAE设计了两个MAE支路和一个共享的解码器来实现masked tokens之间的跨模态交互

3. 最后PiMAE通过一个新型的跨模态重建模块来进一步提升两个模态的表征学习效果。

作者在两个大规模多模态RGB-D场景理解基准(SUN RGB-D和ScannetV2)上对PiMAE进行了大量评估,PiMAE在3D目标检测、2D目标检测以及小样本图像分类任务上都展现出了优越的性能。

一、介绍

深度学习技术目前已经成为很多自动化装备的基础感知手段,例如工业机器人和自动驾驶。在这些实际场景中,机器可以通过摄像头和众多传感器获得大量的3D或2D点云数据以及RGB图像数据。由于成对的2D像素和3D点云可以更全面的呈现同一场景的不同视角,将这些多模态信息高效的结合起来可以提高模型决策的准确性。在本文中,作者旨在探索这样一个问题:如何设计一个高效的多模态(3D点云和RGB模态)无监督交互学习框架,来实现更好的表征学习?为此,作者选用kaiming提出的MAE作为基础架构,MAE可以通过一种简单的自监督任务实现一个强大的ViT预训练框架。但是MAE在多种模态交互的情况下表现如何,仍然是未知的。

fb6aa31cbea0170fde31cd1ff8ef2db1.png

为了探索多模态3D点云和RGB图像数据交互融合性能,本文提出了PiMAE,这是一种简单而有效的多模态MAE框架,PiMAE可以通过交互机制来学习更鲁棒的3D和2D特征。PiMAE的整体框架如上图所示,具体来说,PiMAE将成对的3D点云和图像数据作为输入,并对两种输入做一种互补的mask操作。然后对其进行编码得到tokens,将3D点云token投影到RGB图像块中,明确对齐两种模态之间的Mask关系。作者认为通过这种mask策略可以帮助点云token从图像嵌入中获得互补信息,反之亦然。随后作者设计了一种对称的自动编码器结构来进行模态特征融合,自编码器由模态特定编码器(Specific Encoders)的独立分支和共享编解码器构成,PiMAE通过多模态重构任务(即点云重构和图像重构)来完成两种模态的交互和表征学习。

二、方法介绍

给定3D点云和RGB多模态数据后,PiMAE通过一种联合嵌入的方式来学习跨模态特征。在具体操作中,作者首先对点云数据进行采样并执行聚类算法将点云数据嵌入到token中,然后对点云token进行随机mask。mask后的token随后被转换到2D平面中,同时RGB图像块以互补mask的形式也嵌入到RGB token中。随后两个模态的token数据通过PiMAE的联合编解码器进行特征建模和融合。

e5bb19ea42958ca6034293bbae5d0279.png

PiMAE中的编码器-解码器架构同时整合了模态独立分支和模态共享分支,其中前者用来保持模型对特定模态的学习,后者鼓励模型通过跨模态的特征交互来实现模态之间的高效对齐。

2.1 token投影和对齐

在对点云和RGB图像进行处理时,作者遵循MAE和Point-M2AE[1]中的做法,对于RGB图像,作者将图像先分成不重叠的图像块,并且为每个块添加位置编码嵌入和模态嵌入,随后将他们送入到投影层。对于点云数据,先通过最远点采样(Farthest Point Sampling,FPS)和KNN算法提取聚中心token,然后同样为每个中心token添加编码嵌入和模态嵌入,并送入到线性投影层。

2.1.1 投影

为了实现多模态token之间的对齐,作者通过将点云token投影到相机的2D图像平面上来建立 3D点云和RGB图像像素之间的嵌入联系。对于3D点云fb1d80bd13f9e75e9907a91acc459b88.png,可以使用下面定义的投影函数 Proj 计算出相应的2D坐标:

3b27571872cd9d27c92e1d89588d9474.png

其中 K∈3×4,Rt∈4×4是相机的内在和外置参数矩阵。(x,y,z),(u,v) 是点 P 的原始3D坐标和投影得到的2D坐标。

2.1.2 Mask对齐方式

由于点云token是由一系列聚类中心构成,作者随机从中选择一部分中心点作为采样区域。对于可见点云标记 Tp ,将它们的中心点15d733f37f1198459963477f2e7ddc48.png投影到相应的2D相机平面并获得其2D坐标 b63fd4acc8e50b60f9e7f9878beb11cc.png 它可以自然地落入形状为 H×W(即图像形状)的区域内,可以通过以下方式来获得其相对应图像块的索引fb7f443fec93a963a8b8137cef37c971.png

bde7dfde9013dfc62754e7efe5e213ce.png

其中 u 和 v表示二维坐标 p 的 x 轴值和 y 轴值,S 是图像块大小。

1a14f1ac0e1384c84de4c896f3b464ce.png

在对每个可见点云token进行投影和索引后,就可以获得它们对应的图像块,如上图所示。随后作者使用了一种显示的mask策略来实现token对齐,具体来说,一个随机采样的点云区域(上图黑色圆圈处)被投影到图像块(蓝色方块)上,其他点云区域以类似的方式进行采样和投影(黄色方块),来构成正向Mask模式(Uniform)。相反,上图右下区域是相应的互补Mask模式(Complement)。

2.2 编码器和解码器

2.2.1 编码器

PiMAE的编码器遵循AIST++[2]的设计,由两个模块构成:模态特定编码器和跨模态编码器。前者用于更好地提取特定于当前模态的特征,后者用于进行跨模态特征之间的交互。在这一过程中,编码器侧重于保持不同模态特征的完整性,可以形式化表示为:

df3ef86d9eead517ae8a52feab58da74.png

其中 654d4271f5c3aed9929110e935350d40.png和 7f4028a61aa5faeb6bbc287b348eebc9.png是特定于图像和特定于点云的编码器,935ae91bec50183769fb36c02426ac6b.png 和 7ed8ac171e67f5aa2c72baa6594b2575.png 是可见图像和点云token,29b8bdb51bdc5a13c59f4751e3f2a3d0.png 和 83c283fd055dff547f4f520aa4220b70.png是图像和点云相应的嵌入空间。

2.2.2 解码器

原始MAE框架中的解码器是建立在一个具有统一表征能力的编码基础之上,但是本文的设定是编码器同时捕获图像和点云数据的特征表示。由于两种模态之间的差异,需要使用专门的解码器将这些特征解码为各自的模态。形式上,作者将PiMAE的共享解码器的输入表示为1cb83a11fba13444c7b65e6c9b54b67f.jpeg,其中包括编码的可见特征和两种模态的mask tokens。随后共享解码器会对这些特征d3a44b789d73fb0cf4c99ecd9bd26a4f.png执行跨模态交互:d0c220c5e9aef24589cf30a836998126.png。然后,在单独模态的解码器阶段,解码器将特征重构回原始图像和点云空间 5e63d463daa832e91803b81dcd6c7906.png

。其中 8acb6a61f0e505dcf82cfa56bcab5d87.png 和f76519b11dcb948266b7490d50f534b8.png 是图像特定和点云特定解码器,e548f011e60ec6cafeda8079553999f9.png 和 fe643f584a785095c34020655ba1dec0.png

 是可见图像和点云区域,51de3050f6c2b60d6b774b43ba74bcb3.png  和 0d13906cb479f7379c692fdc310db88a.png是图像和点云嵌入空间,重构过程的损失函数如下:

39ad4e86e9ef9c4e29b57773e1dbe356.png

其中f1f090bd3b97dd8367f7713aa1d3aca8.png 是219663a1c6caab7a573c8419f04f2e6d.pngChamfer Distance函数(倒角距离),75f3e83cee8706b065a5b6cde8ef0eae.png表示解码器重构函数,e0465ebd6d5b10c7a7fe3a528358b005.png 是点云嵌入表示,db9253ca13f9f943aabdc69d2536cbc2.png 是点云ground-truth(即点云输入)。

2.3 跨模态重构

本文使用三种不同的损失联合训练PiMAE:点云重建损失、图像重建损失和跨模式重建损失。在最后的重建阶段,作者利用先前对齐的关系来获得mask点云区域相应的二维坐标。然后,对重建的图像特征进行上采样,这样每个具有2D坐标的mask点云都可以与重建的图像特征相关联。最后,mask点云token通过一个跨模态预测头来恢复相应的可见图像特征。形式上,跨模式重建损失定义为:

30aef6bb4e3b74f74d262581dc88f422.png

其中 abef6eff700ddadb9c21b2c628d18ba7.png 表示均方误差损失函数,a06f289002397dd37f420a034a5eb0d2.png 是解码器的跨模态重建函数,9cf54f517b75b24673db5f1456813e9f.png是点云表示,58da7639cac67ee0e356e2e280becea9.png 是图像表示。PiMAE通过联合以上损失来进行训练,通过这样的设计,PiMAE可以分别学习3D和2D特征,同时保持两种模态之间的强交互性。

06489748f7a79b6c62bbd047014f6035.png

三、实验效果

本文的实验在两个大规模多模态RGB-D场景理解基准(SUN RGB-D和ScannetV2)上进行,作者先在SUN RGB-D训练集对PiMAE进行预训练,并在多个下游任务上对PiMAE进行评估,包括3D目标检测、3D单目目标检测、2D目标检测和小样本图像分类。

3.1 室内3D目标检测

对于室内的3D目标检测任务,作者将PiMAE的3D特征编码器加入到不同的backbone网络中来提高特征提取的能力,从而实现3D目标检测的能力。作者以两个SOTA模型3DETR和GroupFree3D来作为baseline模型,如下表所示,本文的PiMAE为两个模型都带来了显着的性能提升,在所有数据集上都超过了之前的基线方法。

8c63af6031afd7bfa79465d97ab119c0.png

3.2 室外单目3D目标检测

除了室内环境,作者也展示了更具挑战性的室外场景效果。与室内预训练数据相比,室外场景的数据具有很大的数据分布差距。如下图所示,本文方法对MonoDETR方法实现了实质性的改进,这证明,PiMAE预训练对室内和室外场景都具有很强的泛化能力。

bf9af69b42ec3055b65df1cf85725d01.png

3.3 2D目标检测

对于2D目标检测任务,作者直接将PiMAE中的2D分支特征提取器部署在DETR上,并在ScanNetV2 2D检测数据集上进行评估。效果如下表所示,PiMAE预训练可以显著提高DETR的检测性能。

7c5250244e2d6b37f833f66bac01a382.png

3.4 小样本图像分类

对于few-shot图像分类任务,作者选取了三个不同的基准来探索PiMAE图像编码器的特征提取能力。为了验证PiMAE的有效性,作者没有改动原有模型的分类器,仅在特征编码器中添加一个线性层,并基于[CLS] token作为输入来预测类别。下表展示了PiMAE在小样本图像分类任务上的结果。与从头开始训练的模型相比,经过PiMAE预训练的模型具有显著的性能提升。

a9f9a40f64fd9b9a5fda7c2c52a8e317.png

此外,为了验证PiMAE跨模态交互设计的有效性,作者在下图中可视化了共享编码器中的注意力图。可以看到,PiMAE更专注于具有更高注意力值的更多前景目标,显示出较强的跨模态理解能力。

889470d27d270ece4651454505b66b75.png

四、总结

本文提出了一种基于MAE的跨模态交互式自编码器PiMAE,PiMAE同时具有强大的3D点云和RGB图像特征提取能力。作者通过三个方面的独特设计来促进多模态学习过程中的交互效果。首先,通过一种显示的点云图像对齐mask策略可以实现更好的特征融合。接下来,设计了一个共享解码器来同时对两种模态中的token进行处理。最后,跨模态重建机制可以高效的对整体框架进行优化。作者对提出的PiMAE进行了广泛的实验,PiMAE在多个下游任务上都展示出了非常出色的性能提升效果,这也侧面表明MAE模式在基础视觉感知任务上仍然不过时,具有进一步研究的价值。

参考文献

[1] Renrui Zhang, Ziyu Guo, Peng Gao, Rongyao Fang, Bin Zhao, Dong Wang, Yu Qiao, and Hongsheng Li. Point-m2ae: Multi-scale masked autoencoders for hierarchical point cloud pre-training. arXiv preprint arXiv:2205.14401, 2022.

[2] Ruilong Li, Shan Yang, David A. Ross, and Angjoo Kanazawa. Ai choreographer: Music conditioned 3d dance generation with aist++, 2021.

作者:seven_

来源:https://www.techbeat.net/article-info?id=4835

本文仅做学术分享,如有侵权,请联系删文。

点击进入—>3D视觉工坊学习交流群

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
2.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
3.国内首个面向工业级实战的点云处理课程
4.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
5.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
6.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
7.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

8.从零搭建一套结构光3D重建系统[理论+源码+实践]

9.单目深度估计方法:算法梳理与代码实现

10.自动驾驶中的深度学习模型部署实战

11.相机模型与标定(单目+双目+鱼眼)

12.重磅!四旋翼飞行器:算法与实战

13.ROS2从入门到精通:理论与实战

14.国内首个3D缺陷检测教程:理论、源码与实战

15.基于Open3D的点云处理入门与实战教程

16.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进

17.机械臂抓取从入门到实战

重磅!粉丝学习交流群已成立

交流群主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、ORB-SLAM系列源码交流、深度估计、TOF、求职交流等方向。

扫描以下二维码,添加小助理微信(dddvisiona),一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

0f2602453715939cd656949f092fdd8c.jpeg

▲长按加微信群或投稿,微信号:dddvisiona

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,6000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看,3天内无条件退款

61cb411e783aa2197a727a875a362ba5.jpeg

高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐