返回列表

8th place solution

435. Indoor Location & Navigation | indoor-location-navigation

开始: 2021-01-28 结束: 2021-05-17 共享出行与停车 数据算法赛
第8名解决方案

第8名解决方案

作者:Michał Stolarczyk
原文发布时间:2021-05-18

绝对位置模型

我的基础模型使用 WiFi 和信标事件来预测单个时间戳的绝对位置。它使用了来自 2 个最近的 WiFi 事件块中 RSSI 值最高的 50 个事件,以及 10 个最近的信标事件。事件按 rssi 排序。

我在所有站点上训练了一个模型。我使用了两个双向 LSTM —— 一个基于 WiFi BSSID 的嵌入向量加上与每个 WiFi 事件相关的一些数值特征,另一个基于 beacon_id 的嵌入向量加上与每个信标事件相关的一些数值特征。模型还使用了连接的 sitefloor 的嵌入向量。

我认为这个模型最大的改进是在我开始对训练数据集中的航点进行插值之后。我最好的模型是在每 1 秒插值一次的航点上训练的。

相对位置模型

我还训练了一个模型,该模型根据传感器数据预测智能手机的相对位置。它基于 1 秒的传感器数据(50 个时间戳)预测两个数字(deltaX, deltaY)。我使用卡尔曼平滑器来获取该模型的目标值。这是一个基于原始事件的简单 1D-CNN 模型。

该模型的预测结果经过插值,以近似两个连续航点之间的位置差异。其 RMSE 达到了约 2.0。

后处理

我后处理的第一步受到了 @saitodevel01 的精彩笔记本 indoor - Post-processing by Cost Minimization 的启发。

我假设模型的预测具有以下分布:

$$(\hat{X_i}, \hat{Y_i}) | (X_i, Y_i) \sim N_2((X_i, Y_i), \sigma_1^2 I_2)$$
以及
$$(\hat{\Delta X_i}, \hat{\Delta Y_i}) | (X_{i+1}, Y_{i+1}, X_i, Y_i) \sim N_2( (X_{i+1}, Y_{i+1}) - (X_i, Y_i), \sigma_2^2 I_2) $$
并且所有对 \( (X_i, Y_i) \) 均匀分布在建筑物的走廊中,其中:

\( (X_i, Y_i) \) 是时间戳 \( i \) 的真实位置,\( (\hat{X_i}, \hat{Y_i}) \) 是绝对模型的预测值,\( (\hat{\Delta X_i}, \hat{\Delta Y_i}) \) 是相对模型的预测值,而 \( \sigma_1, \sigma_2 \) 分别是绝对模型和相对模型的 RMSE。

经过数学推导,结果表明向量 \( (X_1, Y_1, …, X_n, Y_n) \) 具有截断多元正态分布,其均值和协方差矩阵易于计算。截断的方式是使每一对 \( (X_i, Y_i) \) 都位于建筑物的走廊内。

我实现了一种类似于吉布斯采样的迭代方法,从该分布中采样路径。在每次迭代中,它使用以此为条件的非截断正态分布对 \( (X_i, Y_i) \) 对进行采样,基于迄今为止采样的所有其他对,直到它采样到走廊内的一个点或达到给定的尝试限制。对于每条路径,我抽取 500 个样本并取最后 200 个样本的平均值。

该方法还允许利用设备 ID 泄露,方法是将泄露时间戳的 \( \sigma_1 \) 设置为某个较小的值。

如果不截断到走廊,该方法的性能与成本最小化笔记本相似——实际上我认为它们几乎是等效的。添加地图信息使我的公共 LB 分数提高了约 0.3。

我后处理的第二步是标准的“吸附到网格”,没有任何额外的航点。

评估指标

方法 Private LB Public LB
最佳绝对位置模型 5.36934 4.90242
4个绝对位置模型集成 5.30067 4.88062
上述方法 + 设备ID泄露 + 采样后处理 3.33887 3.00037
上述方法 + 吸附到网格 3.07282 2.64846