《Detection of Tea Leaf Blight in Low-Resolution UAV Remote Sensing Images》论文阅读

news2024/9/27 5:43:42

学习资料

  • 论文题目:Detection of Tea Leaf Blight in Low-Resolution UAV Remote Sensing Images(低分辨率UAV遥感图像中茶叶枯萎病的检测)
  • 论文地址:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10345618

Abstract—摘要 

研究背景

从茶树低分辨率(LR)图像中准确检测茶叶枯萎病(TLB)具有挑战性,原因包括患病茶叶体积小、密度大、边缘细节模糊,图像背景复杂且 TLB 斑点颜色和纹理特征与背景相似,导致现有方法检测精度低。

研究方法

提出一种两阶段网络,包括超分辨率(SR)网络 RFBDB-GAN轻量级检测网络(LWDNet)

将 RFBDB-GAN 应用于无人机图像细节恢复,引入多尺度两阶段退化方法模拟不同拍摄高度对图像的退化,在发生器和鉴别器中分别加入 RFB 密集残差块(RFBDB)和光谱归一化(SN)项以恢复纹理细节使 TLB 斑点更明显。

LWDNet 采用 SIoU 损耗和增强的轻量级 PANNet(ELPNet),以实现精确的 TLB 检测且模型小。

实验结果

RFBDB-GAN 比其他 SR 方法有明显改进,LWDNet 的模型大小为 716KB,是基线 YOLOv5s 的 5%。该方法对 LR 无人机遥感图像中的 TLB 具有更高的检测精度。

关键词

深度学习,轻量级网络,目标检测,超分辨率(SR),茶病,无人机(UAV)遥感。


1. 介绍

研究背景

  • 茶在中国的重要地位以及茶叶贸易对中国的影响。
  • 茶叶生长中病害会影响品质和产量,造成经济损失,因此实时监测至关重要。
  • 茶叶枯萎病是茶树最常见的病害之一,介绍了其症状和危害。

现有检测方法的不足

  • 传统的茶农或植保专家现场检测方法主观、耗时、费力,且检测结果不一致、错误率高。
  • 茶园分布面积大且偏远,检测病害需要大量人力物力。
  • 遥感技术为农作物病害检测提供了新方法,但飞机和卫星技术在空间 / 时间分辨率和观测能力方面有局限性,且成本高;地面设备覆盖范围有限,耗时长。
  • 无人机遥感更经济实惠、操作快速、易于使用,但现有从无人机遥感图像中检测茶叶枯萎病的方法存在问题。

机器学习检测方法分类及相关研究

  • 传统机器学习方法:依赖人工生成的特征,结合分类器进行检测,如 Marin 等、Siebring 等、Han 等、Zhou 等、Lei 等、Albetis 等、Yu 等的研究,但该方法特征表示能力不足,在目标背景复杂、图像分辨率低时效果不佳。
  • 深度学习方法:比传统机器学习方法具有更强的特征描述和模型泛化能力,能降低人工干预成本,如 Ishengoma 等、Oliveira 等、Kerkech 等、Chen 等、Yu 等、Shi 等的研究,但这些方法中无人机飞行高度低、图像分辨率高、覆盖病虫害作物面积小,检测效率较低。

本研究的贡献

  • 提出了一种可在单幅图像中覆盖 500m 区域的茶叶枯萎病检测方法。
  • 提出了具有多尺度感受野密集残差块的 RFBDB - GAN SR 网络,用于恢复无人机遥感图像的细节。
  • 提出了多尺度两阶段退化策略,解决了深度学习模型泛化性能弱和鲁棒性不足的问题。
  • 提出了高效的 LWDNet 模型,实现精确的茶叶枯萎病检测,其模型大小仅为 716kB,相当于基线 YOLOv5s 大小的 5%。

2. 材料

数据采集

  • 采集地点:在中国安徽合肥西南部的八镇镇茶园,西与芜湖市接壤,北与巢湖接壤。
  • 采集系统:包括一架无人机和一个 48 - MP 可见光传感器。
  • 图像获取:使用 128 张高空间分辨率图像(飞行高度:2 - 4m)用于网络训练,16 张低空间分辨率图像(飞行高度:12 - 14 米)进行验证 / 测试。通过滑动窗口对训练数据集进行增强,从每个 8000×6000 原始图像中得到 100 张图像(800×600),并去除过度曝光和模糊的图像,最终得到 996 张高空间分辨率的训练图像。
  • 图像示例:展示了不同高度裁剪的茶叶图像,包括 4 米高度和 12 米高度拍摄的 UAV 图像,并随机选择一个补丁进行放大比较,显示了随着无人机高度的增加,图像空间分辨率降低,茶叶斑点变小、模糊、难以分辨的情况


数据预处理

  • RFBDB - GAN 的数据预处理RFBDB - GAN 作为一种 SR 网络,旨在从退化未知且复杂的 LR 茶树图像中恢复 SR 图像。现有的 SR 方法通常使用经典退化,但由于无人机射击高度不同,经典退化无法有效模拟退化过程,导致 SR 图像中细节信息不足。为了增强图像的细节信息,提出了一种多尺度两阶段退化方法通过引入随机缩放因子代替下采样因子,并使用特定的公式合成 LR 输入。

  • LWDNet 的数据预处理:LWDNet 采用了马赛克数据增强方法,避免了由于对象小、样本有限而导致的模型过拟合;此外,还采用了翻转、色彩抖动、加噪等数据增强方法,以模拟自然场景下无人机摄影的复杂环境

3. 方法

方法部分主要介绍了用于 LR UAV 茶叶图像中 TLB 精确检测的两阶段策略

3.1. 步骤

第一步:图像预处理和训练集构建(见材料-数据预处理部分)

对低空拍摄的UAV茶叶图像进行裁剪

对于RFBDB-GAN,进行多尺度两阶段降解以获得LR图像。(增强细节信息)

对于LWDNet,使用噪声添加、翻转、颜色抖动和马赛克操作来扩展训练集。

第二步:RFBDB - GAN 的训练

将LR图像输入到生成器中生成SR图像。然后通过鉴别器将SR图像与原始图像进行比较,确定相似度,并将判断结果反馈给生成器,以调整生成器的参数。

第三步:RFBDB - GAN 的测试

经过训练的RFBDB-GAN对12-14 m处捕获的LR测试图像进行超分辨。然后将生成的SR图像作为检测网络的验证和测试集。在专家的指导下对SR图像中的TLB进行标记。

第四步:LWDNet 的训练

将训练集和验证集的大小调整为640 ×640。提取图像特征,通过增强的轻量级PANNet(ELPNet)结构融合特征映射,通过LWDNet的检测部分检测TLB。

第五步:LWDNet 的测试

通过训练好的LWDNet对SR测试集进行测试,并将检测结果拼接成完整的大图像。

红色虚线表示 RFBDB - GAN 的训练过程;蓝色虚线表示 LWDNet 的训练过程;绿色实线表示测试过程。


3.2. RFBDB-GAN SR

目的:从 LR 无人机的茶树图像中恢复细节,提高图像分辨率。

损失函数:使用 L1 损失、感知损失和 GAN 损失联合训练。


3.2.1. 网络结构

由生成器和鉴别器组成,生成器是由 RRDB 和 RFBDB 级联而成的密集残差结构,鉴别器采用具有谱归一化(SN)正则化项的 UNet。

生成器

Block - A

由 8 个 RRDB 区块串联而成,每个区块包含 3 个 DB 模块,残差结构密集。

Block - B

  • 由八个 RFBDB 块组成,每个块包含三个 RFBDB 模块。
  • 将 DB 模块中的卷积结构替换为改进的 RFB 结构,每一层的输出都与后续的输入层相连,促进信息交换,避免冗余特征学习。
  • 改进的 RFB 结构使用不同大小的感受野来池化不同核的多个分支,使用扩展卷积层来控制偏心,并对其进行重构以获得最终输出。目的是保留高维信息以恢复 SR 图像的细节,相应地修改 RFB 结构,删除所有批归一化(BN)层,在输出处使用 LeakyReLU 而不是 ReLU 激活函数。
鉴别器
  • 使用带有 SN 项的 UNet 作为鉴别器。SN 的作用是保证鉴别器满足 Lipschitz 连续性,将判别器每层输出的权重矩阵分解为 SVD,将最大奇异值限制为 1 并归一化,使网络在优化过程中参数变化更稳定,减少梯度爆炸的可能性。
  • UNet 主要结构由卷积编码单元和卷积解码单元组成,为每个像素输出真实的值,并向生成器提供详细的逐像素反馈。实验发现单独使用 UNet 模型作为鉴别器时,不能恢复细节纹理甚至可能产生不自然纹理,加入 SN 后可提高网络恢复图像细节的能力,改善恢复的纹理。


 3.2.2. 算法

  • 输入:HR - images 集合、迭代次数 K、批次大小 m。
  • 输出:训练好的生成器 G。
  • 步骤
    1. 使用多尺度两阶段退化方法对 HR - images 进行降级,获得配对的 LR - images 数据集。
    2. 单独使用 L1 损失对生成器进行初始化训练。
    3. 进行 K 次迭代训练,每次迭代中:
      • 从生成器中抽取图像样本,通过鉴别器判断图像真假。
      • 根据 L1 损失、感知损失和 GAN 损失的组合,通过基于梯度的优化器更新鉴别器的参数。
      • 采样一批 LR 图像样本,生成假图像并放入鉴别器中,再根据损失函数通过基于梯度的优化器更新生成器的参数。


3.3. LWDNet 检测

目的:构建一个轻量级检测网络(LWDNet)用于从经过超分辨率处理的图像中精确检测茶叶枯萎病(TLB)。它以 YOLOv5s 作为基准网络,旨在提高检测精度的同时,保证模型的轻量化,以适用于使用无人机(UAV)进行实时茶叶监测的场景。

特点:模型大小仅为基线网络的 5%,通过一系列设计和优化,在减少参数数量的前提下,努力提高对 TLB 的检测能力,确保在实际应用中的高效性和准确性。


3.3.1. 网络结构

由特征提取、特征融合和检测部分三部分组成。

特征提取
  • 模块应用:首先将输入图像传递给 CBRM 模块,该模块主要应用 Maxpooling,其目的是降低计算复杂度,减少模型参数量,避免计算冗余。因为图像中茶叶健康部位和患病部位存在大量重复像素,通过 Maxpooling 可以初步提取一些主要特征,同时减少后续处理的数据量。
  • 结构特点:采用基于 SNet_A 和 SNet_B 交替级联的结构。SNet_A 结构输出的通道数是输入通道数的两倍,但输出特征映射的大小是输入特征映射的一半,从而支持特征映射的下采样,有助于提取更抽象的特征。SNet_B 输出的通道数与输入通道数一致,输出特征图的大小与输入特征图的大小一致,用于保留一定的原始特征信息。由于特征融合部分采用特征金字塔结构且包含两个上采样过程,因此在特征提取部分使用三个 SNet_A 模块进行下采样,以适应后续的特征融合操作。
特征融合
  • 结构设计:为特征融合部分设计了 ELPNet 特征金字塔结构,将浅、中、深三个层次的特征融合在一起。这种设计的目的是充分利用不同层次的特征信息,提高网络对不同尺度目标(如 TLB 病斑)的检测能力。浅层次特征通常包含更多的细节信息,深层次特征则包含更抽象的语义信息,通过融合可以更好地兼顾两者,提高检测的准确性。
  • 融合过程
    • 自下而上:执行两次上采样操作,将来自特征提取部分的浅层特征图和中层特征图串联起来。特征图在上采样前进行卷积,Concat 操作后使用 DWConv 调整通道数,保证自下而上过程中输入输出通道一致。这样可以逐步恢复特征图的分辨率,并融合不同层次的特征,使得网络能够更好地学习到不同尺度的特征表示,有利于检测不同大小的 TLB 病斑。
    • 自顶向下:将特征提取部分提取的中深层特征图分别进行融合。为了减少参数的数量,在自顶向下的过程中只使用 DWConv。在 Concat 操作之前,DWConv 内核的大小为 3×3,步长为 2,用于对 feature map 执行 2 倍的下采样,以降低特征图的分辨率,提取更高级的特征。Concat 操作后,DWConv 内核大小为 3×3,步长为 1,用于调整通道数,以保证输入和输出通道一致,使得融合后的特征能够更好地被后续的检测部分处理。
检测部分
  • 该部分主要基于融合后的特征图进行 TLB 的检测。它利用前面提取和融合的特征信息,对图像中的目标进行分类和定位。具体的检测过程可能涉及到对特征图进行卷积、池化等操作,以生成预测的边界框和类别标签。其设计目的是准确地识别出图像中的 TLB 病斑,并确定其位置和范围。

3.3.2. 算法

  • 输入:茶图像数据集 X、epochs 数量 K、批次大小 m
  • 输出:训练好的 LWDNet
  • 步骤
    1. 数据划分:将茶图像数据集 X 随机分为训练集 X_t 和验证集 X_v。这种随机划分有助于保证训练集和验证集的分布具有一定的代表性,使得模型在训练集上学习到的特征和模式能够在验证集上得到合理的评估。通过验证集的评估结果,可以了解模型的泛化能力和性能表现,以便及时调整训练策略和超参数。
    2. 参数初始化:初始化 LWDNet 的参数 θ_0。这是模型训练的起点,为后续的参数更新奠定基础。初始参数的选择会对模型的训练过程和最终性能产生一定影响,通常可以采用一些随机初始化方法或者预训练模型的参数作为初始值。
    3. 训练循环
      • 外层循环(k = 1 到 K
        • 表示整个训练过程的轮数迭代。在每一轮训练中,模型都会对训练集进行学习和参数更新,以逐步提高对 TLB 的检测能力。
      • 内层循环(x_v i ∈ x_v
        • 对于验证集中的每个样本 x_v i
          • 预测标签(步骤 6):使用当前训练的模型对验证集样本进行预测,得到预测标签 yp i。这里的预测过程涉及到模型的前向传播,即通过特征提取、特征融合和检测部分对输入图像进行处理,最终输出预测的 TLB 相关信息。
          • 比较与计算损失(步骤 7):将预测值与真实标签(ground truth values)进行比较,根据 SIoU 损失函数(公式 (4))计算损失值。SIoU 损失函数考虑了预测框和真实框之间的多个因素,如矢量夹角、距离、形状和 IoU 等,能够更全面地衡量预测结果与真实情况的差异,从而为模型的参数调整提供更准确的指导。
          • 参数更新(步骤 8):根据计算得到的损失值,通过梯度下降等优化算法更新模型的参数 θ_0 到 θ_k。梯度下降算法通过计算损失函数对模型参数的梯度,沿着梯度的反方向调整参数,以减小损失值,使模型的预测结果逐渐接近真实标签。不断迭代这个过程,使得模型在训练过程中不断优化自身的参数,提高对 TLB 的检测准确性。

4. 实验与讨论

实验设备和框架

RFBDB-GAN SR

SR 结果评价指标:采用 PSNR、SSIM、NIQE 和 LPIPS 等图像质量定量评价指标,PSNR 和 SSIM 值越高,重建效果越好,NIQE 和 LPIPS 值越小,重建效果越好。

具体参数设置:RFBDB - GAN 的学习率为 1e - 4,Adam 优化的参数值为 β1 = 0.9 和 β2 = 0.99。

不同的 SR 网络的结果:将 RFBDB - GAN 与基于 GAN、CNN、扩散和变压器的 SR 方法进行比较,结果表明基于 cnn 的 SR 方法估计的图像往往缺乏高频细节,基于变压器的 SR 方法产生失真图像,基于扩散的 SR 方法不适合数据,基于 gan 的 SR 方法中 ESRGAN 会产生伪影,Real - ESRGAN 和 RFBDB - GAN 可生成符合人类感知的 SR 图像,且 RFBDB - GAN 恢复的图像边缘信息更丰富,茶叶边缘细节更明显。

RFBDB - GAN 的烧蚀实验:为提高模型重建能力,在鉴别器中加入 SN 项,避免恢复图像中的伪像,并引入多尺度两阶段退化方法构建训练数据。烧蚀实验结果表明,多尺度两阶段退化方法优于经典的一阶段退化方法,SN 项对各评价指标有改善作用,多尺度两阶段降解法与 SN 项结合使用时 SR 结果最佳。

LWDNet 检测

检测结果评价指标(LWDNet):采用召回率、精度、mAP 和 F1 等常用的目标检测指标,基于混淆矩阵计算,给出了混淆矩阵的示例和各指标的定义。

具体参数设置:LWDNet 的初始学习率为 1e - 2,使用 SGD 优化器,动量矩阵为 0.937,权衰减为 0.0005。

生成的 SR 图像的检测结果:使用 LWDNet 从不同 SR 网络生成的 SR 图像中检测 TLB,结果表明 RFBDB - GAN 网络对 LR UAV 茶叶图像的恢复效果最好,检测精度更高。

不同检测网络的检测结果:比较不同检测网络对 RFBDB - GAN 生成的 SR 图像中 TLB 的检测效果,LWDNet 的大小远小于现有的一些深度网络,检测精度甚至高于 SOTA 轻量级网络 YOLOv7 - tiny,但其检测结果存在漏检和误检,需要改进。

LWDNet 的烧蚀实验:对 LWDNet 不同组成部分的性能进行烧蚀实验验证,包括不同损失函数、数据增强、不同的特征提取结构以及不同的特征融合结构的实验,结果表明 SIoU 损失函数、数据增强、SNet 结构和 ELPNet 结构与 SIoU 损失函数结合使用可以提高网络的检测精度。

讨论

  • 研究策略:提出的策略通过 UAV 在 12 - 14 米高度飞行拍摄 LR 图像用于 TLB 检测,采用 RFBDB - GAN 网络对 LR 茶叶图像执行 SR,并使用多尺度两阶段退化方法构建训练数据,在判别器中添加 SN 项,在生成器中添加 RFB 密集残差结构,在 LWDNet 检测网络中设计 ELPNet 结构进行检测。
  • SR 对检测精度的影响:从减少模糊和混淆、提供更详细的信息以及提取更多可区分特征三个角度分析 SR 对检测精度的影响。
  • 实验结果分析:SR 图像与原始图像基本一致,细节更清晰,视觉效果更好,但 RFBDB - GAN 参数多,训练耗时复杂,后续研究将集中在更轻、更有效的 SR 方法上;RFBDB - GAN 可以有效提高图像分辨率,减少漏检率;不同检测网络对 TLB 存在漏检和误检,后续工作将侧重于减少 LWDNet 的误检和漏检,提高检测精度;RFBDB - GAN 和 LWDNet 的组合比 RFBDB - GAN 和 SuperYOLO 的组合效果更好;提出的模型在人工不均匀光照的图像上取得良好性能。

5. 结论

结论部分主要总结了研究成果和意义

研究背景:茶树 LR UAV 图像中 TLB 区域模糊、背景复杂,现有检测方法难以准确检测。

提出方法:结合 RFBDB - GAN 和 LWDNet 模型,给出两阶段方法提高 TLB 检测精度。

RFBDB - GAN 的优势:采用 RFBDB 结构,提高网络对茶叶细节的恢复能力;多尺度两阶段退化方法构建训练图像对,验证了对 LR 茶叶图像恢复的有效性。

LWDNet 的特点:分别使用 ELPNet 和 SNet 结构作为网络的特征融合和特征提取部分,缩减了基线网络参数,模型大小仅为 0.7MB,参数数仅为 0.2MB。

实验结果:检测实验结果表明,与现有方法相比,本文方法可以提高 LR UAV 图像 TLB 的检测精度。

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

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

相关文章

这个博览会不一般,丰收的背后故事多!

在金秋送爽、硕果累累的季节里,我们迎来了第七个中国农民丰收节,2024 年 9 月 24日,“中国农民丰收节毕节庆祝活动第三届毕节天麻博览会”在七星关区盛大开幕,一场办在农民心坎上的庆丰收活动精彩上演!这是一场属于农民…

手把手教程 | 在 Azure OpenAI 服务上微调 4o 模型

兴奋起来——你现在可以使用 Azure OpenAI 服务微调 4o! 我们很高兴地宣布在 Azure 上推出 4o 微调的公开预览版。在成功进行私人预览后,4o 现已可供我们所有的 Azure OpenAI 客户使用,在 Azure OpenAI 服务中提供无与伦比的定制和性能。 …

通信工程学习:什么是ODN光分配网络

ODN:光分配网络 ODN(Optical Distribution Network,光分配网络)是光接入网中的重要组成部分,它位于光线路终端(OLT)和光网络单元(ONU)/光网络终端(ONT&#x…

itc保伦股份智慧高校整体解决方案推动教育强国、科技强国、人才强国建设!

党的二十大报告指出,要“统筹职业教育、高等教育、继续教育协同创新,推进职普融通、产教融合、科教融汇,优化职业教育类型定位”。itc积极响应高校人才培养相关政策要求,基于互联网、物联网、大数据、AI等技术,面向老师…

高性价比的电脑桌面记事本便签,好用便签助力工作效率

在快节奏的工作环境中,我们常常需要快速记录下重要的信息和任务。而一款好用的电脑桌面记事本便签工具,可以成为我们提高工作效率的得力助手。在这里,向大家介绍一款高性价比的电脑桌面记事本便签,好用便签,帮助大家更…

100个ChatGPT学术指令—助你高效完成文献综述撰写!

写文献综述是不是让你觉得头大?每次翻了半天资料,脑子还是一片空白,根本不知道从哪儿开始写? 别慌,其实有个简单的套路——用AI!没错,只要掌握好提示词,AI能帮你快速理清思路、找到…

Linux系统备份Gitee等云git所有仓库与所有分支的数字资产

思路: 1. ssh 配置 2. reps.txt 列出所有仓库名 3. exp的自动化备份脚本 -- 环境安装: exp需要依赖安装的文件,所以先执行下(以ubuntu为例): sudo apt-get install expect 操作步骤: ssh 配置 1. 添加公钥至 …

23. Lammps命令学习-8之read_dump

来源: “码农不会写诗”公众号 链接:Lammps命令学习-8之read_dump read_dump file … 从dump文件中读取原子信息以覆盖当前原子坐标以及原子速度和图像标志、时间步长和模拟盒尺寸等,以便可以从dump文件中的特定快照重新启动模拟。   https…

[笔记]某川电机变频器指标与参数

变频器是进行电机控制的一个参考源,所有这些电机厂商的产品中提及的功能模块,项点,都需要关注。 某些功能点,自定义的分类,都是一些可以用作参考和进一步扩展的一些基本的技术点。软硬件接口,可以在设计自…

2023国赛C题 蔬菜类商品的自动定价与补货决策(上)

2023国赛C题 蔬菜类商品的自动定价与补货决策(上) 符号说明: 问题1 问题1主要的代码和思路在上一篇文章“数学建模实战块速入门”中已经进行了较为详细的展示,在问题一种要求我们从蔬菜单品和品类两个维度去分析各自之间的关系。…

C# 面向对象基础,简单的银行存钱取钱程序

题目: 代码实现: BankAccount部分: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Bank {internal class BankAccount{private decimal balance 0;//账…

黑马智数Day5

表单校验 表单基础校验 // 1. 创建表单规则 data() {return {addRules: {name: [{ required: true, message: 企业名称为必填, trigger: blur }],legalPerson: [{ required: true, message: 法人为必填, trigger: blur }],registeredAddress: [{ required: true, message: 注…

《CUDA编程》3.简单CUDA程序的基本框架

本章将学习CUDA程序的基本框架&#xff0c;编写更加有用的CUDA程序 0 C例子&#xff1a;数组相加 C代码如下&#xff1a; #include <math.h> #include <stdio.h> #include <stdlib.h> #include <time.h> // 包含 time.h 头文件以使用 clock()const d…

Tesla T4 P2P测试

Tesla T4 P2P测试 一.测试环境二.测试步骤1.获取设备信息2.查看PCIE拓扑结构3.选择9B、9E这二张4.查看逻辑设备ID5.设置环境变量(需要用逻辑设备ID,通过UUID跟smi看到的物理ID关联)6.不同地址的原子操作2.P2P与非P2P的性能差异3.GPU带宽测试 Tesla T4 P2P测试 通过物理ID找到逻…

一场大模型面试,三个小时,被撞飞了

去华为面试大模型&#xff0c;一点半去五点半回&#xff0c;已经毫无力气。 1️⃣一轮面试—1小时 因为一面都是各个业务的主管&#xff0c;所以专业性很强&#xff0c;面试官经验很丰富&#xff0c;建议大家还是需要十分熟悉所学内容&#xff0c;我勉强通过一面。 2️⃣二轮…

9_24_statusBar

statusBar&#xff08;状态栏&#xff09; 状态栏就是一个窗口最先面的一行&#xff0c;一般有三个作用&#xff1a; • 永久信息&#xff0c;例如版本号&#xff0c;机构名称 • 进度消息&#xff0c;如进度条提示&#xff0c;百分比提示 • 实时消息&#xff0c;当前程序状态…

神经网络的初步学习

文章目录 概要基础概念简单的神经网络图神经元模型权重求和激活函数输出 多层感知机前向传播&#xff1a;激活函数&#xff1a;误差计算&#xff08;损失函数&#xff09;&#xff1a;反向传播&#xff1a;1. **激活函数&#xff08;Activation Function&#xff09;**2. **非线…

mini-lsm通关笔记Week2Overview

Week 2 Overview: Compaction and Persistence 在上周&#xff0c;您已经实现了LSM存储引擎的所有必要结构&#xff0c;并且您的存储引擎已经支持读写接口。在本周中&#xff0c;我们将深入探讨SST文件的磁盘组织&#xff0c;并研究在系统中实现性能和成本效益的最佳方法。我们…

Skyeye 云这几年的经历

前言 我是 17 年毕业的&#xff0c;之前也是在学校的实验室 (做开发的) 待了两年多时间&#xff0c;期间学了不少东西&#xff0c;学的东西也算是与时俱进了。最近两年也算是开源中国的常客了&#xff0c;每周都会保持自己项目的一个更新进度。 项目地址&#xff1a;skyeye-o…

【SpringCloud】优雅实现远程调用 - OpenFeign

目录 优雅实现远程调用-OpenFeignRestTemplate存在问题OpenFeign介绍Spring Cloud Feign 快速上手引入依赖添加注解编写OpenFeign的客户端远程调用测试 OpenFeign参数传递传递单个参数传递多个参数传递对象传递JSON 最佳实践Feign 继承方式创建⼀个Module引入依赖编写接口打Jar…