文章提出的假设:人们在相似的场景布局中往往有相同的行走模式。作者试图把场景信息对应的行人历史轨迹信息加入对行人轨迹预测的过程中。
为了解决这个问题,作者同时训练两个耦合的LSTM网络:行人运动LSTM和场景LSTM,其中当前视频场景被划分为多个小网格,每个网格对应一个Scene-LSTM,当前场景中的每个行人对应一个 Pedestrian movement LSTM。
文章中把视频数据的场景分成多个大小相同的网格单元,每个网格单元中含有子网格便于更好的定位,并为每个网格分配一个记忆单元,由Sence-LSTM进行建模。整个网络架构学习网格中的人类行走行为与场景特征的对应关系。
其中面临的挑战是:在一个给定的网格单元中,可能会有多个人类轨迹(不同的行走模式:不同的方向、速度和非线性程度)。解决方案是:实现了一个场景数据过滤器(SDF),让每个目标根据其状态,选择网格单元内存的相关部分来预测其下一个位置。SDF由“hard filter”和“soft fliter”构成,前者筛选出网格场景中的非线性轨迹数据,并允许这些数据影响未来的预测,后者通过获取当前行人在该网格中的信息(位置、状态等)作为激活来获取“hard fliter”相应的数据,最后使用选择出的场景数据与目标行人移动相结合进行最终预测。
传统为了建模场景与行人运动关系的方法是:(1)在场景中标注一些障碍物、建筑物等信息,假设行人运动过程中距离障碍物越近受到的影响越大来模拟障碍物与行人轨迹的关系。(2)直接用CNN提取场景布局的特征,将此作为LSTM的一个输入。但是他们都没有把特定区域场景中行人过去的轨迹与当前对运动轨迹的预测结合起来,所以作者学习场景中每个网格单元中的过去轨迹建模场景与行人轨迹的关系,并让它们影响对当前在此网格中的行人运动的预测。
模型&实验设置:
(1)预处理:
把场景图像放大到480X480分辨率,分为8X8网格单元,每个单元由一个Scene-LSTM建模,第j个网格单元分配内存单元
,网格单位内部再分为4X4的子网格。对每个目标行人分配记忆单元
,为pedestrian-LSTM初始化零向量。
(2)行人运动模块
作者认为使用绝对坐标偏向于特定的场景布局,不利于泛化到具有不同布局新场景的人类轨迹预测工作中去,所以作者使用相对位移坐标作为网络的输入。给定当前目标i的当前内存单元信号 ,隐藏状态
,和空间位置
,Pedestrian-Movement组件输出预测位置