AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

机器学习在高德地图轨迹分类的探索和应用

  • 2020-10-27
  • 本文字数:3229 字

    阅读完需:约 11 分钟

机器学习在高德地图轨迹分类的探索和应用

1.背景

当我们打开导航,开车驶向目的地的过程中,有时候会碰到这样的问题:前方明明没有路,可能在施工封闭,可是导航仍然让我们往前开车,以至于我们无法顺利到达目的地。全国道路千千万,每天都有巨量的道路变得不可通行,那么如何动态的识别出哪些道路走不通了呢?



图中所示即为因封路事件导致的导航路线改变


道路不通往往导致该条道路汽车流量突然降低。监控汽车流量的变化是挖掘封路事件的重要指标。但是,目前业务中遇到的一个重要问题是,针对汽车无法通行的封路事件,行人、自行车可能都可以穿行,这些行人、自行车等的噪声流量大大削弱了道路流量变化。


因此,如果能够对行人、自行车、汽车的轨迹进行分类,就可以对道路流量的噪声进行过滤,仅仅关注汽车流量,流量随着封路事件的变化将更为显著,从而便于道路封闭的挖掘。本文主要针对非机动车、机动车分类探索轨迹分类问题。

2.样本获取与标签制定

由于轨迹数据缺少原始真值,我们将用户导航模式作为轨迹分类的伪标签。例如当时用户采用汽车导航,其轨迹对应的标签即为汽车。由于汽车导航数据远远多于非机动车,不同伪标签样本比例差异巨大,存在严重的样本不平衡问题。此外,用户导航模式与用户实际出行方式可能并不一致。比如有些用户可以根据汽车导航步行到达目的地。下文介绍的标签- 概率混合贝叶斯模型 将分析并试图解决上述 2 个问题。

3.特征分析

可以将轨迹分类相关特征划分为 5 类。分别是:


  • 轨迹概况特征集,包括轨迹耗时、轨迹长度、轨迹开始时间等。

  • 速度相关特征集,包括最大速度、平均速度、速度标准差等。

  • 时间相关特征集,包括道路末端等待红灯时间,调头时间,左转时间等。

  • 行为相关特征集,包括调头行为,往复活动,左转减右转时间等。

  • 用户画像特征集,包括用户职业、有车概率。


下面以轨迹开始时间特征为例,解释该特征的物理意义。其概率密度函数如下所示(drv,汽车;byc,自行车;wlk,步行):



早晨(5:00~10:00)汽车轨迹概率较高,可能是早高峰导致。


午时(11:00~13:00)自行车轨迹概率较高,可能是由于外卖送餐。


傍晚(17:00~20:00)步行、自行车概率均较高,可能是由于下班散步以及外卖送餐。

4.贝叶斯模型的概率分布视角

选择基于贝叶斯分类器进行改进的原因如下:


  • 贝叶斯分类器属于生成模型,依赖于条件概率密度函数,具有明确的统计学意义。此外,如前面提到的条件概率图示,通过观察不同轨迹、标签的概率密度函数,能够逐个分析、说明特征的有效性。

  • 贝叶斯分类器可以表示为:



  • 通过增添、删减、改动特征的概率密度函数,可以快速完成贝叶斯分类器的迭代改进。并且相较于决策树,贝叶斯分类器不会对某一个特征的变动过于敏感。

  • 贝叶斯分类器最终输出为概率值,可以作为置信度。

4.1 标签-概率混合贝叶斯模型

当前轨迹分类问题为样本不平衡(Data Unbalanced)标签不准确(Noisy Label)问题。



Tanaka 等人基于卷积神经网络提出了伪标签损失函数,通过交叉熵损失函数与伪标签损失函数的迭代优化完成了错误标签的修正[2]。受此启发,贝叶斯模型同样能够建立伪标签损失函数完成样本清洗。


我们基于贝叶斯分类器的分类结果,提出基于伪标签极大似然估计的伪标签损失函数,完成错误样本清洗,再迭代完成贝叶斯分类。该模型的迭代流程如下图所示。



标签-概率混合优化贝叶斯模型迭代流程。



4.2 联合概率密度函数计算

由于贝叶斯分类器假设各变量相互独立,因此不可避免的会对一些场景下的样本产生错误预测。例如,外卖骑手以及快递员应当被判定为非机动车。这种类型轨迹长度可能较长(超过 10 公里),最大速度适中(小于 50 公里每小时)。在假设行驶距离与最大速两个特征相互独立的情况下,容易错误地把外卖骑手以及快递员的行驶轨迹判定为汽车。



自行车轨迹行驶距离以及最大速度联合概率密度函数



汽车轨迹行驶距离以及最大速度联合概率密度函数


但是,行驶距离与最大速两个维度的特征并不相互独立。上图构建了针对汽车轨迹这两个维度的联合概率密度函数,可以发现,对汽车轨迹而言,行驶距离越长,最大速可能越高,当汽车行驶距离超过 10 公里时,其最大速度小于 50 公里每小时的可能性很低。因此,通过构建行驶距离与最大速度两个维度的联合概率密度函数,替换两个独立概率的相乘,可以帮助解决长距离非机动车轨迹被误判为汽车的问题。

4.3 基于贝叶斯的轨迹分类实验结果

评测团队抽样约 100 条数据并人工标记真值。最终模型分类效果如表所示。


5.深度学习模型的图像编码视角

由于轨迹数据缺少原始真值,我们将用户导航模式作为轨迹分类的伪标签。例如当时用户采用汽车导航,其轨迹对应的标签即为汽车。本次基于深度学习的探索不考虑标签噪声的问题。

5.1 轨迹信息的两种观察方式

深度学习的优势在于能够从原始数据中学习到有效信息,无需人工挖掘特征。针对轨迹数据的特点,存在两种观察轨迹的方式,分别是时间序列与空间分布。



时间序列 :轨迹当中的 GPS 点数据随时间推移依次上传至数据库中。轨迹数据天然具备时间序列属性。因此,可以采用 TCN 或 RNN 构建模型,学习轨迹中的时间序列信息,完成轨迹分类。


空间分布 :将轨迹数据绘制在地图中,则轨迹构成图片中的一条线。如果能够将速度、方向、等待时间编码到线的颜色当中,则能够采用 CNN 从轨迹图像中学习到有效信息[3]。



图左侧大概率为快递员轨迹,图右侧大概率为汽车轨迹。GPS 点的空间分布能够为轨迹分类提供有效信息。因此,我们采用空间分布模式构建模型,探索基于深度学习的轨迹分类。


轨迹颜色编码:从 GPS 点中获取的主要信息为速度、方向、等待时长。将这 3 个维度的信息进行轨迹颜色编码有 2 种方式,分别是 RGB 编码与 HSV 编码。其中 HSV 即色相(Hue)、饱和度(Saturation)、亮度(Value)。



由于方向信息为 0~360 度的角度值,与 HSV 色彩空间种的色相 H 完全一致。因此,本文采用 HSV 色彩空间对速度、方向、等待时长进行编码,编码方式为速度:V,方向:H,时长:S。编码后将轨迹缩放为 256×256 的图片。对地图轨迹的编码结果如下图所示。


5.2 双流神经网络模型

基于编码生成的轨迹图片依然缺失一些重要信息,包括将轨迹缩放至 256×256 图片的缩放因子,以及 GPS 点所在的位置。可以将轨迹匹配结果中通过国道、省道、城市快速路等不同类型道路的比例构造出特征集表征 GPS 点所在的位置信息,加入缩放因子构造一个一维静态特征向量。



将卷积神经网络学习到的特征向量以及该一维特征向量合并,最终通过全连接层完成轨迹分类。最终卷积神经网络选择 ResNet50 结构。

5.3 基于深度学习的轨迹分类实验结果

评测团队抽样约 100 个样本,人工标记真值。



如上表所示,以人工标记标签为真值验证深度学习模型,深度学习模型能够取得有效的轨迹分类精度,但是最终分类效果弱于提出的贝叶斯模型。可能的原因有如下几点:


  • ResNet50 并不是学习轨迹图像的最优模型。

  • 仅采用 8 月 17 日的样本训练模型,样本多样性不足。

  • 所选择的特殊场景样本分布与深度学习中的训练集样本分布差异巨大。

6.小结

轨迹分类对于准确及时地挖掘道路封闭事件具有重要意义。本文从给予概率密度分布的贝叶斯模型视角与基于轨迹点图像编码的深度学习视角分别探索了轨迹分类可能的技术方案。未来轨迹分类模型还可以从聚焦应用场景,优化应用以及拓展上游数据,优化特征两个方面进行改进。

参考文献

[1].Frénay B, Verleysen M. Classification in the presence of label noise: a survey[J]. IEEE transactions on neural networks and learning systems, 2013, 25(5): 845-869.


[2].Tanaka D, Ikami D, Yamasaki T, et al. Joint optimization framework for learning with noisy labels[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 5552-5560.


[3].Liu Y, Wang X, You W. Non-intrusive Load Monitoring by Voltage-Current Trajectory Enabled Transfer Learning[J]. IEEE Transactions on Smart Grid, 2018.


本文转载自公众号高德技术(ID:amap_tech)。


原文链接


机器学习在高德地图轨迹分类的探索和应用


2020-10-27 10:052911

评论

发布
暂无评论
发现更多内容

号称大厂面试官的克星,“神仙版”Java面试宝典,“真”吊打大厂面试官

Java架构之路

Java 程序员 架构 面试 编程语言

腾讯T4架构师:刷3遍以下面试题,你也能从小公司成功跳到大厂

Java架构之路

Java 程序员 架构 面试 编程语言

使用 Helmfile 解放你的 Helm Chart

郭旭东

云原生 Helm

如何成为架构师?

xcbeyond

个人成长 架构师 七日更

规模化敏捷框架何从入手?这篇文章把SAFe讲透了!

华为云开发者联盟

敏捷开发 框架 safe

转型项目经理?

escray

面试 面经 七日更 十日谈

Java 细粒度锁续篇

rookiedev

Java 多线程 加锁

区块链农场游戏系统开发软件定制

职业规划

Albert

职业规划 七日更

低代码与零代码工具的这些特征,弥补了所有人和IT之间的差距!

J2PaaS低代码平台

程序员 互联网 开发者 软件开发 开发工具

用大白话给你解释Zookeeper的选举机制

爱笑的架构师

zookeeper ZooKeeper原理 七日更

吊!设计模式全解:6大设计原则+23种设计模式+设计模式PK+设计模式混编

Java架构之路

Java 程序员 架构 面试 编程语言

微服务架构太难了?那你可能还没掌握SpringBoot+SpringCloud+Docker+RabbitMQ

Java架构之路

Java 程序员 架构 面试 编程语言

JVM 的运行时数据区域分布

rookiedev

Java JVM

SQL优化最干货总结-MySQL「2020年终总结版」

Java架构师迁哥

“社恐”独处好去处:无人自习室,一个人的“世外桃源”

IoT云工坊

物联网 无人自习室 智能门禁 智能灯控 线上预约

LeetCode题解:92. 反转链表 II,迭代,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Ribbon使用及其内核原理剖析

Fox666

数据为墨,智能作笔:画一卷新姑苏繁华图

脑极体

[git使用技巧] git提交忽略不必要的文件或文件夹

xcbeyond

git 七日更

比特币的安全性到底有多高?

CECBC

比特币

FastAI:滴普技术荟:基于机器视觉的典型多目标追踪算法应用实践

目标追踪 目标检测 追踪算法

FastAI:滴普技术荟:某工业产品内部结构尺寸图像测量和缺陷检测分析

AI 目标检测 图像处理 缺陷检测 图像检测

让你的简历不落窠臼,精雕细镂写一份真正的技术简历(Python向)

刘悦的技术博客

Python 面试 简历优化 简历

假冒、诈骗、隐私安全,如何应对数字人民币的风险与挑战?

CECBC

货币

彩色的线,数据的诗,你好——贵州鲲鹏!

脑极体

区块链矿机挖矿系统开发软件技术

关于昆明市政协、市统战部、民革昆明市委赴云南坤艮盈科技有限公司(商务部CECBC区块链专委会秘书处云南办事处)调研指导工作

CECBC

云南发展

远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统

刘悦的技术博客

Docker 高可用 监控 Prometheus 预警

FastAI:滴普技术荟:基于深度学习的云边一体化OLED屏缺陷自动光学检测技术

学习 缺陷检测 云边一体 自动光学检测

业务中台建设 - 配置化

孝鹏

中台 微服务 配置化开发

机器学习在高德地图轨迹分类的探索和应用_AI&大模型_高德技术_InfoQ精选文章