1. 引言
根据国家统计局数据显示,截至2023年全国民用汽车拥有量已超3.29亿辆,汽车驾驶员人数超4.64亿人。伴随着汽车总量的不断增加,公路交通安全问题越来越凸显,交通事故也随之频发。其中,与驾驶员密切相关的交通事故占比近九成。与驾驶员主观因素行为相关的疲劳驾驶极易引发交通事故,进而造成人员伤亡和经济损失。对驾驶员的疲劳状态进行实时的监测,并及时进行预警,在源头上预防交通事故的发生诱因,可以一定程度上提高公路交通安全。
随着人工智能技术的不断发展,基于计算机视觉的检测方法直接通过车辆内部摄像头实时采集驾驶员包括其头部、面部等部位的图片,利用深度学习算法检测驾驶员的驾驶行为,具有更强的实用性和更高的灵活性。2023年,张育榕等人[1]基于RetinaFace进行人脸检测,在头部、眼部、嘴部等多区域使用CNN提取局部特征,融合之后通过神经网络判定疲劳,眼部检测准确率为 97.1%、嘴部为 97.5%、头部为 88.1%,性能与容错并存;2024年,Abderrahim等人[2]研究使用CNN提取面部深层特征(眼、眉、嘴、表情),计算五类结构特征;结合全局CNN特征通过AlexNet + LSTM实现帧级到视频级疲劳分类,提升识别稳健性;2025年,杜威等人[3]提出一种改进YOLOv5s的疲劳驾驶目标检测算法,使用轻量的EfficientNet骨干网络作为YOLOv5s的主干网络来进行特征提取,同时选用SIoU作为模型的损失函数,参数量和准确率实现小幅优化;Ding [4]提出“VA-YOLO”的目标检测算法,采用了轻量级的主干网络Vanilla Net来替代传统的复杂骨干网络,引入了SE注意力机制和SIoU损失函数,在精度上提升了5.3%同时参数量下降了1.01 M。尽管当前基于YOLO的目标检测算法对于眼部、嘴部小目标区域检测的检测精度已经处于较高水平,但当图像分辨率低、光照不足及驾驶员面部存在遮挡等特殊情况出现时,模型检测精度会受到影响。另外,为保证模型在终端设备流畅运行,还需进一步缩小模型尺寸。
2. 本文算法原理
2.1. 改进的YOLO11n面部疲劳特征目标检测模型
YOLO11 [5]用于目标检测任务的网络结构由三部分组成,分别是主干网络、颈部网络以及检测头网络。主干网络用于特征提取,颈部网络用于特征融合,检测头网络用于实现最后的目标检测任务。YOLO11主干网络和颈部网络中,有三大核心模块,分别是C3K2、SPPF以及C2PSA:(1) C3K2模块作为核心特征提取模块在C2f模块基础之上引入多尺度卷积核C3K,可调卷积核的设计能够保持丰富的特征表达、捕捉更广泛的上下文信息,在复杂场景检测中表现出色。(2) 在主干网络末端,YOLO11的SPPF模块(快速空间金字塔池化模块),引入多尺度特征图池化,扩大网络感受野,捕捉不同尺度特征。(3) 在SPPF后引入C2PSA模块。C2PSA模块包含金字塔压缩注意力PSA,并配合前馈网络FFN对特征进行重新加权,增强特征捕捉能力。检测头网络是一种解耦的双塔结构,由分类分支和回归分支组成,能够在保证高精度的前提下,降低计算成本,提升检测实时性。
当面部存在遮挡及光照条件不足等特殊情况出现时,YOLO11n在检测精准率上存在不足,为此本文提出一种改进YOLO11n的面部疲劳特征检测模型,有效的提高了模型的检测精度,同时,进一步对模型进行轻量化处理,改进网络结构如图1所示。本文的改进包括以下四点:(1) 将YOLO11n模型中的C3K2模块中引入非对称填充卷积成为C3K2_AP模块,实现卷积过程感受野的扩大,降低因分辨率低、角度偏移、遮挡等因素对面部疲劳特征提取效果造成的影响,完成高效的特征提取;(2) 在C2PSA模块中引入一种基于令牌统计的自注意力机制成为C2TSSA_Dyt模块,有效捕捉特征、精准聚焦目标区域,同时加入归一化操作,增强鲁棒性;(3) 在轻量级共享卷积检测头基础上引入细节增强卷积优化模型尺寸。
(a) (b)
Figure 1. Structure diagram of the YOLO11n network and its improved model. (a) YOLO11n; (b) Improved model
图1. YOLO11n网络及其改进模型结构图。(a) YOLO11n模型;(b) 改进的模型
2.2. 基于非对称填充卷积的C3K2_AP模块
为进一步增强原模型的C3K2模块对眼部、嘴部小目标区域的特征提取能力,本文引入基于非对称填充的风车形卷积(Pinwheel-shaped Convolution, PSConv) [6]替换普通卷积,如图2所示。
Figure 2. Structure diagram of PSConv
图2. PSConv结构图
PSConv是一种四向不对称卷积结构可以大致分为四分支平行非对称卷积、整合、降维三部分。设输入特征图为
,其中
表示高度、宽度、通道数。首先,对特征图
同时用四个不对称并行卷积分支处理,每个分支中都使用不同形状的非对称填充和一维卷积核。填充参数为
,其中的
分别表示左、右、上、下方向上填充的像素数;一维卷积核
在水平、垂直方向分别采用1 × 3和3 × 1两种形式,前者旨在水平方向上聚焦左右信息,后者旨在垂直方向上聚焦上下信息。四分支卷积构造过程如公式(1),其中,
表示批归一化,
表示激活函数,
表示卷积核,当i = 1或3时,卷积核尺寸为1 × 3;当
或4时,尺寸为3 × 1。非对称卷积的输出尺寸变化如式(2)所示,其中,
是卷积步长,
是输出特征图的通道数;其次,对四个不对称并行卷积分支的输出结果进行通道层面的拼接,如式(3)所示。最后,将拼接后的输出张量通过尺寸为
的卷积核归一化处理,且不进行填充,输出为
如式(4),尺寸表示如式(5)所示。
(1)
(2)
(3)
(4)
(5)
此外,本文在PSConv基础上引入APBottleneck瓶颈结构的设计思想,替换C3K模块形成C3K2_AP模块,在对四个分支进行非对称填充卷积基础上结合分组卷积,将四组通道独立进行卷积操作,各组的输出做通道拼接得到最终输出。相比于原始PSConv中每个分支的卷积操作处理完整输入通道的过程,分组卷积能够在一定程度上减少参数量,提高计算效率。在原始YOLO11n的核心特征提取模块C3K2中引入PSConv,在水平和垂直两个主方向上突出中心像素与其周围像素的梯度变化;同时,实现了感受野的有效扩大,在保持模型轻量的前提下,兼顾上下文信息,有助于提升眼部、嘴部小目标的检测准确率。
2.3. 基于令牌统计自注意力的动态调整并行卷积块
本文在基于统计学的新型注意力算子(Token Statistics Self-Attention, TSSA) [7]模块基础上引入DyT,形成TSSA_DyT模块用于增强改进网络的特征提取过程,如图3所示。用TSSA_DyT替换原始C2PSA模块中的PSA模块,组成基于令牌统计自注意力的动态调整并行卷积块C2TSSA_DyT。一方面,TSSA将原始自注意力中每个token两两配对,替换为在若干低秩子空间上做统计并回投,实现了对全局空间的二阶统计,自适应聚焦关键token,极大地增强了模型对驾驶员面部信息的捕捉能力;另一方面,DyT简化了归一化过程,保证了极值抑制与梯度稳定,使得整个检测网络在复杂背景以及轻微遮挡环境下表现出更强的鲁棒性。两者协同作用,使得改进模型相较于YOLO11n在检测精度和模型尺寸控制上都有提升。
Figure 3. TSSA_DyT module
图3. TSSA_DyT模块
如图3右半部分所示,TSSA 将原始特征投影到若干子空间,以便于把眼、嘴相关方向进行聚合,用加权二阶统计识别每个子空间内真正有信息的通道,并通过对角权重放大重要方向、抑制噪声,把加权结果回投并按软分组概率融合到原特征,从而放大如眨眼、打哈欠等微小信号,同时显著降低注意力的时间与内存开销。具体来说,TSSA模块核心在于无需构造
的点积相似度矩阵,而是将
维特征投影至若干低秩子空间,采用加权方差来判断各通道的重要性,最后通过软分组概率融合多头结果。设
输入token特征矩阵为
,其中d表示通道维度、n为token数量。TSSA预定义
个可学习的低秩投影矩阵
,
,其中
表示每个子空间投影后的维度,并且
。所有token的投影表示为式(6)。在每个投影子空间中,TSSA首先需要计算软分组概率
如式(7)所示,使得每个token可以根据其所处子空间的能量进行动态分配。其中,
表示第
个token,
表示第
个子空间,
是可学习的温度参数,
衡量第
个token在子空间
上的投影能量,
表示第
个token属于组
的概率。若某个token在第
个子空间上的能量较大,说明其对该子空间特征较相关,对应的软分组概率
较高。获得软分组概率后,在子空间
中进一步计算带权二阶方差如式(8)和式(9)所示。其中,
表示对投影矩阵中的每个元素逐元素平方,
表示第
列软分组向量,
表示第
个投影通道在子空间
上的加权方差。
(6)
(7)
(8)
(9)
为突出高方差、信息量大的通道并抑制小方差、存在噪声的通道,引入非线性映射
,并将其组合成为一个对角矩阵
如式(10)和式(11)所示。由此可知,若某一投影通道加权方差很大,则
较小,大方差方向得以保留;若加权方差很小,则
近似为1,对该通道仅做弱衰减。通过上述设
计可以保留子空间内最具有判别力的方向,同时抑制不必要的噪声,实现对每个投影维度的加权收缩。接下来,将得到的对角矩阵
对投影特征
根据通道做加权缩放如式(12)所示,并将加权后的投影通过
反映射至原始的
维空间如式(13)。此时,即可得到子空间内的重要信息对原始特征的增强。
(10)
(11)
(12)
(13)
各个子空间并行不悖,共产生
个子空间的更新输出
,在单个token维度上,对第
个token最终的融合输出设为如式(14),并将所有token以矩阵形式表示为
如式(15)。同时,为了进一步增强表达能力,使网络进一步微调融合权重,在融合操作前后引入一个可学习的线性映射
,最终引入残差结果定义TSSA的输出
如式(16)所示。本文采用上述的TSSA对PSA自注意力机制进行改进得到C2TSSA模块,使模型聚焦在眼部、嘴部这类微小变化上,同时可以减少因遮挡、光照等因素带来的误检问题,并降低注意力模块的计算开销。
(14)
(15)
(16)
本文在注意力模块和前馈网络前加入归一化操作,引入Dynamic Tanh (DyT)方法[8]对特征做归一化和非线性压缩操作,以此来抑制极端噪声、放大细微信号,进一步提升检测鲁棒性。DyT定义如式(17)
(17)
其中,
是输入张量;
是可学习的标量参数,用于根据输入范围对输入进行缩放来适配不同的
尺度,使大多数元素集中在tanh的近似区间内,初始设置为0.5;
和
分别是与通道数相同的可学习向量,对应 LN 中的仿射缩放与偏移操作,允许网络在tanh压缩之后再恢复到适当的通道尺度与中心位置。DyT的设计用一个标量参数
取代了层归一化中针对每个token计算均值、方差的过程,再通过
和
完成仿射变换,保持与层归一化相当甚至更优的收敛速度和泛化性能,在训练和推理阶段都可以节省计算资源。
2.4. 基于细节增强的轻量级共享卷积检测头
由于疲劳检测场景下对于模型检测的实时性和准确率要求极高,本文引入轻量级共享卷积检测头(Lightweight Shared Convolutional Detection Head, LSCD) [9]替代原模型的head 检测部分,并将引入细节增强卷积(Detail-Enhanced Convolution, DEConv) [10]替代LSCD的两个共享卷积Conv_GN模块,重新设计了一个基于细节增强的轻量级共享卷积检测头(Lightweight Shared Detail Enhanced Convolutional Detection Head, LSDECD)如图1改进模型中的LSDECD模块所示。其中DEConv模块如图4所示。本文在LSDECD的两个3 × 3的共享卷积Conv_GN中引入DEConv组成DEConv_GN,将DEConv应用在两次共享卷积阶段,相当于先对浅层特征进行高频升维,再通过第二次细节增强来融合全局与局部上下文,使LSCD并行学习边缘、纹理等高频细节,极大增强眼部小目标的可分辨性。其中模块DEConv将若干差分卷积与一条常规卷积并行,将其合并成一个等效卷积,以兼顾低频和高频信息,增强微小特征的识别能力,同时保持与普通卷积一致的计算开销。DEConv由标准卷积(VC)、中心差分卷积(CDC)、角差分卷积(ADC)、水平差分卷积(HDC)以及垂直差分卷积(VDC)五个卷积分支组合成并行结构。CDC和ADC分别关注图像的中心区域和角区域;HDC和VDC分别关注图像水平和垂直方向上的特征。DEConv的实现可由式(18)表示。
Figure 4. DEConv structure diagram
图4. DEConv结构图
(18)
其中,
表示输入特征图,
表示输出特征图。HDC与VDC通过计算像素对之间的水平或垂直差分,有助于捕捉图像中的高频边缘信息;CDC与ADC则分别聚焦于中心差分与极坐标方向的高频成分,补充普通卷积主要关注的低频内容。通过捕捉像素间的方向性差异,并将这些差异特征与卷积核权重融合,进而生成具有多层次视觉信息的特征图,增强了模型对图像特征的判别能力与泛化性能。同时,DEConv采用了一种重参数化技术,在无额外推理开销的前提下,能够有效增强了模型对高频细节的表达能力。
3. 算法仿真
3.1. 数据集
本文选用Yawning Detection Dataset (YawDD) [11]公开疲劳驾驶数据集进行模型改进效果的验证工作。本文在数据集中随机选取20名男性、20名女性共40段视频数据,驾驶员不同肤色、引入佩戴眼睛和太阳镜拓宽检测应用场景,驾驶员动作包括打哈欠和保持沉默两种。每间隔6帧抽取一张图片,去除失真、模糊等无效图片,利用labelimg工具进行面部、两个眼部、嘴部共五类特征的标注;最后,利用图像增强算法对闭眼类别进行数据扩充,同时便于进行模型鲁棒性验证。最终得到7503张图像数据,为确保类别分布平衡,按照7:2:1比例划分训练集、验证集和测试集。类别分为:人脸、睁眼、闭眼、张嘴、闭嘴四类。
3.2. 消融实验
为验证基于YOLO11n改进方案的有效性,本文分别在验证集、测试集上对改进点进行消融实验,以此评估C3K2_AP、C2TSSA_DyT以及LSDECD三个模块的改进效果以及模型的综合性能。消融实验结果如表1所示。从表实验结果可知,首先,引入C3K2_AP模块后,mAP50及mAP50-95数值在验证集和测试集上均有提升,参数量降低约7.7%,说明C3K2_AP可以通过提升卷积过程的感受野,兼顾上下文信息,降低参数量的同时增强小目标特征捕捉能力。其次,继续继承C2TSSA_DyT模块后,mAP50-95有了明显提升,在验证集上增加0.6个百分点,验证集上则增加了1个百分点,这一结果说明,引入令牌统计自注意力机制,模型更专注于聚焦在眼部、嘴部这类微小变化上,减少了因遮挡、光照等因素带来的干扰,提高了检测准确率并确保模型参数量不会增大。最后,集成LSDECD高效检测头,可以发现参数量有所下降,FPS明显提升实现模型的轻量化。
3.3. 对比实验
为更好评估改进的YOLO11n模型,本文选择若干现有的目标检测算法进行对比实验,实验结果如表2所示。实验结果表明相较于经典目标检测算法SSD,本文所提出的改进模型在各方面均表现出色;同时,相比于YOLO系列的其他最轻量级尺寸模型,尽管改进模型在FPS上没有显现出明显改进优势,但在保持高帧率的同时,模型检测准确率以及参数量均有较大程度的优化;甚至,本文基于YOLO11n改进的模型,相较于YOLO11s、YOLO12s这些较大尺度模型在各方面也均有提升,进一步印证了本文改进方案的合理性。
Table 1. Results of ablation experiment
表1. 消融实验结果
C3K2_AP |
C2TSSA_DyT |
LSDECD |
mAP50/% |
mAP50-95/% |
R/% |
Params/M |
FPS/帧 |
Val |
Test |
Val |
Test |
Val |
Test |
Val |
Test |
Val |
Test |
- |
- |
- |
98.1 |
98.1 |
73.5 |
73.2 |
96.9 |
97.1 |
2.6 |
2.6 |
390 |
411 |
√ |
- |
- |
98.9 |
99.1 |
76.7 |
76.8 |
97.7 |
98.3 |
2.4 |
2.4 |
370 |
379 |
- |
√ |
- |
99.0 |
99.1 |
76.5 |
76.3 |
98.1 |
98.4 |
2.5 |
2.5 |
395 |
419 |
- |
- |
√ |
99.1 |
99.1 |
76.8 |
76.9 |
98.2 |
97.8 |
2.3 |
2.3 |
405 |
420 |
√ |
√ |
- |
99.0 |
99.1 |
76.7 |
76.9 |
98.1 |
98.0 |
2.4 |
2.4 |
367 |
383 |
√ |
- |
√ |
99.0 |
99.2 |
76.8 |
77.4 |
98.1 |
98.1 |
2.1 |
2.1 |
379 |
391 |
- |
√ |
√ |
99.0 |
99.2 |
76.8 |
77.4 |
98.1 |
98.0 |
2.2 |
2.2 |
402 |
420 |
√ |
√ |
√ |
99.0 |
99.0 |
76.8 |
77.5 |
98.3 |
98.0 |
2.0 |
2.0 |
379 |
394 |
注:其中√表示添加模块,-表示未添加。
Table 2. Comparative test results
表2. 对比试验结果
模型 |
mAP50/% |
mAP50-95/% |
参数量/M |
FPS/帧 |
SSD [12] |
91.6 |
68.5 |
144 |
187 |
YOLO5n [13] |
97.4 |
73.2 |
2.5 |
394 |
YOLO8n [14] |
98.3 |
73.3 |
3.0 |
409 |
YOLO9t [15] |
98.3 |
73.0 |
2.0 |
365 |
YOLO10n [16] |
98.2 |
73.1 |
2.3 |
484 |
YOLO11n [5] |
98.1 |
73.5 |
2.6 |
390 |
YOLO11s [5] |
98.5 |
75.2 |
9.4 |
290 |
YOLO12n [17] |
98.4 |
72.3 |
2.5 |
388 |
YOLO12s [17] |
98.5 |
74.2 |
9.1 |
255 |
改进模型 |
99.1 |
77.6 |
2.0 |
379 |
此外,本文在验证集中,将改进模型与基线模型YOLO11n进行了面部疲劳特征检测的结果进行对比。选择IOU在0.5到0.95范围内各类别平均检测精度均值mAP50-95这一评价指标进行对比,结果如图5所示。与原始模型对比,改进后的YOLO11n在面部、眼部、嘴部的检测精度均有显著提升。其中,面部类别检测精度提升2.8个百分点,提升面部识别的精确度能够为后续人脸关键点的应用奠定坚实的基础;闭眼作为疲劳特征直接影响疲劳行为的判断,该类别精度提升了8.4%,证明了前文在提升小目标检测性能所做工作的有效性;张嘴类别也提升了4.3个百分点,能够进一步提升嘴部预警的准确性。
Figure 5. Comparison chart of accuracy rates for specific categories
图5. 具体类别准确率对比图
4. 总结与展望
本文基于YOLO11n目标检测模型,在基本框架上做出优化,针对驾驶员面部、眼部及嘴部状态进行目标检测,属于疲劳预警系统的上游特征提取任务。主要改进工作有:首先,在C3K2模块中引入非对称填充卷积实现卷积过程感受野的扩大,降低因分辨率低、角度偏移、遮挡等因素对面部疲劳特征提取效果造成的影响;其次,在C2PSA模块中引入一种基于令牌统计的自注意力机制,有效捕捉特征、精准聚焦目标区域,同时加入归一化层减小模型尺寸,增强鲁棒性;最后,在轻量级共享卷积检测头基础上引入细节增强卷积。本文在公开数据集YawDD上进行了网络模块消融实验、损失函数验证实验以及模型间对比实验,验证了改进方法的有效性。下一步,本文会将提取到的驾驶员面部特征信息与面部特征点检测模型以及头部姿态估计算法相结合,得到眼部、嘴部以及头部三部分疲劳特征做并行判断,以此实现更加可靠的疲劳状态判定。
NOTES
*通讯作者。