通过点云视频理解现实世界对于机器人和自动驾驶系统来说是一个至关重要的方面。 然而,由于传感器分辨率的限制,目前用于4D点云识别的方法存在局限性,导致缺乏详细信息。近期的研究进展表明,在网页规模的文本-图像数据集上预训练的视觉-语言模型(VLM)可以学习到可以转移到各种下游任务的细粒度视觉概念。 然而,有效地将VLM整合到4D点云领域仍然是一个未解决的问题。在这项工作中,作者提出了视觉-语言模型进入4D(VG4D)框架,以将VLM知识从视觉-文本预训练模型转移到4D点云网络中。作者的方法包括将4D编码器的表征与VLM对齐,从大规模图像-文本对的训练中学习共享的视觉和文本空间。 通过将VLM的知识转移到4D编码器并结合VLM,作者的VG4D实现了识别性能的改进。为了增强4D编码器,作者对经典的动态点云 Backbone 网络进行了现代化改进,并提出了一种改进版的PSTNet,即im-PSTNet,它能高效地建模点云视频。 实验证明,作者的方法在NTU RGB+D 60数据集和NTU RGB+D 120数据集上的动作识别均达到了最先进的表现。 关注公众号,私信 『 代码 』获取。
近期,机器人技术和自动驾驶系统利用实时的深度传感器,如激光雷达(LiDARs),来实现三维感知。激光雷达产生的点云可以提供丰富的几何信息,并帮助机器理解环境感知。早期方法集中于从静态点云中解析现实世界,忽略了时间变化。为了更好地理解时间变化的世界,近期研究更专注于在4D空间理解点云视频,包括三个空间维度和一个时间维度。已有几项工作在4D点云建模方面取得进展。这些方法要么旨在设计改进的网络来建模4D点云,要么采用自监督方法来提高4D点云表示的效率。
然而,对于机器来说,识别4D视频仍然是一个挑战,这主要是由于点云数据固有的特性,它们缺乏纹理信息。由于激光雷达的分辨率较低,点云可能缺少一些细节,导致细粒度信息的丢失。传统4D点云网络的识别失败案例显示在图1的右侧。作者发现,4D点云的识别失败是由于动作之间的小差异造成的。当一个人用肢体执行特定动作时,参与的肢体和被操纵的物体对于区分动作至关重要。例如,在区分“做出胜利手势”和“做出OK手势”的动作时,手的纹理特征对于精确识别各自动作变得至关重要。另一方面,来自RGB模态的图像缺乏深度信息。当视频中的人进行深度移动时,深度的变化变得难以辨别,导致在涉及深度移动的动作之间产生混淆,比如“点头鞠躬”和“呕吐”等动作。
总之,点云通常难以有效地提供细粒度信息,而RGB也难以提供深度信息。
相反,RGB固有的丰富纹理提供了大量的细粒度信息,而深度信息的存在则是点云模态固有的。最近,视觉-语言模型(VLM),在大量图像-文本对上进行预训练,能够从RGB图像中学习细粒度的视觉概念。一些研究成功地将从VLMs获取的知识应用于3D静态点云和视频理解。然而,由于模态差距,RGB视频和4D点云理解被视为两个不同的问题。RGB视频和4D点云模型构建了不同的架构,并训练在不同的数据类型上。目前,将RGB视频模型用于识别4D点云尚未得到广泛探索。
受限于点处理和视频理解的VLM(视觉语言模型)启发,在这项工作中,作者首次研究了VLM在4D动作理解中的应用。具体来说,作者提出了一个新的VG4D(VLM走向4D)框架,通过利用VLM的知识来训练一个4D编码器。为了联合微调这个4D编码器,作者提出了一种跨模态对比学习方法,该方法促进了3D表示与VLM特征域的和谐对齐。通过这种方式,点云模态内在的细粒度细节不足有效地被RGB模态中的丰富内容信息所补偿。在VG4D的基础上,作者将VLM在视频理解方面的卓越能力与4D点云表示相结合,以增强多模态动作识别。具体而言,如图1(b)所示,在多个模态对齐后,作者通过整合多模态预测得分并利用文本信息作为分类器,实现了鲁棒的多模态动作识别。此外,大多数VLM都是开源且易于获取的,作者将不同的VLM集成到作者提出的VG4D框架中,展示了作者提出方法的泛化性。
此外,作者重新审视了PSTNet,这是在动态点云建模中经典且广泛使用的网络。作者观察到,与PSTNet相比,最先进的方法所实现的性能提升中,有很大一部分可以归因于所采用的增强训练策略。通过对这些增强的全面实验,作者确定了影响性能结果变化的关键因素。随后,作者利用这些识别出的组件来复兴PSTNet的架构。因此,作者提出了名为im-PSTNet的PSTNet改进版本,并将其作为VG4D框架的4D编码器。作者的贡献可以总结如下:
作者提出了一种新颖的VG4D框架,该框架将4D特征空间与语言-图像表征对齐,有助于点云视频识别。据作者所知,作者是首个探索将视觉语言模型(VLM)的预训练知识转移到4D点云理解的研究。
作者设计了一个名为im-PSTNet的四维编码器,作为点云视频的编码器,它有效地实现了点云视频的表征。作者将VLMs的鲁棒特性表征能力与4D网络在点云视频理解方面的卓越能力相结合,以增强多模态动作识别。
作者提出的VG4D在大型RGB+D动作识别数据集上,显著优于近期最先进的方法。
静态点云处理。 在静态点云分析领域已经取得了许多进展[18]。基于点的方 法直接将原始点云作为输入进行处理。这一方法由PointNet[19]开创,它通过点式特征提取,使用共享的多层感知机(MLPs)来模拟点的排列不变性。PointNet++[6]通过捕捉局部几何结构来增强PointNet。后来,基于点的方法[20, 8, 21]旨在设计局部聚合算子以进行局部特征提取。最近,一些方法采用了类似Transformer的网络[22, 23]通过自注意力机制来提取信息。同时,自监督表示学习方法[24, 25, 26, 27],如对比学习和重建 Mask ,也引起了社区的广泛关注。然而,这些方法主要关注于静态点云,并且由于没有考虑点云的时间动态特性,不能直接处理动态点云视频。
4D点云建模。 动态4D点云建模比静态点云处理更具挑战性。之前的点云视频识别方法依赖于卷积、多流或视觉 Transformer 。在卷积框架内,MeteorNet [28] 是首个针对动态原始4D点云的深度学习方法,它将3D点扩展到4D点,并在PointNet++中增加了一个时间维度来处理这些4D点。同时,PSTNet [29, 30] 通过分层分解空间和时间来建模原始点云视频的时空信息。对于多流设计,代表性方法3DV [31] 将3D运动信息集成到常规紧凑 Voxel 集中,然后应用PointNet++从该集中提取表示以进行3D动作识别。其他一些方法 [32, 33, 34, 35, 36, 37] 解耦了空间和时间信息。最近,P4Transformer [38] 和其他方法 [39, 40] 采用自注意力模块来捕捉长距离的时空上下文信息。此外,最近的方法 [41, 42] 开始探索在动态4D点云建模中应用自监督或半监督学习的可能性。然而,由于缺乏细粒度外观输入,上述方法在识别方面仍然遇到困难。
视觉-语言模型。 大型视觉-语言模型,由图像编码器和文本编码器组成,以对比的方式在大量的图像-文本对上进行训练,以学习图像和文本标签之间的共享特征空间。例如,CLIP可以迁移到各种下游任务,包括点云理解[11, 12],视频理解[43, 44, 45]等。最近,一些研究将现有的CLIP模型扩展到视频领域。AIM [44]通过额外的 Adapter 模块重复使用CLIP的自我注意力作为时间注意力。Vita-CLIP [46]提出了一种多模态提示学习方案,以平衡监督学习和零样本性能。然而,与视频领域不同,使用VLM进行3D点云处理仍处于初级阶段。PointCLIP [47]直接将3D点云的深度图作为CLIP的输入进行零样本分类。ULIP [16]学习图像、文本和点云之间的统一表示,增强了3D表示学习。作者的方法与PointCLIP和ULIP不同。特别是,作者旨在使用VLM学习的细粒度特征来改进4D点云识别,这可以弥补3D点云中缺失细节的不足。
在本节中,作者首先概述了所提出的VG4D框架,然后详细介绍如何有效地训练网络。接着,作者描述了impSTNet的设计,这是为VG4D提出的一种改进的4D编码器。
如图2所示,作者提出的VG4D框架包括3个网络:来自VLM的4D点云编码器
、视频编码器
和文本编码器
。作者使用语言-RGB-4D点云三联体来训练该框架。RGB视频和4D点云来自一个相机和深度传感器,它们捕捉同一样本的数据。此外,语言部分包括所有可能动作类别的文本描述。作者定义了一个包含N个语言-RGB视频-4D点云三联体的集合为
,其中
代表4D点云,
是RGB视频,而
是动作类别的文本。
四维编码器接收点云视频作为输入。四维编码器的输出是一个封装了运动细节的特征向量。为了与其他模态在特征维度上保持一致,作者为四维点云输出引入了一个额外的投影层。对于给定的四维点云
,作者将点云视频
送入四维编码器
,通过将编码特征投影到一个公共维度,以在公共嵌入空间中获得特征表示,该公共维度表示为:
在公式中,
代表经过投影层
后的4D点云嵌入。为了更好地从4D点云中学习动作信息,作者融入了自定义设计的im-PSTNet作为4D编码器。关于im-PSTNet的具体细节将在第三节C中全面介绍。
VLM接收RGB视频和动作类别文本作为输入。在视频理解中,VLM通过视频和文本编码器的协同训练,学会将视频表示与其对应的文本表示同步。正式地,给定一个RGB视频片段
和一个文本描述
,作者将视频
送入视频编码器
,将文本
送入文本编码器
,并通过将编码特征投影到由以下表示的公共维度上,从而在公共嵌入空间中获得每个样本的特征表示:
在这段文本中,
和
分别代表经过投影层
和
之后的RGB视频和文本嵌入。经过投影层后,
和
的维度是相同的。在VG4D框架内,作者采用X-CLIP [17] 作为文本和视频的编码器。X-CLIP 在 CLIP 的基础上融入了跨帧注意力机制和视频特定的提示技术。这些增强功能分别使得能够提取时间跨帧交互信息,并生成实例 Level 的判别性文本表示。
为了从视觉语言模型(VLM)中学习到更多可迁移的表征,作者引入了一种跨模态学习目标,共同优化语言、RGB视频和4D点云之间的相关性对齐。作者方法的整体架构如图2所示,包括语言编码器
、点云编码器
和视觉编码器
,它们分别将三种模态嵌入到文本特征
、图像特征
和点云特征
中,其中
是嵌入维度。通过归一化,作者约束每个投影网络的输出位于单位超球面内,这使得作者可以使用内积来测量特征相似度。作者的跨模态对比学习主要通过语义 Level 的语言-4D对齐和实例 Level 的图像-4D对齐,共同优化语言、图像和点云之间的相关性对齐。语义 Level 的语言-3D对齐的核心思想是驱动4D动作实例特征和相应动作类别文本更接近。在一个大小为
的训练小批量中,有
个动作类别,作者计算语言和4D点云之间的损失函数为:
作者进一步引入了实例级的RGB视频与4D实例之间的对比对齐。跨点云与图像的对比对齐目标
的公式化表示为:
最后,作者用不同的系数
和
最小化所有模态对的对比损失。
在跨模态学习中,作者使用
作为监督来微调已经预训练过以学习4D表示的im-PSTNet模型。注意,在这一阶段VLM是被冻结的。作者的VG4D也包括两个分类头,分别用于对由im-PSTNet和视频编码器提取的4D特征和RGB视频特征进行分类。作者的最终损失如下:
在测试阶段,作者将im-PSTNet与VLM进行集成。具体来说,作者将四个4D文本、RGB文本、4D和RGB的得分融合作为最终的分类结果。
在本小节中,作者首先简要回顾在动态点云建模中经典且广泛使用的网络。接着,作者展示如何将经典架构PSTNet [29]现代化为im-PSTNet,这是PSTNet的改进版本,具有有效的性能。最后,作者详细介绍了im-PSTNet的网络结构。如图2所示,im-PSTNet主要由空间提取器和im-PSTConv单元组成。
对PSTNet的回顾。PSTNet是一个空间和时间解耦的四维点云特征提取器。PSTNet使用点空间时间(PST)卷积来提取点云序列的有信息表示。空间时间特征表示为
,它们以下面的方式聚合:
在公式中,
和
分别表示时空邻域点中的特征和坐标点,而
代表多层感知机(MLP)层。
作者的论文专注于通过利用视觉语言模型(VLM)的预训练知识来提升4D点云识别任务。为了实现这一目标,作者提出了改进版的PSTNet(称为im-PSTNet),作为VG4D的4D主干网络。
从PSTNet到im-PSTNet。作者的探索主要集中在对训练策略现代化和网络架构现代化的研究。首先,作者对点云视频片段采用了数据增强技术。与PSTNet训练和测试所有潜在片段段的方法不同,作者采用了一种针对帧采样的数据增强策略,显著减少了训练和测试的时间。具体来说,作者首先将每个点云视频划分为时长相等的
个片段。在训练阶段,从每个片段中随机采样一帧,而在测试阶段,从每个片段的中部选择一帧。作者的实验表明,使用余弦学习率衰减方法可以获得比PSTNet使用的步进衰减方法更好的训练结果。因此,作者在im-PSTNet中采用了余弦学习率衰减方法。在网络结构方面,作者使用搜索邻域点的半径
来归一化
,这将使得相对坐标的值变得更小,有利于网络优化。此外,为了更好地聚合时空邻居的特征,作者将中心点本身的特征
增加到更新每个中心点的特征中。时空特征以下列方式聚合:
在这里,
和
分别代表时空邻域内点的特征和坐标,
表示搜索时空邻域点的半径,而
表示多层感知器(MLP)层。
im-PSTNet的结构。空间提取器 被设计用来从每帧中的N个点提取初始特征,它由四个子模块组成:点采样、分组、MLP层和最大池化。在点采样层中,给定一个空间子采样率
,采用迭代最远点采样(FPS)方法将每帧中的N个点子采样为
个中心点。然后,分组层搜索每个中心点周围的几个邻近点,以构建经过FPS后子采样点的局部区域。应用MLP和最大池化后,产生的输出将包含每个经过下采样的点的坐标
和特征
。im-PSTConv 是在点时空(PST)卷积 [29] 的基础上进行改进的,用于提取时空信息。im-PSTConv与空间提取器之间的区别在于,im-PSTConv将通过构建点 Pipeline 来对时空点进行分组。它在帧之间搜索时空邻居,因此这个模块被称为跨组模块。
在本节中,作者描述了实现细节、实验设置和实验结果。
数据集。 NTU RGB+D [56] 是一个大规模的动作识别基准数据集,包含56,880个视频,这些视频来自40个表演者在80个不同相机视角下进行的60种不同动作。这些视频使用 Kinect V2 捕获,以收集四种数据模态:RGB 帧图、深度图、3D关节信息以及 IR 序列。采用跨主体和跨视角评估。NTU RGB+D 120 [57] 是 NTU60 的扩展,包含120个动作类别和114,480个视频。动作类别包括日常动作、与健康相关的动作以及相互动作。这个数据集同样使用 Kinect V2 收集,并且与 NTU RGB+D 60 数据集具有相同的模态。作者在 NTU RGB+D 120 数据集上使用跨主体和跨设置评估协议。
实现细节。 在点云数据准备方面,作者遵循PSTNet的方法将深度图转换为点云序列,其中每帧采样2048个点。作者使用带有余弦学习率衰减的SGD优化器进行优化。初始学习率、权重衰减和批量大小分别经验性地设置为0.01、0.1和32。作者在NTU RGB+D 60和NTU RGB+D 120数据集上预训练了120个周期。在分组模块中,邻近点的数量K和空间搜索半径
分别设置为9和0.1。遵循PSTNet,作者将剪辑长度和帧采样步长分别设置为23和2。对于RGB模态,作者将输入帧数设置为8,使用点云视频中的相同帧采样方法。作者使用在Kinetics600 [58] 上预训练的X-CLIP-B/16模型,在NTU RGB+D数据集上微调30个周期。在对比学习中,作者训练了30个周期,学习率从0.001降至0.0001,其他设置与预训练的4D编码器相同。作者所有的实验都是在两个NVIDIA 12G 3080Ti GPU上进行的。
在表1中,作者将在两个数据集上提出的方法与其他方法进行了比较。作者的im-PSTNet在大多数设置下,在这两个数据集上都超过了其他单一模态的 Baseline 方法,这证明了作者的im-PSTNet在大规模数据集上进行4D动作识别的有效性。同时,作者的VG4D在多模态 Baseline 方法上达到了最先进的结果。
不同损失函数的比较。作者在表2中报告了在微调im-PSTNet时使用不同损失函数的效果。其中,pc-rgb和pc-text损失分别表示点云和RGB视频以及文本的比较学习损失。cls损失表示im-PSTNet的交叉熵损失。特别是,在移除了两个对比学习损失之后,动作识别的准确度显著下降,这证明了作者提出的对比学习方法的有效性。
不同融合方法的比较。为了进一步展示作者的方法的有效性,作者在表3中比较了不同分类分数的组合。PC、PC-Text、RGB和RGB-Text分别表示点云的FC分类分数、点云和文本的比较分数、RGB的FC分类分数以及RGB和文本的比较分数。CML表示在VG4D中使用跨模态学习。
不同改进的比较。在表4中,作者报告了当使用与原始PSTNet相比的不同模块时,作者提出的4D编码器im-PSTNet的结果。从表中可以看出,与PSTNet Baseline 相比,im-PSTNet在4D动作识别方面有更大的改进。
不同VLMs的比较。作者在作者的框架下实验了不同的VLMs。作者在表5中报告了使用X-CLIP和Vita-CLIP预训练模型的结果以及将作者的框架整合的效果。从表中可以看出,使用Vita-CLIP也能取得令人印象深刻的结果。这表明作者提出的框架是通用的,并且作者可以将性能卓越的VLM整合到作者的框架中。
困难案例。 图3展示了im-PSTNet在一些分类失败的情况。在点云模态中的识别失败通常是由于缺少详细的信息,例如手和物体的移动,这些信息对于区分仅涉及手部动作的行为至关重要。相反,RGB模式的识别失败是由于缺乏深度信息,而这正是点云模态所提供的。
[1].VG4D: Vision-Language Model Goes 4D Video Recognition.