基于注意力整合的超声图像分割信息在乳腺肿瘤分类中的应用

基于注意力整合的超声图像分割信息在乳腺肿瘤分类中的应用

  • 摘要
  • 引言
  • 方法

Segmentation information with attention integration for classification of breast tumor in ultrasound image

摘要

乳腺癌是世界范围内女性最常见的癌症之一。基于超声成像的计算机辅助诊断(CAD)技术的发展促进了乳腺病变的诊断,引起了研究者的关注,深度学习是一种流行且有效的方法。然而,大多数基于深度学习的CAD方法忽略了两个视觉任务之间的关系肿瘤区域分割和分类。在本文中,考虑到医学的一些先验知识,我们提出了一种新的分割到分类方案,通过将基于分割的注意力(SBA)信息添加到深度卷积网络(DCNN)中进行乳腺肿瘤分类。训练分割网络以生成肿瘤分割增强图像。两个并行网络分别对原始图像和分割增强后的图像进行特征提取,一个基于通道注意力的特征聚合网络将两个特征网络提取的特征自动融合,以提高乳腺超声图像中恶性肿瘤的识别性能。为了验证我们的方法,实验已经进行了乳腺超声数据集。我们的方法的分类结果进行了比较与现有的11种方法。实验结果表明,该方法具有最高的准确性(90.78%),灵敏度(91.18%),特异性(90.44%),F1-评分(91.46%)和AUC(0.9549)。

引言

乳腺癌是世界范围内女性最常见的癌症之一,给女性健康带来了极大的威胁。由于病因复杂,医学界难以提供有效的预防措施,因此早期发现和诊断是降低死亡率(40%或以上)的关键[1]。乳腺X线摄影、磁共振成像(MRI)、乳腺X线摄影和超声是发现和诊断乳腺癌最常用的技术。近年来,超声成像因其无辐射、成像速度快、灵敏度和准确度高、成本低等优点而受到越来越多的关注[2]。然而,超声波是一种依赖于操作者的方法。此外,阅读超声图像需要训练有素且经验丰富的放射科医师,并且具有不同医学造诣的医师的诊断结果非常不同。由于乳腺超声图像的个体差异性和图像质量差,放射科医生在诊断乳腺超声图像时往往不能做出正确的判断。为了减少不同放射科医生之间的观察者间差异,并帮助生成更可靠和准确的诊断结论,已经提出了计算机辅助诊断(CAD)系统[3,4]。随着计算机技术和人工智能技术的飞速发展,计算机辅助诊断技术已成为现代医学影像学研究的热点之一,其临床价值已在真实的诊断中得到证实,可辅助放射科医生对乳腺肿瘤进行分类和识别。
通常,传统的乳腺肿瘤分类方法的关键包括两个方面,即特征提取和机器学习分类器[5]。在传统方法中,提取的特征是明确设计或手工制作的,主要是纹理特征和形态特征[6]。常用的纹理特征提取方法包括灰度共生矩阵(GLCM)[7]、自协方差系数[9]、空间灰度相关性(SGLD)[10]、共生矩阵的相关性[11]、全局纹理特征[12]、小波变换[13]、基于剪切波的特征[14]等,其中,纹理的提取方法有灰度共生矩阵法和小波变换法,它们首先计算矩阵或变换域表示,然后计算多个统计量作为纹理特征。然而,有些方法,如全局纹理特征,将直接表示为纹理特征。常见的形态学特征包括边缘清晰度[8]、深宽比[11,15]、分支模式[16]、圆形度[11,16]等,虽然手工制作的特征数量已达数万种,但这些特征较浅且层次较低,可能无法完全表征肿瘤内部的异质模式。此外,手工制作的功能高度依赖于专家的经验,并在很大程度上取决于在放射学水平上对肿瘤的良好理解。
近年来,流行的深度学习方法能够自动而不是手动提取特征。深度卷积网络(DCNN)已被广泛认为是学习图像分类、对象检测、语义分割和其他计算机视觉任务的预测特征的可靠方法。目前,DCNN在医学影像分析界也开始流行[ 17,18 ]。对于乳腺超声图像的分类,已经提出了一些研究,并取得了比经典方法更好的分类结果。在乳腺超声分类的研究中,有两种深度学习方法。一个是从头开始训练CNN。然而,从头开始训练CNN需要一个大的数据集,因为CNN通常很深,以获得更好的性能。超声数据集的数量通常很小,这是医学数据分析的一个重要特征。在少量数据集上从头开始训练深度CNN会导致过度拟合,从而导致性能不佳。一些研究[19-21]将注意力放在训练用于乳腺超声分类的浅层网络上。Masud等人。[19],Wang等人。[20]和Zeimarani等人。[21]分别提出了用于乳腺超声分类的自定义卷积神经网络。其中,[19-21]中的方法主要有一个,两个和四个卷积层,分别与全连接,池化,dropout和批量归一化层相结合。另一种方法是基于迁移学习。将在大型标记数据集上预训练的网络应用于乳房超声数据集。预训练的网络可以直接用于特征提取,也可以在可用的数据集上进行微调。在2019年,Daoud等人。[22],Hijab等人。[23]和Cao等人。[24]分别应用预训练的AlexNet,VGG 16网络和DenseNet 121并对超声图像进行微调,以区分良性和恶性乳腺肿块。Fujioka等人[25]应用基于GoogleNet的DCNN架构从乳腺超声图像中区分良性和恶性乳腺肿块,并且与放射科医生相比具有相同或更好的诊断性能。Byraa等人。[26]设计了一个匹配层,将灰度超声图像转换为RGB图像,并对预训练的VGG 19网络进行微调,用于乳腺肿瘤分类。Tanaka等人。[27]通过结合VGG 19和ResNet 152构建了一个集成网络,对乳腺超声图像进行微调,用于乳腺肿块分类。Zhuang等人[28]采用图像分解方法获得模糊增强和双边滤波图像,输入到预训练的VGG模型中进行乳腺肿块分类,并获得了良好的改进结果。目前,更有效的深度学习方法是应用不同的预训练模型,然后在乳腺超声数据集上进行微调。
然而,目前基于深度学习的超声图像分类方法还存在一些问题。一个显著的困难是超声数据集的量通常很小,这是医学数据分析的一个重要特征。与自然图像相比,超声数据更难以收集,并且数据的使用必须得到患者的同意。标记超声图像是非常严格的,需要有经验的放射科医生或活检。同时,乳腺肿瘤的类型,以及相应的影像学结果,可能是不同的和多样的。少量的数据集可能无法覆盖所有类型。如何提取最有效、最鲁棒的乳腺超声特征是提高诊断性能的重要内容。
此外,医学和影像的发展为我们提供了大量的诊断知识。在对少量数据集的分析中,将先验知识引入到乳腺肿瘤分类深度学习网络的设计中,是弥补样本数量不足的有效方法。在实际的临床诊断中,放射科医生根据肿瘤的位置、形状、大小、深宽比、圆形、边缘完整性、分叶、边缘锐度等因素来判断肿瘤的类型[29]。2003年,美国放射学会开发了乳腺影像报告和数据系统(BI-RADS)[30],形成的评分数据总结了专家的实践经验。评分指标是从大量数据中总结出来的,作为国际标准被广泛应用于乳腺癌的分类中。
但是,由于深度学习模型是一种自动特征提取方法,提取的特征与普遍接受的BI-RADS并不完全一致,更多地依赖于训练数据的特征。在分析少量数据集时,很难学习深度学习模型中最具代表性的特征。在BI-RADS中,18个评分指标中的10个,包括形状、方向、边缘完整性、边缘模糊性、角度、微分叶、毛刺、后部特征、肿块钙化和结构变形,与肿瘤分割密切相关。这些指标是乳腺超声临床诊断的重要依据[31]。如果我们能够引导深度学习模型更多地关注这些特征,那么对于乳腺癌的分类将非常有帮助。因此,肿瘤的分割可以进一步指导与肿瘤分类相关的特征提取,提高性能[32]。然而,在以往的深度学习分类方法中,仅将识别出的包含乳腺肿瘤的感兴趣区域(ROI)图像作为网络的输入,没有添加肿瘤轮廓先验信息。这些方法可以提取但不能增强肿瘤分割相关的临床标准,这使得分类性能难以提高。在临床诊断中,放射科医生可以专注于肿瘤区域,自动排除正常组织的干扰,这是现有深度学习CAD方法无法实现的。因此,有必要从临床诊断的标准出发,设计网络,增强包含分割信息的特征。

读一下的论文
肿瘤的分割可以进一步指导与肿瘤分类相关的特征提取,提高性能[32]
由于缺乏公开的大规模标记的医学超声数据集,我们选择非医学ImageNet作为预训练的数据集。虽然ImageNet与超声数据集不同,但低级特征对大多数图像分析任务都是通用的[37]
关注信息
放射科医生可以专注于肿瘤区域,自动排除正常组织的干扰

因此,我们提出了一种新的架构,以提高肿瘤分割和相关的临床诊断信息的特征提取。为了获得分割先验信息,我们提出了一个分割到分类的框架来实现这些目标。与传统的DCNN框架不同,该系统增加了一个包含分割先验信息的并行特征提取分支。分割结果由分割网络获得,并作为卷积网络的输入来提取特征。然后利用基于注意机制的特征聚合网络对两个并行特征提取分支的特征进行合成。考虑该框架的进一步细节描述如下。
如文献[19-28]所示,常用的乳房超声分类深度网络没有考虑分割先验信息在乳房分类中的作用。在经典方法中,基于分割结果的特征提取在乳腺肿瘤分类中占有重要地位[33],这与一系列临床特征和乳房鉴别密切相关。对于乳腺良、恶性肿瘤的分割结果已被证明是提高性能的有效特征。将两个平行分支用于超声肿瘤的特征提取,丰富了特征提取的内容,可以得到更有效的分类特征

如果用分类信息指导分割呢?
不同类别的概率值不同--》融合不同情况下的分割情况

其次,基于信道注意力的特征聚合网络是必要的。两个并行网络的特征提取存在冗余信息,因此,利用一个聚合网络对两个并行网络提取的特征进行聚合,增强有用特征,去除冗余特征,得到更有效的特征表示,有助于乳腺图像分类。通道注意力网络可以分析两个特征网络中不同通道的重要性,并对不同的通道特征进行加权,得到更有效的特征。综上所述,本文的主要贡献归纳如下:
(1)提出了一种新的分类方案,将分割信息作为先验信息输入网络进行乳腺超声诊断。对分割网络进行训练,得到肿瘤区域,形成分割增强图像,并行提取分割增强图像和原始图像的特征进行分类。
(2)提出了一种通道注意方法,用于两个并行网络的特征聚合,以增强对分类有用的特征,得到更有效的特征表示。由于分割增强信息被添加到网络中,并进行通道注意力方法以获得最具信息量的特征,因此我们的方法被称为基于分割的注意力网络(SBANet)。
(3)实验结果表明,分割分类框架是能够提高诊断性能。

方法

在本节中,说明了所提出的方法的整体架构,包括分割模型的架构、两个并行特征提取网络、基于通道注意力的特征聚合网络和最终分类网络。
2.1. Overall architecture—2.1.整体架构
所提出的架构如图1所示。与传统的框架不同,我们的系统是一个分割到分类的框架,由四个组件组成:
(1)分割模型
为了获得后续分类任务的形状和形态先验,避免实际使用中专业放射科医生标记的巨大工作量,首先训练分割模型来估计肿瘤的边缘。分割网络接收超声图像的样本作为输入,并输出分割的二值图像。经过形态学开闭算法处理后,得到包含肿瘤和组织的分割图像。
(2)两个并行的特征提取网络
在得到分割结果后,我们将原始图像和分割后的图像进行联合收割机组合,形成分割增强图像。为了获得更鲁棒的图像表示,分别对应于原始图像和分割增强图像,设计了两个并行的特征提取网络。这些特征是从两个并行特征提取网络的输出中获得的。
(3)两个网络的特征聚合
在特征提取之后,设计了一个特征聚合网络,专注于两个网络获得的不同通道特征图之间的关系,并自动学习不同通道特征的重要性,以生成更有效的特征表示。将特征图乘以自适应重要性权重以获得更有效的特征表示。
(4)分类网络
在获得图像的特征表示之后,训练分类网络以获得乳腺超声图像的最终分类。
我们的乳腺肿瘤分类方案涉及三个问题:(1)如何自动获取肿瘤分割,形成有效的分割增强图像进行特征提取;(2)如何在超声图像上提取特征,避免过拟合;(3)如何自动学习两个网络提取的不同通道特征的重要性,生成更有效的特征表示。第2.2、2.3和2.4节将分别介绍问题的解决方案。
2.2. Segmentation model–
用u-net充当
为了减少过拟合的影响,我们在第4块和第5块中增加了dropout方法。在我们的工作中,辍学率的值是0.5。
原始图像作为输入,肿瘤和正常组织分别为1和0的二值图像作为输出来训练U-Net_tumor。在用U-Net_tumor分割乳腺肿瘤图像之后,获得包含对象(肿瘤)和背景(组织)的二值图像。接下来,进行形态学打开和闭合以细化肿瘤轮廓,打开以减少骨针,闭合以填充孔。椭圆核用于打开和关闭操作。经形态学开闭算法处理后,得到包含肿瘤和组织的分割图像。
2.3. Feature extraction network–
对肿瘤进行分割后,得到超声图像及其相应的分割结果。为了进行最终的分类,我们需要提取超声图像的特征。在目前提出的方法中,选择ResNet50作为特征提取网络,因为它具有强大的特征表示能力。为了避免过度拟合,应用迁移学习,并且应用预训练的参数来初始化网络的参数,并进行微调以适应乳腺超声数据集。由于缺乏公开的大规模标记的医学超声数据集,我们选择非医学ImageNet作为预训练的数据集。虽然ImageNet与超声数据集不同,但低级特征对大多数图像分析任务都是通用的[37]。因此,传输的参数可以帮助提供一组强大的特征,从而减少对大型数据集的需求以及训练时间和内存成本。在此基础上,对模型进行微调,可以提取出最适合具体超声图像分类的特征。如图3所示,ResNet50模型由相似残差块的堆栈组成,并且存在连接残差块的输入和输出的标识映射路径。为了将原始图像和分割增强图像的信息联合收割机结合起来,设计了两个ResNet作为原始图像和分割增强图像的特征提取网络,分别称为ResNet_ORI和ResNet_SEI。

2.3.1.ResNet_ORI
用于提取原始图像的特征。在ImageNet数据集上分配预训练参数后,ResNet_ORI在乳腺超声数据集上进行微调,以适应目标域数据集。ResNet_ORI的输入是原始乳腺超声图像,Conv5_x的最后一个卷积层的输出是原始图像的特征表示。更技术性地说,令μori =(μ(0)ori,μ(1)ori,.,μ(K−1)ori)是从Conv5_x的最后一个卷积层输出的张量,K表示该层中的通道数。因此,μori是ResNet_ORI的特征表示。方法
在本节中,说明了所提出的方法的整体架构,包括分割模型的架构、两个并行特征提取网络、基于通道注意力的特征聚合网络和最终分类网络。
2.1. Overall architecture—2.1.整体架构
所提出的架构如图1所示。与传统的框架不同,我们的系统是一个分割到分类的框架,由四个组件组成:
(1)分割模型
为了获得后续分类任务的形状和形态先验,避免实际使用中专业放射科医生标记的巨大工作量,首先训练分割模型来估计肿瘤的边缘。分割网络接收超声图像的样本作为输入,并输出分割的二值图像。经过形态学开闭算法处理后,得到包含肿瘤和组织的分割图像。
(2)两个并行的特征提取网络
在得到分割结果后,我们将原始图像和分割后的图像进行联合收割机组合,形成分割增强图像。为了获得更鲁棒的图像表示,分别对应于原始图像和分割增强图像,设计了两个并行的特征提取网络。这些特征是从两个并行特征提取网络的输出中获得的。
(3)两个网络的特征聚合
在特征提取之后,设计了一个特征聚合网络,专注于两个网络获得的不同通道特征图之间的关系,并自动学习不同通道特征的重要性,以生成更有效的特征表示。将特征图乘以自适应重要性权重以获得更有效的特征表示。
(4)分类网络
在获得图像的特征表示之后,训练分类网络以获得乳腺超声图像的最终分类。
我们的乳腺肿瘤分类方案涉及三个问题:(1)如何自动获取肿瘤分割,形成有效的分割增强图像进行特征提取;(2)如何在超声图像上提取特征,避免过拟合;(3)如何自动学习两个网络提取的不同通道特征的重要性,生成更有效的特征表示。第2.2、2.3和2.4节将分别介绍问题的解决方案。
2.2. Segmentation model–
用u-net充当
为了减少过拟合的影响,我们在第4块和第5块中增加了dropout方法。在我们的工作中,辍学率的值是0.5。
原始图像作为输入,肿瘤和正常组织分别为1和0的二值图像作为输出来训练U-Net_tumor。在用U-Net_tumor分割乳腺肿瘤图像之后,获得包含对象(肿瘤)和背景(组织)的二值图像。接下来,进行形态学打开和闭合以细化肿瘤轮廓,打开以减少骨针,闭合以填充孔。椭圆核用于打开和关闭操作。经形态学开闭算法处理后,得到包含肿瘤和组织的分割图像。
2.3. Feature extraction network–
对肿瘤进行分割后,得到超声图像及其相应的分割结果。为了进行最终的分类,我们需要提取超声图像的特征。在目前提出的方法中,选择ResNet50作为特征提取网络,因为它具有强大的特征表示能力。为了避免过度拟合,应用迁移学习,并且应用预训练的参数来初始化网络的参数,并进行微调以适应乳腺超声数据集。由于缺乏公开的大规模标记的医学超声数据集,我们选择非医学ImageNet作为预训练的数据集。虽然ImageNet与超声数据集不同,但低级特征对大多数图像分析任务都是通用的[37]。因此,传输的参数可以帮助提供一组强大的特征,从而减少对大型数据集的需求以及训练时间和内存成本。在此基础上,对模型进行微调,可以提取出最适合具体超声图像分类的特征。如图3所示,ResNet50模型由相似残差块的堆栈组成,并且存在连接残差块的输入和输出的标识映射路径。为了将原始图像和分割增强图像的信息联合收割机结合起来,设计了两个ResNet作为原始图像和分割增强图像的特征提取网络,分别称为ResNet_ORI和ResNet_SEI。

2.3.1.ResNet_ORI
用于提取原始图像的特征。在ImageNet数据集上分配预训练参数后,ResNet_ORI在乳腺超声数据集上进行微调,以适应目标域数据集。ResNet_ORI的输入是原始乳腺超声图像,Conv5_x的最后一个卷积层的输出是原始图像的特征表示。更技术性地说,令μori =(μ(0)ori,μ(1)ori,.,μ(K−1)ori)是从Conv5_x的最后一个卷积层输出的张量,K表示该层中的通道数。因此,μori是ResNet_ORI的特征表示。
2.3.2.ResNet_SEI
如上所述,获得超声图像的对应分割结果,并将其应用于形成分割增强图像。由于二值图像不能表示与纹理和形状相关联的特征,因此分割的二值图像不能直接用作深度卷积网络的输入以获得图像特征。因此,我们提出了一种新的三通道人工RGB图像的方法,通过连接的原始图像及其分割的二值图像。在本研究中,三种形式的组成,并在实验中进行了比较。形式1是两个通道是原始超声图像,另一个通道是分割的二值图像。形式2是一个通道是原始超声图像,另外两个通道是分割的二值图像。形式3是一个通道是原始超声图像,而其他通道是分割的二值图像和具有黑色和白色反转的分割的二值图像。在目前的研究中,SBANet进行了几个实验,在三种形式的分割增强方法,和形式1的方法被称为建议的方法,和其他应用作为比较算法。
设I ori表示原始灰度图像,I seg表示分割后的二值图像,I seg_resort表示白色反转后的分割后的二值图像,I mul_1、I mul_2、I mul_3分别表示三种形式的分割注意图像。因此,I ∈ R M × M × C,M表示宽度和高度的大小,而C表示通道数。合成过程的三种形式如下:
在这里插入图片描述
其中运算符expand_dims将三个单通道灰度图像组合成三通道图像。如图4所示,叠加图像相当于突出显示了肿瘤区域和分割增强信息,包括肿瘤形状相关特征和边缘相关纹理特征。随后的ResNet_SEI可以自动学习这些增强分割信息的特征。具体的网络结构与ResNet_ORI中的一致。类似地,令μsei =(μ(0)sei,μ(1)sei,.,μ(K−1)sei)是一个张量,它是Conv5_x的最后一个卷积层的输出,K表示该层中的节点数。同时,μsei ∈ R K ×1是子网络_SEI的特征表示。
2.4.基于通道注意力的特征聚合网络
由于两种网络提取的特征既有相似之处,又有不同之处,为了了解两种网络提取的不同通道特征的重要性,更关注信息量最大的通道特征,提出了一种特征聚合网络来自动聚合原始图像和分割增强图像的特征。首先,将两个网络提取的特征图连接起来。给定两个网络的提取特征图μori,μsei,级联特征图μconcat = concatenate(μori,μsei)=(μ(0)ori,μ(1)ori,.,μ(K−1)ori,μ(0)sei,μ(1)sei,.,μ(K−1)sei)。这里,concatenate是将两个张量连接成一个张量的算子,μori和μsei是原始图像和分割增强图像的DCNN特征图。然后,采用通道注意力方法,主要包括挤压步骤和激发步骤,来衡量不同的通道特征。压缩步骤是一个全局平均池化操作,对每个连接的特征图执行该操作以获得通道级全局特征。通道上的整个空间特征被编码为全局特征。然后,激励步骤根据全局特征学习通道之间的关系,得到不同通道的自适应权值,即注意力得分。设计了两个完全连接的层,分别具有激活层ReLu和sigmoid,以获得每个通道的注意力得分。最后,通过将注意力分数与连接的特征图相乘来获得最终的特征表示。我们的特征聚合和分类网络的架构如图5所示。分类网络由全连接层和softmax层组成。乳房超声图像的聚合特征可以公式化如下:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Day80:服务攻防-中间件安全HW2023-WPS分析WeblogicJettyJenkinsCVE

目录 中间件-Jetty-CVE&信息泄漏 CVE-2021-34429(信息泄露) CVE-2021-28169(信息泄露) 中间件-Jenkins-CVE&RCE执行 cve_2017_1000353 CVE-2018-1000861 cve_2019_1003000 中间件-Weblogic-CVE&反序列化&RCE 应用金山WPS-HW2023-RCE&复现&上线…

每日一题(leetcode75):颜色分类-双指针

采用双指针法,p0维护数字0,p1维护数字1。遇到1时,交换并且p1加1,遇到0时,交换并观察0的指针是不是小于1的指针,如果小于,那么之前0指针指向的数据1会被交换出去,所以要进一步进行交换…

全栈的自我修养 ———— react中router入门+路由懒加载

router 下载router配置view创建目录配置index.js 下载router npm install react-router-dom配置view 如下将组件倒出 const Login () > {return <div>这是登陆</div> } export default Login创建目录 配置index.js React.lazy有路由懒加载的功能&#xff0…

MySQL 表的增删改查

文章目录 一、什么是CRUD&#xff1f;二、新增&#xff08;Create&#xff09;1、单行数据 全列插入2、多行数据 指定列插入3、插入特殊类型 三、查询&#xff08;Retrieve&#xff09;1、全列查询2、指定列查询3、表达式查询4、指定别名5、去重6、排序7、条件查询基本查询&a…

vue快速入门(六)v-else和v-else-if

注释很详细&#xff0c;直接上代码 上一篇 新增内容 v-else-if用法v-else用法 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-s…

开放威胁情报社区

AlienVault - Open Threat ExchangeLearn about the latest cyber threats. Research, collaborate, and share threat intelligence in real time. Protect yourself and the community against todays emerging threats.https://otx.alienvault.com/

Redis 全景图(3)--- Redis 应用于缓存

前言 这是关于 Redis 全景图的最后一篇文章。因为一次写太多会限流&#xff0c;我也是没办法&#xff0c;才分成三篇文章来写。这篇文章是关于 Redis 应用于缓存的。 其实为什么要讲这个话题呢&#xff1f; Redis 应用在很多地方呀&#xff0c;为什么一定要挑着这个话题来讲呢…

帝国CMS模板源码整站安装说明(图文)

安装步骤 第一步&#xff1a;先把得到的文件解压缩&#xff0c;把文件通过FTP传到空间里。&#xff08;请不要把类似www.lengleng.net这个文件夹传到FTP&#xff0c;请传这个大文件夹下面的所有文件夹和文件到空间根目录&#xff0c;请不要上传到2级目录&#xff0c;除非你自己…

代码随想录算法训练营第二十三天| 669.修建二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

系列文章目录 目录 系列文章目录669. 修剪二叉搜索树①递归法②迭代法&#xff08;不好想出&#xff0c;掌握递归即可&#xff09; 108.将有序数组转换为二叉搜索树递归法[左闭右开)[左闭右闭] 538.把二叉搜索树转换为累加树①递归法-反中序遍历&#xff08;右中左&#xff09;…

蓝桥杯练习笔记(十七)

蓝桥杯练习笔记&#xff08;十七&#xff09; 一、 输入样例 7 7 1000001 0100010 0010100 0001AAA 00010A0 00010A0 00010A0蓝桥官网题解&#xff1a; 该题解是用了三个循环分别对三个方向的相同字符的长度进行统计&#xff0c;找出最大长度&#xff0c;最后对找出的最长Y进…

五、企业级架构之Nginx负载均衡

一、负载均衡技术 1、介绍&#xff1a; 负载均衡技术&#xff08;Load Balance&#xff09;是一种概念&#xff0c;其原理就是把分发流量、请求到不同的服务器&#xff0c;平均分配用户请求。 2、作用&#xff1a; ① 流量分发&#xff0c;请求平均&#xff0c;提高系统处理…

【SQL Server的详细使用教程】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

Free MyBatis Tool插件的进阶使用指南(消灭dao层的繁琐编码)

目录 零、起因一、怎么使用Free MyBatis Tool插件&#xff1f;1 基本使用2 进阶使用&#xff08;搞清楚Options的用法&#xff09;2.1 概览2.2 详述2.2.0 Options&#xff08;一项都不勾选&#xff09;2.2.1 Use-Lombok【消除UserDO中的getter和setter代码】2.2.2 Comment&…

《QT实用小工具·十二》邮件批量发送工具

1、概述 源码放在文章末尾 该项目实现了邮件的批量发送&#xff0c;如下图所示&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef SMTPCLIENT_H #define SMTPCLIENT_H#include <QtGui> #include <QtNetwork> #if (QT_VERSION > QT_VERSION_CHECK(5,0,…

.kat6.l6st6r勒索病毒肆虐,这些应对策略或许能帮到你

引言&#xff1a; 近年来&#xff0c;网络安全问题日益凸显&#xff0c;其中勒索病毒更是成为了公众关注的焦点。其中&#xff0c;.kat6.l6st6r勒索病毒以其独特的传播方式和破坏力&#xff0c;给全球用户带来了极大的困扰。本文将深入探讨.kat6.l6st6r勒索病毒的特点&#xf…

DIY蓝牙键盘(1) - 理解 键盘报文(免费)

DIY蓝牙键盘(1) - 理解键盘报文 1. 键盘报文体验 一个键盘对于用户的体验是&#xff0c;用户按按键A他能看到字母A会在主机上显示出来。那这是如何实现的&#xff1f; 其实很简单&#xff0c;只要键盘发送下面的两个报文给主机&#xff0c;字母A就能在主机上显示出来。 (1)…

深入理解C/C++的内存管理

在C和C中&#xff0c;高效的内存管理是编写性能优化和资源高效利用程序的关键。本文将深入探讨C/C内存管理的各个方面&#xff0c;包括内存的分布、C语言和C中的动态内存管理方式&#xff0c;以及new和delete操作符的使用 C/C内存分布 C和C程序的内存可以分为以下几个区域&…

MySQL安装卸载-合

目录 1.Linux下安装 1.1下载 1.2.上传 ​​​​​​​1.3.解压 ​​​​​​​1.4.安装 ​​​​​​​1.5.启动服务 ​​​​​​​1.6.查询临时密码 ​​​​​​​1.7.修改临时密码 ​​​​​​​1.8.创建用户 ​​​​​​​1.9.分配权限 ​​​​​​​1.10.重…

00-JAVA基础-脚本引擎

JAVA脚本引擎 什么是JAVA脚本引擎 Java 平台自带了如JavaScript、Groovy等脚本语言的引擎&#xff0c;可以在运行时动态地加载和执行脚本代码。这些脚本引擎可以直接在Java应用程序中使用&#xff0c;例如&#xff0c;通过ScriptEngineManager来获取特定脚本语言的ScriptEngi…

第18讲:数据在内存中的存储

⽬录 1. 整数在内存中的存储 2. ⼤⼩端字节序和字节序判断 3. 浮点数在内存中的存储 ——————————————————————————————————————————— 1. 整数在内存中的存储 在讲解操作符的时候&#xff0c;我们就讲过了下⾯的内容&#x…