阅读Infrared and 3D skeleton feature fusion for RGB-D action recognition

  很有意思的工作,想法很有意思,虽然采用较为传统的骨骼点映射为类图像结构,但加入了红外图像,采用ResNet结构。作者主要强调他们在CS上的贡献,也就是说在多人测试中红外结合骨骼点的工作。感觉论文方法有很多拓展,后续可以有很大的提升。
基于红外和三维骨架特征融合的RGB-D动作识别

Abstract

  基于骨架的动作识别面临的一个挑战是很难对相似运动与物相关的动作进行分类。然而来自其他信息流的视觉信息在这方面有帮助。RGB数据对光照条件敏感,因此在黑暗中无法使用。为了缓解这一问题并仍然受益于可视流,作者提出了一个结合骨架和红外数据的模块化网络(FUSION)。采用二维卷积神经网络(CNN)作为姿态模块,从骨骼数据中提取特征。三维CNN被用作红外模块,从视频中提取视觉线索。然后,两个特征向量被连接起来,并使用多层感知机模型(MLP)联合使用。骨架数据也会影响红外视频,在表演对象周围提供一个crop,从而实际上集中了红外模块的注意力。烧蚀研究表明,使用其他大规模数据集上的预训练网络作为我们的模块和数据扩充,可以显著提高动作分类的准确性。我们的cropping策略的强大贡献也得到了证明。我们在NTU RGB+D数据集上对我们的方法进行了评估,该数据集是用于从深度摄影机中识别人类行为的最大数据集,并得到了最好的结果。

Introduction

  论文中阐述,视觉和骨骼点共同作为输入,可以提高识别精度。作者提出了一种融合视频和姿态数据(FUSION)的模型。
在这里插入图片描述  姿势网络是一个18层的ResNet,以整个骨架序列作为输入。序列被映射到一个RGB图像,然后重新缩放以适应CNN的输入大小。IR网络是ResNet(2+1)D(R(2+1)D),其中从均匀间隔的子序列中获取的固定数量的随机帧用作输入。每个模块的特征然后使用级联方案进行融合,然后用多层感知器(MLP)求出最终分类。

作者的主要贡献如下:

  • 作者展示了来自深度相机的红外流对于人类行为识别的重要性
  • 作者提出了一种以骨架和红外序列为输入的融合网络,这是以前从未尝试过的。
  • 作者进行广泛的消融研究。作者分离了模型的不同模块,并研究了它们各自的表现能力。还评估了数据扩充、转移学习、二维骨架条件红外序列和红外序列长度对准确性的重要性。
  • 与使用不同流的方法相比,作者获得了最先进的结果。

II. RELATED WORK

  作者提出了一种的方法,其中3D骨架数据提供了被试周围的裁剪,从而减少了对空间注意机制的需要。一群人是必要的,即使在多个受试者相互作用的情况下,这可以减少内存需求。

III. PROPOSED MODEL

  作者利用骨架和红外数据设计了一个深度神经网络,称为“充分利用红外和骨架优化网络”(FUSION)。该网络由两个并行模块和一个MLP组成。一个模块解释骨架数据,另一个模块解释红外视频。从每个单独的流中提取的特征然后使用级联方案进行融合。MLP作为最终模块,输出一个概率密度。通过优化分类分数,对网络进行端到端的训练。
  作者注意到一个骨架序列 S = { S j , t , k } S=\{S_{j,t,k}\} S={Sj,t,k},其中 j j j表示关节索引, t t t表示帧索引, k k k表示坐标轴(X,Y和Z)。注意到 I = { I t } I=\{I_t\} I={It}一个采样的IR序列,其中t取 { 1 , . . . , T } \{1,...,T\} {1,...,T},T为采样帧的数目。

A. Pose module

在这里插入图片描述
  骨架序列需要仔细处理才能获得最佳结果。首先,骨架序列规范化保证尺度不变,这意味着物体和相机之间的距离被考虑在内。然后序列被转录成RGB图像,并考虑到多个受试者的交互作用。手工处理的RGB图像然后被传送到2D CNN。

  1. 先验归一化步骤:通过将摄像机的全局坐标系转换为与主体关键关节相对应的局部坐标系,对每个骨架序列进行归一化。我们选择脊椎中部作为新原点。如图3所示。
      作者采用顺序归一化。换言之,计算第一帧的平移向量并将其应用于每个后续帧,这意味着对象可能会离开新的局部坐标系,如下所示: S ′ = S : , : , : − S 1 , 0 , : (1) S'=S_{:,:,:}-S_{1,0,:} \tag{1} S=S:,:,:S1,0,:(1)其中 S ′ S' S是标准调整后的骨骼序列, j = 1 j=1 j=1对应于kinect 2骨架的脊柱中心位置。":"表示这个维度上的所有值都被考虑在内。
  2. Skeleton data to skeleton 2D maps:骨架序列映射,每个坐标轴X、Y和Z都归属于RGB图像的每个通道。每个键关节对应一行,而列表示不同的帧。
      作者应用数据集规范化。在整个数据集的规范化步骤之后,作者注意到坐标的最小值和最大值 c m i n c_{min} cmin c m a x c_{max} cmax 。在[0,1]范围内使用最小-最大策略重新计算骨架序列映射的像素,如下所示 M = S ′ − c m i n c m a x − c m i n (2) M=\frac{S'-c_{min}}{c_{max}-c_{min}}\tag{2} M=cmaxcminScmin(2)其中 M = { M j , t , k } M=\{M_{j,t,k}\} M={Mj,t,k}是标准化的骨架映射,k同时是坐标轴和图像通道。
      为了适应2D CNN的固定输入大小,骨架映射被调整为标准大小。
    3)Multi subject strategy:作者的网络可扩展到多个用户(subjects)。作者在关节维度上连接不同的骨架映射。当J是关节总数时,前J行对应于第一个用户,随后的J行对应于用户2,等等。我们将用户的数量限制为两个,对应于NTU RGB+D数据集的最大值。然而,这种方法可以推广到更多的用户。如果骨架序列只包含一个用户,则第二个用户的J行被设置为零。
      当有多个用户时,将用户的坐标转换为主体用户的局部坐标系(图4)。

在这里插入图片描述  该方法的优点是多方面的。首先,这减轻了对不同用户的单个网络的需求。其次,如果在第一帧之后检测到第二个用户的骨架,这种表示允许第二个用户仍然进行干涉。第三,在将每个用户坐标转换为第一个用户的局部坐标系时,保持距离信息。最后,将骨架映射调整为标准大小,以适应固定的输入大小的pose模块。这意味着网络能够从不同大小的原始序列中学习。
4)CNN used:使用转换后的骨架图作为输入。作者使用已有的CNN,在ImageNet上预先训练过权值,因为我们发现即使是手工制作的图像,这也能改善分类分数。我们选择了一个18层ResNet,因为它的精度和速度之间的折衷。
  利用姿态模块 f S f_S fS和参数 θ S \theta_S θS (3),我们从骨架图M中提取一个位姿特征向量 S S S。在这里,以及本文的其他部分,模块和参数的下标指的是模块,而不是索引。 s = f S ( M ∣ θ S ) (3) s=f_S(M|\theta_S)\tag{3} s=fS(MθS)(3)

B. IR module

  测试动作只占红外序列帧内的一个小区域。2D骨架数据用于捕获感兴趣的区域,实际上集中了网络的注意力,考虑到多个潜在的用户动作。由于红外模块需要固定帧数的视频输入,因此采用了子采样策略。利用三维CNN来挖掘红外数据。
1.Cropping strategy:传统的3D-CNN需要大量的参数来完成复杂的视频理解任务。因此,帧被大幅缩小以减少内存需求。在该过程中,鉴别信息可能丢失。在日常活动的动作视频中,背景几乎没有提供有用信息。我们希望我们的模型只关注用户,因为这是动作识别任务。我们认为,围绕主题的裁剪提供了关于所执行动作的充分线索。深度信息,加上姿态估计算法,为人体检测提供了一个整体解决方案。我们提出一种裁剪策略,如图5所示,绿色的平行六面体,实际上迫使模型聚焦于用户上。
在这里插入图片描述  给定一个3D骨架序列投影到2D帧上,提取出所有关节和帧的最大和最小像素位置。这将创建一个固定的边界框,在空间和时间域上捕捉用户信息。我们根据经验选择一个20像素的偏移量来解释潜在的骨架误差。如果具有偏移量的方框坐标超过红外帧范围,则用零填充IR流。
  作者的方法的优点如下。在感兴趣区域周围裁剪可以在不降低质量的情况下减小帧的大小。因此,缩小比例的因素就不那么重要了,并且保留了图像的主要信息。此外,由于裁剪策略本身可能被视为一个hard注意方案,因此它减轻了对注意机制的需要。而且,网络不必从背景中学习信息,在我们的例子中,这是噪音,因为它被减少到最小。
2.Multi subject strategy。裁剪策略可以推广到多测试者。边界框被放大以考虑其他测试者。我们对所有关节、框架和受试者取最大值和最小值。
  对于给定的序列,无论测试者的数量是多少,边界框都是不可移动的。这样可以保持相机动态。我们不想通过添加带有移动边界框的摄影机的虚拟移动来给序列添加混乱。
3.Sampling strategy:与pose网络相反,给定的IR序列不是整体处理的。三维CNN需要一个具有固定帧数T的序列。必须根据T值和采样策略进行选择。一种潜在的方法是在一个序列中获取相邻帧。但接下来的顺序可能不足以正确地捕捉到行动的本质。相反,我们提出一种方案,其中原始序列被划分为等持续时间的T窗口,如图6所示。从每个窗口随机抽取一帧。创建一个长度为T的新序列。这是一种数据扩充形式,因为原始序列可能会产生不同的结果。
在这里插入图片描述
4.3D CNN used:新的采样序列被用作3D-CNN的输入。使用一个18层深的R(2+1)D网络上预先训练过Kinetics-400。R(2+1)D是一个优秀的网络,它可以重温3D卷积。Tran等人在基准RGB动作识别数据集上展示了分解空间和时间卷积的最新结果。在空间和时间卷积之间用一个非线性激活函数来分离空间卷积和时间卷积,这样就可以用相同数量的参数来表示更复杂的函数。
  我们使用参数 θ I R θ_{IR} θIR的IR模块 f I R f_{IR} fIR从采样的IR序列 I I I中提取流特征向量 i i i,如下所示: i = f I R ( I ∣ θ I R ) . (4) i=f_{IR}(I|\theta_{IR}).\tag{4} i=fIR(IθIR).(4)

C. Stream fusion

  姿态和红外模块都输出各自的特征向量。MLP作为最后一个模块,返回数据集中每个动作类的概率分布。
  两个流的特征通过级联方案进行融合。MLP由三层组成,在计算前进行批量标准化。ReLU激活函数用于所有神经元。最后,使用softmax激活函数将最后一层的输出归一化为概率分布。
  类概率分布 y y y由MLP f M L P f_{MLP} fMLP输出,参数为 θ M L P θ_{MLP} θMLP。输入 i i i s s s对应于由pose和IR模块计算的特征向量。 y = f M L P ( i , s ∣ θ M L P ) (5) y=f_{MLP}(i,s|\theta_{MLP})\tag{5} y=fMLP(i,sθMLP)(5)  我们尝试了一种方案,在这个方案中,我们的网络中的姿态和红外模块会发出自己的预测。然后在反向传播步骤中,我们将使用学习的权重在logits级别上平均预测。然而,这将导致网络的最终分类仅归于一个模块或另一个模块。相反,我们认为MLP允许将不同流的特性联合解释。

IV. NETWORK ARCHITECTURE

A. Architecture

1)姿态模块:姿态网络是一个18层深的ResNet。网络采用3x224x224维张量作为输入,其中3对应于RGB通道,224对应的高度和宽度。输出s是由512个特征组成的一维向量。
2)红外模块:红外网络是一个18层深的R(2+1)D。它将尺寸为3xTx112x112的视频作为输入,其中3对应于RGB通道,T对应于序列的长度,112对应于图像的高度和宽度。输出 i i i是由512个特征组成的一维向量。
  为了能够利用预先训练的R(2+1)D CNN,它最初是在RGB图像上训练的,所以对IR帧(单通道灰度图像)进行了复制。
3)Classification module:分类模块是一个三层的MLP网络。第一层需要1024个特征的向量,包含256个单元。第二层由128个单元组成。最后一层的单元数与数据集中不同操作类的数量相同。最后,使用softmax函数将预测规范化为概率分布。batch normalization在层之前应用。已经测试了一个dropout来代替batch normalization,但没有发现它是优越的。ReLU激活功能用于除最后一层之外的所有层。
  整个网络如图7所示。
在这里插入图片描述

B. Data augmentation

  为了防止过度拟合并增强模型的泛化能力,我们在训练期间进行数据扩充。
  骨架序列的视点有限,但它们的表示使它们成为通过几何变换进行扩充的理想候选。骨架序列通过围绕X、Y和Z轴执行随机旋转来增强。对于训练过程中的每个序列,我们在每个轴上应用−20◦和20◦之间的随机旋转。
  我们采用以下方案来实现红外数据增强。对于训练过程中的每个序列,我们以50%的概率对帧进行水平镜像变换。这两个流被独立地扩充。

Training

  通过最小化交叉熵损失,网络以端到端的方式进行训练,这意味着我们网络的所有模块都是一起训练的。姿势网络是在ImageNet数据集上预先训练的。IR网络在Kinetics-400数据集上进行了预训练。

V. EXPERIMENTS

  作者评估了他们提出的模型在NTU RGB+D数据集上的性能,这是迄今为止最大的基准数据集。作者还进行了广泛的消融研究,以了解每个模块的贡献。
作者反复强调他们在CS上的贡献。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值