基于轻量型空间特征编码网络的驾驶人注视区域估计算法
张名芳1, 李桂林1, 吴初娜2, 王力1, 佟良昊1    
1. 北方工业大学 城市道路交通智能控制技术北京市重点实验室, 北京 100144;
2. 交通运输部 公路科学研究院, 运输车辆运行安全技术交通运输行业重点实验室, 北京 100088
摘要:实时监测驾驶人注视区有助于人机共驾汽车理解并判断驾驶人的意图。针对车载环境下算法精度和实时性难以平衡的问题, 提出了一种基于轻量型空间特征编码网络(lightweight spatial feature encoding network, LSFENet)的驾驶人注视区估计算法。通过人脸对齐和眼镜移除步骤对采集的驾驶人上半身图像序列进行预处理, 得到左右眼图像和人脸关键点坐标; 在MobileNetV2的基础上构建基于GCSbottleneck模块的LSFENet特征提取网络, 集成注意力机制模块增强关键特征权重, 生成左右两眼特征; 利用Kronecker积融合眼部与人脸关键点特征, 将连续帧图像融合后的特征输入循环神经网络中, 得到该图像序列的注视区域估计结果; 利用公开数据集和自制数据集对新算法进行测试。实验结果表明:LSFENet算法的注视区估计准确率可达97.08%, 每秒能检测约103帧图像, 满足车载环境下运算效率和精度需求; LSFENet算法对注视区1、2、3、4、9的估计准确率均在85%以上, 且对不同光照条件和眼镜遮挡情况均具有较强的适应能力。研究结果对驾驶人视觉分心状态识别具有重要意义。
关键词注视区域估计    轻量型空间特征编码网络    注意力机制    特征提取    Kronecker积    循环神经网络    
Estimation algorithm of driver's gaze zone based on lightweight spatial feature encoding network
ZHANG Mingfang1, LI Guilin1, WU Chuna2, WANG Li1, TONG Lianghao1    
1. Beijing Key Laboratory of Urban Road Intelligent Traffic Control Technology, North China University of Technology, Beijing 100144, China;
2. Key Laboratory of Operation Safety Technology on Transport Vehicles, Research Institute of Highway, Ministry of Transport, Beijing 100088, China
Abstract: [Objective] The real-time monitoring of a driver's gaze region is essential for human-machine shared driving vehicles to understand and predict the driver's intentions. Because of the limited computational resources and storage capacity of in-vehicle platforms, existing gaze region estimation algorithms often hardly balance accuracy and real-time performance and ignore temporal information. [Methods] Therefore, this paper proposes a lightweight spatial feature encoding network (LSFENet) for driver gaze region estimation. First, the image sequence of the driver's upper body is captured by an RGB camera. Image preprocessing steps, including face alignment and glasses removal, are performed to obtain left- and right-eye images and facial keypoint coordinates to handle challenges such as cluttered backgrounds and facial occlusions in the captured images. Face alignment is conducted using the multi-task cascaded convolutional network algorithm, and the glasses are removed using the cycle-consistent adversarial network algorithm. Second, we build the LSFENet feature extraction network based on the GCSbottleneck module to improve the MobileNetV2 architecture, since the inverted residual structure in the MobileNetV2 network requires a significant amount of memory and floating-point operations and ignores the redundancy and the correlation among the feature maps. We embed a ghost module to improve memory consumption and integrate the channel and spatial attention modules to extract the cross-channel and spatial information from the feature map. Next, the Kronecker product is used to fuse eye features with facial keypoint features to reduce the impact of the information complexity imbalance. Then, the fused features from the images at continuous frames are input into a recurrent neural network to estimate the gaze zone of the image sequence. Finally, the proposed network is evaluated using the public driver gaze in the wild (DGW) dataset and a self-collected dataset. The evaluation metrics include the number of parameters, the floating-point operations per second (FLOPs), the frames per second (FPS), and the F1 score. [Results] The experimental results showed the following: (1) The gaze region estimation accuracy of the proposed algorithm was 97.08%, which was approximately 7% higher than that of the original MobileNetV2. Additionally, both the number of parameters and FLOPs were reduced by 22.5%, and the FPS was improved by 36.43%. The proposed network had a frame rate of approximately 103 FPS and satisfied the computational efficiency and accuracy requirements under in-vehicle environments. (2) The estimation accuracies of the gaze regions 1, 2, 3, 4, and 9 were over 85% for the proposed algorithm. The macro-average and micro-average precisions of the DGW dataset reached 74.32% and 76.01%, respectively. (3) The proposed algorithm provided high classification accuracy for fine-grained eye images with small intra-class differences. (4) The visualization results of the class activation mapping demonstrated that the proposed algorithm had strong adaptability to various lighting conditions and glass occlusion situations. [Conclusions] The research results are of great significance for the recognition of a driver's visual distraction states.
Key words: gaze zone estimation    lightweight spatial feature encoding network    attention mechanism    feature extraction    Kronecker's product    recurrent neural network    

随着人工智能技术的发展,汽车自动化驾驶水平不断提升[1]。真实城市道路交通环境非常复杂,在实现L5级自动驾驶前,人们将长期面临人类驾驶与自动驾驶系统共同参与汽车控制的局面[2]。人机共驾汽车需能够持续准确识别并预测人类驾驶中人的行为,以更好地分配驾驶权并构建高效的车内人机交互系统。有效估计驾驶人注视区有助于自动驾驶系统理解并判断人类驾驶人的意图、认知状态、情景意识和注意力水平。从传感器使用角度,目前用于驾驶人注视区估计的常用方法可分为侵入式和非侵入式。侵入式方法主要通过可穿戴的智能眼镜[3]、头部方向传感器[4]跟踪眼睛(瞳孔中心、角膜反射点)或头部运动监测驾驶人注视方向。在实际驾驶过程中,该方法存在对驾驶人造成干扰的潜在风险。非侵入式方法主要通过在仪表盘[5]或后视镜上放置摄像头[6]捕捉驾驶人注意力状态。后者成本低且易于集成,因此比前者应用更广泛。

目前国内外学者已针对基于非侵入式传感器的驾驶人注视区估计算法展开研究,根据特征提取信息不同将已有算法分为3类:基于头部姿态算法[7-8]、基于面部特征算法[9-10],以及头部姿态与面部特征相融合算法[11-12]。刘觅涵等[7]通过人脸对齐网络检测人脸关键点,并利用透视N点算法进行头部姿态估计,采用头部姿态——Euler角表征驾驶人注视区,但该方法对于头部运动幅度较小且眼球运动幅度较大的情况估计效果较差。Lundgren等[8]先针对已知注视焦点采用Gauss过程算法学习头部姿态和眼睛闭合状态映射到注视方向的函数,再利用Bayes滤波估计驾驶人不同注视区的概率,该算法仅通过少量数据集学习映射函数,导致鲁棒性较差。Lu等[9]利用自适应线性回归方法对眼睛区进行编码,将眼睛特征映射成驾驶人注视区,但仅在驾驶人头部固定时具有较高的注视区估计精度。Aunsri等[10]从驾驶人面部图像中手动提取设定的眼部特征,再利用人工神经网络建立注视区估计模型。但考虑到头部姿态与注视方向不是一一对应的关系,仅依靠头部或面部特征难以可靠估计仅由眼球运动导致的注视区变化,为此有人提出将头部姿态与面部特征相融合。闫秋女等[11]使用比例正交投影迭代变换算法对获取的人脸关键点进行处理得到驾驶人头部姿态特征,并采用基于三维人眼模型的方法对眼部关键点建模估计注视方向,进而利用改进的随机森林算法对融合好的头部姿态及注视方向特征进行分类,得到注视区估计结果,但其估计精度完全取决于人脸关键点估计精度,在眼部遮挡情况下精度较差。Wang等[12]采用带有辅助采样的粒子滤波器进行头部状态追踪,基于多区迭代最近点算法估计头部姿态,并使用两阶段近邻搜索建立眼睛图像特征和头部姿态特征到注视角度的映射函数,进而利用K近邻算法进行注视区域估计,然而邻居选择的成功在很大程度上取决于邻居特征空间构造合理。

深度学习算法不断取得突破性进展[13],逐渐应用于驾驶人注视区估计研究。Ribeiro等[14]采用驾驶人上半身图像作为网络输入,使用迁移学习的方法微调预训练的VGG16模型并应用于注视区估计任务,但存在模型参数较多、计算量较大的缺陷。Ghosh等[15]将人脸检测裁剪得到的面部RGB图像输入ResNet50骨干网络中,提取面部注视特征,测试发现该网络运算效率较低,每秒仅能检测10帧图像。Sandler等[16]采用MobileNetV2轻量化网络中的倒残差结构改变传统卷积方式,减少网络参数量和计算量,但该网络进行注视区估计时容易出现眼部注视特征提取不充分的问题。Rangesh等[17]利用Openpose算法定位眼睛区,构建循环生成对抗网络移除眼镜遮挡,并采用注视一致性损失和基于SqueezeNet的注视区分类器辅助监督眼镜移除过程,以保留更多注视特征,但受摄像头安装位置限制,当驾驶人注视部分区时眼部可能会被完全遮挡,同时该方法对头部姿态变化大的场景适应性较差。Yang等[18]将检测到的人脸区域输入面部编码网络用于提取注视特征,采用空间注意力机制提高眼睛区域权重,抑制面部与注视无关区域权重,然后融合注视特征与头部姿态对注视区域进行估计,该方法具有较好的实时性,但直接利用头部姿态作为额外输入对提升注视区域估计准确率的作用不大。针对该问题,Krafka等[19]提出一种端到端的iTracker网络结构,不需要单独提取头部姿态特征,输入左右眼图像、人脸图像和人脸位置,利用AlexNet进行多通道特征提取,输出注视点估计结果,尽管该方法使准确率有所提高,但模型参数量和复杂度也相应增加。

为了更好地平衡车载环境下算法精度和实时性问题,本文提出一种基于轻量型空间特征编码网络(lightwevght spatial feature encoding network, LSFENet)的驾驶人注视区估计方法。该方法充分利用有限资源生成更多特征描述符,强化注视特征权重,利用GCSbottleneck模块加速网络训练,使网络对眼部细粒度图像产生较高的分类精度,同时提取特征图跨通道信息和空间信息以增强网络对图像的整体感知能力,并进一步将提取到的眼部特征与人脸关键点特征进行Kronecker积融合,输入循环神经网络(recurrent neural network,RNN)中得到注视区的估计结果。

1 基于LSFENet的驾驶人注视区域估计算法

图 1为驾驶人注视区域估计算法框架,主要包括图像预处理、特征提取、多通道特征融合、输出注视区估计结果。将RGB摄像头捕获的驾驶人上半身图像序列{I(t-s+1), I(t-s+2), …, I(t)}作为网络输入,其中:I表示输入图像,t表示该序列最后一帧图像索引,s表示序列窗口长度,图像预处理部分利用多任务级联卷积神经网络(multi-task cascaded convolutional networks,MCCN)算法进行人脸对齐,再通过循环生成对抗网络(cycle-consistent adversarial networks,CycleGAN)移除眼镜干扰,得到左右眼图像及5个二维人脸关键点特征向量;特征提取部分将左右眼图像作为LSFENet的输入,该网络在MobileNetV2网络结构基础上引入GCSbottleneck模块替换原始网络中的倒残差结构,通过内嵌的幻影模块(ghost module,GM)改善原始网络内存占用量和浮点运算量大等缺点,并集成通道注意力模块(channel attention module,CAM)和空间注意力模块(spatial attention module,SAM)用于提取特征图跨通道信息和空间信息,提高网络对不同注视区域眼部图像的分类精度;多通道特征融合部分利用Kronecker积拼接高维眼部特征和低维人脸关键点特征,降低信息复杂度不平衡带来的影响;考虑注视行为的时间依赖性,将融合得到的连续帧特征序列输入RNN中进行图像序列时间特征编码,得到当前帧注视区估计结果。

图 1 驾驶人注视区域估计算法整体框架

1.1 图像预处理

研究表明,超过73%的驾驶人会在开车时佩戴矫正眼镜[20]。因此,为了解决图像在处理过程中产生的背景杂乱、面部遮挡等问题,需要在网络训练阶段加入人脸对齐、移除眼镜等预处理步骤。将驾驶人上半身图像序列作为驾驶人注视区估计网络的输入,采用MCCN[21]进行人脸边界框回归和人脸关键点定位,裁剪得到224×224像素的面部图像。MCCN由P-Net、R-Net和O-Net 3阶段网络组成,通过对等比例缩放图像处理输出包含偏移率和置信度的特征图,根据置信度筛选预测框,生成人脸包围框和人脸关键点坐标(左眼中心、右眼中心、鼻尖、左嘴角和右嘴角)。由于驾驶人不受控的头部运动可能导致人脸图像并非全为正脸,因此通过仿射矩阵M变换进行人脸对齐,表示如下:

$ \boldsymbol{M}=\left[\begin{array}{ccc}\cos \theta & \sin \theta & -x_{\mathrm{c}} \cos \theta-y_{\mathrm{c}} \sin \theta+0.5 x_{\mathrm{s}} \\ -\sin \theta & \cos \theta & x_{\mathrm{c}} \sin \theta-y_{\mathrm{c}} \cos \theta+0.5 y_{\mathrm{s}} \\ 0 & 0 & 1\end{array}\right]. $ (1)

其中:θ为旋转角度,(xc, yc)为鼻尖坐标,(xs, ys)为对齐后人脸尺寸。对人脸关键点坐标进行标准化处理,拼接得到人脸关键点特征向量L=(x1, y1, x2, y2, …, x5, y5)。

CycleGAN[22]主要应用于图像到图像翻译领域,能保证在原图像风格不变的基础上完成2个域之间的图像转换,且不需要成对数据集,因此利用CycleGAN网络移除驾驶人眼镜,可降低遮挡影响,具体结构如图 2所示。该网络采用双向循环生成结构,通过2个生成器{GF}与2个判别器{DXDY}对抗训练学习2个映射函数,完成2个图像域之间的风格迁移。映射函数分别是GXY, FYX,其中X为戴眼镜图像域,Y为不戴眼镜图像域。以XY的迁移为例,x~P(x)和y~P(y)表示XY这2个域中图像服从的概率分布,判别器DX首先判断x是否符合戴眼镜图像域的概率分布,然后输入G生成图像G(x),接着输入判别器DY判断图像是否符合不戴眼镜图像域的概率分布,最后输入F转化为F(G(x)),完成2个域的图像迁移。为了尽可能保证移除眼镜后眼部特征不变,本文主要利用CycleGAN的生成器学习图像域之间的转换以最小化损失函数。移除眼镜后,动态裁剪得到的左右眼图像分别作为特征提取网络的输入,其中左眼图像通过水平翻转操作共享右眼特征提取网络权重,加速网络训练过程。

图 2 CycleGAN网络结构

1.2 特征提取

1) MobileNetV2。

MobileNetV1[23]针对传统卷积神经网络运算量大、内存需求高等问题,通过深度可分离卷积替换普通卷积的方式大幅降低传统卷积神经网络的参数量和计算量。核心包括深度卷积和点卷积2个部分,如图 3所示。深度卷积中,每个卷积核有独立的通道,对输入特征图的一个通道进行单独卷积,输出特征图与输入特征图的通道数相同;点卷积中,利用1×1卷积核实现跨通道特征合并、降维或升维。

图 3 深度可分离卷积

由于深度可分离卷积没有提升通道数的能力,仅对低维特征图进行卷积,使MobileNetV1提取到的特征缺少全局性,而且修正线性单元(rectified linear unit, ReLU)激活函数在低维运算中存在特征退化,因此MobileNetV2提出倒残差结构进行相应改进,先利用1×1卷积实现升维,再通过3×3深度卷积提取高维空间特征,接着利用1×1卷积实现降维,并用线性激活函数替换最后一个1×1卷积层的ReLU激活函数,降低丢失低维特征的影响。MobileNetV2网络结构配置如表 1所示,其中:z为扩展因子,c为输出特征矩阵通道数,f为重复次数,a为步距,k为宽度缩放因子。

表 1 MobileNetV2网络结构配置表
输入 卷积操作 z c f a
224×224×3 conv2d 32 1 2
112×112×32 bottleneck 1 16 1 1
112×112×16 bottleneck 6 24 2 2
56×56×24 bottleneck 6 32 3 2
28×28×32 bottleneck 6 64 4 2
14×14×64 bottleneck 6 96 3 1
14×14×96 bottleneck 6 160 3 2
7×7×160 bottleneck 6 320 1 1
7×7×320 conv2d 1×1 1 280 1 1
7×7×1280 avgpool 7×7 1
1×1×1280 conv2d 1×1 k

2) GCSbottleneck模块。

MobileNetV2中改进后的倒残差结构仍占用大量内存和浮点运算,而且未充分利用特征图之间的冗余性和相关性,使复杂车载环境下注视区域分类效果较差。为降低网络运算量,同时提升分类精度,提出构建GCSbottleneck模块以满足车载端对模型轻量化程度较高的要求,该模块包含2种不同步距的子模块,如图 4所示。步距为1的子模块中,通过2个GM模块[24]先扩张再缩减通道数,利用批量归一化(batch normalization, BN)层和ReLU激活函数加速网络收敛,减少精度损失,考虑到注视不同区域时眼睛图像区分度较小,引入集成CAM和SAM的卷积块注意力模块[25](convolutional block attention module,CBAM)提取关键特征,并在输入与输出之间加入跳跃连接,降低网络退化影响。步距为2的子模块在此基础上添加2个步距为2的深度卷积到GM之间。

图 4 GCSbottleneck结构

GM采用点卷积生成少数原始特征图,再对原始特征图利用深度卷积生成Ghost特征图,两者拼接作为输出,模块结构如图 5a所示。当输入特征图尺寸为H×W×M(HWM分别为输入特征图的高、宽和通道数),输出特征图尺寸为H′×W′×N时(H′、W′和N分别为输出特征图的高、宽和通道数)时,深度可分离卷积的参数量ξD和GM的参数量ξG分别表示如下:

$ \xi_{\mathrm{D}}=D_{\mathrm{K}} \times D_{\mathrm{K}} \times M+D_{\mathrm{F}} \times D_{\mathrm{F}} \times M \times N, $ (2)
$ \begin{gathered} \xi_{\mathrm{G}}=D_{\mathrm{F}} \times D_{\mathrm{F}} \times M \times N \times \frac{1}{v}+D_{\mathrm{K}} \times \\ D_{\mathrm{K}} \times(v-1) \times N \times \frac{1}{v} . \end{gathered} $ (3)
图 5 GCSbottleneck各模块结构

其中:DKDF分别为深度卷积、点卷积的卷积核尺寸,v为缩放系数。深度可分离卷积的计算量ΨD和GM的计算量ΨG分别表示如下:

$ \begin{gathered} \psi_{\mathrm{D}}=H^{\prime} \times W^{\prime} \times M \times D_{\mathrm{K}} \times D_{\mathrm{K}}+H^{\prime} \times W^{\prime} \times \\ N \times D_{\mathrm{F}} \times D_{\mathrm{F}} \times M, \end{gathered} $ (4)
$ \begin{gathered} \psi_{\mathrm{G}}=H^{\prime} \times W^{\prime} \times N \times \frac{1}{v} \times D_{\mathrm{F}} \times D_{\mathrm{F}} \times \\ M+H^{\prime} \times W^{\prime} \times N \times \frac{v-1}{v} \times D_{\mathrm{K}} \times D_{\mathrm{K}}. \end{gathered} $ (5)

一般而言,当DK=3、DF=1、v=2时,对比式(2)和(3)可以发现,采用GM的参数量约为采用深度可分离卷积的一半;对比式(4)和(5)可以发现,采用GM的计算量约为采用深度可分离卷积的一半。因此,GM模块能够显著降低原始网络的参数量和计算量。

CBAM包含的CAM和SAM模块均由池化层、卷积层和Sigmoid层组成,模块结构分别如图 5b5c所示。可以看出,CAM分别利用平均池化和最大池化提取输入特征图的空间信息,生成2个空间上下文描述符以获取全局感受野,再传递给3个1×1卷积构成的共享网络,得到2个带注意力权重的特征向量,拼接后输入Sigmoid层生成通道注意力向量,进一步与输入特征图进行卷积获得通道注意力特征图;SAM重点编码兴趣区域部分,将CAM输出的通道注意力特征图作为本模块的输入,通过平均池化和最大化池化串行拼接得到1个高效的特征描述符,再利用3个卷积提取空间信息,经Sigmoid层处理生成空间注意力矩阵,与通道注意力特征图进行卷积得到空间注意力特征图。

3) 基于GCSbottleneck模块的LSFENet特征提取网络。

LSFENet特征提取网络结构框架如图 6所示。该网络在MoblieNetV2网络框架基础上,采用由GM、CAM和SAM构建的GCSbottleneck模块(见红框部分)代替MobileNetV2中原有倒残差结构。输入眼部图像像素尺寸为224×224×3,提取得到的眼部特征向量尺寸为1×1×128。网络第1层为由32个卷积核组成的标准卷积层,卷积后对特征图进行批量归一化和非线性激活处理,并采用低精度计算时鲁棒性较好的ReLU6作为非线性激活函数。第1层之后连接由GCSbottleneck模块堆叠组成的7个序列层,根据输入特征图尺寸划分不同序列层包含的GCSbottleneck模块数量,各序列层内第1个GCSbottleneck模块的步距配置与MobileNetV2相同,序列层内后续堆叠的模块均为步距为1的GCSbottleneck;利用标准卷积层和全局平均池化提取得到眼部特征向量。

图 6 LSFENet网络结构

1.3 多通道特征融合

将特征提取网络输出的左右眼特征进行拼接,得到高维眼部特征向量E,若直接按通道维度与低维人脸关键点特征向量拼接,则会因为特征不平衡导致过拟合问题,为此采用Kronecker积进行多通道特征融合,融合得到的特征向量 Fmn表示如下:

$ \boldsymbol{F}^{m n}=\boldsymbol{E}^{n} \odot \boldsymbol{L}^{m}=\left[\begin{array}{c} \boldsymbol{E}_{1}^{n} \\ \boldsymbol{E}_{2}^{n} \\ \boldsymbol{E}_{3}^{n} \\ \vdots \\ \boldsymbol{E}_{N}^{n} \end{array}\right] \odot\left[\begin{array}{c} \boldsymbol{L}_{1}^{m} \\ \boldsymbol{L}_{2}^{m} \\ \boldsymbol{L}_{3}^{m} \\ \vdots \\ \boldsymbol{L}_{N}^{m} \end{array}\right]=\left[\begin{array}{c} \boldsymbol{E}_{1}^{n} \boldsymbol{L}_{1}^{m} \\ \boldsymbol{E}_{1}^{n} \boldsymbol{L}_{2}^{m} \\ \vdots \\ \boldsymbol{E}_{1}^{n} \boldsymbol{L}_{N}^{m} \\ \boldsymbol{E}_{2}^{n} \boldsymbol{L}_{1}^{m} \\ \vdots \\ \boldsymbol{E}_{N}^{n} \boldsymbol{L}_{N}^{m} \end{array}\right] . $ (6)

其中:n为眼部特征通道数, m为人脸关键点特征通道数, ⊙为Kronecker积, N为图像样本批量处理数量。将融合得到的独立帧图像特征向量输入到全局平均池化层和全连接层进行特征压缩,接着将输入序列连续帧图像得到的特征向量序列输入多对一RNN中,以编码驾驶人注视行为时间依赖性。该RNN由具有128个隐藏节点的单层门控循环单元组成。通过全连接层和softmax层进行分类,输出驾驶人注视区估计结果。

2 实验验证 2.1 实验环境与参数设置

实验平台硬件设备配置为CPU平台Intel(R) CoreTM i7-10710,基础频率1.10 GHz,内存16 G,GPU平台NVIDIA RTX 3060,显存10 G。软件运行配置为Ubuntu18.04操作系统、Pytorch1.11.0深度学习框架、Python3.6编程语言,使用统一计算设备架构(compute unified device architecture,CUDA)和CUDA深度神经网络库(cuda deep neural network library,cuDNN)加速模型进行训练。使用CUDA和cuDNN加速模型进行训练。训练时使用Adam优化器,交叉熵损失函数,初始学习率设置为0.01,每5个迭代周期学习率衰减50%,批量大小设置为32,训练轮次设置为30,每轮训练结束时保存最优网络权重模型,当Loss值降至约0.061 7时,模型基本收敛。

2.2 数据集

DGW(driver gaze in the wild)数据集[15]选择在不同天气情况下或一天内不同时间和地点对338名不同体型、年龄和性别的驾驶人进行录制。利用安装在方向盘上方的Microsoft LifeCam RGB设备捕获驾驶人观看9个注视区的头部和眼部状态,注视区按后视镜、侧视镜、收音机、仪表盘和挡风玻璃划分。录制过程中不对头部运动进行约束,包含不同光照条件下记录的586条视频,随机选取203名驾驶人(29 448张图像)用作训练集,83名驾驶人(9 995张图像)用作测试集。

受DGW数据集启发,设计一个遵循相同规则的自制数据集,采集前划分9个注视区,如图 7所示。邀请30名驾驶人(其中21人戴眼镜)进行数据采集,实验设备为安装在驾驶人正前方的Intel Realsense d435深度相机,图像分辨率设置为1 280× 720像素,为了更真实地记录驾驶人注视行为,选择在校园内低速行驶,并且不对头部运动进行约束。自制数据集包含在不同光照条件下收集的不同身高、年龄、性别和着装的驾驶人图像,随机选取24名驾驶人(16 494张图像)用作训练集,6名驾驶人(4 713张图像)用作测试集。

1—前挡风玻璃左上方;2—前挡风玻璃左下方;3—方向盘;4—中控台;5—前挡风玻璃右上方;6—前挡风玻璃右下方;7—右后视镜;8—车内后视镜;9—左后视镜。 图 7 注视区划分

2.3 实验结果与分析

1) 算法精度和实时性分析。

为评估不同特征提取网络模型对注视区估计效果的影响,将LSFENet网络模型与已有主流网络模型,如MobileNetV2[16]、VGG16[14]、MobileNetV3[26]、SqueezeNet[17]和ResNet50[15]等进行对比,采用迁移学习方式微调网络所有层进行训练,配置相同的训练参数,如批量大小、学习率、优化器等,对DGW数据集进行训练,不同网络模型得到的注视区估计结果如图 8所示。LSFENet算法迭代30轮后准确率可达97.08%,性能明显优于其他网络模型。尤其是与MobileNetV2相比,LSFENet算法的注视区估计准确率更高,说明利用GCSbottleneck模块替换MobileNetV2原有的倒残差结构能够在有限计算资源下生成更有效的特征描述符,通过空间注意力和通道注意力特征互补能显著提升注视区域估计准确率。

图 8 本文模型与其他模型准确率对比曲线图

为进一步验证LSFENet算法有效,采用参数量、每秒浮点运算数(floating-point operations per second, FLOPs)、每秒帧数(frames per second, FPS)和F1分数指标对不同特征提取网络模型的注视区域估计精度和实时性进行评估与对比,结果如表 2所示。可以看出,SqueezeNet和MobileNetV2的参数量和FLOPs较低,但其F1分数均明显低于LSFENet算法,说明SqueezeNet和MobileNetV2对类间差异性小的细粒度眼部图像的识别精度较差;VGG16和ResNet50的F1分数虽然较高,但参数量和FLOPs较大,导致FPS最低,算法精度和实时性难以平衡,无法应用于车载端;相比于MobileNetV2,MobileNetV3参数量和FLOPs均有所下降,但FPS和F1分数均低于LSFENet算法,这是由于MobileNetV3采用的Squeeze-and-Excitation模块只关注特征图通道间的信息,网络表征能力较差;LSFENet算法参数量和FLOPs相比于MobileNetV3有所增加,与MobileNetV2相比减少了22.5%,检测速度FPS提升了36.43%,且F1分数可达97%,总体上注视区估计精度与实时性均满足车载端实际应用需求,原因在于LSFENet算法能同时编码特征图通道和空间信息,突出关键特征并抑制非必要特征,通过利用有限参数生成更多冗余特征图,有效提升网络表征能力。

表 2 LSFENet算法与其他算法的性能对比
网络结构 图像分辨率 参数量/M FLOPs/G FPS F1分数
SqueezeNet[17] 224×224 0.73 0.26 116.46 0.85
MobileNetV2[16] 224×224 2.24 0.33 76.10 0.90
VGG16[14] 224×224 134.29 15.47 64.48 0.92
MobileNetV3[26] 224×224 1.53 0.06 81.63 0.93
ResNet50[15] 224×224 23.53 4.13 71.44 0.94
LSFENet 224×224 1.96 0.15 103.82 0.97

2) 消融实验。

为对比所提LSFENet算法对不同注视区的估计精度差异,利用混淆矩阵表征各注视区域识别率,混淆矩阵每一行表示真实注视区,每一列表示预测得到的注视区,对角线上的值表示准确预测的样本比例,其他数值表示错误预测的样本比例。计算得到9个注视区估计结果的混淆矩阵,如图 9所示。可以看出,含眼镜移除预处理模块的LSFENet算法对注视区1(前挡风玻璃左上方)、注视区3(方向盘)和注视区9(左后视镜)均具有较好的注视估计效果,原因在于摄像头安装在驾驶人正前方,当驾驶人注视这些区时,头部姿态角度和眼球运动变化相较于注视其他区时更易于识别;LSFENet算法对注视区5(前挡风玻璃右上方)、注视区6(前挡风玻璃右下方)、注视区7(右后视镜)和注视区8(车内后视镜)进行注视估计时最易产生混淆,分析发现这些注视区物理空间上距离相对较近,驾驶人注视这些区时头部朝向和眼球位置都偏向右方,提取的人脸关键点特征和眼部特征比较相似,导致这些注视区估计的准确率显著低于其他区;相比无眼镜移除预处理模块的注视区估计算法,LSFENet算法对各注视区的识别准确率更高,尤其是注视区2(前挡风玻璃左下方)和注视区4(车载娱乐设备),总体上宏平均和微平均准确率均有所提高,说明眼镜移除预处理模块能有效减少由于眼镜反光、镜框太厚等因素造成的眼部区遮挡影响,降低不同眼镜类型带来的眼睛外观差异,使LSFENet算法能更好地提取注视特征。

图 9 9个注视区域估计结果的混淆矩阵

LSFENet特征提取网络在MobileNetV2基础上引入含GM和CBAM的GCSbottleneck模块以充分利用有限资源生成更多特征描述符,有效编码特征图通道信息和空间信息。为验证该特征提取网络各改进模块对整体算法性能的影响,选取DGW数据集和自制数据集对MobileNetV2网络、含GM的MobileNetV2改进网络与LSFENet算法进行消融实验,结果如表 3所示。可以看出,与仅采用MobileNetV2提取注视特征相比,MobileNetV2改进网络通过引入GM模块生成冗余特征图,尽管准确率提升不明显,但不同数据集的运算时间平均减少22.97%;与含GM的MobileNetV2改进网络相比,LSFENet算法在保证运算效率的前提下宏平均和微平均准确率分别提升14.52%和13.89%,这说明CBAM模块的注意力机制能够序列化地提高通道和空间2个维度的特征提取能力,同时抑制与待分类目标无关的信息,使网络对图像的整体感知能力较强。

表 3 不同特征提取网络算法的消融实验结果
算法 DGW数据集 自制数据集
宏平均准确率/% 微平均准确率/% 运算时间/ms 宏平均准确率/% 微平均准确率/% 运算时间/ms
MobileNetV2 57.74 59.84 13.14 62.11 67.89 11.96
MobileNetV2+GM 59.55 63.46 9.84 64.39 69.07 9.47
LSFENet 74.32 76.01 9.63 78.65 84.30 8.91

为进一步探究LSFENet算法对不同光照条件和眼镜遮挡情况的适应能力,在自制数据集上对比正常光照、正常光照(眼镜框较厚)、正常光照(眼镜面反光)、光照较暗、光照较暗(眼镜框较厚)、光照较暗(眼镜面反光)和光照特暗7种条件下驾驶人注视区估计结果,绘制类激活映射图对特征提取网络关注的眼部注视区域位置信息进行可视化分析,结果如图 10所示。可以看出,相比于含GM的MobileNetV2改进网络,当眼镜框较厚、眼镜面反光、光线较暗等不利因素出现时,LSFENet算法通过引入CBAM模块能有效加强眼部特征权重,弱化无关特征,使眼部高激活区特征的捕获能力更强,尤其是在光线较暗情况下注视区估计置信度明显提升;在光照特别暗的情况下,2种算法均较难估计注视区,下一步工作中将考虑在夜间使用红外相机改善驾驶人注视区估计精度。

图 10 不同条件下类激活映射图

3 结论

本文提出了一种基于LSFENet特征提取网络的驾驶人注视区域估计算法。该网络通过对原始MobileNetV2进行改进,引入GCSbottleneck模块替换原网络中的倒残差结构,提取得到驾驶人左右眼特征。利用Kronecker积融合眼部特征与人脸关键点特征,并通过RNN编码注视行为时间特征对注视区域进行估计。通过实验对比不同算法的注视区域估计结果可以发现:LSFENet算法相比其他算法具有更高的注视区估计精度,同时满足车载环境下实时性需求;通过眼镜移除预处理步骤能够降低驾驶人眼部区部分遮挡影响,同时引入的GCSbottleneck模块通过提取特征图跨通道信息和空间信息使LSFENet算法在不影响准确率的前提下减少网络内存占用量和浮点运算量,并在类内差距较小的眼睛细粒度图像方面具有较高分类精度;类激活映射图可视化结果验证了LSFENet算法均可较好适应不同光照条件和眼镜遮挡情况。

RGB图像作为网络输入会导致在夜间特暗环境下注视区估计精度变差,未来可在夜间使用红外图像作为网络输入,提高夜间行车时注视区估计精度。此外,采用CycleGAN移除眼镜进行预处理会导致模型训练时间较长,眼部区域仍存在伪影,未来将考虑对CycleGAN的损失函数、生成器网络或判别器网络进行优化,构建更优越的图像预处理模型。

参考文献
[1]
王庭晗, 罗禹贡, 刘金鑫, 等. 基于考虑状态分布的深度确定性策略梯度算法的端到端自动驾驶策略[J]. 清华大学学报(自然科学版), 2021, 61(9): 881-888.
WANG T H, LUO Y G, LIU J X, et al. End-to-end self-driving policy based on the deep deterministic policy gradient algorithm considering the state distribution[J]. Journal of Tsinghua University (Science and Technology), 2021, 61(9): 881-888. DOI:10.16511/j.cnki.qhdxxb.2020.22.038 (in Chinese)
[2]
宗长富, 代昌华, 张东. 智能汽车的人机共驾技术研究现状和发展趋势[J]. 中国公路学报, 2021, 34(6): 214-237.
ZONG C F, DAI C H, ZHANG D. Human-machine interaction technology of intelligent vehicles: Current development trends and future directions[J]. China Journal of Highway and Transport, 2021, 34(6): 214-237. DOI:10.3969/j.issn.1001-7372.2021.06.021 (in Chinese)
[3]
CHANG W J, CHEN L B, CHIOU Y Z. Design and implementation of a drowsiness-fatigue-detection system based on wearable smart glasses to increase road safety[J]. IEEE Transactions on Consumer Electronics, 2018, 64(4): 461-469. DOI:10.1109/TCE.2018.2872162
[4]
PLOPSKI A, HIRZLE T, NOROUZI N, et al. The eye in extended reality: A survey on gaze interaction and eye tracking in head-worn extended reality[J]. ACM Computing Surveys, 2023, 55(3): 53.
[5]
SHI H L, CHEN L F, WANG X Y, et al. A nonintrusive and real-time classification method for driver's gaze region using an RGB camera[J]. Sustainability, 2022, 14(1): 508. DOI:10.3390/su14010508
[6]
YUAN G L, WANG Y F, YAN H Z, et al. Self-calibrated driver gaze estimation via gaze pattern learning[J]. Knowledge-Based Systems, 2022, 235: 107630. DOI:10.1016/j.knosys.2021.107630
[7]
刘觅涵, 代欢欢. 基于RGB相机的驾驶员注视区域估计[J]. 现代计算机, 2019, 25(36): 69-75.
LIU M H, DAI H H. Driver gaze zone estimation based on RGB camera[J]. Modern Computer, 2019, 25(36): 69-75. (in Chinese)
[8]
LUNDGREN M, HAMMARSTRAND L, MCKELVEY T. Driver-gaze zone estimation using Bayesian filtering and Gaussian processes[J]. IEEE Transactions on Intelligent Transportation Systems, 2016, 17(10): 2739-2750. DOI:10.1109/TITS.2016.2526050
[9]
LU F, SUGANO Y, OKABE T, et al. Adaptive linear regression for appearance-based gaze estimation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(10): 2033-2046. DOI:10.1109/TPAMI.2014.2313123
[10]
AUNSRI N, RATTAROM S. Novel eye-based features for head pose-free gaze estimation with web camera: New model and low-cost device[J]. Ain Shams Engineering Journal, 2022, 13(5): 101731. DOI:10.1016/j.asej.2022.101731
[11]
闫秋女, 张伟伟. 基于多模态特征融合的驾驶员注视区域估计[J]. 计算机与数字工程, 2022, 50(10): 2217-2222.
YAN Q N, ZHANG W W. Estimation of driver's gaze area based on multi-modal feature fusion[J]. Computer and Digital Engineering, 2022, 50(10): 2217-2222. (in Chinese)
[12]
WANG Y F, YUAN G L, MI Z T, et al. Continuous driver's gaze zone estimation using RGB-D camera[J]. Sensors, 2019, 19(6): 1287. DOI:10.3390/s19061287
[13]
韩坤, 潘海为, 张伟, 等. 基于多模态医学图像的Alzheimer病分类方法[J]. 清华大学学报(自然科学版), 2020, 60(8): 664-671, 682.
HAN K, PAN H W, ZHANG W, et al. Alzheimer's disease classification method based on multi-modal medical images[J]. Journal of Tsinghua University (Science and Technology), 2020, 60(8): 664-671, 682. (in Chinese)
[14]
RIBEIRO R F, COSTA P D P. Driver gaze zone dataset with depth data[C]//14th International Conference on Automatic Face & Gesture Recognition. Lille, France: IEEE, 2019: 1-5.
[15]
GHOSH S, DHALL A, SHARMA G, et al. Speak2Label: Using domain knowledge for creating a large scale driver gaze zone estimation dataset[C]//IEEE/CVF International Conference on Computer Vision Workshops. Montreal, Canada: IEEE, 2021: 2896-2905.
[16]
SANDLER M, HOWARD A, ZHU M L, et al. MobileNetv2: Inverted residuals and linear bottlenecks[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA: IEEE, 2018: 4510-4520.
[17]
RANGESH A, ZHANG B W, TRIVEDI M M. Gaze preserving CycleGANs for eyeglass removal and persistent gaze estimation[J]. IEEE Transactions on Intelligent Vehicles, 2022, 7(2): 377-386. DOI:10.1109/TIV.2022.3144043
[18]
YANG Y R, LIU C S, CHANG F L, et al. Driver gaze zone estimation via head pose fusion assisted supervision and eye region weighted encoding[J]. IEEE Transactions on Consumer Electronics, 2021, 67(4): 275-284. DOI:10.1109/TCE.2021.3127006
[19]
KRAFKA K, KHOSLA A, KELLNHOFER P, et al. Eye tracking for everyone[C]//IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA: IEEE, 2016: 2176-2184.
[20]
ASSI L, CHAMSEDDINE F, IBRAHIM P, et al. A global assessment of eye health and quality of life: A systematic review of systematic reviews[J]. JAMA Ophthalmology, 2021, 139(5): 526-541.
[21]
ZHANG K P, ZHANG Z P, LI Z F, et al. Joint face detection and alignment using multitask cascaded convolutional networks[J]. IEEE Signal Processing Letters, 2016, 23(10): 1499-1503.
[22]
ZHU J Y, PARK T, ISOLA P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[C]//IEEE International Conference on Computer Vision. Venice, Italy: IEEE, 2017: 2242-2251.
[23]
NAN Y H, JU J G, HUA Q Y, et al. A-MobileNet: An approach of facial expression recognition[J]. Alexandria Engineering Journal, 2022, 61(6): 4435-4444.
[24]
HAN K, WANG Y H, TIAN Q, et al. GhostNet: More features from cheap operations[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle, USA: IEEE, 2020: 1577-1586.
[25]
WOO S, PARK J, LEE J Y, et al. CBAM: Convolutional block attention module[C]//15th European Conference on Computer Vision. Munich, Germany: Springer, 2018: 3-19.
[26]
HOWARD A, SANDLER M, CHEN B, et al. Searching for MobileNetV3[C]//IEEE/CVF International Conference on Computer Vision. Seoul, Republic of Korea: IEEE, 2019: 1314-1324.