Video-FocalNets: Spatio-Temporal Focal Modulation for Video Action Recognition

news2025/3/15 19:55:21

标题:Video-FocalNets:用于视频动作识别的时空聚焦调制

源文链接:Wasim_Video-FocalNets_Spatio-Temporal_Focal_Modulation_for_Video_Action_Recognition_ICCV_2023_paper.pdf (thecvf.com)icon-default.png?t=N7T8https://openaccess.thecvf.com/content/ICCV2023/papers/Wasim_Video-FocalNets_Spatio-Temporal_Focal_Modulation_for_Video_Action_Recognition_ICCV_2023_paper.pdf

源码链接:GitHub - TalalWasim/Video-FocalNets: Official repository for "Video-FocalNets: Spatio-Temporal Focal Modulation for Video Action Recognition" [ICCV 2023]icon-default.png?t=N7T8https://github.com/TalalWasim/Video-FocalNets

发表:ICCV-2023

目录

摘要

 1.介绍

2. 相关工作

3. 方法

3.1. 时空焦点调制

3.1.1 时空分层上下文化

3.1.2时空门控聚合

3.1.3设计变化

3.2. 网络变体

4. 结果与分析

4.1. 实验设置与方案

4.2. 与最先进的比较

4.3. 消融

5. 结论

读后总结


摘要

近期的视频识别模型利用Transformer模型进行长距离时空上下文建模。视频Transformer设计基于自注意力机制,可以以高计算成本建模全局上下文。相比之下,卷积设计的视频模型提供了一种高效的替代方案,但缺乏长距离依赖建模。为了实现两种设计的优点,本文提出了Video-FocalNet,这是一种高效且有效的视频识别架构能够同时建模局部和全局上下文。Video-FocalNet基于时空聚焦调制架构,通过逆转自注意力的交互和聚合步骤来提高效率。此外,聚合步骤和交互步骤均采用高效的卷积和逐元素乘法操作,相比于视频表示中的自注意力机制,它们的计算成本更低。我们广泛探索了基于聚焦调制的时空上下文建模设计空间,并证明了我们并行的空间和时间编码设计是最佳选择。Video-FocalNets在五个大规模数据集(Kinetics-400、Kinetics-600、SS-v2、Diving-48和ActivityNet-1.3)上的表现优于最先进的基于Transformer的视频识别模型,并且计算成本更低。我们的代码和模型已在https://github.com/TalalWasim/Video-FocalNets发布。

 1.介绍

自AlexNet [36] 引入以来,最先进的视频识别方法受到了卷积神经网络(CNN)的显著影响。最初是2D [30, 48, 55],随后是3D [7, 19, 63] CNN在小规模 [37, 57] 和大规模 [6, 20, 31] 视频识别基准测试上取得了更好的性能。凭借其局部连接性和平移等变性,CNN具有更好的归纳偏差,尤其适用于在小数据集上学习。然而,由于其受限的感受野,CNN在建模长距离依赖关系方面能力有限。另一方面,视觉Transformer(ViTs) [13] 提供了长距离上下文建模,并且在图像分类 [13, 45, 46] 和视频识别 [2, 4, 47, 75] 方面非常有效。ViTs基于自注意力机制 [65],最初在自然语言处理(NLP)中提出,编码了最少的归纳偏差,能够建模短期和长期依赖关系。这使得ViTs在大数据集上能够更好地泛化,如最近在主要视频识别基准测试 [6, 20, 31] 上的结果所示,它们的性能超过了CNN。然而,ViTs伴随着高计算和参数成本 [76]。

视频识别需要同时精确地建模短程和长程的时空依赖性,以实现高性能。然而,现有方法在效率和性能之间存在权衡。虽然CNN更高效且适合短程信息建模,但它们在长程依赖和大数据集的表示学习能力方面有限ViT解决了这些问题,但其参数复杂性和计算成本较高。高复杂性源于双步骤的自注意力操作,首先进行查询-键交互,然后在上下文值上进行聚合。查询-键交互需要计算代价高昂的通过点积计算的令牌到令牌的注意力得分,因为查询和键不包含周围上下文信息(它们只是输入令牌的线性投影)。在这种背景下,本研究旨在优化效率和性能,同时建模视频中的局部和全局上下文

我们提出了一种名为Video-FocalNet的视频识别高效架构(见图1)。Video-FocalNet提出了一种时空聚焦调制架构,通过逆转自注意力操作的步骤来提高效率。该架构受用于图像识别的聚焦调制 [76] 启发,并将其扩展到视频中,通过分别聚合每个令牌的周围空间和时间上下文到空间和时间调制器,然后在交互步骤中将它们与查询融合。聚合基于分层上下文步骤,分别使用深度卷积和逐点卷积堆栈用于空间和时间分支,然后通过门控聚合来实现对短期和长期依赖的建模。聚合步骤(基于深度卷积/逐点卷积)和交互步骤(基于逐元素乘法)的计算成本都比自注意力对应步骤(即,通过矩阵乘法进行的查询-键交互和查询-值聚合)低

图2(a):Video-FocalNet的总体架构:根据[46, 76, 77],我们定义了一个四阶段架构,每个阶段包括一个补丁嵌入和若干Video-FocalNet块。总块数为L,第一、二、三、四阶段分别包含L/6、L/6、L/2和L/6个块。(b)单个Video-FocalNet块:类似于Transformer块[65],我们用时空聚焦调制替换了自注意力。

我们广泛探索了各种设计配置,以实现最佳的时空上下文建模和焦点调制。分析表明,提出的并行空间和时间焦点调制设计比其他顺序设计性能更优,并且更高效。基于时空焦点调制,我们引入了一系列Video-FocalNet架构(tiny、small和base),并展示了它们在视频识别方面的性能优于最先进的基于Transformer的方法,同时计算成本更低。我们的主要贡献总结如下:

•我们解决了视频识别中有效时空建模的挑战。为了解决这一挑战,我们提出了一个视频焦点调制块,通过分层上下文聚合设计,使用计算高效的深度卷积和逐点卷积来进行局部-全局上下文建模
• 我们探索了时空焦点调制的各种设计选择,并提出了一个并行的空间和时间编码设计,在性能和计算成本之间实现优化,如图5所示。
•我们在三个主要基准测试中取得了最先进的性能:Kinetics-400 [31]、Kinetics-600 [5]和Something-Something-v2 [20],分别超过文献中的可比方法0.6%、1.2%和0.6%。此外,我们在相对较小的Diving-48 [41]和ActivityNet-1.3 [24]数据集上也超过了以往的工作。我们在准确性和计算成本之间实现了最佳平衡,如图1所示。

图1:准确性与计算复杂度的权衡比较:我们展示了Video-FocalNets在视频动作识别方面与最近方法的性能对比。准确性与GFLOPs/view在Kinetics-400 [31]数据集上进行了比较。我们的Video-FocalNets在各种模型大小(Tiny、Small和Base)上的性能都优于其对应的方法。

2. 相关工作

视频识别:早期的视频识别方法是基于特征的[34, 38, 66]。然而,随着2D CNN在Imagenet [12]上取得的惊人成功 [23, 36, 56, 62],它们也被引入到视频识别任务中 [30, 48, 55]。后来,随着Kinetics [31]等大规模数据集的发布,基于3D CNN的方法被引入 [7, 19, 63]。这些方法在建模时空关系方面更加有效,优于基于2D CNN的方法。然而,这些基于3D CNN的方法的计算成本非常高昂。因此,引入了各种3D CNN的变体 [14, 17, 18, 40, 44, 53, 58, 60, 64, 72],降低了计算成本并提高了性能。随着Vision Transformer [13]在图像识别中的成功,它们也被引入到视频识别中。这一领域的首个方法使用了Vision Transformer和CNN的组合 [35, 69, 70],包括Transformer块来建模更长范围的上下文。随后的进展引入了完全基于Transformer的架构 [2, 4, 16, 42, 47, 51, 75, 83],在多个基准测试中优于所有先前的方法。最近,提出了一种新的方法 [39],将CNN和ViTs结合起来,其性能与最先进的完全基于Transformer的方法相当。

全局上下文建模:由于2D CNN的局部性质,纯粹基于2D CNN的计算机视觉方法缺乏全局上下文建模。自注意力 [65] 被引入来对视觉输入进行长距离依赖建模。然而,自注意力由于需要矩阵乘法而计算成本高昂。为解决这一问题,引入了各种方法。这些方法包括基于局部窗口的注意力 [10, 45, 46, 50, 52, 77, 81],以及添加全局标记以建模全局信息的变体 [1, 3, 29, 49, 79]。为了减少计算成本,一些方法使用了计算效率较高的注意力模式,如跨步 [8] 和轴向 [27] 模式,以及沿通道维度而不是令牌维度计算的注意力。其他方法还结合了卷积和自注意力进行局部和全局建模。还研究了各种自注意力的线性化方法,包括令牌维度的投影 [33, 68],以及分解softmax-attention核 [9, 54, 73]。最近,使用CNN的一种新方法,称为焦点调制 [76],用于建模全局上下文。为了对局部和全局信息进行建模,焦点调制采用了分层上下文聚合,将不断增加的感受野大小的信息进行组合

3. 方法

假设视频输入经过编码产生特征表示X_{st} \in \mathbb{R}^{T \times H \times W \times C},其中 T 表示帧数,H \times W 表示空间分辨率,C 表示通道数。为了获得给定输入时空特征图X_{st}中的一个令牌(查询) x_i \in \mathbb{R}^C的富含时空上下文的表示y_i \in \mathbb{R}^C,需要对查询和其相邻的空间和时间令牌进行交互,然后在周围的时空上下文中聚合生成的信息。为了有效地对时空输入进行建模,重要的是对视频的富含上下文建模时同时编码短程和长程依赖关系

自注意力机制 [65] 被用于最先进的视频识别方法中 [2, 4, 16, 47, 51, 75, 83],使用的是首次交互、最后聚合(FILA)过程,该过程包括首先通过查询和键的交互T1计算注意力得分,然后在上下文中进行聚合 M1,如公式(1)所示。

\boldsymbol{y}_i=\mathcal{M}_1(\mathcal{T}_1(\boldsymbol{x}_i,\mathbf{X}_{st}),\mathbf{X}_{st}).\quad(1)

由于在交互过程中,查询和键只是输入特征图的简单线性投影,因此自注意力机制通过查询-键交互涉及计算代价高昂的令牌到令牌的注意力得分计算,因为单个键不包含周围上下文的信息

最近提出了一种新的编码方法,称为焦点调制 [76],它采用早期聚合过程,即首次聚合、最后交互(FALI)机制。本质上,自注意力和焦点调制都涉及交互和聚合操作,但操作顺序不同。在焦点调制中,首先进行上下文聚合M2 ,然后是查询和聚合特征之间的交互 T2 ,如公式(2)所示。

\boldsymbol{y}_i=\mathcal{T}_2(\mathcal{M}_2(i,\mathbf{X}_{st}),\boldsymbol{x}_i).\quad(2)

聚合的输出称为调制器,它为每个查询编码周围的上下文信息。需要注意的是,焦点调制中的操作 M2 基于卷积,相比于自注意力中的 M1计算效率更高。同样地,交互操作T2是简单的逐元素乘法,而自注意力中的令牌到令牌的注意力得分计算具有二次复杂度

焦点调制过程 [76] 在图像上通过提取查询令牌周围的空间上下文效果良好。然而,为了建模时空信息,必须提取单个查询令牌周围的空间和时间上下文。为此,我们提出了Video-FocalNets架构,它明确建模帧内(空间)和帧间(时间)信息。我们的方法旨在通过提出一个双流时空焦点调制块来独立建模空间和时间信息,其中一个分支学习空间信息,另一个分支建模时间信息。通过分离空间和时间分支,我们能够分别提取和聚合每个查询令牌的空间和时间上下文,生成空间和时间调制器。这些调制器然后与查询令牌融合,以构建最终的特征图

我们的设计将焦点调制中晚期聚合的理想特性转移到视频任务中。特别地,焦点调制针对每个目标令牌执行,其上下文集中在目标令牌周围,因此具有平移不变性。它还将查询与其周围的上下文解耦,使查询能够保留细粒度信息,同时提取其周围的粗粒度上下文焦点调制使用分层-门控聚合方法,在多个粒度级别上聚合信息。这允许在视频中建模短期和长期依赖关系,同时提高计算和参数效率

现在我们在第3.1节中介绍我们在时空焦点调制方面的方法,并在第3.1.1节和第3.1.2节中分别详细说明视频的分层上下文化和门控聚合过程。为了保持一致性,我们使用与[76]中提出的相同术语。最后,我们在第3.2节概述我们的网络架构变体。

3.1. 时空焦点调制

图2:(a)Video-FocalNets的整体架构:按照[46, 76, 77],我们定义了一个四阶段架构,每个阶段包括一个补丁嵌入层和若干Video-FocalNet块。总块数为L,第一、二、三和四阶段分别有L/6、L/6、L/2和L/6个块。(b)单个Video-FocalNet块:类似于transformer块[65],我们用时空焦点调制替换了自注意力机制。

图3:时空焦点调制层(Spatio-Temporal Focal Modulation layer):我们设计了一个时空焦点调制块,独立建模空间和时间信息。输入首先通过线性层投影,以生成查询、空间/时间特征图和空间/时间门控。然后,通过分层上下文化(M_s\)/\(M_t)和门控聚合(G_s\)/\(G_t),生成空间和时间调制器。这些调制器通过逐元素乘法操作与查询令牌交互\bigodot,形成最终的时空特征图。

为了建模空间和时间维度,我们提出了一个双流时空焦点调制块。整体架构如图2所示,时空焦点调制的设计如图3所示。我们通过详细的消融实验和与其他设计选择的比较验证了其有效性(见第4.3节)。对于输入的时空特征图 X_{st} \in \mathbb{R}^{T \times H \times W \times C},双流时空编码过程包括沿空间和时间维度的独立聚合,然后与查询进行联合交互,如公式(3)所示。

\boldsymbol{y}_i=\mathcal{T}_{st}(\mathcal{M}_s(i_t,\mathbf{X}_{st,t}),\mathcal{M}_t(i_{hw},\mathbf{X}_{st,hw}),\boldsymbol{x}_i),\quad(3)

其中 X_{st,t} \in \mathbb{R}^{H \times W \times C} 是时间维度 t \in \{1, ..., T\}的单个空间切片,而i_t 是切片 t \in \{1, ..., T\} 的空间位置。同样,X_{st,hw} \in \mathbb{R}^{T \times C}是空间维度 h \in \{1, ..., H\}w \in \{1, ..., W\} 的单个时间切片,而i_{hw}是时间位置。操作符M_sM_t分别基于深度卷积和点卷积操作符,T_{st}是逐元素乘法。因此,时空焦点调制过程可以定义如下:

\boldsymbol{y}_i=q(\boldsymbol{x}_i)\odot m_s(i_t,\mathbf{X}_{st,t})\odot m_t(i_{hw},\mathbf{X}_{st,hw}),\text{(4)}

其中 q(\cdot)是查询投影函数,\odot是逐元素乘法,m_s(\cdot)m_t(\cdot)是上下文聚合函数,其输出分别称为空间调制器和时间调制器。m_s(\cdot)m_t(\cdot) 的公式包括两个步骤:分层上下文化和门控聚合。第3.1.1节和第3.1.2节分别讨论了时空分层上下文化和时空门控聚合。

3.1.1 时空分层上下文化

首先,我们使用两个线性层对输入的时空特征图X_{st} \in \mathbb{R}^{T \times H \times W \times C}进行投影,生成 Z^0_{s}Z^0_{t},如公式(5)所定义。

\begin{aligned}&\mathbf{Z}_{s}^{0}=f_{z,s}(\mathbf{X}_{st})\in\mathbb{R}^{T\times H\times W\times C},\\&&\text{(5)}\\&\mathbf{Z}_{t}^{0}=f_{z,t}(\mathbf{X}_{st})\in\mathbb{R}^{T\times H\times W\times C},\end{aligned}

其中 f_{z,s}f_{z,t} 分别是空间和时间线性投影层。然后,我们分别沿着空间和时间维度对投影后的输入 Z^0_{s}Z^0_{t}进行一系列 L深度卷积(DWConv)和点卷积(PWConv)操作。因此,在每个焦点级别 \ell \in \{1, ..., L\}上的输出 Z_{\ell s}Z_{\ell t} 如下:        

\mathbf{Z}_{s}^{\ell}=f_{a,s}^{\ell}(\mathbf{Z}_{s}^{\ell-1})\triangleq\mathsf{GeLU}(\mathsf{DWConv}(\mathbf{Z}_{s}^{\ell-1}))\in\mathbb{R}^{T\times H\times W\times C},\\\mathbf{Z}_{t}^{\ell}=f_{a,t}^{\ell}(\mathbf{Z}_{t}^{\ell-1})\triangleq\mathsf{GeLU}(\mathsf{PWConv}(\mathbf{Z}_{t}^{\ell-1}))\in\mathbb{R}^{T\times H\times W\times C},\quad\text{(6)}

其中 f_{\ell a,s}(\cdot)f_{\ell a,t}(\cdot) 是带有 GeLU [25] 激活函数的空间和时间上下文化函数。为了获得全局表示,分别对 Z_{Ls}Z_{Lt}沿着空间和时间维度执行全局平均池化操作,如下所示:

\begin{aligned} \mathbf{Z}_{s}^{L+1} =\operatorname{Avg-Pool}(\mathbf{Z}_s^L), \\\qquad \text{(7)} \\ \mathbf{Z}_{t}^{L+1} =\operatorname{Avg-Pool}(\mathbf{Z}_t^L), \end{aligned}

其中 Avg-Pool 是全局平均池化操作符。

3.1.2时空门控聚合

时间和空间调制器是指用于视频中每个帧的特征提取的模块,时间调制器关注视频中的时间动态,捕捉视频中的运动和动作变化。空间调制器则专注于视频中的空间特征,捕捉每一帧中的局部视觉内容和变化。

接下来,我们通过门控机制将相应的空间和时间特征图Z^\ell_{s}Z^\ell_{t}压缩成相应的空间和时间调制器。我们使用线性投影层 f_{g,s}f_{g,t} 获得相应的空间和时间门控权重,即 G_s = f_{g,s}(X_{st}) \in \mathbb{R}^{H \times W \times (L+1)}G_t = f_{g,t}(X_{st}) \in \mathbb{R}^{T \times (L+1)}。然后,通过特征图和它们相应的门控权重进行点乘,如公式(8)所示:

\begin{aligned} &\mathbf{Z}_{s}^{out} =\sum_{\ell=1}^{L+1}\mathbf{G}_{s}^{\ell}\odot\mathbf{Z}_{s}^{\ell}\in\mathbb{R}^{H\times W\times C}, \\ &&\text{(8)} \\ &\mathbf{Z}_{t}^{out} =\sum_{\ell=1}^{L+1}\mathbf{G}_{t}^{\ell}\odot\mathbf{Z}_{t}^{\ell}\in\mathbb{R}^{T\times C}, \end{aligned}

其中Z^{\text{out} }_sZ^{\text{out} }_t 分别是单一聚合的空间和时间特征图G^\ell _{ s} \in \mathbb{R}^{H \times W \times 1}G^\ell_{t} \in \mathbb{R}^{T \times 1}G_sG_t的切片,对应于级别 \ell。为了实现不同通道之间的通信,使用另一组线性层 h_s(\cdot)h_t(\cdot)来获取空间调制器M_s = h_s(Z_{\text{out} s}) \in \mathbb{R}^{T \times H \times W \times C}和时间调制器M_t = h_t(Z_{\text{out} t}) \in \mathbb{R}^{T \times H \times W \times C}

因此,定义在公式 4 中的时空聚焦调制过程可以重新写成:

\boldsymbol{y}_i=q(\boldsymbol{x}_i)\odot h_s(\sum_{\ell=1}^{L+1}\boldsymbol{g}_{i,s}^\ell\cdot\boldsymbol{z}_{i,s}^\ell)\odot h_t(\sum_{\ell=1}^{L+1}\boldsymbol{g}_{i,t}^\ell\cdot\boldsymbol{z}_{i,t}^\ell) (9)

其中,z^\ell_{i,s}z^\ell_{i,t}是位置 i 处的空间/时间视觉特征,g^\ell_{i,s}g^\ell_{i,t}是位置 i 处的空间/时间门控值,分别来自Z^\ell_s \) / \( Z^\ell_tG^\ell_s \) / \( G^\ell_t

3.1.3设计变化

图4:我们展示了通过聚焦调制进行时空上下文建模的各种设计选择,并在图5中对它们进行了评估。(a) 一种简单的解决方案,其中每帧通过空间聚焦调制层处理,并取平均值。(b) 该简单解决方案的一个变体,将2D深度卷积替换为分解的3D卷积(2D深度卷积后接1D逐点卷积)。(c) 一个分解编码器设计,将两个编码器堆叠在一起,一个用于建模空间维度,另一个用于建模时间维度。(d) 基于[4]的设计,使用了分解的空间和时间聚焦调制。(e) 我们提出的时空聚焦调制方法,具有并行的空间和时间分支,随后进行时空交互

我们进一步将我们提出的时空聚焦调制设计与图4中展示的各种其他可能设计进行比较。这项探索性研究验证了所提出的设计是最优的。第一个设计(a)是对视频进行空间聚焦调制的简单扩展,它将每一帧通过空间编码器(仅使用2D深度卷积)并沿时间维度取平均值。数学上,对于这种情况,方程(3)可以重写为:

\boldsymbol{y}_{i}=\mathcal{T}_{st}(\mathcal{M}_{s}(i_{t},\mathbf{X}_{st,t})).\text{(10)}

这种设计的变体 (b) 使用分解的3D卷积(先进行2D深度卷积,然后是1D逐点卷积)。

接下来的设计 (c) 使用了一个分解的编码器,将两个编码器堆叠在一起,一个是空间编码器(使用2D深度卷积),另一个是时间编码器(使用1D深度卷积)。这类似于[2]中提出的分解编码器设计,但用空间和时间聚焦调制替代了空间和时间自注意力机制。

倒数第二种设计 (d) 遵循 [4] 提出的分离时空注意力的概念,使用交替的空间和时间聚焦调制。

最后一种设计 (e) 是我们提出的时空聚焦调制。在图5中报告了每种设计在Kinetics-400数据集上的准确性和计算要求。可以看出,我们提出的设计在准确性和计算方面是最优的。

3.2. 网络变体

参考[47, 76],我们采用与[76]相同的四阶段布局和隐藏维度,但将焦点调制块替换为我们的时空焦点调制块。在每个阶段中,使用一组L个Video-FocalNet块,分为四个阶段,分别为{L/6, L/6, L/2, L/6}。我们引入了四种不同版本的Video-FocalNets。模型变体的架构超参数如下:
- Video-FocalNet-T: C = 96,块数量 = {2, 2, 6, 2}
- Video-FocalNet-S: C = 96,块数量 = {2, 2, 18, 2}
- Video-FocalNet-B: C = 128,块数量 = {2, 2, 18, 2}

我们在开始时使用非重叠卷积层进行补丁嵌入(核大小=4×4,步幅=4)以及在两个阶段之间(核大小=2×2,步幅=2)。模型的焦点层级(L)设为2,第一层的核大小设为k1 = 3。我们逐渐从较低的焦点层级到较高的层级增加核大小,每次增加2,即k^\ell=k^{\ell-1}+2.。 

4. 结果与分析

4.1. 实验设置与方案

数据集:我们在三个大规模数据集上报告了视频动作识别的结果,分别是Kinetics-400(K400)[31]、Kinetics-600(K600)[5]和Something-Something-v2(SSv2)[20]。对于每个数据集,我们在训练集上训练模型,并在验证集上进行评估。K400包含大约240,000个训练视频和约20,000个测试视频,涵盖了400个类别。K600包含大约370,000个训练视频和28.3万个测试视频,涵盖了600个类别。SS-v2包含了169,000个训练视频和24,700个验证视频,涵盖了174个类别。对于这三个数据集,我们报告了Top-1准确率,并与最先进的方法进行了比较。

此外,我们还在Diving-48(D-48)[41]和ActivityNet-1.3(ANet-1.3)[24]数据集上测试了我们的Video-FocalNet。D-48是一个具有挑战性的潜水动作数据集,包含大约15000个训练样本和约2000个测试样本。动作仅通过潜水者在帧之间微小的运动来区分,而背景基本保持不变。这意味着该数据集需要对时间进行稳健建模以获得良好的性能。实际上,研究[67]表明,在这个数据集中,通过随机打乱(通过随机打乱)或移除(通过单帧评估)时间信息可能导致准确率分别下降高达约33.6%和约70.2%。另外,ANet-1.3数据集包含用于动作识别任务的未修剪视频。

实施细节:对于K400和K600,我们采用与[39, 42]类似的训练方案,使用SGD优化器进行120个epoch的训练,并使用线性预热进行20个epoch。我们将学习率线性缩放为LR × batchsize 512,其中LR = 0.1是基础学习率。空间模块从预训练的Imagenet-1K FocalNet [76]权重初始化,其余部分随机初始化。对于数据增强,我们遵循类似于[16]的方案,并进行了一些变化。对于每个视频片段,我们以0.5的概率应用水平翻转、Mixup [80](α=0.8)和CutMix [78]。详细的超参数请参见表1。

表1:主要论文实验的训练超参数。“-”表示未使用任何正则化方法。所有列中恒定的值只列出一次。数据集的表示如下:K400:Kinetics-400。K600:Kinetics-600。SS-v2:Something-Something-v2。D-48:Diving 48。ANet-1.3:ActivityNet-1.3。

在训练期间,我们以步幅 τ 采样 T 帧,表示为 T× τ [18]。对于空间域,我们遵循 Inception [59] 的方法,裁剪为 H×W = 224×224,输入区域在比例 [min, max] = [0.08, 1.00] 内选择,并在3/4到4/3之间变化的纵横比。在推理过程中,我们将结果报告为N_{clip}\times N_{crops}的平均值,其中从视频中均匀采样了 N_{clip}个剪辑,并且对于每个视频,在推理期间采用了 N_{crops}个空间裁剪。对于 K400 和 K600,我们在推理时使用 4 × 3。对于 SS-v2、D-48 和 ANet-1.3,我们遵循与 K400 和 K600 相同的训练配方,稍作修改,如 [16, 39, 42, 47] 所述。我们使用 K400 预训练权重初始化模型。对于数据增强,我们不使用随机水平翻转,并在 1 × 3 视图上推理。

4.2. 与最先进的比较

Kinetics-400:在 K400 [31] 数据集上,我们报告了 Video-FocalNet-T、Video-FocalNet-S 和 Video-FocalNet-B 变体的结果,并在表2中与最近的方法进行了比较。首先考虑 T 和 S 变体,可以看到我们的方法分别超过了等价的 Video-Swin Transformer [47] 变体 1.0% 和 0.8%,同时将 TFLOPs 减少了 25%。我们更大的基础模型 Video-FocalNet-B 超过了以前的最先进模型 Uniformer-B [39] 和 MViTv2-B [42] 分别 0.6% 和 0.7%,同时与 MViTv2-B [42] 拥有可比较的 TFLOPs,并且相比 Uniformer-B [39] 减少了约 45% 的 TFLOPs。

Kinetics-600:在 K600 [5] 数据集上,我们在表3中报告了 Video-FocalNet-B 与文献中最近方法的结果。与以前的最先进模型 MViTv2-B [42] 相比,我们的 Video-FocalNet-B 达到了高出 1.2% 的性能。我们的方法使用 ImageNet-1K 初始化还超过了以前在更大的 ImageNet-21K 数据集上预训练的方法,同时保持了更低的 TFLOPs。

Something-Something-v2:在 SS-v2 [20] 基准测试上,我们报告了 Video-FocalNet-B 的结果,并在表4中与最先进的方法进行了比较。在这个时间上具有挑战性的基准测试中,我们的方法超过了以前的最先进方法 MViTv2-B [42] 和 Uniformer-B [39] 分别高出了 0.6% 和 0.7%。这种强大的性能表明我们的方法可以有效地模拟这个具有挑战性的数据集中的微妙时间变化和依赖关系

Diving-48:在 D-48 [41] 上,我们报告了我们的结果,并在表5中将它们与文献中的最近方法进行了比较。Video-FocalNet-B 超过了以前的最先进方法 TFCNET [82] 2.5%。这表明我们的方法即使在使用少量训练样本时也能有效地模拟时间信息

ActivityNet-1.3: 对于ANet-1.3 [24],结果在表格6中呈现。我们提出的Video-FocalNet在未剪辑视频数据集上显著优于基线模型Video-Swin(CVPR'22)[47]。这证明了我们的方法在定位亮点和解决未剪辑视频带来的挑战方面的有效性。我们感谢您深思熟虑的建议,并相信在未剪辑视频数据集上评估我们的方法进一步支持了它在这个具有挑战性的问题设置中的潜力。

4.3. 消融

在本节中,我们对最终设计中的各种选择进行了分析。请注意,所有消融实验均使用Video-FocalNet-S变体在K400上使用与第4.1节中提到的相同的训练设置进行。

调制器融合方法:由于我们提出了一个双流时空聚焦调制设计,因此我们最终得到了两个调制器,分别用于空间和时间分支,需要与查询标记进行融合。我们评估了各种融合方法,以确定哪种方法效果最好。图6(a)显示了三种融合技术的比较,包括简单的平均、逐元素乘法和可学习的投影层。我们发现逐元素乘法提供了最佳性能。

图6:(a)在Kinetics-400 [31]验证集上对Video-FocalNet-S的各种调制器-查询时空交互方法进行剖析。(b)对在Kinetics-400 [31]验证集上使用补丁与管道嵌入的Video-FocalNet-S进行剖析。注意,帧数已经调整,以确保标记数相同。

补丁嵌入与管道嵌入:许多最近的研究 [2, 47, 75] 提出将一个大小为 T × H × W × 3(其中 T = 2)的管道编码为单个标记,而不是将其作为补丁嵌入,其中 T = 1。我们评估了我们模型的这种设计选择,并发现简单的补丁嵌入对我们效果更好,如图6(b)所示。

我们在图7中对K600和SS-V2两个数据集中的样本视频进行了空间和时间调制器的可视化。我们注意到,我们的调制器聚焦于视频中与最终任务相关的显著部分和重要动态。空间调制器倾向于在单个帧中局部空间变化,而时间调制器则专注于跨帧发生大部分运动的全局区域

图7:我们可视化了来自Kinetics-600 [5](顶部行)、Something-Something-V2 [20](中部行)和Diving-48 [41](底部行)的样本视频的空间和时间调制器。请注意,时间调制器会专注于跨帧的全局运动,而空间调制器则捕捉局部变化。例如,在图7a中,时间调制器特别关注刀子与苹果接触的地方,而空间调制器会根据刀子的位置在每一帧中进行焦点切换。对于Diving-48(底部行),我们可以看到模型可以专门关注每一帧中发生动作的区域,而不受相机移动和小兴趣区域的影响。更有趣的是,时间调制器可以分离图7g和图7h中的两个动作区域。

5. 结论

为了学习能够有效地建模局部和全局上下文的时空表示,本文引入了用于视频动作识别任务的Video-FocalNets。该架构源自图像的焦点调制,并能够有效地建模短期和长期依赖关系,以学习强大的时空表示。我们通过广泛评估几种设计选择来开发我们提出的Video-FocalNet块。具体来说,我们的Video-FocalNet使用并行设计,通过以计算有效的方式组合空间和时间卷积和乘法运算来建模分层的情境化。Video-FocalNets比基于Transformer的架构更高效,后者需要昂贵的自注意力操作。我们通过对五个代表性的大规模视频数据集进行评估,证明了Video-FocalNets的有效性,在这些数据集上,我们的方法优于以前基于Transformer和CNN的方法。

读后总结

出发点:针对ViT能够长距离时空上下文建模,但计算成本高;CNN计算成本低但缺乏长距离时空建模的问题,需要一个高效且能够完成长距离时间建模的网络模型以实现视频动作识别。

创新点1:提出一种基于时空聚焦调制架构的Video-FocalNet网络,时空聚焦调制是指通过并行双分支的结构先分别聚合时间和空间特征信息,分别得到时间调制器和空间调制器,再将时间、空间调制器和查询进行交互。分支分别由投影层、分层上下文层(主要通过深度卷积核逐点卷积处理,获得时间维度核空间维度的全局表示)、门控聚合(主要通过线性投影层获得门控权重,通过门控权重选择性地聚合重要的空间和时间特征)和调制器层组成。Video-FocalNet网络架构类似于Swin Transformer,将Swin Transformer Blocks替换为Video-FocalNet Blocks,Video-FocalNet Blocks是将Vision Transformer Blocks注意力模块替换为Spation-Temporal Focal Modulation。通过卷积操作替换注意力模块,更加高效。

创新点2:多部分对比损失,通过将身体部位划分为多个部分(如头部、手臂、腿部等),对每个身体部分的特征和文本对应身体部分的描述特征进行对比学习,同时也进行全局特征对比,使得模型能够学习到更细粒度的身体运动特征

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1695110.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入解析文华量化交易策略---交易指令如何选择

随着金融投资的迅猛发展,自动化策略模型已逐渐成为现代投资领域的一股重要力量。量化交易模型均以数据为驱动,通过运用数学模型和算法,对期货、黄金等投资市场走势进行精准预测和高效交易。 艾云策略整理了量化策略相关资料,希望通…

从零开始搭建一个SpringBoot项目

目录 Spring BootSpring Boot 项目开发环境1、快速创建SpringBoot项目2、pom.xml 添加 Meavn 依赖3、配置application.yml4、验证数据库是否连接成功5、配置 Druid 数据源 Spring Boot 整合 MyBatis1、准备依赖2、application-dev.yml 配置3、启动类添加Mapper接口扫描器4、设置…

【Python搞定车载自动化测试】——Python基于Pytest框架实现UDS诊断自动化(含Python源码)

系列文章目录 【Python搞定车载自动化测试】系列文章目录汇总 文章目录 系列文章目录💯💯💯 前言💯💯💯一、环境搭建1.软件环境2.硬件环境 二、目录结构三、源码展示1.诊断基础函数方法2.诊断业务函数方法…

09.自注意力机制

文章目录 输入输出运行如何运行解决关联性attention score额外的Q K V Multi-head self-attentionPositional EncodingTruncated Self-attention影像处理vs CNNvs RNN图上的应用 输入 输出 运行 链接(Attention Is All You Need) 如何运行 解决关联性 a…

Iphone自动化指令每隔固定天数打开闹钟关闭闹钟

1.业务需求:小z每隔五天有一个夜班,然后下午会有三个小时的休息时间,如果闹钟不响就会错过交班日期,但是如果设置闹钟,iPhone的闹钟只能设定固定循环日期闹钟,或者一次的闹钟,导致要么忘记设闹钟…

【网络安全】社会工程学攻击与防范

一、社会工程学概述 1、社会工程学的定义 通过利用人们的心理弱点、本能反应、好奇心、信任、贪婪等一些心理陷阱进行的诸如欺骗、伤害、信息盗取、利益谋取等对社会及人类带来危害的行为或方法。 当网络恶意攻击者无法通过纯粹的计算机技术达到目的时,高超的情商…

【Text2SQL】WikiSQL 数据集与 Seq2SQL 模型

论文:Seq2SQL: Generating Structured Queries from Natural Language using Reinforcement Learning ⭐⭐⭐⭐⭐ ICLR 2018 Dataset: github.com/salesforce/WikiSQL Code:Seq2SQL 模型实现 一、论文速读 本文提出了 Text2SQL 方向的一个经典数据集 —…

Amesim应用篇-电芯等效电路模型标定

前言 为了使计算模型更加准确,在有电芯实验测试数据的情况下,依据现有的实验数据对Amesim中的电池等效电路模型进行标定。标定的目的是为了获得更加符合项目实际情况的电芯等效电路模型,标定完的电芯可以用于搭建PACK模型,也可以用于其他虚拟实验。本文以充电标定为例,进…

ideal 启动 多个 相同 工程

spring相同项目在idea多次运行 点击IDEA右上角项目的隐藏下拉框,出现下拉列表,点击Edit Configurations 弹出Run/Debug Configuration对话框,勾选Allow parallel run

vue实战 ---- 社交媒体---黑马头条项目

vue基础 1.介绍 为什么会有Vuex ? ​ Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 vuex是采用集中式管理组件依赖的共享数据的一个工具,可以解…

21-信号集处理函数

屏蔽信号集 屏蔽某些信号 手动自动 未处理信号集 信号如果被屏蔽,则记录在未处理信号集中 非实时信号(1~31),不排队,只留一个实时信号(34~64),排队,保留全部 信号集…

7. Spring MVC面试题汇总

Java全栈面试题汇总目录-CSDN博客 1. 什么是Spring MVC,简单介绍下你对Spring MVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进…

Jenkins安装部署--图文详细

Jenkins–从入门到入土 文章目录 Jenkins--从入门到入土一、Jenkins安装部署1、什么是Jenkins?2、Jenkins在开发过程中所属位置3、安装硬件环境和知识储备4、安装4.1、下载war启动4.2、Docker启动4.3、windows使用驱动安装 5、使用插件自定义 Jenkins6、创建第一个管理员用户 …

1+x(Java)中级题库易混淆理论题

<ALL表示小于最小 小于最高等同于小于ANY 使用USING子句&#xff0c;在使用连接字段时&#xff0c;都不能在前面加上表的前缀&#xff0c;因为此时这个字段已经是连接字段&#xff0c;不再属于某个单独的表。 数据库提供的自动将提供的数据类型数据转换为期望的数据类…

SpringBoot3笔记(一)SpringBoot3-核心特性

快速学习 SpringBoot 看官方文档&#xff1a; Spring Boot Reference Documentation 计划三天学完 笔记&#xff1a;https://www.yuque.com/leifengyang/springboot3 代码&#xff1a;https://gitee.com/leifengyang/spring-boot-3 一、SpringBoot3 - 快速入门 1.1 简介 …

深入解析:如何高效地更新Python字典

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、修改字典中的值 三、向字典中添加键值对 四、更新字典的两种方法总结 五、…

Re72:读论文 XLM Cross-lingual Language Model Pretraining

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名&#xff1a;Cross-lingual Language Model Pretraining 模型简称&#xff1a;XLM ArXiv地址&#xff1a;https://arxiv.org/abs/1901.07291 这是2019年NeurIPS的论文&#xff0c;主要做到就是跨语言…

第十一届蓝桥杯物联网试题(国赛)

国赛题目看着简单其实还是挺复杂的&#xff0c;所以说不能掉以轻心&#xff0c;目前遇到的问日主要有以下几点&#xff1a; 本次题主要注重的是信息交互&#xff0c;与A板通信的有电脑主机和B板&#xff0c;所以处理好这里面的交互过程很重要 国赛中避免不了会收到其他选手的…

【Linux设备驱动】1.字符设备驱动程序框架及相关结构体

目录 程序总体框架模块加载函数模块卸载函数具体操作函数 相关结构体cdev结构体file_oparations结构体 设备号分配设备号注销设备号创建设备文件 程序总体框架 /* 包含相关头文件 */ #include <linux/module.h> #include <linux/fs.h> #include <linux/init.h&…

智慧校园的建设思路

智慧校园建设的一个主要目的就是要打破学校内的信息孤岛&#xff0c;其核心是在人、流程和信息三个层面的全面整合。智慧校园应该能够为全校师生员工及校外用户提供统一的、一站式的服务渠道&#xff1b;能够将学校各种业务流程连接起来&#xff0c;实现各种应用系统的互联互通…