Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级

Summary 摘要

我们提出了一种基于深度卷积神经网络(DCNNs)的头发和面部皮肤分割任务的有效分割方法,在三个基准数据集上实现了速度和性能之间的显著权衡。我们利用分割后的人脸获得特定的人脸区域,并进一步利用颜色矩算法提取其颜色特征。 具体来说,对于224×224标准输入,使用我们的高分辨率空间细节信息和低分辨率上下文信息融合网络(HLNet),在CPU环境下,我们在超过16个FPS的Figaro1k数据集上实现了90.73%的像素精度。 在CamVid数据集上的额外实验进一步证实了所提出的模型的普遍性。 我们进一步使用蒙面颜色矩进行肤色等级评估,近似80%的分类精度证明了该方案的可行性。

keyword 关键字

1、Introduction 背景介绍

AR(Augmented Reality)技术因其在各个领域的广泛应用而成为近年来的研究热点,应用最广泛的是美容行业。 其中,自动染发(如图所示。 1)是美容行业的主要应用之一。 然而,在实际应用场景中存在着巨大的挑战。 首先,由于头发具有非常复杂的形状结构1,所以很难处理准确的边缘信息。 虽然现有的语义分割方法2,3,4对简单对象具有相对较高的分割性能,但在处理毛发分割任务时,只能得到相对粗糙的掩码。其次,几乎所有的网络都要求GPU具有高的计算能力,这是大多数移动设备所没有的。 它大大限制了使用场景。 第三,考虑到运行时的限制,条件马尔可夫随机场(CRFs)5不适合边缘处理。 考虑到所有这些因素,实时染发面临着巨大的挑战。 同时,电子商务和与客户的数字互动允许人们在不离开家的情况下购买自己喜欢的产品。 其中,稳健型产品推荐功能起一个图1自动染发样本。 (a)输入RGB图像。 (b)我们提出的算法的引导滤波器输出。 最后染色渲染。
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
重要的作用。 自动评估肤色水平,使个性化推荐美容产品成为可能。 然而,在复杂的环境中,肤色分级受到照明、阴影和成像设备等的影响。 即使是经验丰富的皮肤治疗师也很难用肉眼判断。 本文致力于利用机器学习和火热的深度学习算法来解决这些问题。
语义分割是一种先进的视觉任务,其目标是为每个像素分配不同的类别标签。 然而,受庞大的骨干结构的限制,现有的最先进的模型不适合实际部署。 在本文中,我们努力平衡分割网络的效率和速度之间的关系,并为我们的多任务分割场景提供了一个更简单和更紧凑的替代方案。 为了得到准确的分割结果,应同时考虑全局信息和上下文信息。在此基础上,我们提出了一个空间和上下文信息融合框架(HLNet),将高维和低维特征映射集成到一个网络中。 进一步的实验证实,HLNet在效率和准确性之间实现了显著的权衡。 考虑到背景光照不利于识别肤色,我们提取特征(a.k.a。 基于分段人脸和颜色矩算法的蒙面颜色矩。 在此之后,面膜颜色瞬间被输入到一个强大的随机森林分类器中,以评估一个人的肤色水平。
论文的其余部分组织如下。 在第二节中,我们简要回顾了计算机视觉领域中最新的基于实时和高效的深度学习的语义分割建议以及特定领域的分割算法。 我们在第三节中详细阐述了我们的方案的过程,然后是消融和合作

2 Ready work 准备工作

2.1 Lightweight model 轻量级模型

自从基于深度学习的开创性工作2以来,许多高质量的骨干6、7、8、9都得到了发展。 然而,由于计算有限的平台(例如无人机、自主驾驶、智能手机)的要求,人们更关注网络的效率,而不仅仅是性能。
ENET10是第一个用于实时场景分割的轻量级网络,它不以端到端的方式应用任何后处理步骤。 赵等人。 11引入了一个级联特征融合单元,以快速实现高质量的分割。 Howard等人。 介绍了一个紧凑的编码器模块,该模块基于流线型结构,使用深度可分离卷积来构建轻量级的深度神经网络。 Poudel等人。 13将高分辨率的空间细节与以低分辨率提取的深层特征结合起来,产生超出实时效果的效果。 最近,LEDNet14被提出,在每个剩余块中使用信道分割和洗牌,以大大降低计算成本,同时保持更高的分割精度

2.2Contextual information 上下文信息

在对特征映射进行常规上采样以恢复原始图像大小时,无法恢复某些细节。 跳过连接15的设计可以在一定程度上缓解这种不足。 赵等人。 8提出了一个金字塔池模块,该模块可以汇总来自不同区域的上下文信息,以提高捕获多尺度信息的能力。 Zhang等人。 设计一个上下文编码模块来引入全局上下文信息,用于捕获场景的上下文语义,并选择性地突出与特定类别相关的特征映射 Fu等人。 17通过捕获基于空间和通道注意机制的丰富上下文依赖关系来处理场景解析任务,这大大提高了许多具有挑战性的数据集的性能

2.3 Post processing 后加工处理

一般来说,上述分割方法的质量明显粗糙,需要额外的后处理操作。 后处理机制通常能够提高图像边缘细节和纹理保真度,同时与全局信息保持高度一致。 陈在艾尔。 18.提出一种通用报告格式后处理方法,以非端到端的方式克服定位不良。 CRFas RNN5将CRF迭代推理过程看作是一个端到端的RNN操作。 为了消除CRF的过度执行时间,Levinshtein在al。 提出了一种在移动设备上具有实时性能的头发抠图方法

2.4 Color feature extraction 颜色特征抽取

在许多描述不同颜色在整个图像中的比例的图像检索系统中,OLOR直方图20是广泛使用的颜色特征。 计算颜色直方图需要将颜色空间划分为许多小的颜色间隔,每个间隔称为bin。 这个过程通常被称为颜色量化。 由于HSV和LAB等颜色空间更符合人们对颜色相似性的主观判断,RGB空间一般不使用。 这种方法最大的缺点是不能表示图像中颜色的局部分布和每个颜色的空间位置。
斯特里克和奥伦戈提出的颜色动量21是另一个简单有效的颜色特征。 这种方法的数学基础是图像中的任何颜色分布都可以用它的矩来表示。 此外,由于颜色分布信息主要集中在低阶矩上,只有颜色的第一矩(均值)、二阶矩(方差)和三阶矩(偏度)足以表示图像的颜色分布。 这种方法的另一个好处是,与彩色直方图相比,它不需要对特征进行矢量化。
彩色Correlogram22也是图像颜色分布的表达式。 这一特征不仅描绘了一定颜色中的像素与整个图像的比例,而且反映了不同颜色对之间的空间相关性。 然而,这个解决方案在时间上太复杂了。
总的来说,我们的方法与非对称编码和解码结构密切相关。 此外,我们简单地使用蒙面颜色时刻来分类肤色,这将在下一章中讨论。

3 Methodology 方法论

在本节中,我们将详细阐述所提出的头发和面部分割的方法和模型框架,以及后续面部肤色分类的方法基础。

3.1 High-to-low dimension fusion network 高到低维融合网络

所提出的HLNet网络受到HRNet23的启发,HRNet23通过并行连接高分辨率到低分辨率卷积,在整个过程中保持高分辨率表示。 图2说明了我们模型的总体框架。 我们对模型参数进行了实验修剪,以提高速度,而不会导致过度的性能退化。 此外,将现有的最先进的模块13242526合理地结合起来,以进一步提高网络的性能。
建筑。 表1给出了网络中涉及的模块的总体描述。 该模型由不同类型的卷积模块、上采样(互补:转置卷积层会导致网格伪影)、瓶颈等特征映射通信模块组成。 在下面的部分中,我们将详细地扩展上述模块。
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
图2我们的非对称编解码网络的概述。 蓝色、红色和绿色分别代表背景、头发面膜和面膜。 在虚线矩形(也称为交互模块)中,不同的箭头表示不同的操作。 ‘’意味着添加操作。
在前三层中,我们参考Fast-SCNN13采用标准卷积和深度可分离卷积进行快速下采样,以确保低级别的特征共享。 深度可分离卷积有效地减少了模型参数的数量,同时达到了可比的表示能力。 以上卷积统一使用步幅2和3×3空间核大小,其次是BN27和RELU**函数。 根据FCOS28,特征映射的低维细节信息促进了小对象的分割,因此我们叠加了低维层来增强所提出模型的细节表示能力。 高分辨率和低分辨率信息的交互促进了多层次信息表示的学习。 。 在这一部分中,我们得出了上述优点,并提出了一个具有不同分辨率特征映射的信息交互模块(InteractionModule),以获得优雅的输出结果。不同的特征映射尺度使用1×1卷积和Bilinear上采样模块进行信道组合和交换。 上采样的特点是不需要学习权重参数,因此我们放弃了转置卷积的操作,以节省计算资源。 除了标准卷积模块外,我们还使用了MobileNetv224提出的高效倒瓶颈剩余块模块,如图3所示。 随后,我们遵循FFMAttent25将模型集中在信息最多的信道特征上,并抑制那些不重要的信道特征。 为了处理多尺度上下文信息,我们还引入了一个多感知场融合块(例如。 膨胀率设置为2,4,8)。
为了简单起见,解码器直接在28×28特征映射上执行双线性上采样(互补:转置卷积层可以导致网格伪影19),此外还添加了一个SOFTMA X层进行像素分类。
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
图3移动网v2发布提出的倒置残差模块。 如果步长等于1,则需要额外的快捷操作。 一般情况下,t=6使分离卷积能够在更高的维数中提取特征,有效地提高了模型的表示能力。
员额处理。 为了追求感知一致性,降低运行的时间复杂度,我们提倡引导滤波器2930的思想,实现边缘保持和去噪。 引导滤波器可以有效地抑制梯度反转伪影,并产生视觉上令人愉悦的边缘轮廓。 给定导向图像퐼并过滤输入图像푃, 你的目标是学习一个当地人线性模型描述前者与输出图像之间的关系푄同时寻求푃与푄之间的一致性,就像图像匹配31的作用一样,为了简单和高效,在实验过程中,푠、푟、50分别设置为4、4和50。

3.2 Facial skin tones classifification 面部肤色分类

第二阶段是对面部肤色进行分类。 通常对亚洲人来说,我们把它分为瓷白,象牙白,中,黄和黑。 对于肤色特征,使用深度学习进行特征提取是不明智的,因为它的特征空间相对较小,容易造成不适合。。 因此,经过反复思考和实验试错,选择方案提取图像的颜色时刻作为要学习的特征,并将其放入经典的机器学习算法中进行学习。 考虑到复杂场景中的面部肤色,背景照明对结果有不可治愈的影响。 因此,我们采用图像形态学算法和像素级运算来消除背景干扰。 最终,利用剩余的人脸区域提取颜色矩特征,然后输入机器学习算法进行学习。 就分类器而言,我们选择随机森林分类器32是因为它具有强大的分类能力。 算法1总结了算法的细节。Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级

4 Experimental Evaluation 实验评价

我们评估了三个公共数据集上头发和皮肤分割的分割性能,并进一步证实了所提出的体系结构在具有挑战性的基准车辆道路数据集上的推广。 在下面,我们首先简要介绍了实验中涉及的数据集,包括手动注释的数据集。 接下来,通过与现有方案的比较和进行烧蚀实验,证明了我们的方案可以在速度和精度之间实现卓越的权衡。 下面提到的所有网络都遵循相同的培训策略,除了初始学习率设置。 它们是使用批量大小为64、动量0.98和重量衰减2e-5的小批量随机梯度下降(SGD)训练的,s.对于CamVid实验,我们使用学习速率为1e-3的Adam梯度下降策略,因为我们发现它更有利于模型的收敛。前者采用了聚化率策略,在配置时,初始率是倍数(-1),初始功率为0.9,而初始读化率则定为2.5-3。3. 在损失函数方面,我们应用广义骰子损失34来补偿小对象的分割性能。 数据增强包括归一化、随机旋转[−20,20]、随机尺度[−20,20]、随机水平翻转和随机移位[−10,10]。 为了进行公平的比较,所有的方法都是在一台配备了单个NVIDIAGeForceGTX1080Ti GPU的服务器上进行的。
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
图4投票机制后手动标记的面部肤色水平样本。 从左到右代表瓷白,象牙白,中,黄,黑。 为了对图像分类标准有一个一致的理解,这里只使用女演员。

4.1 Database introduction 数据集介绍

数据是深度学习的灵魂,因为它在一定程度上决定了一个算法的上限。 为了保证算法的鲁棒性,需要在大角度、强遮挡、复杂照明变化等极端情况下构造具有人脸的数据集。

4.1.1 Face and hair segmentation datasets 人脸和头发分割数据集

野生标签空间(LFW)35数据集由互联网上的13,000多幅图像组成。 在实验中,我们使用它的扩展版本(部分标签),它通过超像素分割算法自动标记。 我们在训练中采用了36与1500幅图像相同的数据划分方法,500幅用于验证,927幅用于测试。
大型Celeb Faces属性数据集(CelebA)37由200K以上的名人图像组成,每个具有多个属性。 该数据集的主要优点是它结合了大的姿态变化和背景杂波,使从该数据集学习的知识更容易满足实际产品的需求。 在实验中,我们采用了36个CelebA数据集的版本,其中包括3556幅图像。 我们使用了与原始论文相同的配置参数,即20%进行验证。
实验的最后一个数据集,我们使用Figaro1k38专门用于头发分析。 然而,由于该数据集是为一般头发检测而开发的,因此许多图像中不包括人脸。 在这种情况下,我们将通用人脸检测器应用为1,这是由文献提出的。 由于只有检测到的人脸的图像才能参与后续的分割任务,因此使用171幅图像进行实验。

4.1.2 Benchmark CamVid dataset 基准CamVid数据集

为了证明该方法的泛化能力,我们还对基准CamVid数据集进行了实验。 CamVid数据集包含从视频序列中提取的图像,分辨率可达960×720。 在本实验中,我们采用了与39相同的设置,其中总共包含701幅图像,其中367幅用于培训,101幅用于验证,233幅用于测试。

4.1.3 Annotated dataset 注释数据集

这项工作的一个贡献是一个手动标记的面部肤色分级数据集。 根据亚洲人不同的肤色色调层次,主要分为瓷白,象牙白,中,黄,黑五类。 在贴标签的过程中,三位受过专业训练的化妆师使用投票机制对面部色调的颜色进行评分。 我们的人脸数据也来源于互联网,只留下包含人脸的数据。 这些数据依次用于以后的特征提取和机器学习。 每个类别的数量为95、95、96、93和94,样本如图4所示。

4.2 Segmentation results 分割结果

在测试阶段,我们首先使用现有的高召回率的MTCNN40提取人脸ROI。 其次,考虑到冗余环境信息对分割背景有一定的促进作用,在水平和垂直维度上,ROI区域都被放大了0.8倍。 对于定量评估,我们使用四个FCN2派生度量来评估头发和面部分割算法的性能。 表2显示了我们的方法与文献中方法的比较结果。
快速下采样的一个缺点是浅层的特征提取是不够的,因此我们的HLNet比CelebA数据集中的VG G样网络略差(CelebA面部细节比LFW清晰得多)。 然而,考虑到运行时间,我们在CPU终端中达到每幅图像63ms,没有任何技巧。 我们可以在GPU下进一步达到不超过5ms。 将VGG与HLNet(64ms vs4.7±0.2ms)进行比较表明,后者更有效率,而性能是相当的。 这一结论表明,我们可以进一步将该框架应用于具有小内存和电池预算的边缘和嵌入式设备。 定性分析结果如图5所示。 后处理采用引导滤波器实现更真实的边缘效果。
消融研究我们在Figaro1k测试数据集上进行消融实验,并遵循相同的训练策略来保证实验的公平性。 我们主要评估交互模块(IM)和稀释组(DG)组件对结果的影响,如表3所示。 用三个平行的3×3个卷积和速率为1的卷积代替相应的分量作为基线。 当我们分别追加DG和IM模块时,mIoU相对于基线增加了1.54%和3.19。 当我们同时应用两个模块时,mIoU急剧增加4.26%。 明显的性能增益说明了该模型的效率。
我们还给出了我们的方法与CamVid数据集上现有方法的比较。 我们采用了广泛使用的Meaninterection-over-union(mIoU)来评估分割质量。 结果见表4。 我们的HLNet获得了更快的推理速度,同时实现了与最先进的模型相比的可比性能。

4.3 Facial skin tones classifification results 面部肤色分类结果

在实验的第二阶段,我们使用消融研究来比较不同颜色空间和不同实验协议对结果的影响。
在表5中,我们报告了面部肤色分类的准确性。 利用YCrCb空间,采用彩色矩后端,得到了最佳的结果。 应该注意的是,在实验之前,首先对数据进行过采样,以确保消除类别之间的不平衡。 我们简单地将数据集分成8:2进行训练和测试,然后使用强大的随机森林分类器进行训练。 图6给出了此配置的混淆矩阵。 从图中可以看出,主要的错误是在相邻的类别之间,这种情况也困扰了一个训练有素的专业化妆师,当他或她标签数据。

5 Conclusion 结论

本文提出了一种全卷积网络来解决实时分割问题,从而实现速度与性能之间的权衡。 通过比较实验和跨数据集评价,证明了该方法的可行性和推广性。 接下来,我们提出了一种提取肤色特征的方法,该方法提取蒙面肤色特征,并将其抛出随机森林分类器进行分类。 80%的分类精度证明了所提出的解决方案的有效性。
本工作的目的是将我们的算法应用于现实场景中基于肤色水平的实时染色、面部交换、肤色评级系统和护肤品推荐。 作为未来的工作,我们计划进一步探索颜色特征,以提高分类精度

附录图片

表1HLNet由非对称编码器和解码器组成。 整个网络主要由标准卷积(Conv2D),深度可分卷积(DwConv2D),倒余瓶颈块,上采样(UpSample2D)模块和专门设计的模块组成。
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
表2LFW、CelebA和Figaro1k数据集的分割性能。 比较分析表明,当参数数量比其他两个要小得多时,我们的网络仍然可以取得很好的效果,在某些指标中,甚至超过了繁琐的VGG2网络。 所有数值均为%。
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
表3我们提出的交互模块(IM)和稀释组(DG)的效果,这是在Figaro1k测试集上评估的。
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
表4CamVid测试数据集的结果。 ‘-’表明,这些方法没有提供计算结果。
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
表5不同颜色空间中不同方法的分类精度。
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级

Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级
图5头发分割的样本。 从上到下:RGB图像,地面真相,头发输出,引导输出和头发死亡。 最后一列给出了错误的情况,这也困扰着人类的标记。
Real-time Segmentation and Facial Skin Tones Grading-实时分割和面部皮肤骨骼分级