ExtremeC3Net: Extreme Lightweight Portrait Segmentation Networksusing Advanced C3-modules论文翻译

论文名称 ExtremeC3Net:使用高级C3模块的极端轻量级人像分割网络

论文地址 https://arxiv.org/abs/1908.03093

 摘要

 设计一个轻量且稳健的人像分割算法是广泛面部应用中的一项重要任务。然而,这个问题被视为物体分割问题的一个子集。显然,人像分割有其独特的需求。首先,由于人像分割是在许多现实世界应用的整个过程中进行的,它需要极其轻量的模型。其次,在这个领域还没有公开的数据集包含足够数量的具有无偏统计的信息图像。为了解决这些问题,我们提出了一种新的极其轻量的人像分割模型,该模型由基于浓缩综合卷积块的双支架结构组成。我们的方法将参数数量从2.1M减少到37.7K(约98.2%的减少),同时保持准确性在与最先进的人像分割方法相差1%的范围内。在对EG1800数据集的定性和定量分析中,我们展示了我们的方法优于各种现有的轻量级分割模型。其次,我们提出了一种简单的方法来创建额外的人像分割数据,以提高EG1800数据集上的准确性。同时,我们通过自己额外标注种族、性别和年龄来分析公共数据集的偏差。增强的数据集、附加标注和代码可在 GitHub - HYOJINPARK/ExtPortraitSeg 获取。

1. 引言

       设计处理面部数据的算法被认为是在计算机视觉领域及其多个子领域(如检测、识别和关键点提取)中的一项重要任务,这些领域都在积极研究中。其中,人像分割在工业环境中得到了广泛应用,例如背景编辑、安全检查和面部分辨率增强 [21, 32]。

       由于研究人员将人像分割问题视为语义分割的一个子集,因此大多数人像分割算法采用了在特定人像分割数据集上训练的一般语义分割算法 [18, 29, 13]。然而,人像分割面临一些独特的障碍。

     首先是数据集中图像数量较少的问题。流行的公共人像分割数据集 EG1800 [21] 仅包含约 1,300 张训练图像。此外,我们通过额外注释观察到,该数据集在种族、年龄和性别等属性方面存在较大的偏差。对于一般的语义分割任务,通常使用随机噪声、平移和颜色变化等数据增强方法来克服小数据集规模的问题。然而,很明显,这些方法不足以解决人像分割数据集的小规模和不平衡性。

   其次,人像分割通常作为实际应用中的多个步骤之一。由于许多这些应用在移动设备上运行,因此分割模型需要轻量化,以确保实时速度。研究人员开发了大量轻量级分割方法,但大多数仍然不够轻量。一些最近的例子包括具有 2.1M 参数的 PortraitNet [32]、具有 0.78M 参数的 ESPNetV2 [11] 和具有 0.36M 参数的 ESPNet [18]。一般来说,在将人像分割模型部署到移动设备时,参数数量越少而不降低准确性越好。此外,在嵌入式系统上进行部署时,操作类型往往受到限制。因此,尽可能使用较少的不同类型的操作是有益的。

   本工作的贡献可以总结如下:(1) 我们提出了一种新的极其轻量的分割模型,其参数少于 0.05M,同时与 PortraitNet [32] 具有竞争力的分割准确性,并且不使用反卷积操作。我们的模型仅使用基线 PortraitNet 参数的 1.8%,即 37.7K 对比于 2.1M,但在 EG1800 数据集上的准确性下降仅约 1%,如图 1 所示。(2) 我们引入了一种简单有效的数据生成方法,以获得足够数量的数据集并缓解数据集的不平衡性。为了提高性能,我们利用我们的生成方法生成了 10,448 张用于训练的图像。此外,我们还根据种族、性别和年龄对公共数据集 EG1800 进行了额外注释。在此过程中,我们发现某些属性存在显著偏差。通过实验,我们发现提出的数据增强可以提高分割准确性,并丰富不同属性之间的平衡。

2. 相关工作

数据增强

        数据增强技术已经成为成功训练各种深度网络的重要因素。许多研究表明,数据增强不仅可以缓解过拟合,还可以扩大数据样本的数量。在分类和检测领域,不仅提出了裁剪和翻转等基线增强方法,还提出了像 CutOut [6] 和 CutMix [30] 这样的新颖补丁和区域基础的方法。在语义分割中,基本上使用两种增强方法。一种是图像校正方法,包括图像的旋转、翻转和裁剪;另一种是图像过滤方法,用于控制图像属性,如亮度、对比度和颜色。

       除了基本的增强方法外,由于标注成本较高,许多分割方法还额外使用从相对简单的分割算法中获得标签的抓取图像,这类似于文本检测和定位研究中的做法 [7, 1]。Jin 等人 [9] 从网络上抓取图像并使用稠密条件随机场 (CRF) 进行标注。同样,[19, 16, 25] 也应用了弱监督方法来自动扩大数据集。

\

图1所示。在EG1800验证集上的准确性(mIoU)与复杂性(参数数量)。我们提出的ExtremeC3Net
具有较高的精度和较小的复杂度。

卷积分解

     卷积分解将卷积操作划分为几个阶段,以减少计算复杂性。在 Inception [23, 24, 22] 中,多种卷积并行执行,然后将结果连接在一起。接着,使用 1×1 的卷积来减少通道数量。Xception [5]、MobileNet [8] 和 MobileNetV2 [20] 使用深度可分离卷积 (ds-Conv),该方法分别执行空间和跨通道操作以降低计算量。ResNeXt [27] 和 ShuffleNet [33] 应用了组卷积以减少复杂性。在分割任务中,许多轻量级分割算法 [18] 也采用了卷积分解方法来减少参数数量。

表1。膨胀率的详细设定。L表示层,B表示每个c3模块中的块。

分割

       PortraitFCN+ [21] 从 Flickr 构建了一个人像数据集,并提出了一种基于 FCN [10] 的人像分割模型。此后,PortraitNet 提出了一个新的更高准确率的人像分割模型,其实时执行时间优于 PortraitFCN+。此外,还有许多轻量级的分割模型。Enet [13] 是第一个专为实时分割设计的架构。随后,ESPNet [18] 通过引入高效的膨胀卷积空间金字塔,提高了速度和性能。ERFNet [17] 使用残差连接,并将膨胀卷积分解为两个不对称的膨胀卷积。ContextNet [14] 和 FastSCNN [15] 各自设计了两条网络分支,分别用于全局上下文和详细信息。同样,BiSeNet [29] 提出了一个双路径网络,用于保留空间信息并获得足够大的感受野。有几项工作通过结合膨胀卷积和深度可分离卷积进一步减少模型参数。ESPNetV2 [11] 应用了组点卷积和深度可分离的膨胀卷积来学习表示,并在各类任务中表现出更好的性能。C3 [12] 通过提出集中综合卷积 (C3) 来解决膨胀卷积与深度可分离卷积简单结合导致的准确性下降问题。在 C3 中,在膨胀深度卷积前添加了两个不对称卷积。在本文中,我们提出了一种改进版的 C3 模块,其模型规模更小,以满足上述人像分割的要求。

3. 方法

在本节中,我们将解释一个简单的数据生成框架,以解决在两种情况下数据集不足的问题。同时,我们介绍了我们的改进版 C3 模块,该模块通过精心设计的膨胀比组合,提出了一种极其轻量的人像分割模型。

3.1 改进版 C3 模块

     堆叠多个膨胀卷积层可以增加感受野,并且已被用于提升许多分割模型的性能。为了进一步减少模型复杂性,深度可分离卷积被广泛使用。然而,集中综合卷积块 (C3) [12] 指出,深度可分离膨胀卷积所执行的过于简化的操作会由于特征图中信息的丢失而导致严重的性能下降。当我们将膨胀卷积与深度可分离卷积结合用于我们的基本模块时,也观察到了同样的下降。为了解决这个问题,C3 块设计由浓缩阶段和综合卷积阶段组成。浓缩阶段从相邻像素中压缩信息,以减轻信息损失。它并不使用标准的方形深度卷积,而是采用不对称深度卷积来降低复杂性。

     在本文中,我们使用 C3 模块,但不同于 [12],我们将 C3 块的数量从 4 降低到 3,如图 2(b) 所示。我们还根据 Zeiler 等人 [31] 对神经网络卷积核属性的洞察重新设计了每个 C3 模块的膨胀比。靠近输入图像的卷积核提取常见和局部特征,而靠近分类器的卷积核则提取更多类特异和全局特征。模型 C3 [12] 和 ESPNet [18] 在其架构中对每个模块使用相同的膨胀比组合,并未考虑这一卷积核属性。我们更加仔细地设计这些比率,在靠近输入的模块中使用较小的比率,而在后续模块中使用较大的比率。表 1 显示了每层的详细膨胀比设置。

图2。(a) ExtremeC3Net的模型结构。灰色(绿色)颜色表示下采样(不采样)(b)的结构
高级c3模块由三个c3模块组成

表1。膨胀率的详细设定。L表示层,B表示每个c3模块中的块。

图3。所提出框架在两种情况下生成的图像和分割掩码的示例(a)从
百度人体分割数据集,通过使用人脸检测器。(b)使用分割模型从原始图像生成的数据。

3.2 ExtremeC3Net 架构

在这一部分,我们介绍用于分割的 ExtremeC3Net 架构。我们采用双支架架构以提高模型效率,类似于 BiseNet [29]、ContextNet [14] 和 Fast-SCNN [15]。文献 [14] 和 [15] 的作者认为,双支架架构与常见的编码器-解码器结构具有不同的特性。

编码器-解码器结构使用编码器网络提取特征,并使用解码器网络恢复原始分辨率,解码器通常使用反卷积操作并与编码器特征图进行连接。解码器的计算量与编码器中减少的分辨率成正比地增加。

双支架架构由一个深度网络和一个浅层网络并行运行。深度网络学习复杂的全局上下文特征,而浅层网络则保留空间细节。由于对细节的保留,对于解码模块的需求较少,因为我们可以使用更简单的双线性上采样操作来恢复分辨率。这消除了使用反卷积操作的必要性,并减少了参数数量。

如图 2 所示,我们设计了一个由 CoarseNet 支架和 FineNet 支架组成的双支架架构。CoarseNet 支架提取深层特征嵌入,FineNet 支架负责保留空间细节。最后,来自两个支架的特征图通过逐元素加法结合在一起。

CoarseNet 支架由一系列改进的 C3 模块构成,提供粗略的分割。它首先通过应用步幅为 2 的卷积和一个改进的 C3 模块将特征图大小减少到四分之一。之后,七个 C3 模块顺序产生特征图,而没有下采样操作。每个 C3 模块都有不同的膨胀比组合,如上所述,以生成更好的特征。我们在支架中的两个不同点将下采样的输入图像与特征图连接在一起。ESPNet 表明,这种做法可以增加信息流和准确性。

FineNet 支架通过仅将特征图下采样 2 倍来创建更精确的边界线。这个支架保持较浅,因为较大的特征尺寸会导致计算复杂性随网络深度迅速增长。首先,它通过应用步幅为 2 的卷积来减少特征图的大小。然后,它应用 C3 模块以捕捉空间细节信息。

对来自 CoarseNet 的最后特征图应用点卷积,以获得与 FineNet 相同数量的通道。双线性上采样分别将 CoarseNet 和 FineNet 的输出增加 4 倍和 2 倍。然后,通过逐元素相加聚合这两张全分辨率特征图。

交并比 (IoU) 分数广泛用于评估分割质量,并可以直接使用 Lovasz-Softmax 损失 [3] 作为替代函数进行优化。我们将该损失函数应用于主要的分割损失,同时也作为一个辅助损失,专注于边界区域。我们将边界区域定义为二进制真实分割掩膜的形态膨胀和侵蚀之间差异的非零部分。最终损失如公式 1 所示。Lovasz 表示 Lovasz-Softmax 损失,而 f 是用于膨胀和侵蚀操作的 7 × 7 大小的滤波器。P 表示真实值,B 是形态学操作定义的边界区域。i(j) 是真实分割(边界区域)中的一个像素。y* 是二进制真实值,ŷ 是来自分割模型的预测标签。

4. 实验

    我们在公共数据集 EG1800 [21] 上评估了所提方法,该数据集从 Flickr 收集了带有手动标注标签的图像。该数据集总共有 1,800 张图像,分为 1,500 张训练图像和 300 张验证图像。然而,由于一些 URL 已损坏,我们只能访问 1,309 张训练图像和 270 张验证图像。我们利用第 3.3 节中提到的数据生成方法构建了额外的 10,448 张图像。

     我们使用 ADAM 优化器训练模型,初始学习率设置为 1e−3,批尺寸为 60,权重衰减为 5e−4。我们共训练了 600 个周期,图像分辨率设置为 224 × 224。我们采用两阶段训练方法来训练所提方法。在前 300 个周期内,我们仅训练 CoarseNet 支架。然后,在从上一个步骤初始化 CoarseNet 支架的最佳参数后,我们再次训练整体 ExtremeC3Net 模型,持续 300 个周期。

      我们通过均值交并比 (mIoU) 评估模型,并与包括其他轻量级分割模型在内的最新人像分割模型进行了比较,进行了一系列消融实验。

      最后,我们展示了对面部详细属性的额外注释结果。该数据集覆盖了许多不同的图像,但以下分析表明,数据集对特定种族或年龄存在偏见。从图 5 中可以看出,白人占据了数据集的大部分。此外,年龄群体主要偏向“青年与中年”组。根据我们的分析和数据生成方法的准确性改进,我们给出了哪些属性对于分割准确性更为关键的指导。

4.1 EG1800 数据集的评估结果

      我们将所提模型与在肖像分割领域具有 SOTA 准确性的 PortraitNet [32] 进行了比较。由于 EG1800 数据集中一些样本的 URL 缺失,我们根据论文中的原始方法和官方代码对剩余样本重新训练了 PortraitNet。PortraitNet 的工作还与 BiSeNet、ENet 和 PortraitNet 进行了比较。因此,我们也按照 PortraitNet 的方法重新训练了 BiSeNet 和 ENet,以确保公平比较。

     如表 2 所示,由于训练数据集规模减少,重新训练结果的准确性略有下降。上述方法仅计算卷积和批归一化层的浮点运算 (FLOPs),而这些层占据了总 FLOPs 的大部分。然而,其他操作(如激活和反卷积)也会影响总 FLOPs,在轻量级模型的情况下,这些操作是难以忽视的。因此,除了在官方 ESPNetV2 代码中计算 FLOPs 外,我们还测量了包括所有操作的 FLOPs。计算方法在补充材料中进行了描述。

表2。对所提出的ExtremeC3Net和其他分割模型的EG1800验证结果。DS表示深度可分
卷积。FLOPs(all)统计了所有的操作FLOPs, FLOPs[11]根据ESPNetV2[11]官方统计了FLOPs的个数
代码。在PortraitNet[32]论文中报道了第六列的性能。

      在比较的方法中,DS-ESPNet 采用与 ESPNet 相同的结构,仅将模型中的标准膨胀卷积更改为深度可分离膨胀卷积。对于 ESPNetV2 (2.0) 和 ESPNetV2 (1.5),我们改变了卷积核的通道以减小模型大小。我们还将 DS-ESPNet (0.5) 和 ContextNet12 (0.25) 中卷积核的通道从原始模型减少了一半和四分之一,使得模型参数少于 100K,FLOPs 少于 0.2G。

      从表 2 中可以看出,我们提出的方法在参数数量和 FLOPs 更少的情况下表现出了与其他模型相当或更好的性能。SOTA PortraitNet 在所有实验结果中显示了最高的准确性,甚至比更重的 BiSeNet 性能更好。然而,PortraitNet 仍然需要大量参数,这对在较小设备上使用来说是一个劣势。所提的 ExtremeC3Net 将参数数量减少了 98%,同时 FLOPs 比 PortraitNet 降低了一半,且保持了准确性。ESPNet 和 ESPNet V2 的准确性相似,但在参数数量和 FLOPs 之间表现出权衡。ESPNet V2 的参数多于 ESPNet,但 ESPNet 的 FLOPs 多于 ESPNet V2。Enet 的性能优于这两种模型,但需要更多的 FLOPs。相比之下,我们提出的方法具有更少的参数和 FLOPs。

但准确性优于 ESPNet 和 ESPNet V2。我们的模型准确性比 Enet 低 0.18%,但参数数量约为 Enet 的十分之一。特别是,我们的 ExtremeC3Net 在极轻量级环境中具有最高的准确性。DS-ESPNet(0.5) 和 ContextNet12(0.25) 的参数数量较多,但它们的得分远低于我们的方法。图 7 显示了我们的模型的质量优于其他极轻量级模型。

我们在基于 PyTorch 框架的 Intel Core i7-9700 CPU 环境下比较了所提模型与 SOTA 人像分割模型 PortraitNet 的执行速度。PortraitNet 处理一张图像需要 0.119 秒,而 ExtremeC3Net 仅需 0.062 秒。总之,所提的 ExtremeC3Net 在准确性和速度方面表现出色。

4.2 消融研究

表 3 显示了各种消融实验带来的准确性提升。基线模型使用交叉熵损失在 EG1800 数据集上进行训练。应用 Lovasz 损失、辅助损失以及增加数据集规模都增强了 mIoU。当我们仅使用 Lovasz 损失和辅助损失而不增加额外的 10,448 张图像时,准确性略有提升。然而,当我们同时应用这些损失方法和大规模附加数据集时,准确性从 94.23 提升到 94.97。

表 4 显示了根据卷积过滤器位置组合膨胀比对极轻量级模型的重要性。我们的 ExtremeC3Net 由八个改进的 C3 模块组成。基线设置在所有 3C 模块中使用相同的膨胀比 d,即 d = [2, 4, 8]。改进设置在靠近输入图像的浅层使用较小的膨胀比,而在离输入图像较远的深层使用较大的比率,如表 1 所示。反向设置则将滤波器的膨胀比按相反方向应用,这意味着在深层使用较小的膨胀比。我们的改进设置比基线设置表现更好,而反向设置的准确性则显著低于其他设置。结果表明,为浅层中的局部特征创建小的感受野对极轻量级人像分割至关重要。

图4。在EG1800验证数据集上的定性比较结果

但准确性优于 ESPNet 和 ESPNet V2。我们的模型准确性比 Enet 低 0.18%,但参数数量约为 Enet 的十分之一。特别是,我们的 ExtremeC3Net 在极轻量级环境中具有最高的准确性。DS-ESPNet(0.5) 和 ContextNet12(0.25) 的参数数量较多,但它们的得分远低于我们的方法。图 7 显示了我们的模型的质量优于其他极轻量级模型。

我们在基于 PyTorch 框架的 Intel Core i7-9700 CPU 环境下比较了所提模型与 SOTA 人像分割模型 PortraitNet 的执行速度。PortraitNet 处理一张图像需要 0.119 秒,而 ExtremeC3Net 仅需 0.062 秒。总之,所提的 ExtremeC3Net 在准确性和速度方面表现出色。

4.2 消融研究

表 3 显示了各种消融实验带来的准确性提升。基线模型使用交叉熵损失在 EG1800 数据集上进行训练。应用 Lovasz 损失、辅助损失以及增加数据集规模都增强了 mIoU。当我们仅使用 Lovasz 损失和辅助损失而不增加额外的 10,448 张图像时,准确性略有提升。然而,当我们同时应用这些损失方法和大规模附加数据集时,准确性从 94.23 提升到 94.97。

表 4 显示了根据卷积过滤器位置组合膨胀比对极轻量级模型的重要性。我们的 ExtremeC3Net 由八个改进的 C3 模块组成。基线设置在所有 3C 模块中使用相同的膨胀比 d,即 d = [2, 4, 8]。改进设置在靠近输入图像的浅层使用较小的膨胀比,而在离输入图像较远的深层使用较大的比率,如表 1 所示。反向设置则将滤波器的膨胀比按相反方向应用,这意味着在深层使用较小的膨胀比。我们的改进设置比基线设置表现更好,而反向设置的准确性则显著低于其他设置。结果表明,为浅层中的局部特征创建小的感受野对极轻量级人像分割至关重要。

5. 结论

在本文中,我们提出了 ExtremeC3Net,这是一种极轻量级的双支路模型,由 CoarseNet 和 FineNet 组成,用于解决肖像分割任务。CoarseNet 生成粗略的分割图,而 FineNet 则辅助捕捉对象边界信息的空间细节。我们还为每个网络提出了先进的 C3 模块,根据卷积滤波器的位置精细调整其膨胀比。

通过在公共肖像分割数据集上的实验,我们的模型相比现有的轻量级分割模型表现出色。此外,我们提出了一种简单的数据生成框架,涵盖了两种情况:1)具有真实人类分割标注;2)仅有原始图像。我们还分析了公共数据集中所给出的肖像属性的配置,并研究了各属性之间的偏差对准确性的影响。我们生成的额外标注样本被证明对提高所有属性的分割准确性非常有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值