在环境条件下通过学习基于不同角度的交互信息来实现行人轨迹预测

SocialCircle是2024年的CVPR,而该文章则由同一团队发表于同年9月,目前只有arixiv上SocialCircle+: Learning the Angle-based Conditioned Interaction Representation for Pedestrian Trajectory Prediction

SocialCircle:通过学习基于不同角度的交互信息来实现行人轨迹预测-CSDN博客

1、介绍

在基于角度的交互基础上添加了条件

在使用网络进行轨迹预测时,需要充分解释和测量交互行为如何改变轨迹,还要对行人的偏好进行建模,以应对不同环境。

因此交互信息分为两个重要属性:可解释性和条件性,也是当前构建社会交互模型的两大挑战,不仅需要构建一个足够可解释的交互表示,还要在预测轨迹时考虑这些交互的条件。

受海洋动物回声定位的启发,该文建立SC+来表示交互信息及其相应条件,SC+采用社会分支和条件分支来描述行人如何以基于角度的循环序列形式在预测场景中进行社会和物理定位,具有不同的轨迹预测主干,然后,应用自适应融合将上述条件线索融合于社交线索,去学习最终的交互表示

SocialCircle 并没有考虑环境条件来规划目标的社交互动,而在SC+中,为了解决这一限制,将通过引入新的条件分支来扩展现有的SC,以帮助预测网络建模,模拟预测场景中与物理环境的社交交互作为额外条件。

SC+提出了三个 PhysicalCircle meta元素,也以类似的基于角度的方式建模,然后提出智能分区圈融合策略,然后以自适应方式将新的PhysicalCircle meta元素进一步融合到普通的SocialCircle meta 元素,以确定目标的决策受到周围环境的影响程度,从而作为网络在预测轨迹时学习表示"条件"交互的条件。

最后不仅证明了SC+的性能,还通过反事实验证,验证变量之间的因果关系,可解释地证明了条件交互的有效性,

SC中的meta元素均与场景信息无关,只和邻近对象有关,则在不同环境下行人之间却反而有相同的社会交互,因此提出条件分支,不只局限于场景的碰撞避免,还包括这些环境线索如何影响行人规划社交互动的偏好。

2、主要流程

SC+的主要流程为两条分支,社会分支,也就是SC,得到SC meta 元素,条件分支,则转化虚拟对象来构建分区,再将两个分区集自适应融合得到一个新的分区集,输入给序列化建模网络

3、条件交互

构建条件交互,首先对每一帧的场景图像处理得到一个行为语义分割图,数值均在0-1,趋于0表示可以适用于任何场景,而趋于1则表示区域不能通行.

然后对该图最大池化下采样,其核心思想就是将每一像素视为一个虚拟对象,将场景条件的交互转化为多个虚拟对象的交互,所以要将像素坐标转化为现实世界轨迹坐标,然后计算相对角度。(只考虑最大池化得到数值值大于0的对象)

接着根据角度划分分区,每一个分区包含三个PhysicalCircle meta元素,分别为相对速度,等效距离,虚拟方向

由于场景中的障碍物速度一般为0,故用相对速度即可

因为距离最近的障碍物的影响更大,故定义权重距离中的最小值为等效距离,权重为该点最大池化后的数值的倒数

将虚拟对象中方向的平均值作为虚拟方向,简化为了邻近两个角度的平均值

将PhysicalCircle meta元素自适应融合到SC meta元素中

通过一个MLP共享学习目标对象的社会分区集合和条件分区集合,分别得到两个向量,然后将他们生成权重矩阵(互相标准化),然后加权求和,实现自适应融合,然后通过一个编码网络将融合后的meta元素进行编码

4、序列化建模

仿照SC中的方法,将最后得到的分区集也视为虚拟时间序列,通过添加zero paddings和历史轨迹合并来共享序列形状,合并后也通过一个MLP输入给预测模型

5、实验

过去的预测模型的输入是将轨迹和交互分开输入,而SC系列是将轨迹和交互提前处理好,合并后输入

反事实干预分析:当干预S=0和P=0时,最后的预测轨迹都显著改变,其指标也下降,甚至P=0更严重,因为"在哪里"往往比"和谁一起"更重要。

SC+相比SC添加了环境条件的影响,相比LSSTA中将场景信息直接拿来Resnet更加可解释,其效果和SC相比也有显著的提升

相关推荐
好奇龙猫1 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
saoys1 小时前
Opencv 学习笔记:图像掩膜操作(精准提取指定区域像素)
笔记·opencv·学习
电子小白1232 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
唯情于酒2 小时前
Docker学习
学习·docker·容器
charlie1145141914 小时前
嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值
开发语言·c++·笔记·学习·嵌入式·现代c++
IT=>小脑虎4 小时前
C++零基础衔接进阶知识点【详解版】
开发语言·c++·学习
#眼镜&4 小时前
嵌入式学习之路2
学习
码农小韩5 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
微露清风5 小时前
系统性学习C++-第十九讲-unordered_map 和 unordered_set 的使用
开发语言·c++·学习
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [fs]seq_file
linux·笔记·学习