1. 引言
头部姿势估计可以大致定义为对人体头部相对于相机的相对方向或位置的预测,主要预测偏航角(Yaw)、滚转角(Roll)和俯仰角(Pitch)。头部姿态估计已经成为计算机视觉领域的一个重要主题,在为不断增长的应用范围提供关键信息方面发挥着关键作用,包括人机交互、监控系统、虚拟现实、医疗保健。上述许多应用程序都遇到了一个共同的问题,即遮挡的存在导致头部姿态估计精度下降。遮挡由外部物体、面部配饰甚至身体部位引起,通常是不可避免的,并且在捕捉可靠的面部特征方面带来了重大困难,导致头部姿势估计不准确。而现有方法通常难以有效地处理遮挡,这导致现有方法在不受约束的实际环境中性能不可靠。此外,传统的卷积神经网络(Convolutional Neural Network, CNN) [1]在遮挡场景下存在缺陷,由于卷积操作是局部的,特征提取依赖于空间邻域内的像素信息,如果遮蔽导致关键区域特征无法提取,则CNN无法有效利用全局上下文信息来推断缺失部分。为了解决上述挑战,本文提出了一种基于潜在空间回归的头部姿态估计方法,能够解决头部遮挡的问题。该方法适用于低分辨率或高分辨率2D图像的问题,主要的贡献如下:
1) 模型使用Vision Transformer (ViT) [2]用于提取图像特征,解决了卷积神经网络无法有效利用全局上下文信息的弊端,结合特征金字塔网络(Feature Pyramid Network, FPN) [3]结构,通过自底向上和自顶向下的特征融合路径,生成从全局到局部细节的特征表示,提高了模型对不同场景面部特征的感知能力。
2) 设计潜在空间回归模块,将遮挡图像的潜在特征逼近于非遮挡图像的特征表示,增强模型对遮挡场景的适应能力。设计了多重损失函数,其中潜在空间回归损失通过计算遮挡和非遮挡图像在潜在空间中的误差来约束模型学习。
3) 使用公开的头部姿态数据集进行实验。与现有的基于CNN的同类模型相比,本文方法显著地提升了在遮挡场景下的头部姿态估计精度。
2. 相关工作
现有的头部姿态估计方法共有两类。第一类是面部关键点法,该方法是通过面部关键点进行头部位姿估计的方法。面部关键点包括人脸上具有显著特征的部位,如眼睛的内角和外角、眉毛的起点与终点、鼻尖、鼻翼、嘴角以及下颌轮廓等。通过在图像或视频中检测并跟踪这些关键点,可以提取人脸的空间结构信息,从而推导出头部的俯仰角、偏航角和滚转角以及位置信息。卷积神经网络一直占据头部姿态估计的主导地位,因为卷积可以有效地揭示人脸上的视觉模式。Ruiz等[4]以端到端的方式将CNN应用于头部姿态估计,通过使用多损失网络独立预测三个欧拉角。HyperFace等[5]提出了一种CNN架构,可同时执行人脸检测、地标定位、头部姿势估计和性别识别。MNN [6]提出了一种编码器–解码器CNN架构,用于头部姿势、面部特征点位置和能见度估计,它利用了野外地标注释数据的数量。这些方法的有效性依赖于人脸检测和关键点标记的高精度,计算复杂度和模型设计要求较高。在实际应用中,面部地标检测的准确性容易受到多种因素的干扰,包括光照变化、复杂背景、头部偏转以及遮挡等。这些干扰可能导致检测精度显著下降,甚至无法正确识别人脸特征点。
第二类是无面部关键点方法,该类方法通过面部图像和头部姿势标签之间的关系进行头部姿态估计。HopeNet [7]提出了一个多损失网络,通过联合分类和回归直接从图像中对欧拉角进行分箱。FSA-Net [8]引入了一种阶段回归和特征聚合方法,该方法采用特征图的空间信息来预测欧拉角。FDN [9]将每个欧拉角的判别特征解耦为三个相应的潜在可变子空间。QuanNet [10]旨在避免使用四元数而不是欧拉角的头部姿势的歧义以及序数损失。MFDNet [11]采用矩阵Fisher分布来减轻标准头部姿势表示的干扰和模糊性。Pan等[12]提出了一种新的自定进度范式,使深度判别模型能够提高头部姿态估计的性能。FASHE [13]使用单个正面参考图像来提取结构域块,并将其转换为目标图像中范围块的良好近似值。Image2pose [14]回归面部姿势生成边界框,以对齐3D面部,而无需进行特征点和面部检测。TokenHPE [15]提出了一种关键的少数关系感知方法,该方法使用Transformer架构来学习编码方向区域的多个方向标签,并学习人脸特征的区域相似性。上述无面部关键点方法虽能有效提高无遮挡场景下的精度,但在面部部分遮挡时模型精度会下降,无法消除遮蔽部分对头部姿态估计的影响。
3. 网络结构图
本文模型包括特征提取模块、特征增强模块以及潜在空间回归模块,网络结构图如图1所示。特征提取模块负责将原始图像的低维像素数据转化为高维特征表示。特征增强模块通过自顶向下的路径,生成金字塔结构,增强对局部细节和全局信息的建模,弥补特征提取模块中单一尺度特征的局限性。潜在空间回归模块是网络的输出端,首先通过连续角度分类,生成分类任务的中间表示,然后计算分类损失和回归损失,分别用于优化分类预测和细化连续角度,最后计算分类损失、回归损失及潜在空间损失生成头部姿态估计结果。
Figure 1. Network structure diagram
图1. 网络结构图
3.1. 特征提取模块
为了把输入图像转化为特征,同时在模型的参数量和性能之间取得平衡,采用ViT-L/16 [16]进行特征提取。特征提取阶段依据ViT的基本流程进行,假设输入RGB图像的大小为H × W × 3,其中H和W分别表示图像的高度和宽度,3表示RGB三个通道。图像被分割成多个patch。每个展平后的patch通过一个线性投影函数f转化为视觉特征。p表示patch,x是一个维度为c的向量,公式如下:
(1)
3.2. 特征增强模块
ViT提取到的特征为全局特征向量,为得到多尺度局部信息,增强模型对不同尺度面部特征的感知能力。通过特征转化将ViT输出的特征维度匹配到特征金字塔网络的设计中,整个结构主要由三个核心部分组成:自上而下网络、横向连接以及卷积融合。
自上而下网络通过上采样操作,将高层次的语义特征逐步传播到低层次特征图,以恢复空间分辨率并增强浅层特征的语义表达。
横向连接通过逐元素相加操作进行融合。每个层次的特征图在融合前通过1 × 1卷积进行通道调整,确保维度一致。使得FPN能够将高层次的语义信息与低层次的空间定位信息相结合。
卷积融合后的特征图,通过3 × 3卷积进行平滑处理,生成最终的多尺度特征图。3 × 3卷积引入局部的空间上下文信息,减少上采样带来的冗余信息。在FPN结束后,对特征进行平铺处理。
3.3. 潜在空间回归模块
将特征增强后输入到潜在空间,潜在空间如下图2所示,潜在空间将特征增强后的高维数据压缩成一组潜在向量表示。潜在空间模块通过回归损失,强制遮挡图像的潜在嵌入
与对应的非遮挡图像的潜在嵌入
在特征空间中接近,使模型能够学习被遮挡部分的面部特征信息,从而更准确地推断姿态。潜在嵌入通过两阶段训练得到,阶段1:在无遮挡图像上训练基础模型,提取无遮挡图像的潜在嵌入作为遮挡图像的参考,阶段1训练过程如下图3所示。阶段2:在遮挡图像上训练时,引入潜在空间回归损失,迫使遮挡图像的潜在嵌入向无遮挡图像的嵌入靠拢,同时结合分类损失和回归损失保持姿态估计的准确性,阶段2训练过程如图4所示。经过两阶段的训练使得模型能够从遮挡图像中提取与无遮挡图像相似的姿态语义特征,从而减少遮挡对预测的干扰。通过最小化潜在空间的误差,模型学习忽略遮挡噪声,专注于与姿态相关的关键特征,从而提升遮挡场景下的泛化能力。
之后扩展了三个额外的全连接层,这些层将用于输出每个欧拉角的预测结果。这三个全连接层的输出将是一个logits向量。向量中的每个角度表示为一个覆盖小范围角度,如
、
等区间。通过对每个姿势角度进行精确的区间划分和分类,来辅助模型更有效地预测每个头部姿势角度的大致范围或邻近程度。
全连接层的输出用于多损失方案中,该方案结合了分类和回归组件,以提供给定欧拉角的总体损失。对于分类任务,全连接层输出的n维向量应用Softmax激活函数。Softmax函数通过计算每个区间输出的指数并将其归一化为这些指数的总和,从而将logits转换为概率,使得激活后的向量中的所有概率相加为一。
(2)
其中
是i类的logit。回归部分被引入作为分类部分的补充,其核心目标是进一步细化模型的角度预测能力。分类部分负责提供一个粗略的区域定位,回归部分则负责在这个区域内实现更精细的数值估计。通过使用从Softmax激活获得的bin概率来计算给定角度的期望值,可以确定预测角度:
(3)
其中
是预测的以度为单位的角度,
是bin的宽度,N是用于分类的bin的个数,
是角度属于第i个bin的概率。偏移量将bin索引移动到相应的bin中心。
Figure 2. Diagram of the latent spatial structure
图2. 潜在空间结构图
Figure 3. Phase 1 training process
图3. 阶段1训练过程
Figure 4. Phase 2 training process
图4. 阶段2训练过程
3.4. 损失函数
分类损失通过计算角度分类预测值与真实标签的误差。对于D个角度的分类损失的具体计算公式为:
(4)
其中
和
分别是每个分类角度的真实值和logit分数的激活结果。回归损失是预测角度
和真实角度
之间的误差,对于N分类的预测,其回归损失如下:
(5)
为每个角度设计了三种独立的损失函数,每一种损失分别针对一个欧拉角的预测任务。这些损失函数的构成方式相同,均由分类损失和回归损失两部分组合而成。损失函数可以表示为:
(6)
(7)
(8)
其中
表示分类损失,通常采用交叉熵损失来衡量预测角度区间与真实区间的差异;
表示回归损失,采用均方误差来计算预测角度值与真实角度值之间的差距;
分别表示模型预测值和真实值。潜在空间回归损失是被遮挡图像
的预测潜在嵌入与非被遮挡图像
的实际嵌入之间的均方误差。因此,对于N个预测:
(9)
总体损失是角度损失(分类损失 + 回归损失)和潜在空间回归损失的总和,超参数
来处理它们之间的权重:
(10)
4. 实验结果
4.1. 数据集与评估指标
模型的训练以及测试过程均在同一台服务器上完成。该服务器硬件配置如下:中央处理器(CPU)为Intel (R) Core (TM) i5-8400@2.80 GHz;内存大小为64 GB;显卡为2张NVIDIA GeForce GTX 2080Ti,每张显卡的显存为12 GB。模型训练所需的超参数设置如下:训练的epoch设置为10。批大小(Batch Size)设置为16,总迭代次数为6250。使用Poly优化器优化模型的训练。初始学习率(Learning Rate)设置为0.01,并在训练过程逐渐降至0。动量(momentum)设置为0.9,权重衰减设为1e − 4。用300W_LP [16]作为训练样本,AFLW2000 [17]数据集为实验的测试样本。为了训练和测试遮挡场景下的模型,以上数据集都经过遮挡处理,图5为遮挡数据集图示。
欧拉角的平均绝对误差(Mean Absolute Error, MAE)作为模型性能的评价指标。若测试数据集图像的真实欧拉角为
,则
、
和
依次表示为头部的俯仰角、偏航角和滚转角。经过模型处理后的预测欧拉角为
。MAE可以定义为:
(11)
Figure 5. Illustration of the occlusion dataset
图5. 遮蔽数据集图示
4.2. 对比实验
表1呈现了本文方法在有遮挡的AFLW2000上与当前最新头部姿势估计方法的对比实验结果。实验结果表明,有遮挡的AFLW2000数据集上的表现与当前的先进方法相当,甚至在预测pitch角度方面展现出显著的优势,这一结果充分体现了其在复杂场景下的竞争力。
Table 1. Different methods of MAE on AFLW2000
表1. 不同方法在AFLW2000上的MAE
方法 |
Yaw |
Pitch |
Roll |
MAE |
HopeNet |
12.439 |
11.292 |
10.594 |
11.441 |
MNN |
7.196 |
14.967 |
7.889 |
10.017 |
FDN |
21.110 |
13.197 |
11.249 |
15.185 |
FSA-Net |
11.996 |
12.858 |
9.861 |
11.571 |
MFDNet |
10.788 |
11.667 |
11.322 |
11.259 |
TokenHPE |
9.874 |
11.223 |
9.212 |
10.103 |
本文方法 |
10.329 |
9.118 |
10.169 |
9.872 |
对于基于面部关键点的MNN方法,其在预测偏航角(yaw)和滚转角(roll)上的表现尤为突出,得益于其利用密集3D头部模型进行精确对齐的能力。然而,实验结果也显示,遮挡对MNN的俯仰角(pitch)预测产生了不利影响,导致整体精度有所下降。这是因为遮挡遮住了关键的面部特征点,使得模型无法完整地重建3D头部结构,从而在俯仰角预测上出现偏差。类似地,TokenHPE作为一个依赖面部局部关系的模型,在部分遮挡场景下也表现出俯仰角精度的下降。其基于Transformer的架构虽然能够捕捉全局特征,但在遮挡破坏局部面部信息时,模型对俯仰角的敏感性增加,预测结果的稳定性受到挑战。
相比之下,本文方法在遮挡的AFLW2000上展现了更优的性能。这种改进主要归功于其引入的潜在空间回归机制,该机制通过将遮挡图像的潜在表示与非遮挡图像对齐,有效提升了模型对遮挡条件的能力。
4.3. 消融实验
本文模型通过多任务损失函数进行优化,函数包含一个关键的超参数
,用于调节潜在空间回归的损失权重。为了确定超参数
的最佳取值,进行不同参数的消融实验。实验在添加了遮挡的300W_LP数据集上进行训练,并在经过遮挡处理的AFLW2000数据集上进行性能评估。表2展示了不同参数设置下的性能表现,详细记录了实验过程中的参数调整结果。
Table 2. MAE on AFLW2000 with different
表2. 不同
在AFLW2000上的MAE
值 |
Yaw |
Pitch |
Roll |
MAE |
0 |
10.439 |
10.292 |
11.994 |
10.908 |
0.2 |
11.196 |
9.967 |
9.889 |
10.350 |
0.4 |
10.510 |
10.197 |
9.949 |
10.218 |
0.6 |
10.996 |
9.858 |
9.961 |
10.271 |
0.8 |
10.588 |
9.367 |
10.222 |
10.059 |
0.9 |
10.329 |
9.118 |
10.169 |
9.872 |
1 |
10.567 |
8.993 |
9.459 |
9.673 |
在实验中,当完全忽略潜在空间回归,即
设置参数为0.2时,模型在处理被遮挡图像时的误差表现确实有所改善,表现出一定的鲁棒性。与此同时还可以注意到,随着
参数值的逐渐增大,模型在遮挡图像和非遮挡图像上的平均绝对误差均呈现出逐步降低的趋势,显示出潜在空间回归对整体性能的正向贡献。
潜在回归损失的引入显著增强了模型在遮挡场景下的泛化能力,使其能够更好地应对复杂遮挡条件下的姿态估计挑战,从而保证了模型在不同场景下的稳定性和可靠性。然而,实验结果也揭示了一些需要权衡的问题:当参数
取值为1时,虽然通过进一步验证发现,这一参数设置会导致对偏航角的估计性能显著下降,但偏航角作为头部姿态估计中变化最多样化且最具代表性的欧拉角,其准确性对整体姿态估计的性能至关重要,因此这一缺陷不可忽视。综合上述分析,经过多轮实验和对比,当
取值为0.9时,模型能够在MAE的整体表现和偏航角的预测准确性之间取得最佳平衡。这一参数设置不仅有效降低了遮挡和非遮挡场景下的平均误差,还在偏航角的预测上保持了较高的精确度,从而为头部姿态估计任务提供了一个较为理想的折中方案。同时也突显了潜在空间回归在提升模型鲁棒性和泛化能力方面的重要作用。
5. 结论
本文从解决特征提取和模型精度出发,设计了基于潜在空间回归的头部姿态估计模型。该模型共包括三个模块,分别为特征提取模块、特征增强模块和潜在空间回归模块。特征提取模块将原始图像的低维像素数据转化为高维特征表示,同时保留空间和语义信息。特征增强模块通过自底向上和自顶向下的路径,融合多尺度特征,生成金字塔结构,增强对局部细节和全局信息的建模,弥补特征提取模块中单一尺度特征的局限性。潜在空间回归模块是网络的输出端,负责将多尺度特征转化为具体的头部姿态预测值。该模块首先连续角度分类,生成分类任务的中间表示,通过计算分类损失和回归损失及潜在空间损失,生成头部姿态估计结果。通过对比实验表明,本文方法在经过遮挡处理的AFLW2000数据集上的结果优于当前方法,证明了本文方法的有效性。