基于多任务时空卷积神经网络的视频驾驶员行为识别方法与流程

文档序号:17725426发布日期:2019-05-22 02:28阅读:185来源:国知局
基于多任务时空卷积神经网络的视频驾驶员行为识别方法与流程

本发明属于图像处理和模式识别领域,涉及一种基于多任务时空卷积神经网络的视频驾驶员行为识别方法。



背景技术:

根据世界卫生组织的官方报道,全球每年有125万人死于交通事故。作为最频繁发生的事故之一,严重交通事故的发生通常归因于驾驶员的违法驾驶,汽车失灵,恶劣的天气状况等,在这其中,80%以上的交通事故与驾驶员违规驾驶有关。一些不良的驾驶行为如双手脱离方向盘,打电话,低头看手机,抽烟等分散了驾驶员的注意力并存在一定程度上的安全隐患。因此驾驶员行为监控技术对于道路安全和智能交通有重要的研究意义。

驾驶员行为监控目前已成为高级驾驶辅助系统(advanceddriverassistancesystem,adas)的关键技术之一。内置的车载摄像头可以实时的捕捉驾驶员的驾驶状态,然而目前基于计算机视觉的自动驾驶员行为识别准确率不高,其主要存在以下难点:

(1)不同的驾驶行为在监控视频上拥有非常相似的全局背景信息,即不同驾驶行为在全局静态特征上的类间方差较小,而不同驾驶员由于驾驶习惯不同,相同驾驶行为在局部动态特征上的类内方差较大。所以很难人为设计出适用于所有场景的通用特征。

(2)传统的卷积神经网络方法虽然可以应用于静态图像识别,但不能很好的利用视频之间的动态信息。双流卷积神经网络可以通过密集光流图提取帧与帧之间的动态信息用于分类,但是由于光流图需要预先计算,并不能实现驾驶员行为的实时识别。



技术实现要素:

为解决上述问题,本发明提供了一种基于多任务时空卷积神经网络的视频驾驶员行为识别方法,使用多任务学习方法可以隐含地学习视频中的动态信息和驾驶员的局部位置信息,并能够实现实时驾驶员行为识别。

为了达到上述目的,本发明提供如下技术方案:

基于多任务时空卷积神经网络的视频驾驶员行为识别方法,包括如下步骤:

步骤1:拍摄驾驶员行为的相关视频并录入行为数据集中;

步骤2:将训练视频截取剪辑并尺寸归一化,连续l帧的剪辑作为一个输入样本,并添加三个标签分别为驾驶员行为类别标签,光流标签和驾驶员定位标签;

步骤3:构建用于驾驶员行为识别的时空卷积神经网络架构,架构包含13层卷积层、2层全连接层,4层反卷积层,1层softmax分类层和1层边框回归层;

步骤4:采用多任务学习策率训练时空卷积神经网络;将训练视频剪辑送入设计好的模型中进行训练,卷积层和全连接层用于视频序列的特征提取,softmax分类层用于分类不同的驾驶员行为,边框回归层预测驾驶员定位,反卷积模块进行多尺度的密集光流估计;

步骤5:在网络测试阶段,只保留训练网络的卷积层、全连接层和softmax分类层及其对应参数;对于驾驶员行为识别的测试集,使用相同的方法截取帧长为l的剪辑,堆叠并规范化后送入测试网络,通过网络的前向传播计算得出视频驾驶员行为识别结果。

进一步的,所述步骤1中驾驶行为包括以下几种类型:

c0:正常驾驶

c1:双手脱离方向盘

c2:打电话

c3:低头看手机

c4:抽烟

c5:与副驾驶交谈。

进一步的,所述步骤2具体包括如下子步骤:

步骤201:对于步骤1中得到的一个帧长为n的训练视频,随机抽取相邻l帧,将抽取的剪辑进行通道合并和尺寸归一化,形成224×224×3l的输入作为训练样本i,其类别标签为l(l∈{0,1,2,3,4,5});

步骤202:使用opencv开源库计算相邻l帧输入的brox密集光流场,计算得到的第t和t+1帧之间的光流场可分解x方向分量和y方向分量将生成得到的相邻帧光流图堆叠成224×224×2(l-1)作为标签o,具体表示为:

步骤203:使用mtcnn开源工具检测驾驶员人脸,faster-rcnn检测方向盘,作为8维位置标签p={pface,pwheel}。

进一步的,所述步骤3中用于驾驶员行为识别的时空卷积神经网络架构以尺寸为224×224×3l的剪辑作为输入。

进一步的,所述四个尺度分别为:7×7,14×14,28×28,56×56。

进一步的,所述步骤3具体包括如下子步骤:

步骤301:通过一系列的卷积操作,输入可映射为多层卷积特征图f,具体表示为:

f=conv(i|θconv)(2)

其中conv(·|)表示卷积操作,θconv表示卷积层的相关参数,f表示一系列卷积操作后输出的多层卷进特征图;

步骤302:两层全连接层跟随在卷积层的输出后,第一个全连接层的单元与卷积层输出的特征图f全连接,第二个全连接层将特征图映射为4096维特征向量f,具体表示为:

f=fc(f|θfc)=θfctf(3)

其中fc(·|)表示全连接操作,θfc表示全连接层的相关参数,f表示4096维特征向量,即全连接参数θfc和特征图f的内积;

步骤303:得到的4096维特征向量作为softmax分类层的输入;softmax层的输出为6维向量即为输入视频剪辑属于不同驾驶员行为类别的后验概率,其属于第j类的后验概率表示为:

其中θcls表示softmax分类层的参数,其第j个神经元的输出即输入剪辑属于第j类别的后验概率;

步骤304:得到的4096维特征向量作为边框回归层的输入;边框回归层的输出为8维向量,分别表示驾驶员人脸和方向盘的定位预测值具体表示为:

其中θloc表示euclidean层的回归连接参数,该层的8维输出即定位的预测值

步骤305:多层卷积特征图f作为反卷积模块的输入,其输出为多尺度密集光流预测图其中反卷积模块由一系列的卷积和反卷积层操作组成;卷积操作用于对特征图滤波,将其映射为(2l-1)通道的输出用于当前尺度下的密集光流图逐像素估计;反卷积操作用于将当前尺度下的光流预测结果和特征图分辨率翻倍,用于更高尺度的光流估计;经过四次卷积和反卷积操作,生成的多尺度光流预测结果表示为:

其中deconv(·|)表示反卷积操作,θdec表示反卷积层相关参数,其输出的多尺度光流预测结果包含四个尺度。

进一步的,所述步骤4具体包括如下子步骤:

步骤401:softmax分类层的输出为预测出的不同驾驶行为的概率,其属于第j类的后验概率记为p(j),而softmax分类层的损失函数定义为:

其中f为全连接层提取的4096维特征,l为输入剪辑对应的类别标签,1{·}表示指示函数,如大括号内的表达式为真则取值1,反之取值0;而softmax层损失即为驾驶员行为分类的交叉熵;

步骤402:回归层的输出为定位的预测值,包含人脸位置预测值和方向盘位置预测值计算定位框和真实框之间的重叠面积作为回归层损失,其具体表示为:

其中p和分别表示驾驶员定位真实值和预测值,iface和iwheel表示真实框和预测框的重合面积,uface和uwheel表示真实框和预测框的联合面积,回归框损失lloc用于精确的人脸和方向盘定位;

步骤403:反卷积模块的输出为多尺度光流预测值该模块的损失定义为4个尺度下光流真实值和预测值之间二范数距离的加权求和,具体表示为:

其中表示光流预测值,o表示光流真实帧,αr表示权重超参数,lflow表示反卷积模块损失;

步骤404:下载ucf101行为识别数据集,截取该视频中的相邻l帧对设计的网络进行预训练,预训练只用于学习卷积层,全连接层和softmax回归层,用于主行为分类任务,而忽略光流预测和定位任务;

步骤405:使用驾驶员行为数据集中的训练集对时空神经网络进行微调,使用多任务学习策略优化网络的所有部分参数包含θconv,θfc,θcls,θdec,θloc,其过程具体表示为:

选用多任务损失对批样本进行优化,包含分类损失,光流预测损失和定位损失,λo和λl表示不同损失之间的权重参数,而即所学习得到的一组最优参数。

与现有技术相比,本发明具有如下优点和有益效果:

本发明将多任务学习策略引入到时空卷积神经网络的训练过程并应用于监控视频中的驾驶员行为识别,辅助的驾驶员定位和光流估计任务隐含地嵌入到视频分类任务中,促进卷积神经网络模型学习到更丰富的驾驶员局部空间和运动时间特征,以提升驾驶员行为识别的准确率。对比目前现有的驾驶员识别方法,本发明所设计的多任务时空卷积神经网络架构结合了帧间信息,泛化性强,识别准确率高,可用于监控视频下的实时驾驶员行为识别,在交通安全领域有重要的应用价值。

附图说明

图1是不同驾驶行为的样例图片。

图2是密集光流法生成的相邻两帧图片的光流图。

图3是人脸和方向盘位置定位示意图。

图4是多任务时空卷积神经网络架构示意图。

图5是反卷积模块的示意图。

图6为本发明提供的基于多任务时空卷积神经网络的视频驾驶员行为识别方法流程图。

具体实施方式

以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。

本发明提供的基于多任务时空卷积神经网络的视频驾驶员行为识别方法,如图6所示,包括如下步骤:

步骤1:拍摄驾驶员行为的相关视频并录入行为数据集中。所有的视频由内置车载监控摄像头拍摄,摄像头型号为logitechc920。驾驶员行为数据集由120人录制,共有3252个视频,涵盖6种不同的驾驶行为,如图1所示,分别为:

c0:正常驾驶

c1:双手脱离方向盘

c2:打电话

c3:低头看手机

c4:抽烟

c5:与副驾驶交谈

将录制得到的视频划分为训练集和测试集各包含2306个训练视频和946个测试视频。

步骤2:将训练视频截取剪辑并尺寸归一化,连续l帧的剪辑作为一个输入样本,并添加三个标签分别为驾驶员行为类别标签,光流标签和驾驶员定位标签。

步骤201:对于步骤1中得到的一个帧长为n的训练视频,随机抽取相邻l帧,将抽取的剪辑进行通道合并和尺寸归一化,形成224×224×3l的输入作为训练样本i,其类别标签为l(l∈{0,1,2,3,4,5})。

步骤202:使用opencv开源库计算相邻l帧输入的brox密集光流场,其源代码denseflow已在在github上开源(https://github.com/wanglimin/dense_flow)。计算得到的第t和t+1帧之间的光流场可分解x方向分量和y方向分量如图2所示,将生成得到的相邻帧光流图堆叠成224×224×2(l-1)作为标签o,可具体表示为:

步骤203:使用mtcnn开源工具检测驾驶员人脸,faster-rcnn检测方向盘,作为8维位置标签p={pface,pwheel},如图3所示。

步骤3:构建用于驾驶员行为识别的时空卷积神经网络架构,本发明所设计的网络架构由卷积层、全连接层和反卷积层组成。卷积层和全连接层用于提取视频中单帧图像的静态特征用于驾驶员行为分类和驾驶员定位,反卷积层用于提取视频中帧与帧之间的动态特征用于光流估计。具体的说,该模型以尺寸为224×224×3l的剪辑作为输入,包含13层卷积层、2层全连接层,4层反卷积层,1层softmax分类层和1层边框回归层,其结构图如图4所示。

步骤301:卷积层的结构类似于vgg16网络。对于一个尺寸为224×224×3l的视频剪辑i。堆叠的卷积层对输入进行多层滤波,滤波核的尺寸3×3,步长为1。池化和relu操作加入在部分卷积层后。最大值池化的区域范围是2×2,步长为2。通过一系列的卷积操作,输入可映射为多层卷积特征图f,具体可表示为:

f=conv(i|θconv)(2)

其中conv(·|)表示卷积操作,θconv表示卷积层的相关参数,f表示一系列卷积操作后输出的多层卷进特征图。

步骤302:两层全连接层跟随在卷积层的输出后,第一个全连接层的单元与卷积层输出的特征图f(最后一层卷积特征图)全连接,第二个全连接层可将特征图映射为4096维特征向量f,具体可表示为:

f=fc(f|θfc)=θfctf(3)

其中fc(·|)表示全连接操作,θfc表示全连接层的相关参数,f表示4096维特征向量,即全连接参数θfc和特征图f(最后一层卷积特征图)的内积。

步骤303:得到的4096维特征向量作为softmax分类层的输入。softmax层的输出为6维向量即为输入视频剪辑属于不同驾驶员行为类别的后验概率,其属于第j类的后验概率可表示为:

其中θcls表示softmax分类层的参数,其第j个神经元的输出即输入剪辑属于第j类别的后验概率。

步骤304:得到的4096维特征向量作为边框回归层的输入。边框回归层的输出为8维向量,分别表示驾驶员人脸和方向盘的定位预测值具体可表示为:

其中θloc表示euclidean层的回归连接参数,该层的8维输出即定位的预测值

步骤305:多层卷积特征图f作为反卷积模块的输入,其输出为多尺度密集光流预测图其中反卷积模块的结构如图5所示。该模块由一系列的卷积和反卷积层操作组成。卷积操作用于对特征图滤波,将其映射为(2l-1)通道的输出用于当前尺度下的密集光流图逐像素估计。反卷积操作用于将当前尺度下的光流预测结果和特征图分辨率翻倍,用于更高尺度的光流估计。经过四次卷积和反卷积操作,生成的多尺度光流预测结果可表示为:

其中deconv(·|)表示反卷积操作,θdec表示反卷积层相关参数,其输出的多尺度光流预测结果包含四个尺度,分别为:7×7,14×14,28×28,56×56。

步骤4:采用多任务学习策率训练时空卷积神经网络。将训练视频剪辑(相邻l帧作为一个样本)送入设计好的模型中进行训练,设置初始学习率为0.001,冲量项为0.9,一次迭代送入样本数为60。卷积层和全连接层用于视频序列的特征提取(包括单帧的静态特征和帧间的动态特征),softmax分类层用于分类不同的驾驶员行为,边框回归层预测驾驶员定位,反卷积模块进行多尺度的密集光流估计。

步骤401:softmax分类层的输出为预测出的不同驾驶行为的概率,其属于第j类的后验概率记为p(j),而softmax分类层的损失函数可定义为:

其中f为全连接层提取的4096维特征,l为输入剪辑对应的类别标签,1{·}表示指示函数,如大括号内的表达式为真则取值1,反之取值0。而softmax层损失即为驾驶员行为分类的交叉熵。

步骤402:回归层的输出为定位的预测值,包含人脸位置预测值和方向盘位置预测值计算定位框和真实框之间的重叠面积作为回归层损失,其具体可表示为:

其中p和分别表示驾驶员定位真实值和预测值,iface和iwheel表示真实框和预测框的重合面积,uface和uwheel表示真实框和预测框的联合面积,回归框损失lloc用于精确的人脸和方向盘定位。

步骤403:反卷积模块的输出为多尺度光流预测值该模块的损失可定义为4个尺度下(7×7,14×14,28×28,56×56),光流真实值和预测值之间二范数距离的加权求和,具体可表示:

其中表示光流预测值,o表示光流真实帧,αr表示权重超参数,lflow表示反卷积模块损失。

步骤404:下载ucf101行为识别数据集,截取该视频中的相邻l帧对设计的网络进行预训练,预训练只用于学习卷积层,全连接层和softmax回归层,用于主行为分类任务,而忽略光流预测和定位任务。

步骤405:使用驾驶员行为数据集中的训练集对时空神经网络进行微调,使用多任务学习策略优化网络的所有部分参数包含θconv,θfc,θcls,θdec,θloc,其过程具体可表示为:

选用多任务损失对批样本进行优化,包含分类损失,光流预测损失和定位损失,λo和λl表示不同损失之间的权重参数,而即所学习得到的一组最优参数。

步骤5:在网络测试阶段,只保留训练网络的卷积层、全连接层和softmax分类层及其对应参数。对于驾驶员行为识别的测试集,使用相同的方法截取帧长为l的剪辑,堆叠并规范化为成224×224×2l通道的输入送入测试网络,通过网络的前向传播计算得出视频驾驶员行为识别结果。

本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1