基于计算机视觉下的安全驾驶系统*
2022-07-20湖南应用技术学院信息工程学院阳嘉佳刘治国
湖南应用技术学院信息工程学院 阳嘉佳 刘治国
基于计算机视觉技术采用OpenCV 图像视频处理、目标检测算法结合深度学习、百度大脑并结合基于STM32的车内酒精浓度检测来实现对车内人员行为的智能识别监控,通过对录像视频进行分帧处理,得到大量的图像数据和对酒精浓度的检测数据来监控是否有不良行为,并结合语音播报进行提醒,如若5min 内没有按照指示去修正,则会将数据传送到对应交通对应部门去管理,利用此安全驾驶系统,不仅有效地降低了交通事故的发生率,也保障了人民的自身安全。
安全驾驶系统是智能交通的重要组成部分之一,也是对于驾驶者和乘车员一个安全保障,据调查发现,饮酒开车、疲劳驾驶和边吸烟边开车等这些非常危险的行为还是普遍出现,对于以上问题,基于计算机视觉模式下的安全驾驶系统能够很好在源头制止危险驾驶行为,不仅保障了驾驶员的安全,同时还保障了路上的行人以及其他驾驶员的安全。
1 系统总体设计
基于计算机视觉下的安全驾驶系统是基于多种高新技术的综合型应用系统,其主要核心的技术涉及基于视觉的OpenCV 图像视频处理、手势识别的抽烟检测和基于STM32 的车内酒精浓度检测等技术。
图 1 系统结构流程图Fig.1 System structure flow chart
最后根据以上数据信息结合语音播报传达相应提示,若在5min 内没有按照指示去修正则会将数据传送到对应交通对应部门去管理。
2 技术研究
2.1 基于OpenCV 与STM32 驾驶疲劳识别
随着时代经济的进步,交通事故也随之加多,而疲劳驾驶在这其中占据了很大的比例,疲劳驾驶主要是因为驾驶员睡眠时间不足、长时间驾驶、生理节律等。
目前对于疲劳驾驶检测的方法应用较多的是生理和行为特征检测,行为特征检测是由PERCLOS 检测驾驶员的睡眠程度,使用奇异值分解的方法中的人眼图像训练阶段来进行判断。另外,基于稀疏表示的眼镜状态识别方式是利用K-SVD 算法和结合OMP 算法进行一个疲劳驾驶的检测,也可使用Gabor 小波滤波去通过一个面部的纹理去识别出面部表情,从而去判断驾驶员是否疲劳。
对比以上疲劳检测方法,该系统是主要基于OpenCV函数库使用Boosting 算法的Haar 分类器和PERCLOS 来计算人脸面部特征,建立了一套完整的疲劳值检测体系,2021年孙洋等人设计出了一组基于OpenCV 和STM32 的驾驶员身体监控健康系统,通过测试表明,在人脸识别、疲劳检测等功能上十分稳定、可靠,并且改进的PERCLOS 算法恰好可以去解决经典算法中环境要求高、检测速度限制的问题。
疲劳驾驶识别结构图如图2 所示。人脸识别算法使用树莓派4B+Python+OpenCV 的环境,使用LBPH(Local Binary Patterns Histogram)算法收集驾驶员的面部特征,并生成多个模型记录这些信息,在车辆驾驶过程中,系统会通过摄像头来获取驾驶员的视频,然后使用Boosting 算法的Haar 分类器,通过预置模型将摄像机采集到的视频图像完成对驾驶者的头、嘴、眼等面部进行识别和跟踪,而且结合PERCLOS 算法来检测疲劳值。最后通过STM32 处理各模块传回的数据,再通过树莓派和串口达成通信,利用语音进行相应提醒和数据的传送。
图2 疲劳驾驶识别结构图Fig.2 Structure diagram of fatigue driving identification
2.2 手势识别的抽烟检测
抽烟检测技术传统大部分是通过烟雾传感器进行检测的,这种检测方式对于室内面积小、相对封闭的环境是具有较好的检测,但是对于车内这个环境,可能存在开窗散烟的可能性,那检测失误率则会大大增加,为了提高检测效率,本系统准备采用手势识别的抽烟检测。传统的手势识别主要是采用阙值分割的方式,使用肤色分割模型和深度学习去统计肤色在颜色空间中的发布,并且根据对光照等的敏感程度去进行手势的分析。从而分割出不同的目标,然后通过卷积神经网络去提取、分类,将他们结合进行最终的手势识别。但是据调查都有不足之处:
(1)肤色分割模型:如若在背景复杂下进行下载分割,出现了颜色相近或者因为光度等因素影响时,在检测的时候就会出现许多多余的信息,那在提取信息的时候就会产生许多干扰的信息,说明这种方法只能适用于背景简单、光线稳定的环境中,迁移性弱。
(2)基于深度学习的图像分割:虽然此算法有着不错的分割提取的效果,但是因为引入了全卷积网络,对图像中每个像素进行一个预测,训练时间较长,难度较大。
在春季的“大麦黄”和秋季的白露前一星期,使用1次杀纤毛虫的药物,隔日再用1次消毒药物,以预防寄生虫病的发生。
对于以上不足,对抽烟行为检测我们采用目标检测算法,并且为了提高采集图像的目标分辨率,提高目标检测的一个准确性,我们使用基于深度学习的图像超分辨率算法。图像超分辨率主要包括四部分:网络设计、图像采样、损失函数和学习策划。
但是因为使用图像超分辨率算法的过程中,会消耗掉很长的时间,所以还结合了抽烟行为的一个图像行为集的手势特点,首先对手势局部的区域进行检测,再对这一小范围输入图像超分辨率网络,这样不但减少了超分辨率的时间,还可以尽快的减少目标检测网络的大小,提高检测速度,节省时间。
2.3 车内酒精浓度检测
关于酒精浓度检测的方法,最常见的就是电化学型呼气式酒精检测,它是一种对身体不会带来任何伤害的检测方法,采用的是气敏元件燃料电池酒精传感器,即使被测的气体酒精含量较低,也会产生微弱的输出电压,检测较好,但是该仪器的检测方法存在被动性高、过程繁琐等问题,不适合于车内的检测,所以我们预采用MQ-3 气体传感器。
MQ-3是一个可以高敏锐检测乙醇蒸汽的空气传感器,它常规的工作电压为5V,输出的AO 口电压越高就代表酒精的浓度越高,它被经常用来检测酒精浓度,为了达到更加稳定的浓度检测,我们小组多次进行实验,在标准测试的条件下,得出了MQ-3 气体传感器的气敏元件特性,如表1 所示。
表1 MQ-3 气体传感器详细数据表Tab.1 MQ-3 gas sensor detailed data sheet
但是单一的传感器可能会将乘车人的醉酒误判为驾驶员的醉酒,为了解决这个问题,2021 年曾丽霞等人设计了一个基于STM32 的车内酒精检测与报警系统,选择在不同位置布局了4 个MQ-3 空气传感器进行数据的收集,驾驶员旁作为主传感器,其他3 个分别放置在乘车人的座位旁,帮助配合主传感器,最后通使用模糊处理技术和数据融合技术来建立规则库,可以准确的分析驾驶员是否醉酒,有效的解决了误判的问题。
本系统的主控芯片是采用了STM32,使用该芯片和MQ-3 酒精浓度检测模块来采集数据,融合SIM900A 模块的数据进行移动通信,把所得的信息传到云端服务器上,SIM900A 的模块上面还包含了网络指示灯,通过它和电源显示灯即可判断该工作使用状态。如若开启SIM900A开关后,当电源显示灯和网络显示指示灯一直亮,那SIM900A 就已经注册网络成功,与GPRS 可以通信,并且模块就可以达到正常的工作状态。这个时候如果打通了该模块中的电话卡并且不被立即挂断,就说明SIM900A可以正常的执行其他的功能。但是如果打通然后被立即挂断,就请检查一下供电电源,有可能出现供电电压或者电流没有达到要求,如果不能打通,常见的原因是因为模块没有检测到这个手机卡,或者该模块没有注册到网络。
并且车内还设置了声光报警电路,起到警示车主的作用。如若发现有酒驾行为则进行语音播报,如若未按指示,则上传信息至交警相关部门反馈信息进行管制。
3 结语
本文在对驾驶员疲劳检测中利用了STM32 和树莓派4B 完成了基于OpenCV 与STM32 驾驶疲劳识别,利用了目标检测算法融合图像超分辨率算法完成了手势识别的抽烟检测,利用了4 个MQ-3 气体传感器完成了对车内驾驶员的酒精浓度检测。最后设计使用STM32 作为本系统的主控芯片来进行信息的收集和数据传达,设计出了基于计算机视觉下的安全驾驶系统的总体设计,搭建成了一个稳定的安全驾驶检测框架。
目前在我国关于车辆驾驶上还存在一些安全隐患问题,从根本上有效的控制了交通事故的发生,加强了交通道路的监管和保障了人民的安全。接下来将会朝着成本的控制、使用效率的提高等方向去进行改进。
引用
[1] 柴晨晨,赵丽.计算机视觉检测技术在交通场景中的应用[J].信息技术与信息化,2021(4):38-40.
[2] 肖东,张堃.基于面部特征信息的疲劳检测算法研究[J].光电技术应用,2020,35(1):51-55.
[3] THILAGAVATHI B,SUTHENDRAN K.Boosting Based Implementation of Biometric Authentication in IoT[J].Journal of Cyber Security &Mobility,2018,7(1):131-144.
[4] 孙洋,李汉林,邓晓慧,等.基于OpenCV与STM32的驾驶员健康监控系统设计[J].高师理科学刊,2021,41(2):41-45.
[5] SHAN C,GRITTI T.Learning Discriminative LBP-Histogram Bins for Facial Expression Recognition[C]//British Machine Vision Conference.DBLP,2008.
[6] 邢予权.基于手势识别的监控场景下抽烟检测[D].杭州:浙江工业大学,2020.
[7] MCCLOSKEY M,COHEN N J.Catastrophic Interference in Connectionist Networks:The Sequential Learning Problem[J].Psychology of Learning and Motivation,1989(24):109-165.
[8] 吕晓颖.基于MQ-3的酒精检测系统设计[J].科技视界,2019 (21):31-32.
[9] 曾丽霞.车内酒精浓度检测与安全控制系统[J].机械工程师, 2021(1):43-45.