当前位置: 首页 > news >正文

6.7.11 一种新的迁移学习方法可提高乳房 X 线摄影筛查中乳腺癌的诊断率

分割是一种将图像分割成离散区域的技术,以便将感兴趣的对象与周围环境分开。为了制定治疗计划,分割可以帮助医生测量乳房中的组织量。

二元分类问题的目的是将输入数据分为两组互斥的数据。在这种情况下,训练数据根据要解决的问题以二进制格式标记。准确识别乳房 X 线照片中的乳房肿块对于乳腺癌的产前检测至关重要。提出的基于 TLA(迁移学习方法)的 CNN(卷积神经网络)。

基于 TLA(迁移学习方法) 的 CNN 旨在提供二元分类,以便快速准确地诊断乳腺癌(良性和恶性)。为了预测癌症的亚型,本研究在方向梯度直方图 (HOG) 上使用深度学习技术 - 特征提取技术,该技术创建图像的局部直方图,以使用 CNN 分类器从图像中的每个位置提取特征。这项研究工作采用了两个著名的预训练模型 ResNet-50 和 VGG16,从乳房 X 线摄影图像中提取特征。使用基于 16 层视觉几何组 (VGG) 和 50 层深度模型架构 (ResNet-50) 的残差神经网络的迁移学习模型,从乳房 X 线摄影数据集中提取高级特征。与 ResNet50 和 VGG16 相比,所提出的基于 TLA 的 CNN 模型在乳腺癌分类和分割方面的准确率分别达到 96.49% 和 95.48%。

1. 引言

乳腺癌的临床诊断方法多种多样。临床筛查是第一种方法,使用放射图像进行,例如磁共振成像 (MRI)、乳房 X 线摄影等。长期以来,人们一直在研究过度使用乳房 X 线摄影进行乳腺癌筛查,这强烈提倡开发其他医学成像技术,例如肿瘤检测、定位、分割和分类。 为了在早期识别肿瘤类型,放射科医生必须快速研究和评估乳房 X 线摄影图像产生的大量数据;相比之下,多阶段程序通常需要更多时间。它可以对肿瘤类型进行排序,而无需经过多个阶段,这可能会延迟治疗。

由于乳房 X 线摄影是目前识别不可触及的乳房异常的最灵敏方法,因此筛查乳房 X 线摄影已成为女性健康维护的标准部分。在图像处理中,分割是将图像分成几个部分的过程,以便识别乳房 X 线摄影中的肿块并从图片中提取 ROI [28, 29] 和 [30]。此外,异常很容易找到 [31, 32]。然而,胸肌会干扰识别;因此,在分割之前必须消除伪影和胸肌。

1.1 确定和分割肿瘤的可疑区域

恶性、良性和正常是用于分类的三个主要类别。在图像处理技术中,主要阶段之一是分割。分割技术主要用于将图像划分为各种重要区域,重点是将感兴趣的区域与背景分离[10]。

分割和分类等任务是基于乳房 X 光检查图像的颜色和纹理特征实现的[11]。

在过去的几年里,已经对乳腺肿块分割任务进行了大量学术研究。例如,基于阈值、基于区域、基于轮廓和基于深度学习的分割方法。使用基于轮廓的方法时,很难确保轮廓演变不受非乳腺边缘的阻碍[4]。基于机器学习的传统技术和像素分类技术都被用于基于区域的分割[15]。这些技术通常需要额外的人工参与或参数选择过程,可能导致观察者之间出现差异。基于阈值技术清晰简单,因此经常用于调查。其中一种方法是 Otsu 方法(最大类间方差法)。这项经过大量修改的技术基于灰度直方图 [16]。首先,它很简单,能够立即处理灰度照片。由于对暗区的敏感度低,它还可以使用全局阈值设置进行操作。重要的是,Otsu 技术不需要事先了解直方图的结构 [5]。传统机器学习方法的局限性促使了深度学习框架的发展,该框架从头到尾自动化整个提取过程,并从低到高学习照片的整体属性,为分类做准备。

DL 模型中用于组织病理学乳腺图片分类的基于 CNN 的特征提取模型受到了极大的关注。通常,需要大量图像来训练监督深度 CNN 模型,以摆脱过度拟合并发挥良好作用。然而,由于收集和维护的潜在成本很高,很大一部分带注释的照片有时无法使用。此外,使用 CNN 微调先前训练的深度神经网络显示出对较大数据集的耐受性增加。然而,深度调整和浅层调整很难区分,因为没有通用的标准;

深度调整涉及对深度卷积网络的每一层进行微调,而浅层调整仅涉及深度网络的最后几层。为了从乳房 X 光检查图片中提取特征,使用了两个 CNN 预训练模型,ResNet-50 和 VGG16,其中“Res”代表残差网络,“VGG”代表具有 16 层深度模型架构的视觉几何组 [2]。

本研究的目的是评估预先训练的深度学习 VGG16 作为二分类和多分类乳腺癌乳房 X 线摄影图像分类任务的特征提取器的效果,前提是 VGG16 已针对这些任务进行了调整 [7]。一个最大池化层、一个平均池化层和 48 个卷积层构成了 ResNet50 版本的 ResNet 模型。在这里,每个卷积核的最大值在最大池化期间取,结果被分组为一个 2 x 2 像素大小的新输出。另一方面,平均卷积核大小值是使用的平均池化值。该框架可用于执行各种计算机视觉任务,例如图像分类、对象定位和对象检测。它还可以用于与计算机视觉无关的活动,以增加深度的好处并降低计算成本。

2. 相关工作

深度学习结构广泛用于乳腺癌诊断的早期检测。最常用的深度学习模型之一是 CNN;借助 CNN 识别图像和对象。CNN 通过分割和分类图像和对象来实现这一点。许多研究已经使用了几种分割技术来对乳腺癌图像进行分类。 它们包括基于阈值、边缘、区域和聚类的方法,其中基于阈值和聚类的技术是分叉图像最常用的方法。阈值方法因其易用性和直接性而在多个领域得到建立。

例如,Otsu 是一种基于阈值的技术,它从灰度直方图中获得。它被广泛应用,因为它不需要预先了解直方图的形状。在论文 [5] 中,作者引入了逆技术 (TsTN) 来增强基于阈值的分割,有助于划分自然图像块。这种新的增强型 TsTN 方法使用 Otsu 方法快速自动地生成阈值。然而,生成高质量的分割图像需要的不仅仅是使用自动阈值对自然图像进行分割。因此,为了获得更好的分割图像,必须经常更改阈值。

由于 k 均值和 Otsu 方法都无法提供自然环境中分割区域的高质量图片 [5]。然后,他们在基于分割图像标准的彩色图像程序的帮助下比较了 Otsu、K-means 和 TsTN 方法 [5]。与经典聚类和阈值技术相比,TsTN 方法得到了成功且精确的结果。在其他作品中,如 [6],提出了一种基于 ResNet-50 的诊断系统,用于对乳房异常进行分类基于缩放和对比度的数据增强 (SCDA) 是作为基于缩放和对比度的自适应直方图均衡化的扩展而开发的,是对现有数据的改进,用于增强所提出的模型,当使用增强训练集进行训练时,结果为 ResNet-SCDA-50。该方法应用于从 INbreast 和 MINI-MIAS 收集的乳房 X 光检查图像。这项工作中,作者在将从初始乳房 X 光检查图像中获得的补丁作为输入之前应用 CLAHE 算法,大大提高了图像的标准 [8]。在另一项研究 [17] 中,作者利用具有 16 层深度模型架构的 VGG,以使用 BreaKH - 组织病理学图像数据集发挥高端特性。

在论文 [2] 中,利用普遍可用的微观乳腺图像,实现了基于迁移学习概念的多网络架构,用于对各种导管癌进行分类。其中,借助三个熟悉的模型提取了所需的纳米级属性,这些模型与DenseNet- 201、NasNetMobile和VGG16一起进行了预训练。通过将获得的特征提供给全连接层,开发了一个强组合模型。关于早期乳腺癌识别的大量论文已经发表[2]。这些研究中的大多数都提出了包含无数特征的图像过滤和机器学习技术。


这些策略的功能和工作因所使用的算法和预期的训练方法而异。上述工作中,可以得出一些结论:① 在对自然图像进行分类时,使用自动 TsTN 值不足以获得标准质量的分割图像 [5]。

② 在[6]中,诊断系统的运作依赖于检测系统。因此,需要致力于实现像CAD这样的自动检测系统,以使现有的流程更加完善。而对于CAD,他们需要大量的数据集来提高效率和性能。

③ 分析组织病理学图像需要花费更多时间,而且相当累人。

④ 使用单独的模型是一项非常困难的任务,对于这个复杂的领域,集成模型是更好的选择。


3. 提出的方法

3.1 深度学习

CNN 被认为是一种领先的深度学习方法。从输入训练照片中提取特征以及使用预训练的 CNN 模型对医学图像进行分类 [1]。基于 CNN 的分割网络的关键是学习可靠的高分辨率特征。CNN 是一种前馈神经网络,它通过易于训练和泛化解决了全连接神经网络的局限性,如图 1 所示 [6]。

CNN 的主要组成部分是输入层、卷积层、池化层、全连接层和输出层。根据建议的模型,输入层包含图像数据。三维矩阵用于表示图像数据。为了馈入输入层,图片矩阵被展平为单列向量。网络内的卷积层数量由其规格决定。卷积层的输出通常会转发到其他卷积层。通过减少卷积层之间的链接数量,池化层通过增加卷积特征的分辨率或空间大小来减轻计算压力。在 Softmax 层之前是全连接层,其数量根据需要而变化。对于二分类和多分类,Softmax 分类器是最合适的。独热编码的标签存在于输出层 [1,6] 中。

4. 乳房X光检查中病变的分割建议

使用基本全局阈值(自适应阈值和 Ostu 阈值)作为图像分割技术。阈值处理是一种通过为每个像素赋予其强度值 T 将项目与其背景分离的技术。通过将灰度图像转换为二进制图像,然后使用阈值将感兴趣的区域与其背景分离。二值图片仅由黑色和白色像素组成,任何灰度高于阈值的剩余像素都被设置为黑色。使用这种阈值方法,可以在过程开始时动态设置参数 T,以满足广泛数据集的需求。


提出的乳腺癌病变分割方法的步骤:

  1. 采用由 Otsu 和自适应方法组成的混合阈值方法将乳房 X 线摄影图像分割成两组,并采用四个阈值。
  2. 将获取的图像从 RGB 转换为灰度。
  3. 选择一组强度值在 120 到 160 之间的像素 (ROI),以便正确分离感兴趣的区域。
  4. 扫描图像顶部的四分之一,其中包含肌肉区域,并将其转换为零;这是必要的,因为胸肌与肿瘤区域具有相同的特征,然后必须将其去除。

  5. 计算图像中剩余物体的尺寸后,用面积最大的物体来表示肿瘤区域。

  6. 使用专家确定的参考图像来评估创建的肿瘤区域。

Otsu方法是一种基于最大类间方差的自动确定阈值的方法,适用于将图像分为前景和背景两个部分。而自适应方法则是根据图像的局部特性来确定阈值,适用于处理图像中灰度级别变化较大的区域。将这两种方法结合使用,可能会在不同的区域或组织上应用不同的阈值,以提高分割的准确性。

使用多个阈值进行分割可以捕获更多的图像细节,并减少由于单一阈值设置不当而引起的误分割。 


自适应阈值与全局阈值非常相似,用于从照片中分离出关键的前景和背景元素。由于自适应阈值中的阈值是针对较小区域测量的,会根据区域而变化。为了将图像的特征转换为 ROI,该方法使用了基于最大熵概念的自适应阈值方法,该方法是为在早期阶段识别乳腺癌而开发的。

执行 Ostu 阈值的主要目标是处理图像直方图并通过最小化每个类的方差来分割对象。这种无监督和非参数技术方法寻求病变和正常组织像素之间加权方差最小的最佳阈值。它是一种自动阈值选择技术,通过优化类间方差,使用最佳阈值将图像划分为类。可以使用 Otsu 方法从背景中提取感兴趣的对象,用于自动生成阈值。为了解决这一难题,人们创建了一种基于 Otsu 二值化的方法,该方法限制了前景对象分割的理想分割阈值的搜索空间 [13]。图像像素的灰度强度值用于将其分为两类:背景和前景。 此外,Otsu 方法使用图片的灰度直方图找到类间方差最大的两个区域之间的理想阈值。图 2.a 中显示的 Ostu 阈值实现和图 2.b 中显示的自适应阈值

4.1 ResNet 50

CNN 的现代化版本称为残差神经网络 (ResNet),使用跳跃连​​接方法来训练具有 150 多个层的深度神经网络。ResNet 将残差块串联起来,也可以通过跳跃连接。

图 3 表示残差构建网络的框图。

4.1.1 相邻残差块之间的连接

Resnet-50 的卷积网络利用了残差学习。CNN 的优化和过度拟合问题导致训练误差增加。残差块内经常使用跳过连接来提高整体准确性。为了防止层过度拟合,主要目的是解决梯度消失问题。如果基本块的输入大小和输出大小匹配,则只需执行恒等映射;否则,使用填充或最大池化调整大小。

通过降低空间维度、保持关键特征以及利用池化和填充等基本 CNN 策略,CNN 可以在各种计算机视觉应用中表现更好。剩余模块允许残差网络训练这样的深度网络。训练完成得更快,因为快捷连接始终处于活动状态,梯度相对容易反向传播。对于更复杂的特征,需要更复杂、更深的网络;通过在训练极深神经网络时应用正确的优化函数和规范化的网络初始化,ResNet 减少了这些问题。唯一的区别是与标准卷积层并行运行的跳跃连接。此快捷方式支持反向传播,从而加速优化。它的创建是为了解决深度网络中梯度消失的问题。ResNet 架构允许网络学习多层特征,而不会陷入局部最小值。

优化器是一种调整神经网络特征(如权重和学习率)的技术或方法,用于减少以下损失:

  • 梯度下降在神经网络中采用反向传播
  • 随机梯度下降更常用于更新所提模型的超参数
  • 小批量梯度下降是一种改进的方法,在每个批次中更新模型的超参数

4.2 VGG16

图 4 描述了 VGG16 架构的主要组件。该网络由 16 个权重层、13 个卷积层 (Conv.) 和 3 个全连接层 (FC) 组成,共有 41 层。

选择优化器函数并通过考虑采用的超参数来初始化网络。在每个步幅为 1 的卷积层上,VGG16 都使用一个小的 3x3 内核(卷积核)。从调整后的特征图中提取最主要特征的层始终紧随最大池化层 [1, 2]。当将相同的卷积核反复应用于输入时,会生成一个激活图,称为特征图,它指示输入(例如图像)中识别特征的位置和强度。 三通道、224x224 图像作为 VGG16 的输入。 总体而言,卷积层使用 ReLU 激活函数。为了产生预测,输出层中存在单个神经元。它使用 Softmax 激活函数生成 0-1 范围内的概率输出,该输出可以轻松自动地转换为不同的类值。

soft-max 层为输入图像分配十进制概率,作为输出层。用于 CNN 的输出层,加起来为 1.0,以在多类问题中做出最终预测。soft-max 层确定输入图像的概率,作为输出层。

二元交叉熵损失函数构成最终输出层,其数学表示如公式所示。

Binary\ Cross\ Entropy = - \frac 1m\sum _{i}^{m}( y_{i}^{* }\log \left ( p( y_{i}) \right )+ ( 1- y_{i}) * \log\left(1-p(y_i)\right)

此外,在使用 VGG16 训练期间冻结第一个块,并使用了其余四个块(包含两个卷积层和一个最大池化层)。研究中使用 256 节点的密集层作为单个组件 和 相同的二元交叉熵损失函数。同样,训练了所有块和一个具有 128 个节点的单个密集层,以获得完全训练的 VGG16 [14]。VGG16 的最后一层用上面的公式表示,也是一个二元交叉熵损失函数。 

5. 实验和结果

乳房 X 线摄影筛查数字数据库 (DDSM) 是数字化乳房 X 线摄影图像及其相关数据的集合。该集合中有 154 张良性照片和 257 张恶性图像。乳房数据集被随机分成 80% 用于训练和 20% 用于测试。尽管图像的原始尺寸为 700X460 像素,并且在处理技术之后图像通常会调整大小,但图像正在调整大小以进行增强。用于训练和测试的图像要经过预处理方法。

ROC 是二元分类器系统在其不公平阈值变化时的诊断能力的图形表示,也显示了所有分类阈值的分类模型的性能。ResNet 使用残差块来解决现有 CNN 中普遍存在的分解和梯度消失问题。残差块不依赖于网络的深度,但它确实提高了系统性能。 与 VGG 架构不同,它也是一个对象识别模型,因此使用所有这些模型都是值得赞赏的。与 VGG 16 的实现相比,这两个网络都在 ImageNet 分类任务中取得了最先进的结果。在等式中,残差具有什么样的函数:

 x=F(x,W)+y

其中 y 是残差块的输入;W 代表块的权重,x 表示输出。具有更多(即使有数千个)训练层的网络不会导致训练期间遇到的错误百分比上升。 ResNet50 的恒等映射功能对于处理消失的梯度问题很有用。剖析并识别乳房 X 线摄影数据集的一个子集,该子集经过了一些修改,可与其他确定性网络一起作为我们模型的训练和测试场地。由于主要乳房 X 线摄影包含由于其前瞻性采样而不需要的噪声,因此消除了噪声伪影以提高时间效率和准确性。

ResNet50 和 VGG16 的工作理念是构建比其他简单网络更深的网络,同时找到并发层数来避免梯度消失问题。该图通过输出形状和参数解释了输出模型架构中的层类型,这导致层具有可训练参数和不可训练参数的数量。

5. 总结

分割过程是涉及要分析图像的任何基于机器学习的工作中的一个有效阶段。在工作中,使用两个 CNN 预训练模型,即 ResNet-50 和 VGG16,用于从乳房 X 线摄影图像中获取属性。VGG16 充当二分类和多类乳房 X 线摄影图像的特征提取器。此过程是在适当调整 VGG16 模型后完成的。

另一方面,ResNet-50 用于图像分类、对象检测和对象定位等功能。使用前面提到的模型开发的系统提供了 ResNet-50 的 96.49% 准确率和 VGG16 的 95.48% 准确率。未来我们需要专注于使用大型数据集,以提高所提系统的精度和效率。此外,我们还可以研究和实施使用其他数据集,因为乳房 X 线摄影图像并不总是准确的,可能会显示导致死亡原因的假阴性和假阳性结果。

相关文章:

6.7.11 一种新的迁移学习方法可提高乳房 X 线摄影筛查中乳腺癌的诊断率

分割是一种将图像分割成离散区域的技术,以便将感兴趣的对象与周围环境分开。为了制定治疗计划,分割可以帮助医生测量乳房中的组织量。 二元分类问题的目的是将输入数据分为两组互斥的数据。在这种情况下,训练数据根据要解决的问题以二进制格…...

【Proteus8.16】Proteus8.16.SP3.exe的安装包,安装方法

下载: 链接:https://pan.baidu.com/s/14ZlETF7g4Owh8djLaHwBOw?pwd2bo3 提取码:2bo3 管理员打开proteus8.16.SP3.exe一路装就行了,许可证选Licence2.lxk,点安装后关闭,然后继续装完。 然后打开Patch-Proteus-8.16-…...

17、matlab实现均值滤波、中值滤波、Butterworth滤波和线性相位FIR滤波

1、创建信号 1)创建正余弦信号、噪声信号和混合信号 原始正余弦信号公式:Signal1 sin(2*pi*20* t) sin(2*pi*40* t) sin(2*pi*60* t) 高斯分布的白噪声:NoiseGauss [randn(1,2000)] 均匀分布的白噪声:[rand(1,2000)] 正余弦…...

【Autopilot】没有自动添加本地管理员的问题处理

【问题】某公司选用了D记的笔记本电脑,约定出厂就预配置好Autopilot,当时向D记提供了三个信息: 1. M365的租户ID 2. 公司域名信息 3. Group Tag (某公司为跨国公司,通过Group Tag来区分国家,比如CHN-中国,L…...

【C#学习笔记】属性和字段

文章目录 前言属性和字段的区别字段访问修饰符和关键字定义变量类型的定义变量命名变量的赋值 属性 不同的使用情况 前言 最近在工作的过程中常常会觉得自己在程序设计方面的能力还是有欠缺。例如一直对于变量的声明感到不足,在工作中为了图方便总是直接public定义…...

最佳实践的实践 - API 不应将 HTTP 重定向到 HTTPS

原文:jviide - 2024.05.23 TL;DR: 与其将 API 调用从 HTTP 重定向到 HTTPS,不如让失败显而易见。要么完全禁用 HTTP 接口,要么返回明确的 HTTP 错误响应,并撤销通过未加密连接发送的 API 密钥。遗憾的是,许多知名的 A…...

四种跨域解决方案

文章目录 1.引出跨域1.基本介绍2.具体演示1.启动之前学习过的springboot-furn项目2.浏览器直接访问 [localhost:8081/furns](http://localhost:8081/furns) 可以显示信息3.启动前端项目,取消请求拦截器,这样设置,就会出现跨域4.跨域原因 2.跨…...

移动端投屏到大屏幕的操作详解

如果你懒得折腾电脑、电视或其他大屏设备上的影视软件安装及配置,可以选择直接在手机端上将影片投屏到电脑、电视或其他大屏设备上,这里给大家分享三种手机投屏的方法。 系统自带的投屏功能 不管是安卓、鸿蒙还是苹果操作系统,都自带了无线…...

【环境搭建】3.阿里云ECS服务器 安装Redis

在阿里云的 Alibaba Cloud Linux 3.2104 LTS 64位系统上安装 Redis 可以通过以下步骤完成: 1.更新系统软件包: 首先,更新系统软件包以确保所有软件包都是最新的: sudo yum update -y2.安装编译工具和依赖项: Redis…...

动态语言的开源编译器汇总

对于动态语言而言,我们通常不会使用传统意义上的“编译器”,因为动态语言往往是在运行时解释执行的,或者被转换为中间形式(如字节码),再由虚拟机执行。不过,为了性能考虑,现代动态语…...

Linux防火墙配置001

Linux防火墙主要用于控制网络流量,保护系统安全。在Linux中,有几种不同的防火墙管理工具,其中最常见的是iptables和firewalld。本章主要讲述如何关闭防火墙。 操作系统: CentOS Stream 9 操作步骤: 关闭防火墙&…...

Tomcat概述及部署

目录 一.Tomcat概述 1.介绍 2.使用场景 3.组件构成 4.组件结构 5.请求过程 二.Tomcat部署 1.关闭防火墙 2.下载安装JDK 3.安装启动tomcat 4.部署虚拟主机 4.1.创建 xy101 和 xy102 项目目录和文件 4.2.修改 Tomcat 主配置文件 server.xml 一.Tomcat概述 1.介绍 …...

[Vue3:Vite构建项目]:安装router实现登录页面路由跳转

文章目录 一:前置依赖查看依赖安装vite npm create vitelatest sys-instruction-0607 --template vue-ts安装路由:npm install vue-router4安装elementUI:npm install element-plus --save 二:配置文件:views&#xff…...

概率论与数理统计,重要知识点——全部公式总结

二、一维随机变量及其分布 五个分布参考另外一篇文章 四、随机变量的数字特征 大数定理以及中心极限定理 六、数理统计...

Spring系列-SpringMvc父子容器启动原理解析

1、Spring整合SpringMVC 特性: 说到Spring整合SpringMVC唯一的体现就是父子容器: 通常我们会设置父容器(Spring)管理Service、Dao层的Bean, 子容器(SpringMVC)管理Controller的Bean .子容器可以访问父容器的Bean, 父容器无法访…...

[ssi-uploader插件]解决如何接收服务器返回数据+修改参数名称

前言 ssi-uploader是一款非常好用的多文件上传插件,源码是开源的,在github上面即可下载: https://github.com/ssbeefeater/ssi-uploader 但是源码有些微小的不足,今天我们解决两点问题: 上传文件完成后&#xff0c…...

InfiniGate自研网关实现思路七

25.网关Nginx负载模型配置 通过模拟多个HTTP服务配置到 Nginx 做负载均衡,以学习API网关负载的配置和使用 API 网关是用于支撑分布式 RPC 接口协议转换提供 HTTP 调用的一套服务,那么 API 网关系统就需要可横向扩展来满足系统的吞吐量诉求。所以这里需…...

277 基于MATLAB GUI火灾检测系统

基于MATLAB GUI火灾检测系统,可以实现图片和视频的火苗检测。火焰识别的三个特征:1个颜色特征,2个几何特征颜色特征:HSV颜色空间下,对三个通道值进行阈值滤波,几何特征1:长宽比,几何…...

【西瓜书】4.决策树

1 递归返回情况 (1)结点包含样本全为同一类别 (2)属性集为空,没有属性可供划分了 或 有属性,但是在属性上划分的结果都一样 (3)结点为空结点 **结束时判定该结点的类别遵循如下规则&…...

区块链--Ubuntu上搭建以太坊私有链

1、搭建私链所需环境 操作系统:ubuntu16.04,开虚拟机的话要至少4G,否则会影响测试挖矿时的速度 软件: geth客户端 Mist和Ethereum Wallet:Releases ethereum/mist GitHub 2、安装geth客户端 sudo apt-get update …...

菜品信息分页查询——后端SpringBoot

1.分页查询的逻辑: 页面发送ajax请求,将分页查询参数(page,pageSize, name)提交到服务端,获取分页数据; 页面发送请求,请求服务端进行图片下载,用于页面图片展示。 开发菜品信息分页查询功能&a…...

利用GPT和PlantUML快速生成UML图用于设计

在软件开发中,设计阶段可是关键的一步。UML(统一建模语言)图能帮我们更清晰地理解和规划系统结构,但手动画UML图有时会很费时费力。好消息是,通过结合使用ChatGPT和PlantUML,我们可以高效地生成UML图&#…...

web-上传项目文件夹到Git远程仓库

Git初识 概念:一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码 作用:记录代码内容,切换代码版本,多人开发时高效合并代码内容 检验成功 打开bash终端(git专用)命令…...

使用OpenPCDet训练与测试Transformer模型:如何加载自己的数据集

引言 Transformer架构因其强大的序列处理能力和长距离依赖捕捉能力,在自然语言处理领域取得了巨大成功。近年来,这一架构也被引入3D物体检测领域,如Voxel Transformer等,显著提升了模型在复杂场景下的检测性能。OpenPCDet整合了多…...

四舍五入问题

单纯输出四舍五入可以用 printf("%.nf",num); 但是这个方法有时候会出错 代表输出n位四舍五入小数 而将数四舍五入赋值给变量可以用round()函数 a round(num); 表示将num四舍五入赋值给a 但是这么些只能转换位四舍五入的整数 可以改…...

零基础入门学用Arduino 第一部分(三)

重要的内容写在前面: 该系列是以up主太极创客的零基础入门学用Arduino教程为基础制作的学习笔记。个人把这个教程学完之后,整体感觉是很好的,如果有条件的可以先学习一些相关课程,学起来会更加轻松,相关课程有数字电路…...

C++标准库random

random 完整文档看这里 三步走: 选择一种随机数种子选择一个随机数引擎选择一个随机数分布输出 随机数种子 //生成随机数种子,在Linux的实现中,是读取/dev/urandom设备 std::random_device rd; unsigned seed1 rd();// 获取当前时间点作为随机数种子 unsigned seed2 std:…...

电子电气架构——车载诊断DTC一文通

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕的就是把别人的眼光当成自己生活的唯一标…...

Golang | Leetcode Golang题解之第129题求根节点到叶节点数字之和

题目: 题解: type pair struct {node *TreeNodenum int }func sumNumbers(root *TreeNode) (sum int) {if root nil {return}queue : []pair{{root, root.Val}}for len(queue) > 0 {p : queue[0]queue queue[1:]left, right, num : p.node.Left, …...

工业信息化SCI期刊,中科院1区TOP,IF=12.3,收稿范围广泛

一、期刊名称 IEEE Transactions on Industrial Informatics 二、期刊简介概况 期刊类型:SCI 学科领域:工程工业 影响因子:12.3 中科院分区:1区TOP 三、期刊征稿范围 IEEE工业信息学汇刊是一本多学科期刊,发表技…...

网站备案申请流程/seo优化的技巧

描述 Description Bessie那惨无人道的二年级老师搞了一个有 N (1 < N < 100) 个正整数 I (1 < I < 10^60) 的表叫Bessie去判断“奇偶性”&#xff08;这个词语意思向二年级的学生解释&#xff0c;就是“这个数是单数&#xff0c;还是双数啊&#xff1f;”&#xf…...

怎样做微网站/网络营销推广的总结

https://blog.csdn.net/u010312949/category_7640395.html 参考 1&#xff1a;啥是串口 串行接口简称串口&#xff0c;也称串行通信接口或串行通讯接口&#xff08;通常指COM接口&#xff09;&#xff0c;是采用串行通信方式的扩展接口。串行接口 &#xff08;Serial Interfac…...

js网站登录怎么做/qq群推广网站

Description 给你一个无向图&#xff0c;N(N<500)个顶点, M(M<5000)条边&#xff0c;每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T&#xff0c;求一条路径&#xff0c;使得路径上最大边和最小边的比值最小。如果S和T之间没有路径&#xff0c;输出”IMPOSSIBLE”&a…...

手机app软件开发/seo外链资源

python3正则要加括号&#xff01;&#xff01;&#xff01; 转载于&#xff1a;https://www.cnblogs.com/chuxiuhong/p/5885073.html 本文主要为没有使用正则表达式经验的新手入门所写。 转载请写明出处 引子 首先说 正则表达式是什么&#xff1f; 正则表达式&#xff0c;又…...

学校网站建设情况/上海企业seo

量化策略开发&#xff0c;高质量社群&#xff0c;交易思路分享等相关内容 『正文』 ˇ 大家好&#xff0c;今天我们分享第11期策略——跟踪目标出场自适应切换策略。本期策略是2022年度倒数第2期策略&#xff0c;2023年度松鼠俱乐部内容会更加丰富&#xff0c;12月出预告敬请…...

网站上微信引流怎么做的/北京百度搜索排名优化

前段时间研究webrtc&#xff0c;找了很多资料&#xff0c;都不好用。后来找到个skypertc&#xff0c;在上面做了修改&#xff0c;实现了功能。 不知道有多少人对这个感兴趣&#xff0c;并且正在找资料。 有兴趣的话请留言&#xff0c;需要人多的话我再花时间整资料出来。转载于…...