大选择核网络在遥感目标检测中的应用

摘要

论文链接:https://arxiv.org/pdf/2303.09030.pdf
最近关于遥感目标检测的研究主要集中在改进有向边界框的表示,但忽略了遥感场景中呈现的独特先验知识。这种先验知识很有用,因为如果没有参考足够远的上下文,可能会错误地检测到微小的遥感对象,而不同类型对象所需的远程上下文可能会有所不同。在本文中,我们考虑了这些先验,并提出了大选择性核网络(LSKNet)。LSKNet可以动态调整其大的空间感受野,以更好地模拟遥感场景中各种对象的测距上下文。据我们所知,这是第一次在遥感目标检测领域探索大和选择性核机制。LSKNet在标准基准上创造了新的最先进得分,即HRSC2016(98.46%mAP)、DOTA-v1.0(81.85%mAP)和FAIR1M-v1.0(47.87%mAP)。基于类似的技术,我们在2022年大湾区国际算法竞赛中排名第二。代码可在https://github.com/zcablii/Large-Selective-Kernel-Network获取。

简介

遥感目标检测【75】是计算机视觉的一个领域,专注于在航空图像中识别和定位感兴趣的物体,如车辆或飞机。近年来,一个主流趋势是生成准确符合被检测物体方向的边界框,而不是简单地在它们周围绘制水平框。因此,大量的研究集中在改进遥感目标检测中有向边界框的表示。这主要是通过开发专门的检测框架实现的,如RoI Transformer【12】、Oriented R-CNN【62】和R3Det【68】,以及有向框编码技术,如滑动顶点【64】和中点偏移框编码【62】。此外,还提出了许多损失函数,包括GWD【70】、KLD【72】和调制损失【50】,以进一步提高这些方法的性能。

然而,尽管取得了这些进展,但相对较少的研究考虑到遥感图像中存在的强先验知识。航空图像通常是以高分辨率从鸟瞰角度拍摄的。特别是,航空图像中的大多数物体可能尺寸很小,仅根据其外观难以识别。相反,成功识别这些物体往往依赖于它们的上下文,因为周围环境可以提供有关其形状、方向和其他特征的宝贵线索。根据对主流遥感数据集的分析,我们确定了两个重要的先验:

  • (1)遥感图像中物体的准确检测通常需要广泛的上下文信息。如图1(a)所示,遥感图像中物体检测器使用的有限上下文通常会导致分类错误。例如,在上面的图像中,检测器可能会由于其典型特征将交叉口分类为交叉路口,但实际上它并不是交叉路口。同样,在下面的图像中,检测器可能会由于大树的存在将交叉口分类为非交叉路口,但这同样是错误的。这些错误之所以发生,是因为检测器只考虑了物体附近有限的上下文信息。图1(b)中的船舶和车辆示例中也可以观察到类似的场景。
    在这里插入图片描述

  • (2)不同类型对象所需的广泛上下文信息差异很大。如图2所示,遥感图像中准确目标检测所需的上下文信息量根据所检测对象的类型可以有很大的不同。例如,由于独特的可区分场地边界线,足球场可能需要相对较少的额外上下文信息。相比之下,环岛可能需要更大范围的上下文信息,以区分花园和环形建筑。交叉口,特别是那些被树木部分覆盖的交叉口,由于相交道路之间的长程依赖关系,通常需要极大的感受野。这是因为树木和其他障碍物的存在使得仅基于外观识别道路和交叉口本身变得困难。其他物体类别,如桥梁、车辆和船舶,为了准确检测和分类,也可能需要不同尺度的感受野。
    在这里插入图片描述

为了解决遥感图像中准确检测物体的挑战,这通常需要广泛和动态的上下文信息范围,我们提出了一种名为大选择核网络(LSKNet)的新方法。我们的方法涉及动态调整特征提取主干的感受野,以便更有效地处理被检测物体的不同广泛上下文。这是通过空间选择性机制实现的,该机制有效地对由一系列大深度核处理的特征进行加权,然后在空间上合并它们。这些核的权重是根据输入动态确定的,使模型能够自适应地使用不同的大核并根据需要调整每个目标的空间感受野。

据我们所知,我们提出的LSKNet是第一个研究和讨论在遥感目标检测中使用大和选择性核的模型。尽管我们的模型很简单,但它在三个流行的数据集上实现了最先进的性能:HRSC2016(98.46%mAP)、DOTA-v1.0(81.64%mAP)和FAIR1M-v1.0(47.87%mAP),超过了先前公布的结果。此外,我们证明了我们的模型的行为完全与上述两个先验相符,这反过来也验证了所提出机制的有效性。

2.相关工作

2.1.遥感目标检测框架

高性能的遥感目标检测器通常依赖于RCNN【52】框架,该框架由区域提议网络和区域CNN检测头组成。近年来,对RCNN框架提出了几种变种。两阶段的RoI Transformer【12】在第一阶段使用全连接层旋转候选水平锚框,然后提取框内的特征进行进一步的回归和分类。SCRDet【71】使用注意力机制来减少背景噪声,改善对拥挤和小物体的建模。Oriented R-CNN【62】和Gliding Vertex【64】引入了新的框编码系统,以解决旋转角度周期性导致的训练损失不稳定问题。一些方法【29、79、56】将遥感检测视为点检测任务【67】,为解决遥感检测问题提供了另一种方式。

而不是依赖于提议的锚框,一阶段检测框架直接从网格密集采样的锚框中分类和回归有向边界框。一阶段的S2A网络【20】通过有向特征对齐和方向不变特征提取提取鲁棒的对象特征。另一方面,DRN【46】利用注意力机制动态细化主干提取的特征,以进行更准确的预测。与Oriented R-CNN和Gliding Vertex不同,RSDet【50】通过引入调制损失来解决回归损失的不连续性。AOPG【6】和R3Det【68】采用渐进回归的方法,从粗到细的粒度精炼边界框。除了基于CNN的框架,AO2-DETR【9】将基于transformer的检测框架DETR【4】引入遥感检测任务,带来了更多的研究多样性。

2.2.大核网络

基于Transformer的模型,如视觉Transformer(ViT)【14、49、55、11、1】、Swin Transformer【36、22、63、76、47】和PVT【57】在计算机视觉中受到了欢迎,因为它们在图像识别任务中的有效性。研究【51、65、78、42】表明,大感受野是它们成功的关键因素。有鉴于此,最近的工作表明,精心设计的具有大感受野的卷积网络也可以与基于Transformer的模型高度竞争。例如,ConvNeXt【37】在其主干中使用7×7深度卷积,从而在下游任务中取得了显著的性能改进。此外,RepLKNet【13】甚至通过重新参数化使用31×31卷积核,实现了引人注目的性能。后续工作SLaK【35】通过核分解和稀疏组技术进一步将核大小扩展到51×51。VAN【17】引入了大核的高效分解作为卷积注意力。同样,SegNeXt【18】和Conv2Former【25】证明了大核卷积在调制具有更丰富上下文的卷积特征中起着重要作用。

2.3.注意力/选择机制

注意力机制是一种简单而有效的方法,可以增强各种任务的神经表示。通道注意力SE块【27】使用全局平均信息对特征通道进行重加权,而空间注意力模块,如GENet【26】、GCNet【3】和SGE【31】,通过空间掩码增强了网络对上下文信息的建模能力。CBAM【60】和BAM【48】结合了通道注意力和空间注意力,以利用两者的优点。

除了通道/空间注意力机制外,核选择也是一种自适应和有效的动态上下文建模技术。CondConv【66】和动态卷积【5】使用并行核自适应地从多个卷积核中聚合特征。SKNet【30】引入了具有不同卷积核的多个分支,并沿通道维度选择性地将它们组合起来。ResNeSt【77】通过将输入特征图划分为几个组来扩展SKNet的思想。与SKNet类似,SCNet【34】使用分支注意力来捕捉更丰富的信息,使用空间注意力来提高定位能力。可变形卷积网络【80、8】为卷积单元引入了灵活的核形状。

我们的方法与SKNet【30】最为相似,但两种方法有两个关键区别。首先,我们提出的选择机制明确依赖于通过分解的一系列大核,这与大多数现有的基于注意力的方法不同。其次,我们的方法在空间维度上自适应地聚合大核之间的信息,而不是像SKNet那样在通道维度上进行聚合。这种设计对于遥感任务更直观和有效,因为逐通道的选择无法对图像空间中不同目标的空间变化进行建模。详细的结构比较如图3所示。
在这里插入图片描述

3.方法

3.1. LSKNet架构

整体架构是建立在最近流行的结构[37,58,17,25,74] (参见补充材料(SM)中的细节)上,并使用重复的构建块。

本文使用的LSKNet不同变体的详细配置如表1所示。每个LSKNet块由两个剩余子块组成:大内核选择(LK Selection)子块和前馈网络(FFN)子块。核心LSK模块(图4)嵌入在LK选择子块中。它由一系列大核卷积和一个空间核选择机制组成,稍后将详细阐述。
在这里插入图片描述
在这里插入图片描述

3.2.大核卷积

根据引言中所述的先验(2),建议对一系列多个长程上下文进行建模以进行自适应选择。因此,我们提出通过显式地将大核卷积分解为一系列具有大增长核和增加膨胀的深度卷积来构建大核卷积。具体来说,该系列中第i个深度卷积的核大小k、膨胀率d和感受野RF的扩展定义如下:
k i − 1 ≤ k i ; d 1 = 1 , d i − 1 < d i ≤ R F i − 1 , (1) k_{i-1} \leq k_{i} ; d_{1}=1, d_{i-1}<d_{i} \leq R F_{i-1}, \tag{1} ki1ki;d1=1,di1<diRFi1,(1)
R F 1 = k 1 , R F i = d i ( k i − 1 ) + R F i − 1 (2) R F_{1}=k_{1}, R F_{i}=d_{i}\left(k_{i}-1\right)+R F_{i-1} \tag{2} RF1=k1,RFi=di(ki1)+RFi1(2)

核大小和膨胀率的增加确保了感受野足够快速地扩展。我们在膨胀率上设置了一个上限,以保证膨胀卷积不会在特征图之间引入间隙。例如,我们可以将一个大核分解为2或3个深度卷积,如表2所示,它们的理论感受野分别为23和29。

所提出的设计有两个优点。首先,它显式地产生了具有不同大感受野的多个特征,这使得后续的核选择更容易。其次,顺序分解比简单地应用一个更大的核更有效。如表2所示,在相同的理论感受野下,我们的分解大大减少了与标准大卷积核相比的参数数量。为了从输入X中获得具有丰富上下文信息的特征,我们应用了一系列具有不同感受野的分解深度卷积:
U 0 = X , U i + 1 = F i d w ( U i ) , (3) \mathbf{U}_{0}=\mathbf{X}, \quad \mathbf{U}_{i+1}=\mathcal{F}_{i}^{d w}\left(\mathbf{U}_{i}\right), \tag{3} U0=X,Ui+1=Fidw(Ui),(3)

其中 F i d w ( ⋅ ) \mathcal{F}_{i}^{d w}(\cdot) Fidw()是具有核 k i k_{i} ki和膨胀 d i d_{i} di的深度卷积。假设有N个分解的核,每个核进一步由 1 × 1 1\times 1 1×1卷积层 F 1 × 1 ( ⋅ ) \mathcal{F}^{1 \times 1}(\cdot) F1×1()处理:
U ~ i = F i 1 × 1 ( U i ) , for  i in  [ 1 , N ] , (4) \widetilde{\mathbf{U}}_{i}=\mathcal{F}_{i}^{1 \times 1}\left(\mathbf{U}_{i}\right) \text {, for } i \text { in }[1, N], \tag{4} U i=Fi1×1(Ui), for i in [1,N],(4)

允许每个空间特征向量的通道混合。然后,提出了一个选择机制,根据获得的多尺度特征动态选择不同对象的核,这将在后面介绍。

3.3. 空间核选择

为了增强网络关注最相关空间上下文区域以检测目标的能力,我们使用空间选择机制在不同尺度上从大卷积核中选择特征图。首先,我们将从不同核和不同感受野范围获得的特征进行连接:
U ~ = [ U ~ 1 ; … ; U ~ i ] , (5) \widetilde{\mathbf{U}}=\left[\widetilde{\mathbf{U}}_{1} ; \ldots ; \widetilde{\mathbf{U}}_{i}\right], \tag{5} U =[U 1;;U i],(5)
然后通过对 U ~ \widetilde{\mathbf{U}} U 应用基于通道的平均池化和最大池化(表示为 P avg  ( ⋅ ) 和 P max ⁡ ( ⋅ ) ) \mathcal{P}{\text {avg }}(\cdot)和\left.\mathcal{P}{\max }(\cdot)\right) Pavg ()Pmax())有效地提取空间关系:
S A avg  = P avg  ( U ~ ) , S A max  = P max ⁡ ( U ~ ) (6) \mathbf{S A}_{\text {avg }}=\mathcal{P}_{\text {avg }}(\widetilde{\mathbf{U}}), \mathbf{S A}_{\text {max }}=\mathcal{P}_{\max }(\widetilde{\mathbf{U}}) \tag{6} SAavg =Pavg (U ),SAmax =Pmax(U )(6)

其中 S A a v g \mathbf{S} \mathbf{A}_{a v g} SAavg S A max ⁡ \mathbf{S} \mathbf{A}_{\max } SAmax是平均池化和最大池化的空间特征描述符。为了允许不同空间描述符之间的信息交互,我们将空间池化的特征连接起来,并使用卷积层 F 2 → N ( ⋅ ) \mathcal{F}^{2 \rightarrow N}(\cdot) F2N()将池化的特征(具有2个通道)转换为N个空间注意力图:
S A ^ = F 2 → N ( [ S A avg  ; S A max ⁡ ] ) (7) \widehat{\mathbf{S A}}=\mathcal{F}^{2 \rightarrow N}\left(\left[\mathbf{S} \mathbf{A}_{\text {avg }} ; \mathbf{S A}_{\max }\right]\right) \tag{7} SA =F2N([SAavg ;SAmax])(7)

对于每个空间注意力图 S A ^ i \widehat{\mathbf{S A}}_{i} SA i,应用sigmoid激活函数以获得每个分解的大核的个体空间选择掩码:
S A ‾ i = σ ( S A ^ i ) ,  (8) \overline{\mathbf{S A}}_{i}=\sigma\left(\widehat{\mathbf{S A}}_{i}\right) \text {, } \tag{8} SAi=σ(SA i)(8)

其中 σ ( ⋅ ) \sigma(\cdot) σ()表示sigmoid函数。然后,来自分解大核序列的特征通过其相应的空间选择掩码进行加权,并由卷积层 F ( ⋅ ) \mathcal{F}(\cdot) F()融合,以获得注意力特征 S \mathbf{S} S
S = F ( ∑ i = 1 N ( S A i ~ ⋅ U ~ i ) ) (9) \mathbf{S}=\mathcal{F}\left(\sum_{i=1}^{N}\left(\widetilde{\mathbf{S A}_{i}} \cdot \widetilde{\mathbf{U}}_{i}\right)\right) \tag{9} S=F(i=1N(SAi U i))(9)

LSK模块的最终输出是输入特征 X 和 S \mathbf{X}和\mathbf{S} XS之间的逐元素乘积,类似于[17,18,25]:
Y = X ⋅ S .  (10) \mathbf{Y}=\mathbf{X} \cdot \mathbf{S} \text {. } \tag{10} Y=XS(10)

图4显示了LSK模块的详细概念说明,其中我们直观地演示了大选择核如何通过自适应地收集不同对象的相应大接受场来工作。

4. 实验

4.1. 数据集

HRSC2016 [39]是一个用于船舶检测的高分辨率遥感图像数据集。它包含1061张图像,其中包含2976个船舶实例。

DOTA-v1.0 [61]由2806张遥感图像组成。它包含15个类别的188282个实例:飞机(PL)、棒球钻石(BD)、桥梁(BR)、地面跑道(GTF)、小型车辆(SV)、大型车辆(LV)、船舶(SH)、网球场(TC)、篮球场(BC)、储罐(ST)、足球场(SBF)、环形交叉口(RA)、港口(HA)、游泳池(SP)和直升机(HC)。

FAIR1M-v1.0 [53]是最近发布的遥感数据集,由15266张高分辨率图像和超过100万个实例组成。它包含5个类别和37个子类别对象。

4.2. 实现细节

在我们的实验中,我们报告了检测模型在HRSC2016、DOTA-v1.0和FAIR1M-v1.0数据集上的结果。为了确保公平性,我们采用了与其他主流方法[62, 20, 21]相同的数据集处理方法。更多细节可以在SM中找到。在我们的实验中,主干网络首先在ImageNet-1K[10]数据集上进行预训练,然后在目标遥感基准上进行微调。在消融研究中,我们采用100个epoch的主干网络预训练计划以提高实验效率(表3、5、4、6、7)。我们采用300个epoch的主干网络预训练策略以追求更高的精度(表8、9、10),类似于[62, 20, 68, 6]。在主要结果(表8、9)中,“Pre.”列表示网络/主干网络预训练的数据集(IN:Imagenet[10]数据集;CO:Microsoft COCO[33]数据集;MA:Million-AID[40]数据集)。除非另有说明,否则由于Oriented RCNN[62]具有令人信服的性能和效率,LSKNet默认在其框架内构建。所有模型都在训练集和验证集上进行训练,并在测试集上进行测试。按照[62],我们使用AdamW[41]优化器在HRSC2016数据集上训练模型36个epoch,在DOTA-v1.0和FAIR1M-v1.0数据集上训练模型12个epoch。初始学习率设置为0.0004(对于HRSC2016)和0.0002(对于其他两个数据集),权重衰减为0.05。我们使用8个RTX3090 GPU,批量大小为8进行模型训练,并使用单个RTX3090 GPU进行测试。我们在本文中报告的所有FLOPs都是使用1024×1024图像输入计算的。
在这里插入图片描述

4.3. 消融实验

在本节中,我们报告了DOTA-v1.0测试集的消融研究结果,以研究其有效性。

大核分解。决定分解的核数量是LSK模块的关键选择。我们遵循公式(1)来配置分解的核。当理论感受野固定在29时,关于大核分解数量的消融研究结果如表3所示。这表明将大核分解为两个深度大核可以在速度和精度之间取得良好的平衡,在FPS(每秒帧数)和mAP(平均精度均值)方面都取得了最佳性能。
在这里插入图片描述

感受野大小和选择类型。根据我们在表3中的评估,我们发现我们提出的LSKNet的最佳解决方案是将大核分解为两个串联的深度核。此外,表4显示,过小或过大的感受野会阻碍LSKNet的性能,而感受野大小约为23被确定为最有效。此外,我们的实验表明,对于遥感目标检测任务,所提出的空间选择方法比通道注意力(类似于SKNet[30])更有效。
在这里插入图片描述

空间选择中的池化层。我们进行了实验,以确定遥感目标检测中空间选择的最优池化层,如表5所示。结果表明,在我们的LSK模块的空间选择组件中使用最大池化和平均池化可以在不牺牲推理速度的情况下提供最佳性能。

不同检测框架下LSKNet主干的性能。为了验证我们提出的LSKNet主干的通用性和有效性,我们在各种遥感检测框架下评估了其性能,包括两阶段框架O-RCNN[62]和RoI Transformer[12]以及一阶段框架S2ANet[20]和R3Det[68]。表6中的结果显示,与我们提出的LSKNet主干相比,ResNet-18的检测性能得到了显著提高,同时只使用了其38%的参数和少了50%的FLOPs。

与其他大核/选择性注意力主干的比较。我们还将我们的LSKNet与6种流行的高性能大核或选择性注意力主干模型进行了比较。如表7所示,在相似的模型大小和复杂性预算下,我们的LSKNet在DOTA-v1.0数据集上优于所有其他模型。
在这里插入图片描述

4.4、主要结果

HRSC2016结果。我们在HRSC2016数据集上对LSKNet的性能与12种最先进的方法进行了评估。表8所示的结果表明,我们的LSKNet-S在PASCAL VOC 2007[15]和VOC 2012[16]指标下的mAP分别为90.65%和98.46%,优于所有其他方法。
在这里插入图片描述

在DOTA-v1.0上的结果。我们在DOTA-v1.0数据集上将我们的LSKNet与20种最先进的方法进行了比较,如表9所示。我们的LSKNet-T和LSKNet-S分别以81.37%和81.64%的mAP实现了最先进的性能。值得注意的是,我们高性能的LSKNet-S在单个RTX3090 GPU上处理1024x1024图像时达到了18.1 FPS的推理速度。

FAIR1M-v1.0的结果。我们将LSKNet与FAIR1M-v1.0数据集上的其他6个模型进行比较,如表10所示。结果表明,我们的LSKNet-T和LSKNet-S表现得非常好,分别达到了最先进的mAP分数46.93%和47.87%,大大超过了所有其他模型。
在这里插入图片描述

2022年粤港澳大湾区国际算法竞赛。我们的团队为2022年粤港澳大湾区国际算法竞赛实现了一个与LSKNet类似的模型,并获得了第二名,与第一名获胜者的差距很小。竞赛期间使用的数据集是FAIR1Mv2.0[53]的子集,竞赛结果如表11所示。更多细节请参考SM。

4.5、分析

检测结果和EigenCAM[45]的可视化示例如图5所示。它强调了LSKNet-S可以捕获与检测目标相关的更多上下文信息,从而在各种困难情况下获得更好的性能,这证明了我们之前的(1)。
在这里插入图片描述

为了研究每个对象类别的接受野范围,我们将Rc定义为类别c的期望选择性射频面积与GT边界框面积的比值:
R c = ∑ i = 1 I c A i / B i I c , (11) R_{c}=\frac{\sum_{i=1}^{I_{c}} A_{i} / B_{i}}{I_{c}}, \tag{11} Rc=Ici=1IcAi/Bi,(11)

A i = ∑ d = 1 D ∑ n = 1 N ∣ S A ~ n d ⋅ R F n ∣ , B i = ∑ j = 1 J i Area ⁡ ( G T j ) , (12) A_{i}=\sum_{d=1}^{D} \sum_{n=1}^{N}\left|\widetilde{\mathbf{S A}}_{n}^{d} \cdot R F_{n}\right|, B_{i}=\sum_{j=1}^{J_{i}} \operatorname{Area}\left(\mathrm{GT}_{j}\right), \tag{12} Ai=d=1Dn=1N SA ndRFn ,Bi=j=1JiArea(GTj),(12)
其中, I c I_{c} Ic是仅包含对象类别c的图像数量。 A i A_{i} Ai是所有LSK块中输入图像i的空间选择激活的总和,其中D是LSKNet中的块数,N是LSK模块中分解的大核数。 B i B_{i} Bi是所有 J i J_{i} Ji个标注的有方向的对象边界框(GT)的总像素面积。我们在图6中绘制了归一化的 R c R_{c} Rc,它代表了不同对象类别所需的相对上下文范围,以便更好地观察。
在这里插入图片描述

结果表明,桥梁类别与其他类别相比需要更多的额外上下文信息,这主要是由于其与道路的特征相似,并且需要上下文线索来确定其是否被水包围。相反,由于球场类别(如足球场)具有独特的纹理属性,特别是球场边界线,因此它们需要的上下文信息最少。这与我们的知识相符,并进一步支持了先前的观点,即不同对象类别所需的相对上下文信息范围差异很大。

我们进一步研究了LSKNet中的核选择行为。对于对象类别c,LSKNet-T块的核选择差异 Δ A c \Delta A_{c} ΔAc(即,较大核选择-较小核选择)定义为:
Δ A c = ∣ S A ~ larger  − S A ~ smaller  ∣ . (13) \Delta A_{c}=\left|\widetilde{\mathbf{S A}}_{\text {larger }}-\widetilde{\mathbf{S A}}_{\text {smaller }}\right| . \tag{13} ΔAc= SA larger SA smaller  .(13)
在这里插入图片描述

我们在图7中展示了三个典型类别:Bridge、Roundabout和Soccerball-field以及每个LSKNet-T块中所有图像的归一化 Δ A c \Delta A_{c} ΔAc。正如预期的那样,Bridge的所有块的大核的参与程度高于Roundabout,而Roundabout则高于Soccer-ball-field。这与常识相符,因为Soccer-ball-field确实不需要大量的上下文,因为它自身的纹理特征已经足够独特和具有辨别力。

我们还惊奇地发现了LSKNet跨网络深度的另一种选择模式:LSKNet通常在其浅层中使用较大的核,而在较高层中使用较小的核。这表明网络倾向于快速地集中于从低层次的大接受域捕获信息,以便更高层次的语义可以包含足够的接受域,以便更好地进行区分。

5、结论

在本文中,我们提出了用于遥感目标检测任务的大选择核网络(LSKNet),该网络旨在利用遥感图像的固有特征:需要更广泛和适应性的上下文理解。通过调整其大的空间接受场,LSKNet可以有效地模拟不同对象类型的不同上下文细微差别。大量的实验表明,我们提出的轻量级模型在竞争性遥感基准上达到了最先进的性能。

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

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

相关文章

设计模式探索:从理论到实践的编码示例 (软件设计师笔记)

&#x1f600;前言 设计模式&#xff0c;作为软件工程领域的核心概念之一&#xff0c;向我们展示了开发过程中面对的典型问题的经典解决方案。这些模式不仅帮助开发者创建更加结构化、模块化和可维护的代码&#xff0c;而且也促进了代码的复用性。通过这篇文章&#xff0c;我们…

windows系统下pycharm配置anaconda

参考&#xff1a;超详细的PycharmAnconda安装配置教程_pycharm conda_罅隙的博客-CSDN博客 下载好anaconda安装后&#xff0c;比如我们安装在D盘anaconda文件夹下&#xff0c;在pycharm配置好环境激活时出现问题&#xff0c;可能是电脑没有配置环境变量 需要将一下4行添加到电…

axb_2019_brop64

axb_2019_brop64 Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000)64位&#xff0c;只开了NX __int64 repeater() {size_t v1; // raxchar s[208]; // [rsp0h] [rbp-D0h] BYREFprintf("…

Qt扩展-QCustomPlot 用户交互

QCustomPlot 用户交互 一、概述二、操作范围三、选择机制1. 控制Graph的可选择性和选择状态2. 所选对象的外观3. 多部分对象4. 对选择变化做出反应 四、用户交互信号 一、概述 QCustomPlot提供了多个内置的用户交互。它们大致可以分为 通过用鼠标拖动和滚动鼠标滚轮进行范围操…

MySQL 性能优化

MySQL 性能优化 数据库命名规范 所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用 MySQL 保留关键字&#xff08;如果表名中包含关键字查询时&#xff0c;需要将其用单引号括起来&#xff09;数据库对象的命名要能做到见名识意&#xff0c;并且最…

微信小程序-1

微信开发文档 https://developers.weixin.qq.com/miniprogram/dev/framework/ 报错在调试器的console里找 一、结构 Ctrl 放大字体 Ctrl - 缩小 设置 - - - 外观设置 - - - 可以修改喜欢的主题颜色 index.js index.json index.wxml 》 html <view class"box&qu…

Ubuntu安装samba服务器

为了window系统下能够像访问本地目录一样访问ubuntu系统下的目录&#xff0c;这里我通过安装samba服务器&#xff0c;将ubuntu系统的文件目录通过网络挂载的方式共享出来&#xff0c;以便在window下就能够对ubuntu系统的文件进行读写等访问操作&#xff0c;这里记录一下samba服…

SpringBoot快速入门

搭建SpringBoot工程&#xff0c;定义hello方法&#xff0c;返回“Hello SpringBoot” ②导入springboot工程需要继承的父工程&#xff1b;以及web开发的起步依赖。 ③编写Controller ④引导类就是SpringBoot项目的一个入口。 写注解写main方法调用run方法 快速构建SpringBoo…

Redis分页+多条件模糊查询组合实现思路

Redis是一个高效的内存数据库&#xff0c;它支持包括String、List、Set、SortedSet和Hash等数据类型的存储&#xff0c;在Redis中通常根据数据的key查询其value值&#xff0c;Redis没有模糊条件查询&#xff0c;在面对一些需要分页、排序以及条件查询的场景时(如评论&#xff0…

MyCat实现分库分表技术

目录 一、分库分表 1.1介绍 1.1.1问题分析 1.1.2拆分策略 1.1.3垂直拆分 1.1.3.1垂直分库 1.1.3.2垂直分表 1.1.4水平拆分 1.1.4.1水平分库 1.1.4.2水平分表 1.1.5实现技术 二、MyCat概述 2.1介绍 2.2下载 2.3安装 2.4目录介绍 2.5概念介绍 三、MyCat入门 3.…

MyBatisPlus(八)范围查询

说明 范围查询&#xff0c;包括&#xff1a; 大于大于等于小于小于等于在范围内在范围外 大于&#xff1a;gt 代码 Testvoid gt() {LambdaQueryWrapper<User> wrapper new LambdaQueryWrapper<>();wrapper.gt(User::getAge, 20);List<User> users mapp…

MyBatis-plus快速代码生成,使用MybatisX插件

概述 MyBatis提供逆向工程&#xff0c;可以快速生成代码。 而MyBatis-plus也提供了一个代码生成器&#xff0c;它需要执行一些代码来实现。 而MybatisX 是一款基于 IDEA 的快速开发插件&#xff0c;为效率而生&#xff0c;你不需要写代码&#xff0c;直接界面化操作&#xf…

python 学习随笔 4

列表list 将序列前几个进行替换&#xff08;数量可以不同&#xff09; 将序列进行间隔替换&#xff08;必须保证数量相同&#xff0c;否则报错&#xff09; 删除序列内元素 向序列后新增一个元素 向序列后新增多个元素 将序列进行数乘&#xff08;不是产生几个序列哦&#xff0…

三、git的安装和配置

一、安装 1.官网下载&#xff1a;https://git-scm.com/download 下载最新版本&#xff0c;点击红框或篮筐处即可 2.点击下载好的安装包安装这个软件 3.一直点击next&#xff0c;直到出现install&#xff0c;点击install&#xff0c;安装完成后点击finish&#xff1a; 下载完成…

【Mysql专题】视图介绍及其基本操作

前言 前段时间&#xff0c;跟客户开个线上会议&#xff0c;在和对方技术人员讨论到如何把数据给我们的时候&#xff0c;对方说【丢给你们一个视图&#xff0c;你们查视图就好了】我一下子懵了。当时现场贼尴尬&#xff0c;我只能假装断线了&#xff0c;然后又模棱两可的说了几…

【网络安全---ICMP报文分析】Wireshark教程----Wireshark 分析ICMP报文数据试验

一&#xff0c;试验环境搭建 1-1 试验环境示例图 1-2 环境准备 两台kali主机&#xff08;虚拟机&#xff09; kali2022 192.168.220.129/24 kali2022 192.168.220.3/27 1-2-1 网关配置&#xff1a; 编辑-------- 虚拟网路编辑器 更改设置进来以后 &#xff0c;先选择N…

10.1 调试事件读取寄存器

当读者需要获取到特定进程内的寄存器信息时&#xff0c;则需要在上述代码中进行完善&#xff0c;首先需要编写CREATE_PROCESS_DEBUG_EVENT事件&#xff0c;程序被首次加载进入内存时会被触发此事件&#xff0c;在该事件内首先我们通过lpStartAddress属性获取到当前程序的入口地…

阿里云免费服务器无法领取限制说明

阿里云提供免费服务器供用户申请&#xff0c;但是领取免费服务器是有条件的&#xff0c;并不是有所的阿里云用户均可领取免费云服务器&#xff0c;免费服务器领取条件为&#xff1a;账号从未使用过阿里云服务器的用户&#xff0c;阿里云百科来举例说明免费服务器领取说明&#…

STM32复习笔记(六):STM32远程升级BootLoader相关

目录 Preface&#xff1a; &#xff08;一&#xff09;STM32上电启动流程 &#xff08;二&#xff09;BootLoader相关 &#xff08;三&#xff09;Clion配置 Preface&#xff1a; 有关STM32的BootLoader主要还是参考了许多大佬的文章&#xff0c;这里只是简单地列举一下&am…

基于SpringBoot的体育馆场地赛事预约管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…