本发明涉及异常检测和移动群智感知技术领域,具体涉及一种司机驾驶轨迹中异常轨迹的检测方法和系统。
背景技术:
异常检测通过采集和统计发现网络或系统中的异常行为,然后按照某种决策算子来判断它是否为异常行为。基于机器学习的异常检测模型是用机器学习的方法来建立系统映像。它的最大特点是根据正常来分辨异常,因为其训练数据大多是代表清一色的正常行为。这种方法的优点是检测速度快,而且误检率低。但该方法在用户动态行为变化以及单独异常检测方面还有待改善。复杂的相似度量和先验知识加入到检测中可能会提高系统的准确性,但需要做进一步的工作。
移动群智感知是基于群体感知的一种普适计算感知模式。由静态感知(例如为监测环境在城市内大规模部署的传感器)、个体感知逐渐发展而来。移动群智感知通过大量持有移动感知设备(智能手机、平板电脑)的群体人员组织起来,以某种方式使他们之间进行协作来共同完成个体很难完成的任务。基于移动群智感知技术研究人员提出并实现了很多具有现实价值的应用,比如采集各地噪音的系统应用、监测路况的系统应用等。这些应用的出现,给用户提供了更加丰富的情景感知信息与智能化的普适服务,提高了人们的生活质量。
随着经济社会的发展,汽车成为人们的主要交通方式,汽车的拥有量也越来越高,司机往往会从保险公司为自己的汽车投保,一部分保险限制根据车辆于特定的司机。而在交通事故现场,一般很少有监控或者人员来证明事故是否正好是受保人在驾驶汽车时发生的,这给保险公司带来技术上的难题,也不利于对用户的风险进行评估。鉴于汽车内部设备的发展和移动群智感知技术的提高,记录司机驾驶过程的方式多彩多样。例如大众熟知的GPS就能记录行驶过程的经纬度和速度,OBD(车载诊断系统)可以记录发动机转速,油耗等车辆信息,司机携带的手机可以利用自身的传感器(主要包括陀螺仪,加速度计,GPS等)来记录司机行驶过程中司机行为和车辆的状态。基于以上技术和应用背景,针对保险理赔中司机识别问题,研究者可以利用丰富的汽车内部数据和传感器数据来检测司机行驶轨迹中的异常轨迹。
现有的异常检测只是考虑车辆内部零件是否存在损坏或者异常消耗的问题,忽略驾驶司机的异常问题,从内部零件参数方面分析但不全面。另一方面,有关异常检测问题中,已有专利中没有定义关于司机行驶轨迹中的异常轨迹,缺乏对相关问题的研究。
技术实现要素:
本发明的目的在于提供一种司机驾驶轨迹中异常轨迹检测的实现方法,为实现上述目的,本发明提供如下技术方案:
一种司机驾驶轨迹中异常轨迹的检测方法,通过与司机之前的行驶轨迹及其他司机的行驶轨迹进行对比,检测是否是异常行驶轨迹;具体包括以下步骤:
S1、获取原始数据集;所述的原始数据包括车辆行驶状态以及司机驾驶行为的数据;
S2、对数据进行初步处理;对原始数据集进行清洗得到特征数据和标注数据,对清洗出的特征和标注数据进行处理,处理后的数据供模型训练使用;
S3、训练生成异常行驶轨迹检测模型;
S4、利用生成的异常轨迹检测模型来检测司机原始数据中的异常轨迹,得到异常行驶轨迹。
进一步地,本发明一种司机驾驶轨迹中异常轨迹的检测方法,S3包含以下子步骤:
S31、获取检测司机行驶轨迹中的异常轨迹训练集;先从处理后的司机行驶轨迹中选取一定数量的样本数据,再随机从其他司机的行驶轨迹中选取等数量的行驶轨迹,形成检测司机行驶轨迹中的异常轨迹训练集;
S32、获取针对司机中异常轨迹问题的个性化分类器;使用机器学习中的分类算法从异常轨迹训练集一个针对甲司机中异常轨迹问题的个性化分类器;
S33、获取司机异常轨迹验证集,验证异常轨迹;选择p条司机行驶轨迹,并随机挑选q条其他某个司机行驶轨迹作为异常轨迹形成异常轨迹验证集,利用S32中训练的分类器去检测验证集中异常轨迹;
S34、训练生成异常行驶轨迹检测模型;计算异常检测模型的检出率和误警率,检查指标是否符合阈值要求;如果达标则生成异常行驶轨迹检测模型;否则迭代进行S31-S34直至指标符合阈值要求;所述的阈值检出率越高,误警率越低则模型越好。
进一步地,本发明一种司机驾驶轨迹中异常轨迹的检测方法,S32包含子步骤:
S321:对异常轨迹训练集进行处理,提取特征;将原始特征转换为一组具有明显物理意义或者统计意义的特征;
S322:为了提高预测的准确度并构造更快消耗更低的预测模型,对S321中提取的特征进行特征选择。
进一步地,本发明一种司机驾驶轨迹中异常轨迹的检测方法,所述的原始数据集包括了汽车行驶状态数据和司机驾驶行为数据,表现为文本、图像或者应用数据。
进一步地,本发明一种司机驾驶轨迹中异常轨迹的检测方法,S2中所述的清洗是指去除不利于之后的数据分析的经纬度数据。
进一步地,本发明一种司机驾驶轨迹中异常轨迹的检测方法,S321中所述的提取特征包括将经纬度数据转换为速度和加速度特征,具体计算公式如下:
ai,j,t=vi,j,t-vi,j,t-1
其中(xi,j,t,yi,j,t)为t时刻经纬度坐标,vi,j,t为t时刻速度,ai,j,t为t时刻加速度;
再根据汽车速度变化将司机的一条轨迹分为持续加速或者持续减速阶段,再根据持续的时间将持续加速(减速)阶段分为不同时长的部分;针对持续x秒加速(减速)阶段,计算该阶段速度和加速度的均值、最大值和最小值,以及加速度的方差;再汇集一条轨迹中相同的所有持续x秒加速(减速)阶段,计算这些特征的均值和方差,则每一个类型的阶段可以生成多个特征。
进一步地,本发明一种司机驾驶轨迹中异常轨迹的检测方法,S33中所述的q远小于p。
进一步地,本发明一种司机驾驶轨迹中异常轨迹的检测方法,所述驾驶轨迹指所有采集设备对行驶过程的记录,所述的异常轨迹是指车辆行驶轨迹中不属于车主的驾驶轨迹。
本发明还提供一种司机驾驶轨迹中异常轨迹的检测系统,包括:采集装置、检测装置;所述采集装置与所述检测装置通过数据线连接;所述采集装置用来采集车辆行驶状态以及司机驾驶行为数据,获取原始数据集;所述检测装置包括:数据获取单元:用来接收原始数据集;
数据处理单元:用来训练生成异常行驶轨迹检测模型;异常轨迹检测单元:用来检测司机原始数据中的异常轨迹,得到异常行驶轨迹;检测结果输出单元:用来将异常行驶轨迹以文本或者图像方式输出并显示;进一步地,一种司机驾驶轨迹中异常轨迹的检测系统,所述的采集装置包括车载诊断系统OBD、GPS导航仪、行车记录仪、智能手机中的一种或几种。
为了充分利用汽车内部装置数据和手机传感器数据,针对保险行业中汽车行驶轨迹异常轨迹检测问题,本发明对车辆行驶中的异常轨迹作了定义,并分析了记录驾驶轨迹的各种传感器数据,利用这些信息提出了一种司机驾驶轨迹中异常轨迹检测的实现方法。
本发明基于采集到的历史数据中包含的汽车行驶状态和司机驾驶行为的抽象特征,对数据进行清洗和格式化;针对任意的一名司机行驶轨迹数据,添加其他司机的行驶轨迹形成异常轨迹检测数据集;计算提取描述司机行为和车辆行驶状态的相关特征;综合考虑各个特征的预测能力以及特征间的相关性来选择合适的特征子集作为训练的特征集;利用机器学习中的分类算法来检测司机异常轨迹;通过比较检测到的异常轨迹和原始加入的异常轨迹,计算异常检测的检出率和误警率,检验指标是否符合要求,达标则生成异常检测模型,否则迭代进行之前步骤直至生成合适的异常检测模型;生成异常检测模型后,利用该模型来检测司机原始数据中的异常轨迹,使得异常轨迹的检测更加准确,并且本系统使用简单,将数据连接线与检测装置连接,便可获取异常行驶轨迹,为使用本系统的交通、保险等行业提供了便利。
本发明提出了一种基于机器学习的司机异常驾驶轨迹检测方法,与现有的司机异常轨迹检测方法相比,可以适应多样化的司机轨迹数据,且对异常轨迹的数量具有很好的鲁棒性,更准确高效的检测司机异常轨迹,有利于对保险理赔中的司机身份验证和个性化服务中的身份识别提供更好的辅助。
附图说明
图1本发明一种司机驾驶轨迹中异常轨迹的检测方法步骤示意图;
图2本发明一种司机驾驶轨迹中异常轨迹的检测方法异常行驶轨迹检测模型示意图;
图3本发明本发明一种司机驾驶轨迹中异常轨迹的检测方法实施例示意图;
图4本发明一种司机驾驶轨迹中异常轨迹的检测系统示意图。
具体实施方式
下面结合本发明的附图对本发明一种司机驾驶轨迹中异常轨迹的检测方法和系统进行详细的描述。
本发明一种司机驾驶轨迹中异常轨迹的检测方法以GPS导航仪为例:
S1、获取原始数据集:
利用GPS导航仪对车辆行驶状态以及司机驾驶行为的数据进行采集,采样频率为1Hz,得到行驶轨迹的原始数据集,主要包括行驶过程中汽车的经纬度数据;原始数据集包括了汽车行驶状态数据和司机驾驶行为数据,表现为文本、图像或者应用数据。
S2、对数据进行初步处理:
采集到的行驶轨迹原始数据集中包含了汽车行驶状态和司机驾驶行为的特征,对原始数据进行处理,考虑到汽车最初启动和最后停车过程比较复杂,不利于之后的数据分析,故去除这些过程中的经纬度数据。对清洗出的特征和标注数据进行处理,进行样本采样,特征归一化处理,最终生成的数据供模型训练使用。
S3、生成异常行驶轨迹检测模型:
假如需要检测一名司机(甲司机)日常驾驶的汽车行驶轨迹中是否存在异常估计(该轨迹不是甲司机驾驶的则被认为是异常的)时。具体为:
S31、获取检测司机行驶轨迹中的异常轨迹训练集:
则可以先从处理后的甲司机行驶轨迹中选取K条行驶轨迹作为样本数据,再随机从其他司机(比如乙司机)的行驶轨迹中选取等数量的行驶轨迹,最终形成检测甲司机行驶轨迹中的异常轨迹训练集(Train Set)。
S32、获取针对司机中异常轨迹问题的个性化分类器:
使用机器学习中的分类算法从异常轨迹训练集一个针对A司机中异常轨迹问题的个性化分类器。分类方法可以选择不同类型的分类方法,比如逻辑斯蒂回归,决策树,贝叶斯网络,随机森林,K近邻等,选择效果最好的分类器。具体的包含以下操作:
S321、对S31中形成的异常轨迹训练集进行处理,考虑数据自身的特点,将原始特征转换为一组具有明显物理意义或者统计意义或核的特征,也就是特征提取的过程。
本实施例中将经纬度数据转换为速度和加速度特征,具体计算公式如下:
ai,j,t=vi,j,t-vi,j,t-1
其中(xi,j,t,yi,j,t)为t时刻经纬度坐标,vi,j,t为t时刻速度,ai,j,t为t时刻加速度。
再根据汽车速度变化将司机的一条轨迹分为持续加速或者持续减速阶段,再根据持续的时间将持续加速(减速)阶段分为不同时长的部分。针对持续x秒加速(减速)阶段,计算该阶段速度和加速度的均值、最大值和最小值,以及加速度的方差。再汇集一条轨迹中相同的所有持续x秒加速(减速)阶段,计算这些特征的均值和方差,则每一个类型的阶段可以生成多个特征,本实施例生成14个特征。
S322、为了提高预测的准确度并构造更快消耗更低的预测模型,对S321中提取的特征进行特征选择,主要的特征选择方法有Filter、Wrapper和Embedded。其中Filter的主要方法有卡方检验、信息增益和相关系数,Wrapper的主要方法有递归特征消除算法,Wrapper的主要方法有正则化;在实际使用中可以采用Weka中的Cfs-Subset-Evaluation特征选择方法进行特征提取,搜索方法选择BestFirst。
S33、获取司机异常轨迹验证集,验证异常轨迹:
除训练集外,选择p条甲司机行驶轨迹,并随机挑选q条(q远小于p)乙司机行驶轨迹作为异常轨迹形成异常轨迹验证集(Validation Set),利用S32中训练的分类器去检测验证集中异常轨迹。
S34、计算异常检测模型的检出率和误警率,检查指标是否符合阈值要求:
通过比较检测到的异常轨迹和原始加入的异常轨迹,计算异常检测模型的检出率(DR)和误警率(FR),公式如下。检查指标是否符合阈值(DR>90%,FR<20%)要求,检出率越高,误警率越低则模型越好,达标则生成异常行驶轨迹检测模型(该模型是指整个方法流程),否则迭代进行S31-S34直至指标符合阈值要求:
S4、检测司机原始数据中的异常轨迹,得到异常行驶轨迹:
利用生成的异常轨迹检测模型来检测甲司机原始数据中的异常轨迹,得到异常行驶轨迹。
本发明一种司机驾驶轨迹中异常轨迹的检测方法,驾驶轨迹指所有采集设备对行驶过程的记录,异常轨迹是指车辆行驶轨迹中不属于车主的驾驶轨迹。
本发明的一种司机驾驶轨迹中异常轨迹的检测系统,包括:采集装置、检测装置;采集装置用来采集车辆行驶状态以及司机驾驶行为数据,获取原始数据集,采集装置可以为车载诊断系统OBD、GPS导航仪、行车记录仪、智能手机中的一种或几种;在使用时,将采集装置与检测装置用数据线连接,检测装置的数据获取单元获取采集装置采集到的数据集;数据处理单元:通过对数据集进行处理,用来训练生成异常行驶轨迹检测模型;异常轨迹检测单元:利用异常形式轨迹检测模型,来检测司机原始数据中的异常轨迹,得到异常行驶轨迹;检测结果输出单元:将异常行驶轨迹以文本或者图像方式输出并显示。