梁 军,丛森森,王 军,蔡英凤,江浩斌,陈 龙
(江苏大学汽车工程研究院,镇江 212013)
随着无人驾驶和通信技术的迅速发展,行车主动服务系统(driving active service system,DASS)正成为车联网环境下智能车的重要组成部分。该系统能对行车用户的服务需求进行感知、匹配并生成服务,最终实现主动推送且保障服务质量。DASS使服务从感知到推送的全程无需用户参与,降低了潜在交通事故风险,为无人驾驶技术的推广奠定基础。但智能车技术发展增加了零散服务功能,传统服务系统已不满足安全驾驶和用户多样化的需求,有必要建立完善的DASS。
目前,针对人—车—路—环境的闭环系统,国内外对DASS“主动感知 自动生成—主动推送”的研究着重于服务需求主动感知和服务构件匹配的精确度与主动性。Huang等[1]提出了基于主动安全服务的车间通信框架,在不同交通场景下优化了动态服务感知速率和性能。Sakthi等[2]设计了一个3层服务感知模型,利用仿真开发无事故交通系统。梁军等[3]提出交通服务需求DASS模型,并验证了模型的实时性和主动性。这些方法使服务感知和自主生成的性能满足了DASS系统的要求,但DASS使用率仍较低。因此,为提高DASS使用率,从DASS服务流程着手,完善服务推送有利于弥补DASS自身缺陷。因此,Chang等[4]设计了一种具备服务主动推送能力的监控平台,将危险信息实时推送给客户端。Radoslaw[5]在物联网系统下依据智能城市数据主动推送,支持用户的操作。Cai等[6]利用数据挖掘方法构建了远程医疗服务推送系统。Catulli等[7]面向消费者构建了婴儿产品服务推送系统。但这些服务机理都忽视了用户的接受度和用户操作行为对用户的影响。
为完善DASS服务推送环节,构建了主动推送服务平台(driving push service platform,DPSP),设计了B-Num.BT算法用于DPSP的服务推送流程,通过用户操作行为特征预测用户对推送的操作行为,制定适用于各服务与用户类型的服务规则,以最佳服务时机推送并执行服务,通过驾驶员在环(DIL)进行验证分析。对提高DASS使用率,提升驾驶体验和促进无人驾驶发展有重要意义。
图1为推送服务平台DPSP,包括存储层、应用层和评价层。存储层存储历史和实时数据。其中,行为分布式存储系统(behavioral distributed storage system,BDSS)存储行车用户的确认、接管和屏蔽数据。评价层利用实时数据库缓存的操作数据进行指标评价和监控,并定期更新BDSS中的服务历史库。应用层从BDSS中进行服务预处理、用户特征挖掘、推送时机选择和实时推送,将目标服务以符合行车用户的操作方式合理推送。应用层还包括车载显示器和声音系统等推送媒介。
图1 DPSP平台架构
图2 为 DPSP的推送流程。首先,通过 DASS“主动感知—自动生成”流程生成行车服务,作为DPSP的输入。其次,用户对服务进行确认、搁置或取消。系统依据操作伺机控制或主动提供服务以提高舒适性等,并存储在BDSS。服务预处理对服务进行关联分类;借助改进的特征挖掘算法,挖掘用户操作行为;依据特定规则进行服务方式匹配;结合用户操作行为设计推送时机算法;在最佳推送时间通过指定媒介将服务推送给用户。最后,利用用户反馈优化推送规则。DPSP利用已有DASS的服务发现功能[3],依据用户需求主动推送服务,并将用户反馈更
图2 DPSP服务主动推送流程
新到BDSS中。
依照DPSP的服务主动推送流程,在服务挖掘、推送时机选择流程中详细地设计出行为挖掘算法B-Num和时机选择BT算法,为与实验性能对比,将推送流程的关键算法统称为B-Num.BT算法。
利用服务数据构造无向图 G=(U,A,B,ξ,l),其中U,A,B为顶点集,Ui为具体服务;A1为危险或极端场景服务类,A2为普通或类危险服务类,A3为常规服务类;Bi为具体推送媒介;ξ,l为边集。任意服务 l存在唯一初始服务类集 Am(m=1,2,3)的边集ξlm,Am存在多条与推送媒介Bn连接的边集lmn。服务无向图如图3所示,若DASS生成服务l,则存在连接 U1和 A1的边集 ξ11,并沿 l11、l12、l14指向媒介B1、B2、B4。为简化描述,记边集存在为1,反之为 0。则关联矩阵T为
其中:Tm(Ul)=[ξlm,lm1,lm2,…,lmn],m=1,2,3
图3中服务l的关联矩阵为
图3 服务无向图
图4 为用户行为特征挖掘算法流程图。该算法利用BDSS挖掘不同行车用户行为与主动推送服务的关联特征,针对历史用户行为,利用改进的行为特征挖掘算法优化推送流程。行车用户分为主动型s1(基本先于系统推送,自行主动控制)、半主动型s2(系统推送后,部分场景主动控制)、被动型s3(系统推送后,仅危险临近时主动控制)和封闭型s4(无视系统推送,存在驾驶风险)。
图4 特征挖掘算法流程图
DASS主要依据用户的操作行为(Co表示确认、Ca表示取消、Sh表示搁置)的总次数进行推送,对多次取消或搁置的服务停止推送。传统推送算法根据历史操作数据,统计各服务的操作,测试建立次数与时间矩阵。其中,对第l种服务的L次测试统计得出特征矩阵Fel,矩阵包括服务l中用户的接受、拒绝和搁置的累计次数。由Fel生成推送规则矩阵Rl,矩阵由 0(正常推送)、1(直接执行)、-1(不推送)构成,Rl.Ul为服务l的推送规则。算法A-Num如下。
A-Num(Co,Ca,Sh,t,L):
输入:用户确认Co、取消Ca、搁置Sh和用户操作时长t,各服务测试次数L。
输出:次数矩阵N,时间矩阵X,规则矩阵Rl。
步骤1:对用户操作计时t与计数N,用户根据服务推送进行操作,产生输入参数。
步骤2:服务 l的第i次操作次数与时间统计N.Ul(i)=[Co,Ca,Sh],X[Ul,i]=t。计算特征矩阵Fel.Ul=Fel.Ul(i)+N.Ul(i)。
步骤3:生成推送规则
传统算法仅依照用户Co、Ca、Sh的频率制定简单规则,未区分用户时序上操作行为的变化,不能直观分析用户对不同类型服务的反馈。因此,为挖掘用户对不同服务类型与操作行为的差异,利用操作行为的时序特征构建推送规则尤为重要。
目前,常用的分类算法有贝叶斯分类器和SVM等。然而,基于距离的线性判别法[8]不满足时序特征的数据分类的要求。决策树算法[9]仍需对时序特征数据进行大量的预处理。K均值树法[10]难以知晓平均和典型实例样本的特征。采用人工神经网络[11]所得结论无法做出合理性解释。SVM[12]则难以解决多类别、大规模的分类问题。针对具有时序特征的离散数据的3种分类方法,构建动态贝叶斯概率趋势法(dynamic Bayesian probability trend method,DBPT)结构,如图5所示。
图5 DBPT的结构
图 5中,Ul(i)=[A,(Co,Ca,Sh),s]为第 l种服务在第i次服务推送时用户s的行为记录,为3×1矩阵;Pl(m)为第l种服务经k组时序数据计算得出的类变量发生概率,构成3×1矩阵。为挖掘用户长时间操作行为的波动,使用 Ul(i)中:[A,s]和[l,s]分别为属性序列;Co,Ca,Sh为类变量序列;Pl1(m)为使用属性序列[A,s]的第m的类别概率。则用户s在A时的Co发生概率为
式中类别的先验概率P(Co)由历史数据集计算。
根据DBPT时序结构,利用Pl(m)构成的时序数列改进贝叶斯分类法,则当前推送的目标服务l发生Co类的概率预测值为
B-Num(N,umax,L):
输入:次数矩阵N,最大服务数umax,各服务测试次数L。
输出:推送规则矩阵R2。
步骤1:查找目标服务N.Ui=1对应的服务类及推送媒介。
步骤2:使用式(2)计算 Pl1d(k)=P(d|As)与Pl2d(k)=P(d|ls),使用式(3)预测
步骤3:计算3类场景的累计3种行为的次数,组成3×3矩阵Fe2。
由此决定是否推送。
根据已得 B、R和 P^l(Mj),实现推送媒介的辅助规则Mr制定的部分匹配规则见表1。
根据生成的服务编号由匹配规则得出辅助规则Mr,在实际行车中快速生成推送策略。如前车碰撞场景中,推送系统提供振动等方式提醒行车用户,忽视用户自身操作行为,如是否先于系统发现并控制车辆。通过服务方式匹配,制定规则对主动型用户无需提醒和主动控制,对封闭型用户则主动控制车辆且警示用户。
服务推送3阶段:(1)开始服务感知到推送用户;(2)推送给用户到用户确认;(3)用户确认到媒介执行。第1、3阶段的时长取决于DASS自身性能,针对第2阶段推送时机的优化,给出时机ξ的BT算法如下。
BT(X,L,ξset,l):
输入:生成服务l,各服务测试次数L,设置初始预留时间 ξset。
输出:最佳推送时间ξ,最佳预留时间ξ0。
初始化:ξset=5 s。
步骤1:根据生成的服务l计算历史用户操作平均时间 ξl=mean(X[Ul,:]);
步骤2:根据服务的不同类型设计ξ2,以当前状态计算至危险发生的最短时间ts1和至服务发生的时间 ts2。则 l∈Al时 ξ2=tsl,l∈A2时 ξ2=min(ts1,ts2),否则 ξ2=∝。
步骤5:与3类场景特征矩阵对比得规则矩阵:
表1 部分推送方式匹配规则
ξ=-1表示用户极大可能无法在危险场景发生前确认服务推送,此时DASS应主动控制车辆,保障行车安全;ξ=1则表示系统及时推送。最佳预留时间ξ0为给用户预留的最长操作时间。
推送流程中利用DASS自主生成的目标服务,经B-Num.BT算法处理后,得出适合特定类型的行车用户推送规则与时机,在此基础上进行服务主动推送,有利于提高 DASS的使用率,完善 DASS体系。
作为DPSP的组成部分,评价层既要满足及时避免事故发生的安全需求,还应考虑用户对预警准确性和干预时机的使用需求。因此,评价层应综合及时性、安全性和准确性。
(1)安全性
考虑通过推送成功减少事故的比率,提升服务安全性。通过预警使用户专注于驾驶任务或通过主动控制等方式避免事故的发生,则安全性指标Q1为
式中:N2为用户接受推送服务仍发生的事故数;N1为无推送造成事故数,则N1-N2为接受推送服务减少的事故数。Q1表征避免事故发生的能力,越大则安全性越好。
(2)及时性
同服务l下,定义服务推送至用户操作的时长tl1,未使用DPSP的历史操作时间tl2,随L增加的推送及时性指标Q21。定义控制及时率Q22为在A1或A2中,因场景危险而无法等待用户操作或根据服务规则计算出系统可主动或伺机控制前提下,评价系统参与控制是否及时。定义服务l从发起请求至控制时长为tl3,且伺机控制前提下系统未参与控制时tl3=0,传统DASS从发起请求至控制的时长为 tl4,则
Q21越小即使用DPSP后用户操作时间缩短得越多,则推送时机的选择越佳。因不同用户在DPSP下的t具有不同特征分布,可参照Q21的值分类用户。Q22反映使用DPSP的参与控制时间较传统系统的缩短程度。
(3)准确性
以推送后用户确认率Q31,即用户的接受度来衡量准确率。但对于不同类型的用户使用难以用Q31来全面评价推送系统准确性,此时采用因用户确认或安全因素使系统直接控制车辆的主动控制的准确率Q32。
式中:xli为服务 l下实际用户的操作行为;x^li为预测操作行为,当用户确认推送服务时 x∈a,la(x)=1;用户取消推送服务则 x∉a,la(x)=0;nsum为预测次数。
式(8)中N3为成功完成主动控制的次数,N4为主动控制后由用户干预的次数,则N3+N4为系统参与车辆主动控制的总次数。Q31与Q32越大代表推送的准确率越高。
因实际道路驾驶的服务具有种类多、数据杂和路况易变等客观因素,以及服务推送受行车用户心情和认知水平等主观因素影响的特点,难以根据用户指定服务进行同类场景的重复实验。因此,多数学者通过仿真进行交通场景的研究[13-15]。因行车环境复杂并多变的特点,DASS生成的服务数在特定时刻不唯一。因此,在DPSP下利用典型实验得出不同服务类型的推送效率,实验选取3种服务类型的典型场景,表2为实验场景设置,用于验证DPSP能否挖掘行车用户的行为特征。实验场景1和2侧重于验证DPSP能否选择最佳推送时机和服务规则可靠性,实验场景3则侧重于验证DPSP推送的准确率和接受度。
表2 典型服务的实验场景设置
本文中基于PreScan/Simulink联合仿真和罗技模拟驾驶车舱DIL仿真平台,依据表3设计了3种仿真服务场景,利用DPSP的服务推送,采集行车用户的确认、取消和搁置的行为数据以验证前面提出的算法。服务场景仿真环境如图6所示。首先,利用PreScan软件提供DIL环境[16-17],搭建服务场景A1、A2、A3,其中A3为对用户的路径推送显示;其次,利用Simulink进行DPSP应用、参数显示、GUI操作和数据存储;最后,用户须通过模拟车舱控制车辆完成驾驶与服务推送操作。
图6 仿真环境示意图
数据采集实验的行车用户为20名具有3年以上驾龄的用户(包括男女各10名,年龄23~46岁),在3种场景下各用户分别进行1 000次实验,为避免用户因多次推送服务引起的机械式操作行为,3种服务类实验随机进行。通过PreScan/Simulink实现B-Num.BT及其他对比算法,对比算法包括 Hybrid[18](基于增量协同与内容的混合推荐算法)和CAR[19](上下文感知推荐算法)。在保证算法适用性前提下用服务数据集代替,融合最优推荐时机得出适用于行车服务的对比算法 Hybrid.BT[18]和CAR.BT[19]。因DASS要求服务推送能以较少数据集得出较优的推送方案,所以实验得出的测试次数L可作为实际测试参考依据。
因DPSP依据用户操作行为历史数据进行挖掘预测,随着历史数据的更新,推送规则与时机均会改变。利用B-Num.BT和对比算法的仿真实验各1 000次。评价DPSP的有效性不能仅依据历史推送数据总体效果或最新推送效果,因此将实验结果按顺序分为100组,以10次测量结果为1组,计算各指标变化趋势。图7示出其中1名用户的验证指标统计结果。参与测试的20名用户类型不同对算法的安全性、及时性和准确性均无影响。
在图 7(a)和图7(b)中,安全性 Q1随 L′增加而趋近于0.96,表明在利用DPSP的DASS推送后能最大程度降低事故发生率。在图7(c)、图7(d)和图7(e)中,及时性 Q21随 L′增加分别降至 A1:0.31、A2:0.18和 A3:0.49,而在图 7(f)和图 7(g)中,及时性Q22随 L′增加分别逐渐降至 A1:0.57和 A2:0.72,BNum.BT算法中Q22的值与Hybrid.BT相近,但指标Q21明显优于Hybrid.BT算法,表明B-Num.BT算法及时性能优势较明显。在图7(h)、图7(i)和图7(j)中,准确性 Q31随 L′增加分别逐渐趋于 A1:0.94、A2:0.71和 A3:0.77,而在图7(k)和图 7(l)中,准确性Q32随 L′增加分别逐渐趋近于 A1:0.95和 A2:0.85,各场景下B-Num.BT的准确性皆优于对比算法,且本文算法在同类场景中表现得更稳定。总之,B-Num.BT算法优于两种对比算法,输出稳定,使系统的安全性、及时性和准确性达到推送系统要求,有利于提高DASS用户体验。此外,L达500次(L′为50)后,3类服务场景下的B-Num.BT算法皆优于两种对比算法,且各性能均已达到最优值的90%。因此当测试次数L=500作为全部场景的初始测试次数,即可使推送系统的各性能达到较优值,有利于DPSP其他服务测试的初始实验设计。
由Q21的含义得知,在DPSP下4类用户经1 000次测试后,越趋于s1类的用户其Q21的值越小。分别统计20名用户在L达到250、500和1 000次时Q21的分布,结果如图8所示。因不同服务类型下所得Q21值的范围不同,且同服务下Q21值稳定在固定区间内。为便于观察,将同服务下各用户Q21的值归一化至区间[0,1],用深浅不同的颜色显示。图8中颜色越深表示同服务类型的Q21越小,即用户类型越趋向于s1类。同服务同用户的3点颜色越相近,表示该用户在多次测试时所属用户类型保持不变,即计算推送及时性指标Q21能实现对行车用户分类的功能。从图8(a)~图8(c)对比发现,测试次数L相同时,同用户在不同服务的颜色深浅相似,表明不同服务下用户类型不会发生改变,根据该特点可依照单个服务的测试结果对行车用户进行分类,以简化行车用户分类方法,对完善DASS个性化功能、促进无人驾驶在个性化方面技术的推广有重要应用价值。
(1)建立了DASS的推送服务平台(DPSP),通过服务预处理、操作行为特征挖掘、服务规则匹配、选择推送时机、在线推送和评价的流程优化DASS服务推送环节,并在流程中提出基于用户操作行为的B-Num.BT算法,提高了DASS的服务推送的用户接受度。
图7 验证指标统计结果
图8 不同用户操作统计结果
(2)以理想DASS模型为基础,利用DPSP对不同用户进行服务推送的验证实验,将在DPSP的服务推送流程的关键算法B-Num.BT算法与Hybrid.BT算法和CAR.BT算法进行对比。验证了B-Num.BT算法的及时性、安全性和准确性。通过统计发现,同服务下及时性数值分布的差异可用来对行车用户进行分类,有利于DASS实现个性化推送。
(3)本研究尚缺乏真实驾驶过程推送平台对不同用户类型和服务类型的实用性验证,对真实驾驶中多种复杂服务同时生成的服务场景适用性有待进一步研究。