本发明涉及自动化软件测试领域,具体涉及一种基于图像检测的行车安全监管方法。
背景技术:
1、行车安全问题至关重要,其中驾驶员对车辆的掌握程度、驾驶员心理状态以及疲劳驾驶的管理尤为重要。首先,驾驶员对车辆的熟悉度是确保安全驾驶的基础,对车辆不熟悉的驾驶员无法充分利用车辆的性能或应对复杂的驾驶环境,从而增加事故发生的可能性。
2、驾驶员的心理状态也是行车安全的重要因素。极端的心理状态常常会导致驾驶安全事故的发生。通过检测驾驶员的面部表情,可以预判其心理状态,从而采取措施保障行车安全。
3、此外,疲劳驾驶是行车安全的另一个关键因素。即使驾驶员对车辆了如指掌,疲劳驾驶仍然是一个不容忽视的隐患。疲劳是人体正常的生理反应,当长时间劳作之后或从事单一工作时间过长时,身体就会出现疲劳。在交通运输领域,疲劳驾驶是导致交通事故的主要原因之一。每年因为疲劳而造成的交通安全事故频发,给国家和人民的生命财产安全带来极大的隐患。
技术实现思路
1、本发明的目的在于提供一种基于图像检测的行车安全监管方法,将驾驶员与车辆进行了一一对应,降低了因不熟悉车辆导致的事故风险,并且对驾驶员实时监测心理状态及疲劳状态,发出警报,促使驾驶员调整心态与及时休息,从而有效减少行车安全事故发生。
2、为达到上述目的,本发明提供如下技术方案:
3、一种基于图像检测的行车安全监管方法,包括以下步骤:
4、步骤一:对驾驶员进行人脸识别与身份识别,与后台数据库中的信息比对后,确定驾驶员身份信息,并与所驾驶车辆信息比对,确定是本车的驾驶员后,允许启动车辆;
5、步骤二:在车辆出入口位置对驾驶员车辆进行车牌检测识别,将检测到的车辆信息与系统数据库中的车辆信息进行比对,调出该车辆对应的驾驶员信息,将驾驶员信息与车辆信息比对确认后允许车辆放行;
6、步骤三:在驾驶过程中对驾驶员进行人脸表情识别,当检测出驾驶员心情异常时,提醒驾驶员注意安全驾驶;
7、步骤四:在驾驶过程中对驾驶员进行闭眼检测、张嘴检测和动头检测,综合判断驾驶员是否在驾驶车辆期间犯困,并通过报警系统提醒驾驶员。
8、进一步的,步骤一所述人脸识别的方法采用基于特征匹配的方法,人脸识别的算法实现为:运用eigenfaces算法,在opencv中用函数
9、cv2.face.eigenfacerecognizer_create()生成的eigenfaces识别器实例模型,然后用cv2.face_facerecognizer_train()完成训练,最后通过cv2.face_facerecognizer_predict()完成人脸识别。
10、进一步的,步骤一所述身份识别分为驾驶员人脸采集、预处理、特征提取、匹配与识别四个步骤,首先利用基于haar特征的级联分类器对样本进行采集,而后进行图像的预处理,以便进行特征提取,随后,将提取的特征与后台数据库中的信息进行比对,从而实现对驾驶员的身份识别。
11、进一步的,步骤二所述车牌检测识别流程包括以下步骤:
12、(1)图像输入
13、图像输入通过摄像设备连接到电脑或图像采集卡进行实时采集,以获取原始图片的图像信息;
14、(2)预处理
15、对待识别的图像进行灰度化和去除图像噪声处理,随后对图像分别进行二值化处理、闭处理、腐蚀与膨胀处理;
16、(3)车牌定位
17、首先对采集的图像进行大范围搜索,寻找符合车牌特征的候选区域。然后,深入分析这些候选区域,确定最可能是车牌的区域,并从图像中截取出最大概率区域;
18、(4)字符分割
19、定位提取出车牌区域后,使用垂直投影法进行车牌字符分割;
20、(5)字符识别
21、采用模板匹配算法进行字符识别,首先,对分割后的字符进行二值化处理,并调整字符尺寸,以确保与数据库中的模板大小一致,然后进行匹配识别,选择匹配相似度最高的结果作为识别结果;
22、(6)输出对车牌的识别结果
23、通过调用pil库把识别的最终结果显现在采集的原始图片上,同时进行人车信息比对。
24、进一步的,步骤三所述对驾驶员进行表情识别的过程为:使用python语言pandas库和kears框架实现对数据的处理,运用人脸表情数据集fer2013进行模型的搭建和训练以达到对人脸表情检测的目的,识别判断出七种基本表情anger、disgust、fear、happy、sad、surprised和normal,当驾驶员表情为normal之外的表情,则提醒驾驶员注意安全驾驶。
25、进一步的,步骤四所述判断驾驶员是否在驾驶车辆期间犯困,主要包括以下步骤:
26、(1)进行人脸识别;
27、(2)运用dlib库文件,对采集到的人脸信息进行关键点定位;
28、(3)根据人脸中的关键点定位,计算出人眼长宽比、嘴部长宽比,判断是否闭眼和打哈欠;根据头部姿态检测方法判断是否点头;
29、定义人眼长宽比ear,则式中p37为左眼眼尾位置点,p38为左眼左上侧位置点,p39为左眼右上侧位置点,p40为左眼眼角位置点,p41为左眼右下侧位置点,p42为左眼左下侧位置点;设定ear值的阈值大小,记录双眼的ear值,再取平均值作为最终的判定值,当ear的判定值小于设定阈值时,判断为闭眼;
30、定义嘴部长宽比mar,则式中p49为左侧嘴角位置点,p51为上嘴唇外围左侧位置点,p53为上嘴唇外围右侧位置点,p55为右侧嘴角位置点,p57为下嘴唇外围右侧位置点,p59为下嘴唇外围左侧位置点;同样设定mar值的阈值大小,当mar的判定值大于设定阈值时,判断为打哈欠;
31、在3d空间中,头部的旋转方向一共有三个方向:yaw、pitch、roll。yaw是偏航角,绕y轴旋转;pitch是俯仰角,绕x轴旋转;roll是翻滚角,绕z轴旋转;当出现点头的姿势时,pitch的变化最大,yaw其次,roll的变化最小,对应x轴的参数向正数方向增加,判定为低头;当x轴参数从整数回到0时,系统判定进行了一次点头动作;
32、(4)通过闭眼时长、打哈欠频率、点头角度判断驾驶员是否犯困,并进行报警提醒
33、①针对闭眼,预先设定ear阈值为0.2,当ear值小于设定阈值时,帧计数器开始计数,当闭眼时间大于3帧,判断为长时间闭眼并且闭眼次数加一;当闭眼次数大于5次,表示驾驶员有睡意,进行报警提醒;
34、②针对打哈欠,预先设定mar阈值为0.9,当mar值大于预设阈值时,判定为张嘴,当帧计数器大于3帧,打哈欠次数加一;当打哈欠次数大于5次,表示驾驶员有睡意,进行报警提醒;
35、③针对点头,点头时对应x轴的参数向正数方向增加,判定为低头。当x轴参数从整数回到0时,系统判定进行了一次点头动作,此时点头次数加一;当点头次数大于5次,表示驾驶员有睡意,进行报警提醒。
36、与现有技术相比,本发明具有以下有益效果:
37、本发明通过将信息化和智能化技术引入车辆管理系统,提供了驾驶员与车辆信息匹配的科学管理方案,从而降低了因驾驶员不熟悉车辆所导致的事故风险。利用人脸检测与识别技术,可以准确识别驾驶员的基本信息,防止因私自更换车辆带来的安全隐患。此外,本系统还能够通过分析驾驶员的面部表情预判其心理状态,帮助及时调整驾驶员的心情。更重要的是,系统通过监测驾驶员面部状态,如闭眼、打哈欠等,综合判断其疲劳情况,并通过报警系统提醒驾驶员休息,从而有效减少交通事故的发生。
38、进一步的,本发明在人脸识别时,采用基于特征匹配的方法,采用eigenfaces算法进行人脸识别,通过精确的特征匹配提高了身份验证的准确性和效率。通过对驾驶员人脸的采集、预处理、特征提取和匹配来进行身份识别,能够精确验证驾驶员的身份。
39、进一步的,本发明的车牌检测识别流程通过从图像输入到最终结果输出的系统化步骤,实现了高效准确的车牌识别。首先,通过实时图像采集获取清晰的车牌图像,然后经过一系列预处理步骤去除噪声和优化图像质量。接着,系统进行车牌定位,精确找出车牌区域,随后通过字符分割和模板匹配算法识别车牌字符,最终将识别结果可视化并与数据库信息比对。这种流程大大提高了车牌识别的准确性和实时性,增强了车辆管理和安全监控的能力。
40、进一步的,本发明使用python的pandas库和keras框架对fer2013数据集进行表情识别模型的搭建和训练,可以实时监测驾驶员的情绪状态,并识别七种基本表情。当检测到驾驶员的表情为normal之外的情绪时,系统会发出安全驾驶提醒,从而增强驾驶员的安全意识,减少因情绪不稳定导致的事故风险,改善整体驾驶体验。
41、进一步的,本发明利用人脸识别技术和关键点定位来计算人眼长宽比和嘴部长宽比,从而判断驾驶员是否闭眼、打哈欠,并通过头部姿态检测方法判断是否点头。通过对驾驶员面部特征的实时监测和分析,设定阈值和计数机制,系统可以准确识别驾驶员的疲劳状态,并在检测到疲劳迹象(如长时间闭眼、多次打哈欠或频繁点头)时及时发出警报,帮助减少驾驶员因疲劳导致的事故风险,提升行车安全。
1.一种基于图像检测的行车安全监管方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于图像检测的行车安全监管方法,其特征在于,步骤一所述人脸识别的方法采用基于特征匹配的方法,人脸识别的算法实现为:运用eigenfaces算法,在opencv中用函数cv2.face.eigenfacerecognizer_create()生成的eigenfaces识别器实例模型,然后用cv2.face_facerecognizer_train()完成训练,最后通过cv2.face_facerecognizer_predict()完成人脸识别。
3.根据权利要求1所述的一种基于图像检测的行车安全监管方法,其特征在于,步骤一所述身份识别分为驾驶员人脸采集、预处理、特征提取、匹配与识别四个步骤,首先利用基于haar特征的级联分类器对样本进行采集,而后进行图像的预处理,以便进行特征提取,随后,将提取的特征与后台数据库中的信息进行比对,从而实现对驾驶员的身份识别。
4.根据权利要求1所述的一种基于图像检测的行车安全监管方法,其特征在于,步骤二所述车牌检测识别流程包括以下步骤:
5.根据权利要求1所述的一种基于图像检测的行车安全监管方法,其特征在于,步骤三所述对驾驶员进行表情识别的过程为:使用python语言pandas库和kears框架实现对数据的处理,运用人脸表情数据集fer2013进行模型的搭建和训练以达到对人脸表情检测的目的,识别判断出七种基本表情anger、disgust、fear、happy、sad、surprised和normal,当驾驶员表情为normal之外的表情,则提醒驾驶员注意安全驾驶。
6.根据权利要求1所述的一种基于图像检测的行车安全监管方法,其特征在于,步骤四所述判断驾驶员是否在驾驶车辆期间犯困,主要包括以下步骤:
