Meta研究将头部运动数据作为监控信号进行AR/VR用户行为识别

2021-12-14 09:16      映维网


  随着Oculus和HoloLens等头戴设备的出现,AR/VR技术正在开始蓬勃发展。就像过去几十年的电脑智能手机一样,AR/VR设备有望从根本上改变我们的日常生活和社会。为了实现这个未来,需要解决的一个基本挑战是以自中心(egocentric)动作识别,亦即通过头戴式摄像头实现对用户活动的机器理解。

  随着现代计算机视觉技术的进步,现在人们熟悉的动作识别方法是使用数百万手动分类为自中心动作的视频片段,并以有监督的方式训练卷积神经网络(CNN)。然而,这种方法至少有两个局限性。第一,注释足够大的视频剪辑来训练CNN非常昂贵;第二,即使拥有无限的预算,我们都无法涵盖人类所有的潜在动作。

  要解决所述限制,一个富有前景方法是使用自监督学习(SSL)来训练CNN,而所述领域已经取得了快速的进展。SSL不依赖人工注释,而是利用数据中存在的固有属性来训练各种下游任务的表示,例如对数据增强的不变性、数据的多模态等等。受其启发,Meta和印第安纳大学的团队在名为《How You Move Your Head Tells What You Do: Self-supervised Video Representation Learning with Egocentric Cameras and IMU Sensors》的论文中尝试将头部运动数据作为自我监控信号来进行自中心行为识别。

  

  为了利用头部运动数据的潜力并实现自中心视频表示的SSL,团队需要回答几个基本问题:头部运动数据是否具有自中心视频表示无法捕获的唯一信息?如果是这样,利用头部运动中的有用信号进行自中心视频表征学习的有效方法是什么?最后,学习到的表示是否比在仅视频数据上使用SSL进行训练的表示更有效?

  在研究中,Meta和印第安纳大学的团队系统地回答了所述研究问题。实验表明,头部运动可以提供额外的优势,即使是完全监督学习都是如此。

  然后,研究人员设计了一种简单但有效的SSL方法,通过根据视频对和头部运动数据的对应关系进行分类来学习以自中心的视频表示。团队使用这种方法在EPIC-KITCHENS数据集训练了相关模型,并展示了对厨房任务操作进行分类的结果表示的有效性。另外,研究人员同时利用相同的表征来识别由狗狗头部运动引起的自中心动作,从而证明学习到的表征可以泛化到训练领域之外。

  SSLtask formulation

  受标记数据集限制的启发,团队希望针对AR/VR学习使用SSL的自中心视频表示,特别是利用AR/VR可用的多模态数据,亦即由带有IMU传感器的头戴式摄像头捕获的以自中心视频和头部运动。SSL通常利用代理任务来训练表示,无需人工注释。例如,可以通过最大化相同图像的两个不同增强视图之间的一致性来学习具有对比损失的图像表示。

  换句话说,给定一对随机增强的图像,如果它们来自同一图像,则倾向于认为它们的表示相似,而不是来自不同的图像。对多模态情况的扩展是对两种模态(如音频和视频)之间的对应关系进行训练。受所述视听SSL框架的启发,研究人员提出了一个二进制分类任务,以匹配头戴式摄像头捕获的自中心视频和头部运动IMU信号之间的对应关系,从而学习AR/VR中的自中心视频表示。

  SSL loss

  训练表示使用上述SSL任务,研究人员随机抽取一批与头戴式IMU传感器捕获的头部运动信号同步的短视频片段(在实验中为2秒)。然后,提取视频和IMU的特征向量,计算两两相似性,并只有当它们来自同一剪辑时才倾向于认为相似性高。具体地说,给定来自CNN的N对视频和头部运动特征向量,最小化以下对比损失函数L。

  

  在SSL训练之后,可以使用视频表示vi(如果需要,还可以使用头部运动表示mi)来执行动作识别等下游任务。

  团队使用EPIC-KITCHENS数据集进行所有实验,但最后一个除外。最后一个实验使用了以狗为中心的活动数据集,以展示所述方法在训练数据集之外的泛化能力。对于EPIC-KITCHENS数据集,选择伴随头部(camera)运动的相应IMU信号的视频剪辑,并根据视频ID对train:validation:test=30044:3032:4379进行数据分割,分割中没有重叠的主题。这种分割有65个独特的测试动词,这意味着随机猜测基线可以达到1.5%的准确率。然而,由于动作分布有偏差,主要动作(take)占测试集的27%。

  对于使用以狗为中心的活动数据集的实验,研究人员选择与头部运动相关的活动类别:行走、摇晃、向左看和向右看。这四个动作几乎是平衡的,而大多数行走类占据了数据集的30%。这个数据集很小(总共216个视频剪辑,只选择了86个),所以团队根据狗的ID分成了一半和一半,并进行了2倍交叉验证,同时报告了平均准确度。

  

  为了训练等式1中描述的SSL丢失表示,研究人员使用SlowFast50作为视频的主干CNN表示,VGG16表示头部运动IMU信号。视频CNN的时空输入大小为256×256×48,分别对应于宽度、高度和帧大小(帧速率为24fps)。原始IMU片段用396×6的矩阵表示,分别对应于时间(频率为198Hz)和通道(加速度计和陀螺仪的XYZ)。

  团队的目标是利用头部运动来学习更好的自中心动作识别视频表示。然而,由于视频是一种具有高保真度信息的丰富模式,是否还有空间让头部运动信号改善动作识别的视频表示?

  为了回答这个问题,研究人员进行了两个初步实验。第一个实验是从头部运动信号中训练动作分类器,并与仅视频分类器进行比较。团队期望基于视频的分类器能够达到更高的动作分类精度。然而,如果某些类别只能通过头部运动信号正确分类,这意味着头部运动确实比视频有优势,至少在某些类别是这样。

  

  表1和表2展示了前五个频繁动作(动词)的分类结果。来自视频的分类器平均具有更高的精度。然而,一些动作剪辑仅根据头部运动进行正确分类(表2)。此外,团队通过平均两个分类器的概率向量(即softmax函数后的输出)添加了一个简单的集成模型,并确认了总体精度的提高(表1)。结果显示了头部运动信号优于视频。

  第二个实验是看现有的视频表示是否已经捕捉到头部运动信息,例如CNN在动力学上预训练的功能。这个问题非常重要,因为如果在没有头部运动的情况下预训练的视频表示已经包含了可以从头部运动中提取的所有信息,你将不能通过使用头部运动向视频表示添加任何附加值。为了回答这个问题,团队使用来自Kinetics或EPIC-KITCHENS的预训练权重初始化视频CNN,并比较在两种不同设置下匹配视频和头部运动之间对应关系的SSL任务的准确性。

  在第一个设置中,研究人员使用冻结的预控制视频CNN训练模型(图1),只更新头部运动CNN权重。在第二个设置中,更新视频和头部运动CNN权重。团队比较了SSL对应分类任务的ROC-AUC精度,包括未更新视频CNN权重和更新视频CNN权重两种设置(表3)。

  可以看到,经过动力学预训练的CNN和EPIC-Kitchen的性能都有所提高。团队解释是,如果头部运动信息已经嵌入到预训练视频表示中,更新视频CNN权重将不会提供任何精度增益。性能的提高表明,仍然有空间通过利用头部运动来改进视频表示。请注意,研究人员使用ROC-AUC而不是普通精度,因为大多数对是负对应,即始终分类为负可实现高普通精度。

  在使用SSL任务(等式1)训练模型(图1)之后,可以利用学习到的视频CNN作为下游任务的通用视频表示主干,如自中心的动作分类。为了测试使用SSL学习的视频表示的有效性,研究人员在学习的视频表示的基础上训练了一个多类逻辑回归线性分类器。团队同时使用动力学和EPIC-KITCHENS动作分类的全监督训练,在学习的表征之上训练相同的线性分类器,并比较结果(表4)。

  使用SSL学习的表示的分类器达到了41.94%的准确率。这高于动力学表示的准确度(27.01%),低于EPIC-KITCHENS的完全监督对应值(55.61%)。尽管团队的SSL表示预训练因此是有效的,但它依然落后于充分训练。

  接下来,团队希望看看使用所述SSL任务(等式1)学习的表示是否泛化到厨房的培训领域之外。为了测试这一点,其使用EPIC-KICTHEN提供的预训练SSL表示,在以狗为中心的活动数据集上训练线性分类器。表5中显示了结果。基于动力学表示的分类器的准确率为46.98%,SSL表示的准确率为54.21%。这表明了所述SSL方法在训练领域之外的有效性。

  总的来说,研究人员通过利用多模态自我中心视频流和IMU传感器捕获的头部运动,探索了一种用于AR/VR视频表示的自我监督学习(SSL)。尽管视频拥有更丰富的信息,但使用头部运动信息仍有改进视频表示的空间。

相关阅读