首页 人工智能

百度地图ETA算法推荐:一场算法和道路信息之间的斗智斗勇

AI的浪潮势不可挡,在无数大众最熟悉的生活场景中,其实蕴含着许多未被发现的秘密。这些“深藏功与名”的AI技术,在最基础的功能背后,却演绎着数据和算法最动人的一面。百度地图将通过揭秘黑科技一系列专题,讲讲地图日常功能背后的技术。

本期内容将为你展示地图导航中,算法与千变万化的道路信息之间的“斗智斗勇”,如何对地图中常规的路线规划进行改造,让“未来出行”成为可能。

所谓路线规划就是“两点之间直线最短”的简单明了吗?——天真。

要知地图产品在为用户规划路线时,那可是一场人类与复杂算法、道路信息之间的斗智斗勇。百度地图的算法工程师们,不仅要面对瞬息万变的路况信息,还要应对各种各样“意料之外情理之中”的干扰。所以如何综合利用好各类信息,快速提供准确有效的出行方案,就成了“路线规划”要解决的切实问题。

小王是一个在北京西二旗工作的资深“码农”,虽是地道的北京人但因为多年摇不上号只好暂时上了外地牌照。由于五环在工作日早晚高峰期禁止外地牌照车辆行驶,小王上下班通常会绕开五环或者早早出发躲避限行。周一早上,公司组织集体去西五环附近的北京园博园参加活动。早上8点40多,大家都准备从公司出发了,因为此时五环还是限行状态,不少人凭着习惯绕路上了六环。小王打开百度地图查路线,导航却提醒他:再等5分钟后出发,就可以避开限行时间直接走五环。既能节省时间和油费,还不会违章。最终小王虽然多等了5分钟,却比其他人早到20分钟,还少走了一半路程。

百度地图路线规划示意图

“多等5分钟少走半程路”的背后是一整套路线规划的复杂流程,算法为用户规划路线时,通常要经过路线规划、特征提取、路线筛选和路线排序四个步骤。如今用户的要求越来越高,仅仅是“当前时刻”的路线规划已经很难满足实际需求,但目前大部分地图导航还无法结合实际情况推荐出发时间和路线,导致用户常常白费了大量时间。百度地图这种通过预估未来交通状况并提供躲避拥堵、限行路线的方式,成了受欢迎的新趋势。换句话说,有了百度地图,人们出门前临时查找路线,却发现一路飙红“无路可走”的年代很快就要翻篇儿了。

那么,百度地图是如何改造路线规划的四个步骤,满足用户智能化出行需求的呢?

第一步 针对时间规划路线

为了实现根据时间推演进行路线规划,常用做法是将连续的时间点分散成多个时刻,在每一个时刻都生成一套权值,并在路线搜索过程中恰当切换不同权值,从而实现针对时间进行路线规划。在算法选择上,一般要考虑预处理时间、在线计算性能、路线效果等要素。A*算法和CRP算法(基于剖分的路线规划算法)由于预处理时间较短、数据较小,天然具有快速编译及生效的优点,是面对此类问题的主流选择。

第二步 基于海量数据合理预测

有了完整的路线数据后,可以获得更加精确的预计到达时间,这也是算法进行后续决策的基础。由于预计到达时间与路况息息相关,二者都有着丰富的历史数据作为参考,在进行未来时间预估时,算法可以根据历史数据和当前道路状态合理预测,从而保障路线规划的准确和智能。

第三步 借助通行规范筛选路线

路线筛选主要结合预计到达时间和用户车牌号,通过限行、交规、封路等通行规范,筛选出符合车辆需求的合理路线。百度地图在路线筛选环节已经做到了秒级生效,而利用精准的预计到达时间,则能为用户提供更多选择,例如是否立即出发,还是等一段时间避开限行再出发。

第四步 “为用户着想”的路线排序

在向用户推荐3条最优路线时,需要引入对未来路线状态的判断,但随之也带来了新的难题,例如上文中提到的“外地牌照如何走五环”和各种突发情况。

面对“即刻出发但要绕行的六环”和“等几分钟再出发的五环”该如何选择?百度地图一方面通过“常规路线”,即大部分用户选择的路线或用户自身曾走过的路线,过滤掉没有意义的绕行。另一方面,通过衡量不同路线的代价综合筛选。因为每个人对时间代价、距离代价的感受不同,意味着每条路线背后的算法模型,都在逐渐被“主人”养成个性化推荐,通过用户以往的驾驶行为和操作偏好,推荐更适合路线。

当路上遇到突发情况导致预计到达时间不准,可能引起用户违章时,算法往往会做“最坏的假设”。举个例子,早上六点半一辆外地牌照的汽车行驶在北京的五环上时,一场交通事故导致了大面积堵车。这时路线规划将考虑到这一点,对于那些不能帮用户在规定时间内驶离五环的路线慎重考虑,排序中可能会放到更靠后的位置。并在导航过程中,不断检测前方通行状况判断用户是否有违规风险,并通过语音、图像提醒指引更合理的路线。

在这场算法跟道路信息之间的斗智斗勇中,百度地图不仅能处理好纷繁复杂的各类信息,还能让它们“为我所用”,以这些信息为指标提供最优的出行选择。当“未来时刻”成为用户越来越重视的核心要素之一,更智能化的导航规划也将成为未来趋势。

以下为整理的百度地图ETA算法推荐

一个路线规划的请求,一般要经过几个步骤

1、路线规划,根据用户的起终点、偏好、车牌等信息,进行路线规划

2、特征提取,获取当前路线的所有特征,为后续的路线筛选、排序做准备,这里的特征主要是指通行时间、道路拥堵情况等路线信息

3、路线筛选,根据当前时刻所生效的限行、交规、封路等信息,将不符合通行规范的路线进行剔除

4、路线排序,针对所有合理的路线,根据模型进行智能排序,挑出当前最优的3条路

随着用户对智能化出行的要求越来越高,以上步骤中的“当前时刻”已经很难满足用户对于智能化出行的要求,“未来时刻”成了用户越来越重视的核心要素之一,这正是导航智能化最集中的体现。

所谓“未来时刻”,是要把用户这次导航过程中可能遇到的事情都尽量考虑到,因为很多信息是动态变化的,例如道路的拥堵程度,其实是会随着时间的变化有一定变化规律的,再例如现实世界中的各种限行规则,是有着明确的限制区域和限制时间的,如何综合利用这些信息去为用户提供最优的出行选择,是路线规划服务最核心的内容,那么我们看下如何对以上步骤进行改造来完成用户智能化出行的需求。

1、路线规划

对于路线规划的要求是,可以根据时间的推演进行路线规划,不再是仅仅考虑当前时刻。由于路线规划的原理是在一张带权有向图上搜索最优(或次优)路线,常用的做法是将连续的时间点离散成多个时刻,从而在每一个时刻都生成一套权值,并在路线搜索过程中恰当的切换不同的权值,从而实现针对时间进行路线规划。

针对路线规划算法的选择,一般要考虑的有要素有预处理时间、在线计算性能、路线效果等,CH路线规划算法,由于预处理时间过长,面对多套权值同时编译,难以胜任此类需求;A*算法和CRP算法具有较短的预处理时间和较小的预处理数据,天然具有快速编译及生效的优点,是面对此类问题的主流选择。

2、特征提取

此时由于已经有了完整的路线数据,可以获得更加精确的ETA(Estimated Time of Arrival,即预计到达时间)信息,ETA信息是进行后续决策的基础,估时的准确性直接影响了用户对产品的体验。ETA信息与路况信息息息相关,二者都有着丰富的历史数据,从而可以根据不同时刻的统计数据和当前的路网状态进行合理预测,从而进一步提升路线规划的智能化体验。

3、路线筛选

对于路线筛选的要求是,需要结合实时ETA数据与用户的个人信息(主要是车牌信息),对路线上的限行、交规、封路等与时间相关的要素进行精确判断,从而筛选出符合用户所设置车辆的合理路线。那么这里有一个问题是,既然路线规划环节已经对即将发生的限制类通行信息进行了应用,路线筛选的意义何在?主要是由于以下两个原因:

(1)时效性方面,路线筛选环节可以做到秒级的生效,时效性上路线规划,能够更加严格的控制产出路线的合理性;

(2)可以利用精准的ETA数据,为用户提供更多的选择,例如是否立即出发,还是进行一定时间的等待再出发。

4、路线排序

此步骤的主要目的是将用户最有可能选择的3条路选出,区别于传统的路线排序方法,这里需要引入对未来路线状态的判断,而这个变动又会带来新的难题,例如:

(1)面对一条等待一段时间出发的路线和另一条即刻出发但是需要额外绕行的路线如何选择

①如果选择了绕行路线,怎么保证这条路线是合理绕行而不是在限行区域之外无意义的兜圈

②如果选择了等待路线,这个等待时间是否过长从而导致用户无法接受

这类问题的主要解决思路是:

①通过定义“常规路线”的方式来过滤掉无意义的绕行,常规路线主要包括:

a. 一对起终点之间大部分用户选择的一条或多条路线

b. 此用户在这对起终点之间曾经走过的个人熟悉路线

②通过衡量不同的出行方式引入的时间代价、距离代价、出行体验(例如拥堵状况)来进行综合筛选,这里往往会借助大量的用户点选数据进行训练从而做出更加趋于合理的选择

(2)如何解决由于突发情况引入的ETA不准从而导致的用户违章,解决思路主要分2部分:

①往往做最坏的假设,这个假设就是,道路通行状况逐渐恶化,所以针对这类用户可能难以逃出限行区域的路线,排序环节往往会给予更慎重的考虑

②在用户导航过程中,不断检测前方的通行状况从而判断用户是否有违规风险,通过不同的产品形态(例如语音、图像、交互等)来指引用户进行更加合理的选择。

官方微博/微信

每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。

↑扫描二维码

想在手机上看科技资讯和科技八卦吗?

想第一时间看独家爆料和深度报道吗?

请关注TechWeb官方微信公众帐号:

1.用手机扫左侧二维码;

2.在添加朋友里,搜索关注TechWeb。

手机游戏更多