做电子商务平台网站需要多少钱,安徽有几家做网站,建设网页,vps lnmp wordpressauthor{Kartik Narayan and Vibashan VS and Vishal M. Patel}
原文链接#xff1a;[2412.08647] SegFace: Face Segmentation of Long-Tail Classes
摘要 人脸解析是指将人脸语义分割为眼睛、鼻子、头发等关键面部区域。它是各种高级应用程序的先决条件#xff0c;包括人脸…author{Kartik Narayan and Vibashan VS and Vishal M. Patel}
原文链接[2412.08647] SegFace: Face Segmentation of Long-Tail Classes
摘要 人脸解析是指将人脸语义分割为眼睛、鼻子、头发等关键面部区域。它是各种高级应用程序的先决条件包括人脸编辑、人脸交换和面部化妆这些应用程序通常需要对眼镜、帽子、耳环和项链等类别进行分割遮罩。这些不常出现的类称为长尾类而长尾类被称为头类的频繁出现的类所掩盖。现有的方法主要是基于CNN的在训练过程中倾向于由头部类支配导致长尾类的次优表示。以往的研究大多忽略了长尾类分割性能差的问题。为了解决这个问题我们提出了一种简单有效的SegFace方法它使用了一个轻量级的基于转换器的模型该模型利用了可学习的类特定令牌。Transformer解码器利用类特定的令牌允许每个令牌集中于其对应的类从而实现每个类的独立建模。所提出的方法改善了长尾类的性能从而提高了整体性能。据我们所知SegFace是第一个使用Transformer模型进行人脸解析的工作。此外我们的方法可适用于低计算边缘设备达到95.96 FPS。我们进行了大量的实验证明SegFace的性能显著优于之前的最先进模型在CelebAMask-HQ数据集和LaPa数据集上分别获得了88.962.82和93.030.65的平均F1分数。
一、介绍 人脸解析是一项语义分割任务涉及为人脸图像分配像素级标签以区分关键的面部区域例如眼睛鼻子头发和耳朵。不同面部区域的识别对于各种应用至关重要包括面部交换Xu等人2022面部编辑Lee等人2020 a面部生成ZhangRao和Agrawala 2023面部完成Li等人2017和面部化妆Wan等人2022。长尾类是那些在数据集中不经常出现的类。现有的人脸解析数据集Lee et al. 2020 a由这些长尾类组成这些长尾类大多是眼镜、项链、帽子和耳环等配饰因为并非所有的人脸都具有这些物品。我们不能期望在当前甚至未来的面部解析数据集中所有类别都有相同的表示因为某些面部属性如头发鼻子和眼睛自然比耳环和项链等配饰更常见。此外很难收集不太频繁出现的类的样本。此外用于人脸分割的详细注释特别是对于不太常见或较小的人脸特征是劳动密集型和昂贵的。 自从语义分割中的深度学习出现以来Long、Shelhamer和Darrell 2015许多研究都集中在解决人脸分割问题上。几项工作Guo et al. 2018; ZhouHuand Zhang 2015; Lin et al. 2021利用深度卷积神经网络的学习潜力来实现有前途的人脸分割性能。AGRNetTe et al. 2021介绍了一种自适应图表示方法该方法通过将每个组件表示为顶点并将每个顶点关联起来同时还将图像边缘作为优化解析结果的前提来学习和推理面部组件。类似地EAGRNetTe et al. 2020通过对非局部区域进行推理来扩展这种方法以捕获不同面部组件之间的全局依赖性。最近FaRLZheng et al. 2022 b探索了在大型图像-文本人脸数据集上进行预训练以提高下游任务的性能证明其预训练的权重优于基于ImageNet的权重Deng et al. 2009。DML-CSRZheng et al. 2022 a利用多任务模型进行人脸解析、边缘检测和类别边缘检测并结合动态双图卷积网络来解决空间不一致性和噪声标签的循环自我调节。最近的FP-LIIFSarkar et al. 2023利用了人脸的结构一致性使用了一个轻量级的局部隐式函数网络具有简单的卷积编码器-像素解码器架构以其小参数大小和高FPS而闻名使其成为低计算设备的理想选择。尽管取得了这些进步但大多数先前的工作都集中在特定的挑战上例如改善面部组件之间的相关性增强头发分割处理噪声标签以及优化推理速度。然而他们经常忽略长尾类性能的关键问题导致长尾类的结果不理想参见图1。 图1建议的SegFace利用了一个轻量级的Transformer解码器具有可学习的类特定令牌。每个类与令牌的关联使得每个类能够独立建模这提高了长尾类的分割性能而长尾类在现有方法中通常表现不佳。蓝线表示从CelebAMask-HQ训练集中随机选择的图像中存在类的概率。SegFace显著提升了长尾类的分割性能7.921.2从而在人脸解析性能方面建立了新的最先进水平。 为了克服这个问题我们提出了SegFace这是一种系统的方法可以提高长尾类的分割性能。这些类别在数据集中通常代表性不足通常包括耳环和项链等配饰而头部类别更常见包括面部和头发等区域。在面部图像中像眼睛、嘴巴和配饰长尾类这样的区域自然小于整体面部和头发区域头部类。仅使用模型的最终单尺度特征进行面部分割可能会导致细节丢失因为面部特征出现在不同的尺度上。我们的方法利用Swin Transformer主干来提取多个尺度的特征有助于减轻不同人脸区域之间的尺度差异。多尺度特征提取可以有效地捕捉细节和更大的结构帮助模型捕捉面部的全局背景。我们使用MLP融合多尺度特征以获得融合特征然后将其输入到SegFace解码器。轻量级的Transformer解码器利用可学习的类特定标记每个标记与特定的类相关联。我们采用融合的功能和可学习的令牌之间的交叉注意使每个令牌提取类特定的信息融合的功能。这种设计允许令牌专门关注其相应的类促进所有类的独立建模并缓解训练期间主导头部类掩盖长尾类的问题。
我们的工作的主要贡献如下
·我们引入了一个轻量级的Transformer解码器具有可学习的类特定令牌确保每个令牌专用于特定的类从而实现类的独立建模。该设计有效地解决了现有方法中普遍存在的长尾类分割性能差的挑战。
·我们的多尺度特征提取和MLP融合策略结合利用可学习的类特定令牌的Transformer解码器减轻了训练期间头类的主导地位并增强了长尾类的特征表示。
·SegFace在LaPa数据集平均F1得分为93.03和CelebAMask-HQ数据集平均F1得分为88.96上建立了最先进的性能。此外我们的模型可以通过简单地交换与MobileNetV 3骨干的骨干快速推理。移动的版本在CelebAMask-HQ数据集上的平均F1得分为87.91FPS为95.96。
二、相关工作
2.1面部解析 早期的人脸解析方法采用了诸如范例Smith et al. 2013概率索引图Scheffler and Odobez 2011Gabor滤波器Hernanal-Matamoros et al. 2015和低秩分解Guo and Qi 2015等技术。自从深度学习兴起以来已经提出了许多基于深度卷积网络的方法用于人脸分割Warrell和Prince 2009; KhanMauro和Leonardi 2015; Liang et al. 2015; Lin et al. 2019; Liu et al. 2017。最近AGRNetTe et al. 2021和EAGRNetTe et al. 2020提出了基于图形表示的方法这些方法将不同的面部组件关联起来并利用边缘信息进行解析。DML-CSRZheng et al. 2022 a探索了多任务学习并引入了动态双图卷积网络来解决空间不一致性和循环自我调节问题以解决噪声标签的存在。基于局部的方法与我们的工作最相似旨在通过为不同的面部区域训练单独的模型来单独预测每个面部部分。(LuoWang和Tang 2012利用分层方法分别解析每个组件而ZhouHu和Zhang 2015建议使用多个CNN这些CNN以不同的尺度获取输入通过有效整合本地和上下文信息的互连层融合它们。然而现有的基于本地的方法未能受益于共享骨干网和联合优化导致次优性能。SegFace通过使用可学习的类特定令牌独立地建模所有类来解决这个问题同时仍然受益于从共享骨干中提取的多尺度融合特征。
2.2Transformers 基于变换器的模型如ViTDosovitskiy et al. 2020和DETRCarion et al. 2020通过利用注意力机制来捕获图像中的长期依赖性和全局上下文已经证明了它们在分割任务中的有效性。SegformerXie et al. 2021和SETRZheng et al. 2021是值得注意的工作它们表明transformer在一般分割任务中的表现优于传统的CNN。然而变压器在人脸分割中的应用仍然相对欠探索尽管他们的潜在优势。面部分割提出了独特的挑战例如需要精确的边界检测和对面部特征细微变化的敏感性而传统CNN已经有效地解决了这些问题。然而最近基于transformer的分割网络如Mask2FormerChengSchwing和Kirillov 2022和SAMKirillov et al. 2023在捕获全局和细粒度上下文方面显示出有希望的结果从而实现更准确的分割。这些模型利用了自注意和交叉注意机制这些机制可以被视为计算所有输入的加权平均值的非局部均值运算。因此每个类别的输入都是独立计算和平均的允许模型选择性地关注相关特征而不受空间限制。这导致了一个更丰富的上下文化的表示这可以显着有利于长尾视觉关系的理解。
三、 Proposed Work 图二所提出的架构SegFace通过基于transformer的方法增强长尾类的性能解决了人脸分割问题。具体而言多尺度特征首先从图像编码器中提取然后使用MLP融合模块进行融合以形成人脸令牌。这些标记沿着类特定标记经历自我注意、脸对标记和标记对脸交叉注意操作精炼类和脸标记以增强类特定特征。最后将放大的面部标记和学习的类标记相结合以产生每个面部区域的分割图。 人脸由不同的区域组成包括鼻子、眼睛、嘴巴以及耳环和项链等配饰。在人脸分割中这些区域被视为不同的类别其在规模和出现频率上有所不同。诸如头发和鼻子之类的类自然地更频繁地出现在面部图像中并且被称为头部类。相比之下可能不存在于每个人脸图像中的附件被称为长尾类并且在人脸分割数据集中代表性不足。我们计算数据集中每个类的频率并确定类出现在CelebAMask-HQ数据集的人脸图像中的概率。如图1所示头类出现在图像中的概率约为1.0而长尾类的概率为0.26和0.05。在分析当前的人脸分割方法时我们观察到它们在长尾类上的表现往往很差。我们的目标是提高长尾类的分割性能从而提高整体人脸分割性能。 给定一批人脸图像I ∈ RB×H×W×3由N个类别组成其中B是批量大小而H和W分别表示图像的高度和宽度。SegFace提取多尺度特征G {Gi| 1 ≤ i ≤ 4}从图像编码器Eθ的中间层。然后使用MLP融合模块f * 融合这些特征以获得面部标记F。脸部标记连同它们对应的位置编码沿着和可学习的类特定标记T {Ti| 1 ≤ i ≤ N}由轻量级SegFace解码器g通过自注意和交叉注意操作进行处理从而产生学习的类标记F T和更新的面部标记F′。更新的面部标记然后使用放大模块hα被放大并且在标记已经通过MLP之后与学习的类标记WST逐元素相乘以获得最终分割图S {Si| 1 ≤ i ≤ N}其中Si ∈ RB×1×H×W表示每个类别的分割图。整个过程如下 这里Si是第i类的输出分割图。我们利用这些分割图来计算损失。我们使用交叉熵损失沿着和骰子损失来训练完整的流水线如图2所示。最终损失函数可以给出为 3.1多尺度特征提取 我们进行多尺度特征提取以解决不同的人脸区域之间的规模差异的问题。这种方法有效地捕捉了精细的细节和较大的结构有助于获得面部的全面全局背景并更好地处理面部组件的不同大小和形状。从图像编码器Eθ中提取多尺度特征。设输入图像的批次为I ∈ RB×H×W×3其中B是批次大小H和W是图像的高度和宽度。编码器从多个层中提取特征 这里Gi表示从编码器的第i层提取的特征图Ci是第i个特征图中的通道的数量Hi和Wi分别表示第i个特征图的高度和宽度。从编码器中提取的分层特征有助于捕获粗粒度到细粒度的表示使其适用于分割较小的类这些类通常是长尾类。
3.2 MLP融合
我们使用MLP融合模块fθ执行多尺度特征聚合以获得将被传递到SegFace解码器的面部令牌。在该模块中多尺度特征G {Gi| 1 ≤ i ≤ 4}由单独的MLP处理每个MLP对应于不同的尺度以使通道尺寸对于融合一致。每个MLP将其对应的Gi变换为具有均匀通道数C′的特征映射G′ i如下G′ i MLPiGi其中G′ i ∈ RB×C′×Hi×Wi。然后使用双线性插值对所得到的特征图G′ i进行上采样以匹配第一特征图G′ 1的空间分辨率表示为G′ i InterpG′ i其中G′ i ∈ RB×C′×H1×W1H1 ∈ {1234}。这些上采样的多尺度特征G i沿通道维度沿着连接以形成统一的特征图。最后这个连接的特征映射通过单个卷积层将信道维度降低到C′。 该融合特征图F表示最终的多尺度面部标记其作为SegFace解码器的输入给出。
3.3 SegFace解码器 SegFace解码器旨在独立地对每个类进行建模同时使用可学习的类特定令牌实现它们之间的交互。设T Ti ∈ R1×D| 1 ≤ i ≤ N表示这些标记其中N是类的数量D是嵌入维数这里D 256。这些标记附加有位置编码并对应于各种面部组件例如背景面部眼睛鼻子和其他特征。解码器包括三个主要组件1类-标记自注意2类-标记到面部-标记交叉注意以及3面部-标记到类-标记交叉注意。通过Transformer解码器中的自注意和交叉注意操作引导令牌关注特定于类的特征并促进不同面部区域之间的交互。
类令牌自我注意力该组件通过允许每个类别令牌Ti关注所有其他类别令牌来促进面部的不同区域之间的交互。对于每个类令牌Ti操作被定义为 其中SelfAttention表示多头自注意操作Q、K和V分别表示查询、键和值。每个类令牌对应于一个特定的类SelfAttention操作使模型能够学习不同面部区域的结构和位置之间的相关性。
类令牌到面部令牌的交叉自注意在该组件中每个类令牌T′ i关注融合的面部令牌F便于提取类特定信息并实现类的独立建模。更新后的类令牌RNTTi计算如下 其中CrossAttention表示交叉注意操作。这种机制确保了长尾类在训练过程中不会被掩盖因为每个类都与一个令牌相关联该令牌提取专门用于分割长尾类的相关特征。
面令牌到类令牌交叉注意在这个组件中融合的面部标记会返回到学习的类标记用类特定信息来细化面部表示。精细化的面部标记F 计算如下 该组件通过调整特征提取和融合模块的训练来指导它们以确保提取的特征富含特定于类的信息。
3.4 Output Head
输出头的作用是从学习的类特定标记和更新的面部标记生成最终的分割图。使用包括转置卷积操作的小网络hα来放大面部令牌F′。放大增加了面部标记的分辨率以匹配原始图像大小。形式上这可以定义为U hαF′其中U ∈ RB×C′×H×W是放大后的人脸标记嵌入C′是放大后的降低的嵌入维数。最后学习到的类特定令牌是|1 ≤ i ≤ N}通过MLP然后与放大的面部标记逐元素相乘以产生最终的分割图 其中⊙表示逐元素相乘Si ∈ RB×1×H×W表示第i个类的分割图。最后的输出是一组分割图S {Si| 1 ≤ i ≤ N}其中每个Si对应于特定的面部分量有效地将输入面部图像分割成其相应的区域。 四、实验
我们通过改变主干SwinSwin V2ResNet 101MobileNetV 3EfficientNet和输入分辨率6496128192224256448512来训练SegFace。这些模型使用AdamW优化器优化了300个epoch初始学习率为1 e −4权重衰减为1 e −5。我们采用了gamma值为0.1的步长LR调度器这将学习速率在epoch 80和200处降低了0.1倍。在LaPa和CelebAMask-HQ数据集上使用32个批次大小进行训练在Helen数据集上使用16个批次大小。我们没有对CelebAMask-HQ和Helen数据集进行任何增强。对于LaPa数据集我们应用了随机旋转[-3030]随机缩放[0.53]和随机平移[-20px20 px]沿着RoI tanh扭曲Lin et al. 2019以确保网络专注于面部区域。对于骰子损失和交叉熵损失λ1和λ2值分别设定为0.5。我们的方法使用类的F1得分平均F1得分和平均IoU与其他基线进行了评估所有指标都排除了背景类。 图3定性比较突出了我们的方法SegFace与DML-CSR相比的上级性能。在a中SegFace有效地分割了耳环和项链等长尾类以及头发和脖子等头部类。在B中它在涉及多个面部、类似人类的特征、光线不足和遮挡的具有挑战性的场景中也表现出色其中DML-CSR很难做到。
定性结果我们在图3中说明了我们提出的方法与其他基线的定性比较。从图3a[列123]中我们验证了SegFace能够分割长尾类如耳环和项链与现有的最先进的方法DML-CSR相比要好得多。这证明了所提出的Transformer解码器与可学习的特定于任务的查询的有效性。它通过将每个标记与特定的类相关联实现了对所有类的独立建模。在这种设计中令牌可以专门关注该类并学习利用融合的特征进行分割。此外从图3a[第45列]中我们观察到所提出的方法在头发和颈部等头部类别上也表现得更好。如图3B[列12]所示LaPa数据集上的结果表明在附近存在多个人脸或类似人类的特征的情况下DML-CSR难以进行人脸分割。我们通过结合RoI Tanh WarpingLin et al. 2019来缓解这个问题以确保模型在执行分割时专注于面部区域。从图3B[第3、4列]可以看出DML-CSR在具有挑战性的光照条件下表现不佳而在图3B[第5列]中它与遮挡作斗争。SegFace的性能优于DML-CSR即使在这些复杂的场景中也能够准确地分割面部区域。 图4a特定于类的标记分割了它们对应的类展示了每个类的独立建模。(b)噪声地面实况与SegFace预测的比较