YoloV8改进策略:下采样与上采样改进|

news2024/12/27 13:02:10

摘要

河流冰语义分割是一项关键任务,它可以为我们提供河流监测、灾害预测和交通管理所需的信息。以往的工作主要集中在提高准确性上,但对于实际应用而言,效率也同样重要。在本文中,我们提出了一种实时且准确的河流冰语义分割网络,命名为FastICENet。该网络架构主要由两个分支组成,即一个浅层高分辨率空间分支和一个深层上下文语义分支,这两个分支都是为了应对遥感图像中河流冰的尺度多样性和不规则形状而精心设计的。然后,在上下文分支中采用了基于轻量级Ghost模块的新型下采样模块和密集连接块,以降低计算成本。此外,还采用了一种可学习的上采样策略DUpsampling来替代常用的双线性插值,以提高分割精度。我们在三个公开可用的数据集(NWPU_YRCC_EX、NWPU_YRCC2和Alberta River Ice Segmentation Dataset)上进行了详细的实验。实验结果表明,我们的方法在与竞争方法相比时达到了最先进的性能。在NWPU_YRCC_EX数据集上,我们的分割速度可以达到90.84FPS,分割精度可以达到 90.770 % 90.770\% 90.770%的mIoU,这也说明了我们的方法在准确性和速度之间取得了良好的平衡。我们的代码可在https://github.com/nwpulab113/FastICENet上获得。

1、引言

图像语义分割在计算机视觉中仍然是一项具有挑战性的常规任务,广泛应用于地理信息系统[1,2]、自动驾驶、医学图像分析、视频监控、灾害预测[3]等领域。在河流冰语义分割领域,准确的分割结果可以为河流监测[4,5]、灾害预测[6]和交通管理提供关键信息,尤其是对于纬度跨度较大的河流而言。同时,分割模型往往需要部署到一些计算资源有限的水文站。因此,在实际应用中,需要构建既高效又准确的模型。

对于河流冰来说,获得可靠的分割结果十分困难。在大多数情况下,图像中的浮冰大小不一,形状不规则,这就要求网络具备提取多尺度特征的能力。随着深度学习方法的快速发展,许多基于深度卷积神经网络的优秀语义分割算法被提出。其中大多数会采用ResNet[7]、DeepLab[8]、Transformer[9]等骨干网络来提取有意义的特征。尽管这些复杂的网络提高了准确性,但它们的分割速度非常慢。通常,一些高精度网络模型的容量非常大,这使得它们难以在生产设备上部署。这促使我们为我们的任务设计一个更灵活的网络。

然而,追求时间效率模型并不容易实现。大多数实时深度神经网络选择轻量级骨干网络并减少特征通道数[10]等方法。然而,这些方法会降低网络捕捉细节信息的能力,从而进一步损害准确性。
我们需要构建一个既准确又快速的河流冰语义分割网络,以满足轻量级设备快速处理数据的需求。河流冰的实时和准确语义分割面临两个主要问题:(1)一些语义分割网络的分割精度非常高,但由于其模型结构非常复杂,而一些轻量级终端往往不具备实验室服务器的计算能力,导致分割速度慢,难以及时处理传感器传输的图像;(2)虽然一些轻量级网络可以满足实时要求,但其简单的网络结构导致分割精度低,难以实际应用。

为此,我们提出了一个双分支分割网络,即FastICENet,以提高准确性和效率。该网络受到[11]的启发,由一个空间分支和一个上下文分支组成。空间分支是一系列卷积和非线性映射层的堆叠,用于获取局部区域的细节。上下文分支旨在提供深层的语义信息,以便区分不同类型的对象。这达到了一个更复杂的分支,但也更耗时。因此,为了加快分割速度,我们采用了下采样和Ghost模块策略来降低上下文分支的分析成本。此外,由于河流冰图像中存在许多小冰块,我们采用了一种可学习的上采样策略DUpsampling来替代常用的双线性插值,以提高分割精度,特别是对于小冰块。
在这里插入图片描述

本文主要贡献总结如下:

  1. 我们采用双分支结构,并利用可学习的上采样策略DUpsampling替代常用的双线性插值,构建了一个名为FastICENet Accuracy Version(FastICENet(acc))的网络,以解决河流冰图像中尺度多样性和处理大量小冰块的问题。与最先进的方法相比,FastICENet(acc)表现出色,在NWPU_YRCC_EX数据集上达到了91.86%的mIoU,如图1所示,这是目前最高的分割精度。

  2. 我们开发了一个时间和精度平衡的模型FastICENet,该模型在上下文分支中采用了新的下采样模块和基于轻量级Ghost模块的密集连接块。这种设计改进在保持高分割精度的同时,显著提高了速度。

  3. 我们扩展并重标记了两个河流冰数据集,即NWPU_YRCC_EX和NWPU_YRCC2,现在这两个数据集都已公开可用。与Alberta River Ice Segmentation Dataset [12]一起,我们在三个公共数据集上进行了实验。与最近的实时语义分割方法相比,FastICENet在精度和速度之间达到了最先进的权衡,如图1所示。

本文的其余部分组织如下:第2节总结了实时语义分割和冰分割的相关工作。第3节描述了所提出的方法。第4节介绍了实验配置并分析了结果。最后,第5节给出了结论。

2、相关工作

2.1、实时语义分割

考虑到语义分割需要预测像素级别的标签,而一张遥感图像可能包含数百万个像素,因此这是一项耗时的任务。为解决这一问题,已进行了各种努力。一些研究人员通过裁剪或调整输入图像的大小来降低计算复杂度,如SNet [13]和ICNet [14]。一些方法通过减少网络通道数来提高推理速度,如SegNet [15]和ENet [16]。其他方法大多采用轻量级分类网络作为骨干网络,并精心设计网络以提高分割速度并弥补精度下降。例如,EDANet [17]提出了一种使用非对称卷积的高效密集模块的新网络架构。FastSCNN [18]在深度卷积神经网络中采用了跳跃连接,并提出了一个浅层学习模块来进行下采样,以实现快速有效的多分支低级特征提取。STDC [19]通过去除结构冗余,提出了一种新颖且高效的结构,即短期密集拼接网络(ShortTerm Dense Concatenate network)。PIDNet [20]受PID控制器启发,提出了一种实时语义分割网络。

2.2、冰分割

由于深度学习的优异表现,许多领域和应用都取得了快速发展和巨大进步。智能河流冰监测就是其中之一。Wang等人[21]使用基本的深度卷积神经网络,利用融化期间收集的双极化SAR场景来估算冰浓度。Singh等人[22]采用了一些基于卷积神经网络(CNN)的语义分割模型(如UNet[23]、SegNet[15]、DeepLab[24]和DenseNet[25])来将河流冰图像分割为水以及两种不同类型的冰(漂流冰和锚定冰)。ICENet[26]是一种用于河流冰分割的语义分割深度卷积神经网络,它使用位置和通道注意特征的融合。ICENetv2[27]根据河流冰的特性设计了一个多尺度特征融合框架,用于细粒度的河流冰分割。这些模型不断提高了性能,但它们很少关注速度,无法满足实时要求。在本文中,我们提出了一种实时且准确的河流冰语义分割网络,名为FastICENet。

河流冰的外观在尺度、颜色、纹理和形状上差异很大。特别是,河流冰的大小在图像中从几个像素到数千个像素不等。ICENet[26]和ICENetv2[27]表明,具有更精细的空间分支和深层上下文语义分支的双分支网络结构(如BiSeNet[11])非常适合分割具有尺度多样性特征的河流冰。

3、方法

3.1、总体架构

所提出的FastICENet的架构如图2所示。它由两个分支组成:空间分支和上下文分支,分别提取低层次的更精细的信息和深层的语义信息。
在这里插入图片描述

空间分支简单地由三个级联卷积模块组成,如图2所示。每个卷积层将特征图的大小下采样为前一层的一半,以获得低层次的更精细的信息。而上下文分支则通过缩放和细化操作进行了更精心的设计。然后,通过特征融合模块FFM将两个分支的输出特征进行融合。由于两个分支的特征图不相同,因此不能简单地将这两个部分的特征图相加。FFM的方法是将两个部分特征图进行拼接,然后使用卷积计算加权特征,将加权特征与原始特征图相乘以计算通道注意力,最后与原始特征图进行残差连接。最后,通过DUpsampling模块对上采样融合后的特征图,以生成最终的预测结果。

为了减少上下文分支的时间消耗,我们采用了基于轻量级Ghost模块的Downsampling模块和密集连接块。具体来说,上下文分支包含三个连续的Downsampling模块和一个包含五个Ghost模块的密集连接块(命名为Dense Block 1),之后是一个Downsampling模块和一个包含八个Ghost模块的密集连接块(命名为Dense Block 2)。然后,Dense Block 2的输出被并行地发送到注意力细化模块ARM和一个全局平均池化(GAP)层。经过ARM和平均池化后,它们的输出特征图被拼接起来,通过DUpsampling进行上采样,并由一个卷积模块重新计算。最后,得到的特征图和经过ARM细化的Dense Block 1的输出被拼接起来,通过另一个卷积模块重新计算,以产生上下文分支的最终输出。ARM模块使用全局池化和 1 × 1 1 \times 1 1×1卷积来计算输入特征图的权重,然后将其与输入特征图相乘以计算通道注意力。

以下三个小节将分别详细介绍新颖的Downsampling模块、基于轻量级Ghost模块的密集连接块以及DUpsampling模块的细节。

3.2、时间加速策略

3.2.1、下采样模块

受ENet [16]中初始块的启发,我们在上下文分支中使用下采样模块来获取特征。我们将部分卷积替换为最大池化,这可以减少计算成本。该模块如图3所示。
在这里插入图片描述

我们将输入和输出通道的数量分别表示为 C in  C_{\text {in }} Cin  C out  C_{\text {out }} Cout ,卷积层和最大池化层的输出通道数量分别表示为 C conv  C_{\text {conv }} Cconv  C maxp  C_{\text {maxp }} Cmaxp 。我们有
C out  = C conv  + C maxp ,   其中  C maxp = { 0 , C in  } .  \begin{array}{l} C_{\text {out }}=C_{\text {conv }}+C_{\text {maxp}} \text {, } \\ \text { 其中 } C_{\text {maxp}}=\left\{0, C_{\text {in }}\right\} \text {. } \end{array} Cout =Cconv +Cmaxp 其中 Cmaxp={0,Cin }
下采样模块作为特征图生成器,生成具有较低维度的扩展特征。由于我们采用来自最大池化的 C max ⁡ C_{\max } Cmax特征图,因此计算成本低于传统的卷积方式。当 C out  > C in  C_{\text {out }}>C_{\text {in }} Cout >Cin 时, C conv  = C out  − C in  C_{\text {conv }}=C_{\text {out }}-C_{\text {in }} Cconv =Cout Cin  C maxp = C in  C_{\text {maxp}}=C_{\text {in }} Cmaxp=Cin ;当 C out  ≤ C in  C_{\text {out }} \leq C_{\text {in }} Cout Cin 时,所有特征图均通过卷积生成。

然后,将这两层的输出进行拼接,并通过批量归一化和ReLU函数依次激活。在本文中,我们将卷积核设置为 3 × 3 3 \times 3 3×3,最大池化层设置为 2 × 2 2 \times 2 2×2,且步长均为2。

3.2.2、基于Ghost模块的密集块

a. 密集连接

DenseNet [25] 提出了密集连接的概念,通过跨通道连接特征来实现特征重用。EDANet [17] 也采用了密集连接的策略,但不同之处在于EDANet采用非对称卷积来实现模块之间的密集连接。每个模块将输入特征与新学习的特征连接起来形成最终输出。由于每个模块仅负责获得相对较少的新特征图,因此可以大大降低计算成本并提高预测速度。

因此,在本文中,我们提出了密集块,它继承了与EDANet相同的密集连接方法。但我们没有使用非对称卷积,而是采用了一个更轻量级的模块,即Ghost模块。

b. Ghost模块

给定输入数据 X ∈ R h × w × c X \in R^{h \times w \times c} XRh×w×c,其中 c c c 是输入通道数, h h h w w w 分别是输入数据的高度和宽度。卷积层生成 n n n 个特征图的操作可以表示为

Y = X ∗ f + b Y=X * f+b Y=Xf+b

其中 ∗ * 是卷积操作, b b b 是偏置项, Y ∈ R h ′ × w ′ × n Y \in R^{h^{\prime} \times w^{\prime} \times n} YRh×w×n 是大小为 h ′ h^{\prime} h w ′ w^{\prime} w、具有 n n n 个通道的输出特征图,而 f ∈ R c × k × k × n f \in R^{c \times k \times k \times n} fRc×k×k×n 是大小为 k × k k \times k k×k 的卷积滤波器。在此卷积过程中,由于卷积核的数量 n n n 和通道数 c c c 通常非常大,因此所需的浮点运算次数多达 n ⋅ h ′ ⋅ w ′ ⋅ c ⋅ k ⋅ k n \cdot h^{\prime} \cdot w^{\prime} \cdot c \cdot k \cdot k nhwckk。这正是耗时之处。

减少卷积通道的数量对于我们的实时性要求很有前景。卷积层的输出特征图通常包含大量冗余,这不符合我们的轻量化要求。GhostNet [28] 使用普通卷积滤波器生成较少的特征图 Y ′ ∈ R h ′ × w ′ × m Y^{\prime} \in R^{h^{\prime} \times w^{\prime} \times m} YRh×w×m。为了进一步获得所需的 n n n 个特征图,GhostNet 对 Y ′ Y^{\prime} Y 中的每个原始特征图应用一系列廉价的线性操作来生成幽灵特征图 Y Ghost  Y^{\text {Ghost }} YGhost ,根据:

y i j Ghost  = Φ i , j ( y i ′ ) , ∀ i = 1 , ⋯   , m , j = 1 , ⋯   , s y_{i j}^{\text {Ghost }}=\Phi_{i, j}\left(y_{i}^{\prime}\right), \forall i=1, \cdots, m, j=1, \cdots, s yijGhost =Φi,j(yi),i=1,,m,j=1,,s

其中 y i ′ y_{i}^{\prime} yi Y ′ Y^{\prime} Y 中的第 i i i 个原始特征图,而 Φ i , j \Phi_{i, j} Φi,j 是对 y i ′ y_{i}^{\prime} yi 进行的第 j j j 个线性操作,用于生成 y i ′ y_{i}^{\prime} yi 的第 j j j 个幽灵特征图 y i j Ghost  y_{i j}^{\text {Ghost }} yijGhost 。最后,将原始特征图 Y ′ Y^{\prime} Y 和通过式(3)生成的幽灵特征图 Y Ghost  Y^{\text {Ghost }} YGhost  进行拼接,以产生最终结果 Y ′ ′ Y^{\prime \prime} Y′′

3.2.3、 DUpsampling模块

在这里插入图片描述

双线性插值是解码器中常用于上采样特征图的方法。然而,这种方法非常简单且与数据无关,可能导致次优结果。为了实现更好的分割效果,我们采用DUpsampling [29] 代替双线性插值进行上采样。DUpsampling的流程图如图4所示。给定大小为 H × W × C H \times W \times C H×W×C 的特征图,在其上应用 N N N 1 × 1 1 \times 1 1×1 卷积滤波器以生成新的编码特征图,其大小为 H × W × N H \times W \times N H×W×N。然后将编码特征图重塑为 2 H × 2 W × N / 4 2 H \times 2 W \times N / 4 2H×2W×N/4 的大小,这是DUpsampling模块的输出特征图。通常,DUpsampling 可以沿空间维度将特征图上采样到任意倍数。在本文中,上下文分支中的特征图和融合后的特征图分别沿空间维度放大了2倍和8倍。

4、实验

在本节中,我们首先介绍两个新的公开数据集,即NWPU_YRCC_EX和NWPU_YRCC2。然后,我们简要描述了阿尔伯塔河冰分割数据集。此外,我们在这三个数据集上对FastICENet和对比方法进行了实验。我们的主要评价指标选择了mloU和FPS。最后,我们在NWPU_YRCC_EX上进行了消融实验,以验证我们提出模型的有效性。

4.1、数据集描述

4.1.1、NWPU_YRCC_EX

NWPU_YRCC_EX是NWPU_YRCC[26]的扩展。NWPU_YRCC数据集由814张图像组成,这些图像是从2015年11月至2019年3月期间在黄河宁夏至内蒙古段使用无人机拍摄的视频中选取的。NWPU_YRCC的图像被逐像素标记为三类:冰、水和岸,如图5(a)所示。图像的大小为 1600 × 640 1600 \times 640 1600×640。考虑到数据分布的平衡性,我们进一步从原始视频和图像中选取了73张图像作为NWPU_YRCC的补充。总共有887张精细标记的图像。我们将此数据集命名为NWPU_YRCC_EX,并将其分为524张训练图像、180张验证图像和183张测试图像。NWPU_YRCC_EX可以在https://github.com/nwpulab113/NWPUYRCCEX上下载。
在这里插入图片描述

4.1.2、NWPU_YRCC2

NWPU_YRCC2[27]数据集由1525张图像组成,这些图像是从2015年11月至2019年3月期间在黄河宁夏至内蒙古段使用无人机拍摄的视频中选取的。图像的大小为 1600 × 640 1600 \times 640 1600×640。NWPU_YRCC2与NWPU_YRCC_EX的区别在于,我们根据实际需要将冰分为岸冰和漂流冰。样本图像和四类标签如图5(b)所示。我们按照 3 : 1 : 1 3:1:1 3:1:1的比例将数据分为训练集、验证集和测试集。NWPU_YRCC2可以在[此处应提供下载链接,但原文未给出]上下载。

4.1.3、阿尔伯塔河冰分割数据集

阿尔伯塔河冰分割数据集[12]是在2016年和2017年冬季,通过无人机和安装在桥梁上的游戏相机从阿尔伯塔省的两条河流中捕获的。阿尔伯塔河冰分割数据集的图像被标记为三类:漂流冰、锚定冰和水,如图6所示。大多数图像的大小为 1281 × 1081 1281 \times 1081 1281×1081。由于逐像素标记非常耗时,因此只有50张标记过的图像。我们随机裁剪这些图片为 800 × 320 800 \times 320 800×320大小。最终,我们获得了198张带有完全标注标签的RGB样本图像。
在这里插入图片描述

4.2、训练与优化

所提出的网络由PyTorch实现,并在配备Intel Core CPU i5-7500(3.40 GHz)和NVIDIA GTX 1080 Ti的工作站上运行。我们在训练过程中采用了random_crop和random_mirror等数据增强方法。初始训练率设置为 5 e − 4 5 \mathrm{e}-4 5e4,批量大小为16,每个模型训练1000个周期。损失函数为交叉熵损失(CrossEntropy Loss),计算方式如下:

L = − 1 N ∑ i ∑ c = 1 M y i c log ⁡ ( p i c ) L=-\frac{1}{N} \sum_{i} \sum_{c=1}^{M} y_{i c} \log \left(p_{i c}\right) L=N1ic=1Myiclog(pic)

其中, N N N表示像素的数量, i i i表示像素的索引, M M M表示类别的数量, c c c表示类别的索引, y i c y_{i c} yic是像素 i i i的标签,当像素 i i i的类别为 c c c时, y i c y_{i c} yic为1,否则为0。 p i c p_{i c} pic表示像素 i i i属于类别 c c c的预测概率。在训练过程中,我们使用Adam优化器来优化模型。

4.3、评价标准

mloU和FPS是实时语义分割中常用的两个评价标准。mloU是平均交并比(mean intersection over union)的缩写,代表分割的准确性。FPS是每秒帧数(frame per second)的缩写,代表分割的速度。在本文中,mloU和FPS作为评估所提网络及其他对比方法性能的主要标准。此外,我们还记录了这些网络的参数数量(以千字节为单位)。

4.4、结果与评估

为了验证FastICENet的有效性和优越性,我们将其与最新的快速语义分割网络在NWPU_YRCC_EX、NWPU_YRCC2和阿尔伯塔河冰分割数据集上进行了比较。在同一台机器和相同条件下测量了它们的性能。我们以BiSeNet[11]作为基线。FastICENet(acc)源自BiSeNet,其中双线性插值上采样被DUpsampling替换。比较结果如表1、表2和表3所示,前三名结果分别用红色、绿色和蓝色标记。
在这里插入图片描述
在这里插入图片描述

4.4.1、NWPU_YRCC_EX

我们可以看到,我们的方法FastICENet(acc)达到了最高的分割精度(即 91.860 % m l o U 91.860\% \mathrm{mloU} 91.860%mloU),但其速度较慢。FastICENet以94.840 FPS的速度表现更佳,接近最快的分割网络,如ContextNet[30]和FastSCNN[18]。其精度达到 90.770 % m I o U 90.770\% \mathrm{mIoU} 90.770%mIoU,比这两个网络高出约 3 % 3\% 3%。此外,FastICENet在精度上与CGNet[31]、LinkNet[32]和PIDNet-S[20]相近,但我们的分割速度远超这些网络。同时,我们观察到模型分割的速度与参数数量并非负相关。我们分析认为,尽管一些模型参数较少,但这些参数的操作更为复杂,也会导致分割速度的损失。在后续研究中,我们可以考虑在保持当前分割精度的同时,进一步加快分割速度。
在这里插入图片描述

我们在NWPU_YRCC_EX数据集上对三个最快的网络FastSCNN、ContextNet和FastICENet的分割结果进行了可视化。我们选择这三个网络的原因是它们在分割速度上相近且远超其他网络。可视化结果如图7所示。每行中的第一张图片代表原始图像,中间三张图片分别代表FastSCNN、ContextNet和FastICENet的分割结果,最后一张图片代表真实标签。可以看出,在三个分割速度最快的网络中,我们的方法精度优于其他两个网络。在图7中,最明显的部分已经用黑色方框标出。

4.4.2、NWPU_YRCC2

由于需要将冰分为岸冰和漂流冰,我们还在NWPU_YRCC2数据集上进行了实验。结果如表2所示。该数据集需要区分两种不同的冰,这导致所有网络的精度都有所下降,但可以看出,我们的FastICENet(acc)仍然达到了第二高的精度(即 81.871 % m l o U 81.871\% \mathrm{mloU} 81.871%mloU),但其分割速度远快于ICENetv2[27]。ContextNet[30]和FastSCNN[18]的速度最快,但它们的精度较低。我们的FastICENet在速度和精度之间取得了平衡,其速度(即108.78 FPS)与最快的方法相近,同时达到了 80.790 % m l o U 80.790\% \mathrm{mloU} 80.790%mloU的精度。根据NWPU_YRCC2的具体任务,我们的模型FastICENet(acc)能够准确地区分岸冰和漂流冰,在漂流冰类别中具有最高的交并比(IoU),在岸冰类别中也排名靠前。同时,我们的模型FastICENet也能准确地区分漂流冰和岸冰,并大大提高了分割速度。
在NWPU_YRCC2数据集上,我们同样对三个最快的网络FastSCNN、ContextNet和FastICENet的分割结果进行了可视化。可视化结果如图8所示。每行中的第一张图片代表原始图像,中间三张图片分别代表FastSCNN、ContextNet和FastICENet的分割结果,最后一张图片代表真实标签。可以看出,在三个分割速度最快的网络中,我们的方法能够更好地识别漂流冰和岸冰。在图8中,最明显的部分已经用黑色方框标出。
在这里插入图片描述

4.4.3、阿尔伯塔河冰分割数据集

我们在阿尔伯塔河冰分割数据集上与最新的快速语义分割网络进行了比较。在该数据集的图像中,由于水与其他两种冰的光谱特性差异较大,水的交并比(IoU)较高。然而,由于漂流冰和锚定冰之间的差异较小,所有网络在这两种冰上的IoU都较低。比较结果如表3所示。可以看出,ContextNet[30]和FastSCNN[18]的速度最快。但是,由于数据量较少且两种冰的光谱相似,ContextNet[30]和FastSCNN[18]的精度非常低。然而,我们的FastICENet(acc)仍然达到了最高的精度(即 82.34 % m l o U 82.34\% \mathrm{mloU} 82.34%mloU),而FastICENet在将速度大幅提升至159.82 FPS的同时,仍然保持了较高的精度(即 81.77 % m l o U 81.77\% \mathrm{mloU} 81.77%mloU)。

在阿尔伯塔河冰分割数据集上,我们对三个最快的网络FastSCNN、ContextNet和FastICENet的分割结果进行了可视化。可视化结果如图9所示。每行中的第一张图片代表原始图像,中间三张图片分别代表FastSCNN、ContextNet和FastICENet的分割结果,最后一张图片代表真实标签。可以看出,在三个分割速度最快的网络中,我们的方法能够更好地区分漂流冰和锚定冰。在图9中,最明显的部分已经用红色方框标出。

4.5、消融实验

为了展示我们网络中子模块的有效性,我们在NWPU_YRCC_EX数据集上进行了一组对比实验。我们以BiSeNet[11]作为基线。Baseline+DUp表示将基线中常用的双线性插值替换为我们的DUpsampling,即我们的FastICENet(acc)。Baseline+DUp+DS表示将Baseline+DUp中的卷积下采样替换为我们的下采样模块。Baseline+DUp+DS+EDA表示在Baseline+DUp+DS的基础上加入EDA模块,即基于非对称卷积模块的密集连接块。Baseline+DUp+DS+Ghost表示在Baseline+DUp+DS的基础上加入我们基于Ghost模块的密集连接块。最后,通过将Baseline+DUp+DS+Ghost中上下文分支和空间分支的通道数减半,我们得到了FastICENet。消融实验的结果如表4所示。
在这里插入图片描述

本实验验证了这些模块的有效性。在这些模块的联合作用下,最终模型显著提高了分割速度,但精度略有下降。DUpsampling在仅带来轻微时间衰减的情况下,将精度提高了 2 % 2\% 2%。然后,下采样模块极大地提高了分割速度,但其精度损失较大。因此,最终我们使用EDA和Ghost模块在最小化速度损失的前提下提高分割精度。在所有实验设置中,FastICENet在精度略有降低的情况下实现了最佳速度。

5、结论

本文提出了一种有效的实时河流冰语义分割网络FastICENet。针对尺度多样性的特点,FastICENet采用了一个包含更精细的空间分支和深层多尺度语义上下文分支的双分支结构。虽然上下文分支耗时较多,但为了降低计算成本,我们采用了一种新的下采样模块和一个非常轻量级的基于Ghost模块的密集连接块。这些措施显著降低了计算复杂度,同时保持了较高的分割精度。为了提高小块冰的分割精度,我们采用了一种可学习的上采样方法DUpsampling,将低分辨率特征图像恢复到原始大小。在三个数据集上的实验结果均表明,FastICENet在精度略有下降的情况下,能够大大提高分割速度,满足准确且实时的要求。FastICENet在最近的实时分割方法中表现最佳。

需要进一步探索其他应用场景。由于冰分割数据集的数据量相对较少,比如与用于场景理解的Cityscapes[40]等传统数据集相比,我们模型的稳定性和性能应是进一步研究的主题。

在未来的工作中,我们将扩展数据集,这可能会提高我们的分割精度。同时,我们还将研究如何在更好地保持分割精度的同时提高分割速度。

作者贡献声明

本文的主要思想由张秀伟、赵子旭和张燕宁提出。数据集由张秀伟、赵子旭、冉令岩、王雯娜、兰泽泽、何厚军、刘启星和张宝森采集、标注和分析。实验由张秀伟和赵子旭设计和执行。论文由张秀伟、赵子旭和冉令岩撰写,并由邢颖慧和殷寒琳修订。所有作者都已阅读并同意发表该手稿的已出版版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2054100.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何避免电脑监控软件(避开电脑监控软件的秘诀)

电脑监控软件被广泛应用在家庭、学校和企业环境中,以实现对计算机使用情况的监督和管理。 然而,对于希望保护个人隐私或避免被不必要监控的人来说,了解如何避开这些监控软件显得尤为重要。 本文将详细介绍如何避免被电脑监控软件跟踪的方法&…

HID类的报表描述符中的USAGE MAX,USAGE MIN使用注意

发现问题由来 准备自己做一个自定义键盘,先小测试一下经典键盘的26字母,设置了从A到H。在实际传输给电脑数据中,把传送数据第一个按钮是0x04,以为输出A,谁知道居然输出D . 下面一段简单的HID报表描述符共对电脑发送4个…

《深入浅出多模态》(八)多模态经典模型:MiniGPT4

🎉AI学习星球推荐: GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学习资料,配有全面而有深度的专栏内容,包括不限于 前沿论文解读、…

CATIA CAA 二次开发 -- 获取当前会话编辑的CATIPLMComponent

1、先获取当前激活的编辑器 CATFrmEditor* pEditor CATFrmEditor::GetCurrentEditor();if (pEditor nullptr)return S_FALSE; 关于方法【GetCurrentEditor】的解释如下图所示。 2、通过【CATPLMComponentInterfacesServices】去获取当前编辑器的根。 CATPLMComponentInterf…

UE 开发---- Ios ipa 安装包安装到IPhone手机上

由于最近 我在使用ue 开发手机软件 打包成为 Ios ipa 安装包时 安装到手机上遇到的问题 准备: 1、一部 Ios 手机 2、首先下载爱思助手爱思助手官网_苹果助手_苹果刷机助手_苹果越狱助手 (i4.cn) 我下载的Windows端 电脑连接上Ios手机时 是这样的 我们打开工…

【Qt】Qt窗口 | QDialog 对话框

文章目录 一. 对话框二. 对话框的分类1. 非模态对话框2. 模态对话框3. 混合属性对话框 三. 自定义对话框1. 代码实现2. ui文件实现 四. 内置对话框1. QMessageBox 消息对话框2. QColorDialog 颜色对话框3. QFileDialog 文件对话框4. QFontDialog 字体对话框5. QInputDialog 输入…

配置 昇腾 Ascend C/C++ 开发环境

配置 昇腾 Ascend C/C 开发环境 flyfish 这里以Orange Pi Ai Pro 为例 先说如何配置MindStudio,然后再说如何查看Orange Pi Ai Pro的一些信息 Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能AI 开发板,其搭载了昇腾 AI 处理器。Linux 桌面…

100行代码实现自己的RAG知识库

背景 由于日常工作需要对接各种第三方合作方,对接过程中的文档繁多、沟通不及时、问题排查繁琐以及工作具有重复性等问题愈发明显。合作方遇到对接问题需要提工单经门户网站–>产品部门接口人–>开发人员问题排查/修复–>产品部门接口人–>合作方收到回…

公链大变局:ETH老态龙钟,SOL势如破竹

今年年初,比特币现货ETF的通过引发了大量资金涌入加密市场,比特币价格一度突破前高,市场一片繁荣。然而,这一波行情却并未如预期般延续到以太坊。相反,在8月初,以太坊(ETH)价格近乎腰…

C语言基础⑨——指针

一、指针的引入 int —— 4位;float —— 4位;double —— 8位;short —— 2位;long —— 8位; 为函数修改实参提供支撑;为动态内存管理提供支持;为动态数据结构提供支持;为内存访问…

MT6761 快充同步

MT6761 是反激式电源的高性能60V同步整流器。MT6761兼容各种反激转换器类型。支持 DCM、CCM 和准谐振模式。MT6761集成了一个60V功率MOSFET&#xff0c;可以取代肖特基二极管&#xff0c;提高效率。V SW <V TH-ON 时&#xff0c;MT6761内部 MOSFET 导通。V SW >V TH-OFF …

【AI 绘画】模型转换与快速生图(基于diffusers)

AI 绘画- 模型转换与快速生图&#xff08;基于diffusers&#xff09; 1. 本章介绍 本次主要展示一下不同框架内文生图模型转换&#xff0c;以及快速生成图片的方法。 SDXL文生图 2. sdxl_lightning基本原理 模型基本原理介绍如下 利用蒸馏方法获取小参数模型。首先&#x…

三、前后端分离通用权限系统(3)

&#x1f33b;&#x1f33b;目录 一、角色管理1.1、测试 controller 层1.2、整合 Swagger21.2.1、Swagger 介绍1.2.2、集成 knife4j1.2.2.1 添加依赖1.2.2.2 添加 knife4j 配置类1.2.2.3 Controller 层添加注解1.2.2.4、测试 1.3、定义统一返回结果对象1.3.1、定义统一返回结果…

备战秋招60天算法挑战,Day21

题目链接&#xff1a; https://leetcode.cn/problems/number-of-1-bits/ 视频题解&#xff1a; https://www.bilibili.com/video/BV1ir421M7XU/ LeetCode 191.位1的个数 题目描述 编写一个函数&#xff0c;输入是一个无符号整数 &#xff08;以二进制串的形式&#xff09;&am…

C语言 ——— 学习并使用calloc和realloc函数

目录 calloc函数的功能 学习并使用calloc函数​编辑 realloc函数的功能 学习并使用realloc函数​编辑 calloc函数的功能 calloc函数的功能和malloc函数的功能类似&#xff0c;于malloc函数的区别只在于calloc函数会再返回地址之前把申请的空间的每个字节初始化为全0 C语言…

tweens运动详解

linear 线性匀速运动效果Sine.easeIn 正弦曲线的缓动(sin(t))/ 从0开始加速的缓动,也就是先慢后快Sine.easeOut 正弦曲线的缓动(sin(t))/ 减速到0的缓动,也就是先快后慢Sine.easeInOut 正弦曲线的缓动(sin(t))/ 前半段从0开始加速,后半段减速到0的缓动Quad.easeIn 二次…

c语言基础-------指针变量和变量指针

在 C 语言中,“变量指针”和“指针变量”这两个术语虽然经常交替使用,但它们的侧重点有所不同。 指针变量 “指针变量”是指其值为内存地址的变量。指针变量的类型定义了它所指向的数据类型,例如 int * 是一个指向整型数据的指针变量。 以下是一个指针变量的例子: int v…

数据埋点系列 16| 数据可视化高级技巧:从洞察到视觉故事

数据可视化是将复杂数据转化为直观、易懂的视觉表现的艺术和科学。本文将探讨一些高级的数据可视化技巧&#xff0c;帮助您创建更具吸引力和洞察力的数据展示。 目录 1. 高级图表类型1.1 桑基图&#xff08;Sankey Diagram&#xff09;1.2 树状图&#xff08;Treemap&#xf…

3、目标定位(视觉测距)

目标定位的目的&#xff1a;获取物品相对于视觉模块的三维坐标&#xff0c;并将其转换为物品相对于机械臂坐标原点的三维坐标。 要获取物品三维坐标&#xff0c;则首先要测量物品距离摄像头的距离&#xff0c;又因为摄像头安装在机械臂末端上方&#xff0c;所以获取物品相对于摄…

基于springboot的高校学生服务平台的设计与实现--附源码91686

目录 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1系统开发流程 2.2.2 用户登录流程 2.2.3 系统操作流程 2.2.4 添加信息流程 2.2.5 修改信息流程 2.2.6 删除信息流程 2.3 系统功能分析 …