基于改进卷积神经网络的安全带佩戴识别

2023-12-20 03:17丁家益周跃进
关键词:池化层安全带准确率

丁家益,周跃进

(安徽理工大学 数学与大数据学院,安徽 淮南 232001)

随着汽车的普及程度越来越高,汽车驾驶的安全性越来越受到人们的关注,而汽车安全带能在车辆事故中有效降低驾乘人员的受伤程度.国家道路交通安全法明确规定了驾驶人、乘坐人员在机动车行驶时需要佩戴安全带.现阶段人脸识别技术的发展已经相当成熟,但除人脸识别外的目标检测的精准度和速度仍有很大的提升空间[1].

近年来,随着深度学习特别是卷积神经网络的发展,目标检测技术已经取得了巨大的进步[2].目前相对成熟的卷积神经网络有很多,包括Krizhevsky等(2012)提出AlexNet[3],首次提出了激活函数ReLu并引入了随机失活(Dropout)的概念.Simonyan等(2015)提出VGGNet[4],将卷积层中尺寸较大的卷积核替换为多个小尺寸的卷积核以此来减少网络的计算量和提升网络的非线性表达能力.Szegedy等(2016)提出InceptionNetV3[5],通过卷积核分解和正则化提高了网络的计算效率.Kaiming等(2016)提出ResNet[6],使用残差网络结构大幅提高了网络的拟合能力.Huang等(2017)提出DenseNet[7],在网络前馈过程中,将每一个网络层都与其他网络层连接起来以达到对特征的重复使用.在实际应用中,上述卷积神经网络在准确率、训练时间、训练次数、功耗、内存占用率等方面都取得了优异的成绩[8].

卷积神经网络可以有效地进行数据处理和图像的特征提取.[9]为了进一步提升卷积神经网络在实现目标检测时的准确率,本文提出了一种新颖的卷积神经网络RIVNet,并通过改进AdamW优化算法对网络的参数进行优化和训练后得到RIVNet模型.为了探究RIVNet模型的性能,与AlexNet模型、孙丽萍[10]等提出的模型相比较.实验结果表明,RIVNet模型对驾驶人、乘坐人员佩戴安全带情况的识别准确率最高,可以有效地对车内人员佩戴安全带情况进行实时监测.

1 相关理论

1.1 卷积层

(1)

卷积层输出图片的张量的计算公式为:

(2)

其中:O是输出图片的张量,I是输入图片的张量,Kc是卷积核的尺寸,P是填充数,S是卷积核移动的步长.

1.2 池化层

(3)

池化层输出图片的张量的计算公式为:

(4)

其中:O是输出图片的张量,I是输入图片的张量,Kp是池化核的尺寸,P是填充数,S是池化步长.

1.3 全局平均池化层

在卷积神经网络RIVNet中,全局平均池化层通过全局平均池化操作把多维矩阵转化为特征向量以代替全连接层.相比于全连接层,全局平均池化层可以大幅度减少参数量以防止网络过拟合,使得特征图与最终分类之间的转换变得更加自然[11].

1.4 Sigmoid层

RIVNet使用了Sigmoid函数对驾驶人、乘坐人员佩戴安全带情况进行分类.本层有两个神经元,一个神经元代表车内人员佩戴了安全带的情况,另一个神经元代表车内人员未佩戴安全带的情况,通过比较这两个神经元的输出概率大小,选择输出概率大的神经元对应的情况作为最优结果.Sigmoid函数的计算公式为:

(5)

1.5 正则化

卷积神经网络的训练时间很长,需要学习的参数巨大.如果网络的参数过多,训练样本相对较少,则网络容易过拟合.随机失活操作是在网络训练过程中按照一定比例随机忽略或屏蔽一些神经元,可以有效地缓解网络过拟合,起到正则化的作用.

2 卷积神经网络RIVNet

RIVNet由4个卷积层(Conv)、2个最大池化层(MaxPooling)、1个平均池化层(AveragePooling)、1个全局平均池化层(GlobalAveragePooling)、2种网络模块(如图1)和1个Sigmoid层组成.为了进一步增强卷积神经网络处理图像问题的能力和提升目标检测的准确率.RIVNet在卷积层中将尺寸较大的卷积核替换为多个小尺寸的卷积核,利用不同大小的卷积核并行卷积后特征融合,尝试在池化层前增加一个1×1的卷积层以减少池化操作造成的信息丢失,使用全局平均池化层代替全连接层以防止网络过拟合,使用激活函数(ReLu)将非线性特性引入到网络层中以强化网络层的学习能力,并对网络层进行了批量归一化(BN)处理以提升网络的训练速度.受到了ResNet的启发,网络层之间使用残差连接的网络结构,使得网络更容易优化和收敛,也解决了网络梯度消失的问题.网络的结构如图2所示,每个网络层的具体参数值如表1所示.

表1 网络层的具体参数Table 1 Parameters of the network layer

图1 本文使用的两种网络模块Figure 1 The two network modules used in this article

图2 RIVNet的结构图Figure 2 Structure diagram of the RIVNet

3 AWM优化算法

3.1 AWM算法

基于卷积神经网络RIVNet,提出了一种新的优化算法AWM(AdamW with momentum)对网络的参数进行优化和训练.优化算法AWM是将经典动量的思想融入到AdamW优化算法中,将AdamW算法的历史迭代点处的搜索方向与当前迭代点处的搜索方向加权求和作为下一个迭代点处的搜索方向,与AlexNet等网络使用的随机梯度下降优化算法(SGD)相比,AWM算法的优点在于其能够自动调整参数的学习率、大幅提升网络的训练速度且具有很好的稳定性.AWM算法的参数更新过程如下:

AWM算法当前迭代步等于其上一个迭代步与算法AdamW当前迭代步的加权之和,其中上一个迭代步所占的权重为l.

3.2 AWM算法的收敛性分析

(6)

其中:R(k)是对在线预测值ft(θt)与历史迭代值中的最小值ft(θ*)进行作差求和,即:

(7)

记gt=θft(θ),gt,i为梯度向量gt的第i个元素,当学习率αt以t-1/2的速率衰减时,定理1成立.此外,指数移动平均衰减系数满足β1,t=β1λt-1,λ∈(0,1)且接近于1.

(8)

证明:由凸函数ft(x)可得

(9)

根据算法1给出的更新规则可得

(10)

(11)

由杨氏不等式ab≤a2/2+b2/2以及β1,t≤β1可得

(12)

于是,有

(13)

(14)

将引理1应用到不等式(13),使得

(15)

(16)

最后一项由等比数列上界的性质可得

(17)

因此,

(18)

(19)

再证明AWM算法收敛.

(20)

从而

(21)

(22)

综上所述,将AWM算法在每一次迭代中生成的点与历史迭代点中的最小值点进行作差求和,得到的结果足够小,表明AWM算法的收敛效果很好.

为了探究AWM优化算法的性能,将其与SGD和AdamW优化算法在AlexNet下基于Pascal Voc数据集进行比较,结果如图3所示.

图3 AWM优化算法与SGD、AdamW优化算法的损失函数值的比较Figure 3 Comparison of loss function values of AWM optimization algorithm with SGD and AdamW optimization algorithm

由图3可知,AWM优化算法的损失函数值的收敛速度明显快于SGD和AdamW优化算法.其次,AWM优化算法有效地降低了网络在训练时出现的迭代震荡次数.在epoch=40时,AWM优化算法就已经趋于稳定,达到最小值点.

4 实验部分

4.1 实验对象

本研究使用的图像数据集来源于Kaggle官网,图像的类别及数量如表2所示.

表2 图像的类别及数量Table 2 Category and quantity of images

4.2 实验环境

本实验采用的显卡为AMD RX 6900XT,显存为16GB.在这项研究中,模型的训练是基于Python语言环境下的TensorFlow深度学习框架上进行.

4.3 模型的训练

为了提高模型的识别准确率和泛化能力,本研究通过数据增强的方法生成了更多的训练样本,如图4所示.

图4 数据增强Figure 4 Data enhancement

本研究从两类图像数据集中各随机选取80%的数据作为训练数据集,其余20%的数据作为测试数据集.训练数据集用来习得一个模型,测试数据集用来测试模型的准确性和可靠性.

本研究使用的损失函数是二元交叉熵损失函数(Binary Cross Entropy Loss),见式(23),

(23)

其中:yi是二元标签0或1,p(yi)是标签yi的概率,N是样本的数量.

4.4 实验结果

为了更好地评估基于AWM优化算法进行优化和训练后的RIVNet模型的性能,使用了同样的数据集与AlexNet模型、孙丽萍等提出的模型的识别准确率和损失函数值进行了比较,比较结果如图5、6所示.表3展示了各模型经过100次迭代后最终的识别准确率和损失函数值.

表3 各模型最终的识别准确率和损失函数值Table 3 Final recognition accuracy and loss function values of each model

图5 各模型识别准确率的比较Figure 5 Comparison of recognition accuracy of each model

从图5可知,RIVNet模型的识别准确率和稳定性要明显高于AlexNet模型和孙丽萍等提出的模型.孙丽萍等提出的模型的识别准确率在epochs<50的时候出现了大幅动震荡.AlexNet模型在识别过程中虽然表现出了极高的稳定性,但其识别准确率明显不足.结果表明RIVNet模型在识别准确率和稳定性方面具有良好的性能.

从图6可知,RIVNet模型具有更低的损失函数值.在识别过程中,RIVNet模型的损失函数值也一直保持稳定下降趋势,并且在epochs=60左右达到最小值.结果表明RIVNet模型具有良好的鲁棒性.

图6 各模型损失函数值的比较Figure 6 Comparison of the loss function values of each model

从表3可以得出,在Kaggle图像数据集中,RIVNet模型的识别准确率最高,且损失函数值最低.与AlexNet模型相比较,RIVNet模型的识别准确率提高了1.56%,损失函数值降低了0.036 2.通过实验数据,表明了RIVNet模型的高效性.

5 汽车安全带佩戴识别系统

在实现汽车安全带佩戴识别时,需要借助摄像机拍摄照片,将获取的图片输入到以RIVNet为主干特征提取网络(backbone)的目标检测算法Faster R-CNN中,判断驾驶员、乘坐人员是否佩戴了安全带.

汽车安全带佩戴识别的具体流程如图7所示.

图7 汽车安全带佩戴识别的具体流程Figure 7 The specific process of vehicle seat belt wearing identification

步骤1:借助摄像机等设备对汽车中驾驶员、乘坐人员的图片进行采集;

步骤2:将采集的图像输入到backbone中得到相应的特征图;

步骤3:利用区域候选网络(RPN)结构生成候选框,并将生成的候选框投影到特征图上获得相应的特征矩阵;

步骤4:将每个特征矩阵通过感兴趣区域池化层(ROI pooling)缩放成7×7大小的特征图,接着将特征图展平并通过一系列全连接层得到预测结果[16].

6 结 语

为了进一步提升卷积神经网络在实现目标检测时的准确率,本文改进了卷积神经网络的网络结构,并通过AWM优化算法对网络的参数进行优化和训练后得到RIVNet模型.以RIVNet为特征提取网络,基于目标检测算法Faster R-CNN开发出了一款汽车安全带佩戴识别系统.实验结果表明,本文系统具有识别准确率高、效率高、成本低等优点,可以有效地对驾驶人、乘坐人员佩戴安全带的情况进行实时监测,对加强我国现阶段的道路安全有着一定的意义.

同时,在深度学习中,利用合理的卷积神经网络结构对图像数据进行特征提取,并继续改进优化算法对网络进行优化和训练,使得优化和训练后的模型在进行目标检测时更加高效,为今后研究指明了方向.

猜你喜欢
池化层安全带准确率
卷积神经网络模型研究分析*
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于卷积神经网络的纸币分类与点钞
基于深度学习卷积神经网络的人体行为识别研究
能救命的安全带和安全气囊
高速公路车牌识别标识站准确率验证法
基于全卷积神经网络的SAR图像目标分类*
Let’s Go for a Ride