学习汇报汇报

内容

一、DEFECTNET: MULTI-CLASS FAULT DETECTION ON HIGHLY-IMBALANCED DATASETS
二、Swin Transformer: Hierarchical Vision Transformer using Shifted Windows(cvpr)
三、Recurrent U-Net for Resource-Constrained Segmentation(cvpr)
四、实验


论文

一、DEFECTNET: MULTI-CLASS FAULT DETECTION ON HIGHLY-IMBALANCED DATASETS

1.1 ABSTRACT

在本文中,我们提出了一个新的网络结构,即DefectNet,它可以在高度不平衡的数据集上提供多类(包括但不限于)缺陷检测。DefectNet由两条平行路径组成。完全卷积网络和扩展卷积网络,分别检测大型和小型物体。我们提出了一种混合损失,将dice loss和交叉熵损失的作用最大化,我们还采用了泄漏的整流线性单元(ReLU)来处理训练批次中某些目标的罕见出现。在训练批次中某些目标的罕见出现。预测结果显示我们的缺陷网络在检测多类缺陷方面的表现优于最先进的网络。我们的缺陷网络在检测多类缺陷方面优于最先进的网络,在风力涡轮机上的平均准确率提高了约10%。

1.2 INTRODUCTION

一般来说,检测这种异常涉及两个任务,即分割和分类。机器学习技术,特别是最近流行的深度学习方法,已经被提出来同时实现这两个过程,称为语义分割[1]。然而,由于故障类型、故障大小的变化和室外图像采集的不受控制的照明,它们在非常大的背景下检测多个故障的性能仍然受到限制。此外,每种故障类型的发生频率也有所不同,导致数据集高度不平衡。在这篇文章中在风力发电机组上检测缺陷作为解决这一问题的载体的重要应用。

当使用cnn检测小物体时的另一个问题是接受场的大小随着网络深度的增加而减小。用于分类的cnn在卷积层之后使用一个池化层,将来自一层的神经元簇的输出组合成下一层的单个神经元。这导致了空间分辨率降低的特征图,结果是非常小的区域只能用一个像素表示。因此,引入了膨胀的卷积层来扩大滤波器的视场。一般来说,过滤器尺寸的膨胀率(插入更多的零)随着深度的增大而增加。然而,这可能会导致小样本的假阳性。因此,我们在这里通过结合来自传统卷积层的特征映射和扩展的卷积层来减少这个问题。

在本文中,我们提出了一种新的网络, DefectNet,用于检测在一个高度不平衡的数据集上的各种缺陷大小。如图2所示,有两条并行路径,其中一条利用跳过层来检测中到大的对象。附加路径采用扩展的卷积层来增加接受场的大小,用于小物体缺陷检测。这两条路径在结构最后相结合。我们还提出了一个结合了交叉熵和骰子损失的优点的混合损失函数。交叉熵损失补偿了训练批次中一些缺失的类,而dice loss提高了精度和召回率之间的平衡。我们使用LeakyReLU(泄漏校正线性单元)来防止当一些小类没有连续包括在几个训练批次时的零梯度。
在这里插入图片描述

1.3 DEFECTNET

DefectNet的体系结构如图2所示。它结合了两种路径,能够检测到不同的目标大小。第一条路径利用了VGG-19架构和跳过层融合,创建了完全卷积的网络。它是FCN-8网络[1]架构的一个增强版本,在池1和池2中引入了额外的跳过层,以便于包括用来进行更精细预测的低级特征。第二条路径采用扩张卷积(在第2.1节中进一步描述)来检测小物体。卷积层的所有滤波器的核大小都为3×3,但第二条路径的滤波器有零插入来创建扩展卷积。所有的卷积过程都以步幅为1。下面的小节强调了所提出的深度学习网络与传统的深度学习网络的区别。

1.3.1 Dilated convolution

膨胀卷积,也称为膨胀卷积,通过在不损失分辨率的情况下扩大接受域,扩大了滤波器的视野,以合并更大的上下文。在另一个FCN路径的第二组卷积层之后,我们构建了8个扩张的卷积层(图2中显示为粉红色)。膨胀因子l的定义如图2所示。这种结构类似于[13]中提出的基本上下文网络结构,但随着l的减少,我们增加了更多的扩展卷积层。这改进了局部低水平特征,当增加l时,由于扩张滤波器的稀疏性,相邻像素之间的空间关系可能会被忽略。
在这里插入图片描述

1.3.2 Hybrid loss

在图像分割任务中,最常用的损失函数是像素级的交叉熵损失。类别加权技术被用来平衡类别以改善训练。另一个流行的损失是dice loss。dice loss在类不平衡问题上表现得更好,因为它最大化了一个直接度量并集上的区域相交的度量。然而,dice loss的梯度并不像交叉熵的梯度那样光滑,特别是当预测和标签都接近于零时。

每个批处理中的数据并不包含所有的类,这导致了非常嘈杂的训练误差。另一方面,交叉熵损失允许缺失的类对反向传播的影响小于骰子损失。因此,我们提出了在等式中定义的混合损失2,其中加权交叉熵损失Lwce和广义骰子损失Lgdice被合并为训练批中出现的类样本数量的比例(Eq。 3).
在这里插入图片描述
损失的Lwce被定义为Lwce=− ∑ c = 1 K \sum_{c=1}^K c=1K wctclog(yc),其中,K为类数,yc和tc分别表示预测和目标。通常,权值是由像素计数计算出来的,即c类的权值为wc=1/fc,其中fc为c类的像素计数。他们的分数可能接近于零,并导致表现不佳,因为给予较小的类别的权重值明显更高。式4中提出的dice loss,其中ycm和tcm表示像素m对总M个像素的预测和基本真值。Dice loss中的权值通常计算为c类中所有像素的平方和的倒数,但这将优先于小的和不存在的类。因此,在DefectNet中,我们用Lwce中使用的wc来调整骰子损失。
在这里插入图片描述

1.3.2 Leaky rectified linear unit

由于整个数据集不能同时输入神经网络,所以通过随机数据选择分为多个批次。这意味着某些类可能不会出现在特定的批中,从而导致层中的某些节点的激活值为零。反向过程不更新这些节点的权重,因为它们的梯度也为零。这被称为“‘dying ReLU”问题。为了防止这种情况发生,我们使用了leaky ReLU激活函数。它允许一个小的活动(负输入)的梯度,因此反向传播将总是更新权重。leaky ReLU的定义如等式所示5在训练期间,[16]和α被设置为0.1。
在这里插入图片描述

1.4 RESULTS AND DISCUSSION

该缺陷数据集总共包含2,188张图像。三分之二的图像用于训练,其余的用于测试。9个类被分割和识别。其面积和尺寸的统计数据如图3所示。蓝条和红条分别表示每个类的像素数和区域的数量。
在这里插入图片描述
在这个实验中,为了计算目的,每幅图像都被降采样到2000×3000像素。为了进行训练,每张图像被分成重叠的400×400个斑块(图4),每个斑块垂直和/或水平移动20个像素。如果一个小块只包含2个类,那么它将不被使用。我们使用在ImageNet数据库上训练的VGG-19网络来初始化权重和偏差
在这里插入图片描述
表1显示了每个检测类别的准确性。平均精度是由6个缺陷和以前的维修一起计算出来的(因为这些缺陷对监测风力涡轮机的叶片健康状况更为重要)
在这里插入图片描述

1.5 CONCLUSION

本文提出了一种新的多类故障检测架构,DefectNet,其中类样本的数量变化显著。我们解决了一个高度不平衡的数据集使用两个并行的CNN路径来检测不同的目标大小的问题。使用基于VGG-19结构和跳过层的改进FCN来检测大目标。使用扩展的卷积层来替代池化层,从而降低特征映射的分辨率。为了处理在几个连续的训练批次中缺少某些类的问题,采用了一个Leaky ReLU。我们还提出了一种自适应结合加权交叉熵和广义骰子损失的混合损失。

二、Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

2.1 Abstract

本文介绍了一种称为Swin Transformer的新型视觉Transformer,它可以用作计算机视觉的通用backbone。在两个领域之间的差异,例如视觉实体尺度的巨大差异以及与文字中的单词相比,图像中像素的高分辨率,带来了使Transformer从语言适应视觉方面的挑战。为了解决这些差异,我们提出了一个 hierarchical Transformer,其表示是由移位窗口计算的。移位加窗方案将自注意计算限制在非重叠的局部窗口上,同时允许跨窗口连接,从而提高了更高的效率。这种层次结构具有在不同尺度上建模的灵活性,并且对图像大小具有线性的计算复杂度。

2.2 Introduction

在本文中,我们试图扩大Transformer的适用性,使其可以作为一个通用的骨干网络,就像NLP和CNN在视觉中所做的一样。我们观察到,将其在语言领域的高性能转移到视觉领域的重大挑战可以用两种模式之间的差异来解释。其中一个差异涉及到规模。与在语言中的Transformer作为处理的基本元素的单词标记不同,视觉元素在规模上可以有很大的变化,这是一个在对象检测等任务中引起注意的问题。另一个区别是,图像中的像素分辨率比文本中的文字要高得多。存在许多视觉任务,如语义分割,需要在像素级进行密集预测,这对于高分辨率图像上的变压器是难以处理的,因为其自注意的计算复杂度与图像大小是二次的。

为了克服这些问题,我们提出了一种通用的Transformer主干,称为Swin Transformer,它构造层次特征映射,并对图像大小具有线性计算复杂度。Swin变压器通过从小尺寸的块(灰色轮廓)开始,并在更深的变压器层中逐渐合并相邻的块来构建一个层次表示。有了这些层次的特征图,Swin Transformer可以方便地利用先进的技术进行密集预测,如特征金字塔网络FPN或U-Net。线性计算复杂度是通过在分割图像(红色轮廓)的非重叠窗口内局部计算自注意来实现的。每个窗口中的块数量是固定的,因此复杂度与图像大小成线性关系。这些优点使得Swin Transformer适合作为各种视觉任务的通用骨干,而以前基于Transformer的架构,它产生单一分辨率的特征图,具有二次复杂度。
在这里插入图片描述
Swin Transformer的一个关键设计元素是它在连续的自注意层之间的窗口分区的偏移,如图2所示。移动后的窗口连接了前一层的窗口,提供了它们之间的连接,显著提高了建模能力。我们的实验表明移位窗口方法比滑动窗口方法的延迟要低得多,移位窗口方法也证明对所有MLP架构都是有益的。

2.3 Related Work

CNN and variant
CNN是整个计算机视觉的标准网络模型。虽然CNN已经存在了几十年的,但直到AlexNet的引入,CNN才开始成为主流。从那时起,更深层次、更有效的卷积神经结构被提出来进一步推动计算机视觉中的深度学习波,如VGG、GoogleNet、ResNet、DenseNet、HRNet、EfficientNet。
Self-attention based backbone architectures
同样受到自注意层和变压器架构在自然语言处理领域的成功的启发,一些作品采用自注意层来取代流行的ResNet中的部分或全部空间卷积层。在这些工作中,自注意在每个像素的局部窗口内计算,以加快优化,它们比对应的ResNet架构获得了略微更好的精度/FLOPs权衡。然而,它们昂贵的内存访问导致它们的实际延迟明显大于卷积网络。我们建议使用滑动窗口,我们建议在连续层之间移动窗口,这允许在一般硬件中更有效地实现。
Self-attention/Transformers to complement CNNs
另一项工作是用自我注意层或Transformer来增强标准的CNN架构。自注意层可以通过提供编码远程依赖或异构交互的能力来补充主干或头部网络。近年来,Transformer中的编解码器设计已被应用于目标检测和实例分割任务。我们的工作探索了Transformer的基本视觉特征提取,是这些作品的补充。
Transformer based vision backbones
ViT的开创性工作直接将Transformer架构应用于不重叠的中型图像补丁上进行图像分类。与卷积网络相比,它在图像分类上取得了令人印象深刻的速度-精度权衡。ViT在图像分类方面的结果令人鼓舞,但其架构不适合作为密集视觉任务或输入输入时的通用骨干网络由于其低分辨率的特征图和图像大小的二次增加。

2.4 Method

2.4.1 Overall Architecture

图3显示了Swin Transformer架构的概述,它说明了一个小版本(SwinT)。它首先通过一个patch分割模块将一个输入的RGB图像分割成不重叠的patch,比如ViT。每个patch都被视为一个“token”,其特性被设置为原始像素RGB值的连接。在我们的实现中,我们使用了4×4的patch大小,因此每个patch的特征维度是4×4×3=48。在这个原始值特征上应用一个linear embedding层,将其投射到一个任意维度(记为C)。
在这里插入图片描述

在这些Transformer blocks上应用了几个具有改进的自注意计算的Swin Transformer blocks块(SSwin Transformer blocks)。Transformer blocks保持了tokens的数量(H/4×W/4),并与linear embedding一起被称为“Stage 1”。
为了生成层次表示,随着网络的深入,patch merging层就减少了tokens的数量。第一个patch merging层将每一组2×2个相邻patch的特征连接起来,并在4c维连接的特征上应用一个linear层。这将tokens的数量减少了2×2=4的倍数(2×分辨率的降采样),输出维度设置为2C。然后应用Swin Transformer blocks进行特征变换,分辨率保持在H/8×W/8。这个patch merging和特征转换的第一个块被表示为“Stage 2”。
这个过程重复了两次,如“Stage 3”和“Stage 4”。
具有与典型卷积网络相同的特征图分辨率,如VGG和ResNet。因此,所提出的架构可以方便地取代现有方法中的各种视觉任务。
Swin Transformer block
Swin Transformer 是通过将 Transformer中的标准多头自注意(MSA)模块替换为基于移位窗口的模块。如图3(b)所示,一个Swin Transformer block由一个基于移位窗口的MSA模块组成,然后是一个中间具有GELU非线性的2层MLP。在每个MSA模块和每个MLP之前应用一个LayerNorm(LN)层,在每个模块之后应用一个残差连接。

2.4.2 Shifted Window based Self-Attention

标准的Transformer体系结构及其对图像分类的适应都进行全局自关注,其中计算一个token和所有其他tokens之间的关系。全局计算导致了关于tokens数量的二次复杂度,这使得它不适合许多需要大量标记来进行密集预测或表示高分辨率图像的视觉问题。
Self-attention in non-overlapped windows
为了有效地建模,我们建议在局部窗口内计算自注意。这些窗口被安排成以不重叠的方式均匀地分割图像。假设每个窗口包含M×M块,全局MSA模块的计算复杂度和一幅h*w的图片基于窗口的计算复杂度:
Ω(MSA) = 4hwC2 + 2(hw)2C, (1)
Ω(W-MSA)=4hwC2+2M2hwC,(2)
其中,前者与patch总数hw之间为二次型,当M固定(默认设置为7)时,后者为线性型。全局自注意计算对于一个大的hw通常是不可承受的,而基于窗口的自注意是可扩展的。
Shifted window partitioning in successive blocks
基于窗口的自注意模块缺乏跨窗口的连接,这限制了其建模能力。为了在保持非重叠窗口计算效率的同时引入跨窗口连接,我们提出了一种移位窗口划分方法,该方法在连续的Swin Transformer 块中的两种划分配置之间交替进行。
如图2所示,第一个模块使用规则的窗口划分策略,从左上角的像素开始,8×8特征映射均匀地划分为2个×2窗口,大小为4×4(M=4)。然后,下一个模块采用一个窗口配置,从前一层的窗口中,替换窗口( ⌊ M / 2 ⌋ \lfloor M/2 \rfloor M/2 ⌊ M / 2 ⌋ \lfloor M/2 \rfloor M/2)像素。

采用移位窗口划分方法,连续的Swin Transformer blocks计算为:

z ^ l \hat z^l z^l z l z^l zl分别表示方块l的(S)W-MSA模块和MLP模块的输出特性;W-MSA和SW-MSA分别表示基于窗口的使用规则和移动窗口划分配置的多头自注意。移位窗口划分方法在上一层中引入了相邻的非重叠窗口之间的连接,在图像分类、目标检测和语义分割等方面都是有效的,如图4所示:
在这里插入图片描述
Efficient batch computation for shifted configuration
移位窗口分区的一个问题是,它将导致更多的窗口,从移位配置中的( ⌊ M / 2 ⌋ \lfloor M/2 \rfloor M/2 ⌊ M / 2 ⌋ \lfloor M/2 \rfloor M/2)到 ⌊ M / 2 ⌋ \lfloor M/2 \rfloor M/2+1, ⌊ M / 2 ⌋ \lfloor M/2 \rfloor M/2+1),并且一些窗口将小于N×M。一个简单的解决方案是将较小的窗口填充到M×M的大小,并在计算注意力时屏蔽填充的值。当常规分区中的窗口数量很小时,例如2×2,使用这个简单的解决方案增加的计算量相当大(2×2→3×3,是原来的2.25倍)。在这里,我们提出了一种更有效的批处理计算方法,即向左上角的方向循环移动,如图4所示。在此转移之后,批处理窗口可能由几个在特征图中不相邻的子窗口组成,因此使用掩蔽机制将自注意计算限制在每个子窗口内。通过循环位移,批处理窗口的数量保持在与常规窗口划分的数量相同,因此也是有效的。

2.4.3 Architecture Variants

我们建立了我们的基本模型,称为Swin-B,该模型具有类似于ViTB/DeiT-B的模型大小和计算复杂度。我们还介绍了Swin-T、Swin-S和Swin-L,它们分别是模型大小和计算复杂度约为0.25×、0.5×和2×的版本。需要注意的是,Swin-T和Swin-S的复杂性分别与ResNet-50(DeiT-S)和ResNet-101相似。窗口大小默认设置为M=7。这些模型变体的体系结构超参数是:

  • Swin-T: C = 96, layer numbers = {2, 2, 6, 2}
  • Swin-S: C = 96, layer numbers ={2, 2, 18, 2}
  • Swin-B: C = 128, layer numbers ={2, 2, 18, 2}
  • Swin-L: C = 192, layer numbers ={2, 2, 18, 2}

其中,C为第一阶段隐藏层的信道数。

2.5 Experiments

2.5.1 Image Classification on ImageNet-1K

对于图像分类,我们在ImageNet-1K上对所提出的Swin Transformer进行了基准测试,它包含来自1000个类的1.28M训练图像和50K验证图像。报告了单一作物的最高精度。我们考虑了两种训练设置:

  • Regular ImageNet-1K training: batch size = 1024, learning rate = 0.001, weight decay = 0.05
  • Pre-training on ImageNet-22K and fine-tuning on ImageNet-1K:我们还在更大的ImageNet-22K数据集上进行了预训练,其中包含1420万张图像和22K类。使用的 batch size为4096,learning rate为0.001,weight decay为0.01。在ImageNet-1K微调中,我们对模型训练为30个epochs,batch size为1024,恒定的learning rate为10−5,权重衰减为10−8
    Results with ImageNet-22K pre-training
    We also pretrain the larger-capacity Swin-B and Swin-L on ImageNet-22K. Results fine-tuned on ImageNet-1K image classification are shown in Table 1(b)。
    在这里插入图片描述
    在这里插入图片描述

2.5.2 Object Detection on COCO

我们考虑了四种典型的目标检测框架: Cascade Mask R-CNN、ATSS、RepPoints v2 和 Sparse RCNN 。对于这四个框架,我们使用相同的设置: multi-scale training(调整输入,这样短的一面在480和800之间,而长的一面最多1333), AdamW(初始学习率0.0001,重量0.05的下降,批大小16)等。请注意,虽然 Swin Transformer和ResNe(X)t由于它们的层次特征图,可以直接适用于上述所有框架,但DeiT只产生单一的特征图分辨率,不能直接应用。为了公平的比较,我们使用反褶积层构建DeiT的层次特征图。
在这里插入图片描述
在这里插入图片描述

2.5.3 Semantic Segmentation on ADE20K

在这里插入图片描述

2.6 Conclusion

Swin Transformer在COCO目标检测和ADE20K语义分割方面取得了最先进的性能,明显超过了以往的最佳方法。我们希望Swin Transformer在各种视觉问题上的强大性能将鼓励视觉和语言信号的统一建模。基于移动窗口的自注意作为Swin Transforme的关键元素,对视觉问题是有效的,并期待研究其在自然语言处理中的应用。

三、Recurrent U-Net for Resource-Constrained Segmentation

3.1 Abstract

最先进的分割方法依赖于非常深的网络,如果没有非常大的训练数据集,这些网络并不总是容易训练,而且在标准gpu上运行往往相对较慢。在本文中,我们引入了一种新的递归U-Net架构,它保持了原始U-Net的紧凑性,同时大大提高了其性能,直到它在几个基准上优于最新的水平。

3.2 Introduction

虽然最近的语义分割方法取得了令人印象深刻的结果,但它们需要非常深的网络,它们的架构倾向于关注高分辨率和大规模的数据集,并依赖于预先训练的骨干。例如,最先进的模型,如Deeplab,PSPnet和RefeneNet,使用ResNet101作为它们的骨干,这导致了高GPU内存使用和推理时间,并使它们在功率有限的环境中运行不理想。也许更重要的是,训练非常深的网络通常需要大量的训练数据或接近ImageNet的图像统计数据,这可能不适用于生物医学图像分割等领域,在这些领域,更紧凑的U-Net架构仍然是普遍的。

在本文中,我们认为这些最先进的方法不能自然地推广到资源约束的情况,并引入了一种新的循环U-Net架构,它保持了原始U-Net的紧凑性,同时大幅提高了它的性能,它在5 hand-segmentation datasets上的性能优于目前的技术水平。
在这里插入图片描述

我们的模型只有30万个参数,比基于ResNet101的DeepLabv3+和RefineNet要小得多,分别有40亿和1.18亿个权重。这有助于解释为什么我们可以在光谱任务上优于最先进的网络:预先训练好的ImageNet特性不一定是最好的,训练集也不像城市景观那么大。因此,大型网络往往过度拟合,表现不如从头开始训练的紧凑模型。

标准的U-Net将图像作为输入,处理它,并直接返回一个输出。相比之下,我们的架构迭代地改进了分割掩码和网络的内部状态。这模仿了人类的感知,就像在有影响力的自动背景论文中一样:当我们观察一个场景时,我们的眼睛经历了眼跳运动,我们积累了关于场景的知识,并不断地完善我们的感知。为此,我们保留了U-Net的整体结构,但在其一些内层上构建了一个循环单元,用于内部状态更新。与图2(b)中简单的CNN+RNN架构,通常用于视频或体积分割相比,这使得网络能够跟踪和迭代更新,而不仅仅是一个单层的内部状态。这使我们可以灵活地选择我们用于递归目的的内部状态的部分,并探索我们的方案的变体。
在这里插入图片描述
我们展示了我们的循环U-Net在几个任务上的好处,包括手分割,视网膜血管分割和道路分割。我们的方法始终优于早期和更简单的递归分割方法。

因此,我们的贡献是一种有效的循环地进行语义分割的方法,它可以在训练数据量和计算能力有限的环境中进行操作。由于参数共享,它不需要比标准的U-Net更多的内存,也不需要像其他最先进的网络那样大的训练数据集。它是实用的实时应用,达到55帧每秒(fps)分割230⇥306图像在一个NVIDIA titanX与12G内存。此外,如图1所示,我们可以通过减少迭代次数来用一些精度换取速度。最后,当我们关注资源受限的应用程序时,我们的模型可以通过修改其主干架构,很容易地在标准基准测试上具有竞争力。

3.3 Related Work

Compact Semantic Segmentation Models
最先进的语义分割技术依赖于非常深的网络,这使得它们不适合于资源有限的场景,如实时应用程序和只有有限数量的训练数据时。在这种情况下,最好使用更紧凑的网络,这类网络主要分为两类。
第一组具有编码器-解码器架构。其中,U-Net已经在许多任务上证明了其有效性和多功能性,特别是在生物医学图像分析方面,它仍然是一个最受欢迎的任务。
第二种类型涉及多分支结构,以融合不同分辨率下的低级和高级特性。这些都需要仔细的设计,以平衡速度和性能。相比之下,U-Net依赖于更简单的跳过连接,因此,不需要一个特定的设计,这在很大程度上促进了它的流行。
Recurrent Networks for Segmentation
循环分割的思想早于深度学习时代,并首次在自动上下文和循环随机森林中提出。它启发了许多最近的方法,包括一些依赖于深度网络的方法。将改进后的U-Net产生的分割掩模与原始图像一起作为输入传回,从而导致分割掩模的逐步细化。可以在分割网络的输出中可以添加一个标准的递归单元,而不是在递归过程中包含整个网络,如图2(b)所示。
此外,我们利用之前的分割结果作为输入,而不仅仅是每次迭代中相同的图像。迭代细化也被用于姿态估计。所得到的方法都涉及连续的模块,通过对每个模块的输出进行评估的损失函数来细化预测,这使得它们与图2(a).所示的模型相似。与我们的方法不同的是,这些方法不在连续的模块之间共享参数,因此需要更多的参数,并远离我们的目标,以获得一个紧凑的网络。此外,它们不涉及受RNN启发的记忆单元来跟踪内部隐藏状态。

3.4 Method

我们现在介绍了我们的新的循环语义分割架构。为此,我们首先讨论框架的总体结构,然后提供它所依赖的循环单元的细节。最后,我们简要地讨论了该方法的训练策略。

3.4.1 Recurrent U-Net

我们依赖U-Net架构作为我们的方法的骨干。如图3(a)所示,U-Net具有编码器-解码器结构,在相应的编码层和解码层之间有跳过连接,允许网络保留低级特征进行最终预测。我们的目标是在资源受限的环境中操作,我们希望保持模型相对简单。因此,我们依赖于一个U-Net设计,其中第一个卷积单元有8个特征通道,并且,按照原始的U-Net策略,在编码器中的每个池化层后,通道数加倍。与双线性插值相比,解码器依赖于转置卷积来提高模型的表示能力。我们在所有卷积层中使用组规格化,因为我们通常依赖于非常小的批处理大小。
在这里插入图片描述
我们的贡献是对 1)预测的分割掩码s 2)网络的多个内部状态进行递归整合。
前者可以通过简单地在每次循环迭代t时,将之前的分割掩模 s t − 1 s_{t−1} st1连接到输入图像上,并将得到的连接张量通过网络传递来实现。对于后者,我们建议用一个循环单元来替换U-Net的编码层和解码层的一个子集。下面,我们首先将这个单元形式化,然后讨论其内部机制的两种变体。
为了正规化我们的递归单位,让我们考虑在递归的迭代t时的过程。此时,网络将一个与先前预测的分割掩码 s t − 1 s_{t−1} st1连接的图像x作为输入。然后用 e t l e^l_t etl表示第 l t h l^{th} lth个编码层的激活情况,用 d t l d^l_t dtl表示相应解码层的激活情况。
我们的递归单位以它自己先前的隐张量 e t l e^l_t etl h t h_{t} ht作为输入,并输出相应的激活 d t l d^l_t dtl,以及新的隐张量 h t − 1 h_{t-1} ht1。请注意,为了模拟U-Net的计算,我们在循环单元中使用了多个编码层和解码层。

3.4.2 Dual-gated Recurrent Unit

作为第一个循环架构,我们从门控循环单元(GRU)中获得灵感。然而,如上所述,我们的递归单元取代了分割网络的多个编码和解码层。因此,我们相应地修改了这些方程式,但保留了GRU的潜在动机。我们的体系结构如图3.©.所示。
具体来说,在迭代t时,给定激活量和之前的隐藏状态 e t l e^l_t etl,我们的目标是生成一个隐藏状态的候选更新 h t h_{t} ht,并根据之前隐藏状态张量的不同元素的可靠性将其与前一个结合起来。为了确定这种可靠性,我们使用了一个由张量定义的更新门:
z z z = σ σ σ( f z f^z fz( e l t e^{l_t} elt)) (1),
类似地,我们得到的候选门更新为:
h ^ \hat h h^ = t a n h tanh tanh( f h f_h fh(r ⋅ \cdot e l t e^{l_t} elt )) (2),
r是一个重置张量,允许我们屏蔽用于计算 h ^ \hat h h^的部分输入。计算为:
r r r = σ σ σ( f r f_r fr( e l t e^{l_t} elt)) (3) ,
新的隐藏状态被计算为:
h t h_t ht = z z z ⋅ \cdot h t − 1 h_{t−1} ht1 + ( 1 − z ) (1 − z) (1z) ⋅ \cdot h ^ \hat h h^ (4)
最后,我们预测了循环单元的输出,它对应于第 l t h l^{th} lth个解码层的激活情况为:
d t l d^l_t dtl = f s f_s fs h t h_t ht) (5)
fs(·)是一个简单的卷积块。由于它依赖于两个门,r和z,所以我们将这种循环架构称为双门控循环单元(DRU)与GRU的一个主要区别是,我们在内部操作中使用多层编解码器网络,而不是简单的线性层。此外,与GRU相比,我们在这些内部计算中没有直接使用隐藏状态 h t − 1 h_{t−1} ht1。这使得我们与原始的U-Net相比,不必增加编码层和解码层中的信道数量。然而,隐藏状态是间接使用的,因为通过递归, e t l e^l_t etl依赖于 d t − 1 l d^l_{t-1} dt1l,它是从 h t − 1 h_{t−1} ht1计算出来的。

3.4.3 Single-Gated Recurrent Unit

我们的实验证明,上述DRU在迭代细化分割方面是有效的。然而,它的缺点是它包含了三个编解码器网络,这可能会成为内存密集型网络,这取决于`的选择。为了降低成本,我们引入了一个简化的循环单元,它依赖于一个单门,因此被称为单控循环单元(SRU)。
具体来说,如图3(d)所示,我们的SRU具有类似于DRU的结构,但没有复位张量r。因此,除了候选隐藏状态外,方程基本相同。正如我们的结果所示,这在分割精度方面的损失很小

3.5 Experiments

我们比较了两种版本的循环U-Net的技术任务,包括手分割、视网膜血管分割和道路勾画。我们的模型的超参数是通过验证得到的,如在补充材料中所述。我们进一步证明,通过增加U-Net编码器的大小,我们进一步证明了我们的想法背后的核心思想也适用于非资源受限制的场景,如城市景观。
手数据集 :我们报告了我们的方法在标准的手分割基准测试上的性能,如GTEA 、EYTH、EgoHand和HOF。然而,这些图像相对较小,总共最多有4800张图像,如表1所示。为了在一个更大的数据集上评估我们的方法,我们因此获得了我们自己的方法。
在这里插入图片描述

视网膜血管:我们使用了流行的驱动器数据集。其中包含40张用于临床诊断的视网膜图像,其中33张未显示任何糖尿病视网膜病变征象,7张显示轻度早期糖尿病视网膜病变征象。这些图像被分为训练组和测试组,每组有20张图像。
公路数据集:我们使用了马萨诸塞州道路数据集。它是最大的公开可获得的空中道路图像集合之一,包括城市和农村社区,有许多不同类型的道路,从小路到高速公路。数据分为1108张训练图像和49张测试图像
城市景观:我们使用了最近的城市景观数据集。这是一个非常具有挑战性的数据集,具有高分辨率的1024⇥2048图像。它有5000张精细注释的图像,这些图像被分成训练/验证/测试集,包含2975/500/1525张图像。注释了30个类,其中19个类用于训练和测试。

我们现在比较了我们的方法的两个版本的最新状态和上面介绍的基线在手分割,视网膜血管分割和道路勾画的任务。我们把这些方法分为轻方法和重方法。轻模型包含更少的参数,并且从头开始训练,而重模型使用预先训练的深度模型作为主干。

结果分析

正如第4.1节中讨论的,我们使用4个公开的数据集和我们自己的大规模数据集测试了我们的方法。
在这里插入图片描述表3显示,DRU-VGG16的性能优于ours-DRU,例如,在KBH上的0.02mIoU点。然而,这是要付出代价的。准确地说,DRU-VGG16有41.38M的参数。这比ours-DRU大100倍,后者只有0.36M的参数量,此外,DRU-VGG16的运行速度仅为18帧/秒,而ours-DRU则达到61帧/秒。

视网膜血管 ours-DRU产生了最好的mIOU、mPrec和mF1分数。有趣的是,在这个数据集上,它的性能甚至优于更大的DRU-VGG16和DeepLabV3+,后者在这项任务上的表现相对较差。我们认为,这是由于只有有限的数据,这导致了如此非常深的网络的过拟合。
在这里插入图片描述
显示我们关于道路分割的结果如表5所示。在这项任务上,我们的表现也明显地超过了ImageNet预训练,有没有ImageNet预训练。
在这里插入图片描述

3.6 Conclusion

我们引入了一种新的递归U-Net架构,它保持了原来的紧凑性,同时大大提高了其性能。其核心是,循环单元包含了分割网络的几个编码和解码层。在未来的工作中,我们将把我们的循环单元的方法扩展到U-Net以外的其他骨干和多尺度的循环架构。


实验

这周尝试了几种新的网络模型:UNet++、U2Net、U2Netp、DeepLabV3、LinkNet,没有使用预训练模型,因为裂缝图片数量比较小,训练非常深的网络通常需要大量的训练数据或接近ImageNet的图像统计数据,可能不适用于缺陷的图像分割等领域,在这些领域,更紧凑的U-Net架构仍然是普遍的。
下面是一些网络模型:
UNet++:
在这里插入图片描述
DeepLabV3:
在这里插入图片描述
U^2WNet:
在这里插入图片描述

下面是在瓷砖的缺陷数据集上验证的一些结果,实验次数有限,但随着epoch的增加,效果会更好,:
在这里插入图片描述
在上图所示,U^2Net和AttU_Net效果是比较好的,而Deeplab效果不太好的原因可以是数据集的数量不够,参数太多,不能很好的拟合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值