生成对抗网络在数字病理学中的应用综述|文献精析·24-09-03

小罗碎碎念

本期推文主题:生成对抗网络

今天这篇推文于2024年发表于《Mod Pathol》,目前IF=7.1,属于医学和病理学的一区文章

image-20240903090949763

作者角色姓名单位名称(中文)
第一作者Shahd A. Alajaji马里兰大学牙科学院口腔医学与诊断科学系,马里兰州,巴尔的摩;沙特国王大学口腔医学院口腔医学与诊断科学系,沙特阿拉伯,利雅得;马里兰大学牙科学院人工智能研究部,马里兰州,巴尔的摩
通讯作者Ahmed S. Sultan马里兰大学牙科学院肿瘤学与诊断科学系,马里兰州,巴尔的摩;马里兰大学牙科学院人工智能研究部,马里兰州,巴尔的摩;马里兰大学马琳与斯图尔特·格林鲍姆综合癌症中心,马里兰州,巴尔的摩

文献预览

在数字病理学领域,生成对抗网络(GANs)正逐渐成为一项关键技术,其在图像合成和增强方面展现出巨大潜力。这篇文章全面综述了GANs在数字病理学中的应用现状、存在的挑战、伦理考量以及未来的发展方向。

文章指出,GANs在数字病理学中的应用主要集中在图像增强和数据生成两个方面。

图像增强包括颜色(染色)标准化,这有助于减少不同实验室或扫描设备引起的染色差异,使得病理图像的分析更加一致和准确。

虚拟染色技术则能够将未染色的组织图像转换成具有特定染色效果的图像,这不仅节省了实际染色所需的时间和资源,还避免了对组织样本的破坏。

此外,GANs还能够用于图像合成和增强,通过生成逼真的病理图像来扩充训练数据集,提高病理图像分析模型的性能。图像翻译则是将一种图像模式转换为另一种模式,例如将冰冻切片图像转换成石蜡切片图像,这对于病理诊断具有重要意义。


尽管GANs在数字病理学中展现出巨大潜力,但文章也指出了其在实际应用中面临的挑战。

首先是数据质量问题,生成的图像需要足够真实和多样化,以便用于训练和验证病理分析模型。其次是偏见问题,如果训练数据中存在偏见,GANs可能会学习并放大这些偏见,导致诊断不准确。

隐私保护也是一个重要问题,因为GANs的训练需要使用真实的病理图像,这涉及到患者数据的隐私保护。此外,文章还提到了问责和透明度问题,即在医疗决策中使用GANs生成的数据时,需要明确责任归属和保持决策过程的透明。


文章最后讨论了GANs在数字病理学中的未来发展方向。

作者认为,尽管GANs在特定任务中显示出变革性的影响,但在更广泛的应用中,其可靠性和有效性仍需进一步验证。

文章呼吁在发展GANs技术的同时,需要积极解决其局限性和伦理问题,以确保这项技术能够在数字病理学中得到道德和有效的应用。

同时,随着技术的进步,如扩散模型和基于概率的网络等新型GANs变体的出现,可能会为解决当前GANs面临的挑战提供新的思路和方法。


一、绪论

病理实验室正开始拥抱组织切片的数字化,这得益于高分辨率的整张切片图像(WSI)扫描仪的发展[1]。

实际上,虚拟WSI已被证实与传统显微镜检查常规和特殊染色的玻璃组织切片相比,效果非劣[2]。因此,WSI的数字化数据库为应用基于人工智能(AI)的方法提供了独特的机会,旨在提高诊断准确性和减少病理学家的职业倦怠。

AI在医学影像解释方面的应用导致了食品和药物管理局前所未有的批准数量;然而,这些创新方法在临床设置中的可转化性存在问题,因为它们在泛化、透明度(AI模型设计的信息)和适当保障措施的可用性方面存在限制[3]。

确实,有一个广泛报道的案例,即皮肤病变的分类算法学会了将带有尺子的临床照片评为更可能是恶性的,因为训练集中恶性病变的图像中尺子的出现更多[4]。AI模型设计缺乏透明度或模型决策矩阵的主要成分,可能导致错误分类概率,特别是在罕见病症的情况下,训练数据集可能更有限或质量较低。


生成对抗网络(GANs)在图像合成领域引起了显著关注,并具有克服这些限制的能力。

在数字病理学中,GANs已被用于图像增强,如颜色(染色)标准化、虚拟染色和墨水/标记移除。GANs还可以被训练生成罕见疾病的图像,这可能会提高泛化能力,减少过拟合,并增强鲁棒性[5]。

此外,当前的AI模型在特定疾病的解释上训练过于狭窄,缺乏全面性[3]。这主要是因为罕见疾病或癌症的有限数据集存在,而且,在某些情况下,手动标注和提供准确标签既费时又具有挑战性。GANs的优势在于,它们可以在未经标注的野外图像上进行训练,这省去了手动标注的需要,并且可以生成罕见疾病的图像数据集。

医学影像分析最近在二维和三维(3D)医学影像上应用GANs及其变体,包括普通X射线、磁共振成像、计算机断层扫描和正电子发射断层扫描[6]。


机器学习模型分类

  1. 监督式模型通常需要一个带标签的训练数据集来学习决策边界,以便为验证数据集的每个样本分配类别/类别。
  2. 非监督式学习模型没有带标签的训练数据,但通过总结数据分布或发现数据中的隐藏模式来学习。
  3. 半监督式模型使用这两种学习方式,需要较少的训练数据。
  4. 区分式模型本质上是分类模型,旨在将不同的数据实例分配到不同的类别。
  5. 生成式模型试图学习输入变量的数据分布,因此可以根据这些知识生成新的数据实例。

GANs是一种具有生成式和区分式子模型的建模框架,它们在对抗性环境中相互竞争[7]。GANs能够估计一个统计模型,该模型总结输入变量的分布以生成新的和合成数据。如图1所示,GANs使用一个捕获输入数据分布的生成模型和一个估计样本来自训练数据的概率而不是生成模型的区分模型[8-10]。

image-20240902195031531

简单来说,目标是生成模型创建未观察到的(合成的)数据点(样本),而区分模型将确定任何给定的样本是真实的(来自域集)还是合成的(来自生成模型)。生成模型经过多次数据生成和反向传播的循环,以微调模型,直到区分模型无法区分合成数据和真实数据。


GANs在图像合成任务中的实用性也许在不断增加的研究兴趣和流行度中得到最好的体现[6]。

生成器和判别器一起训练,其中生成器的输出连接到判别器,并通过反向传播,使用判别器的输出来更新生成器的参数/权重。尽管生成器通过以随机分布的数据作为输入进行训练来生成示例,但判别器通过将它们与真实生活中的示例进行比较来检查生成的示例的“真实性或伪造性”[11]。

随着训练的开始,生成器生成的图像很快被判别器识别为合成的。随着生成器训练的进行和增强,判别器的性能下降,并且在某个点上不再能够区分真实与合成或伪生成的图像。由此产生的数据增强训练模型可以生成具有高度详细性和特异性的逼真图像。

确实,GANs可以处理高维数据,纠正缺失数据,并根据输入数据的分布提供多个合理的示例[6,11,12]。


GANs在计算机视觉领域的文献可追溯到Goodfellow等人[9],他们证明了可以通过对抗性训练生成图像。

Karras等人[13]表明,通过渐进式GAN训练,可以生成高分辨率的逼真人类面部图像。这激发了大量工作,革新了计算机视觉和计算机图形学中的应用。

在随后的几年中,GANs不仅被广泛用于生成逼真的人类面部图像,还用于生成其他物体,如汽车、猫和室内场景的图像[14]。此外,随着最近在隐式场景表示方面的进展[15,16],GANs成功地引入到三维成像中。例如,这允许生成高度逼真的三维图像,这些图像在多视角下是一致的[17,18]。

关于人工智能概念在数字病理学中的应用,之前已有描述[19],这将帮助读者理解后续部分的技术方面。


二、材料与方法

本研究通过以下关键词在Ovid、MEDLINE和PubMed数据库中进行搜索: Generative adversarial networks, GANs,histopathology, medical imaging, image segmentation, and image classification。

仅纳入2014年6月至2023年2月之间发表的英文文章(GANs首次引入的时间为2014年6月[9])。符合纳入标准的研究,即应用GANs于H&E染色的数字病理学图像,无论是整张切片图像(WSI)还是斑块图像格式,均被纳入最终的文献回顾。

排除由其他显微成像方式生成的图像,如细胞培养、荧光、多光谱或多光子显微镜。此外,应用GANs于其他成像模态(如放射性成像)的研究也被排除。

图2展示了基于纳入标准的案例选择流程图。

image-20240902194117131


三、结果

大多数应用GANs于组织病理学图像的研究显示,与未使用GANs的模型相比,模型性能有所提升。表1总结了使用GANs的各种应用及其方法的研究[8,20-65]。补充表S1包括了纳入研究的性能结果,使用常见的GAN评估指标及其定义。

image-20240902195337098

图3展示了一个图表,其中纳入的研究根据组织病理学应用和GAN架构类型进行了分类。

image-20240902195602121

在47项研究中,有20项(42.5%)使用GANs进行颜色(染色)标准化,12项(25.5%)用于图像合成/增强,8项(17%)用于虚拟染色,6项(12.8%)用于图像增强,其余研究使用GANs进行墨水/标记移除(4.3%)、领域适应(4.3%)和图像转换(4.3%)。

值得注意的是,一些研究将GANs应用于多个目的。


四、生成对抗网络在数字病理学中的应用

4-1:颜色标准化

GANs在数字病理学中的一个重要贡献是减少染色变异。数字病理学常常受到染色颜色变异的影响;目前,GANs在病理学中最常见的应用是颜色标准化(图3,表1)。

颜色标准化是一种常见的数据预处理步骤,它在预测前减少数据的颜色变异性。颜色变异性的原因包括但不限于实验室染色协议的差异、原材料、组织切片的厚度、数字化过程(例如,幻灯片扫描仪的类型)和数字文件中的后期处理颜色空间格式。

大多数方法使用一种染色风格转移方法,通过将数字病理学输入样本的区域映射到金标准基准染色的幻灯片来实现颜色标准化。这一过程在保持底层结构或病理学特征的同时完成。颜色标准化已被证明可以提高计算机辅助诊断的准确性和一致性[66-68]。


4-2:图像合成/增强

根据定义,训练一个监督式机器学习模型需要大量的数据。

训练数据集中的变量不足或类别不平衡会导致性能不佳。在实际操作中,提供足够量的高质量数据证明是具有挑战性的。异常发现不常见;大型数据集的专家标注需要巨大的努力,这也许并不实际。

除了标注成本,大多数标注的病理学数据集的大小还受到隐私考虑的限制。传统的数据增强技术,如直方图匹配、裁剪、旋转、改变放大倍数和翻转,已被用来对抗数据的匮乏;然而,由此产生的数据集充满了高度相关的数据,这从根本上挑战了训练一个准确模型的可行性[69]。

在基于GAN的数据增强方法中,生成模型被利用来通过合成真实的组织图像(伪数据集)来减轻小数据集的影响。这些方法在数字病理学中引起了广泛的兴趣,并显示出比现有深度学习模型更好的结果[8,37](补充表S1)。

例如,Xue等人[70]设计了HistoGAN,一个条件GAN(cGAN),旨在生成高质量、高保真的病理学图像,然后有选择地将合成数据添加到训练集中。将合成数据有选择性地添加到训练集中,显示出在分类性能准确性上的统计学显著提高[70]。


4-3:虚拟染色

H&E染色在细胞核与细胞质/细胞外基质之间创建对比,并标记不同的生物元素。

毫无疑问,H&E染色的多功能性和有效性;然而,该过程敏感、成本高昂且劳动密集。当使用更复杂的特殊染色时,这种情况更为严重,这些染色需要更长的过程和更高的劳动技能来实现一致性。此外,该过程具有破坏性,可能导致组织块的耗尽,从而禁止未来的进一步测试。

虚拟染色是一个广泛术语,指的是使用深度神经网络数字生成组织学染色的方法。GANs具有高生成能力,因此它们是虚拟染色中最常用的平台之一[71-73]。GANs用于将数字未染色组织图像转换为H&E染色的图像,以及虚拟去除已经染色的图像(图3,表1)。

此外,GANs已被用于通过多类映射和识别底层共同形态学特征,将H&E图像转换为它们的免疫组化染色对应图像[53]。


4-4:图像增强

颜色、亮度和对比度是需要通过预处理改进的特征,以获得高质量的图像数据,这些数据可以应用于深度学习[69]。GAN,尤其是超分辨率GAN(SR-GAN),是一种预处理工具,它提高了信噪比,并将低分辨率图像转换为高分辨率图像,从而提升了深度学习模型的性能[47,74]。


4-5:领域适应

不同领域(如实验室或数字扫描仪)之间的差异可能会影响深度学习模型的预测准确性。在一个领域学到的模型可能不适用于另一个领域。

领域适应利用相关理想领域中学到的知识,这些领域具有足够的高质量数据,以增强和提高包含不足数据的模型的性能。它可以用来消除来自不同来源的图像之间的差异,允许在不同领域之间转换图像特征[69]。


4-6:墨水/标记移除

在病理学实验室中,常见在组织样本上施加墨水以用于定位或边缘确定。

病理学家经常在病理学玻璃幻灯片上使用标记或笔来标记特定特征,如神经周围侵犯或血管侵犯。

不幸的是,带有墨水或标记的WSI不能用于深度学习任务,正如前面提到的使用带有尺子的临床图像训练模型的例子,在数字病理学中,墨水标记本身成为了深度学习模型的一部分。

通过GAN进行的颜色标准化未能证明足以去除此类污染。一些研究专注于使用GAN专门进行墨水/标记移除,同时保留底层组织的特征。应用这些基于GAN的方法后,能够从WSI中清除墨水/标记污染,并优于最先进的颜色标准化方法[62,63]。


4-7:图像转换

图像转换指的是将一种图像模态转换为另一种。

GAN令人印象深刻地被用于将磁共振成像转换为相应的计算机断层扫描。

Siller等人[65]将此技术应用于WSI,旨在将含有冻结相关伪影的冷冻切片图像转换为虚拟的对应甲醛固定、石蜡包埋的切片。

这项研究还重要地评估了专家病理学家是否能识别转换后的(合成)图像与真实图像,并实现了整体高度相似。


五、数字病理学中常用的生成对抗网络架构

5-1:条件生成对抗网络

尽管GAN可以生成癌症组织的图像,但它不能被指示提供特定癌症类型的图像。

条件GAN(cGAN)是一种GAN,允许向生成器和判别器添加额外的输入,如类别标签(肺癌、乳腺癌、前列腺癌等),作为指导数据生成过程的条件[75],从而指定生成的癌症图像类型。

两个网络都通过不同的辅助信息进行条件化,因此,在理想的cGAN模型中,生成器学习生成具有特定条件的数据,而不是随机输入/噪声,判别器则学习根据提供的条件判断输入的真实性。向模型引入条件为cGAN适用于图像到图像的转换任务提供了可能性。

Pix2Pix是特定的变体,它添加一个图像作为条件输入以指导图像生成过程。例如,当生成器模型给定一个输入图像(如草图)时,它生成图像的转换版本(如肖像)。

Pix2Pix的另一个应用是背景移除。判别器模型给定输入图像和转换后的图像,它必须预测图像是真实的还是合成的。cGAN在数字病理学中已被广泛用于颜色标准化、虚拟染色[48,50,52]和数据增强。


5-2:循环一致性生成对抗网络

循环一致性生成对抗网络(cycleGAN)是cGAN和Pix2Pix的一个变体。

尽管Pix2Pix可以从成对的输入图像进行图像转换,但cycleGAN可以在不使用成对图像的情况下提供图像到图像的转换

例如,将夏季场景的图像转换为冬季场景的图像[6,76]。在数字病理学中,cycleGAN已被用于将冷冻切片图像转换为虚拟石蜡切片图像[65]。此外,它还被用于虚拟染色[50,54]、墨水或标记移除[62,63]和颜色标准化。

在数字病理学中,大多数GAN应用使用一种特定的cycleGAN子类型,称为StainGAN。StainGAN遵循一种染色风格转移方法,通过标准化由不同幻灯片扫描仪、实验室以及/或患者间变异引起的染色颜色变化[66]。


5-3:超分辨率生成对抗网络

超分辨率生成对抗网络(SR-GAN)指的是从低分辨率输入生成高分辨率图像。

它旨在在大比例上采样时恢复并增强图像的细小细节。例如,使用深度学习神经网络模型(如ResNet)与SR-GAN结合,通过最小化恢复的高分辨率图像与地面真实(金标准)图像之间的均方误差来优化。

简而言之,通过提高峰值信噪比,最终图像缺乏高频细节,SR-GAN旨在改善这一方面。对于病理学图像,SR-GAN主要用于数据增强和图像增强目的[77]。


5-4:尖锐度损失正则化的生成对抗网络

尽管cGAN可以通过创建合成病理学图像来克服基于深度学习的方法在病理学中的固有挑战,但它们往往无法生成重叠和接触的核的清晰轮廓。

尖锐度损失正则化的GAN可能通过使用核的距离图来缓解这一不足,并合成具有清晰核轮廓的病理学图像。这种模型提供了增强的核轮廓像素对比度。

通过使用归一化的核距离图而不是cGAN中使用的二进制掩码来编码轮廓,从而实现这一目标[43]。


5-5:自注意力生成对抗网络

理论上,cGAN的性能受到其局部感受野的限制;因此,机器在学习长期依赖关系时,通过多个过滤层(卷积层)的长期记忆可能无法学习到。

自注意力生成对抗网络(SA-GANs)被引入以改进cGAN的这一能力,并因此创建合成包含持续重复的几何或结构模式图像的能力。SA-GAN通过使用图像的每个遥远部分的全部特征,以及空间局部点,生成高分辨率图像细节,从而确保捕捉到细小细节[78]。

SA-GAN已在数字病理学图像合成[41]和颜色标准化中使用,具体称为自注意对抗染色标准化[27]。


5-6:深度卷积生成对抗网络

深度卷积生成对抗网络是计算机视觉中GAN的基础架构之一。

它包括生成器和判别器网络中的卷积层,将解卷积输出转换为其原始卷积输入,从而增加高分辨率生成模型的稳定性。

深度卷积生成对抗网络在数字病理学中广泛用于生成合成病理学图像或提高图像质量的任务[79]。


5-7:其他生成对抗网络

图4展示了数字病理学中常见的GAN架构子类型,重要的是要注意,如图所示,许多这些子类型是从更大的GAN按层次顺序衍生出来的,以产生在病理学中有更具体功能/应用的更窄的子类型。

image-20240902200527677

数字病理学中应用的其他GAN变体包括BigGAN、基于风格生成器架构的GAN和Wasserstein GAN。这些GAN旨在提高生成图像的性能。

值得注意的是,提高图像质量的策略包括减少生成器输入的方差、无监督分割高级特征以及在不发生塌陷的情况下提高学习的稳定性[82]。PathologyGAN是另一种变体,它结合了BigGAN和基于风格生成器架构的GAN,用于生成伪真实癌症组织图像。

PathologyGAN模型可以生成与真实癌症组织图像难以区分的癌症组织图像。这些生成的图像可以被标注并用于以高通量和效率训练GAN模型,以帮助病理学家进行诊断,并可用于创建更大规模的罕见病理学数据库以供学习和训练使用。

确实,需要进一步优化模型,如PathologyGAN,以区分具有观察者变异性的边界病理学,例如非典型性和上皮不典型性。


六、讨论

6-1:机遇与局限性

病理学在疾病诊断中扮演着关键角色,GANs可以通过优化和标准化现有的病理学图像,并生成逼真的显微镜图像来协助疾病评估、预测和诊断。

基于深度学习的方法的一个有趣应用是,诊断算法能够输出数值置信概率,而不是当前的二进制“是/否”对边缘病理学的存在,这导致观察者之间的诊断变异。因此,基于GAN的深度学习的应用为定位重要的组织学诊断标准铺平了道路,为病理学家提供了一个可靠的二次意见指标[69,85]。

GANs为生成合成深度学习训练集提供了强大的工具,特别是对于罕见或代表性不足的疾病,可能没有足够的真实数据集来进行适当的算法训练。然而,如果GANs用于生成大量训练集的合成图像,其中真实示例有限,那么结果GAN生成器的集合也将从样本数量的角度具有有限的变异性。

因此,生成的GAN生成训练集的变异性将小于相同大小的真实数据集。对于罕见疾病,由于没有包含“异常”图像示例的真实数据集,因此GAN生成的合成图像比实际条件中的变异性要窄。因此,在这些情况下,深度学习模型的整体准确性可能不如表面所示,因为底层合成集的方差固有地较低。这提出了幻觉的完美性:如果使用一个95%合成的训练集,其方差将远小于类似大小的真实数据集。这样的算法将具有“幻觉准确性”,因为训练集的方差不足。

有观点认为,合成图像不应用于准确性的测试数据集,因为它们依赖于对现实世界变异性过于简化的表示,这可能会引入偏见,并阻碍准确性能评估[5]。


6-2:当前挑战与未来方向

医疗保健从业者长期以来一直依赖传统的证据等级来评估医疗保健领域的进步。然而,尽管医学AI的进步迅速,生成高质量证据,如元分析、系统评价和随机对照试验,仍然是劳动密集型和耗时的。这可能会阻碍将最新的AI技术融入病理学家的日常实践中。

数据质量是在考虑使用GANs时一个关键的担忧。尽管GANs可以生成模仿疾病组织外观的合成图像,但确保生成的数据的准确性和可靠性至关重要,因为这将直接影响诊断的准确性和患者的结果。训练GAN算法成功的关键在于分析大规模的输入数据,这可以方便地通过生成伪数据集来补充。

因此,在组织病理学的背景下,需要大规模的WSI来注释、训练和优化GAN-based再生和诊断模型,以辅助数字病理学。获取这样的广泛信息可能受到筛选、获取和共享限制,尽管美国是这些规定较宽松的国家之一[85]。此外,如前所述,由于WSI质量的差异,数据分布的不一致性阻碍了深度学习算法,影响了模型的整体效率。


基于深度学习的重建技术可能不具备通用性,并且本质上不稳定,这可能导致重建不存在的虚构结构,即幻觉伪迹。这些伪迹将产生逼真的图像,但不反映实际可能的组织样本,这显然会导致误诊。生成的图像中类别的不充分或过度表示(例如,从生成的图像中省略肿瘤)可能导致关键的误诊[65,96]。

随着创新AI技术继续革命化医疗保健,必须遵守伦理和法律规范,考虑到这些新进展可能引发前所未有的道德后果。GAN-based模型的计算数据依赖于处理和注释实际患者数据;因此,遵守原始输入数据的数据隐私保护政策至关重要。

毫无疑问,数字格式的数据,如数字成像和通信医学(DICOM),已经受到网络攻击,因此,为数字病理学中的GAN提供入侵免疫至关重要。此外,利用GAN模型产生伪数据是一个潜在的漏洞,可能导致严重的后果,尤其是在研究和医疗保健领域。这为制定误导科学家和决策者的伪造信息铺平了道路。

同样,从虚构的患者数据中可能出现的法律问题也需要通过法规来控制这一陷阱。尽管技术人员不受法律追究,但Naik等人[99]建议所有参与AI的利益相关者都必须遵守道德责任。


总的来说,当前GAN技术的不足之处包括(1)数据集捕捉的多样性不足,(2)需要大量的计算资源,以及(3)人员和网络的培训过程复杂且有时不稳定,这使GAN容易崩溃并需要稳定器。

扩散模型被预测将是下一个影响数字病理学的AI技术——在潜在扩散中,通常用作生成器网络输入的图像被原始图像的“扩散”版本所取代。扩散图像是通过迭代应用一系列变换和噪声到原始图像来生成的。每次迭代都应用一种变换,旨在扩展原始图像中包含的信息。这种信息的扩展使得生成器网络能够更好地捕捉其试图生成的数据的基础结构。

生成器网络然后使用这个扩散图像通过逐步去噪生成数据样本(输出)。目的是生成具有更好整体分辨率和质量的图像,使生成过程更加稳定和可靠。然而,它也可能计算上昂贵,因为它需要迭代应用多个变换到原始图像。


七、结论

正如本综述所述,当应用于特定和狭窄的任务(预处理增强)时,GANs在转变数字病理学方面具有显著的潜力。然而,这些初步研究尽管令人印象深刻,但必须考虑与使用GANs相关的局限性和伦理影响。

目前尚不清楚更广泛的任务是否可行和可靠,例如为研究和教育目的生成新数据集或罕见图像。评估数据质量、解决偏见、保护隐私、确保责任性和透明度以及制定法规是确保GANs在伦理上应用的必要条件。

通过主动解决这些局限性和伦理考虑,GANs可能会改善数字病理学在特定用例中的使用。


http://www.ppmy.cn/news/1522184.html

相关文章

硬刚苹果还得是华为

文|琥珀食酒社 作者 | 璇子 牛皮啊 华为发三折叠不意外 意外的是 这各种翻转简直颠覆想象 市面上没见过这么能“翻转”的? 要不怎么说硬刚苹果 还得看华为 就跟你同天怎么了? 拼创新、拼技术、拼热度 你就说哪比你差吧&#xff1f…

[建模已更新]2024数学建模国赛高教社杯A题:“板凳龙” 闹元宵 思路代码文章助攻手把手保姆级

本系列专栏将包括两大块内容 第一块赛前真题和模型教学,包括至少8次真题实战教学,每期教学专栏的最底部会提供完整的资料百度网盘包括:真题、数据、可复现代码以及文章. 第二块包括赛中详细思路建模、代码的参考助攻, 会提供2024年高教社国赛A的全套参考内容(一般36h内更新完毕…

孤儿进程、僵尸进程、守护进程(精灵进程)

目录 一、孤儿进程 二、僵尸进程 三、守护进程&#xff08;精灵进程&#xff09; 一、孤儿进程 定义&#xff1a;孤儿进程是指那些其父进程已经结束&#xff0c;但它们依然在运行的进程 创建一个孤儿进程&#xff1a; #include <stdio.h> #include <stdlib.h> #in…

dockerfile部署fastapi项目

dockerfile部署fastapi项目 1、Dockerfile # 使用Python官方镜像作为基础镜像 FROM python:3.8-slim# 更新apt-get源并安装依赖 # RUN apt-get update -y && apt-get install -y git# 设置环境变量 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1# 创建工作目…

Python--列表简介

列表是什么 列表让你能够在⼀个地方存储成组的信息&#xff0c;其中既可以只包含几个元素&#xff0c;也可以包含数百万个元素。列表是新手可直接使用的最强大的Python 功能之⼀。 列表&#xff08;list&#xff09;是一种可变的序列类型&#xff0c;用于存储一系列有序的元素…

【全网首发】2024数学建模国赛C题39页word版成品论文【附带py+matlab双版本解题代码+可视化图表】

基于优化模型的农作物的种植策略 完整版成品py&#xff08;matlab&#xff09;代码解题在下面获取&#xff1a; 点击链接加入群聊【2024数学建模国赛资料汇总】&#xff1a;http://qm.qq.com/cgi-bin/qm/qr?_wv1027&klZncBILk30DuPRI1Bd8X-3Djv7ZVZyAv&authKeykKqNSS…

久久派安装启用USB摄像头(基于node-red)

久久派安装启用USB摄像头&#xff08;基于node-red&#xff09; 功能演示1、安装必要的节点2、程序讲解1、启动摄像头2、关闭摄像头3、获取久久派IP4、在UI界面显示摄像头内容5、摄像头抓拍 3、部署 文中所需网盘资料及讲解视频在文章末尾哦1。 本章使用的摄像头插件请参考久久…

4、Django Admin对自定义的计算字段进行排序

通常&#xff0c;Django会为模型属性字段&#xff0c;自动添加排序功能。当你添加计算字段时&#xff0c;Django不知道如何执行order_by&#xff0c;因此它不会在该字段上添加排序功能。 如果要在计算字段上添加排序&#xff0c;则必须告诉Django需要排序的内容。你可以通过在…

Qt/C++ 个人开源项目#串口助手(源码与发布链接)

一、项目概述 该串口助手工具基于Qt/C开发&#xff0c;专为简化串口通信调试与开发而设计&#xff0c;适合新手快速上手。工具具有直观的用户界面和丰富的功能&#xff0c;旨在帮助用户与串口设备建立可靠通信&#xff0c;便于调试、数据传输和分析。 二、主要功能 波特率&a…

Flutter集成Firebase中的 A/B Testing

前提 完成Flutter集成Firebase中的远程配置流程 A/B Test的使用流程 我们先通过远程配置设置变量&#xff0c;应用程序根据变量值展示不同的界面创建一个A/B Test实验&#xff0c;在实验中创建满足条件的用户才能加入到这个实验中&#xff0c;并且在A/B 实验中修改远程配置变…

shell 学习笔记:变量、字符串、注释

目录 1. 变量 1.1 定义使用变量 1.2 变量命名规则 1.3 只读变量 1.4 删除变量 1.5 变量类型 1.5.1 字符串变量 1.5.2 整数变量 1.5.3 数组变量 1.5.3.1 整数索引数组 1.5.3.2 关联数组 1.4 环境变量 1.5 特殊变量 2. 字符串 2.1 单引号字符串 2.2 双引…

使用NetBackup GUI 图形化进行oracle备份和恢复

转载 一、环境介绍&#xff1a; 这个实验都是在vmware workstation里完成的。由于NetBackup7只能装在64位的系统上&#xff0c;所以这里采用了64位的rhel5.5系统&#xff0c;以及oracle 10gr2 for linux_x64的软件包。数据库的数据文件存储在ASM中。安装rhel、oracle、netback…

C++字符串中的string类操作

愿我如星君如月&#xff0c;夜夜流光相皎洁。 ——《车逍遥篇》【宋】范成大 目录 正文&#xff1a; 主要特点&#xff1a; 基本操作&#xff1a; 代码演示&#xff1a; 总结&#xff1a; 今天我们接着上次的章节继续&#xff0c;这次我们来说一个为解决上个方法的缺陷而诞…

Linux 文件权限与属性管理

概述 Linux 系统是一种典型的多用户系统&#xff0c;不同的用户处于不同的地位&#xff0c;拥有不同的权限。为了保护系统的安全性&#xff0c;Linux 对不同用户访问同一文件&#xff08;包括目录文件&#xff09;的权限做了详细的规定。 文件属性查看 在 Linux 中&#xff0…

目标检测-YOLOv3

YOLOv3介绍 YOLOv3 (You Only Look Once, Version 3) 是 YOLO 系列目标检测模型的第三个版本&#xff0c;相较于 YOLOv2 有了显著的改进和增强&#xff0c;尤其在检测速度和精度上表现优异。YOLOv3 的设计目标是在保持高速的前提下提升检测的准确性和稳定性。下面是对 YOLOv3 …

牛客(除2!)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 给一个数组&#xff0c;一共有 n n\ n 个数。 你能进行最多 k k\ k 次操作。每次操作可以进行以下步骤&#xff1a; 选择数组中的一个偶数 aia_iai​&#xff0c;将其变成 ai/2a_i/…

使用 JAXB 将内嵌的JAVA对象转换为 xml文件

使用 JAXB 将内嵌的JAVA对象转换为 xml文件 1. 需求2. 实现&#xff08;1&#xff09;FileDesc类&#xff08;2&#xff09;MetaFileXml类&#xff08;3&#xff09;生成对应的xml文件 1. 需求 获取一个目录下所有文件的元数据信息&#xff08;文件名、大小、后缀等&#xff0…

“榆”您相约|遨游矿用煤安防爆手机助力煤矿作业安全增效

金秋九月结硕果&#xff0c;丹桂飘香迎盛会。2024年9月13日至15日&#xff0c;第十八届榆林国际煤炭暨高端能源化工产业博览会&#xff08;以下简称“榆林国际煤博会”&#xff09;即将在榆林会展中心盛大启幕。本次博览会以“能源新时代&#xff0c;低碳新榆林”为主题&#x…

uniapp / uniapp x UI 组件库推荐大全

在 uniapp 开发中&#xff0c;我们大多数都会使用到第三方UI 组件库&#xff0c;提起 uniapp 的UI组件库&#xff0c;我们最常使用的应该就是uview了吧&#xff0c;但是随着日益增长的需求&#xff0c;uview 在某些情况下已经不在满足于我们的一些开发需求&#xff0c;尽管它目…

pdf预览

使用pdfjs-dist完成pdf预览功能&#xff0c;注意版本号。 新版用了很多es新写法&#xff0c;好像更适合vue3使用&#xff0c;老项目识别不了其中的一些语法。我用的时候&#xff0c;先是报了 obj?.name这种语法的错误&#xff0c;解决之后又报其他错误。 npm install pdfjs-…