⬆⬆⬆ 点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

前言:

给定一组单独的人员(例如行人,出租车司机)的历史轨迹以及由特定人员生成的一组新轨迹,轨迹识别问题旨在验证传入的轨迹是否是由所要求的人员产生。这个问题在许多实际应用中都很重要,例如出租车驾驶人员身份认证、汽车保险公司风险分析以及犯罪识别等。轨迹识别的现有工作除了需要轨迹数据之外,还需要其他来源的数据,如传感器、摄像头等,但这些数据无法普遍获得且成本较高,且目前的工作只能局限于已有的人员身份识别,无法扩展至未经训练的人员。为了应对这些挑战,在这项工作中,作者首次尝试通过提出一种新颖而有效的框架时空孪生网络(ST-SiameseNet),仅从观察到的轨迹数据匹配人员身份。对于每个人员,作者从他们的轨迹中提取特征,来预测每个人轨迹的相似性。

论文原文链接:

https://www.aminer.cn/pub/5f03f3b611dc830562232050?conf=kdd2020

论文源码:

https://github.com/huiminren/ST-SiameseNet

任慧敏,美国伍斯特理工学院三年级博士生,导师Yanhua Li教授。研究兴趣为城市计算、时空数据挖掘。

一、前言

1.1

这个研究的现实意义

线上打车在现代社会越来越多的被应用,甚至说成为主流,行业从业人员多了之后,就显得鱼龙混杂,时不时的会有安全事故被报道。尽管现在的平台会对司机进行实名认证,但仍会发生李代桃僵的事情。于是作者提出了“Human Mobility Signature Identification”,即通过轨迹信息的挖掘,进而分析驾驶人的驾驶行为,最终判断驾驶人是否是同一人。

除了安全认证之外,这项技术在汽车的保险行业也有着发展前景,比如投保人与肇事者是否是同一人,或者是否有危险驾驶行为,例如酒驾,等等。

那么这项工作简单表述就是通过两段时间的轨迹信息,来判断这两个时间线中是否是同一个人。

1.2

前期工作

听着简单,可是实现过程却并不简单,在前期的工作中会遇到各式问题:

  • 司机的身份认证,GPS轨迹之外还需要额外的数据,例如车载的摄像机,方向盘和刹车的传感器,成本高昂。

  • 传统的聚类或者多分类模型去识别司机身份,但这类方法识别数量有限,无法满足现实需要。

  • 泛化性不足,面对训练集外的数据束手无策。

基于以上问题作者提出了基于时空孪生神经网络的轨迹识别

1.3

什么是Siamese Networks

Siamese是“孪生,连体”的意思,来源是十九世纪的泰国连体人,也是“玲玲马戏团”曾经的台柱,称为“Siamese Twins”,即暹罗连体人,后来成为连体人的专有名词,奇怪又没用的知识又增加了。

Siamese Network就如同字面的意思,是连体的神经网络,这一过程是通过共享权重实现的。将两个输入投入神经网络中,随后映射到新的空间,通过loss计算两个输入的相似度。而且下图中的两个CNN甚至都不需要实现另外一个,可以是同一个网络。

之所以选用孪生神经网络,是因为其适合用于相似度判断,其学习的内容是相似度,因此未被训练过的数据依然可以被拿来判断是否相似。当把输入扩大到三个的时候,就是人脸识别领域很熟悉的Triplet Network了。

孪生神经网络已经解决了上述的后两个问题,即分类数量和泛化性。那么接下来就要解决第一个问题,数据成本。作者采用了易于获得的GPS行驶轨迹作为数据源。

在上图中,GPS信号P由经纬度和时间构成,一条轨迹tr则由一组p构成,其中a代表着一个司机。作者从单纯的GPS数据中又分离出了不同状态下的行驶轨迹,例如出租车是否载客,私家车是否通勤等,获得了丰富的特征。下面的直方图则是一辆出租车的寻客平均路程和时间。

二、模型设计

2.1

解决方案框架

论文中作用GPS数据采自于2016年7月深圳出租车行驶记录,筛选了2197位司机在10个工作日的记录。

2.1.1 数据预处理

作者首先将获得的GPS数据转化为一个个对应的格子,使得经纬度信息转化为更适合计算机处理的x,y坐标,并且对应的时间ID。

然后将出租车所处的状态分为寻客轨迹和载客轨迹,获得两种特征。另一方面的特征则更倾向于司机个人的驾驶偏好。

2.1.2 数据建模

数据预处里中的Transit Modes的轨迹进一步的用于上图的轨迹对比中。根据本文的思路,需要对一位司机两天的轨迹或者两位司机一天的轨迹进行比较,用以判断是否是同一个人。作者选取了一个工作日内的5条寻客轨迹和5条载客轨迹,这个数据的选择覆盖了所收集的司机的情况。

另一方面则是Profile Features,相比于上述的较零散的10条信息,这个特征则从全局的过程获取司机的个人癖好,例如最常停留的位置、起止时间、寻客路程和时间以及接单数量等。

最后,准备好的数据就可以送入模型当中,由于数据所包含的时间特性,所以模型中也包含有LSTM。

2.2

ST-SiameseNet 框架

从整体来看,模型目的在于判断两天的轨迹是否属于同一个司机。所以在模型输入中等概率的选择同一个司机不同天,或者同一天的不同司机,或者不同司机不同天的数据,即输入数据的正负样本概率相同。

在输入层,数据分为了寻客轨迹,载客轨迹,和个人特征,其中轨迹数据每人包含5条。与传统的模型不同的地方在于模型准备了三个神经网络,两个训练轨迹信息,一个训练特征信息。轨迹信息接收5条信息,获得5个特征,连接成一个。通过两个分支后总共获得六个特征对应于六个输入。通过Embeddings后经由全卷积网络获得非相似度。其中数值越接近1,不是同一人的可能性越大。

三、性能分析

3.1

与基础模型进行的对比

在模型中采用了500位司机的前5天作为训练数据,另外的197位司机的后5天作为测试数据,保证了数据的充足和独立。

对于SVM,由于无法输入轨迹信息,所以输入数据为个人特征信息,经过绝对值相减后输入SVM。获得非相似度。

对于FNN,区别在于是否包含个人特征。两个输入数据连接成一个大的数据输入FCN中,获得非相似度。这个对比旨在获取神经网络在提取特征方面的能力。

对于Naïve Siamese,与作者提出的模型相比,对于输入只有一个FCN网络。而输入数据首位相连组成一个长数据,通过FCN和Embeddings后得到非相似度。

最后对比数据可以看到,作者提出的模型结构在各个指标上都有着优异的表现。而在同类模型的对比中,加入个人特征的模型要比不加入特征的模型性能表现要好,这也证明了除去轨迹特征外司机的个人特征对于相似度识别也有贡献。

3.2

模型泛化

模型泛化能力的测试分两个方面进行。左图是固定了500位司机,以工作日为变量的结果;右图是固定为5天的工作量,以司机数量为变量的结果。所有的数据集总共包含2179位司机10个工作日的数据,其中179位司机为测试集。假设训练集采用了头3天的数据做训练,那么验证集和测试集则使用剩余的后7天做为测试。

那么从上面的两幅图可以看出,随着训练天数和训练人数的增加,模型的泛化能力得到了提升,有效的避免了过拟合的问题。而且模型性能的拐点分别出现在5天的训练天数和500位司机的训练数量,之后的测试集结果增长不明显。说明500位司机和5个工作日的训练数量就能够获得较好性能的模型。

3.3

运行模式和个人特征的重要性

首先对比了运行模式的作用,粉线包含了寻客模式和载客模式,灰线仅包含了寻客模式,黄线仅包含了载客模式。可以看出即使只包含有单一的运行模式,在一定程度上能够判断是否是同一位司机,但是两个模式均被应用到时则产生了不俗的表现。

之后对比了个人特征在模型训练中的作用,添加了个人特征之后,模型性能产生了极大的提高。

四、案例

4.1

案例一

案例一为两位司机同一天的轨迹:从左图的热力图中可以看出两人经常运营的场所有很大差距,其次在右图中对比其个人特征可以看出其最长停留区域和最常访问区域有着较大差别。之后模型给出了0.99的非相似度。

4.2

案例二

案例二为两位司机同一天的数据,这两位司机主要活动区域比较接近,都集中于地图右下角,但是在直方图中,两人主要差别在于起止时间点不同,所以模型给出了0.88的非相似度。

4.3

案例三

案例三则是同一个司机ID在两天的运行数据,这是一个异常行为判断。从左图可以看到第一天的活动范围主要集中于地图左上角和左部,第二天的活动范围主要集中于地图右半部。而右边的直方图也显示起止时间有着很大差别。模型给出了0.84的非相似度。作者对比了之后几天的数据于第二天的状况相似且稳定,由此可以得出,第一天与之后几天相比出现了异常行为。

4.4

案例四

案例四是同一个司机两天的数据,在图中可以看出其活动区域和特征都比较稳定,并且模型给出了0.03的非相似度,证明是同一人。

结论

  • 作者的团队是第一个采用基于时空孪生神经网络用于识别人类活动轨迹识别的团队

  • 作者采用运营模式和个人特征来加强模型的能力。

  • 作者采用了真实世界的出租车轨迹进行了大量的实验验证以及性能评估,结果表明,基于时空的孪生神经网络要有着更好的性能。

嘉宾问答:

Seeking 和 Driving指的是什么?

这里Seeking 和Driving 都是出租车的轨迹数据,其中Seeking是指车上无乘客,Driving是指车上有乘客,这两个数据体现了司机的不同想法。

司机的行为有时会受打车平台的影响,那么这种模式能否区分是否是同一人?

在只用个人特征的测试中,即包含地点也包含了时间,但是当加入轨迹后会有提高。这样就使得特征中包含了司机的驾驶行为,这些方面为区分提供了贡献。

整理:闫昊

审稿:任慧敏

排版:田雨晴

本周直播预告:

AI Time欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你,请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

AI Time是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

更多资讯请扫码关注

(点击“阅读原文”下载本次报告ppt)

(直播回放:https://b23.tv/irlqA6)

驾驶习惯也能识人?基于时空孪生神经网络的轨迹识别相关推荐

  1. 孪生神经网络_驾驶习惯也能识人?基于时空孪生神经网络的轨迹识别

    ⬆⬆⬆ 点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 前言: 给定一组单独的人员(例如行人,出租车司机)的历史轨迹以及由特定人员生成的一组新轨迹,轨迹识别问题旨在验证传入的轨迹是否是 ...

  2. 基于深度卷积神经网络进行人脸识别的原理是什么?

    原文:https://www.zhihu.com/question/60759296 基于深度卷积神经网络进行人脸识别的原理是什么? 这里的人脸识别包括但不限于:人脸检测,人脸对齐,身份验证识别,和表 ...

  3. 【opencv机器学习】基于SVM和神经网络的车牌识别

    基于SVM和神经网络的车牌识别 深入理解OpenCV:实用计算机视觉项目解析 本文用来学习的项目来自书籍<实用计算机视觉项目解析>第5章Number Plate Recognition 提 ...

  4. 基于三层BP神经网络的人脸识别

    实验四.基于三层BP神经网络的人脸识别 一. 实验要求 采用三层前馈BP神经网络实现标准人脸YALE数据库的识别,编程语言为C系列语言. 二.BP神经网络的结构和学习算法 实验中建议采用如下最简单的三 ...

  5. MATLAB实战系列(三十四)-MATLAB基于PCA-LDA模糊神经网络的人脸识别

    前言 文中涉及代码及图片,可参见MATLAB基于PCA-LDA模糊神经网络的人脸识别,有需要的小伙伴可自行下载订阅,谢谢大家! 基于PCA-LDA和粗糙集模糊神经网络的人脸识别,一方面在应用前景上是十 ...

  6. matlab 人脸识别_MATLAB基于PCALDA模糊神经网络的人脸识别

    点击上方蓝字关注"公众号" MATLAB基于PCA-LDA模糊神经网络的人脸识别 基于PCA-LDA和粗糙集模糊神经网络的人脸识别,一方面在应用前景上是十分广阔的,可以为IT行业创 ...

  7. 【论文笔记】DSCN:基于深度孪生神经网络的光学航空图像变化检测模型

    本文是论文<Change Detection Based on Deep Siamese Convolutional Network for Optical Aerial Images>的 ...

  8. 基于MATLAB BP神经网络的水果识别

    一.课题实现的功能 1 原理分析 由于数字图像是唯一的特征标识符号,在经营管理中具有不可替代的作用,因此数字图像识别系统应具有很高的识别正确率,对环境光照条件.拍摄位置等因素的影响应有较大的容阈,并且 ...

  9. 【情感识别】基于matlab BP神经网络语音情感识别【含Matlab源码 349期】

    一.BP神经网络语音情感识别简介 0 引言 随着科技的迅速发展, 人机交互显得尤为重要.语音是语言的载体, 是人与人之间交流的重要媒介.相较于其它交流方式而言, 语音交流更加直接.便捷.近年来, 随着 ...

  10. 基于深度卷积神经网络的人脸识别考勤系统-VGG-PYTHON-QT(1)

    本项目设计并实现了一个应用于小型企业员工考勤的刷脸考勤系统,整个系统使用Python语言开发,并利用Pyqt5作为桌面端系统界面的开发工具,以SQL Server作为数据库管理系统,最终集成所有刷脸考 ...

最新文章

  1. windows 80端口被占用的解决方法
  2. 习惯的力量之三冰山一角
  3. java在线找错_平台配置及测试错误提示及解决方案
  4. ASP.NET MVC 入门6、TempData
  5. [极客大挑战 2019]Havefun
  6. 安装Jenkins后 启动时失败的问题解决
  7. html巡检脚本,WEB服务器巡检脚本
  8. Script to show Active Distributed Transactions
  9. 傅里叶变换与拉普拉斯变换
  10. 【设计模式】简单工厂模式(C#)
  11. 此时墨迹在计算机上不起作用,win7系统自带截图工具不见了怎么找回
  12. Windows Phone 7 日历应用的实现
  13. win10中计算机是英文的,如何解决Win10启动和登陆界面语言中英文混合显示?
  14. QCC3040---UI tones module
  15. DNS解析、智能DNS原理及CDN应用和原理
  16. 考拉nbsp;PASCALnbsp;解题报告
  17. 无线基础知识学习(一)
  18. 字符串切分,stream,JSONObject,lambda表达式的应用
  19. IT经济合同的工程量清单计价技巧
  20. 第11章实验1:学生成绩管理系统V4.0(C语言)

热门文章

  1. 深入浅出TCP三次握手 (多图详解)
  2. 兴奋神经递质——谷氨酸与大脑健康
  3. Vue中使用Lodash
  4. 调用百度api出现的跨域问题
  5. 《富兰克林自传》读后感:从这个接地气的伟人身上我们可以学到什么?
  6. 获取基因的所有转录本(不同亚型)的外显子区域
  7. illegal multibyte sequence
  8. log4j警告的解决办法-狂奔的蜗牛-iteye技术网站
  9. The server encountered an internal error that prevented it from fulfilling this request的一种解决办法
  10. linux安全审计和加固工具-lynis