2019杭州云栖大会上,高德地图技术团队向与会者分享了包括视觉与机器智能、路线规划、场景化/精细化定位时空数据应用、亿级流量架构演进等多个出行技术领域的热门话题。现场火爆,听众反响强烈。咱们把其中的优秀演讲内容整理成文并陆续发布出来,本文为其中一篇。算法
阿里巴巴高级地图技术专家方兴在高德技术专场作了题为向场景化、精细化演进的定位技术的演讲,主要分享了高德在提高定位精度方面的探索和实践,本文根据现场内容整理而成(在不影响原意的状况下对文字略做编辑),更多定位技术的实现细节请关注后续系列文章。数据库
如下为方兴演讲内容的简版实录:网络
用户天天会大量使用定位服务,好比看新闻、打车、订外卖,甚至是购物,首先都是要得到位置信息,有了更精准的位置信息,才可能得到更好的服务体验。架构
高德地图有超过1亿的日活用户,可是使用定位的有好几个亿,天天的定位请求数量有一千亿次。如此大的数据量,高德定位服务能够保持毫秒级的响应速度,咱们在这里面作了不少工做。此外,咱们还提供全场景的定位能力,无论为手机、车机仍是任何厂家,都能提供位置服务。机器学习
我今天从四个方面介绍,分别是:学习
定位面临的挑战大数据
高德地图全场景定位优化
分场景提高定位精度编码
将来机遇3d
定位面临的挑战
你们可能都知道GPS,GPS在大部分状况下能够提供很好的精度,可是对于某些场景仍是不够,好比驾车,GPS给出的精度大概是10米,若是仅靠GPS定位甚至没法区分出在马路的哪一侧。
第二个场景是在室内,室内收不到GPS信号,这样的场景下如何实现比较准确的定位?第三个场景是如何在精度和成本之间取得平衡,由于不可能为了追求一个很好的精度去无限投入成本。只有经过海量大数据挖掘,算法和数据质量的提高,达到效果的持续优化,才能达到最终对各类场景的全覆盖。
有不少技术能够选择,除了GPS定位,还有基于网络定位、Wifi基站,原理就是经过扫描到的Wifi和基站列表、信号强度,进行数据库查找,找到Wifi位置,定位。
除此以外还有惯性导航定位,惯性导航是一种相对定位的方式,能够不断计算跟上次定位的偏移量,有了初始定位以后,根据连续计算能够得到最终的位置。
还有根据地图匹配定位,好比GPS的点落在一个湖里,显然是有问题的,能够经过地图匹配,找到最近的一条路,这时候精度就获得了提高。
还有一些定位方式最近几年变得很热门,例如视觉、雷达、激光,自动驾驶的概念推进了这些技术的发展,这些方式各有各的定位精度和差别性。例如视觉,在实践中每每须要大量计算和存储的开销。
不少时候,仍是要基于Wifi的定位,得到初始定位,而后在不一样场景下不断的优化,经过不一样的数据源提高精度。
高德地图如何实现全场景定位
高德主要分为两个业务场景,手机和车机。在手机上主要是GPS+网络定位。驾车的场景下,咱们还会作一些根据地图的匹配,实现对特殊道路的支持。
以往,不少用户会反馈说会遇到GPS信号很差,致使没法定位、没法导航的情形。约有60%的状况是由于用户位于地下停车场或者在隧道里,约30%的状况是附近有严重的遮挡,好比在高架桥下,或者在很高的高楼旁。这些都会形成对GPS比较严重的遮挡。
咱们打电话的时候,链接的基站可能就在一千米范围内,这样短的距离传输信号还时常会出现信号中断,若是GPS信号距离两万多米的高度,出现问题的可能性仍是存在的。因此必须经过其余方式,例如地图匹配或者惯性导航来对GPS进行补充。
在室内的场景,须要解决的是如何去挖掘Wifi基站的位置,提高精度。
在车机的场景,咱们会结合更多来自于汽车的数据输入来帮助咱们。
定位的基础能力
数据闭环完成之后,就是一个正向的反馈,数据越多,训练结果越多,定位结果就越准确,从而吸引更多的用户来使用(产生数据)。这就是经过数据挖掘,不断提高精度的闭环。
算法部分,咱们也通过了不断的迭代。最先是基于经典的聚类模型,就是扫描基站Wifi列表,聚类之后选择其中一处做为个人位置,这个方法效率比较高,很快能够获得结果,可是精度不好。
第二步,咱们把空间进行了精细的划分,在每一个网格内统计一些基础的特征,好比历史上的点定位的数量、定位的次数、Wifi的数量等等,计算出一个网格的打分,再对网格进行排序,最后你的定位点就是这个网格。经过这种方法,30米精度的占比提高了15%。
这种方法也有局限性,人工调参带来的收益是有限的,调到必定程度就没办法再提高了。因此,第三步就是把机器学习算法引入这个过程,利用监督的学习提高到最佳的模型和参数,这样能够在特定场景下得到显著提高。主要的场景就是解决大偏差的Case。
一个比较典型的问题就是,扫描到的基站Wifi可能只有一个基站、一个Wifi,没有别的信息了。这个基站Wifi又离的特别远,不管选择基站仍是Wifi,都有50%的几率是算错了。有监督学习,就能够把海量的配送拿出来,精细化的挖掘细微的差别,达到全局最优的效果,在某一状况下选基站,某一状况下选Wifi。把犯错的比例下降了50%。
这个方法最大的挑战并非在算法,而是算法效果和工程上的可实现性,如何可以达到最优。高德天天有上千亿次的调用,延时要在10毫秒之内。
咱们作了三个方面的优化,第一是分级排序。把定位过程变成一个显微镜步骤,先作一个很粗略的定位,而后逐步收敛到很精确的位置。粗略定位的时候能够用很大的网格,用不多的特征,快速过滤掉一些不可能的位置。
而后,在很精细的网格里,用更多的特征、更多的网格进行排序。经过这种方法,就能够极大提高计算的效率,把一些没必要要的计算过滤掉。
第二是模型简化。虽然深度学习的效果很好,可是不可能在线上用很复杂的模型,咱们经过减小层数和节点数,把浮点数精度下降。
第三是特征压缩。这里面有特点的一点是咱们根据模型进行的压缩,原始特征的输入的数量是很大的,咱们增长一个编码层,输入的特征通过编码层之后,只输出两个字节的特征。咱们把在线、离线的数据处理好之后,最后在线只存储两个字节。经过这种方法,在线特征的数据量下降了10倍,下降到1个TB之内。以上是解决的几个主要问题。
不一样场景下的精度提高
在室内场景,常常会定位到室外去,这跟刚才介绍的序列流程是有关系的,由于采集过程更大几率是在室外,序列后的Wifi位置都在马路上,因此定位最后的几率也是在马路上,可是这对用户体验是不好的。好比打车,可能在室内叫车,定位在对面的马路上,但这条马路多是不对的,须要找到我在哪一个楼里,离哪一个道路比较近。
怎么解决这个问题?一种方法是经过数据采集,就是在室内进行人工的采集,使训练数据的数据分布跟实际的预测数据分布保持一致,这种方法固然精度比较好,可是主要缺陷是成本很是高,目前也只是在热门商场和交通枢纽进行这样的数据采集,这确定不是一个可扩展的方法。
咱们的方法是想经过引入更多的数据优化定位过程。若是能基于地图数据挖掘出Wifi和POI的关系,就能够用数据关联提高精度。好比扫到一个Wifi,名字叫KFC,有一个可能就是你在肯德基里,这个方法比较简单。实际用的方法会更加复杂。
在线的时候须要知道用户何时在室内,何时在室外。咱们用的是利用信号强度特征作区分的算法,在室内室外扫描到的Wifi列表和强度会有很大差异,经过这个差异能够训练出模型。绿色的点预测为室内的点,蓝色的点是室外的点。经过这种方法,定位精度提高了15%。
驾车场景,导航过程当中可能会遇到的常见问题。第一个问题是没法定位,开到停车场或者有遮挡的地方,第二个场景是点会有漂移,由于GPS受到建筑或者其余遮挡的时候,会产生精度降低的状况。第三种状况是没法区分主路,可能会错过路口。
对于以上问题,咱们采用的是“软+硬”融合定位,软的部分包括两部分,一个是基于移动定位,第二个是根据地图匹配。通过两个“软+硬”结合以后,咱们在GPS 10米精度作到90%以上,能够实现高架主路和停车场的持续导航。
这里面关键的就是如何实现融合定位,比较有特点的一点就是咱们作车机的传感器模块是低成本的,成本不到100元,其余相似产品成本是比较高的,可能须要几千块钱。使用低成本的器件,可以更容易获得普及。缺点是精度比较差,定位准确性差一些。要经过软件的方法弥补硬件上的缺点。
这里面有三个特色,第一,参数动态标定,不须要对器件有初始的标的,咱们经过三维的计算出方向,用地图匹配反馈。关于地图匹配的部分,核心是咱们利用HMM的算法进行位置的匹配,推算每一个点的道路。这里面比较关键的几率,一个是发射几率,一个是位置转移几率。
第二,咱们把角度也考虑进来,角度的变化一样用于决策转移几率,这里面跟位置转移几率的区别就是引入了速度作变量,不一样的速度下,发生转角的几率是不同的,速度慢了可能会转向,速度快也可能转向,因此咱们针对每一个速率都有一个曲线。
高精定位方面,高德主要创建两种定位能力,一种是基于图像定位,一种是基于融合定位。图像定位是只用图像就能够造成比较好的分米级精度,融合定位主要是引入了两个新的定位技术,一个是VSLAM,一个是差分GPS。这两个方法分别应用于有GPS和没有GPS的状况,能够提供很好的精度。VSLAM能够作到偏差很小,由于能够有图像的方法进行修正。
自动驾驶是一个方向,而且须要从辅助驾驶过渡到自动驾驶,但系统性变化到来以前会有阶段性的变化,就是服务于人的导航服务的精细化,即车道级导航。车道级导航须要高精地图,至少是分米级的精度。
对将来定位技术发展的理解。基础能力部分,咱们认为5G的出现会为定位提供一种新的可能性,由于5G的频率比4G更高,波长会更短。它能够测距,之前基于基站和Wifi的定位都是基于信号强度的。可是5G支持了测距之后,它就能够提供一个很好的精度,因此可能会出现一种方式,基于5G的定位能够达到相似GPS的效果。
因此,将来10年内,咱们可能会看到这几种方式相互融合,精度会获得质的改变。以上就是我介绍的内容,谢谢你们!