
摘要
面部解析是指将人脸语义分割为眼睛、鼻子、头发等关键面部区域。它是各种高级应用(如人脸编辑、人脸交换和面部化妆)的前提条件,这些应用通常需要对眼镜、帽子、耳环和项链等类别进行分割掩码。这些出现频率较低的类别被称为长尾类别,而出现频率较高的类别则被称为头部类别。现有的方法,主要是基于卷积神经网络(CNN)的方法,在训练过程中往往受到头部类别的主导,导致长尾类别的表示效果不佳。以往的研究大多忽略了长尾类别分割性能较差的问题。为了应对这一问题,我们提出了SegFace,这是一种简单且高效的轻量级基于变压器的模型,该模型利用了可学习的类别特定标记。变压器解码器通过利用类别特定标记,使得每个标记能够专注于其对应的类别,从而实现对每个类别的独立建模。所提出的方法提高了长尾类别的性能,进而提升了整体性能。据我们所知,SegFace 是首个将变压器模型应用于面部解析的工作。此外,我们的方法可以适应低计算能力的边缘设备,在这些设备上实现了每秒95.96帧的速度。我们进行了广泛的实验,证明 SegFace 显著优于先前的最先进模型,在 CelebAMask-HQ 数据集上达到了平均 F1 分数 88.96(+2.82),在 LaPa 数据集上达到了 93.03(+0.65)。代码:https://github.com/Kartik-3004/SegFace
代码仓库
kartik-3004/segface
官方
pytorch
GitHub 中提及
kartik-3004/facexbench
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| face-parsing-on-celebamask-hq | SegFace | Mean F1: 89.22 |
| face-parsing-on-lapa | SegFace | Mean F1: 93.03 |