Peeking into the Future: Predicting Future Person Activities and Locations in Videos
原文链接:https://arxiv.org/pdf/1902.03748.pdf
中文版翻译,如有错误,请指正
abstract
解密人类的想法来预测他们未来的路径/轨迹在很多应用中是非常重要的。基于这种想法,这篇文章结合未来的活动研究了如何预测一个行人的未来路径。我们提出了一个端到端的,使用有关人类丰富视觉特征信息并结合环境交互的多任务学习系统。为了简化训练,该网络通过预测活动发生的未来位置这一辅助任务来学习。实验结果表明我们的实验结果是最好的,胜过目前两个公开的未来轨迹预测基准。此外,我们的理论在预测未来路径之外,还可以用来产生有意义的未来行为预测。该结果首次提供了路径和活动联合建模有利于未来路径预测的经验证据。
1. Introduction
随着深度学习的发展,系统现在能够分析视频中前所未有的大量丰富的视觉信息,从而避免事故和实现智能个性化服务。未来人的路径/轨迹预测问题越来越受到计算机视觉界的关注。它已经被视作计算机视觉理解的重要基石,因为使用过去的视觉信息来预测未来的行为在很多领域有非常广泛的作用,比如自动驾驶领域,有社会意识的机器人研究领域等等。
人类在公共空间中穿行时,脑子里往往有特定的目的,从简单的进入房间,到更复杂的把东西放进车里的行为,如是种种。 尝试着思考 <图 1> 中右上角的人,他可能采取不同的路径,这取决于他的意图。举个例再来说,他可能沿着绿色的道路把货物运送过去,或者沿着黄色的道路把货物放在车上。受此启发,本文有兴趣在视频中结合这样的意图来建模未来的路径。我们根据NIST提供的预定义的29项活动(如“装在货物”、“搬运目标”)来建模意图。**<图表 4>**中展示了与此有关的全部列表
< 图1 > 目的是联合预测一个人的未来路径和行为,绿线和黄线代表的是两种未来可能的轨迹和两种可能的行为(分别写在绿色和黄色的框中),比如说,绿色的框中写着:未来的行为是–货物转移;同样的,黄色的框中写到:未来行为–货物装载
< 图表4 > 未来目标 / 行为的分类
联合预测的模型有如下两个好处。
第一个是:将活动与路径一起学习,有助于未来的路径预测。通过直觉,人类能够通过他人的肢体语言来预测他们是要过马路还是继续沿路行走。在理解了这些行为之后,人类可以做出更好的预测。比如在< 图1 >中,那个人拿着一个盒子,同时,左下角的那个人正在向那个人挥手;基于常识,我们可能会同意这个人会选择绿色的路而不是黄色的路。
第二个是:该模型考虑了视频中丰富的语义环境,提高了对未来路径和未来活动的理解能力这增加了自动视频分析的功能,如实时事故报警、自动驾驶汽车和智能机器人辅助;它也可能有安全应用,如预测行人在交通路口的移动,或者是道路机器人可以帮助人们把货物运送到后备箱。
请注意,我们的技术主要用于预测未来的几秒钟,不应该用于非常规活动
为了这个目的,我们提出了一个叫做“ next ” 的模型, 它具有预测模块,可以同时学习未来路径和行为。由于预测未来的活动是具有挑战性的,我们介绍了两种新技术来解决这个问题:
第一个:与目前那些只把人看作空间中一个点的方法不同,我们通过丰富的语义特征来对人进行编码。这些语义特征包括视觉外观、身体动作和与周围环境的互动,我们如此考虑的动机是人类通过类似的视觉线索来进行预测。
第二个:其次,为了便于训练,我们引入了未来活动预测的辅助任务,即活动位置预测。在辅助任务中,我们设计了一个离散网格,我们称之为曼哈顿网格作为系统的位置预测目标。实验表明,该辅助任务提高了未来路径预测的准确性。
据我们所知,我们的工作是第一次在视频中联合未来路径和活动预测;更重要的是,我们首次演示并证明了这种联合建模方法可以大大提高未来的路径预测的效果。我们在两个baseline上对我们的模型进行了实证验证:ETH&UCY 以及 ActEV/VIRAT实验结果表明,我们的方法优于最先进的baseline,实现了两个共同benchmarks上的最佳结果,并对未来的活动产生了额外的预测。总之,本文的贡献有三方面:
i)我们在视频中进行了联合未来路径和活动预测的初步研究(pilot study) 我们是第一个从经验上证明这种联合学习的好处的
ii) 我们提出了一个包含新技术的多任务学习框架来解决联合未来路径和活动预测的挑战
iii) 我们的模型在两个公共benchmarks上达到了已知所有方法的最佳性能。ablation studies验证了所提出的子模块的贡献。
2. related work
使用person-person的模型进行轨迹预测 (person-person models for trajectory prediction)
person-person的轨迹预测模型试图预测人们(主要是行人)未来的轨迹。大量的工作来学习如何通过考虑人在拥挤场景中的社会互动和行为来预测人的路径。Zou 等人通过模仿决策过程来学习人类在群体中的行为;Social-LSTM 增加了社交池(social pooling)来模拟附近的行人轨迹模式;Social-GAN 通过增加了Social-LSTM 上的对抗性训练来提高效果。与以往的研究不同,我们用丰富的视觉特征来代表和描述一个人而不是简单地将人看作场景中的一个点。与此同时,我们使用几何相关(geometric relation) 来精确模拟人与场景的交互(person-scene interaction)和人与对象的关系(person-object relations),这在之前的研究中是从来没有使用过的。
使用person-scene模型进行轨迹预测 (person-scene models for trajectory prediction)
很多工作更加关注于学习物理场景所带来的影响,比如:人更倾向于走在人行道上而不是走在草坪上。Kitani 等人采用反强化学习预测人体运动轨迹; Xie等人将行人视为“粒子”,其运动动力学是在拉格朗日力学框架内建模的。Scene-LSTM 将静态场景划分为曼哈顿网格,利用LSTM预测行人位置;CAR-Net 提出了一种基于场景语义CNN的注意网络来预测人的轨迹。SoPhie 结合场景语义分割模型和生成式对抗网络(GAN)的深度神经网络特征,使用“注意(attention)”建模人的轨迹。与 Sophie 方法的不同之处在于,我们明确地在每个人周围的场景语义特征,以便模型可以直接从这些交互中学习。
使用人的视觉特征来进行轨迹预测(person visual features for trajectory prediction)
最近的一些研究试图利用个体的视觉特征来预测人的路径,而不是将其视为场景中的点。例如:Kooij 等人通过观察行人的面部来建模他们的意识,并使用动态贝叶斯算法网络预测在dasho-cam 视频中人们是否会过马路。Yagi 等人在第一人称视频中使用带有卷积神经网络的“关键点(keypoint)”特征来预测未来路径。与这些研究不同的是,我们考虑未来预测的丰富的视觉语义,包括人的行为和他们之间的互动。
活动预测/早期识别(activity prediction / early recognition)
利用递归神经网络(RNN)预测未来人类行为的研究已经有了很多成果。<S. Ma, L. Sigal, and S. Sclaroff. Learning activity
progression in lstms for activity detection and early
detection. In CVPR, 2016.> 和 <M. S. Aliakbarian, F. Saleh, M. Salzmann, B. Fernando, L. Petersson, and L. Andersson. Encouraging lstms to anticipate actions very early. 2017>.文章中提出了不同的损失方式来鼓励LSTM尽早识别网络视频中的行为。Srivastava 等人利用无监督学习和LSTM来重建和预测视频表现;另一项工作是预测机器人视觉中的人类活动。我们的工作的不同之处在于,人的行为和人的交互建模都被用于联合活动和轨迹预测。
多个线索用于跟踪 / 群体(group activity)活动识别 (multiple cues for tracking / group activity recognition)
之前有研究将视频中的多个线索纳入跟踪和群体活动识别中;我们的工作不同之处在于:丰富的视觉特征和“注意力机制”被用于联合人的路径和活动预测。同时,我们的工作利用新型活动定位预测(参见3.5节:activity prediction)来连接这两个任务
3. Approach
人类在空间中穿行时,脑子里往往有特定的目的。这些目的可以在很大程度上确定未来的轨道;这激发了我们联合研究“未来路径预测”与“人的意图”。在本文中,我们将意向建模为一组预定义的未来活动,如“散步”、“开门”、“谈话”等
问题公式化(problem formulation)
1.我们假设先对每个场景进行处理,得到所有人在不同时刻的空间坐标
2.根据坐标,我们可以自动提取它们的边界框。
3.我们的系统观察从时间1到Tobs所有人的边界框,如果有对象也是同样的处理(观察从时间1-Tobs的边界框);接下来,预测它们在时间Tobs+1到Tpred的位置(以xy坐标表示);同时,对处于Tpred时刻的未来活动标签的可能性进行预测。
3.1网络架构(network architecture)
< 图2 > 展示了 “ next ” 网络的整个网络架构
< 图2 > 模型概述。该模型利用人的行为模块和人的交互模块将丰富的视觉语义编码成一个特征张量。提出了一种新型的同时考虑人-景和人-物关系的交互模块,用于联合预测未来的活动和位置
不像大多数现有的研究,我们的模型使用两个模块来编码关于每个人的行为以及与周围环境的交互作用的丰富视觉信息。综上所述,其主要组成部分如下:
人类行为模块(Person behavior module):
从人的行为序列中提取视觉信息
人类交互模块(Person interaction module):
观察人和周围环境之间的相互作用
轨迹产生模块(Trajectory generator):
利用LSTM解码器,重点总结了编码的视觉特征,预测未来的发展轨迹
行为预测模块(Activity prediction):
利用丰富的视觉语义来预测人未来的活动标签。此外,我们将场景划分为一个多尺度的离散网格,我们称之为曼哈顿网格,以计算分类和回归来进行稳健的活动位置预测。在本节的其余部分,我们将详细介绍上述模块和学习目标。
3.2 人类行为模块(Person behavior module):
该模块对场景中每个人的视觉信息进行编码。相对于将一个人过于简化地描述为空间中的一个点,我们模拟了这个人的外貌和身体动作。为了模拟一个人外貌的变化,我们使用了一个预训练的对象检测模型“RoIAlign” 来提取每个人包围框(bounding box)中固定大小的CNN特征。通过< 图3 >,可以看到,对于每一个场景中的人,我们沿着空间维度(spatial dimensions)对特征进行平均,并将它们输入到LSTM编码器中。 最后,我们得到 Tobs × d 的特征表示,d是 LSTM 的隐藏尺寸(hidden size)。为了捕获身体运动,我们使用了一个在MSCOCO数据集上训练的人物关键点检测模型(keypoint detection model)来提取人的关键点信息。在输入LSTM编码器之前,我们应用线性变换(linear transformation)来嵌入关键点的坐标。编码特征的尺寸(shape)是Tobs × d 这些外观和运动特征通常被广泛应用于各种研究中,因此不会引入对机器学习公平性的新问题。
< 图3 > 展示了人类行为模块,这个模块里面包含了一系列与人类行为有关的帧。我们提取人的外貌特征和姿态特征来模拟一个人的行为变化。
3.3人与环境交互模块(person interaction module)
本模块研究人与环境的交互,即人-场景(person-scenes)、人-物(person-objects)交互。
人与场景交互: 为了对人附近的场景进行编码,我们首先使用一个预先训练好的场景分割模型来提取每个帧的像素级场景语义类。使用总共Ns = 10个常见的场景类,如道路,人行道等。场景语义特征为整数(类指标),尺寸为: Tobs × h × w, h, w 分别是空间分辨率。我们首先把整数张量转换成Ns二元掩码(每个类一个掩码)然后沿时间维度做平均。 这就产生了Ns实值掩码,每个掩码的大小为 h × w。我们在掩码特征(mask feature)上应用两个卷积层(convolutional layer), 步长(stride)为2,得到两个scale的场景的CNN 特征。
给定一个人的xy坐标,我们从卷积特征图中汇集此人当前位置的场景特征,如< 图4 >底部所示,卷积特征的红色部分是人在当前时刻的离散化位置,特征的感受野在每个时刻都是即时的,即:这个模型所观察的人周围的空间窗口的大小,取决于哪一个比例(scale)是经过哪一个池(pool)以及卷积核(kernel size)的大小(the size of the spatial window around the person which the model looks at, depends on which scale is being pooled from and the convolution kernel size)。在我们的实验中,我们将scale设置为1,将kernel size设置为3 这意味着我们的模型在每个瞬间会观察人周围 3 × 3 的区域。一个人的人-场景(person-scene)表示是:RTobs×C, C是卷积层中的通道数。我们将其输入到 LSTM 编码器中,以捕获时间信息并获得最终RTobs×d人员场景特性。