一种基于视频的危险驾驶行为检测方法和检测系统

文档序号:25310088发布日期:2021-06-04 15:28阅读:157来源:国知局
一种基于视频的危险驾驶行为检测方法和检测系统

1.本发明属于机器视觉技术领域,具体涉及一种根据车载视频检测驾驶员危险驾驶行为的方法和系统。


背景技术:

2.驾驶员的危险驾驶行为是交通事故的主要原因。为了防止危险驾驶造成交通事故的严重后果,有必要对危险驾驶行为进行有效监控。
3.驾驶行为检测技术近年来随着计算机视觉技术的不断发展,很多研究者将其运用到计算机视觉领域并取得了很好的结果。基于手工特征的危险驾驶行识别方法主要依赖于手工设计的特征,主要是利用局部特征子对视频进行表示。其中比较流行的方法是基于稠密轨迹的危险驾驶行为检测方法,该方法将得到的运动轨迹周围的梯度方向直方图,光流直方图以及运动边界直方图,通过利用词袋模型或者其变种进行编码,从而用于驾驶行为识别。然而,手工设计的特征仅仅利用了局部的上下文信息,而且一般只能对较短的时序进行建模,所以在面临复杂行为建模时缺少判别力。由于深度卷积网络在图片识别任务上的成功,研究者开始考虑利用深度学习进行基于视频的驾驶行为识别和建模。较为流行的方法是3d的卷积神经网络,其将原始的空间维度2d卷积扩展到增加了时间维度的3d卷积。但模型复杂度增加的同时,也增加了训练的复杂度,模型训练需要较大的数据量或者3d卷积核的分解。另一个较为流行的方法是基于双流的卷积神经网络,其利用rgb图像和光流图像训练两个不同的网络,以此达到对表观信息和运动信息分别建模的目的。不过,该方法也存在着不足之处,在对运动信息建模的时,利用叠加的光流图像作为输入,这种做法仅能对短时的运动进行建模,对于长时间的动作其网络检测效果低下。此外,传统两流卷积网络动作识别算法其生成的特征图存在大量的信息冗余,不能专注于驾驶员驾驶行为的检测,于是有学者将注意力机制运用在双流卷积网络动作识别算法中。但是现有的注意力机制模型,只是在当前帧的位置上采用注意力机制,并没有考虑到周围或者全局视频帧的上下文信息,这导致了网络关注非显著性的运动区域或视频帧信息,从而降低了驾驶行为识别的精确度。


技术实现要素:

4.发明目的:针对现有技术中存在的问题,本发明提供一种根据车载视频检测驾驶员危险驾驶行为的方法,该方法能够对驾驶员的危险驾驶行为进行检测和分类。
5.技术方案:本发明一方面公开了一种基于视频的危险驾驶行为检测方法,所述视频为驾驶员驾驶时的视频;所述方法包括构建阶段、训练阶段和检测阶段,所述构建阶段包括:
6.s1、采集视频帧,构成待检测视频片段;所述待检测视频片段为长度为t的驾驶员驾驶时的视频图像序列v,v=[v1,v2,

,v
t
,

v
t
];其中v
t
∈r
w
×
h
×
c
,表示视频图像序列中的第t帧图像,w、h分别为视频图像的宽和高,c表示图像色彩空间的通道数;
[0007]
s2、对s1得到的待检测视频片段,计算相邻帧的光流,构成光流图序列f=[f1,f2,

,f
t
,

f
t
],其中f
t
∈r
w
×
h
×
2l
,l为光流算法相关的特征通道数;光流计算时每个方向的输出通道数均为l,垂直与水平两个方向合在一起为2l;
[0008]
s3、将视频图像序列v中的每帧图像划分为k
×
k个子区域,采用空间2d卷积神经网络提取v中每帧图像每个子区域的空间特征f
s
(t,k),组合得到视频图像序列对应的空间特征:f
s
=[f
s
(1),f
s
(2),

,f
s
(t),

,f
s
(t)],其中f
s
(t)表示视频图像序列中的第t帧图像的空间特征,f
s
(t)=[f
s
(t,1),f
s
(t,2),

,f
s
(t,k),

,f
s
(t,k2)],l1为空间特征的长度;k表示视频图像中子区域的序号,k=1,2,

,k2;每帧空间特征图的宽、高均为k1;
[0009]
s4、采用时间2d卷积神经网络提取光流图序列f对应的时间特征f
m
:f
m
=[f
m
(1),f
m
(2),

,f
m
(t),

,f
m
(t)],其中f
m
(t)表示视频图像序列中的第t帧图像的时间特征图,每帧时间特征图的宽、高均为k2,l2为时间特征的长度;
[0010]
s5、对视频图像序列的每帧图像提取驾驶员轮廓,所述轮廓和轮廓内部区域设定为驾驶员区域d
t
;统计第t帧图像中与d
t
交集不为空的子区域个数n
t
;计算每个子区域的驾驶员区域权重,第t帧图像第k个子区域的驾驶员区域权重d
ω
(t,k)为:
[0011][0012]
s6、建立基于lstm的空间注意力模型,所述空间注意力模型用于提取每帧图像每个子区域的空间权重所述空间注意力模型中,输入门、遗忘门、输出门的输入均为第t帧图像第k个子区域的特征f
s
(t,k)和上一帧lstm细胞隐藏状态lstm的输出细胞状态为即:
[0013][0014]
其中w
α
,w
αf
,w
αh
分别为空间注意力模型中输出门、遗忘门、输入门的权重矩阵,b
α1
,b
α2
分别为空间注意力模型的输入门和输出门的偏置项;
[0015]
s7、建立基于lstm的时间注意力模型,所述时间注意力模型用于提取每帧图像的时间权重所述时间注意力模型中,输入门、遗忘门、输出门的输入均为第t帧图像的时间特征f
m
(t)和上一帧lstm细胞隐藏状态lstm的输出细胞状态为即:
[0016]
其中w
β
,w
βf
,w
βh
分别为时间注意力模型中输出门、遗忘门、输入门的权重矩阵,b
β1
,b
β2
分别为时间注意力模型的输入门和输出门的偏置项;
[0017]
s8、计算各子区间归一化空间权重s8、计算各子区间归一化空间权重
[0018]
对视频图像序列v中的t帧图像,更新每一帧图像的归一化空间权重,所述更新过
程为最小化第一损失函数loss
d
:更新后的归一化空间权重为α
w
(t,k);
[0019]
计算视频图像序列中每帧图像的显著性空间特征s
t

[0020]
s
t
=[α
w
(t,1)f
s
(t,1),


w
(t,k)f
s
(t,k),


w
(t,k2)f
s
(t,k2)],
[0021]
[,]表示向量拼接;
[0022]
s9、计算各帧图像归一化时间权重β
w
(t):
[0023]
计算视频图像序列中每帧图像的显著性时间特征m
t

[0024][0025]
s10、建立基于三级convlstm级联的深度空间特征提取网络,所述深度空间特征提取网络的输入为显著性空间特征s
t
,输出为s
t
对应的第一危险驾驶行为概率向量;
[0026]
所述深度空间特征提取网络包括三级级联的convlstm单元和输出层;其中第一级convlstm单元的输入为显著性空间特征s
t
,第二级convlstm单元的输入为第一级convlstm单元的输出第三级convlstm单元的输入为第二级convlstm单元的输出三级convlstm单元的输出拼接为深度空间特征convlstm单元的输出拼接为深度空间特征
[0027]
所述输出层采用softmax函数根据获取第t帧图像的第一危险驾驶行为概率向量p
ts
:其中是第t帧图像为第n类危险驾驶行为的概率,其中t表示矩阵的转置,ω
n
为输出层参数,n=1,2,

,n;
[0028]
s11、建立基于三级convlstm级联的深度时间特征提取网络,所述深度时间特征提取网络的输入为显著性时间特征m
t
,输出为m
t
对应的第二危险驾驶行为概率向量;
[0029]
所述深度时间特征提取网络包括三级级联的convlstm单元和输出层;其中第一级convlstm单元的输入为显著性时间特征m
t
,第二级convlstm单元的输入为第一级convlstm单元的输出第三级convlstm单元的输入为第二级convlstm单元的输出三级convlstm单元的输出拼接为深度时间特征convlstm单元的输出拼接为深度时间特征
[0030]
所述输出层采用softmax函数根据获取第t帧图像的第二危险驾驶行为概率向量p
tm
:其中是第t帧图像为第n类危险驾驶行为的概率,其中t表示矩阵的转置,υ
n
为输出层参数,n=1,2,

,n;
[0031]
所述训练阶段包括:
[0032]
s12、构建数据集,并将其分为训练集和验证集;使用训练集和验证集训练空间注意力模型、时间注意力模型、深度空间特征提取网络和深度时间特征提取网络的参数;
[0033]
所述检测阶段包括:
[0034]
s13、采集驾驶员驾驶视频;连续读取t1帧图像构成预待测视频图像序列判断预待测视频图像序列中是否存在运动目标,若存在运动目标则继续读取t2帧视频图像与构成长度为t的待测视频图像序列v
d
,并根据步骤s2的方法计算v
d
对应的光流图序列f
d
;如果中不存在运动目标,清空数据,重新读取t1帧视频图像;t1+t2=t;
[0035]
根据步骤s3的方法获取v
d
中每帧图像每个子区域的空间特征f
ds
(t,k);
[0036]
根据步骤s4的方法获取v
d
中每帧图像的时间特征f
dm
(t);
[0037]
根据步骤s5的方法计算v
d
中每帧图像每个子区域的驾驶员区域权重d

(t,k);
[0038]
采用训练好的空间注意力模型计算v
d
中每帧图像每个子区域的空间权重
[0039]
采用训练好的时间注意力模型计算v
d
中每帧图像的时间权重
[0040]
根据步骤s8的方法计算v
d
中每帧图像的显著性空间特征s
dt

[0041]
根据步骤s9的方法计算v
d
中每帧图像的显著性时间特征m
dt

[0042]
将s
dt
输入训练好的深度空间特征提取网络中,获取s
dt
对应的第一危险驾驶行为概率向量
[0043]
将m
dt
输入训练好的深度时间特征提取网络中,获取m
dt
对应的第二危险驾驶行为概率向量
[0044]
计算融合空间时间的危险驾驶行为概率向量计算融合空间时间的危险驾驶行为概率向量其中为:为:分别为和中的第n个元素;
[0045]
根据获取危险驾驶行为类别检测结果。
[0046]
另一方面,本发明还公开了实现上述检测方法的危险驾驶行为检测系统,所述视频为驾驶员驾驶时的视频;包括:
[0047]
视频图像序列获取模块1,用于获取长度为t的驾驶员驾驶时的视频图像序列v
d

[0048]
光流图序列计算模块2,用于计算驾驶员驾驶时的视频图像序列中相邻帧的光流,构成光流图序列f
d

[0049]
图像分块模块3,用于将视频图像序列中的每帧图像划分为k
×
k个子区域;
[0050]
空间2d卷积神经网络4,用于提取v
d
中每帧图像每个子区域的空间特征f
ds
(t,k);
[0051]
时间2d卷积神经网络5,用于提取光流图序列f
d
中每帧光流图对应的时间特征f
dm
(t);
[0052]
驾驶员区域权重计算模块6,用于对视频图像序列的每帧图像提取驾驶员轮廓,所述轮廓和轮廓内部区域设定为驾驶员区域d
t
;统计第t帧图像中与d
t
交集不为空的子区域个数n
t
;计算每个子区域的驾驶员区域权重d

(t,k);
[0053]
空间注意力模型7,用于提取每帧图像每个子区域的空间权重
[0054]
时间注意力模型8,用于提取每帧图像的时间权重
[0055]
显著性空间特征计算模块9,用于计算v
d
中每帧图像的显著性空间特征s
dt

[0056]
显著性时间特征计算模块10,用于计算v
d
中每帧图像的显著性时间特征m
dt

[0057]
深度空间特征提取网络11,用于获取s
dt
对应的第一危险驾驶行为概率向量
[0058]
深度时间特征提取网络12,用于获取m
dt
对应的第二危险驾驶行为概率向量
[0059]
时空融合危险驾驶行为概率向量计算模块13,用于计算融合空间时间的危险驾驶行为概率向量
[0060]
检测结果计算模块14,用于根据获取危险驾驶行为类别检测结果。
[0061]
有益效果:本发明公开的基于视频的危险驾驶行为检测方法具有以下优点:1、本发明基于注意力机制,提取驾驶员行车视频的显著性时间、空间特征,可以有效解决传统检测算法在检测驾驶行为过程中过多关注冗余特征而导致检测精度低下的问题;2、本发明采用两个三级级联的convlstm网络模型,由浅及深的学习视频中的动作特征,可以有效的对异常驾驶动作的时空结构进行建模,显著提高了其检测性能。
附图说明
[0062]
图1为数据集中视频图像处理示意图;
[0063]
图2为子区域划分及驾驶员区域提取示意图;
[0064]
图3为基于lstm的空间注意力模型或时间注意力模型结构示意图;
[0065]
图4为显著性空间特征的计算过程示意图;
[0066]
图5为显著性时间特征的计算过程示意图;
[0067]
图6为基于三级convlstm级联的深度空间特征提取网络或深度时间特征提取网络结构示意图;
[0068]
图7为危险驾驶行为检测阶段的流程图;
[0069]
图8为待测视频图像序列提取示意图;
[0070]
图9为危险驾驶行为检测系统的组成示意图。
具体实施方式
[0071]
下面结合附图和具体实施方式,进一步阐明本发明。
[0072]
本发明公开了一种基于视频的危险驾驶行为检测方法,所述视频为驾驶员驾驶时的视频;所述方法包括构建阶段、训练阶段和检测阶段,所述构建阶段包括:
[0073]
s1、采集视频帧,构成待检测视频片段;所述待检测视频片段为长度为t的驾驶员驾驶时的视频图像序列v,v=[v1,v2,

,v
t
,

v
t
];其中v
t
∈r
w
×
h
×
c
,表示视频图像序列中的第t帧图像,w、h分别为视频图像的宽和高,本实施例中w=h=224;c表示图像色彩空间的通道数,如果是灰度图像c=1,如果是rgb彩色图像,c=3;t=1,2,

,t。
[0074]
本实施例中,如图1所示,采集驾驶员驾驶时的视频,并将视频图像的中心定位方向盘和驾驶座的中心,保留方向盘至驾驶座中间区域去除视频图像中无用的背景区域,并
将视频图像缩放为224
×
224,得到视频图像序列,每个视频图像为rgb彩色图像,即c=3;t=25,即25帧图像为一个序列;
[0075]
s2、对s1得到的待检测视频片段,计算相邻帧的光流,构成光流图序列f=[f1,f2,

,f
t
,

f
t
],其中f
t
∈r
w
×
h
×
2l
,l为光流算法相关的特征通道数;
[0076]
光流是从视频的连续两帧中产生的运动向量,代表着视频的运动或时序信息,可以分解为水平和垂直两个方向的分量。光流图通道数取决于用于提取光流的网络模型,本实施例中采用tv

l1算法提取视频序列图像中的光流图,构成光流图序列,tv

l1算法计算得到的时间特征每个方向的输出通道数为l,垂直与水平两个方向合在一起为2l;本实施例中l=5,并且光流图的尺寸也为w
×
h;
[0077]
驾驶员行车视频中包含着驾驶员驾驶行为的空间信息和时间信息,但是这些信息不能直接被计算机视觉所理解。通过深度网络将视频信息转化为多维特征,让网络去学习视频中的静态特征和动态特征,更好地理解视觉对象的高层语义表达。本实施例采用2d卷积神经网络计算方式,分别提取驾驶员驾驶视频的空间特征和时间特征。
[0078]
s3、将视频图像序列v中的每帧图像划分为k
×
k个子区域,如图2

(a)所示,本实施例中k=7。
[0079]
采用空间2d卷积神经网络提取v中每帧图像每个子区域的空间特征f
s
(t,k),组合得到视频图像序列对应的空间特征:f
s
=[f
s
(1),f
s
(2),

,f
s
(t),

,f
s
(t)],其中f
s
(t)表示视频图像序列中的第t帧图像的空间特征,f
s
(t)=[f
s
(t,1),f
s
(t,2),

,f
s
(t,k),

,f
s
(t,k2)],l1为空间特征的长度;k表示视频图像中子区域的序号,k=1,2,

,k2;每帧空间特征图的宽、高均为k1,本实施例中k1=7,l1=512;
[0080]
s4、采用时间2d卷积神经网络提取光流图序列f对应的时间特征f
m
:f
m
=[f
m
(1),f
m
(2),

,f
m
(t),

,f
m
(t)],其中f
m
(t)表示视频图像序列中的第t帧图像的时间特征图,每帧时间特征图的宽、高均为k2,l2为时间特征的长度,即时间特征图中每个像素的像素值维度;本实施例中,直接计算整幅图像的时间特征图,无需分块计算,k2=7,l2=512。
[0081]
本实施例中,为了快速得到空间特征和时间特征的提取网络,空间2d卷积神经网络和时间2d卷积神经网络均采用已训练好的vgg

16中最后一层卷积层,即卷积核为3
×
3,fileter为512的卷积神经网络。由此,l1=l2=512。
[0082]
视频图像区域通常可以分为显著空间区域和非显著空间区域,其中显著空间区域包含更多的运动表观信息,对视频语义内容表达的贡献较大,而非显著性区域则包含较少的有用信息,对视频语义内容表达的贡献较小,甚至起到混淆作用;视频序列中每一帧的重要性也各不相同,关键帧中的运动信息更加丰富,对视频语义内容表达的贡献也更大。本发明采用注意力机制算法,在获取驾驶员驾驶视频的显著性空间和时间特征。注意力机制相当于一种特殊的“筛选器”增大显著性特征权重,减小非显著性特征权重,从而提高危险驾驶行为检测的精确度。
[0083]
s5、对视频图像序列的每帧图像提取驾驶员轮廓,所述轮廓和轮廓内部区域设定为驾驶员区域d
t
;本实施例中采用canny算法提取图像中驾驶员轮廓,如图2

(b)所示。
[0084]
由于驾驶行为识别任务感兴趣的空间区域均发生在驾驶员的周围,使用驾驶员轮
廓权重d
ω
(t,k),约束空间注意力的范围,让空间注意力机制专注于驾驶员轮廓及轮廓内区域的空间特征,从而获得更好的空间关注度。
[0085]
统计第t帧图像中与d
t
交集不为空的子区域个数n
t
;计算每个子区域的驾驶员区域权重,第t帧图像第k个子区域的驾驶员区域权重d
ω
(t,k)为:
[0086][0087]
空间注意力机制让模型直观地了解视频图像中每个子区域的权重,通过增大危险驾驶行为区域权重来引起空间注意。由于视频图像序列中动作发送区域在相邻视频帧中具有连贯性,本发明使用lstm网络引导当前帧学习显著性的空间区域,然后通过计算不同区域的归一化权重,判断每一个子区域的重要性并计算显著性空间特征。
[0088]
s6、建立基于lstm的空间注意力模型,如图3所示,所述空间注意力模型用于提取每帧图像每个子区域的空间权重空间注意力模型中,输入门、遗忘门、输出门的输入均为第t帧图像第k个子区域的特征f
s
(t,k)和上一帧lstm细胞隐藏状态lstm的输出细胞状态为即:
[0089][0090]
其中w
α
,w
αf
,w
αh
分别为空间注意力模型中输出门、遗忘门、输入门的权重矩阵,b
α1
,b
α2
分别为空间注意力模型的输入门和输出门的偏置项;
[0091]
本实施例中,自第二帧开始利用lstm网络计算前一帧隐藏状态第一帧利用其自身隐藏状态计算空间注意力权重,空间注意力模型中lstm网络隐藏状态的维度为1024。
[0092]
s7、建立基于lstm的时间注意力模型,如图3所示,所述时间注意力模型用于提取每帧图像的时间权重所述时间注意力模型中,输入门、遗忘门、输出门的输入均为第t帧图像的时间特征f
m
(t)和上一帧lstm细胞隐藏状态lstm的输出细胞状态为即:
[0093][0094]
其中w
β
,w
βf
,w
βh
分别为时间注意力模型中输出门、遗忘门、输入门的权重矩阵,b
β1
,b
β2
分别为时间注意力模型的输入门和输出门的偏置项;
[0095]
空间注意力模型与时间注意力模型结构相同,参数不同。图3为空间注意力模型或时间注意力模型结构示意图;当输入为f
s
(t,k)时,上一帧lstm细胞隐藏状态h
t
‑1为lstm的输出细胞状态为当输入为f
m
(t)时,上一帧lstm细胞隐藏状态h
t
‑1为lstm的输出细胞状态为
[0096]
s8、计算各子区间归一化空间权重s8、计算各子区间归一化空间权重
表示第k个子区间空间特征的重要性。
[0097]
对视频图像序列v中的t帧图像,更新每一帧图像的归一化空间权重,所述更新过程为最小化第一损失函数loss
d
:更新后的归一化空间权重为α
w
(t,k);
[0098]
d
ω
(t,k)表示视频图像中各子区域驾驶员区域权重,本发明使用第一损失函数loss
d
约束了空间注意力机制关注的区域,相当于对空间特征进一步做了“筛选”工作,去除了非运动区域的空间特征权重。将所有d
ω
(t,k)为0子区域的空间权重为α
w
(t,k)置为0,利用损失函数重新分配d
ω
(t,k)非0子区域的α
w
(t,k)权重数值。
[0099]
计算视频图像序列中每帧图像的显著性空间特征s
t

[0100]
s
t
=[α
w
(t,1)f
s
(t,1),

,αw(t,k)f
s
(t,k),


w
(t,k2)f
s
(t,k2)],
[0101]
[,]表示向量拼接;
[0102]
从空间特征f
m
(t)得到显著性空间特征s
t
的过程如图4所示。
[0103]
s9、计算各帧图像归一化时间权重β
w
(t):
[0104]
光流利用视频帧图像间较小的运动位移捕捉视频中的运动信息或时序信息。如图5所示,用基于lstm的时间注意力模型对时序信息进行建模,将视频帧序列中不同帧的信息相关联。本发明根据连续t帧的时间权重之和计算每一帧的归一化时间权重,判断每一帧的时间重要性。β
w
(t)∈[0,1],表示视频序列中第t帧图像的时间特征重要性。
[0105]
计算视频图像序列中每帧图像的显著性时间特征m
t

[0106][0107]
显著性时间特征的计算过程如图5所示。
[0108]
s10、建立基于三级convlstm级联的深度空间特征提取网络,所述深度空间特征提取网络的输入为显著性空间特征s
t
,输出为s
t
对应的第一危险驾驶行为概率向量;
[0109]
所述深度空间特征提取网络包括三级级联的convlstm单元和输出层;其中第一级convlstm单元的输入为显著性空间特征s
t
;第二级convlstm单元的输入为第一级convlstm单元的输出单元的输出其代表驾驶员局部运动的表观信息;第三级convlstm单元的输入为第二级convlstm单元的输出元的输入为第二级convlstm单元的输出其代表驾驶员整体的表观信息;第三级convlstm单元的输出息;第三级convlstm单元的输出代表驾驶员危险驾驶行为的时序表观信息;三级convlstm单元的输出拼接为深度空间特征信息;三级convlstm单元的输出拼接为深度空间特征信息;三级convlstm单元的输出拼接为深度空间特征代表驾驶员驾驶视频的空域特征,
[0110]
所述输出层采用softmax函数根据获取第t帧图像的第一危险驾驶行为概率向量p
ts
:其中是第t帧图像为第n类危险驾驶行为的概率,
其中t表示矩阵的转置,ω
n
为输出层参数,n=1,2,

,n;
[0111]
s11、建立基于三级convlstm级联的深度时间特征提取网络,所述深度时间特征提取网络的输入为显著性时间特征m
t
,输出为m
t
对应的第二危险驾驶行为概率向量;
[0112]
所述深度时间特征提取网络包括三级级联的convlstm单元和输出层;其中第一级convlstm单元的输入为显著性时间特征m
t
;第二级convlstm单元的输入为第一级convlstm单元的输出单元的输出其代表驾驶员运动光流中水平和垂直运动分量信息;第三级convlstm单元的输入为第二级convlstm单元的输出三级convlstm单元的输入为第二级convlstm单元的输出其代表驾驶员运动光流中整体运动信息;第三级convlstm单元的输出员运动光流中整体运动信息;第三级convlstm单元的输出代表驾驶员危险驾驶行为的时序运动信息;三级convlstm单元的输出拼接为深度时间特征危险驾驶行为的时序运动信息;三级convlstm单元的输出拼接为深度时间特征代表驾驶员驾驶视频的时域特征。
[0113]
所述输出层采用softmax函数根据获取第t帧图像的第二危险驾驶行为概率向量p
tm
:其中是第t帧图像为第n类危险驾驶行为的概率,其中t表示矩阵的转置,υ
n
为输出层参数,n=1,2,

,n;
[0114]
如图6所示,深度空间特征提取网络和深度时间特征提取网络的结构相同,参数不同。convlstm网络可以提取视频序列的长短期记忆并将卷积运算引入到input

to

state和state

to

state的转变之中,从而保留空间信息和建模时间依赖度,有效融合时空特征。相较于单层convlstm网络,级联结构增加了网络的深度,可提高训练的效率,从而获得更高的准确性。随着级联网络的深入,第一级网络隐藏状态向第三级网络的传导过程可理解为一种由“点”到“线”再到“面”的学习方式。通过重新组合来自前一级隐藏状态中学习的离散信息,在当前级创建新层次的信息表示。在本发明中的级联convlstm网络模型中,第一级convlstm网络,即convlstm

1,旨在从输入的显著性空间、时间特征中学习离散的“点”信息,即驾驶员局部纹理信息或驾驶员运动光流中水平和垂直运动分量信息;第二级convlstm网络,即convlstm

2,则是对第一级网络学习的“点”信息,进一步的凝练学习。对第一级网络输入离散的局部表观信息进行整合,学习全局驾驶员运动表观信息或将运动光流中水平和垂直运动分量信息相结合,构成整个驾驶员动作行为表示;第三级convlstm网络,即convlstm

3,旨在对第二级网络输入的“线”性隐藏状态进行时序的建模,学习驾驶员异常驾驶行为的时序空间、时间特征。
[0115]
所述训练阶段包括:
[0116]
s12、构建数据集,并将其分为训练集、测试集和验证集;使用训练集和验证集训练空间注意力模型、时间注意力模型、深度空间特征提取网络和深度时间特征提取网络的参数;
[0117]
s12

1:构建数据集:
[0118]
数据集中的样本是长度为t的驾驶员驾驶时的视频图像序列v
s
和所述序列中驾驶员危险驾驶行为类别lable;每个样本中只包含一类危险驾驶行为;将数据集分为训练集、测试集和验证集。一个视频序列表示为:v
s
=[v1,v2,

,v
t
,

v
t
],其类别为lable∈{p1,p2,

,p
n
,

,p
n
},n为危险驾驶行为类别总数;v
t
∈r
w
×
h
×
c
,表示视频图像序列v
s
中的第t帧图像,w,h分别为视频图像的宽和高w=h=224,c表示图像色彩空间的通道数,如果是灰度图像c=1,如果是rgb彩色图像,c=3;t=1,2,

,t。
[0119]
本实施例中,按照1秒/段,每秒25帧的速率拆分原视频数据集并保存原始类型标签,检测危险驾驶行为类别n,分别对应原始类型标签,即查看手机,接听电话,进食,向后看,吸烟;n=1,2,

,n,n=5。拆分后的视频总量为7500段,本实施例将训练集、验证集和测试集的数量按8:1:1的比例进行划分。
[0120]
为了有效地训练模型,本发明使用了逐步预训练与端到端训练相结合的策略,具体包括:
[0121]
s12

2、逐步预训练:
[0122]
s12
‑2‑
1、预训练基于三级convlstm级联的深度空间特征提取网络:
[0123]
随机初始化深度空间特征提取网络的参数;根据步骤s2

s4提取每个训练样本的空间特征f
s
(t),将f
s
(t)作为深度空间特征提取网络的输入,采用反向求导最小化第一空间损失函数对深度空间特征提取网络的参数进行预训练;所述第一空间损失函数为:
[0124]
其中为根据样本中驾驶行为类别lable得到的第n类危险驾驶行为类别的概率;为深度空间特征提取网络输出的第t帧图像为第n类危险驾驶行为的概率;λ1为深度空间特征提取网络的权重衰减系数,θ1为深度空间特征提取网络中所有可学习的参数,包括三层空间convlstm网络参数与softmax分类器参数;
[0125]
每训练num1次保存一次深度空间特征提取网络的参数;当达到预设的训练次数或相邻两次训练的损失函数值小于预设的损失阈值时迭代结束;用验证集验证最后n1次保存的参数,选择检测正确率最高的作为深度空间特征提取网络预训练参数;
[0126]
s12
‑2‑
2、预训练基于三级convlstm级联的深度时间特征提取网络:
[0127]
随机初始化深度时间特征提取网络的参数;根据步骤s2

s4提取每个训练样本的时间特征f
m
(t),将f
m
(t)作为深度时间特征提取网络的输入,采用反向求导最小化第一时间损失函数对深度时间特征提取网络的参数进行预训练;所述第一时间损失函数为:
[0128]
其中为深度时间特征提取网络输出的第t帧图像为第n类危险驾驶行为的概率;λ2为深度时间特征提取网络的权重衰减系数,θ2为深度空间特征提取网络中所有可学习的参数,包括三层时间convlstm网络参数与softmax分类器参数;
[0129]
每训练num2次保存一次深度时间特征提取网络的参数;当达到预设的训练次数或
相邻两次训练的损失函数值小于预设的损失阈值时迭代结束;用验证集验证最后n2次保存的参数,选择检测正确率最高的作为深度时间特征提取网络预训练参数;本实施例中,num2=50,预设的训练次数为1000,预设的损失阈值为0.01,n2=5。
[0130]
s12
‑2‑
3、预训练基于lstm的空间注意力模型:
[0131]
随机初始化空间注意力模型的参数,将训练样本的每个子区域的空间特征f
s
(t,k)输入空间注意力模型,使用s8的步骤计算视频图像序列中每帧图像的显著性空间特征s
t
,在s
t
后连接softmax函数,计算s
t
对应的危险驾驶行为概率向量;
[0132]
采用反向求导最小化第二空间损失函数对空间注意力模型的参数进行预训练;所述第二空间损失函数为:
[0133][0134]
其中为根据空间注意力模型输出显著性空间特征s
t
获取对应的第n类危险驾驶行为的概率;λ1′
为空间注意力模型的权重衰减系数,θ1′
为空间注意力模型中所有可学习的参数,包括空间注意力模型中输出门、遗忘门、输入门的权重参数,以及输入门和输出门的偏置项参数;
[0135]
每训练num3次保存一次空间注意力模型的参数;当达到预设的训练次数或相邻两次训练的损失函数值小于预设的损失阈值时迭代结束;用验证集验证最后n3次保存的参数,选择检测正确率最高的作为空间注意力模型预训练参数;
[0136]
s12
‑2‑
4、预训练基于lstm的时间注意力模型:
[0137]
随机初始化时间注意力模型的参数,将训练样本的时间特征f
m
(t)输入时间注意力模型,使用同s9的步骤计算视频图像序列中每帧图像的显著性时间特征m
t
,在m
t
后连接softmax函数,计算m
t
对应的危险驾驶行为概率向量;采用反向求导最小化第二时间损失函数对时间注意力模型的参数进行预训练;所述第二时间损失函数为:
[0138][0139]
其中为根据时间注意力模型输出的显著性时间特征m
t
获取对应的第n类危险驾驶行为的概率;λ
′2为时间注意力模型的权重衰减系数,θ
′2为时间注意力模型的中所有可学习的参数,包括时间注意力模型中输出门、遗忘门、输入门的权重参数,以及输入门和输出门的偏置项参数;
[0140]
每训练num4次保存一次时间注意力模型的参数;当达到预设的训练次数或相邻两次训练的损失函数值小于预设的损失阈值时迭代结束;用验证集验证最后n4次保存的参数,选择检测正确率最高的作为时间注意力模型预训练参数;
[0141]
本实施例中,num1=num2=num3=num4=50,步骤s12
‑2‑
1至步骤s12
‑2‑
4中预设的训练次数均为1000,预设的损失阈值均为0.01,n1=n2=n3=n4=5。
[0142]
s12

3、端到端训练:
[0143]
将空间注意力模型、时间注意力模型、深度空间特征提取网络和深度时间特征提取网络的参数初始化为预训练后的值;
[0144]
将f
s
(t)作为空间注意力模型的输入,根据步骤s8的方法计算显著性空间特征s
t
;将f
m
(t)作为时间注意力模型的输入,根据步骤s9的方法计算显著性时间特征m
t
;将s
t
作为深度空间特征提取网络的输入,得到s
t
对应的第一危险驾驶行为概率向量p
ts
;将m
t
作为深度时间特征提取网络的输入,得到m
t
对应的第二危险驾驶行为概率向量p
tm
;根据p
ts
和p
tm
计算融合空间时间的危险驾驶行为概率向量p
tsm
:其中为:为:分别为p
ts
和p
tm
中的第n个元素;
[0145]
采用反向求导最小化时空融合损失函数,对空间注意力模型、时间注意力模型、深度空间特征提取网络和深度时间特征提取网络的参数进行优化,所述时空融合损失函数为:
[0146][0147]
其中λ为时空权重衰减系数,θ为空间注意力模型、时间注意力模型、深度空间特征提取网络和深度时间特征提取网络中所有可学习的参数;λ
d
为驾驶员区域权重衰减系数;
[0148]
每训练num5次保存一次空间注意力模型、时间注意力模型、深度空间特征提取网络和深度时间特征提取网络的参数;当达到预设的训练次数或相邻两次训练的损失函数值小于预设的损失阈值时迭代结束;用验证集验证最后n5次保存的参数,选择检测正确率最高的作为空间注意力模型、时间注意力模型、深度空间特征提取网络和深度时间特征提取网络的参数。
[0149]
本实施例中,端到端的训练使用theano的框架进行训练。动量设置为0.9,时空权重衰减系数λ设置为5
×
10
‑4,驾驶员区域权重衰减系λ
d
设置为0.5,学习率的初始值设置为0.01,训练总次数为10000,num5=100,即每训练100次保存一次网络模型,当达到训练总次数或损失值趋于稳定,即两次损失值之差小于0.01时终止训练。使用验证集验证最后10次保存的网络模型,即n5=10;保存效果最好的网络模型参数用于危险驾驶行为检测,并用测试集测试网络模型效果,无需调整网络参数。
[0150]
如图7所示,所述检测阶段包括:
[0151]
s13、采集驾驶员驾驶视频;连续读取t1帧图像构成预待测视频图像序列如图8所示,判断预待测视频图像序列中是否存在运动目标,若存在运动目标则继续读取t2帧视频图像与构成长度为t的待测视频图像序列v
d
,并根据步骤s2的方法计算v
d
对应的光流图序列f
d
;如果中不存在运动目标,清空数据,重新读取t1帧视频图像;t1+t2=t;
[0152]
本实施例中,基于帧间差分算法计算第1帧与第2帧帧差c1,第t1‑
1帧与t1帧帧差c2,基于帧差比值l,判断是否存在运动目标,所述判决公式为:
[0153]
[0154]
其中,为设定阈值,moving表示存在运动目标,not moving表示无运动目标;本实施例中,阈值t1=10,t2=15,t=25;
[0155]
根据步骤s3的方法获取v
d
中每帧图像每个子区域的空间特征f
ds
(t,k);
[0156]
根据步骤s4的方法获取v
d
中每帧图像的时间特征f
dm
(t);
[0157]
根据步骤s5的方法计算v
d
中每帧图像每个子区域的驾驶员区域权重d

(t,k);
[0158]
采用训练好的空间注意力模型计算v
d
中每帧图像每个子区域的空间权重
[0159]
采用训练好的时间注意力模型计算v
d
中每帧图像的时间权重
[0160]
根据步骤s8的方法计算v
d
中每帧图像的显著性空间特征s
dt

[0161]
根据步骤s9的方法计算v
d
中每帧图像的显著性时间特征m
dt

[0162]
将s
dt
输入训练好的深度空间特征提取网络中,获取s
dt
对应的第一危险驾驶行为概率向量
[0163]
将m
dt
输入训练好的深度时间特征提取网络中,获取m
dt
对应的第二危险驾驶行为概率向量
[0164]
计算融合空间时间的危险驾驶行为概率向量计算融合空间时间的危险驾驶行为概率向量其中为:为:分别为和中的第n个元素;
[0165]
根据获取危险驾驶行为类别检测结果,本实施例中具体为:
[0166]
若向量中的最大值满足:则判断有危险驾驶行为,危险驾驶行为发生的时间为当前待测视频图像序列v
d
中第t帧图像对应的时间,类别为在向量中的序号;
[0167]
如果则判断没有危险驾驶行为。本实施例中,预设的危险驾驶行为判别阈值η取值为0.8。
[0168]
s14、如果需要继续检测,更新待测视频图像序列v
d
,跳转至步骤s13。
[0169]
本实施例还公开了实现上述基于视频的危险驾驶行为检测方法的检测系统,如图9所示,包括:
[0170]
视频图像序列获取模块1,用于根据步骤s13获取长度为t的驾驶员驾驶时的视频图像序列v
d

[0171]
光流图序列计算模块2,用于根据步骤s2计算驾驶员驾驶时的视频图像序列中相邻帧的光流,构成光流图序列f
d

[0172]
图像分块模块3,用于将视频图像序列中的每帧图像划分为k
×
k个子区域;
[0173]
空间2d卷积神经网络4,用于提取v
d
中每帧图像每个子区域的空间特征f
ds
(t,k);
[0174]
时间2d卷积神经网络5,用于提取光流图序列f
d
中每帧光流图对应的时间特征f
dm
(t);
[0175]
驾驶员区域权重计算模块6,用于根据步骤s5对视频图像序列的每帧图像提取驾驶员轮廓,所述轮廓和轮廓内部区域设定为驾驶员区域d
t
;统计第t帧图像中与d
t
交集不为空的子区域个数n
t
;计算每个子区域的驾驶员区域权重d

(t,k);
[0176]
空间注意力模型7,用于根据步骤s6提取每帧图像每个子区域的空间权重
[0177]
时间注意力模型8,用于根据步骤s7提取每帧图像的时间权重
[0178]
显著性空间特征计算模块9,用于根据步骤s8计算v
d
中每帧图像的显著性空间特征s
dt

[0179]
显著性时间特征计算模块10,用于根据步骤s9计算v
d
中每帧图像的显著性时间特征m
dt

[0180]
深度空间特征提取网络11,用于根据步骤s10获取s
dt
对应的第一危险驾驶行为概率向量
[0181]
深度时间特征提取网络12,用于根据步骤s11获取m
dt
对应的第二危险驾驶行为概率向量
[0182]
时空融合危险驾驶行为概率向量计算模块13,用于计算融合空间时间的危险驾驶行为概率向量行为概率向量其中为:为:分别为和中的第n个元素;
[0183]
检测结果计算模块14,用于根据获取危险驾驶行为类别检测结果;本实施例中,检测结果计算模块14按照如下步骤获取危险驾驶行为类别检测结果:
[0184]
若向量中的最大值满足:则判断有危险驾驶行为,危险驾驶行为发生的时间为当前待测视频图像序列v
d
中第t帧图像对应的时间,类别为在向量中的序号;本实施例中,η取值为0.8。
[0185]
如果则判断没有危险驾驶行为。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1