【阅读笔记】 EgoDistill: Egocentric Head Motion Distillation for Efficient Video Understanding

⚔️【阅读笔记】 EgoDistill: Egocentric Head Motion Distillation for Efficient Video Understanding

题目可翻译为——EgoDistill:第一视角头部运动蒸馏,实现高效的视频理解

声明:本博客内容用于自我学习使用,笔记内容与想法均来源于原始论文以及先验知识体系。

📡 论文地址/论文项目页面

目录


1. 解决问题

针对基于第一视角视频理解模型带来的高昂计算成本和高负责运算量,作者提出一种知识蒸馏的新的方法,结合IMU去完成性能和运算多方面的提升与加强,方法有效。

2. 关键思路

核心思路就是利用IMU作为密集视频帧观察的替代品来实现高效的视频理解,利用其捕获相机运动,同时通过算法模型完成视频原始帧和相机模态的融合,完成一个基于跨模态的第一视角视频理解任务。

3. 摘要

第一视角视频理解模型的最新进展是具有潜质的,但其昂贵的计算成本却是很多基于现实世界中的应用程序的发展障碍。为了解决这一挑战,作者提出了EgoDistill,一种基于蒸馏的方法,通过将稀疏视频帧语义信息和由轻量IMU读取的头部运动信息相结合,学习并重构第一视角的视频片段特征。同时,作者进一步设计了一种新的自监督训练策略,用于进行IMU特征学习。他们的方法可以显著提高效率,需200倍甚至更少的GFLOP,相较于其他的视频理解模型。在Ego4D数据集和EPICKitchens数据集上证明了算法模型的有效性,他们的方法优于最先进的高效视频理解方法。

4. 介绍

增强现实和虚拟现实(AR/VR)技术的最新进展有可能改变人们与数字世界互动的方式,就像过去十年智能手机所做的那样。AR/VR系统的基本要求是能够从头戴式相机捕获的第一视角视频中识别用户行为。为了实现这个目标,这些年来已经发展出了几个以第一视角建立的视频数据集,引起了研究者们越来越多的关注。基于第一视角的动作识别、预测和检索的最新进展工作主要集中在构建功能强大的基于片段的视频模型上,此类模型一次对几秒钟甚至更长的视频片段进行分析与操作。除去其带来的高性能优势,这些模型通常用来处理密集采样的视频帧并实现时序感知的多项操作,因此会导致高计算量。直接影响的问题便是对于资源受限的AR/VR等便携头戴设备或其他需要低延迟的实时视频应用来说就变得不切实际。因此,如何有效地执行以自我为中心的视频理解是一个重要的,但尚未解决的问题。[原文中的话: How to
efficiently perform egocentric video understanding is therefore an important, yet unsolved problem.
]
为了解决这个问题,作者团队从动物利用第一视角感知世界中的行为中获得启发。神经科学研究发现,在主动运动(active movement)期间,动物视觉皮层接收并利用来自运动皮层的头部运动信号进行视觉处理。这表明了头部运动信号是支持一种嵌入式代理(emboded agent)的第一视角视频流的有效理解。受此现象的启发,作者对人类头部运动和第一视角视频之间的关系进行探索,目的是更好低以有效地理解方式分析理解视频信息内容。实际上,作者考虑到头戴式相机的惯性测量单元(IMU),其具备捕获头部运动信号的能力。IMU的数值测量是来自于加速度计和陀螺仪的运动,并且在流行的可穿戴设备上广泛可用。之前有许多的工作利用IMU作为人类动作识别的另外一种额外模态,(例如,跳跃,行走,站立)或将其作为视觉惯性里程计的几何线索信息来源。
那么,相较于前人的工作,作者团队是怎么做的?作者提出通过利用IMU作为密集视频帧观察的替代品来实现高效的视频理解。那么,这么做是为什么?原因如下:我们知道视频片段其实包含两种内容:语义信息内容(物体、地点、人的外观)和动态变化信息(场景和摄像机如何移动)。虽然密集采样帧肯定会捕捉到上述表述的两类内容-通过现成的诸多基于片段的模型。对于一个短视频的片段,大部分的语义信息内容从单个帧中也是可以理解得到的;与此同时,头部运动则提供了动态变化信息种的很好的一部分内容,隐含地揭示了视觉外观如何在相邻帧之间变化。

基于上述的表述,作者团队引入EgoDistill方法,一种学习使用时间稀疏的视觉观察(少至一个RGB图像帧)以及来自IMU的头部运动来重建密集的第一视角视频片段特征的方法。具体而言,EgoDistill采用了一种新形式的知识蒸馏视频模型。在训练过程中,作者团队训练一个轻量级模型,该模型采用稀疏采样的图像和IMU获取到的特征来近似表示由昂贵但是强大的视频模型提取的视频特征。同时,作者团队进一步改进了一个新的自监督训练阶段的IMU特征学习模型。在推理阶段,作者直接利用lightweight的轻量级模型进行第一视角视频识别,带来更高的效率。egodistill模型对于目标繁杂的视频来说是灵活的。如下图所示:
在这里插入图片描述

上图为EgoDistill。给定来自IMU的单个视频帧和相机运动,EgoDistill学习重建更昂贵的密集视频片段特征。凭借其轻量级输入,EgoDistill显著提高了效率。

重要的是,EgoDistill提供了一个很重要的效率增益:相比较于处理密集视频帧的方法相比,处理低维IMU数据和几个稀疏帧这种形式要高效很多。实际上,EgoDistill导致的GFLOP比原始视频模型少200倍。作者在最大第一视角数据集上进行实验:Ego4DEPIC-Kitchens 100。实验表明,IMU加上图像提供了更好的跨模态知识蒸馏性能,相比较于单独的图像或图像与音频的多模态。对于一个典型的50分钟第一视角视频,EgoDistill将源视频模型的推理时间从25分钟减少到36秒。此外,仅使用1-4帧,其轻量级蒸馏模型实现了比用于自适应采样视频内容的最新模型更好的准确性-效率得到权衡。值得注意的是,作者大大超过了这些快速方法的精度,同时需要4倍到8倍更少的计算量。

5. 相关工作

IMU用于行为识别。最近的工作探索了在移动的设备上使用IMU传感器来识别诸如行走、跳跃或坐着的动作。通常,这些模型从安装在人体关节上的IMU传感器、腰装式或口袋式智能手机中获取输入信息。视频识别中的大量工作探索了从RGB与其他模态-包括音频、光流或者多者兼顾的学习方法,但相对较少使用IMU,与作者团队目前的这项工作不同的地方在于,他们专注于第三人称视频并且不以模型效率为目标。作者的想法是让IMU帮助重建视频特征,而不是简单地将IMU与RGB融合以进行多模态识别。

IMU充当里程计。惯性里程计旨在利用来自IMU传感器的读数来估计相机佩戴者的位置和取向。传统的方法依赖于IMU双重积分(double integration)或enhancement thereof。最近的数据驱动方法自动学习使用监督或自监督学习去执行惯性里程计,或者将IMU和视觉输入相结合,以便利用视觉-惯性里程计进行更稳健的估计。虽然IMU可以将几何第一视角的运动情况传递到要学习的模型中,但作者认为目标是产生有效的第一视角视频特征,而不是输出里程计信息。

使用IMU进行视觉特征学习。IMU还用于学习更好的视觉特征,例如,鼓励与第一视角相同变化的图像特征、预测IMU捕获的身体部位(腿,手),或预测视频和IMU对应关系,用来进行动作识别和场景理解等的应用。虽然上述的一些工作加强了IMU可以将具体的运动注入到视觉特征中来,但作者认为使用头部运动来推断预训练的视频特征以快速理解视频的想法,这个是与其不一致的地方。

高效的视频识别。作为移动的应用的关键,高效的视频识别近年来受到越来越多的关注。几项研究专注于通过减少密集采样帧中的3DCNN操作来设计轻量级架构。作者与其想法是有交叉的,因为作者团队的工作专注于稀疏采样帧的输入。正如他们在实验中所示的那样,他们的方法兼容不同的视频架构。另一条研究路线是通过自适应地选择要处理的视频内容来实现高效率。一些方法通过自适应地选择哪个视频片段、帧或特征通道来处理或跳过来减少时间冗余,而其他方法通过动态地为每个帧选择较小但重要的区域进行处理从而减少空间冗余、有效识别。其他工作在空间和时间维度中动态地选择Video Transformer中的tokens。在这个工作中,作者展示了如何使用静态图像信息和传感器得到的运动数据来推断每个片段的“完整”视频特征,而不是动态地对可用视频内容进行子采样。此外,作者专注于第一视角视频,其中头部运动对于第一视角视频是特别有意义的,用它来推测出没有被观察到的视频信息内容。

多模态蒸馏。知识蒸馏旨在将算法模型所学到的知识转移到轻量级模型中,近些年来对多模态蒸馏工作有很多,例如将RGB模型迁移到流或者深度模型中,从3D模型到2D模型,或者是视觉模型到音频模型等。比如ListenToLook模型,结合视频片段采样和视频到音频的蒸馏,用在第三人称视角的快速行为识别任务中。作者在第一视角视频中对相机佩戴者的头部运动和RGB信号之间的关系进行探索。达到速度和准确性的权衡。

6. 方法

作者在这一章节中将介绍EgoDistill,它使用集合了稀疏采样的帧和IMU检测头部运动信号,共同来近似重构视频模型,完成高效的第一视角下的视频理解任务。

6.1 第一视角的动作识别

给定一个固定长度的视频片段 V ∈ R T × H × W × 3 V ∈ R^{T×H×W×3} VRT×H×W×3,由 T T T个大小为 H × W H×W H×W的RGB帧和一组 C C C个动作类组成,这里的 C = 3 C=3 C=3。行为识别的任务是为每个行为(动作类)输出一个分数,表示它的可能性。[原话:Given a fixed-length video clip V ∈ R T × H × W × 3 V ∈ R^{T×H×W×3} VRT×H×W×3 consisting of T T T RGB frames of size H × W H×W H×W and a set of C C C action
classes, the task of action recognition is to output a score for each action class, representing its likelihood.
]。通常,这是通过功能强大但价格昂贵的视频模型 Ω Ω 来完成的,该模型直接对所有可用帧进行操作,以输出C个类别分数 Ω( V ) ∈ R C Ω(V)∈ R^C VRC Ω Ω 模型使用标准分类损失函数进行训练:

L A C T = ∑ V i L C E ( c i , σ ( Ω ( V i ) ) ) \mathcal{L}_{\mathrm{ACT}}=\sum_{\mathcal{V}_i} \mathcal{L}_{\mathrm{CE}}\left(c_i, \sigma\left(\Omega\left(\mathcal{V}_i\right)\right)\right) LACT=ViLCE(ci,σ(Ω(Vi)))

其中的 V i V_i Vi是数据集中的第 i i i个视频片段,而 c i c_i ci是对应的groundtruth的行为动作标签, σ σ σ是softmax函数,而 L C E \mathcal{L}_{CE} LCE是交叉熵损失函数,现阶段的比较受欢迎的视频识别模型使用到的视频片段时长至多在两秒左右,对于时长更长的视频,分数在其包含的所有片段上被平均以推测预测视频动作的标签。

6.2 头部运动的高效视频推理

处理行为识别的视频片段需要密集的计算,然而计算成本其实是可以通过如何从视频中抽帧进行量化的。一方面,基于视频片段的处理算法模型,也就是clip-based,操作的是大部分视频帧或者全部视频帧,这样的好处固然明显:强大鲁邦的视觉性能表现,但是,高昂复杂的密集计算成本是无法规避的。另一方面,基于视频帧的模型算法,也就是frame-level,它通过只处理一帧或者处理很少量的视频帧的方式,优点就是高效,缺陷当然暴露无疑,就是极大的性能下降。作者团队的目标就是训练一个算法模型,而这个算法模型是基于视频帧的,却可以达到或者近似给予视频片段模型的算法性能。

基于此,作者团队考虑使用的是IMU来捕获头部运动信息。每一个RGB的视频帧将会和测量并记录相机(头部)运动的IMU进行配对。具体说来,IMU的读数,就是在 X Y Z XYZ XYZ轴上由6个纬度组成的加速度计和陀螺仪构成,它编码了相机位姿改变的时序运动信息,包括视频帧中的平移和旋转。对于较为短的视频片段,一系列稀疏采样的视频帧 I \mathcal{I} I已经包含有众多的外观信息,在这个基础上讲IMU的读数加入来补货关于相机或者第一视角的信息内容。同时IMU由于低维度的信息数据是可以进行有效的处理的。因此对于RGB的视频帧—— I \mathcal{I} I和IMU的读数—— M \mathcal{M} M,这两个作为frame-level的轻量算法模型的输入信息,通过处理这两者信息就可以得到基于视频片段算法模型才可以获取到的语义信息和动态特征信息。

给定上面提到的两个输入信息 I \mathcal{I} I M \mathcal{M} M,作者团队训练了一个轻量级的视频处理算法模型 Φ Φ Φ,也就是EgoDistill, 用其近似常规视频处理模型 Ω Ω 的输出。可以用下面的式子公示化这个过程:

Φ ( I , M ) ≈ Ω ( V ) Φ(\mathcal{I},\mathcal{M})≈Ω(V) Φ(I,M)(V)

作者的方法对于视频处理模型本身是不可知的,实验中,作者的比较方法有很多,选用的包括MotionFormer,MViT,SlowFast,以及X3D。实际上,作者统一在视频中 V V V去采样 N N N帧得到输入信息 I I I,其中的 N N N的设置为1到4。

6.3 基于IMU的视频帧蒸馏

从上述的近似公式中不难看到,使用知识蒸馏的方式去完成的整个算法模型的轻量化设计,其中,教师模型采用的是冗杂而高性能的视频处理模型 Ω Ω ,使用迁移学习的方式去训练得到一个学生模型 Φ Φ Φ
具体说来就是作者设计了 Φ Φ Φ,这是一个双流网络模型。有两个信号来源: ( I , M ) (\mathcal{I},\mathcal{M}) (I,M)。对于视频帧的编码特征和基于IMU的编码特征,分别从轻量级学生模型中提取到各自的特征信息,具体可以由下面的公式进行量化:

z I = f I ( I ) z_{\mathcal{I}}=\mathcal{f}_{\mathcal{I}}(\mathcal{I}) zI=fI(I),
z M = f M ( M ) z_{\mathcal{M}}=\mathcal{f}_{\mathcal{M}}(\mathcal{M}) zM=fM(M)

作者之后要对这两项特征进行融合,具体就是使用融合网络 Π \mathcal{Π} Π对两个特征进行操作,最终得到的融合特征就是VisIMU特征,公式如下:

z Φ = Π ( z I , z M ) z_Φ = Π(z_{\mathcal{I}},z_{\mathcal{M}}) zΦ=Π(zI,zM)

对于融合的特征,使用全连接层去预测一个类别分数得分: Φ ( I , M ) ∈ R C Φ(\mathcal{I},\mathcal{M}) ∈ R^C Φ(I,M)RC

上述得到的 z Φ z_Φ zΦ就是作者描述的从图像特征中捕获得到的语义信息内容和从IMU中获取到的完整的运动信息内容。

下面的框架图展示了两项内容,其中左边的是关于采用自监督的训练方式训练的IMU的特征学习,右边的示意图展示的是采用知识蒸中的教师学生学习蒸馏得到一个轻量化的视频理解模型。
在这里插入图片描述

关于损失函数的设计,这里使用的是三种损失函数的结合,首先是 L 1 L1 L1泛数的损失,目的是收敛于原始教师模型的视频特征信息和轻量级模型得到的融合特征信息,匹配两者信息,如下所示:

L 1 = ∑ ( z ν i , z ϕ i ) ∥ z V i − z ϕ i ∥ 1 \mathcal{L}_1=\sum_{\left(\mathbf{z}_{\mathcal{\nu}_i}, \mathbf{z}_{\phi_i}\right)}\left\|\mathbf{z}_{\mathcal{V}_i}-\mathbf{z}_{\phi_i}\right\|_1 L1=(zνi,zϕi)zVizϕi1

上述的跨模态的损失函数设计目的是使两个不同模态的信息在相同的特征空间中。
仅仅使用 L 1 L1 L1范式损失是无法去捕获完整的视频输出信息,因此知识蒸馏损失设计如下:

L K D = ∑ ( V i , I i , M i ) D K L ( σ ( Ω ( V i ) / τ ) , σ ( Φ ( I i , M i ) / τ ) ) \mathcal{L}_{\mathrm{KD}}=\sum_{\left(\mathcal{V}_i, \mathcal{I}_i, \mathcal{M}_i\right)} \mathcal{D}_{\mathrm{KL}}\left(\sigma\left(\Omega\left(\mathcal{V}_i\right) / \tau\right), \sigma\left(\Phi\left(\mathcal{I}_i, \mathcal{M}_i\right) / \tau\right)\right) LKD=(Vi,Ii,Mi)DKL(σ(Ω(Vi)/τ),σ(Φ(Ii,Mi)/τ))

其中, ( V i , I i , M i ) (Vi, Ii, Mi) (Vi,Ii,Mi)代表的是数据集中的第i个视频片段,而 D K L D_{KL} DKL表示的教师模型和学生模型之间的类别得分的KL散度, T \mathcal{T} T表示的是温度系数,即超参。
起初, L K D \mathcal{L}_{\mathrm{KD}} LKD把教师模型的输出信息作为soft 目标进行训练得到轻量化的学生模型,学生模型以这种方式学习到教师模型的近似数据分布情况。而另外一个损失函数设计的初衷在于为了进一步的保留行为动作识别的理解能力,设计了动作分类损失函数:

L G T = ∑ ( I i , M i ) L C E ( c i , σ ( Φ ( I i , M i ) ) ) \mathcal{L}_{\mathrm{GT}}=\sum_{\left(\mathcal{I}_i, \mathcal{M}_i\right)} \mathcal{L}_{\mathrm{CE}}\left(c_i, \sigma\left(\Phi\left(\mathcal{I}_i, \mathcal{M}_i\right)\right)\right) LGT=(Ii,Mi)LCE(ci,σ(Φ(Ii,Mi)))

最终的损失函数是通过几项超参数进行的调整:

L = α L K D + ( 1 − α ) L G T + β L 1 \mathcal{L}=\alpha \mathcal{L}_{\mathrm{KD}}+(1-\alpha) \mathcal{L}_{\mathrm{GT}}+\beta \mathcal{L}_1 L=αLKD+(1α)LGT+βL1

以上的几个超参数分别控制知识蒸馏、动作分类以及特征空间匹配的权重。

6.4 自监督IMU特征学习

EgoDistill的关键在于IMU特征编码器 f M f_M fM提取有用的相机运动信息并将其与视频片段中的视觉外观变化相关联的程度。通过这种方式,EgoDistill可以通过 I I I M M M学习预测视频中不可见的视觉变化。作者设计了一个自监督的预训练任务来初始化 f M f_M fM的权重以实现这一目标。

具体方式如下:
首先提取第一帧和最后一帧,也就是 ( I 0 , I T ) (\mathcal{I}^0,\mathcal{I}^T) (I0,IT), 以及IMU—— M M M,然后通过 f I f_I fI f M f_M fM分别获取得到三个特征,分别是 z I 0 z_{\mathcal{I}}^0 zI0 z I T z_{\mathcal{I}}^T zIT z M z_M zM。然后就是使用一个特征预测器 h h h去预测IMU的特征信息: z ^ M = h ( z I 0 , z I T ) \hat z_M = h(z_{\mathcal{I}}^0,z_{\mathcal{I}}^T) z^M=h(zI0,zIT), f M f_M fM提取特别与视觉外观变化相关联的有用的相机运动特征。可以预见到:外观改变可以包括场景运动。因此,使用 L 1 L1 L1损失来训练 f M f_M fM,这鼓励 f M f_M fM提取考虑完整视频中的场景运动的运动特征。

总的来说,训练 f M f_M fM h h h Π Π Π,通过下面的方式:
L p r e t r a i n = L N C E + L 1 \mathcal{L}_{pretrain}=\mathcal{L}_{NCE}+\mathcal{L}_1 Lpretrain=LNCE+L1

对于 j ! = i j != i j=i,对来自相同小批量的样本中的其他实例的负样本 z M j z_{M_j} zMj进行采样

L N C E = ∑ i − log ⁡ sim ⁡ ( z ^ M i , z M i ) ∑ j sim ⁡ ( z ^ M i , z M j ) \mathcal{L}_{\mathrm{NCE}}=\sum_i-\log \frac{\operatorname{sim}\left(\hat{\mathbf{z}}_{\mathcal{M}_i}, \mathbf{z}_{\mathcal{M}_i}\right)}{\sum_j \operatorname{sim}\left(\hat{\mathbf{z}}_{\mathcal{M}_i}, \mathbf{z}_{\mathcal{M}_j}\right)} LNCE=ilogjsim(z^Mi,zMj)sim(z^Mi,zMi)

而其中的 s i m ( q , k ) = exp ⁡ ( q ⋅ k ∣ q ∣ ∣ k ∣ 1 τ ′ ) sim(q,k)=\exp \left(\frac{q \cdot k}{|q||k|} \frac{1}{\tau^{\prime}}\right) sim(q,k)=exp(q∣∣kqkτ1),而 τ ′ = 0.1 \tau^{\prime}=0.1 τ=0.1
预训练IMU特征提取器 f M f_M fM和融合网络 Π Π Π。两种预训练损失都会导致IMU特征与视觉变化一致,并导致更好的微调性能。

7. 实验

7.1 实验设置

数据集。作者在两个大规模的第一视角动作识别数据集上进行了实验。Ego4D包含了3,670小时的第一视角视频,这些视频记录了地球上各地人们执行各种任务(从烹饪到耕作)的情况。由于动作识别不是原始Ego4D基准的一部分,因此作者使用来自Hands+Objects时间定位基准的注释来构建此任务(参见附录详情)。包括具有配对IMU和audio的片段,并考虑具有至少2个标签的类。这将产生94类动作识别数据集,其中包含8.5k个训练视频和3.6k个评估视频。EPIC-Kitchens包含100小时第一视角的视频,捕捉厨房环境中的日常活动。作者使用来自动作识别基准的注释。与Ego4D类似,选择具有配对IMU和音频数据的视频,并按相机佩戴者分割结果数据。对于这两个数据集,作者团队均使用“verb”标签作为动作识别的目标,因为它们与活动运动很好地对齐。

评估指标。为了测量动作识别性能,作者报告了验证集上的每个视频的top-1准确度。从每个视频中密集采样片段,并对其预测进行平均以计算准确性。为了基准效率,在推理过程中用FLOPs(浮点运算)来衡量计算成本。

实验细节。作者使用MotionFormer作为指导视频理解的教师模型,也就是前面提到的 Ω Ω ,这是一个鲁邦强大的视频理解模型。对于两个不同的数据集,执行的策略是不一致的,首先是epic的数据集,使用的是原始作者提供的checkpoint,而对于ego4d数据集,则采用的是在数据集进行的50轮的微调,batch size的设置为64,具体就是采样率设置为4的每一个采样率下为16帧作为输入,对于学生模型,使用的是resnet18作为图像编码网络的骨干网络 f I f_\mathcal{I} fI,而IMU骨干网络则采用1维卷积CNN。特征融合模块 Π Π Π使用的是具有hidden layer的两层全连接层1024之后的级联操作。对于每个视频片段,输入图像的大小被调整为 224 × 224 224 × 224 224×224,IMU是一个 422 × 6 422 × 6 422×6矩阵(大约2秒,频率为198Hz),表示沿着xyz轴的加速度计和陀螺仪读数。对于图像输入,作者从视频片段中均匀地采样N帧。如果N > 1,则使用 f I f_\mathcal{I} fI顺序生成每个帧的特征,并使用GRU模块聚合它们。对于这两个数据集,作者首先使用AdamW 使用自监督预训练模型50个epochs,使用批量大小64和学习率1e-4。对于Ego 4D,设置了 τ = 10.0 τ = 10.0 τ=10.0并训练模型150个epochs。对于EPIC-Kitchens,设置了 τ = 1.0 τ = 1.0 τ=1.0并训练50个epochs。

7.3 基线算法的选择

基线的选择上,主要从以下几个方面进行选择:

AdaFuse:作者团队使用AdaFuse训练了一个轻量级策略网络以在推理期间自适应地计算(或跳过)每个帧的特征映射channel。我们使用AdaFuseTSN R50模型和其提供的超参数。

STTS:STTS训练了一个模块,以在基于Transformer的模型中对从视频导出的时空tokens进行排序,并仅选择前K个tokens以加速推理过程。

ListenToLook:使用基于音频的特征提取模块,遵循相同的音频处理和模型架构。

这些方法代表了高效视频识别模型的最新进展,其中的AdaFuse通过减少CNN模型中的时间冗余来实现高效的性能表现;而对于STTS,它有效地减少了ViT模型中的空间和时间冗余成本,减少计算量,在Kinectics-400上达到了最先进的水平;ListenToLook也依赖于知识蒸馏,但使用音频而不是头部运动。对于每个模型,我们生成具有不同计算预算的多个版本,以绘制准确度与GFLOPs图表。

作者团队使用4个输入帧来训练所有AdaFuse和STTS模型,以与EgoDIstill模型使用的最大帧的数目一致。对于AdaFuse,作者使用论文中唯一提供的超参数。对于STTS,使用三个提供的变体模算法模型。对于ListenToLook,我们采用与我们的方法相同的效率-准确性权衡,即,改变输入帧的数量。

此外,作者测试了几个方法的变体,情况如下:

  • VisOnly-Distill,没有IMU分支和融合层,但使用相同的损失函数进行训练。该模型的性能揭示了IMU在蒸馏过程中的作用。

  • VisIMU是下面公式中仅使用 L G T L_{GT} LGT训练的模型:
    L G T = ∑ ( I i , M i ) L C E ( c i , σ ( Φ ( I i , M i ) ) ) \mathcal{L}_{\mathrm{GT}}=\sum_{\left(\mathcal{I}_i, \mathcal{M}_i\right)} \mathcal{L}_{\mathrm{CE}}\left(c_i, \sigma\left(\Phi\left(\mathcal{I}_i, \mathcal{M}_i\right)\right)\right) LGT=(Ii,Mi)LCE(ci,σ(Φ(Ii,Mi))),与直接用动作标签训练特征相比,它显示了从视频模型中提取的有效性。

  • VisOnly是使用 L G T L_{GT} LGT训练的仅图像模型,用作基线。

7.4 主要结果

IMU引导蒸馏的重要性:如下图所示:

在这里插入图片描述

具体来说,例如在EPICKitchens数据集上,采样帧选取N=1的时候可以从图中看到当准确率到达50%左右的时候,EgoDistill比VisOnlyDistill提高了8.4%,而计算量也呈现的是下降的趋势。这一结果表明了IMU重建第一视角视频特征的有效性。EgoDistill与VisIMU相比,EgoDistill的准确性提高了9.9%,显示了从视频模型中提取知识的有效性。EgoDistill不仅仅受益于额外的IMU的设计。在Ego4D上也看到类似的结果体现。

与SOAT结果的比较:主要就是和几种基线算法的比较,采样帧选取N=4的时候,EgoDistill在EPIC-Kitchens上超过STTS 7.4%,超过AdaFuse 4.2%,以GFLOPs少2倍的参数规模,在Ego4D数据集上超过这两种方法2.1%。此外,EgoDistill在EPIC-Kitchens和Ego4D上分别超过ListenToLook 7.4%和2.9%,这表明在第一视角视频中,关于头部的运动信息比音频更能提供丰富的信息。

7.5 分析

模型组件消融实验设置:如下图所示:
在这里插入图片描述

上图是在模型中消除了不同的设计选择,实验设置为采样帧为N = 1,可以观察到,在没有 L 1 L_1 L1 L K D L_{KD} LKD L G T L_{GT} LGT的情况下训练EgoDistill会使性能恶化。具体来说,没有 L K D L_{KD} LKD的训练导致最大的性能下降,这表明知识蒸馏是方法中的一个重要组成部分。没有 L 1 L_1 L1的训练也会导致显著的性能下降,这表明了对齐来自不同模态的特征的重要性。此外,自监督预训练阶段在训练IMU提取器以编码与视觉特征变化一致的有用运动信息方面非常有效。

在实验中,使用MotionFormer作为教师视频模型,下图是选择motionformer之前和其他视频识别模型作为教师模型的一个比较情况:
在这里插入图片描述

和预期情况是一致的:更好的视频教师模型可以带来更好的学生模型性能。更重要的是,我们观察到EgoDistill在两个数据集和不同视频教师模型上的VisOnly-Distill基线上的一致改进,突出了我们想法的通用性和多功能性。

模型在哪里最有效? 作者探索使用EgoDistill更好地重建哪些类型的片段。如下图所示:

在这里插入图片描述

上面的图展示的是逐类精度提升,也就是每一个类别下的精度准确性提升,呈现的是EgoDistill与VisOnly-Distill相比,egodistill在其上的改进,体现在动作类别上的提升和下降。可以观察到IMU对于具有可预测头部运动的动作(例如,break、cut、close)是有效的,对于头部运动可能较小或不相关的动作帮助较小(例如empty、fill、press)。例如,在打开机柜时,相机佩戴者的头部略微向后移动。另一方面,重构片段效果不好的片段往往包含很少的头部运动,在这种情况下,IMU对于RGB帧是冗余有效性体现的不多的,或者还有一种情况就是剧烈的头部运动与相机佩戴者的活动也会表现出弱相关,因为这种情况都会将模糊引入到视频帧中。

效率分析。为了比较不同模型的效率,除了GFLOPs,还比较了推理运行时间和参数数量。对于运行时间,这里记录了使用单个A40GPU推理单个视频片段的标签所花费的时间,并在批次大小为32的Ego4D和EPIC-Kitchens的完整验证数据集上取平均时间。

下面显示了结果。

在这里插入图片描述

表中数据表明,作者的方法EgoDistill运行速度比其他方法快得多。值得注意的是,它将MotionFormer的GFLOPs降低了近200倍,也就是带来十分低的计算复杂度,模型参数规模较低,它的运行速度比STTS快6.5倍,同时在EPIC-Kitchens上实现了4.4%的高精度。

7.6 定性分析

**EgoDistill功能捕获了什么?**为了探索这一点,作者将单个输入帧与不同的IMU片段配对作为EgoDistill的输入,然后为每个预期的视频特征检索最近的视频片段。如下所示:
在这里插入图片描述

使用EgoDistill检索视频片段。给定一个查询帧(左下角)和一个配对的IMU片段(红色摄像头截头),根据EgoDistill检索视频数据集中距离最近的视频片段,并将其(未观察到的)帧可视化。与VisOnly-Distill相比,VisOnly-Distill针对给定的输入帧输出单个特征,EgoDistill通过对IMU进行调节来输出不同的特征,显示出其在重建期间保留语义和运动的能力。例如,在右上示例中,EgoDistill保留帧中的机柜交互语义以及IMU中的向上相机运动。

是否有证据表明EgoDistill捕获场景运动?

如下图所示的是使用EgoDistill预测场景运动。

在这里插入图片描述

对于每个视频片段,可以看到显示的是头部运动和视频帧。模型仅观察到中心帧(红色边框框选出来的)。行为的分类得分显示在右侧。可以看到EgoDistill可以成功地预测场景运动并消除输入帧中的动作语义的歧义。例如这个到底是close还是open的动作内容的评判,下面的一个类似的例子是体现是take还是put。

因此可以看到EgoDistill与VisOnly-Distill相比,它在模糊类别(如close和put)上的准确率大幅提高(EPIC-Kitchens上为20.3%和10.4%,Ego4D上为8.5%和3.9%)。

8. 结论

作者团队提出了EgoDistill,第一视角下的视频特征近似快速识别模型。Ego4D和EPICKitchens上的动作识别实验表明,其模型在准确性和效率之间取得了很好的平衡,优于最先进的高效视频理解方法。这个方法有很大的潜力,以加速视频理解自我为中心的视频使用的数据流,已经无处不在的自我为中心的相机。

9. 附录

9.1 数据集细节

作者在实验中使用两个数据集:Ego4D和EPIC-Kitchens-100。在本节中,将详细介绍如何创建训练和评估数据。

Ego4D包含了3,670小时的以自我为中心的视频,这些视频记录了地球各地人们执行各种任务(从烹饪到耕作)的情况。由于动作识别不是原始Ego4D基准的一部分,因此使用来自Hands+Objects时间定位基准的注释来构建此任务。具体而言,对于每个手对象交互时间注释,将注释的前后帧之间的视频片段作为输入,并使用用于此交互的注释动词作为标签。

包括具有配对的IMU和音频的片段,并考虑具有至少2个标记实例的类,从而产生总共具有12.1k视频的94个动作类别。平均而言,每个片段具有2.2秒的持续时间。然后,把每个类别的数据以70%和30%的比例随机分为训练集和评估集。最后,获得了一个94类动作识别数据集,其中包含8.5k个训练视频和3.6k个评估视频。

EPIC-Kitchens包含100小时以自我为中心的视频,捕捉厨房环境中的日常活动。在实验中使用的动作识别基准的注释。选择具有配对的IMU和音频数据的视频,并通过相机佩戴者切分开所得数据,确保遵循原始基准设置的非重叠切分。具体说来,采集到的视频中的摄像头佩戴者id从P30、P35、P37开始作为评估视频,并使用所有剩余视频作为训练视频。这将产生一个62类动作数据集,其中包含29k个训练视频和6.2k个评估视频。

9.2 实现细节

IMU输入处理。对于每个输入片段,IMU输入是一个422 × 6矩阵(约2秒,频率为198Hz),表示沿着xyz轴的加速度计和陀螺仪读数。可以观察到原始IMU输入信息具有显著的漂移和偏置问题。这将会导致相机运动与IMU读数之间在不同片段和视频上的不一致。因此,对于每个片段的IMU读数,在每个维度上,我们分别用对应维度上的平均值减去原始读数。该操作将每个维度中的IMU读数归一化为具有零平均值。通过这种方式,模型可以只关注每个片段中的时间运动模式。

音频输入处理。对于ListenToLook,作者团队以与论文中提到的相同的方式处理音频输入。具体地,以16kHZ对音频进行子采样,并且使用400的Hann窗口大小和160的跳长来计算STFT。

模型架构。对于图像骨干网络,使用ImageNet预训练的ResNet-18模型。对于IMU主干,使用5层1D Dilated CNN,如发现对IMU数据处理有效。作者使用与先前工作相同的网络设置(内核维度,膨胀间隙和通道维度)。特征融合模型由两个隐藏维数为1024的全连接层的级联操作组成。除了输出层之外的每个层后面都有一个ReLU激活。输出维度与教师视频模型的特征维度相同(在MotionFormer的情况下为768)。当N > 1时,使用一层GRU模块来聚合每个帧的提取特征。使用具有512的隐藏维度的单向GRU。

模特训练:分两个阶段训练模型。在自监督IMU特征学习阶段,训练随机初始化的IMU编码器 f M f_M fM、IMU预测器 h h h和具有 L N C E L_{NCE} LNCE的融合网络 Π Π Π。这里的图像编码器 f I f_I fI是一个固定的ImageNet预训练模型。在这两个数据集上,使用AdamW和批量大小64训练模型50个epoch。初始训练速率为1 e-4。在epoch 30和epoch 40将训练率衰减0.1。在第二个视频特征提取阶段,将初始化模型在最后一个阶段微调获得的参数。在这两个数据集上,使用AdamW,批量大小为64,初始学习率为1 e-4。在Ego 4D上,训练了150个epoch。在epoch 90和epoch120将训练率衰减0.1。在EPIC-Kitchens上,训练了50个epoch。在epoch 30和epoch40将训练率衰减0.1。

10. 参考文献

参考文献均来自于原始论文所用到的参考文献,这里不再赘述。感谢您的浏览,让我们继续下一篇论文的学习。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值