2022年的谷歌智能手机分米级定位比赛(Google Smartphone Decimeter Challenge (SDC) ),是该比赛举办的第二届。本次比赛是与美国导航协会联合(Institute of Navigation (ION))举办,并且获胜者的论文已被收录到2022 ION论文集里。
笔者也一直关注着这个比赛,作为为数不多的GNSS比赛(印象里好像是唯一的一个),谷歌确实给GNSSer一个更好的展示自己算法水平的机会,更是提供了一个大家相互交流的平台。
本文将介绍该大赛的一些基本情况,并对今年获奖的一些技术进行分析。感兴趣的小伙伴也可以去阅读top3的ION论文或者文章末尾的参考链接。
简单总结就是,谷歌发布了一套手机采集的数据,GNSSer可以下载然后优化算法,并将结果上传到指定网站上,使用统一的规则进行打分评判。
这样就可以防止现在的论文自说自话的情况,都说自己的算法提升了很多,但是程序不开源,数据不开源,没有太大说服力。
同时kaggle还有讨论区,大家可以交流各自使用的方法,相当于为全球对GNSS感兴趣的同学建立了一个平台,同时对该定位比赛感兴趣的不仅仅是GNSS领域的同学,不同领域更能带来新的技术创新,更进一步挖掘GNSS算法潜力。
2021和2022年共有1381支队伍参加了比赛,虽然可能有很大一批人就是注册了账号划了一次水。比如像笔者,也花了两天时间,使用python和rtklib将所有数据跑了一遍,然后也将结果提交到了kaggle上,得到了一个吊尾的成绩。
截至发稿,kaggle网站得分情况排名中,得分3.0的队伍数目超过了100支,至少这100支队伍还是比笔者要认真的,我的结果正好掉出了前100。
个人还是比较建议感兴趣的同学参加,尤其是在校研究生,专注自己课题的同时,也可以作为业余爱好。如果能得到top10的好成绩,我相信在择业过程中也是加分项。
1st Place Winner of the Smartphone Decimeter Challenge: Two-Step Optimization of Velocity and Position Using Smartphone’s Carrier Phase Observations
第一的获得者使用了两步图优化,分别进行速度和位置的估计。
整体流程如下图所示,其中两个绿色框中的,即两次图优化的流程。
第一次图优化为了计算得到每个位置的速度。其输入为doppler和星历数据。
以上图速度优化为例,简单介绍什么是图优化。不同于卡拉曼滤波,一般是一个正向递推的过程,图优化则是将所有的状态以及观测量统一进行平差处理,就是一个维数比较大的最小二乘。
上图中每个历元均有一个3维速度,那么n个历元就有3*n个速度状态量,相邻状态量之间存在相关性,可以构建观测方程。
比如如果我们假定1-3历元是常加速运动,那么就有
v3-v2=v2-v1
同时每个历元的状态量还有相关的doppler观测,构建相应的观测方程。
图优化在SLAM中使用较多。
第二次图优化则会利用已计算得到的速度计算相邻位置状态的约束,联合双差伪距,统一进行优化。其输入为双差伪距、第一步的速度信息,以及历元载波变化量。
历元差分载波(TDCP)对位置变化量的约束更加强大,在载波可用时,同时会增加该优化因子。
经过两次的图优化,使得作者获得了第一名。
2nd Place Winner of the Smartphone Decimeter Challenge: Improving Smartphone GNSS Positioning Using Gradient Descent Method
第二名也是使用图优化进行全局的定位优化。只是在一些观测方程或者约束选择上存在一定的差异,在此不再展开。
但除了使用图优化,作者还使用了深度学习的方法,将定位误差与载体的朝向、速度、加速度,以及与基准站的距离和手机型号进行相关性分析,得到点位的矫正模型。
从实验结果来看,是存在提升的。在2021年的比赛中,一些小组并未使用GNSS技术,而是直接采用机器学习的方法来参加比赛,也取得了不错的成绩。
笔者在机器学习方面没有太多经验,但除了论文中提到的一些分析方向,我感觉DOP值、卫星数、或者信噪比与定位误差也会存在一定的相关性。
3rd Place Winner: 2022 Smartphone Decimeter Challenge: An RTKLIB Open-Source Based Solution
第三名的获得者就是rtklibexplorer的开发者。他是基于rtklib深度修改的算法代码进行参赛,使用GNSS传统的PPK技术进行定位,PPK(post-processing kinematic)即后处理RTK,与RTK最大的区别就是,PPK采用正反向kalman滤波,即RTK是前向kalman滤波,适合实时进行。后向kalman滤波就是从最后一个历元开始到最后一个历元结束。最后将前后向滤波结果相融合,可以极大的提升定位精度。国内的GNSS服务商也基本都提供PPK服务,注意对标产品为IE软件。
PPK技术细节不做展开,仅列举论文中所提到的一些优化细节。
基本上优化都是围绕粗差剔除以及观测值噪声设置等方向,算法工作的核心就是给予每个观测量合理的方差信息。
有时会将代码 或者资源放在个人公众号上,有问题,在公众号后台回复,也回答的比较快一些,欢迎关注 GNSS和自动驾驶
gps world 杂志对该比赛的总结 Smart ways to improve smartphone location accuracy - GPS World : GPS World
kaggle 2022比赛链接 Google Smartphone Decimeter Challenge 2022 | Kaggle
相关论文
1st Place Winner of the Smartphone Decimeter Challenge: Two-Step Optimization of Velocity and Position Using Smartphone’s Carrier Phase Observations
2nd Place Winner of the Smartphone Decimeter Challenge: Improving Smartphone GNSS Positioning Using Gradient Descent Method
3rd Place Winner: 2022 Smartphone Decimeter Challenge: An RTKLIB Open-Source Based Solution