RoI Tanh-polar Transformer Network for Face Parsing in the Wild野外人脸解析的RoI(感兴趣区域) Tanh-polar Transf

本文主要是介绍RoI Tanh-polar Transformer Network for Face Parsing in the Wild野外人脸解析的RoI(感兴趣区域) Tanh-polar Transf,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RoI Tanh-polar Transformer Network for Face Parsing in the Wild

野外人脸解析的RoI(感兴趣区域) Tanh-polar Transformer网络

摘要

人脸解析人脸解析的目的是预测图像中目标人脸的面部成分的像素级标签,现有的方法通常根据预处理(人脸检测模型:MTCNN (TensorFlow)SSD Face (Caffe)获得人脸的矩形框后,然后就要做人脸对齐(Face Alignment),因为原始图片中,人脸的姿态、位置可能有较大区别,为了统一处理,要把人脸“摆正”。“摆正”的方法,其实就是先找到人脸的关键点,比如眼睛、鼻子、嘴巴、脸轮廓等。根据这些关键点,使用仿射变换将人脸统一标准,尽量消除姿势不同带来的误差,比如图像金字塔:pyramid。)过程中计算出的边界框从输入图像中裁剪目标面,过程中计算出的边界框从输入图像中裁剪目标面孔,因此只能解析内部面部的感兴趣区域(RoIs)。像头发这样的外围区域被忽略了,部分包含在边界框中的附近的面孔可能会引起干扰。此外,这些方法只在近正面的肖像图像上进行训练和评估,因此它们在野外情况下的表现尚未被探索。为了解决这些问题,我们引入了用于野外人脸解析的iBugMask数据集,它由21,866张训练图像和1,000张测试图像组成。训练图像是通过增强现有的面部数据集来获得的。测试图像被手动标注了11个面部区域,在大小、姿势、表情和背景上有很大的变化。其次,提出了RoI polar transform,在目标边界框的引导下,将整个图像扭曲成面部面积与上下文之间的固定比例的Tanh-polar 表示。新的表示方法包含了原始图像中的所有信息,并允许在卷积神经网络(CNNs)中进行旋转等方差。第三,我们提出了一个混合残差表示学习块,称为混合块,它包含Tanh-polar空间和坦-笛卡尔空间的卷积层,允许在cnn中使用不同形状的接受域。通过大量的实验,我们表明,所提出的方法改进了最先进的面部解析在野外,并不需要面部地标对齐。

引言

人脸解析

语义图像分割是一项基本的人脸分析任务:它预测目标人脸的每像素语义标签。它为许多下游应用提供了有用的功能,如人脸识别[1,2]、人脸美化[3]、人脸交换[4,5]、人脸合成[6,7,8,9,10]、面部属性识别[11,12,13]和面部医学分析[14]。近年来,基于深度卷积神经网络(CNNs)的方法,特别是全卷积网络(FCNs)[15],在这一任务上取得了令人印象深刻的效果。

 

有两个独特的方面区分了人脸解析和一般的图像解析。第一个是面部解析可以做到不解析整个图像,而只解析由边界框指定的目标人脸,而图像解析预测图像中每个像素的一个标签。

预处理部分:

如何用边界框对输入进行预处理仍然是一个未被充分探索的问题。有两种方法

大多数方法以固定的边缘[23,24]裁剪面,并将裁剪后的斑块调整到相同的尺寸,我们称之为裁剪和调整面部面积的大小。存在的缺陷:这种方法忽略了头发,因为头发区域周围的边缘很难确定。如果选择的边缘太小,头发区域将被切断。如果它太大,裁剪后的补丁中可能会包含太多的背景像素和/或附近的面孔,从而对模型造成严重的干扰。

ps:图像金字塔的好处:原始图片中,人脸可能存在不同的尺寸,有的脸大,有的脸小。对于脸小的,可以在放大后的图片上检测,对于脸大的,可以在缩小后的图片上检测,这样就可以在统一的尺寸下检测人脸了。

另一种预处理方法是使用面部landmark进行人脸对齐[16](人脸对齐任务即根据输入的人脸图像,自动定位出面部关键特征点,如眼睛、鼻尖、嘴角点、眉毛以及人脸各部件轮廓点等),从而使人脸被适当地旋转。我们将这种方法称为对齐法。这些地标可以与面边界框[25]共同获得。主要的问题是,必须仔细地选择一个好的模板来进行对齐。存在的缺陷:在野外拍摄的图像是在现有的基准测试中,代表性不足。四个最广泛使用的面部解析数据集是Helen[26],LFWPL[27],Celebamask-HQ[28]和LaPa[29]。

 

图2显示了来自这些数据集的示例图像,并且第3节对它们进行了详细的比较。海伦和拉帕的大多数照片都是肖像,这意味着在中心附近只有一张正面的大脸。Celebϟ-HQ包含由CelebA[30]使用超分辨率合成的图像。所有的脸都用landmark来命名,并调整到相同的大小。因此,所得到的图像只包含很少的上下文信息。类似地,LFW-pl是LFW[31]的一个子集,这些人脸使用地标进行对齐。因此,模型在野外条件下的表现仍未被探索。

为了解决第一个挑战,我们提出了RoITanhpolal变换(rt-变换),它将整个图像在基于目标边界盒的坦极坐标系中转换为固定大小的表示。图6说明了转换过程。作为一个完全可逆的变换,它保留了所有的上下文信息。此外,不管输入图像中的实际大小,

 

在转换后的表示中,人脸与背景之间的比例仍然固定在76%:24%。在坦极坐标系中,平面卷积对应于旋转中的群卷积[32]。因此,应用于大极性空间的卷积神经网络(CNNs)将产生一种与原始笛卡尔空间(二维坐标和三位坐标)中的旋转等变的表示,

我们进一步引入了混合残差表示学习块(混合块)resnet,它使用rtframsformer在残差块中创建混合表示。一个混合块由两个3×3卷积层组成,一个在坦-极坐标系中,另一个在坦-笛卡尔坐标系中。它们在不同形状的感受野感受野

上工作,它们的输出被连接在坦极系统中,以获得混合表示。通过堆叠混合块,我们得到了HybridNet,一个主干网络,以rt变换和目标边界框转换的图像作为输入,并输出一个用于人脸解析的混合表示。然后,我们添加了普通的FCN解码器和反rt变换。所得到的框架称为RoI坦极变压器网络(RTNet),如图1所示。

 

为了解决缺乏合适的基准测试的第二个挑战,我们提供了包含22,866张野外图像的iBugMask数据集。对于21,866张图像的训练集,我们使用人脸分析方法[33]将Helen数据集中的图像旋转,创建许多大姿态和配置文件面。对于1000张测试图像,提供了包括头发在内的11个区域的每像素手动注释。经过处理的图像在姿态、表达式、大小和背景杂乱方面有很大的变化(见图2)。大量的实验表明,iBugMask数据集比其他基准测试更具挑战性,在iBugMask上训练的模型在数据集内和跨数据集评估下都提高了性能。

我们提出了用于野外面解析的RoI Tanh-polar Transform,基于边界框将目标面转换为坦极坐标系,保留上下文,允许cnn学习与旋转等变的表示。

•我们提出了混合残差表示学习块,它通过在坦-极坐标和坦-笛卡尔坐标中应用卷积来提取混合表示。

•我们提供了iBugMask数据集,这是一个新颖的野外人脸解析基准测试,由超过2.2万张图像组成。

•我们进行了广泛的实验,并表明整个框架RTNet改进了所有基准测试的最新状态。

相关工作

在这一节当中主要说了相关的四组工作:

即1)人脸解析基准,2)人脸解析方法,3)场景解析工作和4)极空间中的表示学习。

2.1.公开可用的面解析基准

测试的面解析基准测试相对稀缺,这主要是因为像素级注释需要大量的工作。目前,两个最广泛使用的基准测试是LFW-PL[27]和Helen[26]。Helen数据集[34,26]包括2330张面部图像和194个地标注释,这是通过亚马逊机械卡车获得的。在这个数据集中,内部面部成分包括眼睛、眉毛、鼻子、内嘴和上/下唇,由人类手动标注,而其他面部部分,即面部皮肤和头发,是通过图像匹配算法[26],可能不完全准确。尽管有这些缺点,Helen仍然是唯一一个具有可接受的训练数据集,因此它是评估人脸解析方法[16,24,35]的流行选择。LFW-PL数据集[27]由2,972张从野生标记面部(LFW)数据集[31]中选择的面部图像组成。为了获得密集的注释,首先将每个面部图像自动分割成超像素,这些超像素随后被标记为以下类别之一:面部皮肤、头发和背景。最近,发布了两个大规模的人脸解析数据集,分别是名人数据库-HQ[28]和LaPa[29]。虽然标注样本的数量大大增加,但这两个数据集中包含的面部图像并不是严格的野外图像,因为它们已经以不可恢复的方式进行了预处理。在Celebamask-HQ中,通过超分辨率技术[36]有意地放大了面部图像的分辨率,而大多数面孔被对齐为正面和集中。此外,背景区域通常只占整个面部图像的一小部分,即大部分环境信息已被丢弃。在Lapa数据集中也可以发现类似的情况,其中面也被裁剪,并与保存的有限背景信息对齐。

与这些数据集相比,我们提出的iBugMask数据集是唯一一个由完全在野外的图像组成的人脸解析基准。面部样本既没有裁剪也没有对齐,我们还保留了几乎所有的背景信息。它涵盖了姿态、照明、遮挡和场景的很大变化。iBugMask数据集和现有基准测试之间的详细比较。

2.2.面部分析方法

人脸解析是对给定的人脸图像进行像素明智标记的任务。在早期的工作中,[37,26]在人脸解析方面通常利用了整体先验和手工制作的功能。Warrell等人的[37]用条件随机场(CRFs)模拟了面部部位的空间相关性。Smith等人[26]应用SIFT特征在面部部位选择样本,并传播这些样本的标签,生成完整的分割图。在[27]中提出了一种混合方法,它将CRFs和限制性玻尔兹曼机的强度结合在一个单一的框架中,来建模全局和局部的面部结构。利用基于工程的特性的想法也可以在其他作品[38,39,40]中看到。这些方法通常是耗时的,并且不能很好地推广到不同的场景,因此它们已经逐渐被基于深度学习的方法所取代,其性能令人鼓舞。最先进的人脸解析性能主要是通过深度学习方法来实现的。Liu等人[18]将cnn纳入CRFs,并提出了一种多目标学习方法来联合建模像素级可能性和标签依赖关系。在[41]中有一个相互关联的CNN来检测不同的面部部位,而这种结构不能为面部皮肤等大规模成分生成语义标签。Luo等[17]应用多个深度信念网络对面部部位进行检测,并建立了层次人脸解析框架。Jackson等人[21]使用面部地标作为形状约束来指导全卷积网络(FCNs)进行面部解析。[42]的作者集成了CRFs、循环神经网络(RNNs)和生成对抗网络(GAN)等多种深度方法,建立了一个端到端可训练的人脸解析模型,而面脸地标也作为分割预测的形状约束。利用形状先验来规则化分割掩模的想法也可以在形状约束网络(硫氰酸盐)[43]的眼睛分割中找到。在[24]中,一个空间递归的facemask在[46]中,引入了一种基于强化学习的关键调度器来选择在线关键帧进行视频人脸分割,从而使整体效率得到全局优化。这些方法中的大多数假设都是目标面已经被裁剪出来,并且对齐良好。此外,由于种植头发区域的边缘不可预测,他们经常忽略了头发类别。与我们的论文最相关的工作是RoITanh扭曲[16],它提出使用Tanh函数扭曲整个图像。然而,在这项工作中也有几个局限性。翘曲操作不仅需要面部边界框,还需要面部地标,这可能过于冗余。此外,扭曲的图像仍然在笛卡尔空间中,不能受益于极空间中的旋转等变特性。此外,采用多个子网络分别学习面部内部和毛发的形状,这些子网络需要用不同的损失函数进行训练,使得管道变得简单。

2.3场景解析

场景解析是将一幅图像分割成与语义场景标签相关联的不同图像区域,如道路、行人、汽车等。全卷积网络(FCNs)[15]是将深度学习技术应用于这一领域的第一个关键里程碑。通过用卷积层替换全连接的层,FCNs成功地采用了经典的CNN分类模型,如VGG-16[47]或ResNet[48]来解决场景解析任务。遵循FCNs[15],a各种各样的场景解析方法已经被开发出来,包括应用扩张(无性)卷积[49,50,51,52],编码器和解码器结构[53,54,55],空间金字塔结构[56,54,57]注意机制[58,59,60]的参与,利用神经结构搜索(NAS)技术[61,62]等。PSPNet[56]提出了一种空间金字塔池模块,该模块采用一套不同大小的空间池操作来增加网络接受域的多样性。SPNet[57]通过引入条带池模块来扩展条带池模块来捕获远程带状上下文。Deeplab家族[51,54]设计了一个空间空间金字塔池(ASPP)模块,该模块由三个平行的扩张卷积层组成,以捕获多尺度上下文。UNet[63]在编码器和解码器子网络之间引入了跳过连接,以保持低级的细节,而高分辨率特征的细节在HRNet[64]中通过分支主干网络来保持。BiSeNet[65]提出了一个由一个上下文分支和一个空间分支组成的双边网络。这种双分支架构允许BiSeNet以令人满意的效率运行,同时达到最先进的性能。读者可以参考[66]来获得更详细的场景解析技术的回顾。

2.4极性表示学习

与笛卡尔坐标系相比,极性空间或对数极性空间对旋转和缩放等某些变换不敏感,因此极性表示在图像处理和计算机视觉中得到了广泛的研究。极性转换的早期应用包括人脸检测[67]、人脸跟踪[68]、人脸识别[69]、手工制作的描述符[70,71]的聚合等。

近年来,如何将极性表示与深度CNN模型集成起来已经得到了越来越多的探索。传统的CNN架构可能对平移不敏感,即平移等价,但对于其他转换,如旋转和缩放,却不是这样。另一方面,在极性空间中的表示学习可以通过其对旋转和尺度的等方差来有效地克服这些限制。极性变压器网络(PTN)[72]是首次尝试构建CNN模型的尝试之一,该模型将基于精度的图像映射到极坐标,以更好地容忍旋转和扩张等转换。在PTN中,一个由几个1×1卷积层组成的浅层网络首先扫描整个图像,以预测一个极性起源。这个预测的原点和输入图像一起被输入可微极反式前模块在对极系统中生成图像表示。所得到的极性表示相对于原始对象的位置是不变的,而旋转和扩张现在是移位的,这是由传统的分类器CNN等变量处理的。Ebel等人[73]利用PTN提取基于极性的局部描述符以进行关键点匹配,从而获得更鲁棒的性能。与这些作品不同的是,我们的感兴趣坦极变压器网络将整个图像扭曲成坦极表示,可以通过感兴趣区域的过采样和其他区域的过采样来强调兴趣区域(RoI)。

3.1.现有基准测试的概述

HQ[28]包含了3万张来自名人群数据集[30]的合成人脸。所有的图像都被缩放到512×512,面孔使用面部地标在中心良好地对齐。背景信息会被删除或模糊。19个面部类别被标记为:背景、皮肤、左右眉毛、左眼/右眼、上/下唇、左/右耳、鼻子、内嘴、头发、帽子、眼镜、耳环、项链、脖子和布。数据集分为24183张图像用于训练,2993张图像用于验证,2824张图像用于测试。

LFW-PL[27]包含2927张分辨率为250×250的图像,人面在中心对齐。面部和头发区域使用基于超像素的方法进行注释,从而导致不准确的标签。数据集被分为1500张图像用于训练,500张图像用于验证,927张图像用于测试。

Helen[26]是最流行的人脸解析基准,它包含2330张真实世界的图像上下文信息11个语义标签被标注:背景、皮肤、左右眉毛、左眼/右眼、上/下唇、内口、鼻子和头发。如[16]所述,训练集中的面部皮肤和头发类存在显著的注释错误,因为这些标签是使用图像匹配自动生成的。Helen的作者只清洗了测试集,以保证在测试集中的公平比较。Helen数据集被分为2000张图像用于训练,230张图像用于验证,100张图像用于测试。

LaPa[29]是一个人脸解析数据集,包含超过22,176张面部图像,在表情、姿态和遮挡方面的变化相对较多。与Helen相同的11个语义类进行注释,注释过程由10个6点面部地标引导。该数据集被分为18,176张图像用于训练,2,000张图像用于验证,以及2,000张图像用于测试。这些脸包含了一些姿势和遮挡的变化,但背景和头发区域大部分被删除了,因为这些脸是用手工裁剪的边缘。上下文信息11个语义标签被标注:背景、皮肤、左右眉毛、左眼/右眼、上/下唇、内口、鼻子和头发。

作者所提出的iBugMask由两部分组成:一个通过姿态增强获得的训练集和一个手动管理的测试集。训练集包含21,866张图像,而测试集包含1,000张图像。

3.2.1.一个大姿态的增强训练集

为了让机器学习模型学习解析头部姿态变化较大的人脸,训练集需要包含一个在姿态上的平衡分布。然而,现有的数据集包含的绝对偏航角小于45度。这意味着在这些数据集上训练的模型不能处理具有极端姿势的面孔。我们建议通过综合具有大姿态的训练人脸来解决这个问题。首先,我们检查了训练集Helen,并像在[16]中那样手动纠正了标记错误。接下来,我们使用一种人脸分析方法[33]来增强数据,该方法已用于增强人脸对齐数据集。该方法的一个主要优点是,它为内部和外部面部区域创建三维网格,保留不可预测的头发区域以及用于面部解析的重要上下文信息。通过面部轮廓分析,我们将海伦的训练集扩大到一个大规模的训练集,其中许多面孔的头部姿势有很大的变化。

 

第一列显示原始图像,其他三列显示不同∆偏航的合成图像,直到偏航=90◦。

利用拟合的三维模型,我们在5◦的步长下逐渐放大图像的偏航角到90◦。考虑到合成人脸的保真度与∆偏航呈负相关,我们以0.8∆偏航/5◦的概率重新采样每个人脸的增强图像。在表1中,我们将我们的训练集与其他训练集进行了比较,并发现我们的训练集在姿势、面部表情和背景方面包含了更多的变化。

 

在我们iBugMask的增强训练集上训练的所有模型都比在其他数据集上训练的其他模型有改进。

3.2.2.一个手动策划的测试集

在疯狂的图像中,人脸可以出现在图像中的任何位置,并在图像周围提供各种分散注意力的上下文信息。在现有的基准测试中,目标面孔由数据提供者裁剪和集中,在很大程度上去除背景、部分头发和其他面孔。这引入了偏差,对预处理图像的评估方法并不能诚实地揭示它们对干扰上下文噪声的鲁棒性。为了公平地评估野生条件下的人脸解析模型,我们提供了iBugMask数据集,该数据集包含1000张具有挑战性的人脸图像和11个语义类的人工标记标签:背景、面部皮肤、左右眉毛、左眼/右眼、鼻子、上/下唇、内嘴和头发。这些图像是由具有挑战性的野外人脸对齐数据集精心策划的,包括300W的[74]和Menpo[75]。与现有的人脸解析数据集相比,iBugMask包含了“聚会”和“会议”等野外场景,其中包括更具挑战性的外观变化或多个人脸。有更多的轮廓面。除了“中性”和“微笑”之外,还有更多的表达也包括在内(例如,“惊喜”和“尖叫”)。示例可以在图2的最右边的一列中找到。表2比较了不同基准测试的特征。我们使用3DDFA[33]来估计由FAN[76]获得的面部地标的偏航角。我们使用Want等人[77]提出的面部表情分类器来估计面部表情。图5显示了基准测试的绝对偏航角分布。最后,图4显示了测试集中的像素和区域分布。

 

 

在iBugMask中,面部部位的分布情况。左图:面部各部位的像素分布。我们在第一个子图中比较了不同的面部部位。我们合并了内部部分,以与第二个子图中的皮肤和头发进行比较。右图:面部各部位的区域分布。内口是数据集中最不可见的区域。

 

不同测试集的绝对偏航角分布。偏航用3DDFA[33]估计。  iBugMask

实验方法

:给定一个笛卡尔坐标下的野外图像和一个目标面的边界框,首先通过第4.1节中提出的RoI坦极变换将整个图像投影到坦极空间。我们进一步引入了一个名为混合网的深度CNN编码器来提取坦极扭曲图像的语义特征。该混合网络由几个混合残差表示学习块(第4.2节)组成,同时利用了坦-笛卡尔和坦-极坐标系,从而可以产生更鲁棒的空间特征。这些特征被输入到FCN解码器[15]中,以获得基于坦极性的分割掩模,然后将其映射回笛卡尔坐标作为最终输出。

4.1.1.要crop还是不要crop

 

在初始面部解析中,目标面部由边界框指定,并且通常不集中。一个常见的预处理步骤是以一定的边界扩展面部边界框,然后裁剪出面部图像,根据所采用的深度模型将这些图像进一步调整为一定的分辨率。我们将这种预处理技术称为crop-and-resize。然而,在这种预处理方法中,需要仔细选择种植边际。过度松散的边缘可能会引入不相关和分散注意力的信息,例如其他面孔,而太狭窄的边缘可能会导致忽略有用的图像区域,如毛发,这两者在面部解析任务中都是不可取的。另一种预处理方法是使用面部地标进行人脸对齐[30,16],从而使人脸被适当地旋转。我们将这种方法称为对齐法。这些地标可以与面边界框[25]共同获得。为了克服作物和调整大小方法的局限性,消除对面部地标的需要,我们提出了RoI坦克-极变换,将整个图像扭曲为坦克极空间的规范表示。与经典的crop-and-resize

和对齐相比,我们的方法的唯一前提是检测到的边界框。此外,我们的地图可以也引入了旋转等方差到CNN模型,因为基于极性的表示。rt-变换如图6所示。

 

设~v=(x,y)表示原始图像中某个点的笛卡尔坐标,设w和h分别表示边界框的宽度和高度。我们选择边界框的中心作为极性原点。我们首先将一个椭圆e拟合到目标边界框的边界矩形上,描述为其中

 

,a=0.5√wπ,b=0.5h√π,w和h为边界框的宽度和高度。然后,我们用一个内射映射f来定义坦极坐标系:

 

其中~ve=(xe,ye)是目标面椭圆e的较宽范围上的向量,~ve和~v是平行的(‘||’求向量的范数)。在坦极坐标系中对输入图像在矩形网格上重新采样,构造了一种新的表示方法。根据典型的tansformer网络[78,79],我们对与输入图像中的像素位置不重合的点使用双线性插值。我们将其命名为RoI坦极性变换(rt变换)。可以看出:1)与裁剪和调整大小获得的表示相比,输入图像中的所有信息都保留在新的表示中;2)~ve的归一化确保了目标面始终不变占约76%(自tanh(1)=0.76以来)。值得注意的是,所提出的rt变换是可逆的和可微的。因此,不仅可以转换输入的RGB图像,还可以转换cnn中的中间特征图。旋转方差。为了处理目标人脸的旋转,之前的人脸解析工作[35,16]依赖于将人脸地标转换为规范位置,以纠正目标人脸的旋转。我们证明,使用坦极表示可以消除这种预处理步骤。根据定义,坦极坐标系是旋转群SO(2)的角度θ∈[−π,π]。这是因为对于旋转变换

 

原来极坐标中向量旋转θ角后的向量公式

 

 

坦极坐标系满足[79]

其中,eθ=(θ,0)。因此,在坦克坐标系f下,旋转变换Tθ作为(θ,0)的平移。因此,在f中与平移[79]自一致的平面卷积现在等价于笛卡尔空间中的SO(2)群卷积[32,72]。尺度不变性式2表明,只要提供的边界框具有正确的大小,无论输入图像中人脸的原始大小如何,扭曲图像与背景区域的比例总是固定的。这意味着在感兴趣区域坦极空间训练的模型将在输入图像中的小脸和大脸上形成同样好。

 

旋转等方差。旋转在坦极坐标系中被简化为平移。

4.2.混合残差表示学习块

使用坦极表示作为cnn的输入,可以实现旋转等方差,但平移等方差可能会丢失。为了克服这一问题,我们提出了混合残差表示学习块,称为混合块,一个类似于残差块[48]的CNN构建块。设计混合块的动机是让卷积的两个分支学习互补的表示。一个分支(坦-极尔分支)学习旋转等变表示,而另一个分支(坦-笛卡尔分支)学习平移等变表示。混合块的详细组件。我们定义了坦-笛卡尔坐标系

 

混合块的输入是一个形状的坦极性表示XTP(h,w,c)。剩余路径按照瓶颈设计[48]使用1×1、3×3和1×1卷积的堆栈。利用前1×1conv层来降低信道维数,并将其输出特征映射转换为坦-笛卡尔空间。在每个坐标系中,使用一个3×3的conv层来计算特征映射,然后将其连接在坦极空间中。最后一个1×1conv层恢复了通道维度,因此残差表示可以添加到输入XTP中

从坦极到坦笛卡尔的直接转换。为了得到坦-笛卡尔表示,一种简单的方法是从f反变换到笛卡尔,然后用Equ重新采样。 4.然而,迭代重采样会降低图像质量,放大插值伪影的影响。绕过在这个问题上,我们找到了两个坐标下采样网格之间的对应关系,并直接重新采样坦极表示。

图8:坦-极坐标和坦-笛卡尔坐标之间的直接变换。我们不在原始图像上采样,而是直接在两个坐标之间变换。平移等方差在坦赫-笛卡尔坐标系中恢复。

 

混合感受场。

接受野(RF)是一个特定的神经元在输入空间中观察的区域。不同坐标系下的两个3×3卷积层具有不同形状的rf。坦极型的一个有弧形射频,而另一个有矩形射频。50层混合网。我们遵循ResNets[48]和堆栈混合块的设计来创建一个新的主干网络混合Net50。由于分组的conv1x1和将通道减半的conv3x3,参数的总数少于ResNet50主干(23.5Mvs17.8M)。

RTNet是基于FCN框架[15]的。将具有目标边界盒的任意分辨率的输入图像I转换为坦极空间中的Itp。默认情况下,Itp的大小设置为512×512。接下来,使用混合net-50从Itp中提取特征,然后使用一个朴素的FCN解码器头来预测坦极空间中的分割掩模。最后,将分割掩模反转换为笛卡尔格式,作为与输入图像I分辨率相同的最终输出。

FCN解码器。我们使用FCN-8s[15]解码器来预测掩模。像ASPP[54]这样的更高级的解码器需要专用的超参数调优,这可能会在很大程度上影响性能。所采用的解码器由两个conv3x3层和一个双线性上采样层组成,用于映射特征映射到像素级预测对数。损失函数我们使用交叉熵损失损失和骰子损失损失损失[81]。两个损失与λ的因子共同优化,总损失l为

 

损耗是在坦极坐标上计算的,因为输出是相同的大小,并且计算可以进行批处理和加速。混合填充。大多数cnn都使用零填充来保持特征地图的大小。这不是对于坦极表示,因为它是关于角轴的周期性的。我们在垂直维度上使用环绕式填充,在水平维度上使用复制填充。复位盒增强。为了提高RTNet的鲁棒性,我们通过添加随机移位和随机尺度来增加输入边界框。在对输入图像的测试时间内,也可以进行多次增强,并对逆变换的预测掩模进行平均,以得到更平滑的结果。

实验

基线方法我们采用以下标准来选择基线方法。首先,该模型应该能够解析面部内部的成分和头发。其次,它是开放的,我们能够通过从头开始重新训练模型来重新生成报告的性能。第三,超参数的数量必须相对较小,以便性能不依赖于先进的训练技术。这允许可以应用相同的训练设置,训练可以以合理的计算资源和时间完成。所选模型包括经典模型,如FCN[15],以及高级模型,如Deeplabv3+[54]和SPNet[57]。我们收集了他们的开源代码,并建立了一个统一的基准代码库,以确保相同的培训和评估程序。

5.1.2.培训和评估数据。

每个模型都用四个数据集进行训练,即Helen[26]、CelebaMask-HQ[28]、LaPa[29]和我们的模型,其中Helen、LaPa和我们有相同的标签类集,因此在它们上训练的模型可以直接进行评估。名人访谈-总部有更多的标签课程,在培训和评估期间,我们将这些额外的分类分配到背景中。每幅图像中的目标边界框由地面真值掩模生成,以消除人脸检测产生的偏差。评估。我们采用两个流行的度量标准,联合上的交集(IoU)和F1分数(F1)进行评估。我们报告了所有前景类的指标及其平均值。对预测的面具进行了评估原始图像比例。对于具有裁剪和调整大小预处理的方法,我们将预测的掩模的大小调整为裁剪图像的大小,然后将其进行零填充以匹配原始图像的分辨率。对于我们的RTNet,我们对预测的掩模应用逆rt变换。我们没有采用其他常见的评价技术,如多尺度、翻转或多重种植。

5.1.3.我们使用PyTorch[82]来实现所有的基线和我们的方法。骨干网络在ImageNet[83]上进行了预训练。我们使用随机梯度下降(SGD)来优化损失。初始学习速率设置为0.01,采用多聚学习速率退火计划,功率=为0.9。所有的方法都被训练了50个时代,如果验证集上的平均IoU在15个时代内停止增长,则采用早期停止。对于所有的方法,我们在训练过程中都采用了在[0.5,2.0]范围内的随机缩放、随机水平翻转和随机亮度作为数据增强方法。对于我们的方法,我们用我们的rt变换将整个图像转换为512×512。在所有的实验中,批量大小都被设置为4。所有的培训和评估都是在两个RTX2080Tigpu上进行的。

5.2.iBugMask的结果

我们将我们的模型与使用对齐作为输入预处理方法的不同基线进行了比较。对齐模板采用了开源的ArcFace[84]库1。这些模板已经在人脸识别任务中被证明是成功的。我们报告所有面部部位的结果。眉毛、眼睛、嘴唇和内嘴并入内嘴的部分。表3显示了基准测试的结果。我们的第一个观察结果是,iBugMask具有挑战性,不能轻易解决。与现有的基准测试相比,这些模型在iBugMask上的性能并不饱和。例如,Helen的平均F1分数达到超过90%,但我们在iBugMask上的最佳结果约为86%。我们相信iBugMask可以作为野外人脸解析的一个具有挑战性的基准。我们的第二个观察结果是,当使用人脸对齐进行预处理时,基线模型在内部部分上执行比较。然而,由于模板不能处理不同的发型,头发的性能很大程度上下降。相比之下,rt变换允许我们的模型捕获完整的头发和面部区域,而不被切割。

最后,在没有标志和对齐的情况下,我们的RTNet在眼睛、眉毛、皮肤和头发区域,以及在鼻子、嘴唇和嘴巴方面表现得更好。与基线FCN相比,我们观察到眉毛和眼睛有很大的改善。这可能归因于混合表示可以更好地捕获拉长的区域。

5.3.定性结果图9可视化了不同方法的预测结果,我们的RTNet可以更好地捕捉不同的发型、轮廓姿态、遮挡等,这再次验证了我们的方法在野外场景下的优越性能。

5.4.我们进行了广泛的消融研究,以更好地了解RTNet的工作机制。本节中的所有变体都在姿态增强图像上进行训练,并在iBugMask上进行评估

5.4.1.rt变换的有效性我们比较了4种预处理技术的性能:1)大小:调整大小:调整所有输入图像到5120填充以保持长宽比;×512)裁剪和调整:用40%的边界裁剪面,然后调整裁剪面为512×512;3)对齐:我们使用视网膜面[25]返回的5个地标,使用开源库对齐目标面,并扭曲到512×512;4)rt变换:扭曲整个图像在坦极空间中大小为512×512的表示。

表4显示了iBugMask上不同预处理方法的F1得分。可以看出,将输入图像调整为相同大小的精度最低。这与我们的预期一致,因为人脸的大小变化很大,均匀地调整它们的大小会导致混乱。至于作物和调整大小的方法,只观察到少量的改进,特别是对头发类。这可能是因为预先定义的种植边际不能保证头发区域的全面覆盖,这将导致这些区域的准确性损失。对齐方法给出了内部部分和面部皮肤的竞争结果。然而,由于翘曲模板不能解释不同的发型,它在头发上的性能已经大大下降。相比之下,我们的RT变换在所有三个类别上都取得了最好的性能,这可以归因于所提出的方法坦极变换,可以强调面部区域,同时保留所有的背景信息。

5.4.2.桥座设计

我们还进行了烧蚀研究,以验证混合块的设计。我们从Resnet50主干开始,在网络的不同位置逐渐用混合块替换剩余块。特别是,主干包括一个茎层和4个阶段的残余块,我们遵循常见的实践[85],在最后三个阶段用提出的参数较少的混合块替换块。表5报告了不同替换阶段的结果,我们可以观察到,混合块总是可以用更少的参数引入性能改进。此外,在所有三个阶段使用混合块时都获得了最高的精度,这证明了所提出的混合块的有效性和通用性。

5.4.3.边界框增加和混合填充表

量化了在第二秒中描述的边界框增加和混合填充的性能收益。

4.3.盒的增强可以使模型对边界盒噪声具有更强的鲁棒性。

而混合填充是必要的,因为坦极表示是围绕角轴的周期。

5.5.为了证明姿态增强的有效性,我们在4个不同的训练集上进行了6次训练。为了简单和更快的训练,我们使用40%边际的裁剪和调整大小对输入图像进行预处理,以获得基线模型的512×512面部图像。我们做了以下观察:对姿态增强图像的训练改进了所有的方法。我们还可以观察到,对伪增强图像的训练改进了所有的方法,特别是在面部内部部分。这可以合理地归因于姿态增强图像的构造方式是,在不同的姿态之间的面孔数量是平衡的,并且在野外的信息也被保留下来。相比之下,Celebamask-HQ是一个综合的数据集,其姿势和背景的变化有限。尽管Celebamask-HQ包含了更多的面部图像,但在这个数据集上训练的模型比在其他数据集上训练的模型获得的竞争表现更差。

在iBugMask上的结果。F1分数以百分比来报告。眉毛、眼睛、嘴唇和内嘴并入内嘴的部分。

 

 

我们的模型在不同的预处理方法下的性能。F1分数以百分比来报告。

 

表5:杂交体在主干的不同阶段的有效性。报告了F1的百分比得分。

RTNet始终优于其他方法。在iBugMask上的结果表明,我们的方法优于所有其他方法。此外,当我们提出的姿态增强图像训练,RTNet明显优于所有基线,尤其是在头发类,这表明:1)与其他基准数据集相比,姿态增强图像可以更好地受益的野外学习分割模型,尽管大多数的面部图像是通过姿态增强技术,和2)不同于基线,我们的RTNet可以更有效地学习野外数据,从而可以在无约束的iBugMask数据集上展示更鲁棒的性能。

5.6.除了自收集的iBugMask数据集外,我们还在不同的人脸解析基准测试上训练和评估了我们的方法。结果在海伦。表10比较了我们的RTNet与Helen[26,16]上的其他最先进的方法。我们的模型在面部皮肤上取得了稍好的性能,而在内部部分和头发类上明显优于其他模型。在LFW-PL上的结果。表8比较了我们的RTNet与LFW-PL[27]上的其他最先进的方法。我们的模型在内半部分取得了可比的结果,并且在面部皮肤和头发方面优于其他方法。对LaPa的结果。表11比较了在LaPa[29]数据集上使用不同方法得到的结果,我们可以容易的得到我们的RTNet在所有三个类别上始终表现出最高的性能,这进一步证明了我们的方法的通用性。

我们还通过评估1)模型参数的数量,2)每秒浮点运算(失败)和3)每个样本的实际推理时间来检验不同模型的运行效率。所有型号都在同一台机器上使用GTX1080TiGPU进行测量。为了确保公平的比较,我们对每种方法重复100次,并报告平均值。如表9所示,与三种具有代表性的人脸解析方法相比,我们的模型的模型大小最小,而且运行的失败也最少。虽然由于两个坐标之间的直接采样,我们的模型的推断时间比FCN和SPNet略长,但我们认为时间差(16ms)是可以容忍的,因为我们的方法比其他方法有更好的性能。

这篇关于RoI Tanh-polar Transformer Network for Face Parsing in the Wild野外人脸解析的RoI(感兴趣区域) Tanh-polar Transf的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/162186

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

OWASP十大安全漏洞解析

OWASP(开放式Web应用程序安全项目)发布的“十大安全漏洞”列表是Web应用程序安全领域的权威指南,它总结了Web应用程序中最常见、最危险的安全隐患。以下是对OWASP十大安全漏洞的详细解析: 1. 注入漏洞(Injection) 描述:攻击者通过在应用程序的输入数据中插入恶意代码,从而控制应用程序的行为。常见的注入类型包括SQL注入、OS命令注入、LDAP注入等。 影响:可能导致数据泄

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

多线程解析报表

假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完成。 Way1 join import java.time.LocalTime;public class Main {public static void main(String[] args) thro

ZooKeeper 中的 Curator 框架解析

Apache ZooKeeper 是一个为分布式应用提供一致性服务的软件。它提供了诸如配置管理、分布式同步、组服务等功能。在使用 ZooKeeper 时,Curator 是一个非常流行的客户端库,它简化了 ZooKeeper 的使用,提供了高级的抽象和丰富的工具。本文将详细介绍 Curator 框架,包括它的设计哲学、核心组件以及如何使用 Curator 来简化 ZooKeeper 的操作。 1

Unity3D自带Mouse Look鼠标视角代码解析。

Unity3D自带Mouse Look鼠标视角代码解析。 代码块 代码块语法遵循标准markdown代码,例如: using UnityEngine;using System.Collections;/// MouseLook rotates the transform based on the mouse delta./// Minimum and Maximum values can