一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于个性化联邦学习的分心驾驶行为识别方法与流程

2021-11-10 04:04:00 来源:中国专利 TAG:


1.本发明涉及计算机视觉和边缘计算领域,具体涉及一种基于个性化联邦学习的分心驾驶行为识别方法。


背景技术:

2.分心驾驶行为导致大量车祸,目前基于计算机视觉的分心驾驶行为方法大多是对深度学习模型进行改进,其训练和推理是中心化的,即模型训练和推理过程只会在本地或者云端进行。
3.在本地进行分心驾驶行为识别模型训练和推理需要预先收集大量样本,后续模型每升级一次要重新部署一次,比较麻烦;而在云端进行分心驾驶行为识别模型训练和推理,对网络的带宽、延时、稳定性要求极高,除此之外,上传的驾驶图像可能会涉及到驾驶员的隐私。
4.基于上述在本地和云端进行模型训练和推理存在的问题,如果将模型的训练和推理放在边缘进行,即在数据源和云端之间任何的计算资源和网络资源,在车联网中应用边缘计算则可有效解决上述问题。
5.联邦学习是边缘计算的一个训练策略,在联邦学习中多个边缘节点与一个边缘服务器组成集群共同训练一个全局模型。其中边缘服务器没有任何训练数据,所有的训练数据均分布在各个边缘节点上,边缘节点每完成一次训练便会将更新后的局部模型上传至边缘服务器,由边缘服务器聚合各节点上传的局部模型,最终实现全局模型的训练。在此过程中每个节点仅上传模型而不上传数据,因此节点用户的隐私也得到了保护。


技术实现要素:

6.针对现有技术中的上述不足,本发明提供了一种基于个性化联邦学习的分心驾驶行为识别方法。
7.为了达到上述发明目的,本发明采用的技术方案为:
8.一种基于个性化联邦学习的分心驾驶行为识别方法,包括如下步骤:
9.s1、获取车辆节点在车辆行驶时的采集的图像数据;
10.s2、预装车载分心驾驶行为识别模型并利用步骤s1获取的图像数据进行训练;
11.s3、利用步骤s2训练完成的模型在车辆节点识别分心驾驶行为。
12.进一步的,所述步骤s1具体包括:
13.s11、获取车辆行使过程中的分心驾驶行为图像,并提取当前帧的hash指纹;
14.s12、分析当前帧的驾驶行为,若当前帧的hash指纹与上一帧的hash指纹之间的hamming距离大于设定阈值,则判定驾驶员作出分心行为,并将当前帧进行数据增强并保存,其中,数据增强包括对当前帧进行水平翻转、亮度变换、随机平移;
15.s13、对保存在本地的图像标注对应的的驾驶行为类别,并将其做为训练数据集。
16.进一步的,所述步骤s13具体包括:
17.s131、将步骤s12保存的图像送入预训练后的分心驾驶行为识别模型,并输出图像类别;
18.s132、对置信度大于等于设定阈值的图像进行标注,对置信度小于设定阈值的图像进行舍弃。
19.进一步的,所述步骤s2具体包括;
20.s21、以车辆作为节点,使用车载自组网构建车辆间通信网络,并选取其中一个节点作为边缘服务器;
21.s22、利用边缘服务器初始化全局模型,其中第t轮循环时的全局模型记为ω
t
,并将全局模型分发给各个节点;
22.s23、各节点训练分发给自己的全局模型,其中,第k个节点训练后的局部模型记为并将训练后的模型发送至边缘服务器;
23.s24、边缘服务器进行模型聚合,将聚合得到的新模型作为下一循环的全局模型,并判断输出的全局模型是否收敛,若是则进入步骤s25,若否则返回步骤s22;
24.s25、各节点使用本地数据对收敛后的全局模型进行微调,对个节点收到的收敛后的全局模型利用损失函数调整其卷积层和全连阶层,并冻结其余层,其损失函数表示为:
[0025][0026]
其中l

(ω)为新的损失函数,l(ω)为多分类交叉熵损失函数,ω为模型最后一个卷积层及全连接层的待优化的参数,ω
l
为微调前模型最后一个卷积层及全连接层,和ω
i
为对应参数中的第i个元素,b
i
为每一个元素改变的难易程度,γ为约束系数。
[0027]
进一步的,所述步骤s24具体包括:
[0028]
s241、计算各节点返回至边缘服务器的模型的权重,计算方式为:
[0029][0030]
s242、利用步骤s241得到的权重计算下一循环的全局模型,表示为:
[0031][0032]
其中ω
t 1
为联邦学习第t 1轮的全局模型,为节点k在联邦学习第t 1轮训练完后的局部模型。
[0033]
进一步的,所述步骤s3具体包括:
[0034]
所述步骤s3具体包括:
[0035]
s31、每隔n帧采集一次驾驶员在驾驶过程中的分心驾驶行为图像,并提取当前帧的hash指纹,若满足当前帧的hash指纹与上一帧的hash指纹之间的hamming距离大于设定阈值,则将当前帧加入队列;
[0036]
s32、在待识别队列中设置大小固定的滑窗,利用分心驾驶行为识别模型对滑窗中的图像进行分类;
[0037]
s33、若滑窗内图像分类结果相同且置信度均大于设定阈值,则判定驾驶员作出一
种分心驾驶动作并对应进行语音提示。
[0038]
本发明具有以下有益效果:
[0039]
本发明在微调时对模型的损失函数加上额外的约束项,使用传统的微调方法进行模型微调会使模型“遗忘”微调训练数据中未出现的数据种类,进而导致这些数据种类识别率降低。本发明中的约束项对参数中每一个元素改变的难易程度进行了约束,从而避免“遗忘”。
[0040]
本发明使用个性化联邦学习算法,传统的联邦学习算法侧重于通过分布式学习所有参与节点的本地数据来获得高质量的全局模型,因此它无法捕获每个节点的个人信息,从而导致推理或分类的性能下降。此外,传统的联邦学习需要所有参与节点就协作训练的共同模型达成一致,这在实际复杂的应用中是不现实的。本发明采用个性化联邦学习算法,首先每个节点在其他节点的帮助下共同训练出一个全局模型,各节点再使用本地数据对模型进行个性化处理,得到本地最优的模型。
附图说明
[0041]
图1所示为本发明实施例提供的基于个性化联邦学习的分心驾驶行为识别方法整体框架图。
[0042]
图2所示为本发明实施例提供的多个车辆节点进行个性化联邦学习示意图。
[0043]
图3所示为本发明实施例提供的模型识别阶段使用的滑动窗口示意图。
具体实施方式
[0044]
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
[0045]
一种基于个性化联邦学习的分心驾驶行为识别方法,包括训练数据采集阶段、车载分心驾驶行为识别模型训练阶段、模型识别阶段,如图1所示,具体包括如下步骤:
[0046]
s1、获取车辆节点在车辆行驶时的采集的图像数据;
[0047]
在本实施例里,包括如下分步骤:
[0048]
s11、车辆行驶时使用车载摄像头每隔3帧采集一次驾驶员在驾驶过程中的分心驾驶行为图像,并提取当前帧的hash指纹。
[0049]
s12、对满足条件的当前帧进行数据增强并保存到本地,其条件具体为:若当前帧的hash指纹与上一帧的hash指纹之间的hamming距离大于2,则认为此时驾驶员做出了某种动作,对于满足条件的当前帧图像进行水平翻转、亮度变换、随机平移处理以完成数据增强。
[0050]
s13、车辆空闲时对保存在本地的图像标注对应的的驾驶行为类别,作为训练集,具体方式为:
[0051]
s131、将保存在本地的图像送入预训练好的分心驾驶行为识别模型,输出图像类别;
[0052]
s132、对置信度大于等于设定阈值的图像进行标注,置信度小于设定阈值的图像
进行舍弃。
[0053]
本实施例中设置阈值为0.95,对于置信度大于等于阈值的图像,对其标注上标签即分类结果;对于置信度小于阈值的图像做丢弃处理。
[0054]
s2、预装车载分心驾驶行为识别模型并利用步骤s1获取的图像数据进行训练,具体而言,如图2所示,车载分心驾驶行为识别模型训练阶段包括如下步骤:
[0055]
s21、在车辆空闲时,将车辆作为节点,使用车载自组网(vanet)构建一个车辆间通信网络,并选取其中一个节点作为边缘服务器;
[0056]
s22、利用边缘服务器初始化全局模型,其中第t轮循环时的全局模型记为ω
t
,并将全局模型分发给各个节点;
[0057]
s23、各节点训练分发给自己的全局模型,其中,第k个节点训练后的局部模型记为并将训练后的模型发送至边缘服务器;
[0058]
s24、边缘服务器进行模型聚合,将聚合得到的新模型作为下一循环的全局模型,并判断输出的全局模型是否收敛,若是则进入步骤s25,若否则返回步骤s22,其中,将聚合得到的新模型作为下一循环的全局模型具体包括:
[0059]
s241、计算各节点返回至边缘服务器的模型的权重,计算方式为:
[0060][0061]
s242、利用步骤s241得到的权重计算下一循环的全局模型,表示为:
[0062][0063]
其中ω
t 1
为联邦学习第t 1轮的全局模型,为节点k在联邦学习第t 1轮训练完后的局部模型。
[0064]
s25、各节点使用本地数据对收敛后的全局模型进行微调,对个节点收到的收敛后的全局模型利用损失函数调整其卷积层和全连接层,并冻结其余层,其损失函数表示为:
[0065][0066]
其中l

(ω)为新的损失函数,l(ω)为多分类交叉熵损失函数,ω为模型最后一个卷积层及全连接层的待优化的参数,ω
l
为微调前模型最后一个卷积层及全连接层,和ω
i
为对应参数中的第i个元素,b
i
为每一个元素改变的难易程度,γ为约束系数。b
i
的计算为损失函数对参数中每一个元素的二阶导,但是二阶导的计算量较大,因此本发明使用fisher信息矩阵来近似二阶导。
[0067]
s3、利用步骤s2训练完成的模型在车辆节点识别分心驾驶行为,模型识别阶段包括以下步骤,
[0068]
s31、在车辆行驶时维持一个待识别图像队列,每隔n帧采集一次驾驶员在驾驶过程中的分心驾驶行为图像,并提取当前帧的hash指纹。若满足前帧的hash指纹与上一帧的hash指纹之间的hamming距离大于2,则认为此时驾驶员做出了某种动作,并将当前帧加入队列。
[0069]
s32、在待识别队列图像中设置大小为3的滑动窗口,使用车载分心驾驶行为识别模型对滑动窗口中的图像进行分类,如图3所示。
[0070]
s33、若滑窗内图像分类结果相同且置信度均大于设定阈值,则判定驾驶员作出一种分心驾驶动作并对应进行语音提示。
[0071]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0072]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0073]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0074]
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
[0075]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献