返回列表

10th place solution

447. Google Smartphone Decimeter Challenge | google-smartphone-decimeter-challenge

开始: 2021-05-12 结束: 2021-08-04 自动驾驶感知 数据算法赛
第10名解决方案

第10名解决方案

作者:Fumihiro Kaneko

感谢 Kaggle 和主办方举办了一场精彩的比赛。

概述

  • 预测噪声,噪声 = 真实值 - 基线,类似于计算机视觉中的去噪任务。
  • 使用速度 latDeg(t + dt) - latDeg(t)/dt 作为输入,而不是绝对位置,以防止模型在训练数据集上过拟合。
  • 利用短时傅里叶变换(STFT)生成 2D 图像输入,然后使用 ImageNet 卷积神经网络。

pipeline

best_vs_host_baseline

STFT 和卷积网络部分

  • 输入:使用 librosa 为 latDeg 和 lngDeg 的速度生成 STFT。
    • 每个手机序列被分割成 256 秒的序列,然后使用 n_tft=256hop_length=1win_length=16 进行 STFT,结果为每个度数生成 (256, 127, 2) 的特征。以下 2D 图像由 1D 序列生成。

stft_images

  • 模型:回归和分割

    • 回归:EfficientNet B3,预测 latDeg 和 lngDeg 噪声。
    • 分割:带有 EfficientNet 编码器的 Unet++ (segmentation pytorch),预测 STFT 噪声。

      • 分割预测 + 输入 STFT -> 逆 STFT -> latDeg 和 lngDeg 速度的预测
      • 该速度预测用于:

        1. 低速掩码:低速区域的点被替换为其中位数。
        2. 速度不一致掩码:如果来自位置预测的速度与此速度预测差异很大,则移除这些点并进行插值。
      • 分割预测示例。

        conv_segmentation_result
        conv_segmentation_result_2

LightGBM 部分

  • 输入:排除磁场特征的 IMU 数据
    • 同时排除 y 轴加速度和 z 轴陀螺仪数据,因为受手机安装条件影响。
    • 添加移动平均作为附加特征,window_size=5, 15, 45
  • 预测 latDeg 和 lngDeg 噪声。

公开后处理部分

公开笔记本中有一些不错且有效的后处理(PP)方法。我使用了以下笔记本。感谢所有作者。

同比赛其他方案