Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks
Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks
2019-06-01 09:52:46
Paper: http://openaccess.thecvf.com/content_cvpr_2018/papers/Gupta_Social_GAN_Socially_CVPR_2018_paper.pdf
Code: https://github.com/agrimgupta92/sgan
1. 背景与动机:
本文尝试用 RNN based GAN 来进行行人轨迹的预测,如上图所示。前人的工作主要存在如下的两个缺点:
1). 他们仅建模了近邻的行人,所以,他们无法高校的建模一个场景中所有人的交互。
2). 他们用常见的损失函数来最小化 GT 和 预测的结果之间的欧氏距离,来尝试去学习 “average behavior”。
本文的目标是学习多个 “Good Behaviors”,即,多个社交上可接受的轨迹。
2. 算法设计:
如下图所示,本文尝试用 GAN 的方法来建模该问题。
给定初始的轨迹,作者用 LSTM 来进行编码,然后得到向量化的表达,并且用 Pooling module 来进行信息的交互,然后将交互后的信息,输入到解码器(另一个 LSTM 模型)。至此,GAN 中的 generator 部分算是完成了,我们就得到了预测的轨迹结果。然后我们将该轨迹,输入到判别器中(即,之前的 encoder),进行是真是假的判断。
3. 主要创新点:
整个流程下来,作者总结其创新点为:Pool module 以及 多样化的样本生成。
3.1 关于 Pooling module:
为了联合的进行多个行人的推理,我们需要一种机制来在多个 LSTM 模型进行信息共享。Social Pooling 通过 grid based pooling 机制来解决该问题。然而,这种方法速度很慢,并且无法捕获全局内容。
如图 2 所示,这可以通过将输入的坐标传送到多层感知机,然后一个 symmetric function(作者用的是 Max-Pooling)来解决。
3.2 估计多样性的样本生成:
4. Experiment: