基于人脸识别的车辆安全系统*

2021-06-24 08:18黄原有张杨志
机电工程技术 2021年5期
关键词:测试人员人脸人脸识别

黄原有,阳 韬,张杨志

(华南理工大学广州学院,广州 510800)

0 引言

基于人脸识别的车辆安全系统主要通过Jetson Nano人工智能处理器驱动摄像头,采集驾驶位司机的图片,通过4G模组将图片信息上传到云服务器端。服务器端将接收到的图片采用Mctnn模型进行人脸的检测,并将其转化为灰度图,保存图片。最后,将司机的图片导入训练精度达到90%的模型进行图片的预测,如若图片的相似度为大于80%,识别为司机,否则将识别为陌生人。与此同时,服务器端将识别的记录保存,并发出警报消息给车主的手机App和关闭汽车的能源电池,以提高车辆的安全性。目前发展的车辆安全系统[1],主要是采用一些传感器监测车辆的驾驶状态,反馈给后台管理系统。而人脸识别[2]车辆安全系统,主要是基于卷积神经网络对采集到的司机图片进行模型的训练,每一轮将预测训练集图片的值和图片的标签值进行比较,差值越小,模型的训练精度越高,训练好模型后保存。在实际应用中,则放入采集的司机图片导入模型,进行匹配,识别司机是否为陌生人。因此,可用人脸识别安全系统来提高车辆的安全性,也可应用于一些大客车,识别驾驶司机是否为公司聘请的专业司机,以此来保证乘车人员的安全。

1 整体设计

图1 系统整体设计

如图1所示,基于人脸识别的安全系统,主要是通过Jetson Nano智能处理器驱动摄像头,采集驾驶位司机的图片,并通过处理器上的4G模组将图片信息上传到服务器,并保存原图像,以便当识别司机为陌生人时,能获取犯罪嫌疑人的证据。云服务端并将采集到的图片信息导入模型进行图片的匹配,当预测图片的相似度小于80%,则认为是陌生人。服务器将通过4G模组发送识别失败的信息给Jetson Nano智能处理器,Jetson Nano则通过GPIO串口将识别的结果发送给Stm32单片机。Stm32接收到识别的信息后将发送语音信号给语音模块使其发出识别失败的语音提示和报警声,并发送控制信号给继电器[3]关闭能源电池。除此之外,服务器端还会推送汽车被盗或者非法人员驾驶的预警信息给手机App,通知车主其车辆处于报警状态。当预测照片的相似度大于80%,则识别为司机,服务器端发送识别成功信息给Jetson Nano智能处理器,随后Jetson Nano将识别信息传给Stm32单片机,单片机将使汽车的电源开启,并发出识别成功的语音信号。

2 硬件设计

系统的硬件部分主要包括Stm32f407、Jetson Nano人工智能处理器、摄像头、4G模块、语音模块、继电器等。硬件系统只需用Jetson Nano人工智能处理器驱动摄像头获取驾驶位图像信息,并将图像的信息通过4G模块上传到云服务器进行人脸识别模型的训练,最终用训练好的模型来识别人脸图片,输出识别结果,并将信息回传给Jetson Nano人工智能处理器。Jetson Nano则将识别结果信息转发给底层的Stm32f407单片机。Stm32f407收到识别的结果后,将根据识别的结果来控制语音模块和继电器。若识别为司机,Stm32f407则通过GPIO发送语音信号给语音模块使其发出识别成功语音提示,并且通过GPIO发送控制信号控制继电器进而开启控制能源电池。若识别失败,Stm32f407则发送报警的语音信号给语音模块,并发送控制信号给继电器,关闭能源电池。

3 软件系统设计

软件系统的设计如图2所示,系统正式投用之前需要录入司机的人脸信息,进行模型的训练[4]。首先摄像头会以视频的方式采集上万张司机的照片,进行人脸检测,并转化成灰度图,使得图像的维度下降但能保留图像的关键信息,这可以减少程序的计算量,提升运算速度。将其保存好后,则采用卷积神经网络对图片信息进行卷积、池化、全连接输出、并与训练集的标签值进行差值比较,最后调整学习速率,再进行下一轮的学习,当预测值和标签值接近时,则训练停止。即模型训练的精确度提高到85%时,则停止训练,并保存模型。

图2 模型训练流程

图3 人脸识别流程

训练完模型之后将进行人脸识别的过程如图3所示,摄像头会采集驾驶位的人脸图片,并上传到云服务器。程序则将读取服务器上的图像,采用Mtcnn模型进行人脸的检测,并对图片做进一步的处理后,并作为模型的测试集导入模型,进行图片的人脸识别。若图片中的人脸与司机相似度达到80%以上,认为识别成功,将识别结果发送给Jetson Nano人工智能处理器,使得底层的语音模块发出识别成功的语音提示和开启汽车电源,汽车启动。否则识别为陌生人,推送消息通知司机陌生人进入车辆,并将识别的信息发送给Jetson Nano人工智能处理器,使系统发出识别失败的警报声并且关闭汽车的能源电池。

4 人脸检测

对采集的图片进行人脸检测处理,采用了Mtcnn模型,最后输出人脸的边框位置。对于Mtcnn模型进行人脸检测的过程如图4所示。首先,将原图片缩放成多个大小不同的图片构成一个图像金字塔。随后将图像金字塔的图片传入到P-net层,生成多个人脸候选框,并截取候选框的图片传入到R-net。R-net对接收到的每个分散图片进行人脸的检测和评分,并且修正人脸框。得到修正的人脸框后,则将人脸框的图像截取出来,传入到O-net进行再次的人脸检测和评分,得到最终的人脸框位置。最后将人脸框截取出来,并转化成灰度图,用于接下来的模型训练。

5 模型的建立

人脸识别的模型采用的是卷积神经网络,对图片信息就行卷积、池化、全连接输出、并与训练集的标签值进行差值比较,最后得到模型训练精度的过程。

图4 人脸检测过程

5.1 卷积

如图5所示,卷积[5]就是对预处理后的人脸图片信息用一个卷积[7]核Filter依次扫描图片的矩阵信息并与Filter矩阵对应位置的数值相乘[6],作为下一层的一个节点。当扫描完图片的所有信息后,将会得到一个Maps矩阵即为第一次卷积的输出值。

5.2 池化

池化[7]的目的就是降维,将图片的特征信息提取出来,去掉无用的信息,最后形成一个维度更低的矩阵。这样可以防止过拟合,也能减少计算机对数据的处理量。在池化的过程中,大多数采用的是Max poling方法。如图6所示,Max pooling方法就是对每个2×2的filter区域,取最大值,最终输出一个降维的矩阵。

图5 卷积过程

5.3 全连接

全连接的过程是将池化层的输出x作为全连接层的输入,将其乘以权重系数w,再加上偏置项b,得到输出out的值。最后将输出的out值,通过Softmax函数传递,将会得到一个对图像属于各类别的概率值。对于这一轮的全连接得出的分类结果为概率最后的那一类。

6 实验结果分析

6.1 模型训练情况分析

基于以上所建立的人脸识别[8-9]模型,本实验则抽取5位测试人员进行测试。首先将采集这5位测试人员的人脸图片经过预处理后,进行模型的训练,并纪录训练的情况,如图7所示。由图可知,无论是采用0.01、0.02还是0.03的学习率进行训练,模型的训练精度都随着训练的次数的增加而提高,最后趋向一个稳定的训练精度。并从图中可看出,采用0.01的学习速率时,训练的精确度是最高的,效果也是最好的。因此,保存采用0.01学习的速率训练的模型。

图8 测试人员相似度表

6.2 模型识别率分析

采用训练好的模型依次对5位测试人员,进行人脸识别的测试,输出识别的相似度,并记录数据,如图8所示。由图可知,测试人员图片的相似度均在80%以上。由此可看出,该模型的整体识别率比较高。

6.3 实验效果

以下是后端对采集的图片进行识别的效果图,图9所示为一个人的识别结果,并表示识别出当前司机为hyy,图10所示为两个人脸的识别,识别出当前驾驶位的人员是hyy和dsj。图11所示为测试人员是没有事先进行信息的采集和训练的,因此,系统识别出该测试人员为stranger。

图9 一个人的识别结果

图10 两个人脸的识别

图11 stranger识别结果

7 结束语

本文研究基于人脸识别的车辆安全系统,主要是运用人脸识别技术,对驾驶司机进行人脸识别,进而控制汽车的启动电源,以达到控制的汽车启动。除此之外,识别司机的记录信息也将存储在服务器中,以便查询来访车内的驾驶人员。当识别出驾驶位不是司机本人时,则将保持汽车电源的关闭,并发出警报给用户。若识别当前人脸为司机本人,则开启汽车电源,启动汽车。这有效提高了车辆的防盗性和车辆驾驶时的安全性,有效避免非法人员驾驶公共汽车,并对乘客造成伤害。

猜你喜欢
测试人员人脸人脸识别
移动应用众包测试人员信誉度复合计算模型研究
人脸识别 等
有特点的人脸
一起学画人脸
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
三国漫——人脸解锁
高校分析测试中心测试队伍建设方案初探
浅析软件测试中的心理学应用
长得象人脸的十种动物