高德地图红绿灯读秒是怎么实现的?(一)

关于这个读秒实现功能众说风云,目前有两种说法,一种说是靠大数据分析,一种说是靠交管部门数据。

我们先看一下官方的回应:可以自行去抖音看官方号的解释。

在这里插入图片描述


以下为原答:
有人说是接入了地方交管数据,其实政策难度很大且没必要。合理推测一下:

其实一个路口红绿灯的变化规则是比较固定的,当时国内除了极少数的智能红绿灯(根据车流实时变化红绿灯状态),99%的红绿灯都是固定相位红绿灯。即提前设置好一个相位表,然后周而复始的进行轮换:

在这里插入图片描述
既然相位表是提前设定好的,说明红绿灯的变化规律是周期的,那么作为地图软件,唯一要做的就是想办法估计出这个周期T。

高德等软件的一个能力是读取正在导航的手机的加速度计信息,因此当在此路口很多本来停止的车逐渐起步时,高德事实上可以推断出此处的红绿灯由红转绿了。更重要的是,高德还可以获得正在导航手机的routing信息,因此它甚至很容易的,知道是哪几个车道由红红转绿。于是很容易地可以推算出这个路口的周期T于当前状态S。

之后的任务就更简单了,一方面将推断出信息通过网络分发给用户,一方面根据用户的行为实时微调当前状态于周期T,从而实现长期循环。

但可以想到的一个问题是,如果一个十字路口很长时间没有车通过(例如一夜没过车),那么误差累积下,高德的读秒推算系统就需要在第二天早上逐渐有车的时候进行重新初始化了,有兴趣的同学可以尝试下凌晨四五点开车通过一些十字路口,看看高德的读秒是不是准确。

再更新最后一次:
服了一些二极管们的思考能力了。针对一些问题简单回复。

  1. 为什么有些路口有显示有些路口没有?

    答:学过状态估计的都知道,我们在估计出状态后还会得到一个方差,描述了算法对估计的不确定度。当算法由干数据不足、红绿灯周期时变、当前路线(例如左转)数据匹配不确定等原因时,会出现算法估计方差过大的问题,这时候就不在前端显示了。

  2. 为什么有些路口极其精准,有些路口不准,有些路口没车也很准?

    答:准不准固然与经过的车辆开导航的比例有关,同时也与红绿灯策略的变化频率有关。

    例如一个郊区的红绿灯,交警部门不会给其很复杂的变化策略,那么一日估计出周期,一个月周期都不变,那么算法会逐渐增强对自己估计的肯定,因此会很准确。

    又例如一个繁忙的十字路口,因为刚刚结束早高峰,红绿灯周期发生了切换。那么算法需要根据观测逐步调整估计。但因为历史数据累积的足够多,算法依然很确定自己的估计,所以会导致前端显示出误差较大的结果。

  3. 为什么有些地方交警官方宣传与高德合作?

    答:早期或部分地级市可能存在接入。但是观察新闻可以发现,新闻几乎都是地级市级别的交警部门在宣传,这其实说明地级市之间的数据大概率难以打通,各位想一想中国有多少地级市?高德的产品经理一个一个去谈合作? 这些地级市的交通系统api又有多大差别?后台的程序员们一个城市一个城市写if else? 但凡和政府打过交道,或者开发过大型系统就知道这不靠谱。

  4. 算法估计难以给出这么精确的值?手机级别的传感器难以给出精确启停时间?

    这个估计的难度真的不高,说难估计的大概率《概率论》没怎么学。说大数据不靠谱,过于复杂的大概率没接触过大数据。目前自动驾驶领域,车辆摄像头被遮挡的情况下,仅凭自车感知,都可以比较精确的根据周车状态,估计出红绿灯信息,更别说高德地图这种多源数据了。

    至于说大家一起摇手机干扰估计,其实是可以做到的。前几年就一直有闲的没事的人,拿好多个手机开导航在路上慢慢走,给导航软件,虚假拥堵。

    至一说高德算力不够更扯淡,这算法义不过网络,cpu算算快的一批,搞不好直接用里户手机做一些初步计算,直接上传一个中间结果,云端再做汇总,根本但不了多少算力。

       说了这么多,本质上还是大家即使是程序员,依然对政府有过多幻想,对科技有低估和抵触。

       其实高德,百度估计这个,志不在小。如果是接入交管系统,那么只是把app当一个显示器。但如果是自己估算,那么未来是不是可以将自己估算的结果直接上传到交警系统,然后告诉红绿灯系统,如果这时候变灯,能节省大家多长时间,最终反而去控制红绿灯? 这才是这些智慧城市的低成本,高智慧,高收益形态。虽然现在误差还有,但相信随着算法优化,这一天不会太远。



       最近忙里偷闲,↓↓↓↓【谁家de码农陈先生】↓↓↓↓,里面定时给大家分享技术博文、前方高能资讯内容!欢迎各位老板点赞关注,你们就是我的动力源泉!

猜你喜欢

转载自blog.csdn.net/chen_md/article/details/128727584