基于SSD 模型的船载危险驾驶行为检测系统设计
刘常榕1
赵雪寒1
刘庆华1
文2杜春旺2张翟容2
(1.江苏科技大学
镇江
212003)(2.江苏金海星导航科技有限公司
镇江
212002)
水上交通安全问题日益凸显,如何预防水上交通事故的发生是水上管理部门亟需解决的问题。针对船舶驾驶
员危险驾驶行为容易造成水上交通事故,危害生命,造成巨大经济损失等问题,设计了一种基于SSD 模型的船载危险驾驶行为检测系统。该系统采用有NVIDIA 显卡的主机,通过获取船舶驾驶员的视频数据流,加载训练好的驾驶行为检测模型,有效地提高了检测的速度和精度,并且及时通过语音播报的形式提醒驾驶员小心驾驶规避水上交通事故。检测的数据信息通过MQTT 数据包的形式发送到远程后台管理平台,管理人员可以登录平台查看所管理的船舶船员的驾驶情况,历史信息统一存放在数据库中,不会丢失。实际结果表明,该检测系统对危险驾驶行为平均识别率为95.76%,系统处理视频流平均帧率为15fps ,实现SSD 模型在船舶危险驾驶行为检测上的应用,后台管理平台减少了管理成本,提高了驾驶的安全性,具有十分广泛的应用驾驶。
关键词
危险驾驶;SSD 模型;MQTT ;目标检测
中图分类号
TP391
DOI :10.3969/j.issn.1672-9730.2020.12.032
Design of Shipborne Dangerous Driving Behavior Detection System
Based on Deep Learning SSD Model
LIU Changrong 1
ZHAO Xuehan 1
LIU Qinghua 1
JIN Wen 2
DU Chunwang 2
ZHANG Zhairong 2
(1.Jiangsu University of Science and Technology ,Zhenjiang
212003)(2.Jiangsu Jinhaixing Technology Navigation Co.,Ltd.,Zhenjiang
212002)
Abstract
The problem of water traffic safety is becoming more and more prominent.How to prevent the occurrence of water
traffic accidents is an urgent problem for the water management department.Aiming at the problem that the dangerous driving behav⁃ior of the ship driver is easy to cause waterborne traffic accidents ,endangering life and causing huge economic losses ,a shipboard
dangerous driving behavior detection system based on SSD model is designed.The system adopts the
host computer with NVIDIA graphics card to load the trained driving behavior detection model by acquiring the video data stream of the ship driver ,effectively improving the detection speed and accuracy ,and promptly reminding the driver to drive carefully through the form of voice broad⁃
cast.It can avoid water traffic accidents.The detected data information is sent to the remote background management platform in the form of MQTT data packets.The management personnel can log in to the platform to view the driving situation of the managed crew members ,and the historical information is uniformly stored in the database and will not be lost.The actual results show that the aver⁃age recognition rate of the dangerous driving behavior is 95.76%,and the average frame rate of the system processing video stream is 15fps.The SSD model is applied to the detection of dangerous driving behavior of the ship.The background management platform
reduces the management cost and improves driving safety and has a wide range of application driving.
Key Words
dangerous driving ,SSD model ,MQTT ,target detection Class Number
TP391
收稿日期:2020年6月12日,修回日期:2020年7月25日
作者简介:刘常榕,男,硕士研究生,研究方向:大数据和图像处理。赵雪寒,女,硕士研究生,研究方向:机器视觉与人工智能应用。刘庆华,男,教授,研究方向:道路安全和道路质量评价。金文,女,研究方向:智能交通。杜春旺,男,研究方向:智能交通。张翟容,女,研究方向:嵌入式。
1引言
交通安全一直是社会重大安全问题之一,每年
多少人都因为道路交通事故失去宝贵的生命,一方面是由于行人等自身不遵守交通规则,一方面也是因为驾驶员的危险驾驶行为导致灾祸的发生。在
总第318期
道路交通领域中,危险驾驶一直是人们比较关注的地方。道路交通事故统计资料表明,驾驶员超速、疲劳驾驶、酒后驾驶等危险驾驶行为是造成交通安全事故的主要因素。杨晓峰等人提出了一种基于脸部特征提取的驾驶员低头行为的检测方法[1],吴超仲[2]等人以驾驶疲劳状态监测为研究对象,介绍现
有几种疲劳检测方法及其优缺点,提出了对驾驶行为操作和驾驶员生理指标进行建模,建立疲劳识别模型,实现了对疲劳驾驶行为的检测。李娟根据数据融合的思想,采用粗糙集模型融合人眼疲劳识别特征参数和车道线危险识别特征参数,建立危险驾驶识别的数据融合模型,得出了最终的危险识别结果[3]。然而,水上驾驶安全也同样重要。每年,全国范围内水上交通事故发生也非常多,水上交通安全问题日益凸显,如何降低水上交通事故发生已经成为江河流域管理部门的重大难题之一。我们认识到,水上危险驾驶行为是导致水上交通事故的主要原因[4],严重威胁水上交通安全。因此,如何实现对船舶驾驶员的危险驾驶行为的实时检测对于减少水上交通事故显得尤为重要。
在水上交通安全领域,船员的危险驾驶行为主要有低头、闭眼、打哈欠、打电话、抽烟、转头等行为。这些行为可以通过安装在船长驾驶室的摄像头进行捕捉画面,并且通过分析画面中的相应行为来检测是否有危险行为发生,这其实就涉及到对人脸、电话等的目标检测问题。目前,在计算机视觉领域,目标检测是一个非常重要的研究方向,很多新型科研领域如无人驾驶、人脸识别、智能监控等都有广泛的应用。它是以图象分类技术为基础,检测图像中的目标对象并进行分类,并且在目标对象周围绘制适当大小的边框对目标对象进行定位实现的[5]。传统显著性目标检测方法常假设只有单个显著性目标,其效果依赖显著性阈值的选取,并不符合实际应用需求。近来利用目标检测方法得到显著性目标检测框成为一种新的解决思路[6]。选取SSD模型可以同时精确检测多个不同尺度的目标对象,其对小尺度目标检测精度不佳的问题在船舶驾驶员行为检测中影响较小,因此,采用SSD 模型实现对船舶驾驶员行为的检测是可行的。
本文将首先介绍整个船载危险驾驶行为检测系统的整体设计,并且阐述使用SSD模型实现目标检测功能的原理,并选取典型的目标检测数据,制作用于目标检测模型的图像数据集,结合SSD_Mo⁃
bileNet预训练模型,在具有安装NVIDIA显卡的主机上训练危险驾驶行为检测模型,最后将训练好的模型集成到安装好特定环境并带有NVIDIA显卡的主机上,实现危险驾驶行为检测的功能,并且分析这些行为检测的准确度并且得出相应结论。
2系统设计
2.1硬件系统设计
整个船载危险驾驶行为检测系统的主机为惠普i5-9400F,其内存容量为8GB,硬盘容量为1TB,显卡型号为NVIDIA GetForce GTX1660,满足作为训练主机和正式环境的要求。在训练模型时,我们可以使用该主机对SSD模型在增加数据集的基础上进行训练;在实际船舶环境中,我们可以将该主机放置在船长驾驶室内,配置相关程序供电之后即可使用。
该行为检测系统硬件框图如图1所示。首先,船舶一般配置一台路由器和一台交换机,安装在船员驾驶舱前面的海康摄像头通过连接到交换机通过配置相关参数即可使该摄像头具有静态的IP,搭载检测模型的主机通过连接到交换机与该摄像头同处一个局域网下,就能通过摄像头固定的本地地址实现通信。主
机上的检测程序主要是通过实时流传输协议RTSP(Real Time Streaming Protocol)将驾驶员的实时监控视频流获取到,然后将该视频流输入到船载危险驾驶行为检测的深度学习模型中,模型根据视频流会进行几种驾驶行为的检测,如果发现检测到危险驾驶行为,则会通过报警模块将该行为信息通过声音播报出来并且会通过MQTT协议的数据消息发送到远程后台管理平台,后台管理平台可以将这些信息保存到数据库并且通过界面展示出来。
船载主机可以设置掉电自动重启功能,每次船舶开始启动通电时主机能够自动开机,检测程序随之能够实时地检测船员的危险驾驶行为,非常方便,不需要人工干预。
摄像
头监
控设
RTSP
危险驾驶行为
检测模型
定位模块语音播报
模块
MQTT发送客户端
MQTT
数据包
MQTT
订阅客户端
后台管理
平台
图1硬件系统设计示意图
2.2软件系统设计
放置在船上的主机里面集成了危险驾驶行为
刘常榕等:基于SSD模型的船载危险驾驶行为检测系统设计140
2020年第12期舰船电子工程
的检测程序,其主要的流程如图2所示。首先,当
主机通电时,检测程序自动开始运行,首先会进行
系统初始化,根据主机、端口和主题等配置向MQTT服务器发起订阅,订阅成功则开始检查TTS 模块是否正常启动,其次,加载危险驾驶行为检测
模型,然后开始读取视频流,读取每帧的图片进行
检测,如果检测到危险驾驶行为则通知TTS模块播
放对应的提示语音并且通过MQTT向远程平台发
送MQTT 数据包。
开始
MQTT模块初始化
TTS模块初始化
加载危险驾驶行为检测模型
读取RTSP视频流并检测
是否有危险驾驶行为
语音播报
发送MQTT数据包
结束
图2检测程序执行流程图
MQTT协议[9]特别适合应用在物联网领域,本系统中,我们就是采用MQTT协议发送数据包。MQTT协议是一种基于Publish/Subscribe模式的协议,它的主题支持通配符格式,一般常用的是“+”和“#”。本系统设计的主题格式主要是根据公司代码还有船舶九位码来区别不同的船舶发送过来的驾驶行为的数据,主要形式为/ship/+/+/alert/publish,其中第一个“+”匹配的是公司代码,第二个加号匹配的是船舶九位码,这样设计的目的是可以根据主题的层级关系每个公司可以只订阅自己管理的船舶的主题,便于后续需要。MQTT的数据格式采用json格式,各字段含义主要如表1所示。
系统的后台管理平台主要使用的语言为java,
主要的架构为Springboot+mybatis+JSP实现,将项目打包成war直接使用docker部署。平台主要使用的是postgresql关系型数据库,整个架构如图3所示。
表1MQTT数据包字段说明
json字段
id
companyCode
前端测试和后端测试的区别
shipCode
type
detectTime
currentTime
示例数据
f6eae72f-54c8-d48a-
c16b-b4d7168a1ad9
DGQD01
413838833
2019-10-1910:23:45
2019-10-1910:24:50
含义
uid字符串,
确保数据唯一性
公司代码
船舶九位码
危险驾驶行为类型
检测时间
MQTT数据
发送时间
管理平台前端界面
视图层
业务层
持久层
Postgresql
管理平台
后端程序
MQTT
订阅端
MQTT数据
图3网络模型结构图
3算法实现
3.1SSD网络模型简单介绍
SSD模型是由WeiLiu,Dragon Anguelov等[7]提出的使用单个深层神经网络检测图像中对象的方法。其结构示意图4所示:SSD模型的前五层为VGG-16网络的卷积层,第六和第七层全连接层转化为两个卷积层,之后再加上三个卷积层和一个平均池化层。SSD模型的主要特征就是采取VGG-16卷积神经网络作为基础,然后连接多层卷积层和池外层来提供额外提取特征的效果。SSD模型获取目标对象位置和类别的方法虽然也是回归方法,但是主要去除了候选框的操作,使用候选对象位置周围的特征,采用的是Anchor机制。在使用SSD模型进行对象的检测时,各个卷积层会将特征图分割为若干称为feature map cell的大小相同的网格,针对每个网格使用固定大小的Default boxes对目标对象进行包围,预测这些Default boxes的偏移和类别得分,最后采用非极大值抑制方法获取目标检测的结果。Default boxes可以作用于不同层次的多个特征图上,帮助我们以最合适的尺度来匹配目标对象的实际区域范围。
141
总第318期
SSD_MobileNet 模型是将MobileNet 网络替换
VGG 网络成为该模型的基础网络结构的。Mo⁃bileNet 的设计之初是为了应用于嵌入式视觉,它十分高效,主要的特点就是将标准卷积核进行分解计算,引入宽度乘数和分辨率乘数两个超参数减少计算量。Andrew G.Howard 等人针对COCO 数据集进行实验,得出了使用基于SSD 框架下的这两种模型的训练及测试的结果[8],如表2所示。综合这实验结果可以得出,SSD 框架使用MobileNet 网络结构作为基础网络结构,虽然在检测的准确率上面会有些许下降,但是在图像处理时的计算量和参数量会大幅度下降。在嵌入式应用中,硬件资源一般都是有限的,机器的性能也不是很高,减少计算量,提高目标检测实时性非常关键,而使用MobileNet 这种轻量级、延迟性低的检测模型能够显著地提高目标检测的速度。
表2
VGG 和MobileNet 对比实验结果对比
Framework
resolution SSD
Model
VGG
MobileNet mAP(%)21.10
19.30
Billion
Multi-Adds 34.91.2
Million parameter
33.16.8
3.2数据集的处理
危险驾驶行为模型的数据集使用全新的数据集,数据集取自镇江市新区大港汽渡公司。通过船舶上面对驾驶员的监控视频处理得到的图片,采用专门的图形标注软件对各种危险驾驶行为进行目标对象标注,并且转化为标准的目标检测数据集格式。一般数据集格式包含Annotations 、ImageSets 和JPEGImages 三个文件夹,Annotations 文件夹保存了图片的标注信息,一般是xml 格式;用于训练、
验证和测试的样本名称记录在ImmageSets 文件夹,一般是txt 格式;而JPEGImages 文件夹保存了所有图片,图片的格式为JPG 格式。经过人工的筛选和标注,我们最后搜集的图片每类图片各1000张,共6000张。通过水平翻转、调节图片对比度、多角度旋转图片、放大裁剪等多种方法扩充数
据集数量至10000张,其中图片标注文件也需随图片变换做相应的坐标变换。
3.3SSD 网络模型训练
危险驾驶行为检测模型在SSD 模型的基础上,
训练模型的服务器GPU 为GTX1060,训练参数如下:模型识别种类数为6;每次训练更新参数时,批处理图片的数量为24,即batch_size 值为24;载入模型的训练图片大小为300*300;初始学习率为0.004,每训练1000次学习率变为上次学习率的0.99倍,使用不断减小的学习率提高模型权重值的
准确度,由此提高整个模型的识别精度;momen⁃tum 动量优化值为0.9;模型采用l2正则化,如式(1)所示,其作用为对最优的元素进行不同比例缩放;计人计车模型的总训练次数为20万次,即ep⁃
och 值为200000。
l 2=Ω()ω=|||ω|2=åi
ω2
i (1)
4结果分析
本系统采用docker 部署,docker 现在在业界应
用越来越广泛,而且docker 运行相当于在一个容器里面,不会与主机中其他依赖产生冲突,启动、重启和关闭都比较方便。根据制作的数据集和训练过之后的模型,我们对真实视频进行处理。视频为真实室内环境,视频帧尺寸为450×450像素,视频处理帧率为15fps ,实现了实时处理。针对每种危险驾驶行为,我们对检测模型的结果和实际的情况进行统计,主要结果如表3所示。
表3
检测结果
行为分类低头闭眼打哈欠打电话抽烟转头
检测次数100010001000100010001000
准确率97.58%94.25%98.87%94.48%93.54%95.92%
测试效果如图5所示。针对驾驶员的低头、
图4VGG 结构图
刘常榕等:基于SSD 模型的船载危险驾驶行为检测系统设计142
2020年第12期舰船电子工程
眼、打哈欠、打电话、抽烟、转头这些危险驾驶行为,
训练好的危险行为检测模型都能很好地检测出来。
图5测试效果图5结语
本文提出了一种基于SSD 模型的船载危险驾
驶行为检测系统。该系统主要是通过检测模型读取监控视频的实时RTSP 流进行分析,检测到有危险驾驶行为出现的话,就会有语音报警,并且检测程序会通过MQTT 数据包将该行为检测的信息发送到远程后台管理平台。后台管理平台可以接收到这些消息并且保存到数据库当中并且通过界面展示,这极大地方便了管理部门查看船员的驾驶情况,也能够避免江河流域上面交通事故的发生。从实验结果来看,采用SSD 模型经过数据集的训练之后,准确度识别度为95.76%,视频处理平均帧率为15fps 。由此可见,该船载危险驾驶行为检测系统检测效果明显,具有非常广泛的应用价值,如果应用到水上交通安全上将会规避很多不必要的事故
发生,保障生命安全,减少人民财产损失。
参考文献
[1]杨晓峰,邓红霞,李海芳.基于计算机视觉的驾驶员低
头行为检测[J ].计算机科学,2016,43(S1):210-213.[2]吴超仲,张晖,毛喆,等.基于驾驶操作行为的驾驶员疲
劳状态识别模型研究[J ].中国安全科学学报,2007(04):162-165,177.
[3]李娟.基于数据融合的危险驾驶行为识别与车辆跟踪
算法研究[D ].武汉:武汉工程大学,2017.
[4]于菲.水上危险驾驶行为入罪研究[D ].大连:大连海事
大学,2015.
[5]郑泽宇,顾思宇.TensorFlow :实战Google 深度学习框架
[M ].北京:电子工业出版社,2017.
[6]余春艳,徐小丹,钟诗俊.面向显著性目标检测的SSD
改进模型[J ].电子与信息学报,2018,40(11):2554-2561.
[7]Liu W ,Anguelov D ,Erhan D ,et al.Ssd :Single shot mul⁃
tibox detector [C ]//European conference on computer vi⁃sion.Springer ,Cham ,2016:21-37.[8]Howard A G ,Zhu M ,Chen B ,et al.Mobilenets :Effi⁃
cient convolutional neural networks for mobile vision appli⁃cations [J ].ArXiv preprint arXiv :1704.04861,2017.[9]Atmoko R A ,Riantini R ,Hasin M K.IoT real time data acquisition using MQTT protocol [C ]//2017:012003.[10]Banks A ,Gupta R.MQTT Version 3.1.1[J ].OASIS standard ,2014,29:89.
[11]唐聪,凌永顺,郑科栋,等.基于深度学习的多视窗
SSD 目标检测方法[J ].红外与激光工程,2018,47
(1):290-298.
[12]贾建.基于改进SSD 网络的目标检测关键技术研究
[D ].重庆:重庆大学,2018.
[13]华夏,王新晴,王东,等.基于改进SSD 的交通大场景
多目标检测[J ].光学学报,2018,38(12):221-231.[14]邹鹏.基于深度学习的快速目标检测算法研究[D ].武
汉:中南民族大学,2018.
[15]Wang Z ,Du L ,Mao J ,et al.SAR Target Detection
Based on SSD With Data Augmentation and Transfer Learning [J ].IEEE Geoscience and Remote Sensing Let⁃ters ,2018,16(1):150-154.
[16]方阳,刘英杰,孙立博,等.基于SSD 模型的人脸检测
与头部姿态估计融合算法[J ].江苏大学学报:自然科学版,2019,40(4):451-457.
[17]方帅,李永毅,刘晓欣,等.一种改进的基于SSD 模型
的多尺度人脸检测算法[J ].信息技术与信息化,2019(02):39-42.
[18]郑国书,朱秋煜,王辉.基于深度学习SSD 模型的视频
室内人数统计[J ].工业控制计算机,2017,30(11):48-50.[19]方阳,刘英杰,孙立博,等.基于SSD 模型的人脸检测
与头部姿态估计融合算法[J ].江苏大学学报(自然科学版),2019,40(04):451-457.
[20]Shan H ,Zhu W.A Small Traffic Sign Detection Algo⁃
rithm Based on Modified SSD [C ]//IOP Conference Se⁃ries :Materials Science and Engineering.IOP Publish⁃ing ,2019,646(1):012006.
[21]Tian M ,Chen H ,Wang Q.Detection and Recognition of
Flower Image Based on SSD network in Video Stream [C ]//Journal of Physics :Conference Series.IOP Publish⁃ing ,2019,1237(3):32-45.
143

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。