502. Google Smartphone Decimeter Challenge 2022 | smartphone-decimeter-2022
感谢主办方以及所有参与并为这场非常有趣且充满挑战的竞赛做出贡献的人。我非常期待阅读金牌团队的方案分享。从下文你将了解到,我主要集中精力首先让RTKLIB为我所用,其次是在此基础上添加多层后处理。
Carrier Smoothing + Robust WLS + Kalman Smoother
Public得分 2.964,Private得分 3.462
请注意,我显然将其过拟合到了公共榜单,因为我的版本在私有集上的表现比原始版本差。
后续步骤按逻辑顺序而非时间顺序列出。
@timeverett 提供了一个笔记本 Getting Started with RTKLIB,给出了安装RTKLIB的详细说明。从引用的LB分数来看,这在公共LB上提供了接近0.3米的提升,在私有集上提供了超过1.0米的提升,这比我工作流程中其他步骤的累积效果都要好。尽管如此,让软件在我的Windows环境中正确运行并非易事。我的大部分问题源于代码不兼容Windows路径。我最初的问题是我试图从名称中带有空格的Windows文件夹运行代码(空格源于我的用户名格式),这引发了错误。因此,我创建了第二个实例,这次是在名称中没有空格的文件夹中。Python代码需要明确告知Windows路径。因此,在 @timeverett 笔记本定义的过程的第4步(在我的命名法中是步骤1的第4步——抱歉!),我修改了Python代码以正确的操作系统格式显式添加所需的路径。经过三天的努力,我终于让代码正确运行了。
Public得分 2.682,Private得分 2.189
由 @saitodevel01 编写的优秀笔记本(针对2021年上一届GSDC竞赛)GSDC - Bias EDA 和 GSDC - Bias Correction,展示了手机和驾驶员在车内的位置如何在前后和左右方向上造成记录位置与实际位置之间的偏差。
概括来说,手机放置在前挡风玻璃附近,因此对位于汽车前方的卫星有更好的视线,而对位于汽车后方的卫星信号视线可能会受损。同样,驾驶员坐在手机的左侧(这些数据来自美国),可能会阻挡来自左侧卫星的信号,而右侧的信号通讯应该更好。这预计会导致人为误差,使手机定位过于靠前和靠右;因此,预期的校正会将手机向后和向左移动。
我分析了 @saitodevel01 在2021年竞赛中的工作,这里有一个示例图,显示了 @saitodevel01 的纬度校正值与汽车当前方向与正北之间夹角的余弦关系:

经度的相应图表在形式上大致相似。我的简化是将椭圆视为我想要建模的信号,并忽略所有其他点。这导致了对这些偏差的恒定“杠杆臂”类型校正,我将其表示为汽车在任何时间步长所指方向的简单三角函数。因此,我可以计算每个预测位置的纬度和经度校正值。
我对先前工作的分析表明,预测的统一通用校正为:
从前到后 40 厘米;从右到左 27 厘米。
我将这些校正添加到最初预测的纬度和经度中,以生成试用的后处理提交。然而,一些试错表明,最好的公共LB分数来自于稍大的前后校正,大约是先前建议的1.3倍。这相当于大约52厘米的前后校正。
对于左右校正,令人惊讶的是,最好的实证公共LB结果来自于大约8厘米的从左到右的小校正,这与直觉相反。然而,为了简单起见,我将这个通用的左右校正设置为零。
Public得分 2.595,Private得分 2.158
考虑到可能的相关影响,我开始思考偏差校正是否可能取决于手机型号。对此有多种可能的解释。可能是手机硬件或软件的某些方面,或者是实验中使用的个别设备的某些怪癖,意味着某些手机比其他手机更能通过受损的视线或大气或环境干扰与卫星通信。因此,校正值可能因手机而异。或者,如果每部手机在车内都有指定的支架或位置,其结果可能会受到与该位置相关的视线和/或杠杆臂校正误差的影响。例如,一个手机支架可能比另一个支架有更好的向后或向左的视野,这取决于驾驶员、座椅或实验设备阻挡视线的程度。这似乎值得研究,因此使用训练集数据进行了简要分析,结果如下: