LDConv:线性可变形卷积,将参数数量增长修正为线性增长

导读

LDConv将标准卷积和可变形卷积的参数数量增长趋势修正为线性增长。

3ff1cc6f03a274a4dbd8084bde1bf3ad.png

摘要

基于卷积操作的神经网络在深度学习领域取得了显著的成果,但标准卷积操作存在两个固有的缺陷。一方面,卷积操作局限于局部窗口,因此无法捕捉来自其他位置的信息,并且其采样形状固定不变。另一方面,卷积核的大小固定为k×k,即固定的正方形形状,参数的数量往往随着尺寸的增大而呈平方增长。虽然可变形卷积(Deformable Conv)解决了标准卷积固定采样的问题,但其参数数量同样倾向于以平方方式增长,并且可变形卷积没有探讨不同初始采样形状对网络性能的影响。针对上述问题,本研究探索了一种线性可变形卷积(Linear Deformable Convolution, LDConv),它赋予卷积核任意数量的参数和任意采样形状,为网络开销与性能之间的权衡提供了更丰富的选择。在LDConv中,定义了一种新的坐标生成算法,用于为任意大小的卷积核生成不同的初始采样位置。为了适应变化的目标,引入了偏移量来调整每个位置样本的形状。LDConv将标准卷积和可变形卷积的参数数量增长趋势修正为线性增长。与可变形卷积相比,当设置LDConv的参数数量为K的平方时,LDConv可以等效于可变形卷积,同时提供了更加丰富的选择。此外,本文还探讨了使用相同大小但不同初始采样形状的LDConv对神经网络效果的影响。通过不规则的卷积操作,LDConv完成了高效特征提取的过程,并为卷积采样形状带来了更多的探索选项。在代表性数据集COCO2017、VOC 7+12以及VisDroneDET2021上的目标检测实验充分证明了LDConv的优势。LDConv是一种即插即用的卷积操作,可以替代卷积操作来提升网络性能。相关任务的代码可以在https://github.com/CV-ZhangXin/LDConv找到。

1 介绍

卷积神经网络(CNNs),如ResNet、DenseNet和YOLO,在各种应用中展现出了卓越的表现,并引领了现代社会许多方面的技术进步。从自动驾驶汽车中的图像识别[4]到医学影像分析,再到智能监控和个人化推荐系统,这些成功的网络都严重依赖于能够高效提取图像局部特征并确保模型复杂度的卷积操作。

尽管CNNs在分类、目标检测、语义分割等领域取得了许多成功,它们仍然存在一些局限性。最显著的一个局限性涉及卷积采样形状和大小的选择。标准卷积操作通常依赖于具有固定采样位置的方形内核,例如1×1、3×3、5×5和7×7等。传统内核的采样位置不具备可变形性,不能根据各种物体的变化动态调整。可变形卷积通过使用偏移量灵活地调整卷积核的采样形状,从而适应目标的变化,提高了网络性能。例如,Zhao等人通过将其添加到YOLOv4中增强了死鱼的检测性能。Yang等人通过将可变形卷积集成到YOLOv8的主干中改进了牛的检测。Li等人将可变形卷积引入到深度图像压缩任务中,以获得内容自适应的感受野。尽管上述研究展示了可变形卷积的优越性,但它仍不够灵活。可变形卷积只能定义k×k的卷积操作来提取特征,即参数的数量为1、4、9、16、25等。实际上,可变形卷积需要通过坐标重新采样特征,然后通过常规卷积操作提取特征。因此,可变形卷积的参数数量倾向于呈平方增长,这使得重采样和卷积特征提取过程的计算和内存开销难以调节。在处理图像时,我们可能需要应用更大尺寸的可变形卷积来提取信息。例如,5×5的可变形卷积调整为更大的6×6卷积核,即参数数量直接从25变为36。这种突变可能导致设备内存不足。因此,可变形卷积中参数数量的平方增长趋势在设置卷积大小方面缺乏灵活性,不是硬件环境友好的增长方式,忽略了参数数量为3、5、7、8、10、11、12等的卷积。此外,可变形卷积尚未探索不同初始采样形状对网络的影响。

为了解决上述问题,我们提出了灵活的线性可变形卷积(Linear Deformable Conv, LDConv),能够灵活调整卷积核参数的数量大小,以适应物体形状的变化。与标准的常规卷积不同,LDConv是一种新颖的卷积操作,可以使用任何数量参数的高效卷积核提取特征,如(1, 2, 3, 4, 5, 6, 7等),而这一点在标准卷积或可变形卷积中并未实现。LDConv可以轻松地替代网络中的标准卷积操作以提高网络性能。重要的是,LDConv使卷积参数的数量呈现出线性的增减趋势,这对硬件环境有利,并可以用作轻量级模型的替代方案以减少参数数量和计算开销。其次,当资源充足时,它为较大尺寸的卷积核提供了更多选项,以增强网络性能。常规卷积核使参数数量呈现平方增长趋势,而LDConv仅表现出线性增长趋势,并为卷积核提供了更多选项。此外,它的理念可以扩展到特定领域,因为可以根据先验知识创建专门的采样形状,然后通过偏移量动态自动适应目标形状的变化。同时,LDConv可以轻松地添加到一些新颖的卷积模块中以增强其性能,如FasterBlock和GSBottleneck。在代表性数据集VOC、COCO2017、VisDroneDET2021上的目标检测实验充分展示了LDConv的优势。

总结来说,我们的贡献包括:

  • 针对不同尺寸的卷积核,提出了一种算法来为任意尺寸的卷积核生成初始采样坐标。

  • 为了适应目标的不同变化,通过获取的偏移量调整非规则卷积核的采样位置。同时,还探索了三种方法来提取与非规则卷积核相对应的特征。

  • 与常规卷积核相比,提出的LDConv实现了非规则卷积核的功能,为各种变化的目标提供了具有任意采样形状和大小的卷积核,弥补了常规卷积的不足。

  • 使用相应尺寸的LDConv替换FasterBlock和GSBottleneck中的卷积,以提高这两个模块的性能。

2 相关工作

近年来,许多研究从不同角度考虑和分析了标准卷积操作,并设计了新的卷积操作以提高网络性能。

Li等人指出,卷积核在所有空间位置共享参数,导致在不同空间位置上的建模能力有限,不能有效捕捉空间长距离关系。其次,每个输出通道使用不同的卷积核的方法实际上并不高效。因此,为了解决这些问题,他们提出了反转操作符(Involution operator),该操作符反转卷积操作的特性以提升网络性能。Qi等人基于可变形卷积提出了DSConv。从学习中获得的偏移量是自由的,这导致模型失去一小部分细结构特征,这对分割细长管状结构的任务构成了巨大挑战,因此他们提出了DSConv。Zhang等人从一个新的视角理解了空间注意力机制,他们认为空间注意力机制本质上解决了卷积操作的参数共享问题。然而,一些空间注意力机制,如CBAM和CA,并没有完全解决大尺寸卷积的参数共享问题。因此,他们提出了RFAConv。Chen等人提出了动态卷积(Dynamic Conv)。不同于每层使用一个卷积核,动态卷积基于注意力动态聚合多个并行卷积核,提供了更丰富的特征表示。Tan等人认为,在CNN中,核尺寸经常被忽视,这可能影响网络的准确性和效率。其次,仅仅逐层使用卷积并不能充分利用卷积网络的全部潜力。因此,他们提出了MixConv,该方法在一个卷积中自然混合多种核尺寸,以改善网络性能。

为了应对传统序列数据处理中的限制,Romero等人提出了CKConv,这种方法通过将卷积核视为连续函数而非一系列独立权重克服了CNN的缺点。CKConv可以在单个操作中定义任意大的记忆范围,不受网络深度、扩张因子或网络大小的影响。在设计卷积神经网络时,选择合适的卷积核尺寸对于模型性能至关重要。传统方法要求在训练前固定核尺寸,但在训练过程中动态学习核尺寸有利于提高网络性能。因此,Romero等人提出了FlexConv,该方法能够在训练过程中学习具有可变尺寸的高带宽卷积核,同时保持参数数量不变。在CNN中,可以通过增大卷积核的尺寸来简单地扩展感受野。然而,在二维情况下,随着核尺寸的增加,可训练参数的数量按平方比例增长,迅速变得不可接受,而且训练难度众所周知。因此,为了在卷积神经网络中使用大的感受野并避免参数数量和计算成本的增加,Hassani等人提出了DCLS方法,该方法通过控制两个超参数——核的数量和扩展核的尺寸——来保持参数数量恒定的同时实现更大的感受野。在CNN网络中设置卷积核尺寸受到限制,通常需要预先设定卷积核尺寸,使得超参数的调整变得繁琐。因此,Pintea等人提出了N-JetNet,该方法利用尺度空间理论获得卷积核的自相似参数化。

尽管这些方法提高了卷积操作的性能,但一些研究仍局限于常规的卷积操作,不允许卷积采样形状的多种变化。其他研究允许灵活调整卷积核的尺寸,但网络获得的性能仍不理想。相比之下,我们提出的LDConv能够使用具有任意参数数量和采样形状的卷积核高效提取特征,从而实现网络的良好性能。

3 方法

3.1 定义初始采样位置

基于卷积操作的卷积神经网络通过规则采样网格在相应位置局部化特征。设R表示采样网格,则R可以表示为:

0066d7b67714871ef1b8baa02b31c3ab.png

然而,由于在可变形卷积及这些工作中定义的采样坐标是规则的,因此无法通过不规则卷积有效地提取特征。而LDConv针对的是形状不规则的卷积核。因此,为了让不规则卷积核拥有采样网格,创造了一种适用于任意尺寸卷积的算法,该算法生成卷积核的初始采样坐标。首先生成规则采样网格,然后为剩余的采样点创建不规则采样网格,最后将它们缝合在一起形成整体采样网格。伪代码如算法1所示。

50c5a79a3f9a39d1a12b294afb505855.png

如图1所示,为任意尺寸的卷积生成了初始采样坐标。对于具有不同参数数量的卷积核,其初始采样形状的设置需要从两个方面考虑。首先,即使在相同尺寸的情况下,不同的初始采样形状也会影响网络的性能,而接近方形的形状有助于偏移量学习,这一点将在第4.5节的后续探索性实验中展示。其次,为了便于生成任意尺寸的卷积核。因此,图1中的采样形状考虑了上述两点,为任意尺寸的卷积生成了相应的初始采样形状。

d0b192078cb15683022681334d761397.png

对于规则卷积,采样网格以中心作为原点(0, 0),而大多数不规则卷积则不是以中心对齐的。为了适应所使用的卷积尺寸,在算法中将左上角的点设置为采样原点(0, 0)。

在定义了不规则卷积的初始坐标后,位置处对应的卷积操作可以定义为:

54a36bc85b55d6b19b1babc7d5f7bec1.png

其中,分别表示生成的采样网格、卷积参数以及对应位置的像素值。然而,不规则卷积操作难以实现,因为不规则采样坐标无法与相应尺寸的卷积操作匹配,例如,尺寸为5、7和13的卷积。巧妙的是,所提出的LDConv实现了这一点。

3.2 线性可变形卷积

显然,标准卷积的采样位置是固定的,这导致卷积只能提取局部信息,而不能捕捉到其他位置的信息。可变形卷积(Deformable Conv)通过卷积操作学习偏移量来调整初始规则模式的采样网格。这种方法在一定程度上弥补了卷积操作的不足。然而,标准卷积和可变形卷积都是规则采样网格,不允许具有任意参数数量的卷积核。此外,随着卷积核尺寸的增大,参数的数量往往呈平方增长,这对于硬件环境来说并不友好。因此,我们提出了一种新颖的线性可变形卷积(Linear Deformable Convolution, LDConv)。如图2所示,它展示了LDConv的整体结构。LDConv的特征提取过程可以分为三个步骤。

43db8c6764d67f8ac259cb5d28ff07d7.png

以N=5为例,如图2所示。首先,根据N的大小,使用提出的算法1生成初始形状。然后,获得原始坐标。此步骤的重点是在特征图上为具有N个参数的卷积核生成相应的采样坐标。其次,通过卷积操作获取相应卷积核的偏移量,其维度为(B, 2N, H, W),然后将偏移量添加到原始坐标上,生成新的采样坐标,这些坐标对应于卷积。这一步骤的重点是在特征图的不同位置为卷积生成不同的样本形状。最后,通过对新坐标处的特征进行插值和重采样来获得对应位置的特征,然后应用相应的卷积操作来提取特征。这一步骤主要是提取对应位置的特征。通过上述三个步骤,LDConv能够完成任意尺寸的卷积操作以提取特征。

LDConv与可变形卷积之间的共同点在于两者都通过偏移量来调整初始采样形状。它们的区别在于,LDConv通过生成初始采样坐标来完成具有任意参数数量的特征提取过程。这是重要的,因为它将可变形卷积参数数量的增长修正为线性增长。这提供了调节网络参数数量、计算开销以及设备内存消耗的灵活性。此外,可变形卷积的最后一卷积操作步骤无法提取与不规则卷积相对应的特征。

相反,我们在设计LDConv时探索了三种方法,如图3所示。重采样的特征可以转换为四个维度(C, N, H, W),然后使用步长和卷积尺寸为(N, 1, 1)的Conv3d来提取特征。这可以表示为图3(a)。重采样的特征也可以在通道维度上堆叠(C×N, H, W),然后使用1×1卷积操作将其降维至(C, H, W)。这可以表示为图3(b)。在可变形卷积和RFAConv中,它们在空间维度上堆叠3×3卷积特征。然后,使用步长为3的卷积操作来提取特征。但是,这种方法针对的是方形采样形状,即卷积核为方形,如1×1, 2×2, 3×3等。因此,这些方法无法实现不规则卷积操作。而通过在行或列上堆叠重采样的特征,可以使用列卷积或行卷积来提取与不规则采样形状相对应的特征。使用适当大小和步长的卷积核来提取特征。这在图3(c)中有所展示。

b0c00a5fdb73ddac9e58549df2c26b49.png

上述提到的方法可以提取与不规则采样形状相对应的特征。只需要重塑特征并使用相应的卷积操作即可。因此,在图2中,最终的“Reshape”和“Conv”代表上述任何一种方法。此外,为了清晰地展示LDConv的过程,在图2的重采样之后,我们将与卷积尺寸相对应的特征维度放在第三个维度,但在实际代码实现时,这个维度位于最后一个维度。

LDConv可以完美地完成不规则卷积特征提取过程,并且可以根据偏移量灵活调整采样形状,为卷积采样形状提供更多探索选项。相比于受规则卷积核概念限制的标准卷积和可变形卷积,它更加多用途。

3.3 扩展的LDConv

我们认为LDConv的设计是创新性的,它实现了使用不规则和任意采样形状的卷积核提取特征的目标。即使不使用可变形卷积中的偏移量概念,LDConv仍然可以生成多种卷积核形状。因为,LDConv可以重新采样初始坐标以展现多种变化,如图4所示,我们为尺寸为5的卷积设计了各种初始采样形状。在图4中,我们仅展示了部分尺寸为5的例子。然而,LDConv的尺寸可以是任意的,因此随着尺寸的增加,LDConv的初始卷积采样形状变得更为丰富甚至无限多样。鉴于目标形状随数据集的不同而变化,设计与采样形状对应的卷积操作至关重要。LDConv通过根据特定领域的阶段设计相应形状的卷积操作来完全实现这一点。它也可以像可变形卷积一样,通过添加可学习的偏移量来动态适应物体的变化。对于特定任务而言,卷积核初始采样位置的设计很重要,因为这是一种先验知识。例如Qi等人为细长管状结构分割任务提出了具有相应形状的采样坐标,但他们对形状的选择仅限于细长管状结构。

2096ac19a4706c795a8bbb35c00968b4.png

LDConv真正实现了具有任意数量形状的卷积核操作过程,它可以使得卷积核呈现出多种形状。可变形卷积[11]旨在补偿规则卷积的不足,而DSConv则是为特定物体形状设计的。它们没有探索任意尺寸的卷积和任意采样形状的卷积。通过允许卷积操作通过偏移量高效地提取不规则采样形状的特征,LDConv的设计解决了这些问题。LDConv允许卷积具有任意数量的卷积参数,并允许卷积采取广泛多样的形状。

72d0140acf5244b23ad20bc17af6023a.png

此外,作为灵活的卷积操作,LDConv可以轻松替换一些高效模块中的卷积操作以提高网络性能,例如FasterBlock和GSBlottleneck。因此,提出了改进版的FasterBlock(ImprovedFasterBlock)和改进版的GSBlottleneck(ImprovedGSBlottleneck),如图5和图6所示。在FasterBlock中,首先利用PConv提取特征,然后通过两次1×1的卷积操作构建Bottleneck。因此,使用LDConv (N=2)替代这些操作,并确保参数数量不变。在GSBlottleneck中,使用LDConv (N=5)替代3×3的卷积操作,以提升性能并减少参数数量和计算开销。

6cf68deffa1b19a28e0f56cac787d69a.png

4. 实验

为了验证LDConv的优势,我们在先进的YOLOv5、YOLOv7和YOLOv8上分别进行了丰富的目标检测实验。首先,YOLO系列算法作为目标检测领域中的代表性算法,已在多个领域得到了广泛应用,并取得了良好的检测效果。其次,相比于其他网络架构,YOLO家族算法的网络结构较为简单,这有利于我们在不同数据集上进行大量实验,以证明LDConv的优势。所有实验模型均基于RTX3090训练。为了验证LDConv的优势,我们在代表性的COCO2017、VOC 7+12和VisDrone-DET2021数据集上分别进行了相关实验。

4.1 COCO2017上的目标检测实验

COCO2017包含训练集(118,287张图像)、验证集(5,000张图像),涵盖了80个目标类别。它已成为计算机视觉研究领域的一个标准数据集,尤其是在目标检测领域。我们选择了最先进的YOLOv5n和YOLOv5s探测器作为基线模型。随后,使用不同尺寸的LDConv替代YOLOv5n和YOLOv5s中的卷积操作。在实验中,除了epoch和batch-size参数外,网络的默认参数均被使用。基于32的批量大小,我们对每个模型进行了300轮训练。按照以往的工作,我们报告了𝐴𝑃50、𝐴𝑃75、AP、𝐴𝑃𝑆、𝐴𝑃𝑀和𝐴𝑃𝐿。此外,我们还报告了YOLOv5n和YOLOv5s在使用尺寸分别为5、4、6、7、9和13的LDConv时的目标检测结果。如表1所示,随着卷积核尺寸的增大,YOLOv5的检测精度逐渐提高,同时模型所需的参数数量和计算开销也逐渐增加。表1中的时间表示处理一张图像所需的时间,单位为毫秒(ms)。与标准卷积操作相比,LDConv显著提升了YOLOv5在COCO2017上的目标检测性能。可以看出,当LDConv的尺寸为5时,不仅减少了模型所需的参数数量和计算开销,还大幅提高了YOLOv5n的检测精度。其𝐴𝑃50、𝐴𝑃75以及AP都提高了三个百分点,这是非常出色的。LDConv改善了基线模型的𝐴𝑃𝑆、𝐴𝑃𝑀和𝐴𝑃𝐿,但显然,LDConv相对于小型和中型目标,更显著地提高了大型目标的检测精度。我们认为LDConv通过使用偏移量更好地适应了大型目标的形状。

1c0541c6f78074c3c64b88b8428ca319.png

4.2 VOC 7+12 上的目标检测实验

为了进一步验证我们的方法,我们在VOC 7+12数据集上进行了实验,该数据集结合了VOC2007和VOC2012,包括16,551张训练图像和4,952张验证图像,覆盖了20个目标类别。为了测试LDConv在不同架构上的通用性,我们选择了YOLOv7-tiny作为基线模型。由于YOLOv7和YOLOv5具有不同的架构,因此可以比较不同架构设置下LDConv的性能。在YOLOv7-tiny中,我们使用不同尺寸的LDConv来替换标准卷积操作。替换的具体细节遵循文献[30]中的工作。所有模型的超参数设置与前一节保持一致。按照以往的工作,我们展示了mAP50和mAP的结果。如表2所示,随着LDConv尺寸的增加,网络的检测精度逐渐提高,同时模型的参数数量和计算需求也逐步上升。这些实验进一步证实了LDConv的优势。

9c0240dd60576376d9f82693b201c8e1.png

4.3 VisDrone-DET2021 上的目标检测实验

为了再次验证LDConv具有强大的泛化能力,基于VisDrone-DET2021数据,我们进行了相关的目标检测实验。VisDrone-DET2021是一个由无人机在不同环境、天气和光照条件下拍摄的具有挑战性的数据集。它是中国最大的无人机航拍数据集之一,覆盖面最广。训练集包含6,471张图像,验证集包含548张图像。如同第4.1节所述,我们选择YOLOv5n作为基线模型,使用LDConv替代网络中的卷积操作。在实验中,为了便于探索更大的卷积尺寸,批量大小设置为16,其余所有超参数设置均与之前相同。如同前一节,我们分别报告了mAP50和mAP的结果。

如表3所示,可以看出基于不同尺寸的LDConv可以用作减轻参数数量和计算开销的轻量级选项,并提升网络性能。在实验中,当LDConv的尺寸设置为3时,相较于基线模型,模型的检测性能有所下降,但是对应的参数数量和计算开销要小得多。此外,我们可以通过逐步调整LDConv的尺寸来探索网络性能的变化。LDConv为网络带来了更丰富的选择。

0912e5cac8dc09fb693499c814070f46.png

4.4 比较实验

不同于可变形卷积(Deformable Conv),LDConv为网络提供了更加丰富多样的选择,并弥补了可变形卷积仅使用常规卷积操作的不足。而LDConv既能使用常规也能使用非常规的卷积操作。当LDConv的尺寸设定为K的平方时,它就变成了一个可变形卷积。此外,DSConv也利用偏移量来调整采样形状,但其采样形状是为了适应管状目标设计的,且采样形状的变化范围有限。为了对比在相同尺寸下LDConv、可变形卷积和DSConv的优势,我们在COCO2017数据集上基于YOLOv5s进行了实验。如表4所示,当卷积核参数数量为9(即标准的3×3卷积)时,可以看到LDConv和可变形卷积的表现相同。因为当卷积核尺寸规则时,LDConv等同于可变形卷积。但我们提到过,可变形卷积尚未探索非常规的卷积核尺寸。因此,参数数量为5或11的卷积操作无法实现。在LDConv的设计中,我们不对输入特征执行零填充处理。然而,可变形卷积中使用了填充。为了公平比较,我们在LDConv中也对输入特征使用了零填充。实验表明,LDConv中的零填充有助于提高网络性能。

此外,基于VOC 7+12数据集,我们选择了YOLOv5n来比较LDConv、DSConv和可变形卷积。在使用可变形卷积时,去除了零填充,以确保与LDConv的公平比较。如表5所示,可以看到LDConv表现更佳。理论上,当可变形卷积的尺寸为3时,其性能应该等同于LDConv(N=9)。但是,可变形卷积从索引=1开始采样而非从0开始,因此会丢失一些信息。由于DSConv是为特定的管状形状设计的,因此可以观察到其在COCO2017和VOC 7+12上的检测性能并不突出。

在实施DSConv时,Qi等人扩展了行或列的特征,最终使用行或列卷积提取类似我们的特征。因此,他们的方法也可以实现参数为2、3、4、5、6、7等的卷积操作。在相同尺寸下,我们也进行了对比实验。因为DSConv没有完成下采样的方法,在实验中,我们用LDConv和DSConv替换了YOLOv5n中C3层的3×3卷积。实验结果见表4和表5。LDConv在DSConv之上具有优势,因为DSConv并不是为了提升任意尺寸卷积核的性能而设计的,而是为了探索特定形状的目标。相比之下,LDConv提供了更丰富的卷积核选择和探索,能够有效地提高网络性能。表4和表5的数据进一步证实了这一点。

693214408b178e827cd6767a2bc8df91.png

此外,为了凸显LDConv的优势,我们还比较了一些新颖的卷积方法,如SAConv、SPDConv、RFAConv、FasterBlock、GSConv-Neck及相关的CKConv、FlexConv和DCLS。基于YOLOv5n和YOLOv5s,我们分别在代表性的数据集VOC 7+12和VisDrone-DET2021上进行了实验。同时,我们使用改进的GSBottleneck构建了ImprovedFasterBLock和ImprovedGSConv-Neck来进行实验。所有实验均基于批次大小为16,训练轮数为300的设置进行。在实验中,Bottleneck中的3×3卷积操作分别被LDConv、SAConv、FasterBlock、CKConv、FlexConv和DCLS所替代。下采样卷积被RFAConv和SPDConv替代,而C3模块则被GSConv-Neck替代。如表6和表7所示,可以看到使用LDConv的网络获得了良好的性能。在表7中,与LDConv相比,RFAConv在VisDrone-DET2021数据集上取得了更好的表现,这是一个包含无人机获取图像的具有挑战性的数据集。然而,无人机拍摄的图像通常包含复杂的背景。RFAConv为每个采样位置的卷积核分配不同的注意力权重,使得卷积在处理无人机捕捉的图像特征时能更好地区分背景信息。相比之下,LDConv不具备灵活的注意力权重来区分背景信息。此外,CKConv和FlexConv作为灵活的卷积操作,它们同样可以设置任意大小的记忆范围,但基函数的实现需要大量的计算,导致网络性能较差。在我们的实验中,我们将CKConv的超参数horizon设置为1、3和5。当horizon为1时,网络性能较差;当horizon设为3时,网络性能相较于horizon为1时有所提升,但需要付出大量的计算成本;当horizon为5时,虽然网络性能没有显著提升,但计算开销大幅增加。因此,在我们的实验中,我们将CKConv的horizon设置为3。FlexConv基于CKConv,为了保持一致性,我们在实验中也将horizon设置为3。DCLS通过参考相应的仓库设置替换了标准的3×3卷积操作。

aa14d7b399c2ee58d39c9022903c7d7d.png

9f6ee4a4716cbe57b94430309ea8adfd.png

为了清晰地观察所有网络在整个训练过程中mAP50和mAP的变化,我们基于VOC 7+12和VisDrone-DET2021对这些变化进行了可视化。如图7和图8所示,与这些最先进的方法相比,LDConv能够灵活地调整卷积参数的数量和采样形状,从而在平衡网络开销的同时适应变化的目标,因此在网络中添加LDConv后获得了良好的性能。

175ced057010af3dc66427af941f03c3.png

5c505ea0eb8f1aeb8e9461f024a13f5d.png

4.5 探索初始采样形状

正如前文所述,LDConv可以通过使用任意大小和任意采样的形状来提取特征。为了探索不同初始采样形状下的LDConv对网络的影响,我们分别在COCO2017和VisDrone-DET2021上进行了实验。在COCO2017上,实验基于批次大小为32和训练轮数为100进行。而在VisDrone-DET2021上,实验基于批次大小为16和训练轮数为300进行。所有其他超参数均为网络默认值。在COCO2017中,我们选择了YOLOv8n进行实验。如表8所示,LDConv仍然能够提高网络的检测精度。YOLOv8和YOLOv5的网络结构相似,主要区别在于C3和C2f的设计。可以看出,LDConv加入到YOLOv8中所获得的性能提升不如在YOLOv5中的好。我们认为在相同大小的情况下,YOLOv8需要比YOLOv5更多的参数,因此更多的参数可以提供更优的特征信息,就像LDConv所做的那样。因此,加入LDConv后,YOLOv8的提升不如YOLOv5显著。此外,在相同大小下,我们在COCO2017中测试了不同初始采样形状对网络性能的影响。显然,在不同的初始样本下,网络获得的检测精度波动不大。这得益于COCO2017的大规模数据能够灵活调整偏移量。但这并不意味着网络在所有初始采样坐标下获得的检测精度差异不明显。为了再次探讨不同初始形状下的LDConv对网络的影响,我们基于YOLOv5n在VisDrone-DET2021上进行了实验,实验采用了大小为5且不同初始采样的LDConv。从表9可以看出,网络在不同初始采样下获得了不同的检测精度。因此,不同初始采样形状下的LDConv对网络性能有影响。此外,对于特定的网络和数据集,探索合适的初始采样形状下的LDConv以提升网络性能是非常重要的。

5fd900ca86e30e8fd318d675c173f288.png

6010414f5db66153ce77160ef58ad09e.png

5 分析与讨论

在之前的实验中,我们使用了不同初始采样形状(尺寸为5)的LDConv来评估YOLOv5n的性能。可以清楚地观察到,网络在不同的初始采样形状下表现不同。这表明偏移量的调整能力也是有限的。为了测量每个给定位置的偏移量变化,我们定义了一个平均偏移量(Average Offset,AO),其定义如下:![image-20241104193850258](LDConv Linear deformable convolution for improving convolutional neural networks.assets/image-20241104193850258.png)

AO(平均偏移量)通过汇总偏移量并取平均值,衡量了每个位置采样点的变化程度。为了观察偏移量的变化,我们选取了训练好的网络,并选择LDConv的最后一层来分析整体偏移量的变化趋势。为此,我们随机选取了VisDrone-DET2021中的四张图片,然后可视化了尺寸为5的LDConv在不同初始采样位置的整体变化情况。如图9所示,我们展示了每个采样位置的AO偏移量变化程度。图9中的不同颜色代表了训练后不同初始采样在每个采样位置上的偏移量变化。线条的颜色对应中间的初始采样形状。图9中的不同初始采样形状对应于表9中的初始采样形状。可以得出结论,在图9中蓝色和红色的初始采样形状下OA变化较小。这意味着相对于其他初始采样,红色和蓝色的初始采样更适合该数据集。正如表9的实验所示,可以看到与蓝色和红色对应的初始采样形状获得了更好的检测精度。所有的实验都证明了LDConv能够显著提高网络的性能。与可变形卷积(Deformable Conv)不同,LDConv具有根据大小灵活调整网络性能的能力。在所有实验中,我们广泛地探索了尺寸为5的LDConv。因为当使用大量的数据训练COCO2017时,我们发现将LDConv的尺寸设置为5时,训练速度与原始模型相差无几。而且,随着LDConv尺寸的增大,训练时间逐渐增加。在COCO2017、VOC 7+12和VisDrone-DET2021的实验中,设置尺寸为5的LDConv为网络带来了良好的结果。当然,对于其他尺寸的LDConv探索也是可能的,因为参数数量呈线性增长,而任意采样形状则为LDConv的探索提供了丰富的选择。LDConv能够实现任意大小和任意采样的卷积操作,并能通过偏移量自动调整采样形状以适应目标的变化。所有实验都证明了LDConv提高了网络性能,并为网络开销与性能之间的权衡提供了更加丰富的选择。此外,尽管LDConv提高了模型的检测精度,但在训练过程中牺牲了一些检测速度。造成这一现象的原因是LDConv在访问内存时耗费了太多时间。因此在未来的工作中,我们将设计适当的运算符以减少内存访问时间,从而提高LDConv的速度。

6 结论

显而易见,在现实生活以及计算机视觉领域中,物体的形状表现出各种各样的变化。卷积操作的固定采样形状无法适应这些变化。尽管可变形卷积(Deformable Conv)可以通过偏移量的调整灵活地改变卷积的采样形状,但它仍然存在局限性。因此,本工作中提出了LDConv,它真正实现了让卷积具备任意采样形状和大小的能力,为卷积核的选择提供了多样性。此外,本工作还探索了不同的初始采样形状,并改进了FasterBlock和GSBottleneck。虽然在此工作中我们仅为尺寸为5的LDConv设计了多种采样坐标形状,但LDConv的灵活性在于它可以针对任何大小的采样核提取信息。因此,未来我们希望能够探索适用于特定任务领域内的适当尺寸和采样形状的LDConv,这将为后续任务增添动力。

80a320d8e1cdce082c7c856109904134.png

—END—

论文链接:https://arxiv.org/pdf/2311.11587

91a380bfa214fe2e4686d9073582bf3f.jpeg

请长按或扫描二维码关注本公众号

喜欢的话,请给我个在看吧

### 关于 `ldconv` 的 C++ 链接器工具 在 C++ 编程环境中,链接器(Linker)是一个重要的工具,负责将多个目标文件和库组合成最终的可执行文件。然而,在标准的 GNU 工具链中,并不存在名为 `ldconv` 的官方链接器工具[^5]。 通常情况下,GNU 工具链使用的链接器是 `ld` 或者更高级别的封装工具如 `g++` 和 `gcc`,它们会在后台调用 `ld` 来完成链接操作。如果提到的是 `ldconv`,这可能是指某些特定平台或者第三方工具的功能扩展,而非主流的标准链接器名称。 以下是关于链接器的一些补充说明: #### 头文件的作用 为了使不同源文件之间能够正确协作,通常需要定义头文件来声明函数原型或其他全局资源。例如,通过创建一个名为 `Log.h` 的头文件可以有效管理跨模块的接口声明[^3]。 #### 完整的例子展示 下面提供了一个完整的例子,展示了如何利用头文件以及实现文件共同构建项目结构: ```cpp // Log.h 文件内容 #pragma once void Log(const char* message); // Log.cpp 文件内容 #include <iostream> #include "Log.h" void Log(const char* message) { std::cout << message << std::endl; } // Main.cpp 文件内容 #include "Log.h" int main() { Log("Hello from the main function!"); return 0; } ``` 此案例中包含了三个部分:头文件用于声明;`.cpp` 实现具体逻辑;最后还有一个主程序入口点[^4]。 #### 链接阶段的重要性 链接阶段涉及解析符号引用并将各个组件连接起来形成单一的应用程序实体。即便所有的代码都集中在一个单独的 `.cpp` 文件内,依然存在隐式的链接需求——即确定整个应用启动时所需的入口位置等基本信息。 ### 结论 综上所述,“ldconv”并非通用术语下的C++链接器组成部分之一。对于常规开发流程而言,建议继续沿用已被广泛接受和支持的传统解决方案,比如基于GCC系列所提供的功能集来进行软件组装工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值