实时语义分割网络模型-FasterSeg

news/2024/5/20 9:33:17 标签: 网络, 深度学习, 计算机视觉, 语义分割

1. 解决的问题

先前的使用NAS搜索出的语义分割模型推理速度还不够快,且搜索空间有限。如果加入了延迟的限制,搜索出的网络容易出现"崩溃"现象:即模型倾向于低延迟但是准确率也会大打折扣。语义分割要求保留细节和丰富的上下文信息。FasterSeg发现了新的、更广泛的搜索空间,集成了多分辨率分支,为了更好地校准高精度和低延迟目标之间的平衡,提出了一种解耦的、细粒度的延迟正则化方法,解决了模型容易"崩溃"的问题。将FasterSeg扩展为一个共同搜索框架,在同一次运行中同时搜索一个教师和一个学生网络。知识蒸馏进一步提高了学生模型的准确性。FasterSeg不仅取得了sota的准确率,而且在citySpaces数据集上准确率相当的前提下,推理速度快了30%。

2. 简介

分割模型需要高内存而且延迟高,这通常是由于叠加卷积和聚合多尺度特征,还有不断增加的输入图像分辨率造成的。近些年来语义分割的实时性要求愈加突出,由于NAS方法的出现,可以设计出低延迟高效的分割模型,同时准确率几乎不受影响。尽管Auto-DeepLab引入了延迟约束,在网络级搜索空间优化分割任务也取得不错的效果,但是在设计模型上,没有充分利用之前手工设计模型的优点:例如,用于实时分割的网络通常利用具有适当深度、宽度、操作符和下采样率的多分辨率分支,它们对取得较高的准确率有突出贡献。但是这种灵活性没有在NAS中应用出来,并且之前的NAS没有在高精度与低延迟之间做出权衡。

因此论文从人工设计的高效分割网络出发,设计了FasterSeg,旨在做到速度快、准确率高的效果。论文设计了一个特殊的搜索空间,能够支持不同分辨率的多个分支的优化,而非单一主干网络,这些搜索分支自适应地聚合在一起进行最终预测。为了平衡准确率和延迟指标,使用一种解耦和细粒度的延迟正则化,有助于二者的平衡。此外,FasterSeg可以很容易地扩展为协作搜索,即在一次运行中联合搜索一个复杂的教师网络和一个轻量级的学生网络,而这两个模型是通过特征提取来耦合的,目的是提高学生网络的准确率。

本文的贡献:

  • 设计一种适合实时分割的新型NAS搜索空间,可以灵活地搜索和聚合多分辨率分支
  • 一种新颖的解耦和细粒度的延迟正则化,解决了网络训练"崩溃"的问题。
    使用了知识蒸馏,提高了学生网络的准确率。
  • 准确率相当的情况下,速度更快。

3. 相关工作

  • ENet采用早期下采样
  • ICNet在标签指导下使用多分辨率分支的feature map
  • BiSeNet融合了具有下采样的上下文路径的捷径分支和较小滤波步长的空间路径。
  • Auto-DeepLab通过搜索cell和网络级下采样率,灵活控制整个网络的空间分辨率的变化。
  • 只是蒸馏利用知识精化提高模型的准确率和紧凑型,加快训练速度

4. 具体实现

  • 具有多分辨率分支的高效搜索空间

    搜索空间设计的核心动机是:搜索具有整体低延迟的多分辨率分支。论文阐述的NAS框架基于具有可搜索超核(superkenal)的高效的cell,自动选择和聚合不同分辨率的分支。

  • 可搜索的高分辨率分支

    受Auto-DeepLab的启发,我们能够在l层cell内搜索空间分辨率, 其中每个cell从两个连接的前驱获取输入,并输出两个不同分辨率的特征映射,然而,当前探索的架构NAS算法被限制在一个骨干网络上。我们的目标是在这个l层框架中选择不同分辨率的b (b > 1)个分支。具体来说,我们可以为最后一层细胞选择b种不同的最终输出分辨率,并通过回溯对每个分支进行解码。这使得我们的NAS框架能够探索具有不同分辨率的b个独立分支,这些分支逐渐被head模块“学习并聚合”。
    在这里插入图片描述
    上图是FasterSeg的多分辨率分支搜索空间,我们的目标是优化具有不同输出分辨率的多个分支。每个cell都是可单独搜索的,可以有两个输入和两个输出,都有不同的下采样率,在每个cell中,我们可以在单个超级核中搜索膨胀率。为了在不引起延迟的情况下扩大模型容量,我们首先对输入图像进行8倍下采样,然后设置我们可搜索的下样本率s∈{8,16,32}。
    在这里插入图片描述
    上图可以看出,设计出的多分辨率搜索空间覆盖了现有的手动实时分割设计(忽略了未使用的单元)。上面是ICnet,下面是搜索出的Net。分支的选择标准如下:

可搜索的下采样率s∈{8,16,32}、分支数b = 2,超网需要从三种可能的分辨率组合中选择分支:{8,16},{8,16}和{16,32}。对于每个组合,由head模块聚合两个分辨率的分支。
在这里插入图片描述
其中m是搜索出有b个分支的模型,ACC(m)代表准确率和LAT(m)代表延迟。w为权重因子。一般设置α = β =−0.07和目标延迟T = 8.3 ms。
在这里插入图片描述

  • 选择感受野大而且高效的操作

    因为我们的目标是降低推理延迟,所以操作符的执行速度是选择O(操作集合)的直接指标(而不是FLOPs之类的间接指标)。对于空间上下文,大的感受野也是重要的指标。论文分析了比较有代表性的操作符,包括TensorRT上的实际测量延迟,感受野的信息。
    在这里插入图片描述
    上图是不同卷积的参数。延迟是使用TensorRT库在1080Ti上的1×256×32×64大小的输入来测量的。每个算子只包含一个卷积层。接受域(RF)是与标准卷积(第一行)进行比较。

    组卷积通常用于减少浮点数和参数量。group = 2 的卷积和标准卷积相比具有相同的接受域,但速度快了13%,参数量减半(这可能不可取,因为它降低了模型的学习能力),膨胀卷积有一个扩大的接受域,但是延迟非常高。为此设计了一种新的变型“缩放卷积”,其中输入特征映射依次用双线性下采样、标准卷积和双线性上采样进行处理。这种设计降低了40%的延迟,感受野是标准卷积的2倍。搜索空间构成如下:
    在这里插入图片描述
    正如shuffelNet_v2所提到的:网络碎片化会严重影响并行度,从而影响实际效率。为此,我们选择一个顺序搜索空间(而不是一个有方向的无环节点图),即在我们的网络中依次堆叠卷积层。值得注意的是,我们允许在整个搜索空间中单独搜索每个单元格。

  • 可搜索扩展比率的超核

    让每个cell可以灵活选择不同的维度扩展比率。我们寻找连续细胞之间连接的宽度,然而需要考虑的是,算子和宽度的指数可能组合。为此,提出了一个可微的搜索超核,也就是一个支持扩展率集合x∈N+,可以直接搜索扩展率x。我们的连接从窄到宽,逐渐地从超核获取更大的输入/输出维度子集。 在结构搜索过程中,对于每个超核,在随机梯度下降的每一步中,只对一个扩展率进行采样、激活和反向传播。这种设计有助于简化超网、高效利用内存,使用“Gumbel-Softmax”技巧实现。

    Gumbel-Softmax方法:设扩展比的集合为Xi,需要从中采样一个x,采样到每个x的概率为γi,γ是经过归一化的参数。首先采样一个Gumble噪声:oi= −log(−log(u)),其中u是[0,1]区间的均匀分布,然后通过下面公式选择Xi(τ为1)。
    在这里插入图片描述
    按照惯例,在分辨率下降采样时增加通道数量,在搜索空间中,宽度设为X×s,s∈{8,16,32}。我们允许每对连续cell之间的连接灵活地选择自己的扩展比例,而不是在整个搜索空间中都使用单一扩展比。

  • 搜索空间的连续松弛
    将下采样率表示为s,层索引表示为l。将每个cell与两个前驱(下采样率可能不同)输出连接起来:
    在这里插入图片描述
    每个cell最多可以有两个不同的下采样率输出到其后续细胞,:
    在这里插入图片描述
    其中膨胀卷积率Xjs,l采用“Gumbel-Softmax”方法进行采样,α, β和γ都是归一化标量,它们对需要优化的离散架构进行编码。

  1. 具有更细粒度的正则化延迟优化

在搜索过程中,超网或搜索策略经常陷入“局部最小值”,生成的网络结构具有极低的延迟,但准确度较差,特别是在探索的早期阶段这种现象更加。网络更倾向于使用跳跃连接而不是低扩展比,也就是前面描述的"崩溃"现象,原因是搜索极低延迟的网络(例如,简单地选择最轻量级的操作符)比搜索高精度紧凑架构要容易得多。

为了解决“崩溃”问题,提出利用细粒度的、解耦的延迟正则化。首先对延迟进行连续的松弛,也就是把操作O替换成相应的延迟。我们构建了一个包含所有可能操作符的延迟查找表,用来估计松弛过的延迟。实际延迟和估计延迟之间相关性达到了0.993。“崩溃”的核心原因是超网对操作O、下采样率s和扩展比χ的具有不同敏感性。如:“3×3 conv. ×2”和“zoom conv.”操作在延迟方面有很大的差距。窄扩展比和宽扩展比之间也存在类似的延迟差距(但差距比不同的操作要小),然而,像“8”和“32”的下降采样率没有太大的差别,因为分辨率下降采样也带来了输入和输出通道的数量的加倍。
在这里插入图片描述
可以看到,操作和扩展比率对延迟的影响较大,而下采样率对延迟的影响较少:基于这一观察,利用搜索空间的不同粒度, 提出一种正则化延迟优化,我们将超网延迟的计算解耦为搜索空间的三个粒度(O, s, χ)。每个部分用不同的参数正则化,默认设置w1= 0.001, w2= 0.997, w3= 0.0021,这种解耦的细粒度正则化成功地解决了这个“崩溃”问题。

在这里插入图片描述
在这里插入图片描述
左图是不加正则化的优化策略,可以看到网络偏向于准确率低而且延迟低的模型,会出现崩溃现象。而右图随着训练时长的增加,延迟在保持稳步下降的情况下,准确率也在提升。

知识蒸馏

论文描述的NAS框架中,我们可以无缝地扩展到师生网络协同搜索,即在一次运行中协同搜索两个网络。具体来说,我们通过在一个超网中采用两套体系结构来同时搜索一个复杂的教师网络(αT, βT) 和轻量级的学生网络(αS, βS, γS),教师网络并没有搜索扩展比,总是选择最宽的那个。

在这里插入图片描述

上图是联合搜索框架,在搜索过程中优化了两个架构(左图的橙色),从一个复杂的教师网络从头开始训练,蒸馏到一个轻量级的学生(右图的绿色)。这个扩展不会带来额外内存开销,或增大超网大小,因为教师和学生在搜索过程中共享相同的超网权重W。只对学生网络施加延迟约束,而不对教师网络施加。因此搜索出的教师网络,它的搜索空间使用和学生网络相同的搜索空间和超网权值。将从老师T到学生S的蒸馏损失定义为:

在这里插入图片描述
KL表示KL散度。qs iqt i分别代表由S和T预测像素i的logit。总损失函数中,蒸馏损失和分割损失占比相同。

  1. 推导离散体系结构

    一旦搜索完成,我们就可以从α, β和γ推导出我们的离散结构:

    对于α,γ:通过取α和γ的argmax来选择最优操作和扩展比。忽略跳跃连接,以获得一个层次更少的架构和更少的单元。

    对于β:也使用argmax取最大的,找到对当前分辨率进行下采样的最佳位置

    注:以上的参数都是归一化的。如果多分辨率分支的单元有相同运算符、空间分辨率和扩展比率,那么它们将共享cell权值和特征图。这种设计有助于设计更高效的网络。一旦分支中的cell分裂,分支之间的共享就会停止,它们变成独立的分支。

5. 实验细节

5.1 网络结构搜索:

网络总共有16层,下采样率s∈{8,16,32},默认分支数b=2(分支太多会增大延迟),下采样率X = {4,6,8,10,12}。多分辨率分支有1695条不同的路径。对于cell和膨胀卷积率,有(1 + 4 × 5)(15+14+13)+ 53≈3.4 × 1055个不同组合,这将得到一个1058量级的搜索空间。
在这里插入图片描述
上图是FastSeg中使用的cell。左:最终下采样率为16的分cell。右图:是最终下采样率为32的分支cell。其中缩放卷积被大量使用,表明了低延迟和大接收域的重要性。

5.2 训练细节

总损失函数使用分割上的损失和延迟损失两部分,其中λ=0.01。因为α, β和γ体系结构现在被包含在可微计算图中,因此可以使用梯度下降法进行优化。和DARTS中的方法一样,对二阶导采用差分完成一阶近似。把训练集分割为不相交的两个集合trainA和trianB,进行下面的交替优化:
在这里插入图片描述
当我们扩展到我们的师生网络联合搜索,我们有两套网络结构(αT, βT)和(αS, βS, γS),我们的替代优化为:
在这里插入图片描述
在所有的搜索实验中,我们首先对超网进行预训练,前20个epoch的不更新体系结构参数,接下来的30个epoch开始搜索体系结构。

多宽度优化:在超网中累加所有不同宽度的损失不太现实,因此,我们通过训练最大和最小的扩展比来近似多宽度优化。在对超网进行预训练时,我们对每个操作进行最小宽度、最大宽度和2个随机宽度的训练。当我们搜索体系结构参数时,我们用最小的宽度、最大的宽度和Gumbel Softmax从γ中采样的宽度来训练每个算子。

6. 最后


http://www.niftyadmin.cn/n/1715138.html

相关文章

匹马赛跑,1个赛道,每次5匹进行比赛,无法对每次比赛计时,但知道每次比赛结果的先后顺序,最少赛多少次可以找出前三名?

1.实现 答:至少需要比7次。 25匹马随机分成5组,每组比赛一次也即总共比5次先看一下每组马的快慢情况。 我们一开始并不知道这25匹马中谁快谁慢,所以需要筛选出那些跑的较快的马出来去竞争前三名,只能将25匹马随机进行分组比赛&…

高斯滤波的快速实现方法

1. 介绍 二维高斯函数具有旋转对称性,处理后不会对哪一个方向上的边缘进行了过多的滤波,因此相对其他滤波器,具有无法比拟的优越性。但是传统Gauss滤波随着图像尺寸的增加,运算复杂度呈平方上涨,因此需要对其优化改进…

局部色调映射(Local Tone Mapping)

重建视觉外观是色调映射的终极目标。色调映射算法在降低高动态图像(HDR)范围的同时着力保护捕捉到的原始图像的外观。色调映射算子分两种策略,一种是全局的,另一种是局部的。 1. 全局映射算子 每一个像素点将会根据它的全图特征和亮度信息进行映射&…

真实场景超分算法-Real-ESRGAN

1. 介绍 在单张图片超分辨率(Single Image Super-resolution)的问题中,许多方法都采用传统的 Bicubic 方法实现降采样,但是这与现实世界的降采样情况不同,太过单一。 盲超分辨率(Blind Super-resolution)旨在恢复未知且复杂的退化的低分辨率…

可逆网络实现 RAW 和 RGB 图像转换:Invertible Image Signal Processing

1. 摘要 未经处理的 RAW 数据对于图像编辑和计算机视觉来说是一种非常有价值的图像格式。然而,由于RAW 数据的文件大小巨大,大多数用户只能访问经过处理和压缩的 sRGB 图像。为了弥补这一差距,本文设计了一个可逆图像信号处理 (InvISP) pipl…

噪声及降噪算法总结

1. 噪声介绍 噪声是图像中不请自来的信号。当相机拍摄一个亮度十分均匀的区域时,相机输出的结果会不可避免地叠加一部分噪声。 相机的输出信号真实信号噪声信号。由于真实信号的具体值是未知的,所以只能用多次测量的平均值来代替。用数学公式表示就是&a…

基于时空融合的高效率多阶段视频降噪方法-EMVD

1. 介绍 这是Huawei Noah‘s Ark Lab在CVPR2021上的文章。他们针对于终端设备算力有限的条件下,提出了一种有效的视频降噪算法EMVD,其主要特点在于 通过可学习的可逆变换,将图像的亮度和颜色信息,以及不同的频率信息进行分解&am…

模型压缩之知识蒸馏

1. 介绍 1.2 背景 虽然在一般情况下,我们不会去区分训练和部署使用的模型,但是训练和部署之间存在着一定的不一致性: 在训练过程中,我们需要使用复杂的模型,大量的计算资源,以便从非常大、高度冗余的数据集中提取出…