
# 基于相似度多模型融合的人体轨迹预测

Golnaz Habibi $^{ID}$，Jonathan P. How $^{ID}$，IEEE会士

摘要——理解行人行为对自动驾驶汽车的安全导航至关重要。然而，行人的运动行为存在极大差异，且会受到与环境以及其他道路/人行道使用者交互的影响。当前大多数模型仅适用于批量（离线）设置，需要从整个数据集中完成学习。本文提出一种名为SimFuse的基于相似度的模型融合算法，用于提升预测精度，该算法支持自主智能体通过车辆间通信（V2V）和车联基础设施通信（V2I）与其他设备交互，逐步更新自身知识。在所提框架中，知识以"学习模型"的紧凑形式共享，而非共享原始数据，为智能体之间提供了一种可扩展的共享范式。本工作扩展了我们此前提出的SILA工作[^1]，可同时对$n \geq 2$个模型进行多模型融合。我们在交叉口和非交叉口场景下对本文算法进行了评估，并与其他基线方法进行对比。结果表明，在交叉口场景下，本文算法在平均位移误差指标上优于现有最优方法；在非交叉口场景下也取得了极具竞争力的结果，平均位移误差（ADE）较SILA提升了3%。结果还显示，在性能相当的情况下，SimFuse的更新速度最高比SILA快12倍。

关键词——分布式机器人系统、人与类人运动分析与合成、交通领域计算机视觉

## 一、引言

随着网联汽车（Connected Vehicle, CV）技术的进步，自动驾驶车辆可获取更多信息、更好地感知周边环境，因此行动也更加安全高效。例如，从车队收集的数据可帮助自动驾驶系统掌握交通流与拥堵状况、危险位置信息，或是学习不同的运动行为，从而提升智能交通系统的安全性和通行效率。尽管智能交通系统领域已有研究利用V2V通信实现跟踪任务[^2]或分布式规划[^3]，但目前尚无已知研究利用共享信息更新已训练完成的学习模型，最终提升预测精度。由于大多数运动行为学习模型都局限于批处理设置，当车载传感器或其他智能体提供更多数据/信息时，这些模型无法进行增量更新。

此前，我们已经提出了具备行人运动行为增量学习能力的SILA [^1]。然而，该方法存在局限性：它一次仅能融合两个模型，这限制了其在V2X场景中的应用可能性。在V2X应用中，智能体——无论是自动驾驶车辆（V2V）还是路侧基础设施（V2I）——都需要通过融合同时共享的多个模型来更新自身知识。本文扩展了SILA，提出了基于相似度的多模型融合（Similarity-based Multi-Model Fusion, SimFuse）算法，使得每个智能体都能够通过与其他智能体通信、融合多个模型来增量更新自身知识。在SimFuse框架中，人体运动模型由运动基元及其转移关系表示（参见第三节）。为了融合多个模型，我们会比对不同模型的运动基元，构建相似度（匹配）图；随后对相似度较低的边依次进行松弛处理，直到匹配的运动基元之间达到一致性；最后为更新模型，对一致图中已匹配的节点及其转移关系进行融合。

贡献列表：(1) 提出了一种适用于运动基元匹配的新型一致性算法；(2) 提出了一种基于稀疏高斯过程（GP）的新型可扩展GP融合算法，该算法可应用于任何需要融合多个GP的问题；(3) 开展了多项涵盖交叉路口场景与非交叉路口场景的实验，对SimFuse进行评估。结果证实，在交叉路口场景下，SimFuse的平均位移误差（ADE）优于当前最优算法，性能提升了30%；在非交叉路口场景下，SimFuse可实现与现有方法相当的性能，且平均ADE相比SILA提升了3%。(4) SimFuse通过融合多个模型更新知识的速度远快于SILA。结果显示，在融合最多n = 35个模型时，SimFuse的更新速度最高可达SILA的12倍，同时二者的预测精度相近。

### 二、相关工作

行人运动预测：行人运动预测已在机器人学和自动驾驶领域得到广泛研究[^6]。近期大多数工作会在模型中纳入行人之间的交互作用，以提升预测精度[^7] [^8] [^9] [^10]。但这类方法通常基于批量学习，要求每台车辆获取完整数据集并一次性处理所有数据。该假设可能并不

---

该方案适用于容量有限的载具，但它限制智能体只能使用预训练模型，无法在有新数据/新信息可用时灵活更新模型。此前，我们提出了SILA [^1]，在该框架下，每个智能体都可在从自身经验获得更多信息时增量更新自身模型。但SILA仅支持从单一组数据集进行增量学习。本学术通讯提出了SimFuse，该方法为一组智能体提供了一项额外特性：它们可以融合任意数量的模型。

分布式机器学习与V2V通信：尽管分布式学习方法此前已有研究[^11]，但自动驾驶领域的大多数现有研究要么局限于多智能体强化学习[^12] [^13] [^14]，要么研究行人/车辆轨迹预测之外的其他问题。例如，Shorinwa等人[^2]提出了一种由自动驾驶车队实现多车辆跟踪的算法。他们的工作聚焦于解决多目标跟踪问题，即每辆跟踪车辆仅能部分观测目标车辆时的短期预测问题。而本研究信则聚焦于通过融合各智能体从其他智能体获取的模型，提升每个智能体的行人轨迹预测模型性能。车对车（V2V）通信也已在以往研究中得到探讨[^15]，[^16]，相关研究表明其在交通监控与管理、路径优化、碰撞预防、共享危险与事故信息等多个方面均具备优势[^17]。[^18]中的研究针对自动驾驶中的协同感知问题展开，车辆之间共享传感器测量数据，通过三维传感器融合算法提升自动驾驶系统的目标检测置信度。FusionEye [^19]提出了一种网联车辆系统，支持车辆共享自身数据，随后这些数据会被融合为更完整的交通场景。我们此前提出了SILA [^1]，这是一个增量学习框架，智能体可在新数据批次可用的时间和位置增量式更新其预训练模型。SILA可作为适用于多智能体场景的高效可扩展框架。在该框架中，车辆以“习得运动行为”这一抽象形式共享知识，而非共享原始数据。但SILA仅支持融合两个模型，存在局限性。本研究信提出了SimFuse，该方法可融合任意数量的模型。此外，所提框架提供了一种实时分布式学习流程，可扩展适配大规模智能体场景。近期，Kucner等人[^20]提出了一个框架，该框架将包含大量运动模式的大地图存储在单个模型中。而在本文方法中，我们不存储所有运动模式，而是利用运动基元之间的相似性，对相似运动模式进行融合。与存储所有运动基元相比，融合运动基元的优势在于：无需基于整个数据集重新学习，即可通过可扩展的形式持续改进知识，同时模型复杂度可保持在合理的较低水平。

### III. 研究背景与问题陈述

假设存在n个智能体，分别记为$A^i$、$i = 1, \ldots, n$。每个智能体可获取或收集大小为$k_t^i$的训练轨迹小批量，这些轨迹被表示在包含$P \times Q$个块、每个块宽度为$\omega$的网格中。

![Image](images/e12a211af541cc9e7094e40d6988b25d8aac1e5f6fa9084c794c3de59a4a0acb.jpg)

<div style="text-align: center;">(a) grid cells</div>

![Image](images/fd9004231aae502854c450e0e1249ce24dc3d5022b6542e29b5c848abbcda94c.jpg)

<div style="text-align: center;">(b) motion primitives</div>

![Image](images/2eb43ec52a58db650f7ebc6becd0bca0e601fbe87365b644abf863fdf35a50ce.jpg)

<div style="text-align: center;">(c) trajectory segments w/ transitions</div>

![Image](images/2a515ea24cf2c15c9a734896565504f14b94c7135f5810781504e7e8807f3684.jpg)

<div style="text-align: center;">(d) dual graph</div>

<div style="text-align: center;">Fig. 1. (a) Trajectories are discretized in grid world. Note that the activation cells are expanded when the trajectory is close to the cell boundaries. (b) The model is trained as a set of motion primitives and their transitions learned by ASNSC-based algorithms [^4], [^5]. (c) Illustration of trajectories clustered in model  $M^{i}$, each cluster is represented by motion primitives shown in (b), with the same color. The observed transitions between trajectory segments are considered as  $r_{fg}^{i}$. (d) The dual graph includes all non-zero transitions i.e.,  $r_{fg}^{i} \neq 0$.</div>

每条轨迹$\mathbf{t}^{iz} \in \mathbb{R}^{3PQ}$、$z = 1, \ldots, k_t^i$和$i = 1, \ldots, n$都包含三个分量：x-y方向速度（$\mathbf{v}_x^{iz} \in \mathbb{R}^{PQ}$、$\mathbf{v}_y^{iz} \in \mathbb{R}^{PQ}$），以及记为$\mathbf{a}^{iz} \in \mathbb{R}^{PQ}$的活性变量。如果$\mathbf{t}^{iz}$进入pq单元格，则取值为$a_{pq}^{iz} = 1$，否则为$a_{pq}^{iz} = 0$（参见图1(a)，阴影单元格的值非零）。按照该定义，数据矩阵$\mathbf{X}_{3PQ \times k_t^i}^i$由$k_t^i$条轨迹构建而成，即每一列对应一个轨迹向量。

### A. 运动基元学习

给定一个数据集$\mathbf{X}^i$，通过稀疏编码方法$K_d^i$学习得到一组记为$\mathbf{D}^{(i)}$的[^4]运动基元。这种字典学习方法是一个多变量优化问题，目标是用最少数量的运动基元表示数据，同时将残差误差最小化。输出为矩阵$K_d^i$形式的一组$\mathbf{D}^{(i)}$个运动基元，每一列是一个运动基元向量，记为$\mathbf{m}_k^i \in \mathbb{R}^{3PQ}$、$k = 1, \ldots, K_d^i$。图1(b)给出了从轨迹数据中学习得到的运动基元示例。需要注意的是，运动基元之间可以相互重叠。与轨迹类似，运动基元以网格形式表示，但它们通常具有稀疏的非零值，这是因为每个运动基元通常只表示轨迹的一部分。更准确地说，轨迹被分割为多个簇，每个簇由一个运动基元表示（参见图1(c)）。如图所示，一条轨迹通常由多个片段（即多个运动基元）组成，行人在步行场景中会从一个运动基元切换到另一个运动基元。为了对运动基元之间的转移过程建模，我们定义了转移矩阵$\mathbf{R}_{K_d^i \times K_d^i}^{(i)}$，其中每个元素$r_f^i \in \mathbf{R}_{K_d^i \times K_d^i}^{i}$表示训练数据中观测到的从运动基元$m_f^i$转移到$m_g^i$的次数。需要注意的是，该矩阵通常是非对称的。

---

![Image](images/554fc86929574873777486948eadfe4f4226eaf0467b88299508f02f182dbdfc.jpg)

<div style="text-align: center;">Fig. 2. Block diagram of updating model in SimFuse with the capability of multi-model fusion.</div>

为了表示运动基元及其转换关系，我们采用运动基元对偶图：图的节点对应运动基元，边对应两个运动基元之间的转换。该图是一张加权有向图，权重为对应索引的$\mathbf{R}^i$实体的值。$r_{fg}^i$中的每个转换$\mathbf{R}^i$由两个独立的高斯过程（Gaussian Processes, GPs）建模：$GP_{x_f^i}$, $GP_{y_f^i}$。这些高斯过程用于学习速度分量关于$(x, y)$的函数，最终得到$v_{x}' = GPx_{fg}^i(x, y)$和$v_y' = GPy_{fg}^i(x, y)$，为简洁起见省略了轨迹索引。

### B. 问题陈述

给定一组智能体$A^{(i)}$, $i = 1, \ldots, n$以及它们学习得到的模型$M^{(i)} = \{\mathbf{D}^{(i)}, \mathbf{R}^{(i)}\}$, $i = 1, \ldots, n$。这些智能体可通过V2X通信共享知识，即车对车V2V或车对基础设施（V2I）[^21]。本文的目标是设计一种融合算法，使得每个（自）智能体$A^i$将自身模型$M^{(i)}$与从其他智能体接收的模型$A''^{(j)}$, $j = 1, \ldots, N^i$对比，再通过融合接收到的模型$M''^{(j)}$更新自身模型。我们此前提出了SILA，用于单个智能体增量更新模型场景下的两模型融合，该场景仅需融合两个模型。在多智能体场景中，可获得来自邻域智能体的多个模型，即$N^i \geq 2$，成对融合的效率较低，因为需要迭代融合所有模型直至全部处理完成。本文将模型融合扩展到任意数量的$N^i \geq 2$模型，同时提升了模型的准确率和可扩展性。

### IV. 研究方法

智能体$A^{i}$在时刻t的模型记为$M^{(i)}(t)$，该模型包含运动基元向量$\mathbf{D}^{(i)}(t)$和转移矩阵$\mathbf{R}^{(i)}(t)$，假设共有$N^{i}(t)$个模型与$A^{i}$共享，记为$\mathbf{M}^{\prime}(\mathbf{t})=\{M^{\prime}(j)\}(\mathbf{D}^{\prime}(j)(t),\mathbf{R}^{\prime}(j)(t))\}_{j=1}^{N^{i}(t)$。我们提出一种基于相似度的多模型融合方法（Sim-Fuse），通过融合$M^{i}(t)$中的模型来更新时刻t的模型$\{M^{\prime}(j)(t)\}$。SimFuse主要包含三个步骤：(1) 计算$\mathbf{D}^{(i)}$与$\mathbf{D}^{\prime}=\{\mathbf{D}^{\prime}(j)\}_{j=1}^{N^{i}(t)}$中所有运动基元两两之间的相似度得分；(2) 针对相似度大于给定阈值的匹配构建匹配图$G_{s}$，并通过边松弛法使$G_{s}$满足一致性；(3) 对匹配到的运动基元及其对应转移进行融合，将未匹配的运动基元和转移添加到模型中，最终模型更新为$M^{i}(t+1)$。（框图参见图2，伪代码参见算法1）。需要说明的是，SILA也具备类似步骤，但本文的核心贡献在于步骤2和步骤3：在步骤2中，我们提出了一种新的边松弛算法来保证图的一致性；在步骤3中，我们提出了一种新的可扩展算法用于多个GPs的融合。

### A. 步骤1：计算两两相似度得分

受字典原子一致性概念的启发[^22], [^23]，且与[^1]中的方法类似，两个运动基元向量$\mathbf{m}_f^{(i)} \in \mathbf{D}^{(i)}$和$\mathbf{m}_g^{\prime(j)} \in \mathbf{D}^{\prime(j)}$之间的两两相似度被计算为二者的归一化内积，即我们熟知的余弦相似度：

 $$ S(\mathbf{m}_{f}^{(i)},\mathbf{m}_{g}^{\prime(j)})=\frac{\langle\mathbf{m}_{f}^{(i)},\mathbf{m}_{g}^{\prime(j)}\rangle}{|\mathbf{m}_{f}^{(i)}||\mathbf{m}_{g}^{\prime(j)}|} $$

其中，$\langle \cdot, \cdot \rangle$ 为内积，$\mathbf{m}_f^{(i)}$ 和 $\mathbf{m}_g'^{(j)}$ 分别表示模型 $M^{(i)}$ 中的第 f 个运动基元与模型 $M'^{(j)}$ 中的第 g 个运动基元。我们知道，每个运动基元定义在 $P \times Q$ 个单元中，包含 $(v_x^k, v_y^k, k \in P \times Q$ 的两个分量。余弦相似度是每个网格单元中运动基元向量夹角余弦值的平均值。如果某个运动基元不存在于另一运动基元所在的单元中，则该单元中二者的相似度记为零。因此，我们既可以从形状层面（即公共单元中的余弦夹角），也可以从位置层面（即二者重叠的单元数量）来衡量运动基元之间的相似度。

### B. 步骤 2：匹配图与边松弛算法

相似度得分 $\mathbf{m}_{f}^{(i)}$ 大于预定义相似度阈值 $\mathbf{m}_{g}^{\prime(j)}$ 的运动基元对 $S(\mathbf{m}_{f}^{(i)},\mathbf{m}_{g}^{\prime(j)})$ 和 $\beta$ 被判定为匹配的运动基元。这些匹配的运动基元构成匹配图 $G_{s}$，图中的边代表运动之间的两两

---

![Image](images/2261deef2feae0dccfeb9c3d6b0ddc71c21ead9d8d82f2eb4a923ce26b62d6a1.jpg)

<div style="text-align: center;">(a)</div>

<div style="text-align: center;">(b)</div>

<div style="text-align: center;">(c)</div>

<div style="text-align: center;">Fig. 3. (a) An example showing an inconsistent matching: e.g., each motion primitive from  $M^{i}$ is matched with two primitives from  $M^{\prime(1)}$(b) Matching graph which is inconsistent initially. Not matched motion primitives are shown by dashed circles. The nodes on the left side are from model  $M^{(i)}$, and right nodes are from  $M^{\prime(j)}$, j = 1, ..., 3. Edges with least similarity, marked by red crosses, are being relaxed (removed) to achieve a consistent graph. (c) The consistent graph after the red edges are relaxed, the motion primitives in each component (green-shaded) are fused (figures are seen better in colors).</div>

模型$M^{(i)}$中的基元以及$M'$中各模型的运动基元。请注意，该图不考虑$M'$内部模型之间运动基元的匹配。此外，根据定义，$G_s$不包含未匹配节点，这意味着未匹配节点不会被融合（参见图3(b)，虚线圆圈标记的节点）。图3展示了一个匹配图示例：其中$M^{(i)}$中的运动基元与$M'$中三个模型的运动基元进行匹配。该图显示$G_s$由一组互不相交的连通分量（即匹配分量）组成：$\{\{C_1\}, \{C_2\}, \ldots, \{C_{N_c}\}\}$由匹配节点构成，这些分量确定了融合集合，即每个分量$\{C_o\}$中的节点将被融合。但我们将证明，这些分量首先需要满足一致性要求。

定义4.1（一致性）：如果对于每条匹配边$C_o$都满足以下性质，则$e(u_f, l_g) \in C_o$是一致的：

(i) $\cap_{u_f \in M^{(i)}} Prn(u_f) = \emptyset$, (ii) $\cap_{g \in M'^{(j)}} Prn(l_g) = \emptyset$.

函数$Prn(u_f)$表示运动基元u所来自的原始（父）模型。该定义表明，$M^{(i)}$节点与$M'(j)$节点之间的一一匹配，是实现一致性的一个必要

![Image](images/bf8e81b4152f62996a9f6903eaa78bebc58864f8131c4f6f70c31dd0bd93044e.jpg)

![Image](images/291a353d1463becbd06b227f219ee90efa7952489acae85411ea3431b4250910.jpg)

<div style="text-align: center;">(a)</div>

<div style="text-align: center;">(b)</div>

<div style="text-align: center;">Fig. 4. (a) Fusion of motion primitives from three models (green, red, blue), the final fused primitive is shown in black. (b) Prediction distribution with three branches and their likelihood (figures are seen better in colors).</div>

条件，用于在$C_{o}$中实现一致性。也就是说，在一致图中，$u_{f}$中的任意运动基元$M^{(i)}$与$l_{q}$中的任意运动基元$M^{\prime(j)}$之间有且仅有一条边。

猜想1：要融合$M''(j)$和$M''(i)$之间的相似运动基元，每个匹配集合都必须满足一致性。

图3(a)给出了不一致匹配的一个示例。在这种情况下，无法明确哪几组运动基元需要融合。匹配图的一致性问题已经被研究了一段时间。然而，在这类方法中，匹配节点存在真实的“真值标签”[^24]，也就是说，存在能够实现“正确”匹配的最优解。但在运动基元应用中，并不存在这样的真值来优化匹配过程，因此我们选择相似度最高的匹配节点进行融合。我们提出了一种边松弛算法，该算法依次松弛（移除）相似度得分最低的边，直到来自$u_f \in M^{(i)}$和$l_g \in M^{(j)}$的匹配节点之间仅剩余一条边。图3展示了使用所提方法进行边松弛的示例。

#### C. 步骤 3.1：运动基元融合

给定一个包含$G_s$个匹配分量的一致$N_c$，融合步骤包含两个部分：融合匹配节点，以及融合每个匹配分量$\{\mathbf{C}_o\}_{o=1}^{N_c}$中的转移过程（建模为GPs）。设$\mathbf{mm}_o = \{\mathbf{m}_\omega \in \mathbb{R}^{3PQ}\}_{|\omega=1}^{|C_o|}$为$\mathbf{C}_o$中的运动基元，$\mathbf{C}_o$中运动基元的数量为$|C_o|$。$N_m = 2PQ$是每个运动基元向量的前$2PQ$维（即它们的(x,y)速度分量）。为了有效融合运动基元，我们只需对$\mathbf{mm}_o$中的所有向量计算逐元素平均值，结果记为$fuse(\mathbf{mm}_o)$：

 $$ f u s e(\mathbf{m}\mathbf{m}_{o k})=\frac{1}{|C_{o}|}\sum_{\omega=1}^{|C_{o}|}m_{\omega k} $$

其中，$m_{\omega k}$是$\mathbf{m}_{\omega} \in \mathbf{mm}_{o}, k = 1, \ldots, 2PQ$的第k维（参见图4(a)）。融合后基元的最后PQ维（即激活变量和$k' = 2PQ + 1, \ldots, 3PQ$）的计算方式如下：

 $$ f u s e(\mathbf{m m}_{o k^{\prime}})=\bigcup_{\omega=1}^{|C_{o}|}m_{\omega k^{\prime}} $$

---

#### D. 步骤 3.2：转移（GPs）融合

GP回归算法是用于预测带不确定性函数的强大非参数方法。然而，这类算法通常无法很好地扩展到大型数据集[^25]。提升GP可扩展性的一种常用思路是通过一小组诱导输入对其进行近似计算。例如[^26]引入了伪输入方法，将算法复杂度从 $O(N_d^3)$ 降低到 $O(N_I^2 N_d)$，其中 $N_d$ 是数据点总数，$N_I$ 是诱导输入的数量，且 $N_I \ll N_d$。在本快报中，我们提出了一种用于融合多个GP的可扩展框架。本文采用的方法结合了两类现有思路，实现了对 $N_G$ 个GP的融合。我们假设每个 $GP_g^i, g = 1, \ldots, N_G$ 都由一组大小为 $n_g^i$ 的伪输入表示。在假设伪输入能够充分代表原始数据集的前提下，我们通过合并每个GP的伪输入构建了一个名为诱导数据 $d_{ind}^i$ 的新数据集。我们同时假设 $n_I^g = N_I, g = 1, \ldots, N_G$。利用该近似方法，数据总规模被缩减到 $|d_{ind}^j| = N_G N_I$。如果不使用该近似，原始数据集的规模为 $|d_{orig}| = \sum_{g=1}^{N_G} |d_G^g|$，其中 $|d_G^g|$ 是第g个GP对应的数据点数量。由于 $N_I \ll |d_{GP}^g|$，我们提出的新方法大幅缩减了数据集规模，即使对于较大的 $N_G$ 也具备良好的可扩展性。

利用这一新数据集，我们将[^26]中的方法应用于学习伪输入$I'$形式的稀疏GPs，同时得到超参数$H'$。本文提出的GP融合方法总结在算法2中（关于伪输入学习的更多细节参见[^26]）。该方法的优势在于为GPs融合提供了可扩展的框架。应当注意，模型中的每个转移由两个GPs建模：$(GP_x, GP_y)$。为了融合一组转移，我们使用上文介绍的所提方法对它们对应的GPs进行融合。

### E. 预测阶段

更新后的模型由更新后的运动基元和转移构成。当在测试环境中观测到一条新轨迹时，我们会选择与观测轨迹最接近的运动基元作为“当前基元”。我们使用转移矩阵$R^{i}$及其$GP_{s}$分量，分别估计从当前基元分支出来的后续运动基元，以及其对应的似然。图4(b)展示了一个未来轨迹预测的示例。估计结果是一组带有对应似然的分支。该预测流程在第五节讨论的所有基于ASNSC的算法[^4]中都是通用的。为了进行评估，我们会从预测分布中采样轨迹，这部分内容将在第五节中说明。

### V. 结果

### A. 评估场景与实验设置

为评估Sim-Fuse及各基线方法，我们考虑了两类场景：交叉口场景与非交叉口场景。两类场景下的轨迹均以2.5 Hz的频率采样。尽管我们的算法可支持对任意长度的轨迹进行训练和测试，但为了与其他基线方法进行公平比较，我们仅选取长度不小于6秒（20帧）的轨迹。测试时，每条轨迹的观测时长为3.2秒（8帧），预测时长为4.8秒

```pseudo
// Algorithm 1: Simfuse Algorithm.

```

1 输入：$M^i(t)$, $\mathbf{M}'(t) = \{M_j'(\mathbf{D}'^{(j)}, \mathbf{R}'^{(j)})\}_{j=1}^{N^i(t)}$

2 输出：$M^i(t+1)\{\mathbf{D}^{(i)}(t+1), \mathbf{R}^{(i)}(t+1)\}$

3 当 Updating 为真时执行

4 $G_s = MatchingGraph(M^i(t), \mathbf{M}')$

5 $\mathbf{D}^{(i)}(t+1) = \emptyset, \mathbf{R}^{(i)}(t+1) = \emptyset$

6 $G_s = RelaxEdges(G_s)$

7 $\mathbf{C} = Matchingcomponent(G_s) // \mathbf{C} = \{\mathbf{C}_o\}_{o=1}^{|C|}$

8 $D^{(i)}(t+1).append(\mathbf{m} \notin G_s)$

9 $R^{(i)}(t+1).append(\mathbf{r} \notin G_s)$

// 添加未匹配的运动基元

10 对 $o = 1 : |C|$ 执行

11 $\mathbf{D}_f \leftarrow fuse(\forall \mathbf{m} \mathbf{m}_o \in \mathbf{C}_o)$

12 $\mathbf{D}^{(i)}(t+1).append(\mathbf{D}_f)$

13 $\mathbf{R}_f \leftarrow fuse(\forall r_m \in \mathbf{C}_o)$

14 $\mathbf{R}^{(i)}(t+1).append(\mathbf{R}_f)$

15 返回 $M^{(i)}(t+1): (\mathbf{D}^{(i)}(t+1), \mathbf{R}^{(i)}(t+1))$

## 算法 2：GP 融合算法：$fuseGP(\{GP_g\}_{g=1}^{N_G})$

1 输入：GPs 集合 $\{GP_g(I_g, H_g)\}_{g=1}^{N_G}$
// $I_g$：GP 伪输入向量
// $H_g$：GP 超参数
2 输出：$GP'(I', H')$
3 $I_{ind} = \emptyset$
4 对 $GP_g$ 中的每个 g 执行
5 $\bigsqcup I_{ind.append}(I_g)$
6 $GP'(I', H') = SparseGP(I_{ind})$ [^26]
7 返回 $GP'$

（12 帧）。我们采用通用的“留一法”：从 $N_{s}$ 个场景中选出一个作为测试场景，模型在剩余的 $N_{s}-1$ 个场景上训练。对于分布式学习方法（包括 SimFuse、SILA、SimFuse-Naive 基线），$N_{s}-1$ 个智能体按照特定分配规则训练（例如，智能体 1 从场景 1 训练得到，智能体 2 从场景 2 学习得到，依此类推）。最终融合得到的模型在剩余的测试场景上进行测试。

### B. 评估指标

1) 平均位移误差（Average Displacement Error, ADE）[^10]：定义为固定时间范围T内预测轨迹与真值轨迹之间的平均欧氏距离（L2范数）：

   $$ ADE=\frac{1}{T}\sum_{i=t_{obs}+1}^{t_{obs}+T}\left\|p_{pred}^{i}-p_{g}^{i}\right\|_{2}, $$

其中$p_{pred}^{t}$和$p_{g}^{t}$分别是预测轨迹和真值轨迹中时刻t对应的点，$t_{obs}$是预测开始前最后一个观测点对应的时刻。

---

<div style="text-align: center;">TABLEI</div>

<div style="text-align: center;">COMPARISON OF PERFORMANCE (ADE/FDE) FOR NON INTERSECTION SCENARIOS, LOWER IS BETTER</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Algorithm/dataset</td><td style='text-align: center; word-wrap: break-word;'>ETH</td><td style='text-align: center; word-wrap: break-word;'>Hotel</td><td style='text-align: center; word-wrap: break-word;'>Univ</td><td style='text-align: center; word-wrap: break-word;'>Zara1</td><td style='text-align: center; word-wrap: break-word;'>Zara2</td><td style='text-align: center; word-wrap: break-word;'>Average</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Linear (constant velocity)</td><td style='text-align: center; word-wrap: break-word;'>0.92/2.20</td><td style='text-align: center; word-wrap: break-word;'>0.37/0.84</td><td style='text-align: center; word-wrap: break-word;'>0.62/1.44</td><td style='text-align: center; word-wrap: break-word;'>0.45/1.04</td><td style='text-align: center; word-wrap: break-word;'>0.58/1.33</td><td style='text-align: center; word-wrap: break-word;'>0.53/1.24</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SGAN-20VP [^9](batcfagoh)</td><td style='text-align: center; word-wrap: break-word;'>0.77/1.40</td><td style='text-align: center; word-wrap: break-word;'>0.43/0.87</td><td style='text-align: center; word-wrap: break-word;'>0.75/1.50</td><td style='text-align: center; word-wrap: break-word;'>0.35/0.70</td><td style='text-align: center; word-wrap: break-word;'>0.36/0.72</td><td style='text-align: center; word-wrap: break-word;'>0.51/1.02</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>STGAT [^27](batch)</td><td style='text-align: center; word-wrap: break-word;'>0.65/1.12</td><td style='text-align: center; word-wrap: break-word;'>0.35/0.66</td><td style='text-align: center; word-wrap: break-word;'>0.54/1.10</td><td style='text-align: center; word-wrap: break-word;'>0.52/0.69</td><td style='text-align: center; word-wrap: break-word;'>0.34/0.60</td><td style='text-align: center; word-wrap: break-word;'>0.43/0.83</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CGNS [^28](batch)</td><td style='text-align: center; word-wrap: break-word;'>0.62/1.40</td><td style='text-align: center; word-wrap: break-word;'>0.70/0.93</td><td style='text-align: center; word-wrap: break-word;'>0.48/1.22</td><td style='text-align: center; word-wrap: break-word;'>0.32/0.59</td><td style='text-align: center; word-wrap: break-word;'>0.35/0.71</td><td style='text-align: center; word-wrap: break-word;'>0.49/0.97</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>STSGN [^29](batch)</td><td style='text-align: center; word-wrap: break-word;'>0.75/1.63</td><td style='text-align: center; word-wrap: break-word;'>0.63/1.01</td><td style='text-align: center; word-wrap: break-word;'>0.48/1.08</td><td style='text-align: center; word-wrap: break-word;'>0.30/0.65</td><td style='text-align: center; word-wrap: break-word;'>0.26/0.57</td><td style='text-align: center; word-wrap: break-word;'>0.48/0.99</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GAT [^30](batch)</td><td style='text-align: center; word-wrap: break-word;'>0.68/1.29</td><td style='text-align: center; word-wrap: break-word;'>0.68/1.40</td><td style='text-align: center; word-wrap: break-word;'>0.57/1.29</td><td style='text-align: center; word-wrap: break-word;'>0.29/0.60</td><td style='text-align: center; word-wrap: break-word;'>0.37/0.75</td><td style='text-align: center; word-wrap: break-word;'>0.52/1.07</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Social-STGCNN [^7](batch)</td><td style='text-align: center; word-wrap: break-word;'>0.63/1.08</td><td style='text-align: center; word-wrap: break-word;'>0.49/0.86</td><td style='text-align: center; word-wrap: break-word;'>0.44/0.79</td><td style='text-align: center; word-wrap: break-word;'>0.34/0.53</td><td style='text-align: center; word-wrap: break-word;'>0.30/0.48</td><td style='text-align: center; word-wrap: break-word;'>0.44/0.74</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TASNSC [^5](batch)</td><td style='text-align: center; word-wrap: break-word;'>0.78/1.40</td><td style='text-align: center; word-wrap: break-word;'>0.42/0.90</td><td style='text-align: center; word-wrap: break-word;'>0.61/1.34</td><td style='text-align: center; word-wrap: break-word;'>0.50/1.05</td><td style='text-align: center; word-wrap: break-word;'>0.52/1.14</td><td style='text-align: center; word-wrap: break-word;'>0.56/1.16</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SimFuse-naive</td><td style='text-align: center; word-wrap: break-word;'>0.77/1.83</td><td style='text-align: center; word-wrap: break-word;'>0.30/0.64</td><td style='text-align: center; word-wrap: break-word;'>0.60/1.31</td><td style='text-align: center; word-wrap: break-word;'>0.38/0.84</td><td style='text-align: center; word-wrap: break-word;'>0.43/0.90</td><td style='text-align: center; word-wrap: break-word;'>0.49/1.10</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SILA</td><td style='text-align: center; word-wrap: break-word;'>0.59/1.19</td><td style='text-align: center; word-wrap: break-word;'>0.31/0.73</td><td style='text-align: center; word-wrap: break-word;'>0.51/1.15</td><td style='text-align: center; word-wrap: break-word;'>0.27/0.55</td><td style='text-align: center; word-wrap: break-word;'>0.29/0.58</td><td style='text-align: center; word-wrap: break-word;'>0.39/0.84</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SimFuse (ours)</td><td style='text-align: center; word-wrap: break-word;'>0.59/1.18</td><td style='text-align: center; word-wrap: break-word;'>0.31/0.73</td><td style='text-align: center; word-wrap: break-word;'>0.50/1.17</td><td style='text-align: center; word-wrap: break-word;'>0.27/0.54</td><td style='text-align: center; word-wrap: break-word;'>0.27/0.56</td><td style='text-align: center; word-wrap: break-word;'>0.38/0.84</td></tr></table>

2) 最终位移误差（Final Displacement Error, FDE）：定义为时间范围终点T处预测轨迹与真值轨迹之间的欧氏距离 [^9]：

   $$ \begin{array}{r}{F D E=\left\|p_{p r e d}^{t_{o b s}+T}-p_{g}^{t_{o b s}+T}\right\|_{2}.}\end{array} $$

### C. 基线方法

本次评估共考虑三组基线方法：

1) 线性模型或恒速模型（表I红色标注）

2) 考虑交互的方法 [^7], [^9], [^27] [^28] [^29] [^30]（表I蓝色标注），所有这类方法都采用批量学习（即从完整数据集学习模型），并在预测模型中纳入行人之间的交互信息。

3) 不考虑交互但考虑上下文的方法（表I品红色标注），这类方法是ASNSC的变体，包括：SimFuse的批量设置版本（TASNSC）[^5]；在每个时间步融合$N_{s} - 1$个模型的SimFuse；改进后考虑匹配图一致性的SILA（所有对比实验中均记为SILA）；SimFuse-naive基线，该基线直接叠加模型不进行任何融合。

正如第四节所述，包括SimFuse在内的基于ASNSC的基线会输出未来轨迹的分布。为了与其他基线[^7]进行公平比较，我们采样了K = 20条轨迹，并选取ADE最小的轨迹用于评估。

### D. 实验1：非交叉口场景

本文使用了ETH、HOTEL、UNIV、ZARA1、ZARA2共五个公开可用数据集 [^10]，[^31]。表I汇总了实验结果，其中每一列对应一个测试场景。结果表明，SimFuse的性能与其他基线方法在ADE指标上总体相当，且在平均ADE指标上取得了最优性能，说明SimFuse对未见场景的泛化能力优于其他算法。SimFuse中的模型融合有助于去除学习到的运动行为中的冗余信息，从而避免过拟合。由于SimFuse未考虑行人之间的交互，其作为长期预测衡量指标的FDE性能不如考虑交互的基线方法。有趣的是，SimFuse在所有场景中的表现都优于其批处理设置版本（TASNSC）。在TASNSC中，预测轨迹通过非线性优化问题（用于学习运动基元）和非参数高斯回归（用于建模转移过程）计算得到。这种非线性会导致得到次优解，意味着TASNSC的批处理设置并不一定能带来更优的性能。另一方面，SimFuse对多个次优结果进行融合可以得到性能更好的更新模型。此外，TASNSC为了优化运动基元的数量牺牲了预测精度，因此损失了一定的准确率。因此，在非批处理设置下（即SimFuse、SimFuse-Naive和SILA）从小数据集学习可以获得更高的准确率，带来更优的性能，但代价是模型尺寸会增大。

### E. 实验2：交叉路口场景

我们在波士顿/剑桥街道的四个不同交叉路口收集了行人轨迹，如表II顶部所示，分别用A、C、D、E表示。与A和E相关的数据是由一辆配备三个Logitech C920摄像头和一个SICK LMS151激光雷达的Polaris GEM车辆收集的 [^32]。对于C和D交叉路口的数据收集，我们使用了安装在三脚架上的3D LiDAR传感器（Velodyne VLP-16）。交叉路口B位于密歇根州的MCity。该数据是在行人佩戴RTK GPS帽子时通过跟踪行人收集的。这五个交叉路口的数据集共包含1024条轨迹。在本实验中，数据相对于交叉路口转角几何进行归一化，类似于TASNSC [^5]。我们将我们的算法与其他基于ASNSC的算法以及Social-STGCNN [^7]进行比较，后者被认为是交互感知基线中最先进的（State-of-the-art）。我们遵循先前实验中的留一法（leave-one-out）设置。结果表明，基于ASNSC的算法（品红色）在除一个场景外的所有场景中均优于Social-STGCNN。这一结果证实，引入环境上下文（即距离路缘的距离）显著提高了交叉路口场景中的预测性能，使得所有基于TASNSC的算法都优于不考虑环境上下文的Social-STGCNN。结果表明，SimFuse在本实验中表现最佳。

### F. 实验3：更新时间分析

本节我们分析SimFuse中的更新时间，随后通过实验展示该方法的支撑效果。假设 $N^i + 1$ 个模型构成的匹配图共有 $N_c$ 个连通分量。融合时间由每个时间步待融合的边/节点数量决定，在所有模型彼此相似的最坏场景下，SimFuse的该数量为 $|E_{total}| = (N^i + 1)N_c$。在SILA中，由于每次仅融合两个模型，该数量降至 $2N_c$。但成对融合需要重复 $N^i$ 次，因此待融合的总边数为 $|E_{total}| = 2N^iN_c$。

---

<div style="text-align: center;">TABLE II  PERFORMANCE COMPARISON IN THE FORMAT OF (ADE/FDE) AT FIVE INTERSECTION SCENARIOS, LOWER IS BETTER</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>![Image](images/89d2daacec1c198cfac0d4035e0b9b8695b38dc812208786fcad097e377884f7.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/f25d14cde21d619d7265732233c766d117eb9411c66f33525380e9cfba2f231a.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/9c500f28af5d27ccc3b3f58dcfdffed168c37f4acdc9550e4d64fe88b23e4a45.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/4fc7f16bd5c53e1cd3b6074c73a216bd5756633c56a82c629a2ff58560646da1.jpg)</td><td colspan="3">![Image](images/a3b2121e990bd3437c191b44ee944a22a383cef858968a14ba3fc3610de282bd.jpg)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Algorithm/Dataset</td><td style='text-align: center; word-wrap: break-word;'>A</td><td style='text-align: center; word-wrap: break-word;'>B</td><td style='text-align: center; word-wrap: break-word;'>C</td><td style='text-align: center; word-wrap: break-word;'>D</td><td style='text-align: center; word-wrap: break-word;'>E</td><td style='text-align: center; word-wrap: break-word;'>Average</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Social-STGCNN (batch)</td><td style='text-align: center; word-wrap: break-word;'>0.96/1.62</td><td style='text-align: center; word-wrap: break-word;'>1.63/2.71</td><td style='text-align: center; word-wrap: break-word;'>0.87/1.36</td><td style='text-align: center; word-wrap: break-word;'>1.39/2.24</td><td style='text-align: center; word-wrap: break-word;'>1.57/2.95</td><td style='text-align: center; word-wrap: break-word;'>1.27/2.17</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TASNSC (batch)</td><td style='text-align: center; word-wrap: break-word;'>0.68/1.38</td><td style='text-align: center; word-wrap: break-word;'>0.78/1.63</td><td style='text-align: center; word-wrap: break-word;'>1.00/2.13</td><td style='text-align: center; word-wrap: break-word;'>1.00/2.18</td><td style='text-align: center; word-wrap: break-word;'>0.96/2.02</td><td style='text-align: center; word-wrap: break-word;'>0.88/1.86</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SimFuse-naive (no fusion)</td><td style='text-align: center; word-wrap: break-word;'>0.68/1.37</td><td style='text-align: center; word-wrap: break-word;'>0.97/2.05</td><td style='text-align: center; word-wrap: break-word;'>0.78/1.63</td><td style='text-align: center; word-wrap: break-word;'>1.15/2.40</td><td style='text-align: center; word-wrap: break-word;'>0.90/1.79</td><td style='text-align: center; word-wrap: break-word;'>0.90/1.85</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SILA [^1]</td><td style='text-align: center; word-wrap: break-word;'>0.70/1.39</td><td style='text-align: center; word-wrap: break-word;'>0.86/1.80</td><td style='text-align: center; word-wrap: break-word;'>0.86/1.82</td><td style='text-align: center; word-wrap: break-word;'>1.05/2.31</td><td style='text-align: center; word-wrap: break-word;'>0.99/2.07</td><td style='text-align: center; word-wrap: break-word;'>0.89/1.87</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SimFuse</td><td style='text-align: center; word-wrap: break-word;'>0.67/1.37</td><td style='text-align: center; word-wrap: break-word;'>0.96/2.04</td><td style='text-align: center; word-wrap: break-word;'>0.77/1.64</td><td style='text-align: center; word-wrap: break-word;'>1.15/2.41</td><td style='text-align: center; word-wrap: break-word;'>0.88/1.76</td><td style='text-align: center; word-wrap: break-word;'>0.88/1.84</td></tr></table>

<div style="text-align: center;">TABLE III</div>

<div style="text-align: center;">COMPARISON OF ASNSC-BASED ALGORITHMS' PERFORMANCE. DATA WAS COLLECTED AT INTERSECTION A AND EVENLY DISTRIBUTED ACROSS 35 AGENTS. ALL AGENTS LEARN FROM THE DISTRIBUTED DATA INDIVIDUALLY, ONE AGENT IS RANDOMLY PICKED AS EGO AGENT WHICH FUSES THE LEARNED MODELS FROM THE OTHER AGENTS AND UPDATES ITS MODEL. THE EGO AGENT'S PREDICTION ERROR WAS INITIALLY (ADE/FDE: 1.14/2.36). NOTE THAT IN TASNSC (BATCH SETTING), THE AGENT LEARNS FROM THE ENTIRE DATA. THE LOWER IS BETTER FOR ALL METRICS</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Algorithm</td><td style='text-align: center; word-wrap: break-word;'>1-step fusion time (s)</td><td style='text-align: center; word-wrap: break-word;'>total fusion time (s)</td><td style='text-align: center; word-wrap: break-word;'>number of fused edges in 1-step fusion</td><td style='text-align: center; word-wrap: break-word;'>ADE/FDE</td><td style='text-align: center; word-wrap: break-word;'>model size (motion primitives/transitions)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SILA</td><td style='text-align: center; word-wrap: break-word;'>0.001</td><td style='text-align: center; word-wrap: break-word;'>0.045</td><td style='text-align: center; word-wrap: break-word;'>24</td><td style='text-align: center; word-wrap: break-word;'>0.93/2.02</td><td style='text-align: center; word-wrap: break-word;'>103/176</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SimFuse</td><td style='text-align: center; word-wrap: break-word;'>0.0033</td><td style='text-align: center; word-wrap: break-word;'>0.0033</td><td style='text-align: center; word-wrap: break-word;'>82</td><td style='text-align: center; word-wrap: break-word;'>0.91/1.98</td><td style='text-align: center; word-wrap: break-word;'>68/99</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SimFuse-Naive</td><td style='text-align: center; word-wrap: break-word;'>NA</td><td style='text-align: center; word-wrap: break-word;'>NA</td><td style='text-align: center; word-wrap: break-word;'>NA</td><td style='text-align: center; word-wrap: break-word;'>0.83/1.81</td><td style='text-align: center; word-wrap: break-word;'>473/609</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TASNSC</td><td style='text-align: center; word-wrap: break-word;'>NA</td><td style='text-align: center; word-wrap: break-word;'>NA</td><td style='text-align: center; word-wrap: break-word;'>NA</td><td style='text-align: center; word-wrap: break-word;'>0.89/1.88</td><td style='text-align: center; word-wrap: break-word;'>36/120</td></tr></table>

实际应用中，每个匹配分量中的节点数远小于$N^i$，且在融合$N^i + 1$模型时，SILA通常比SimFuse需要更长的时间。为验证这一点，我们开展了一项实验：将在交叉口A采集到的848条轨迹划分为35个小批次，分别输入35个智能体，即每个智能体从29条轨迹中学习。表III对比了SILA和SimFuse在每个时间步的平均更新时间，以及一个智能体完成与其他34个智能体的模型更新所需的总时间。我们还计算了每个融合步骤中需要融合的平均边数。实验结果证实，每个时间步的更新时间几乎与融合边的数量成正比。例如，在本示例中，SimFuse与SILA的匹配边数量之比接近二者每时间步融合时间之比（$\approx$3.41 vs. $\approx$3.33），这验证了我们分析的正确性。需要注意的是，SILA必须对所有模型执行融合步骤，因此总体上需要长得多的时间才能得到最终的更新模型。为对比性能，我们使用各算法得到的最终更新模型对交叉口C的轨迹集（共167条轨迹）进行预测。结果表明，当智能体将自身模型与其他34个智能体融合后，初始预测精度最高可提升20%。尽管SimFuse-Naive在本实验中取得了最优性能，但由于不进行融合，它的模型体积增长速度非常快。

### G. 实验4：运动基元的分布式学习

在自组织通信场景中，全连通性假设往往不成立。智能体通过成对通信（每次仅与一个邻居通信）共享知识，这将参与模型融合的数量限制为两个。该方案本质上与SILA方法相似，仅在边松弛部分有小幅修改，本文将SILA扩展为可在自组织通信环境中运行的分布式解决方案。图5(a)展示了一项实验：共有5个智能体A-E，每个智能体分别探索路口A-E，它们的通信受下方所示连通图的约束，该连通图展示于

![Image](images/6e38fbf59b50e018280de33e0ed662e4b042ebb9c07fcd1f4b0c272782c06c94.jpg)

![Image](images/f0c09f6356539990c5b5f56065d9f6f53fc3442e4e3a7382334bfc45b89530cb.jpg)

![Image](images/88922b742a7317cd10888d46b9ce949149f9a743b247a4b444c7618d578981a9.jpg)

<div style="text-align: center;">Fig. 5. (a) A network of five agents (red stars) with ids:  $A-E$, which initially explored an intersections  $A-E$ (Table II) with the same order (e.g., agent A explores intersection A). (b) The trend of prediction error at new intersection corner (F), as each agent incrementally updates its model by communicating with its neighbors via pair-wise communication, resulting in a consensus after eight rounds of communication.</div>

图5(b)中。评估场景为路口F。我们假设当一个智能体与其某个邻居通信时，两个智能体会同时更新自身模型并达成共识。在该示例中，所有智能体经过8轮通信后收敛到相同的预测准确率。

### H. 相似度阈值的影响

我们研究了SimFuse中相似度阈值对预测误差（ADE）和模型大小的影响，其中模型大小定义为运动基元和转移的数量。随着相似度阈值升高，模型间匹配成功的运动基元数量减少，导致融合次数变少，最终模型尺寸增大。另一方面，降低阈值会增加融合次数，引发更多融合操作，这可能会得到预测误差更高的模型。图6展示了实验3所述路口场景实验中，当相似度阈值$\beta$

---

![Image](images/cc6e61c3c8c1257f2188f76b3abc45abc23b77877bb8a74721a6a22ef7fe23bc.jpg)

<div style="text-align: center;">Fig. 6. Selecting similarity threshold for intersection A experiment. Threshold  $\beta$ = 0.7 gives the best trade-off between the accuracy and error.</div>

从$\beta = 0.5$变化到$\beta = 1$（即几乎不进行融合）时的结果。配置为$\beta = 0.7$的SimFuse在模型大小和预测误差之间取得了最佳权衡。

### VI. 结论

我们针对一组智能体提出了一种多模型融合框架，该框架使智能体能够通过与其他智能体通信来更新自身的预测模型，并将自身模型与多个其他智能体共享的模型进行融合。研究结果证实，在交叉口场景的行人轨迹预测任务中，SimFuse的预测误差优于现有最优方法，同时与Naive方法相比，模型尺寸始终保持在足够小的水平。SimFuse并不局限于学习人类轨迹，它还可用于分析其他运动行为，例如骑行者和汽车的运动，相关拓展研究将留待未来开展。另一项未来研究方向是将SimFuse与SILA结合，使每个智能体能够在到达新环境时通过逐步探索环境、从数据中学习来更新自身模型。

## 参考文献

[^1]: G. Habibi, N. Jaipuria, and J. P. How, “Sila: An incremental learning approach for pedestrian trajectory prediction,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. Workshops, Jun. 2020, pp. 4411–4421.

[^2]: O. Shorinwa, J. Yu, T. Halsted, A. Koufos, and M. Schwager, “Distributed multi-target tracking for autonomous vehicle fleets,” in Proc. IEEE Int. Conf. Robot. Autom. (ICRA), 2020, pp. 3495–3501.

[^3]: C. Yu et al., “Distributed multiagent coordinated learning for autonomous driving in highways based on dynamic coordination graphs,” IEEE Trans. Intell. Transp. Syst., vol. 21, no. 2, pp. 735–748, Feb. 2020.

[^4]: Y. F. Chen, M. Liu, and J. P. How, “Augmented dictionary learning for motion prediction,” in Proc. IEEE Int. Conf. Robot. Automat., 2016, pp. 2527–2534.

[^5]: N. Jaipuria, G. Habibi, and J. P. How, “Learning in the curbside coordinate frame for a transferable pedestrian trajectory prediction model,” in Proc. 21st Int. Conf. Intell. Transp. Syst., 2018, pp. 3125–3131.

[^6]: A. Rudenko, L. Palmieri, M. Herman, K. M. Kitani, D. M. Gavrila, and K. O. Arras, “Human motion trajectory prediction: A survey,” Int. J. Robot. Res., vol. 39, no. 8, 2020.

[^7]: A. Mohamed, K. Qian, M. Elhoseiny, and C. Claude, “Social-STGCNN: A social spatio-temporal graph convolutional neural network for human trajectory prediction,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit., 2020, pp. 14424–14432.

[^8]: J. Amirian, J.-B. Hayet, and J. Pettré, “Social ways: Learning multi-modal distributions of pedestrian trajectories with gans,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. Workshops, 2019, doi: 10.1109/CVPRW.2019.00359.

[^9]: A. Gupta, J. Johnson, L. Fei-Fei, S. Savarese, and A. Alahi, “Social GAN: Socially acceptable trajectories with generative adversarial networks,” in Comput. Vis. Pattern Recognit., 2018.

[^10]: S. Pellegrini, A. Ess, K. Schindler, and L. Van Gool, “You’ll never walk alone: Modeling social behavior for multi-target tracking,” in Proc. IEEE 12th Int. Conf. Comput. Vis., 2009, pp. 261–268.

[^11]: J. Verbraeken, M. Wolting, J. Katzy, J. Kloppenburg, T. Verbelen, and J. S. Rellermeyer, “A survey on distributed machine learning,” ACM Comput. Surv. (CSUR), vol. 53, no. 2, pp. 1–33, 2020.

[^12]: S. Shalev-Shwartz, S. Shammah, and A. Shashua, “Safe, multi-agent, reinforcement learning for autonomous driving,” 2016, arXiv:1610.03295.

[^13]: P. Palanisamy, “Multi-agent connected autonomous driving using deep reinforcement learning,” in Proc. Int. Joint Conf. Neural Netw. (IJCNN), 2020, pp. 1–7.

[^14]: S. Bhalla, S. G. Subramanian, and M. Crowley, “Deep multi agent reinforcement learning for autonomous driving,” in Proc. Canadian Conf. Artif. Intell., vol. LNAI 12109, p. 17, Spring, Lecture Notes in Artificial Intelligence, Spring, Lecture Notes in Artificial Intelligence, 2020.

[^15]: Ø. Risan and E. Peytchev, “A vehicle to vehicle communication protocol for collaborative identification of urban traffic conditions,” in Proc. Int. Conf. Ad Hoc Netw., Springer, 2010, pp. 482–494.

[^16]: F. Arena and G. Pau, “An overview of vehicular communications,” Future Internet, vol. 11, no. 2, p. 27, 2019.

[^17]: M. H. Ahmadzadegan, H. A. Deilami, M. Izadyar, and H. Ghorbani, "Implementation and evaluation of the Impact of traffic congestion on the detection of the missing packets in vanet," in Proc. 3rd Int. Conf. I-SMAC (IoT in Social, Mobile, Analytics, and Cloud I-SMAC, 2019, pp. 169–172.

[^18]: R. Yee, E. Chan, B. Cheng, and G. Bansal, “Collaborative perception for automated vehicles leveraging vehicle-to-vehicle communications,” in Proc. IEEE Intell. Vehicle. Symp., 2018, pp. 1099–1106.

[^19]: H. Liu, P. Ren, S. Jain, M. Murad, M. Gruteser, and F. Bai, “Fusioneye: Perception sharing for connected vehicles and its bandwidth-accuracy trade-offs,” in Proc. 16th Annu. IEEE Int. Conf. Sens., Commun., Netw., 2019, pp. 1–9.

[^20]: T. P. Kucner, A. J. Lilienthal, M. Magnusson, L. Palmieri, and C. S. Swaminathan, Probabilistic Mapping of Spatial Motion Patterns for Mobile Robots. Berlin, Germany: Springer, 2020.

[^21]: D. Jia and D. Ngoduy, “Enhanced cooperative car-following traffic model with the combination of v2v and v2i communication,” Transp. Res. Part B: Methodological, vol. 90, 2016.

[^22]: S. Ubaru, A.-K. Seghouane, and Y. Saad, “Improving the incoherence of a learned dictionary via rank shrinkage,” Neural Comput., vol. 29, no. 1, pp. 263–285, 2017.

[^23]: J. Parsa, M. Sadeghi, M. Babaie-Zadeh, and C. Jutten, "Low mutual and average coherence dictionary learning using convex approximation," in Proc. IEEE Int. Conf. Acoust, Speech Signal Process. (ICASSP), 2020, pp. 3417–3421.

[^24]: K. Fathian, K. Khosoussi, Y. Tian, P. Lusk, and J. P. How, "Clear: A consistent lifting, embedding, and alignment rectification algorithm for multi-view data association," 2019, arXiv:1902.02256.

[^25]: H. Liu, Y.-S. Ong, X. Shen, and J. Cai, “When Gaussian process meets big data: A review of scalable GPS,” IEEE Trans. Neural Netw. Learn. Syst., vol. 31, no. 11, pp. 4405–4423, Nov. 2020.

[^26]: E. Snelson and Z. Ghahramani, “Sparse Gaussian processes using pseudo-inputs,” in Proc. Adv. Neural Inf. Process. Syst., 2006, pp. 1257–1264.

[^27]: Y. Huang, H. Bi, Z. Li, T. Mao, and Z. Wang, “Stgat: modeling Spatial-Temporal interactions for human trajectory prediction,” in Proc. Int. Conf. Comput. Vis., 2019, pp. 6271–6280.

[^28]: J. Li, H. Ma, and M. Tomizuka, “Conditional generative neural system for probabilistic trajectory prediction,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS), 2019, pp. 6150–6156.

[^29]: L. Zhang, Q. She, and P. Guo, “Stochastic trajectory prediction with social graph network,” 2019, arXiv:1907.10233.

[^30]: V. Kosaraju, A. Sadeghian, R. Martín-Martín, I. Reid, H. Rezatofighi, and S. Savarese, “Social-bigat: Multimodal trajectory forecasting using bicycle-gan and graph attention networks,” in Proc. Adv. Neural Inf. Process. Syst., 2019, pp. 137–146.

[^31]: A. Lerner, Y. Chrysanthou, and D. Lischinski, “Crowds by Example,” in Computer graphics forum, vol. 26, pp. 655–664, Wiley Online Library, 2007.

[^32]: J. Miller and J. P. How, “Predictive positioning and quality of service ride sharing for campus mobility on demand systems,” in Proc. Int. Conf. Robot. Automat., 2017, pp. 1402–1408.
