1. 引言
近年来,深度学习领域的不断发展带动了神经网络模型的研究,出现诸如VGG [1] 、ResNet [2] 、UNet [3] 以及DeepLab [4] 等优秀的传统网络模型,前两者用于图像分类,后两者在语义分割领域大放异彩。但是设计这些出色并且高效的神经网络模型需要依赖于专家经验和知识,并且需要花费大量的时间和精力,因此如何针对特定任务自动寻找一个神经网络模型越来越受研究学者的注重。这一课题在深度学习中被称为神经网络架构搜索(Neural Architecture Search, NAS) [5] 。
NAS的关键组成部分是:搜索空间、搜索策略、评价策略。搜索空间定义了有哪些可用的架构作为候选,若引入关于适合某项任务的结构属性的先验知识,可以减小搜索空间的大小并简化搜索;搜索策略定义如何在搜索空间中进行搜索;性能评估策略在神经网络结构搜索中用来估计采样到的神经网络结构的泛化性能。由Google公司提出的NAS-Net [6] 是第一篇NAS工作,NAS-Net使用RNN作为控制器用于生成随机的网络结构,并用目标网络在验证集上的误差作为损失函数训练控制器,因而NAS-Net每一个生成的网络都需要进行完整的训练,这大大降低了NAS-Net的搜索速度。以NAS-Net在CIFAR10数据集上进行图像分类的任务表现为例,其需要500张GPU连续训练28天才取得与当时SOTA网络相近的实验结果。NAS任务因而暴露出搜索时间太长、搜索成本高以及计算资源消耗过大等问题,可微分架构搜索DARTS [7] 的出现在一定程度上缓解了这些缺点。DARTS是一种能够将网络结构变为可微分参数的方法,这意味着网络的训练和架构的调优可以同时进行,且可一边训练一边评价直至收敛。在CIFAR10数据集上,DARTS可以在4小时以内搜索出性能超过ResNet的网络。因此,DARTS可以极大地加速神经网络的设计和优化过程,并且具有非常高的效率和性能。
当前的NAS大多应用于图像分类任务,为了拓展NAS领域的研究深度,本文将DARTS应用于语义分割领域。本文的主要工作如下:
1) 将可微分神经网络结构搜索应用于语义分割领域,建立并设计了U型搜索空间,对分割网络的backbone进行多尺度搜索,通过多尺度结构有效地提取图像在不同分辨率上的特征,通过跳跃连接加快搜索和训练速度。
2) 在The Oxford-IIIT Pet数据集搜索得到的网络最优模型命名为SEARCH-Net,该模型与基准网络UNet相比,mIOU提升14.1%,直接迁移到Camvid数据集上进行测试,比基准网络实验精度提升了20.5%。
2. 相关工作
语义分割是计算机视觉领域的一个重要研究方向,其目的是将图像中的每个像素分配到不同的语义类别中。该技术在许多应用中都有广泛的应用,如自动驾驶、医学图像分析等。在语义分割的发展历程中,最早的方法是基于手工设计的特征提取器和分类器,如基于SIFT [8] 和HOG [9] 的方法。然而,这些方法需要大量的人工设计和调整,且难以适应不同的场景和任务。随着深度学习技术的发展,基于卷积神经网络(CNN)的语义分割方法逐渐成为主流。其中,最早的方法是基于全卷积网络(FCN) [10] 的方法,该方法将传统的卷积神经网络中的全连接层替换为卷积层,从而实现了端到端的像素级别的语义分割。后来,又出现了一系列的改进方法,如U-Net、SegNet [11] 、DeepLab等。尽管这些方法在许多任务中都取得了很好的效果,但它们仍然存在一些缺点。例如,FCN等方法没有考虑到不同尺度的特征对语义分割的影响,导致分割结果不够精细;U-Net等方法虽然考虑了多尺度特征,但其上下采样的方式容易导致信息丢失;DeepLab等方法虽然采用了空洞卷积来扩大感受野,但其计算复杂度较高,难以应用于实际场景中。
神经网络架构搜索(NAS)把自动化超参数搜索技术引入深度神经网络结构的设计过程当中,通过启发式方法自动化地搜索出比人类研究者手工设计的神经网络结构拥有更高性能的神经网络结构。NAS的出现为探索更加高效和精确的语义分割方法提供了良好的思路和方向,因此可采用采用NAS方法针对语义分割任务自动构建模型。可微分架构搜索DARTS可将搜索空间表示成有向无环图的形式,接着通过梯度下降的方式去寻找最优的网络结构。本文设计了不同于DARTS的U型搜索空间,对分割网络的backbone进行多尺度的搜索,缓解传统网络信息丢失的问题。
3. 基于DARTS的图像语义分割方法
3.1. 可微分神经网络架构搜索
可微分神经网络架构搜索(Differentiable Architecture Search,简称DARTS)是一种自动化神经网络架构搜索方法。它通过在训练过程中使用梯度信息来搜索最优的神经网络结构。
DARTS的核心思想是将神经网络的结构搜索问题转化为一个优化问题,DARTS通过引入超图来进行这一转化。即把神经网络架构设计表示成一个有向无环图(超图),超图中的节点代表神经元或特征图,超边代表这些元素之间的连接,这些连接代表神经元之间可能的操作,如卷积、池化或者恒等映射等。而且不同于传统的神经网络结构搜索方法需要在离散的搜索空间中进行搜索,DARTS通过引入可微分的操作来实现连续的搜索空间。这样一来,DARTS可以使用梯度下降等优化算法来搜索最优的网络结构。
DARTS通过首先在当前超图结构上展开整个网络,得到具有权重参数的完整网络,然后再在该网络上进行端到端训练,获取超图结构的梯度信息。超图中每个节点对应的特征图或神经元可以表示为
,每个超边连接表示为
,从而超边结构包括n种可能的操作和n个结构参数
,对于每个超边,如果它存在连接,则
,否则
。因此DARTS的目标便可表述成寻找最优的超边结构组合,所以在搜索过程中,需要对该超图结构进行优化,得到该结构的连接概率并且保证搜索得到的网络架构可导,以控制网络架构的稀疏性。为了实现这一目的,DARTS使用一个softmax函数来将离散选择边的操作弱化为连续空间,这样就保证了网络结构的可微分性。设
为该超边上的连接概率,DARTS的连续松弛化操作表示为:
(1)
最终,DARTS的目标函数可以表示为:
(2)
其中
是训练集,
表示带有超图结构
的神经网络,w是权重参数。L表示损失函数,该函数可以根据不同的任务而更改。在训练过程中,DARTS同时使用梯度下降的方式优化结构参数
和权重参数w,使DARTS能够在不需要重新搜索结构的情况下适应于不同的训练任务。通过不断迭代搜索和优化的过程,DARTS可以自动地搜索出最优的神经网络结构。相比传统的手动设计网络结构的方法,DARTS具有更高的效率和准确性。它可以在保持网络性能的同时,大大减少了人工设计的工作量。
DARTS的搜索流程可用流程图表示,见下图1:

Figure 1. The process of DARTS search network architecture
图1. DARTS搜索网络架构流程
3.2. 搜索空间
有了式(1)和式(2)的理论基础,本文设计了如下搜索空间,如图2所示。
如上图所示,C1到C8表示8个搜索单元,搜索单元下的候选操作为:
1) Conv_3 × 3,3 × 3卷积
2) Conv_5 × 5,5 × 5卷积
3) Dilconv_3 × 3,3 × 3膨胀卷积
4) Dilconv_5 × 5,5 × 5膨胀卷积
5) MBconv_3 × 3,3 × 3深度可分离卷积
6) MBconv_5 × 5,5 × 5深度可分离卷积
7) 恒等连接
与DARTS原本的候选操作集不同,本文新增了MBconv [12] 带有SE注意力机制块的深度可分离卷积,SE (Squeeze-and-Excitation)注意力机制块能够方便地嵌入到神经网络结构中,可以直接放置在卷积层之后,通过全局特征挖掘来调整每个通道的重要性,无需增加过多的参数。此外,SE注意力机制块能够对特征图进行自适应的加权操作,能够更好地融合特定的位置信息和特征信息,从而提高模型的性能和泛化能力。

Figure 2. U-shaped search space architecture
图2. U型搜索空间框架
为了能够获取图像更多的特征信息,基于分治的思想,在搜索空间中设置8个搜索单元4个分辨率尺度,搜索单元的结构如下图3:
在原始分辨尺度设置C1和C8单元,单元中包含64个特征图,C1是下采样过程中的搜索单元,C8是上采样过程中的搜索单元。同理,在二级分辨尺度上,下采样单元C2和上采样单元C7包含128个特征图;在三级分辨尺度上,下采样单元C3和上采样单元C6包含256个特征图;在四级分辨尺度上,下采样单元C4和上采样单元C5包含512个特征图。虽然这8个搜索单元共享统一的候选操作,但经过DARTS搜索过后,由于每个超图的结构参数和网络权重不同,因此每个搜索单元得到的结构也会千差万别。在相同分辨率尺度上,使用与UNet一样的跳跃连接,实现了更多细节信息的传递和融合。
4. 实验
4.1. 实验数据集
为了客观的评价本文的方法,本文使用以下两个公开数据集进行测试:Oxford-IIIT Pet数据集 [13] 和CamVid数据集 [14] 。前者常用于图像分类、目标检测和分割等任务,它由牛津大学和印度理工学院创建,包含了来自不同品种的猫和狗的图像。该数据集包含了37个不同的宠物动物类别,每个类别代表一种特定的猫或狗的品种。每个类别大约有200张不同的图像,总共超过7000张图像。并且数据集中的图像展示了宠物以不同的姿势、背景和光照条件出现,这种多样性有助于训练更健壮、能够较好地泛化到未见过数据的模型。与此同时,数据集中的每个图像都附带有准确和详细的注释,如对象边界框、真实分割掩模和类别标签。这些注释有助于进行目标检测和分割等任务。
后者由剑桥大学的研究人员在2007年创建。该数据集包括700多张精准标注的图片用于强监督学习,可分为训练集、验证集、测试集。这些图像数据通过在剑桥市区的汽车上安装的摄像头拍摄的。CamVid数据集总共包含32个不同的语义类别,包括道路、行人、汽车、建筑物、树木等,因而该数据集的图像变异性较大,包含了在不同季节、不同天气、不同时间和不同地点拍摄的图像。这种多样性使得模型需要具备较强的泛化能力,能够在多样的道路场景中进行准确的语义分割,并且每个像素都被标记为对应的语义类别,这使得CamVid数据集适用于语义分割任务的训练和评估。
4.2. 实验设置
本文选取Dice Loss [15] 作为损失函数,Dice Loss是一种用于语义分割任务的损失函数,它的基本思想是计算预测结果和真实结果的重叠部分,通过最小化两者的差异来优化模型,Dice Loss越小表示模型的预测结果与真实标签越相似。它的计算公式如下:
(3)
其中,N是像素总数,pi是模型预测的第i个像素的值,qi是真实标签的第i个像素的值。Dice Loss的取值范围在0到1之间,当预测结果完全匹配真实标签时,Dice Loss为0;当预测结果与真实标签没有重叠部分时,Dice Loss为1。Dice Loss相比于其他损失函数,如交叉熵损失函数,更适合处理图像分割任务中不均衡的类别问题。它将像素级别的误差考虑在内,能够对小目标和边缘等关键区域进行更精确的预测。在训练过程中,通过最小化Dice Loss来优化模型参数,使得预测结果与真实标签之间的相似度最大化。这样可以帮助模型更好地分割图像,并提供更准确的边界。
为了反应模型分割结果的质量,选用mIOU (Mean Intersection over Union)作为评价指标,其可以用于衡量模型在图像分割任务中的性能。mIOU是通过计算所有类别的交并比的平均值来评估模型的性能。具体而言,对于每个类别,mIOU计算该类别的预测区域与真实区域的交集面积除以它们的并集面积,然后将所有类别的交并比求平均。这样可以得到一个介于0和1之间的值,其中0表示完全不匹配,1表示完全匹配。mIOU的计算公式如下:
(4)
其中,TPi表示第i类别的真正例数(即正确分类为该类别的像素数),FPi表示第i类别的假正例数(即错误分类为该类别的像素数),FNi表示第i类别的假负例数(即未正确分类为该类别的像素数),N表示总类别数。
基于上述的损失函数和评价指标,本文实验在搭载GeForce RTX 3090显卡的服务器上进行,使用Pytorch1.10框架。在模型架构搜索阶段,每一次超网训练轮数为300轮,设定初始学习率为0.001,采用Adam优化器优化;在对搜索出来的架构重新训练阶段,训练轮数为200轮,初始学习率为0.001,采用余弦退火算法自动修正,冲量参数0.9,权重衰减率为0.0005。
4.3. 模型评估
在Oxford-IIIT Pet数据集进行网络搜索,经过300轮的搜索后,把最优的网络保存并命名为SEARCH-Net,将SEARCH-Net在该数据集上重新进行训练,训练的loss和mIOU收敛曲线如下图4和图5,loss损失收敛于0.08,评价指标mIOU最后在0.953上下波动。为了衡量SEARCH-Net的网络性能,选取UNet、FPN [16] 、UNet++ [17] 、SETR [18] 等方法在同一数据集上进行分割效果的比较,分割结果如表1所示。

Figure 4. Accuracy variation chart of loss for SEARCH-Net
图4. SEARCH-Net的loss损失精度变化图

Figure 5. Convergence curve of mIOU for SEARCH-Net
图5. SEARCH-Net的mIOU收敛曲线

Table 1. Comparison with other segmentation methods on the Oxford-IIIT
表1. Oxford-IIIT Pet 数据集实验结果
为了更加直观的比较各种方法语义分割的效果,选取UNet与本文方法以及SETR和本文方法的视觉对比图作为示例:


Figure 6. Visual effects of UNet segmentation (Top) and SEARCH-Net segmentation (Bottom)
图6. UNet分割视觉效果(上)和SEARCH-Net分割视觉效果(下)


Figure 7. Visual effects of SETR segmentation (Top) and SEARCH-Net segmentation (Bottom)
图7. SETR分割视觉效果(上)和SEARCH-Net分割视觉效果(下)
从表1分析可知,基于可微分架构搜索的语义分割技术在实践层面得到验证,在公开数据集Oxford-IIIT Pet上的表现优于传统的语义分割方法FPN和UNet网络,评价指标mIOU相比于基线网络UNet提升了14.1%,与基于transformer的SETR先进网络性能相当。从图6和图7可以看出,基于可微分架构搜索搭建出的网络结构有良好的视觉体验效果。在图6中,UNet网络对猫的分割效果较差,分割轮廓不完整,猫耳朵细节没有完全分割出来,猫的身体部分也有缺失,原因在于该网络在无法完整提图片数据的前景特征信息;本文方法SEARCH-Net对猫的分割效果较好,猫的整体轮廓分割清晰,分割的效果更加显著,说明本文网络提取图像细节特征的能力更强,这归功于包含SE注意力机制的MBconv块,它能够更好地融合特定的位置信息和细节特征信息,从而提高了模型的性能。虽然在数据指标上基于transformer方法的SETR网络效果与SEARCH-Net的分割性能接近,但从图7可以看出,前者的分割效果略逊于本文方法的分割效果,原因在于SETR架构具有大量的自注意力机制和多头注意力机制,这导致了对图像信息过度处理,将椅子靠背底部边缘分割出来,从而导致对猫尾部分的分割出现误差;而本文方法清晰的将猫咪轮廓从椅子上分割出来,有较好的分割效果。
为了更好的体现搜索网络SEARCH-Net的泛化性,将其与基线网络UNet在CamVid数据集进行对比,结果如下表2:

Table 2. Comparison results on the CamVid Dataset
表2. CamVid数据集实验结果


Figure 8. UNet (Top) and SEARCH-Net (Bottom) segmentation results on the CamVid Dataset
图8. 在CamVid数据集UNet分割结果(上)和SEARCH-Net (下)分割结果
由表2中的数据以及分割效果图8可知,SEARCH-Net具有良好的泛化性,经过重新训练后能适用于其他语义分割数据集,使用NAS做语义分割网络搜索具有良好的可行性。
5. 总结
本文将可微分网络架构搜索引入到语义分割当中,提出U型搜索空间以及新的搜索候选操作,并且在不同尺度上进行网络结构的搜索,不仅降低了网络搜索的计算难度,还可以提升网络模型的精度。搜索出来的网络架构SEARCH-Net在Oxford-IIIT Pet数据集上表现良好,与基线网络UNet相比,mIOU提升了14.1%,并且与先进网络SETR相比,网络性能相当。把SEARCH-Net迁移到CamVid数据集上后,网络显示出良好的泛化性能。将可微分网络架构搜索引入到语义分割网络的建设当中,极大地减少了人工设计网络的难度,能使算法自动设计出适应分割任务的网络结构,提升了网络设计的效率。然而本文方法也存在着局限性,主要是在实现过程当中网络搜索需要大量的计算资源,并且推理速度较慢,同时结构也受搜索空间的限制,设计不同的搜索空间会对搜索结果产生影响。但初始的NAS神经网络架构搜索大多只局限于图像分类任务,本文的工作将NAS拓展到语义分割领域,并验证了其可行性,丰富了NAS的任务领域。在接下来的研究当中,计划将剪枝等技术与NAS结合,争取设计出复杂度更低、推理速度更快的语义分割模型。
基金项目
天津市教委科研计划项目(2020KJ115)。