基于视频序列的矿卡司机不安全行为识别
1.
2.
Unsafe Behavior Identification of Mining Truck Drivers Based on Video Sequences
1.
2.
通讯作者:
收稿日期: 2020-12-09 修回日期: 2021-02-19 网络出版日期: 2021-03-22
基金资助: |
|
Received: 2020-12-09 Revised: 2021-02-19 Online: 2021-03-22
作者简介 About authors
毕林(1975-),男,四川通江人,副教授,博士,从事铲运机智能化、数字矿山和地质建模等研究工作
关键词:
Keywords:
本文引用格式
毕林, 周超, 姚鑫.
BI Lin, ZHOU Chao, YAO Xin.
在采矿及采石行业中,卡车是最主要的运载工具之一。卡车运输工作艰苦、工作强度大且工作环境单一,因此卡车司机经常存在不安全的驾驶行为。但是现有的监督方法存在效率低、需要人工干预等问题,因此如何智能化、简单化、高效准确地检测卡车司机的不安全行为具有重要意义。
与静态的图像识别相比较,针对视频序列的行为识别最大的不同在于要考虑时域信息,关注帧与帧之间的关系。行为识别方法可划分为两大类,分别是基于深度学习的方式和传统的行为识别方式(蔡强等,2020)。其中,传统的行为识别方法主要是依靠人工来提取特征,然后进行编码和分类,行为识别中常用的特征包括时空兴趣点、稠密轨迹和改进的稠密轨迹3类。为了能够在视频中检测局部兴趣点,Laptev et al.(2008)将2D Harris角点向时域方向进行了扩展,将图像局部区域空间和时间轴上像素值均有显著变化的点作为时空兴趣点(STIP)。Dalal et al.(2005)提出了一种基于方向梯度直方图信息的兴趣点(HOG),主要关注对象的结构和形状。Klaser et al.(2008)将方向梯度直方图(HOG)加入时间维度信息,并将其扩展到三维,从而得到3D-HOG。这些时空兴趣点固然可以获取一些较为简单的运动信息,但它们依然不足以描述较为繁琐复杂的运动。对于这个问题,Dalal et al.(2006)提取从RGB图像得到的X方向和Y方向上的光流图的方向梯度直方图,得到运动边界直方图(MBH)。Wang et al.(2011,2013)结合了运动边界直方图提出了稠密轨迹和改进的稠密轨迹方法用于行为识别。然而,传统的行为识别方法都是基于人工设计的,针对不同的识别问题和不同的视频图像,提取的特征也不尽相同,而且训练出来的模型稳健性不够好,只能适用于特定视频数据,难以直接应用于实际的人体行为识别中。
近年来,随着深度学习在各个领域的广泛应用(Gao et al.,2019;Sun et al.,2020;Hacefendiolu et al.,2021;Mazda et al.,2020),越来越多的研究人员开始将卷积神经网络用于视频行为分类。Ji et al. (2013)提出了一种3D CNN结构来捕捉视频中的空间和时间特征信息,与没有考虑时间维度信息的二维卷积神经网络相比识别率有明显的提高。Tran et al.(2014)提出了一种C3D卷积网络,该模型在所有层均采用3×3×3的小卷积核,其最大优势在于速度快,通过同时处理连续视频帧图像的每个通道的数据,并结合最终的通道信息以获得特征描述符。Simonyan et al.(2014)提出一种双流网络结构(Two-stream),该网络结构对RGB图像和光流图像分别训练,2个网络对行为类别分别进行判断,最后再进行融合分类。
Yue-Hei Ng et al.(2015)提出了一种Two-stream网络与长短时记忆网络LSTM结合的方式。毛志强等(2016)针对视频序列中行为的类间差异小、类内差异大的问题,提出了一种双中心Loss的方法。黄友文等(2019)提出了一种LSTM与卷积神经网络相结合的网络结构,将多个特征通过卷积进行融合后送入LSTM单元。Wang et al.(2016)提出了一种 TSN 网络结构,该网络是在Two-stream的基础上进行研究,同时提出RGB差异(RGB difference)和扭曲的光流场(Warped Optical Flow Fields)2种额外的输入模式,该网络能够在一段长的视频序列中通过稀疏采样的方法提取短片段,然后进行网络学习。王毅等(2020)通过引入注意力机制来提高前后关联信息,将较大的权重分配给相关性强的特征向量。
在上述研究的基础上,针对矿卡司机的不安全行为识别,本文在Two-stream模型与C3D模型的基础上进行融合改进,利用改进后的模型完成矿卡司机不安全行为识别的任务。
1 试验数据
1.1 数据集收集
视频数据采集于芜湖海螺现场,通过长沙迪迈数码科技股份有限公司研发的可视化数据管控平台进行远程操作,利用OpenCv和RTSP协议实时采集现场矿卡司机的视频数据。随机挑选50辆不同矿卡进行数据采集,其中每个驾驶者的视频时长3~5 min不等。由于在行为识别领域,疲劳驾驶有着专门的疲劳检测技术,与本文中不安全行为识别的技术路线和手段不同,且在本次收集到的数据集中脸部特征太过模糊,因此本次研究的不安全行为不包括疲劳驾驶等因素。通过对采集数据进行分析,将驾驶者的行为划分为正常驾驶、双手离开方向盘和玩手机3类行为,同时增加驾驶室无人的情况来判断车辆是否正在行驶。由于实际情况下受到每台矿卡的数据流量及司机行为的不确定性影响,收集到的数据并不具有均衡性,因而极大地影响了识别率。
1.2 数据预处理
为解决数据样本过少以及样本不均衡的问题,采用翻转、旋转和添加噪点的方法对经过预剪裁的数据集进行数据增强(Data Augmentation),以解决模型容易过拟合问题,同时可以提高分类准确率。然后利用OpenCv将增强后的图像还原为视频文件,通过采用Dense_flow的方法从视频文件中获取X方向和Y方向的光流图。部分增强后的数据集及光流图如图1所示。
图1
图1
增广后的数据集及光流图
(a)原始帧图像;(b)剪裁后的图像;(c)旋转图像;(d)翻转图像;(e)添加噪点的图像;(f)X方向光流图;(g)Y方向光流图
Fig.1
Augmented data set and optical flow diagram
2 试验原理与方法
2.1 整体框架
在基于视频序列的行为识别中,长时运动信息有着重要意义。以往的行为识别大多只考虑空间信息,但是行为是连续的,针对视频序列的行为识别如果只对静态图像进行训练分析并不能取得很好的识别效果。由于光流对于颜色、纹理和光照等表观信息具有很好的不变性,因此为了提升识别准确率,在网络中添加时域通道,考虑帧与帧之间的关系,同时通过视频序列提取光流信息作为网络的输入,并且将原双流网络的二维卷积神经网络替换为三维卷积神经网络进行特征提取,使网络模型更好地收集时域信息特征。同时为进一步研究时序动态信息对于行为识别的影响,利用迁移学习对不考虑时序信息的模型进行试验,包括Resnet、Inception和Xception 3种模型,将这3种模型与考虑时序信息的双流结构模型进行试验对比。基于视频序列的矿卡司机不安全行为识别整体框架如图2所示。
图2
图2
基于视频序列的矿卡司机不安全行为识别框架
Fig.2
A framework for identifying unsafe behaviors of mining truck drivers based on video sequences
2.2 试验原理
(1)C3D模块
图3
如果输入一段视频,其大小是C×L×H×W(其中C为通道数,L为帧数的长度, H和W分别为每帧的高和宽),3D卷积的卷积核和池化核也是3D的,就是比2D的往里扩展一个维度,所以核大小是d×k×k,其中d为核的时间深度,k×k为空间上的大小。
C3D模型结构如图4所示,该模型输入尺寸为3×16×112×112,共包括8次卷积操作,每层卷积核大小均为3×3×3,步长为1;5次池化操作,第一层池化核大小设置为1×2×2,设置成1的就是在单独的每帧上面进行池化,如果大于1的就是在时间轴上,也就是多帧之间进行池化,前者是有利于在初始阶段保留时间特征的,除了第一层外其余池化核大小均为2×2×2;2个全连接层,每层输出均为4 096维。
图4
同时该模型还可以大幅度加快运算速度,这也是本文选择C3D模型提取特征的一个原因,表1是C3D模型与稠密轨迹方法的运行速度对比,得到通过GPU加速的C3D模型可以达到313.9的FPS,速度是传统方法的数百倍。
表1 C3D模型与稠密轨迹方法的运行时间分析
Table 1
方法 | IDT(CPU) | Brox’s(CPU) | Brox’s(GPU) | C3D(GPU) |
---|---|---|---|---|
运行时间/h | 202.2 | 2 513.9 | 607.8 | 2.2 |
每秒传输帧数 | 3.5 | 0.3 | 1.2 | 313.9 |
X Slower | 91.4 | 1 135.9 | 274.6 | 1 |
(2)VGG16模块
VGG16是分类网络模型中较为经典的网络,相比之前的卷积神经网络,其改进在于采用连续的几个3×3的卷积核代替较大卷积核(11×11,5×5)。由于多个非线性层增加了网络的深度,以确保学习更复杂的模式并具有少量参数,因此对于给定的感受野,采用较小卷积核要优于大的卷积核。VGG16网络结构如图5所示。该网络模型输入尺寸为224×224×3,由13个卷积层、5个池化层、3个全连接层和1个Softmax层组成。
图5
在此基础上添加了Dropout层用于防止过拟合,Dropout层的结构如图6所示。Dropout层的原理是随机丢弃不同的神经元,类似于训练不同的神经元,从而在总体上减少过拟合。
图6
(3)融合模型
为进一步验证传统典型的分类模型对于行为识别任务的适用性,本文在进行单一模型训练的基础上,对模型进行融合,以寻求结果更好的模型。融合模型是将ResNet、InceptionV3和Xception 3种模型的去掉全链接层的结果混合起来,将单一模型的特征提取出来并进行特征融合,然后重新采用神经网络训练全连接层得到新的模型,融合过程如图7所示。
图7
2.3 试验方法
在双流网络结构的基础上,利用迁移学习等方法改变基础网络结构,利用三维卷积神经网络和经过预训练的VGG16提取时域和空域特征,然后进行融合、分类,从而得到更准确的测试结果。具体步骤如下:
(1)划分数据集。首先从视频中提取帧图像作为图像集,利用数据增强技术对原始图片集进行数据增强,然后利用Opencv将增强后的图片集重新转为视频集,再利用Dense_flow提取光流图,同时提取出帧图像。然后将增强后的数据集依照6∶2∶2的比例划分为训练集、验证集和测试集。其中,训练集用于网络训练,验证集用于交叉验证训练结果以避免过拟合,测试集不参与网络训练,用于检验训练后网络的实际识别准确率。
(2)特征提取。对于C3D模型,将连续的16帧RGB图像及对应的16帧光流图像分别作为空域和时域的输入,网络输入图片大小为112×112。对于VGG16模型,首先导入权重文件来初始化网络参数,然后将RGB图像和光流图像作为网络输入,网络输入图片大小为224×224。
(3)特征融合。将图像数据输入到网络中进行训练,训练过程中从训练集中随机不重复抽取小批次图片训练,训练结束提取特征,采用Concatenate(Li et al.,2018)的方式进行融合。
(4)分类。将融合特征作为Softmax的输入进行计算,最后通过SVM分类器进行分类,共包括正常驾驶(DN)、双手离开方向盘(H)、玩手机(P)和驾驶室无人(N)4类行为,如图8所示。
图8
图8
卡车司机行为类别
(a)正常驾驶(DN);(b)驾驶室无人(N);(c)双手离开方向盘(H);(d)玩手机(P)
Fig.8
Behavior category of mining truck driver
3 结果分析
试验的硬件环境:Intel(R)Core(TM)i7-7900XCPU@3.30GHz处理器,64GB内存,NVIDIA GeForce GTX 1080 Ti GPU;试验的软件环境:Ubuntu16.04 64bit系统,CUDA9.0,CUDNN7.6.4,Tensorflow-gpu-1.10,VScode。
3.1 模型训练及评价指标
训练部分主要从训练损失(loss_train)、验证损失(loss_val)、训练准确率(acc_train)和验证准确率(acc_val)等指标评估训练结果。训练准确率主要指模型在训练集上正确结果的比率,计算公式如下:
式中:
网络训练过程就是最小化损失函数的计算过程,Loss就是损失函数的值。损失函数实际上计算的是模型在测试集上的均方误差,均方误差计算式如下:
式中:m为样本总数;
3.2 训练准确率对比分析
(1)不考虑时序信息的模型结果。在不考虑时序信息的条件下,利用传统的经典分类网络对数据进行了训练,结果如图9所示。
图9
由图9可知,经过200轮训练后,4种模型的训练结果并不理想,均维持在0.90~0.95之间,特别是验证准确率波动较大,在Resnet中甚至出现验证准确率回落的情况。其中融合模型在混合了3种模型结果后的表现比单一模型的结果更好、更稳定,但是不明显。分析其原因可能是对于行为识别来说,只考虑静态信息的模型并不能很好地提取有用特征,造成结果波动较大,因此传统的分类模型并不适用于行为识别任务。
图10
由图10可知,经过200轮训练后,2个模型的训练准确率均超过99%,验证准确率达到95%左右,其中C3D-two-stream模型在训练到50轮左右趋于最佳,且验证集拟合效果较好,稳健性较强,而VGG-two-stream模型的验证准确率波动较大,分析其原因可能是C3D模型采用的三维卷积,在卷积过程中能获取时域信息,并在双流结构中再一次对时空域特征进行融合处理,相比VGG的二维卷积在帧图像提取特征过程中无法获取时域信息更具优势。
3.3 训练损失对比分析
网络训练的损失图像如图11所示。训练损失均达到0.01以下,得到比较好的拟合效果,但是可以看出VGG-two-stream的验证损失波动较大,与验证准确率波动较明显相对应。
图11
在上述结果的基础上,可以初步证明C3D-two-stream和VGG-two-stream模型对于矿卡司机的不安全行为识别均具有较好的效果,且C3D-two-stream效果更好,分析其原因是三维卷积能够较好地获取时域信息,在融合之前就捕获到较好的特征信息。而传统的分类模型并没有考虑到时序信息,对于行为的动态信息提取不够,只考虑静态信息导致模型的训练结果并不理想且波动较大。从人类大脑对于行为判断的角度出发可以理解为我们看待某个人是否做出一定的行为举动是连续性的,是有前后语义关系的,而不是单帧的状态。
3.4 测试结果分析
测试结果的测试准确率(acc_test)评估。测试准确率是指模型在测试集上输出结果的正确比率,测试准确率可表示为
测试准确性是反映网络是否具备较好效果的重要指标。同时,如果训练精度对于测试精度而言相差较大,则网络训练过拟合,网络泛化性能差且不切实际。因此,一个好的网络不仅应该使测试准确率最大化,而且还应使训练准确率与测试准确率之间的差距最小化。
将训练后的模型保存后用测试集进行测试,同时对比单一的双流网络模型与三维卷积模型进行测试,各类别测试准确率如表2所示。
表2 各行为类别测试精度对比
Table 2
行为类别 | 精度/% | |||
---|---|---|---|---|
C3D | Two-stream | VGG-two-stream | C3D-two-stream | |
平均准确率 | 76.639 | 78.175 | 89.539 | 93.445 |
双手离开方向盘 | 69.067 | 67.972 | 83.016 | 88.366 |
无人 | 93.516 | 97.194 | 99.577 | 100.000 |
正常驾驶 | 73.591 | 76.443 | 88.915 | 94.038 |
玩手机 | 70.382 | 71.091 | 86.648 | 91.375 |
由表2可以看出,改进的双流结构模型均具有较好的识别效果,相比之前的网络测试精度均有提升,且采用三维卷积的C3D-two-stream效果最优。对于驾驶室无人这一情况,所有网络均具有较高的识别率,而对于双手离开方向盘这一类行为的识别所有网络的准确率均是最低的,可能是由于图片模糊、光线问题所导致的。如图12(a)所示,也有可能是数据的划分不够清晰,使得该类行为与正常驾驶行为判断失误;如图12(b)的情况,实际为双手离开方向盘(Hands off the steering wheel)却被判断为正常驾驶(Drive normally),由图可以看到该司机的一只手离方向盘很近,另一只手离档把很近,若司机的一只手在档把而另一只手在方向盘上是被标记为正常驾驶的,故而出现误判。
图12
4 结论
本文以实现矿卡司机的不安全行为识别为目标,将计算机视觉领域的技术应用于矿山,基于深度学习方法开展矿用卡车司机不安全行为研究,取代传统人工监控。提出了融合模型和改进的双流网络模型,并且利用迁移学习构建VGG-two-stream来进一步对比验证本文所构建的C3D-two-stream网络的优势。针对数据集较少的情况,利用增强学习对数据集进行增强,使得重新构建的新数据集数据比较均衡,数据量也有进一步提升,对于防止过拟合有较好的效果。结果表明:本文提出的VGG-two-stream和C3D-two-stream网络均具有较好的识别率,其中C3D-two-stream识别率最高,达到93.445%。相比较简单的单一三维卷积模型识别率提高了16%,比原始双流网络Two-stream提高了15%;与传统典型的分类模型的比较试验证明了在行为识别中,考虑对时域特征信息的捕获能够提高识别的准确率,更适用于行为识别任务,这对于矿卡司机不安全行为的识别具有重要实践意义。
本文认为关于矿卡司机的不安全行为识别可以在以下方面继续进行研究:(1)本文提出的模型结构对于长时序的特征获取仍然达不到最佳,因此可以考虑在本文结构基础上添加长短时记忆网络LSTM来更好地获取长时序的特征信息。(2)实际情况中司机的不安全行为类型还有更多,比如疲惫睡觉等,因此在对不安全行为进行检测的基础上,可以同时利用人脸检测等技术进行疲劳检测,形成一个较完整的系统。
http://www.goldsci.ac.cn/article/2021/1005-2518/1005-2518-2021-29-1-14.shtml
参考文献
Review of human behavior recognition methods based on deep learning
[J].,
Histograms of oriented gradients for human detection
[C]//
Human detection using oriented histograms of flow and appearance
[C]//
A study for real-time identification of unsafe behavior of taking off safety helmet based on VSM model
[C]//
Automatic detection of earthquake-induced ground failure effects through Faster R-CNN deep learning-based object detection using satellite images
[J].,
Multi-feature fusion human behavior recognition algorithm based on convolutional neural network and long-short-term memory neural network
[J].,
3D convolutional neural networks for human action recognition
[J].,
A spatio-temporal descriptor based on 3D-gradients
[C]//British Machine Vision Conference, Aberystwyth,
Learning realistic human actions from movies
[C]//
Multi-modal feature fusion for geographic image annotation
[J].,
Research on behavior recognition based on two-stream convolution and two-center loss
[J].,
Recognition of nonlinear hysteretic behavior by neural network using deep learning
[J].,
Beyond short snippets:Deep networks for video classification
[C]//
Two-stream convolutional networks for action recognition in videos
[J]..
Research on wear recognition of electric worker’s helmet based on neural network
[J].,
Learning spatio temporal features with 3D convolutional networks
[C]//
Action recognition by dense trajectories
[C]//
Action recognition with improved trajectories
[C]//
Temporal segment networks:Towards good practices for deep action recognition
[C]//
Behavior recognition based on space-time dual-stream fusion network and attention model
[J].,
基于深度学习的人体行为识别方法综述
[J].,
基于卷积神经网络与长短期记忆神经网络的多特征融合人体行为识别算法
[J].,
基于双流卷积与双中心loss的行为识别研究
[J].,
基于时空双流融合网络与Attention模型的行为识别
[J].,
/
〈 | 〉 |