一种基于多特征卷积神经网络的不良驾驶状态识别方法转让专利

申请号 : CN201910510060.0

文献号 : CN110263836B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢非汪壬甲刘文慧杨继全吴俊章悦刘益剑陆飞汪璠

申请人 : 南京师范大学南京智能高端装备产业研究院有限公司

摘要 :

本发明公开了一种基于多特征卷积神经网络的不良驾驶状态识别方法,包括:采集车载智能手机惯性传感器数据,进行预处理,得到源数据集;将源数据集划分成一个个的数据单元,对每一个数据单元进行统计学特征提取,并打上标签制成数据集,命名为特征数据集;搭建多特征卷积神经网络,选择合适的网络参数与优化器,并使用源数据集与特征数据集对多特征卷积神经网络进行充分训练,得到训练好的多特征卷积神经网络模型;使用训练好的多特征卷积神经网络模型对车载手机惯性传感器数据进行分类,从而实现对汽车当前驾驶状态的识别,判断汽车当前驾驶状态是否为不良驾驶状态,并在后台进行数据记录与处理。本发明具有运算速度快、识别率高、抗环境干扰能力强的优点。

权利要求 :

1.一种基于多特征卷积神经网络的不良驾驶状态识别方法,其特征在于,包括以下步骤:步骤1:采集并保存车载智能手机惯性传感器数据,对所采集的车载智能手机惯性传感器数据进行预处理,打上标签制成数据集,并记为源数据集;

步骤2:完成对源数据集的数据划分,将源数据集划分成数据单元,对每一个数据单元进行统计学特征提取,得到特征数据集;

步骤3:搭建多特征卷积神经网络,并使用源数据集与特征数据集对多特征卷积神经网络进行充分训练,得到训练好的多特征卷积神经网络模型;

步骤4,使用训练好的多特征卷积神经网络模型对车载智能手机惯性传感器数据进行分类,根据分类结果判断汽车当前驾驶状态是否为不良驾驶状态;

步骤1包括:

步骤1.1:在各种汽车驾驶状态下对所述智能手机的惯性传感器进行数据采集,得到并保存各种驾驶状态下车载智能手机传感器的各项数据,所述惯性传感器包括加速度计与陀螺仪;

步骤1.2:采用数据滤波、坐标转换与数据中心化方法对步骤1.1采集得到的数据进行预处理操作,得到预处理后的数据;

步骤1.3:根据数据采集时的汽车驾驶状态对步骤1.2得到的预处理后的数据进行打标签操作,得到打好标签的数据集,并记为源数据集;

步骤1.1包括:

所述各种汽车驾驶状态包括10种:正常驾驶、停车状态、正常加速、正常减速、正常左转、正常右转、急左转、急右转、急减速和急加速,在这10种状态下分别对车载智能手机的惯性传感器进行数据采集,对加速度计采集手机的三轴加速度accx、accy、accz,对陀螺仪采集手机的三轴角速度gyrx、gyry、gyrz,并记录采集时刻t,其中,10种驾驶状态各采集D秒,每秒采集n1次,得到一个数据序列,并保存;

步骤1.2包括:

步骤1.2.1,根据卡尔曼滤波器对得到的数据序列进行数据滤波;

步骤1.2.2,设定当手机正面向上水平放置时,手机坐标系与大地坐标系重合,即沿汽车行驶方向水平向前为y轴正方向,沿汽车行驶方向水平向右为x轴正方向,垂直于x轴y轴平面向上为z轴正方向;手机坐标系与大地坐标系均为右手坐标系;

步骤1.2.3,在采集数据过程中若手机无法保持水平姿态,使用矩阵变换来将手机坐标系下的数据转换到大地坐标系,以下公式分别为x轴、y轴、z轴的坐标旋转矩阵:其中,Rx(θ)为x轴坐标旋转矩阵, 为y轴坐标旋转矩阵,Rz(ψ)为z轴坐标旋转矩阵,θ为手机坐标系x轴与大地坐标系x轴的夹角,为手机坐标系y轴与大地坐标系y轴的夹角,ψ为手机坐标系z轴与大地坐标系z轴的夹角;

使用下式对采集到的手机坐标系下的加速度数据与角速度数据进行坐标转换:

式中,A为采集到的手机坐标系下的加速度数据,G为采集到的手机坐标系下的角速度数据,AE为经过坐标转换后得到的大地坐标系下的加速度数据,GE为经过坐标转换后得到的大地坐标系下的角速度数据,将坐标转换后的数据存入数据集A1中;

步骤1.2.4,使用以下公式对数据集A1中的数据进行数据中心化处理:

其中,Xck为数据集A1中第c行第k列的数据,e+1为数据集A1的行数,midXck为中心化处理后的数据集A1中第c行第k列的数据,从而得到预处理后的数据集A2;

步骤1.3包括:

用数字0~9来分别对应10种汽车驾驶状态,根据数据集A2中各行数据采集时对应的汽车驾驶状态对步骤1.2得到的预处理后的数据集A2打上标签,打上标签即在数据集A2里增加一列,内容为各行数据采集时汽车驾驶状态对应的0~9的数字,将打上标签后的数据集记为源数据集,源数据集的数据结构如下式所示:V=(accx′ accy′ accz′ gyrx′ gyry′ gyrz′ t S),其中V为源数据集数据的行序列,accx′为经过预处理的手机x轴加速度数据,accy′为经过预处理的手机y轴加速度数据,accz′为经过预处理的手机z轴加速度数据,gyrx′为经过预处理的手机x轴角速度数据,gyry′为经过预处理的手机y轴角速度数据,gyrz′为经过预处理的手机z轴角速度数据,t为该行数据的采集时间,S为该行的数据标签;

所述步骤2,包括:

步骤2.1:根据数据的采集时间,对源数据集进行划分,将同1秒采集到的n1行数据作为一个数据单元;

步骤2.2:对步骤2.1得到的每一个数据单元进行统计学特征提取,并制成数据集,命名为特征数据集;

步骤2.2包括:

对步骤2.1划分好的数据单元进行统计学特征的提取,需要提取的统计学特征包括:均值、方差、最大值、最小值、变化幅度与平均交叉率,具体包括:任意取一个数据单元作为当前数据单元,根据以下公式来进行均值计算:

其中,Xij为当前数据单元第i行第j列的数据,n+1为每一个数据单元的行数, 为当前数据单元第j列数据的均值;

使用下列公式进行计算数据单元每一列的方差:

其中, 为当前数据单元第j列的方差;

使用以下公式来计算数据变化的幅度:

其中,Max(Xi)为当前数据单元第i列数据的最大值,Min(Xi)为当前数据单元第i列数据的最大值, 为当前数据单元第i列数据的变化幅度;

采用如下公式计算数据单元内各列数据的平均交叉率:

其中,Xi+1j为当前数据单元第i+1行第j列的数据,γ为指示函数, 为当前数据单元第j列数据的平均交差率;

每个数据单元的前6列数据每一列有6个特征值:均值、方差、最大值、最小值、变化幅度、平均交叉率,所以每一个数据单元有36个统计学特征,利用每个数据单元的统计学特征构成一个新的数据集,记为特征数据集,特征数据集有m行36列,m为数据单元的个数;

所述步骤3,包括:

步骤3.1:搭建多特征卷积神经网络,并确定网络结构;

步骤3.2:选择网络优化器并使用源数据集与特征数据集对多特征卷积神经网络进行训练,得到训练好的多特征卷积神经网络模型;

步骤3.1包括:

所述网络结构由3个部分组成,具体搭建方法如下:

第一部分包括输入层、两个卷积层和一个池化层,用于对数据进行卷积特征提取,作用是获取第b个数据单元的卷积特征图,b依次从0取到m,第一部分的输入来自于源数据集,由于每一个数据单元是一个n1*8的二维数组,取前6列作为第一部分的输入,送到输入层;输入层后面是第一部分的第一个卷积层,该层选用了16个3*3的卷积核,步长为1,填充数量为

1,卷积层的输出尺寸计算公式如下列公式所示:

其中,Z是卷积输出数据的长度,W是卷积输入数据的长度,P是填充数量,F是卷积核的长度,S表示步长;对于第一部分中的第一个卷积层,由上述公式计算得到第一部分第一个卷积层的输出数据大小是n1*6*16;在该卷积层后使用线性整流函数作为激活函数,将经过激活函数的数据送入第一部分的第二个卷积层,第二个卷积层采用32个3*3卷积核,步长为

1,填充数量为1,则根据卷积层的输出尺寸计算公式,第一部分第二个卷积层的输出大小是n1*6*32;第一部分的第二个卷积层后也使用线性整流函数作为激活函数,将经过激活函数的数据送入第一部分的池化层,所述池化层均为最大池化层,对于第一部分的池化层,采用

2*2大小的矩形窗口进行滑动,水平方向的步长为2,垂直方向的步长为2,池化层的输出尺寸计算公式如下列公式所示:其中,Z′是池化层输出的长度,W′是池化层输入的长度,F′为滤波器的长度,S′表示水平方向的步长,根据上述公式,第一部分的池化层输出尺寸为50*3*32,第一部分的池化层输出就是第b个数据单元的卷积特征图;

第二部分由一个卷积层和一个池化层组成,将由第一部分得到的第b个数据单元的卷积特征图与第b-1个数据单元的卷积特征图相融合并整形为一个尺寸为n1*96的二维向量,命名为全整合特征图,当b=0时,用尺寸为50*3*32的全0数据来代替第b-1个数据单元的卷积特征图,将全整合特征图送入第二部分的卷积层,该卷积层采用6个3*3卷积核,步长为1,填充数量为1,则根据卷积层的输出尺寸计算公式,第一部分第二个卷积层的输出大小是n1*96*6;第一部分的第二个卷积层后也使用线性整流函数作为激活函数,将经过激活函数的数据送入第一部分的池化层,该池化层采用2*2大小的矩形窗口进行滑动,水平方向的步长为2,垂直方向的步长为2;根据池化层的输出尺寸计算公式,第二部分的卷积层的输出大小是50*48*6;

第三部分由三层全连接网络组成:输入层、隐藏层与输出层;第三部分的输入层由第二部分的输出与特征数据集共同构成;第二部分的输出大小为50*48*6,特征数据集第b行有

36个数据,将它们整合成一个14436*1的一维向量,将这个向量作为第三部分的输入送入输入层;隐藏层放置了1024个神经元,输出层放置了10个神经元,对应汽车的10种驾驶状态。

2.根据权利要求1所述的方法,其特征在于,步骤3.2包括:

将源数据集与特征数据集按照4:1的比例划分为训练集和测试集,在训练的过程中,将源数据集的每个数据单元与特征数据集的每一行作为一个训练单元,损失函数使用交叉熵损失函数,网络优化器采用亚当优化器,对网络进行充分训练,得到训练好的多特征卷积神经网络模型;

步骤4包括:

步骤4.1:实时采集汽车驾驶过程中车载智能手机的惯性传感器数据,使用步骤3得到的训练好的模型对实时采集的数据进行分类,得到汽车当前的驾驶状态类别;

步骤4.2:根据步骤4.1得到的汽车当前的驾驶状态进行判断,若汽车的驾驶状态为:正常驾驶、停车状态、正常加速、正常减速、正常左转、正常右转中任一种,则表明目前司机驾驶状态良好,若汽车驾驶状态为急左转、急右转、急减速、急加速中任一种,则表明出现了不良驾驶状态,发出提示音提醒司机规范驾驶,并进行数据记录,每24小时对司机的不良驾驶次数进行统计,并上传到后台。

说明书 :

一种基于多特征卷积神经网络的不良驾驶状态识别方法

技术领域

[0001] 本发明涉及传感器数据采集及深度学习的技术领域,尤其涉及一种基于多特征卷积神经网络的不良驾驶状态识别方法。

背景技术

[0002] 随着汽车工业的飞速发展以及汽车普及率升高,汽车已经成为最为主要的代步工具。可是部分司机仍存在驾车不规范的问题,交管部门及一些网约车平台希望能对司机的驾驶状态进行监督,以评估司机的驾驶习惯。
[0003] 目前,针对不良驾驶状态检测主要有三种方法,一是通过在汽车上安装不同类型的传感器或车载计算机系统来检测危险驾驶状态,降低驾驶风险。二是通过驾驶员的外部状态比如眼球的运动、点头、生理指标等来判断驾驶员的行车状态是否良好。三是结合便携式设备如智能手机、智能手表等来进行车辆驾驶状态的识别分类。相较于前两种方法,利用便携式设备的传感器信息来进行驾驶状态分析更加简便,利于推广。目前该类方法主要是基于瞬间采集的数据并利用传感器数据变化阈值及传统的机器学习算法来进行分析,系统鲁棒性与准确率均有待提高。

发明内容

[0004] 针对现有技术的不足,本发明提供了一种基于多特征卷积神经网络的不良驾驶状态识别方法,包括如下步骤:
[0005] 步骤1:采集并保存车载智能手机惯性传感器数据,对所采集的车载智能手机惯性传感器数据进行预处理,打上标签制成数据集,并记为源数据集;
[0006] 步骤2:完成对源数据集的数据划分,将源数据集划分成数据单元,对每一个数据单元进行统计学特征提取,得到特征数据集;
[0007] 步骤3:搭建多特征卷积神经网络,并使用源数据集与特征数据集对多特征卷积神经网络进行充分训练,得到训练好的多特征卷积神经网络模型;
[0008] 步骤4,使用训练好的多特征卷积神经网络模型对车载智能手机惯性传感器数据进行分类,根据分类结果判断汽车当前驾驶状态是否为不良驾驶状态。
[0009] 进一步地,所述步骤1包括:
[0010] 步骤1.1:在各种汽车驾驶状态下对所述智能手机的惯性传感器进行数据采集,得到并保存各种驾驶状态下车载智能手机传感器的各项数据,所述惯性传感器包括加速度计与陀螺仪;
[0011] 步骤1.2:采用数据滤波、坐标转换与数据中心化方法对步骤1.1采集得到的数据进行预处理操作,得到预处理后的数据;
[0012] 步骤1.3:根据数据采集时的汽车驾驶状态对步骤1.2得到的预处理后的数据进行打标签操作,得到打好标签的数据集,并命名为源数据集。
[0013] 进一步地,所述步骤1.1包括:
[0014] 所述各种汽车驾驶状态包括10种:正常驾驶、停车状态、正常加速、正常减速、正常左转、正常右转、急左转、急右转、急减速和急加速。在这10种状态下分别对车载智能手机的惯性传感器(加速度计与陀螺仪)进行数据采集,对加速度计采集手机的三轴加速度accx、accy、accz,对陀螺仪采集手机的三轴角速度gyrx、gyry、gyrz,并记录采集时刻t,其中,10种驾驶状态各采集D秒,每秒采集n1(一般取值为100)次,得到一个数据序列,并保存到文件中。
[0015] 进一步地,所述步骤1.2包括:
[0016] 步骤1.2.1,根据卡尔曼滤波器对得到的数据序列进行数据滤波,抑制噪声信号;
[0017] 步骤1.2.2,设定当手机正面向上水平放置时,手机坐标系与大地坐标系重合,即沿汽车行驶方向水平向前为y轴正方向,沿汽车行驶方向水平向右为x轴正方向,垂直于x轴y轴平面向上为z轴正方向。手机坐标系与大地坐标系均为右手坐标系;
[0018] 步骤1.2.3,在采集数据过程中若手机无法保持水平姿态,使用矩阵变换来将手机坐标系下的数据转换到大地坐标系。以下公式分别为x轴、y轴、z轴的坐标旋转矩阵:
[0019]
[0020]
[0021]
[0022] 其中,Rx(θ)为x轴坐标旋转矩阵, 为y轴坐标旋转矩阵,Rz(ψ)为z轴坐标旋转矩阵,θ为手机坐标系x轴与大地坐标系x轴的夹角,为手机坐标系y轴与大地坐标系y轴的夹角,ψ为手机坐标系z轴与大地坐标系z轴的夹角。使用下式对采集到的手机坐标系下的加速度数据与角速度数据进行坐标转换:
[0023]
[0024]
[0025] 式中,A为采集到的手机坐标系下的加速度数据,G为采集到的手机坐标系下的角速度数据,Rx(θ)为x轴坐标旋转矩阵, 为y轴坐标旋转矩阵,Rz(ψ)为z轴坐标旋转矩阵,AE为经过坐标转换后得到的大地坐标系下的加速度数据,GE为经过坐标转换后得到的大地坐标系下的角速度数据,将坐标转换后的数据存入数据集A1中。
[0026] 步骤1.2.4,使用以下公式对数据集A1中的数据进行数据中心化处理:
[0027]
[0028] 其中,Xck为数据集A1中第c行第k列的数据,e+1为数据集A1的行数,midXck为中心化处理后的数据集A1中第c行第k列的数据,从而得到预处理后的数据集A2。
[0029] 进一步地,所述步骤1.3包括:
[0030] 用数字0~9来分别对应10种汽车驾驶状态,根据数据集A2中各行数据采集时对应的汽车驾驶状态对步骤1.2得到的预处理后的数据集A2打上标签,打上标签即在数据集A2里增加一列,内容为各行数据采集时汽车驾驶状态对应的0~9的数字。将打上标签后的数据集记为源数据集,源数据集的数据结构如下式所示:
[0031] V=(acc′x acc′y acc′z gyr′x gyr′y gyr′z t S),
[0032] 其中V为源数据集数据的行序列,acc′x为经过预处理的手机x轴加速度数据,accy′为经过预处理的手机y轴加速度数据,acc′z为经过预处理的手机z轴加速度数据,gyrx′为经过预处理的手机x轴角速度数据,gyry′为经过预处理的手机y轴角速度数据,gyrz′为经过预处理的手机z轴角速度数据,t为该行数据的采集时间,S为该行的数据标签。
[0033] 进一步地,所述步骤2,包括:
[0034] 步骤2.1:根据数据的采集时间,对源数据集进行划分。由于采集数据时,每种驾驶状态下进行了D秒的数据采集,且每秒采集100组数据,因此将同1秒采集到的n1(取值为100)行数据作为一个数据单元;
[0035] 步骤2.2:对步骤2.1得到的每一个数据单元进行统计学特征提取,并制成数据集,命名为特征数据集。
[0036] 进一步地,所述步骤2.2,包括:
[0037] 对步骤2.1划分好的数据单元进行统计学特征的提取,需要提取的统计学特征包括:均值、方差、最大值、最小值、变化幅度与平均交叉率,具体包括:
[0038] 均值可以很好的反应数据的平均水平,因此数据单元的每列数据均值对于数据的预测分类有重要作用,任意取一个数据单元作为当前数据单元,根据以下公式来进行均值计算:
[0039]
[0040] 其中,Xij为当前数据单元第i行第j列的数据,n+1为每一个数据单元的行数,由于将100行数据作为一个数据单元,这里n取99, 为当前数据单元第j列数据的均值。
[0041] 数据的离散程度可以由方差来反应,使用下列公式进行计算数据单元每一列的方差:
[0042]
[0043] 其中, 为当前数据单元第j列的方差。
[0044] 数据单元每一列数据的最大值Max(Xi)和最小值Min(Xi)可以反映车辆加速度变化的峰值,也可以作为辅助特征。使用以下公式来计算数据变化的幅度:
[0045]
[0046] 其中,Max(Xi)为当前数据单元第i列数据的最大值,Min(Xi)为当前数据单元第i列数据的最大值, 为当前数据单元第i列数据的变化幅度。
[0047] 数据单元内各列数据的平均交叉率,可以反映同一列相邻行数据之间的相关性。采用如下公式计算数据单元内各列数据的平均交叉率:
[0048]
[0049] 其中,Xij为当前数据单元第i行第j列的数据,Xi+1j为数据单元第i+1行第j列的数据, 为当前数据单元第j列数据的均值,γ为指示函数, 为当前数据单元第j列数据的平均交差率。
[0050] 每个数据单元的前6列数据每一列有6个特征值:均值、方差、最大值、最小值、变化幅度、平均交叉率,所以每一个数据单元有36个统计学特征。利用每个数据单元的统计学特征构成一个新的数据集,记为特征数据集。特征数据集有m行36列,m为数据单元的个数。
[0051] 进一步地,所述步骤3,包括:
[0052] 步骤3.1:搭建多特征卷积神经网络,并确定网络结构;
[0053] 步骤3.2:选择网络优化器并使用源数据集与特征数据集对多特征卷积神经网络进行训练,得到训练好的多特征卷积神经网络模型。
[0054] 进一步地,所述步骤3.1,包括:
[0055] 所述多特征卷积神经网络结构由3个部分组成,具体搭建方法如下:
[0056] 第一部分包括输入层、两个卷积层和一个池化层,用于对数据进行卷积特征提取,作用是获取第b个数据单元的卷积特征图。b依次从0取到m,m为数据单元个数。第一部分的输入来自于源数据集,由于每一个数据单元是一个100*8的二维数组,取前6列(100*6)作为第一部分的输入,送到输入层。输入层后面是第一部分的第一个卷积层,该层选用了16个3*3的卷积核,步长为1,填充数量为1。卷积层的输出尺寸计算公式如下列公式所示:
[0057]
[0058] 其中,Z是卷积输出数据的长度,W是卷积输入数据的长度,P是填充数量,F是卷积核的长度,S表示步长。对于第一部分中的第一个卷积层,所以由上述公式可以计算得到第一部分第一个卷积层的输出数据大小是100*6*16。在该卷积层后使用线性整流函数作为激活函数。将经过激活函数的数据送入第一部分的第二个卷积层,第二个卷积层采用32个3*3卷积核,步长为1,填充数量为1,则根据卷积层的输出尺寸计算公式,第一部分第二个卷积层的输出大小是100*6*32。第一部分的第二个卷积层后也使用线性整流函数作为激活函数。将经过激活函数的数据送入第一部分的池化层,一般来说池化层按照工作原理分为两种:最大值池化层和均值池化层,本发明采用的所有池化层均为最大池化层,对于第一部分的池化层,采用2*2大小的矩形窗口进行滑动,水平方向的步长为2,垂直方向的步长为2。池化层的输出尺寸计算公式如下列公式所示:
[0059]
[0060] 其中,Z′是池化层输出的长度,W′是池化层输入的长度,F′为滤波器的长度,S′表示水平方向的步长。根据上述公式,第一部分的池化层输出尺寸为50*3*32。第一部分的池化层输出就是第b个数据单元的卷积特征图。
[0061] 第二部分由一个卷积层和一个池化层组成。将由第一部分得到的第b个数据单元的卷积特征图与第b-1个数据单元的卷积特征图相融合并整形为一个尺寸为100*96的二维向量,命名为全整合特征图。当b=0时,用尺寸为50*3*32的全0数据来代替第b-1个数据单元的卷积特征图。将全整合特征图送入第二部分的卷积层,该卷积层采用6个3*3卷积核,步长为1,填充数量为1,则根据卷积层的输出尺寸计算公式,第一部分第二个卷积层的输出大小是100*96*6。第一部分的第二个卷积层后也使用线性整流函数作为激活函数。将经过激活函数的数据送入第一部分的池化层,该池化层采用2*2大小的矩形窗口进行滑动,水平方向的步长为2,垂直方向的步长为2。根据池化层的输出尺寸计算公式,第二部分的卷积层的输出大小是50*48*6。
[0062] 第三部分由三层全连接网络组成:输入层、隐藏层与输出层。第三部分的输入层由第二部分的输出与特征数据集共同构成。第二部分的输出大小为50*48*6,特征数据集第b行有36个数据,将它们整合成一个14436*1的一维向量,将这个向量作为第三部分的输入送入输入层。隐藏层放置了1024个神经元,输出层放置了10个神经元,对应汽车的10种驾驶状态。
[0063] 进一步地,所述步骤3.2,包括:
[0064] 首先将源数据集与特征数据集按照4:1的比例划分为训练集和测试集。在训练的过程中,将源数据集的每个数据单元与特征数据集的每一行作为一个训练单元,损失函数使用交叉熵损失函数,网络优化器采用亚当优化器,对网络进行充分训练,得到训练好的多特征卷积神经网络模型。
[0065] 进一步地,所述步骤4包括:
[0066] 步骤4.1:实时采集汽车驾驶过程中车载智能手机的惯性传感器数据,使用步骤3得到的训练好的模型对实时采集的数据进行分类,得到汽车当前的驾驶状态类别。
[0067] 步骤4.2:根据步骤4.1得到的汽车当前的驾驶状态进行判断,若汽车的驾驶状态为:正常驾驶、停车状态、正常加速、正常减速、正常左转、正常右转中任一种,则表明目前司机驾驶状态良好,若汽车驾驶状态为急左转、急右转、急减速、急加速中任一种,则表明出现了不良驾驶状态,发出提示音提醒司机规范驾驶,并进行数据记录,每24小时对司机的不良驾驶次数进行统计,并上传到后台。
[0068] 由以上技术方案可知,本发明提供一种基于多特征卷积神经网络的不良驾驶状态识别方法,包括:步骤1:采集并保存车载智能手机惯性传感器数据,对所采集的车载智能手机惯性传感器数据进行与预处理,打上标签制成数据集,并命名为源数据集;步骤2:完成对源数据集的数据划分,将源数据集划分成一个个的数据单元,对每一个数据单元进行统计学特征提取,并制成数据集,命名为特征数据集;步骤3:搭建多特征卷积神经网络,选择合适的网络参数与优化器,并使用源数据集与特征数据集对多特征卷积神经网络进行充分训练,得到训练好的多特征卷积神经网络模型;步骤4,使用训练好的多特征卷积神经网络模型对车载智能手机惯性传感器数据进行分类,从而实现对汽车当前驾驶状态的识别。判断汽车当前驾驶状态是否为不良驾驶状态,并在后台进行数据记录与处理。
[0069] 本发明提供了一种基于多特征卷积神经网络的不良驾驶状态识别方法,充分考虑汽车驾驶状态相邻时刻存在联系的特点,设计了多特征卷积神经网络。利用相邻时刻的数据来共同对驾驶状态进行分析预测。解决了目前不良驾驶识别系统准确率不高,系统的稳定性不好等问题。并且具有很高的可移植性,可应用于智能手机平台,应用前景广泛。
[0070] 本发明针对目前驾驶状态识别精度及稳定性不高的问题,提出基于多特征卷积神经网络与智能手机惯性传感器的不良驾驶状态识别方法,设计了多特征卷积神经网络模型与算法。提升了驾驶状态识别系统的稳定性与准确性,能对多种驾驶状态进行可靠识别。

附图说明

[0071] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
[0072] 图1是本发明实施例提供的一种基于多特征卷积神经网络的不良驾驶状态识别方法的工作流程示意图;
[0073] 图2是本发明实施例提供的一种基于多特征卷积神经网络的不良驾驶状态识别方法的系统总体框图;
[0074] 图3是本发明实施例提供的一种智能手机的坐标系统示意图;
[0075] 图4是本发明实施例提供的一种车载智能手机惯性传感器数据采集现场图像;
[0076] 图5是本发明实施例提供的一种基于多特征卷积神经网络的不良驾驶识别系统结构图;
[0077] 图6是本发明实施例提供的一种多特征卷积神经网络模型图;

具体实施方式

[0078] 下面结合附图及实施例对本发明做进一步说明。
[0079] 本发明实施例公开了一种基于多特征卷积神经网络的不良驾驶状态识别方法,在本发明实施例中,由车载智能手机传感器:加速度计【可参考杨蕾,胡银泉.智能手机中加速度计的原理及教学应用[J].物理通报,2017(01):80-81】与陀螺仪【可参考刘延柱,杨晓东.藏在手机里的微型陀螺仪[J].力学与实践,2017,39(05):506-508】采集三轴加速度与三轴角速度及采样时间。经过预处理制成数据集,并划分数据单元,提取统计学特征。构建多特征卷积神经网络,使用采集到的数据训练网络,使用得到的网络模型对汽车驾驶状态进行预测。本方法可应用于智能驾驶等领域。
[0080] 参照图1与图2,为本发明实施例提供的一种基于多特征卷积神经网络的不良驾驶状态识别方法的工作流程示意图,包括以下步骤:
[0081] 步骤1:采集并保存车载智能手机惯性传感器数据,对所采集的车载智能手机惯性传感器数据进行预处理,打上标签制成数据集,并命名为源数据集;
[0082] 步骤2:完成对源数据集的数据划分,将源数据集划分成一个个的数据单元,对每一个数据单元进行统计学特征提取,并制成数据集,命名为特征数据集;
[0083] 步骤3:搭建多特征卷积神经网络,选择网络参数与优化器,并使用源数据集与特征数据集对多特征卷积神经网络进行充分训练,得到训练好的多特征卷积神经网络模型;
[0084] 步骤4,使用训练好的多特征卷积神经网络模型对车载智能手机惯性传感器数据进行分类,从而实现对汽车当前驾驶状态的识别。判断汽车当前驾驶状态是否为不良驾驶状态,并在后台进行数据记录与处理。
[0085] 下面结合附图和具体实施例对本发明作进一步说明。
[0086] 在本发明实施例中,智能手机的坐标系统如图3所示,智能手机传感器数据采集现场图片如图4所示,根据图4示例,对智能手机惯性传感器数据进行采集,坐标转换与预处理。
[0087] 所述步骤1包括:步骤1.1:在各种汽车驾驶状态下对所述智能手机的惯性传感器(加速度计与陀螺仪)进行数据采集,得到并保存各种驾驶状态下车载智能手机传感器的各项数据;
[0088] 步骤1.2:采用数据滤波、坐标转换与数据中心化方法对步骤1.1采集得到的数据进行预处理操作,得到预处理后的数据;
[0089] 步骤1.3:根据数据采集时的汽车驾驶状态对步骤1.2得到的预处理后的数据进行打标签操作,得到打好标签的数据集,并命名为源数据集。
[0090] 在本发明实施例中,所述步骤1.1包括:
[0091] 将汽车的驾驶状态分为10种:正常驾驶、停车状态、正常加速、正常减速、正常左转、正常右转、急左转、急右转、急减速、急加速。在这10种状态下分别对车载智能手机的惯性传感器(加速度计与陀螺仪)进行数据采集,对加速度计采集手机的三轴加速度accx、accy、accz,对陀螺仪采集手机的三轴角速度gyrx、gyry、gyrz,并记录采集时刻t,其中,10种驾驶状态各采集D秒(D不小于10000),每秒采集100次,得到一个数据序列,并保存到文件中。
[0092] 所述步骤1.2包括:
[0093] 根据卡尔曼滤波器【一种常见的递归滤波器,可参考Zhou P,Li M,Shen G,Use ItFree:Instantly Knowing Your Phone Attitude[C]//Mobile Computing&Networking ACM,2014:101-113】对得到的数据序列进行数据滤波,抑制噪声信号。规定当手机正面向上水平放置时,手机坐标系与大地坐标系重合,即沿汽车行驶方向水平向前为y轴正方向,沿汽车行驶方向水平向右为x轴正方向,垂直于x轴y轴平面向上为z轴正方向。手机坐标系与大地坐标系均为右手坐标系。在采集数据过程中若手机无法保持水平姿态,使用矩阵变换来将手机坐标系下的数据转换到大地坐标系。以下公式分别为x轴、y轴、z轴的坐标旋转矩阵:
[0094]
[0095]
[0096]
[0097] 其中,Rx(θ)为x轴坐标旋转矩阵, 为y轴坐标旋转矩阵,Rz(ψ)为z轴坐标旋转矩阵,θ为手机坐标系x轴与大地坐标系x轴的夹角,为手机坐标系y轴与大地坐标系y轴的夹角,ψ为手机坐标系z轴与大地坐标系z轴的夹角。使用下式对采集到的手机坐标系下的加速度数据与角速度数据进行坐标转换:
[0098]
[0099]
[0100] 式中,A为采集到的手机坐标系下的加速度数据,G为采集到的手机坐标系下的角速度数据,Rx(θ)为x轴坐标旋转矩阵, 为y轴坐标旋转矩阵,Rz(ψ)为z轴坐标旋转矩阵,AE为经过坐标转换后得到的大地坐标系下的加速度数据,GE为经过坐标转换后得到的大地坐标系下的角速度数据,将坐标转换后的数据存入数据集A1中。
[0101] 使用以下公式对数据集A1中的数据进行数据中心化处理:
[0102]
[0103] 其中,Xck为数据集A1中第c行第k列的数据,e+1为数据集A1的行数,midXck为中心化处理后的数据集A1中第c行第k列的数据,从而得到预处理后的数据集A2。
[0104] 所述步骤1.3包括:
[0105] 用数字0~9来分别对应10种汽车驾驶状态,根据数据集A2中各行数据采集时对应的汽车驾驶状态对步骤1.2得到的预处理后的数据集A2打上标签,打上标签即在数据集A2里增加一列,内容为各行数据采集时汽车驾驶状态对应的0~9的数字。将打上标签后的数据集记为源数据集,源数据集的数据结构如下式所示:
[0106] V=(acc′x acc′y acc′z gyr′x gyr′y gyr′z t S),
[0107] 其中V为源数据集数据的行序列,accx′为经过预处理的手机x轴加速度数据,accy′为经过预处理的手机y轴加速度数据,accz′为经过预处理的手机z轴加速度数据,gyrx′为经过预处理的手机x轴角速度数据,gyry′为经过预处理的手机y轴角速度数据,gyrz′为经过预处理的手机z轴角速度数据,t为该行数据的采集时间,S为该行的数据标签。
[0108] 在本发明实施例中,所述步骤2包括:
[0109] 步骤2.1:根据数据的采集时间,对源数据集进行划分。由于采集数据时,每种驾驶状态下进行了D秒的数据采集,且每秒采集100组数据,因此将同1秒采集到的n1(取值为100)行数据作为一个数据单元;
[0110] 步骤2.2:对步骤2.1得到的每一个数据单元进行统计学特征提取,并制成数据集,命名为特征数据集。
[0111] 所述步骤2.2,包括:
[0112] 对步骤2.1划分好的数据单元进行统计学特征的提取,需要提取的统计学特征包括:均值、方差、最大值、最小值、变化幅度与平均交叉率。
[0113] 均值可以很好的反应数据的平均水平,因此数据单元的每列数据均值对于数据的预测分类有重要作用,根据以下公式来进行均值计算:
[0114]
[0115] 其中,Xij为数据单元第i行第j列的数据,n+1为每一个数据单元的行数,由于将100行数据作为一个数据单元,这里n取99, 为当前数据单元第j列数据的均值。
[0116] 数据的离散程度可以由方差来反应,使用下列公式进行计算数据单元每一列的方差:
[0117]
[0118] 其中, 为当前数据单元第j列的方差。
[0119] 数据单元每一列数据的最大值Max(Xi)和最小值Min(Xi)可以反映车辆加速度变化的峰值,也可以作为辅助特征。而数据变化的幅度可以使用以下公式来计算:
[0120]
[0121] 其中,Max(Xi)为数据单元第i列数据的最大值,Min(Xi)为数据单元第i列数据的最大值, 为数据单元第i列数据的变化幅度。
[0122] 数据单元内各列数据的平均交叉率,可以反映同一列相邻行数据之间的相关性。计算方法如下式所示:
[0123]
[0124] 其中,Xij为数据单元第i行第j列的数据,Xi+1j为数据单元第i+1行第j列的数据,为当前数据单元第j列数据的均值,γ为指示函数【可参考郑伟,张晶,杨虎.改进边界指示函数的水平集活动轮廓模型[J].激光技术,2016,40(1):126-130.】, 为当前数据单元第j列数据的平均交差率【可参考彭志平,李绍平.基于模糊推理动态调整遗传算法交叉率和变异率的方法[J].模式识别与人工智能,2002,15(04):413-418】。
[0125] 每个数据单元的前6列数据每一列有6个特征值:均值、方差、最大值、最小值、变化幅度、平均交叉率,所以每一个数据单元有36个统计学特征。利用每个数据单元的统计学特征构成一个新的数据集,命名为特征数据集。特征数据集有m行36列,m为数据单元的个数。
[0126] 如图5所示,是本发明实施例提供的一种基于多特征卷积神经网络的不良驾驶状态识别系统的结构图,从图5可以知道,本发明利用相邻两个数据单元的数据来共同对汽车驾驶状态进行分析,将相邻两个数据单元的源数据集数据与特征数据集数据送入多特征卷积神经网络进行分类,图6展示了多特征卷积神经网络的结构图。在本发明实施例中,所述步骤3包括:
[0127] 步骤3.1:搭建多特征卷积神经网络,并确定网络结构;
[0128] 步骤3.2:选择网络优化器并使用源数据集与特征数据集对多特征卷积神经网络进行训练,得到训练好的多特征卷积神经网络模型。
[0129] 在本发明实施例中,所述步骤3.1,包括:
[0130] 多特征卷积神经网络结构由3个部分组成,具体搭建方法如下:
[0131] 第一部分包括输入层、两个卷积层和一个池化层,主要用来对数据进行卷积特征提取,作用是获取第b个数据单元的卷积特征图。b依次从0取到m,m为数据单元个数。该部分的输入来自于源数据集,由于每一个数据单元是一个100*8的二维数组,取前6列(100*6)作为第一部分的输入,送到输入层。输入层后面是第一部分的第一个卷积层,该层选用了16个3*3的卷积核,步长为1,填充数量为1。卷积层的输出尺寸计算公式如下列公式所示:
[0132]
[0133] 其中,Z是卷积输出数据的长度,W是卷积输入数据的长度,P是填充数量,F是卷积核的长度,S表示步长。对于第一部分中的第一个卷积层,所以由上述公式可以计算得到第一部分第一个卷积层的输出数据大小是100*6*16。在该卷积层后使用线性整流函数【可参考吴洋威.基于深度学习的图像去噪算法[D].上海交通大学,2015.】作为激活函数。将经过激活函数的数据送入第一部分的第二个卷积层,第二个卷积层采用32个3*3卷积核,步长为1,填充数量为1,则根据卷积层的输出尺寸计算公式,第一部分第二个卷积层的输出大小是
100*6*32。第一部分的第二个卷积层后也使用线性整流函数作为激活函数。将经过激活函数的数据送入第一部分的池化层,一般来说池化层按照工作原理分为两种:最大值池化层和均值池化层,本发明采用的所有池化层均为最大池化层,对于第一部分的池化层,采用2*
2大小的矩形窗口进行滑动,水平方向的步长为2,垂直方向的步长为2。池化层的输出尺寸计算公式如下列公式所示:
[0134]
[0135] 其中,Z′是池化层输出的长度,W′是池化层输入的长度,F′为滤波器的长度,S′表示水平方向的步长。根据上述公式,第一部分的池化层输出尺寸为50*3*32。第一部分的池化层输出就是第b个数据单元的卷积特征图。
[0136] 第二部分由一个卷积层和一个池化层组成。将由第一部分得到的第b个数据单元的卷积特征图与第b-1个数据单元的卷积特征图相融合并整形为一个尺寸为100*96的二维向量,命名为全整合特征图。当b=0时,用尺寸为50*3*32的全0数据来代替第b-1个数据单元的卷积特征图。将全整合特征图送入第二部分的卷积层,该卷积层采用6个3*3卷积核,步长为1,填充数量为1,则根据卷积层的输出尺寸计算公式,第一部分第二个卷积层的输出大小是100*96*6。第一部分的第二个卷积层后也使用线性整流函数作为激活函数。将经过激活函数的数据送入第一部分的池化层,该池化层采用2*2大小的矩形窗口进行滑动,水平方向的步长为2,垂直方向的步长为2。根据池化层的输出尺寸计算公式,第二部分的卷积层的输出大小是50*48*6。
[0137] 第三部分由三层全连接网络组成:输入层、隐藏层与输出层。第三部分的输入层由第二部分的输出与特征数据集共同构成。第二部分的输出大小为50*48*6,特征数据集第b行有36个数据,将它们整合成一个14436*1的一维向量,将这个向量作为第三部分的输入送入输入层。隐藏层放置了1024个神经元,输出层放置了10个神经元,对应汽车的10种驾驶状态。
[0138] 在本发明实施例中,所述步骤3.2,包括:
[0139] 首先将源数据集与特征数据集按照4:1的比例划分为训练集和测试集。在训练的过程中,将源数据集的每个数据单元与特征数据集的每一行作为一个训练单元,损失函数使用交叉熵损失函数【可参考冉鹏,王灵,李昕,刘鹏伟.改进Softmax分类器的深度卷积神经网络及其在人脸识别中的应用[J].上海大学学报(自然科学版),2018,24(03):352-366.】,网络优化器采用亚当优化器【亚当优化器,英文名为Adam Optimizer,可参考杨观赐,杨静,李少波,胡建军.基于Dopout与ADAM优化器的改进CNN算法[J].华中科技大学学报(自然科学版),2018,46(07):122-127.】,对网络进行充分训练,得到训练好的多特征卷积神经网络模型。
[0140] 在本发明实施例中,所述步骤4包括:
[0141] 步骤4.1:实时采集汽车驾驶过程中车载智能手机的惯性传感器数据,使用步骤3得到的训练好的模型对实时采集的数据进行分类,得到汽车当前的驾驶状态类别。
[0142] 步骤4.2:根据步骤4.1得到的汽车当前的驾驶状态判断,若汽车的驾驶状态为:正常驾驶、停车状态、正常加速、正常减速、正常左转、正常右转则表明目前司机驾驶状态良好,若汽车驾驶状态为急左转、急右转、急减速、急加速,则表明出现了不良驾驶状态,发出提示音提醒司机规范驾驶,并进行数据记录,每24小时对司机的不良驾驶次数进行统计,并上传到后台。
[0143] 实例说明:以急加速状态为例,当汽车处于急加速状态时,采集车载手机传感器数据进行状态识别,将数据实时预处理后送入多特征卷积神经网络,多特征卷积神经网络的输出层的10个神经元输出结果分别为:(0.011,0.002,0.073,0.003,0.013,0.020,0.003,0.009,0.866),该结果表明了汽车此刻属于0~9状态的概率值,而属于9状态的概率值最高,9对应的是急加速状态,说明网络预测汽车此刻的状态是急加速状态,属于不良驾驶状态。
[0144] 通过上述技术方案的实施,本发明的优点是:(1)提供了车载智能手机传感器的数据采集方法及数据预处理过程,包括;数据滤波、坐标转换与数据中心化。(2)提供了数据集的制作方法以及多特征卷积神经网络的搭建方法,利用相邻两个数据单元来共同完成对汽车驾驶状态的分类。(3)提供了一种基于多特征卷积神经网络的不良驾驶状态识别方法。(4)对不良驾驶状态识别速度快,识别精度高,系统稳定性好。
[0145] 具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的一种基于多特征卷积神经网络的不良驾驶状态识别方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:randomaccess memory,简称:RAM)等。
[0146] 本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0147] 本发明提供了一种基于多特征卷积神经网络的不良驾驶状态识别方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。