基于局部显著位置感知的异常掩码合成方法在CT图像肺部疾病异常检测与病变定位中的应用|文献速递-深度学习医疗AI最新文献
Title
题目
Local salient location-aware anomaly mask synthesis for pulmonary disease anomaly detection and lesion localization in CT images
基于局部显著位置感知的异常掩码合成方法在CT图像肺部疾病异常检测与病变定位中的应用
01
文献速递介绍
肺部疾病是全球发病率和死亡率最高的疾病之一,包括肺炎、慢性阻塞性肺疾病和肺癌等。肺炎因其高发病率和广泛影响而尤为显著,它是由病毒、细菌或真菌引起的严重感染,对全球数百万人的健康构成重大威胁(Dueck等人,2021)。例如,COVID-19是一种由冠状病毒引起的肺炎,最近肆虐全球,自2019年底以来迅速传播,对世界各地人们的健康造成了严重破坏(Feng等人,2020)。由于肺部疾病(尤其是肺炎)的高发病率和严重性,及时准确的检测对有效管理和干预至关重要。 在临床上,X射线和计算机断层扫描(CT)是疾病诊断、随访评估和病情演变评估中最常用的成像方式之一。与X射线相比,CT筛查因其高分辨率和肺部的三维视图而广受青睐(Fan等人,2020)。图1显示了几种肺炎疾病在CT轴位切片中的感染区域。从CT图像中可以清楚地观察到这些感染迹象,如早期的磨玻璃影(GGO),如图1(b)中的红色区域所示。这表明CT图像可以呈现清晰的病变特征,在肺部疾病检测中具有显著优势。因此,我们旨在开发一种基于CT检查的自动化、准确的筛查和病变检测模型,用于肺部疾病的早期预警。 近年来,由于卷积神经网络(CNNs)在医学图像特征提取方面的优势,许多基于深度学习的算法被提出用于通过CT扫描检测肺部疾病(Qian等人,2020;Wang等人,2020,2021;Harmon等人,2020;Hasija等人,2022)。例如,在CT解读任务中,Qian等人(2020)通过聚合CT切片和体积特征,构建了用于肺炎筛查的多任务多层深度学习系统。Wang等人(2020)通过引入注意力残差模块和多任务损失,构建了基于先验注意力的CT图像COVID-19筛查分类框架。Wang等人(2021)首次提出了用于COVID-19诊断和三维病变分割的联合深度学习模型。 然而,大多数肺部疾病检测模型需要专家标注进行监督,这无疑既耗时又费力。此外,由于难以收集罕见疾病数据,许多深度学习模型无法完全解决正常数据与疾病数据之间的不平衡问题(Gao等人,2020)。通过模型训练能够检测到的异常疾病仅限于那些已知并定义为训练目标的类型。相比之下,异常检测是一种无监督的单类分类任务,它在训练期间对数据分布进行建模,并在测试期间识别具有显著差异的异常。它减轻了对大量标记数据集的需求,并且在检测任何类型的罕见病变方面比监督方法具有更强的泛化能力(Lagogiannis等人,2023)。异常检测模型还允许对具有多个显著病变的数据进行病变可视化(Bercea等人,2022)。 目前,研究人员已经为医学和工业图像提出了许多异常检测方法(Tsai等人,2022;Liu等人,2023;Roth等人,2022;Defard等人,2021;Pol等人,2019;Kimura等人,2020;Li等人,2021)。这些方法主要包括基于重建的方法、基于特征的方法和基于合成的方法。基于重建的方法通常使用生成模型对正常样本的正常性进行建模,并检测测试样本中的偏差。例如,Pol等人(2019)和Kimura等人(2020)使用了一种变分自动编码器(VAE)(Kingma和Welling,2013)变体,该变体迭代地恢复输入图像,直到磁共振成像(MRI)/X射线异常区域被重建为正常区域。然而,如果异常数据与正常训练数据具有共同的组成模式,或者解码器对异常编码具有良好的泛化能力,那么图像中的异常很可能被很好地重建。基于特征的方法将正常特征编码到高维空间中,在该空间中,异常特征将远离嵌入空间中的正常簇。例如,Defard等人(2021)提出了PadiM,通过使用预训练模型和多元高斯分布嵌入来提取异常补丁特征。PatchCore(Roth等人,2022)首先建立了一个代表性的补丁特征库,然后通过计算测试样本特征与库特征之间的距离对输入特征进行评分。然而,由于医学图像的分布与自然图像不同,直接使用预训练可能导致分布不匹配。基于合成的方法通过在正常图像中合成异常来构建二元分类框架。例如,CutPaste(Li等人,2021)提出了一种用于异常检测的简单合成异常生成策略,该策略切割图像补丁并将其粘贴到原始图像的随机位置,从而训练网络区分合成图像和正常图像。然而,合成图像的分布通常无法提前获得,并且很难通过从图像补丁级别进行合成来近似或包含真实异常。目前,尽管CT图像在肺部疾病筛查中非常重要,但利用CT图像进行肺部疾病异常检测的工作却很少。由于其固有的复杂性,该任务面临以下挑战:在CT体积中,二维切片之间的肺区域纹理、大小和位置各不相同,这可能导致正常数据的分布存在较大差异;CT断层中正常数据的肺组织结构与病变区域相似,容易造成误判,难以检测小面积病变。 结合三种异常检测方法的优缺点,考虑到CT图像的固有复杂性,我们提出了一种新的用于CT图像的肺部疾病异常检测和病变定位框架。该框架利用基于重建和合成的方法,并进行了多项改进。所提出的框架使用矢量量化变分自动编码器(VQVAE)(Van Den Oord等人,2017)从训练图像中提取特征并将其存储在码本中。VQVAE可以存储局部特征,使网络能够忽略切片中不同肺大小引起的全局分布差异。提出了一种新的基于无监督特征统计的合成方法,在特征空间而非图像级别合成异常特征,该方法有效地破坏了局部区域的原始特征,提高了基于Transformer的特征分类网络对小区域病变的精确定位能力。此外,我们引入了一种新的残差邻域聚合特征分类损失,鼓励网络根据邻域特征忽略噪声样本的干扰,提高对异常特征的敏感性。我们的主要贡献总结如下: ∙ 提出了一种新的局部显著位置感知异常掩码生成和重建框架,用于CT图像异常检测和病变定位。该框架结合了图像重建和特征合成方法,通过局部异常合成和特征空间中的特征分类实现了准确的肺部异常检测。 ∙ 提出了一种新的基于无监督特征统计的合成方法,在特征空间而非图像级别合成异常特征,有效地破坏了局部区域的原始特征,提高了基于Transformer的特征分类网络对小区域病变的精确定位能力。 ∙ 提出了残差邻域聚合特征分类损失,鼓励网络根据邻域特征忽略噪声样本的干扰,从而提高对异常特征的敏感性。 ∙ 在一个内部CT数据集和一个公共数据集上对所提出的方法进行了严格的定量和定性验证。实验结果表明,所提出的方法在五种肺部疾病的图像级异常检测和病变定位方面优于其他最先进的方法。
Abatract
摘要
Automated pulmonary anomaly detection using computed tomography (CT) examinations is important for theearly warning of pulmonary diseases and can support clinical diagnosis and decision-making. Most trainingof existing pulmonary disease detection and lesion segmentation models requires expert annotations, whichis time-consuming and labour-intensive, and struggles to generalize across atypical diseases. In contrast,unsupervised anomaly detection alleviates the demand for dataset annotation and is more generalizable thansupervised methods in detecting rare pathologies. However, due to the large distribution differences of CTscans in a volume and the high similarity between lesion and normal tissues, existing anomaly detectionmethods struggle to accurately localize small lesions, leading to a low anomaly detection rate. To alleviate thesechallenges, we propose a local salient location-aware anomaly mask generation and reconstruction frameworkfor pulmonary disease anomaly detection and lesion localization. The framework consists of four components:(1) a Vector Quantized Variational AutoEncoder (VQVAE)-based reconstruction network that generates acodebook storing high-dimensional features; (2) a unsupervised feature statistics based anomaly featuresynthesizer to synthesize features that match the realistic anomaly distribution by filtering salient features andinteracting with the codebook; (3) a transformer-based feature classification network that identifies syntheticanomaly features; (4) a residual neighbourhood aggregation feature classification loss that mitigates networkoverfitting by penalizing the classification loss of recoverable corrupted features. Our approach is based ontwo intuitions. First, generating synthetic anomalies in feature space is more effective due to the fact thatlesions have different morphologies in image space and may not have much in common. Secondly, regionswith salient features or high reconstruction errors in CT images tend to be similar to lesions and are more proneto synthesize abnormal features. The performance of the proposed method is validated on one public datasetwith COVID-19 and one in-house dataset containing 63,610 CT images with five lung diseases. Experimentalresults show that compared to feature-based, synthesis-based and reconstruction-based methods, the proposedmethod is adaptable to CT images with four pneumonia types (COVID-19, bacteria, fungal, and mycoplasma)and one non-pneumonia (cancer) diseases and achieves state-of-the-art performance in image-level anomalydetection and lesion localization.
使用计算机断层扫描(CT)检查进行肺部异常自动检测对于肺部疾病的早期预警至关重要,且能为临床诊断和决策提供支持。现有大多数肺部疾病检测与病变分割模型的训练需要专家标注,这不仅耗时费力,而且难以对非典型疾病进行泛化。相比之下,无监督异常检测减轻了对数据集标注的需求,并且在检测罕见病变方面比监督方法具有更强的泛化能力。然而,由于CT扫描在体数据中分布差异大,且病变组织与正常组织高度相似,现有异常检测方法难以准确定位小病变,导致异常检测率较低。为解决这些挑战,我们提出了一种用于肺部疾病异常检测和病变定位的局部显著位置感知异常掩码生成与重建框架。该框架包含四个组件:(1)基于矢量量化变分自动编码器(VQVAE)的重建网络,用于生成存储高维特征的码本;(2)基于无监督特征统计的异常特征合成器,通过过滤显著特征并与码本交互,合成符合真实异常分布的特征;(3)基于Transformer的特征分类网络,用于识别合成的异常特征;(4)残差邻域聚合特征分类损失,通过惩罚可恢复损坏特征的分类损失来缓解网络过拟合。我们的方法基于两个直觉:首先,由于病变在图像空间中形态各异、共性较少,在特征空间生成合成异常更为有效;其次,CT图像中具有显著特征或高重建误差的区域往往与病变相似,更易合成异常特征。我们在一个包含COVID-19的公共数据集和一个包含63,610张五种肺部疾病CT图像的内部数据集上验证了该方法的性能。实验结果表明,与基于特征、合成和重建的方法相比,该方法适用于四种肺炎类型(COVID-19、细菌性、真菌性、支原体性)和一种非肺炎(癌症)疾病的CT图像,在图像级异常检测和病变定位方面均达到了最先进的性能。
Method
方法
2.1. Overall framework
In this section, we will introduce the proposed network as shownin Fig. 2. The proposed framework mainly consists of image reconstruction, anomaly feature synthesis, and feature classification network.In order to reduce the influence of non-lung regions on anomalydetection, we firstly implement the extraction of lung regions by usingthe U-Net model pre-trained on the Lung Image Database Consortium(LIDC) dataset (Armato III et al., 2011) to obtain the input image.We then constructed an image reconstruction network that maps theinput image to a high-dimensional space and represents the features ateach position of the latent vector. Specifically, we employ VQVAE toextract local features of the input image and store them in a codebook.For anomaly feature synthesis, we propose a novel synthesis approachbased on unsupervised feature statistics. This approach uses featurestatistics to select salient feature locations, and achieves local anomalyfeature synthesis by randomly replacing the features in the codebookwith clustering algorithms. This can improve the ability of the networkto accurately locate small regional lesions. In the feature localizationphase, we use a Transformer-based classification network to classifyabnormal and normal features. To reduce the overfitting of classification networks to the synthetic features in codebook, we propose a newresidual-aware feature classification loss. It encourages the networkto ignore the interference of synthetic noise samples and improve thesensitivity to abnormal features. Finally, we binarize and upsample thefeature classification results to obtain an abnormal region detectionmap.
2.2. Image reconstruction network
The framework first maps the image to a high-dimensional spaceand builds a normal sample feature repository. The normal samplefeature repository is used to synthesize abnormal features and constructa binary classification network to achieve the detection of realistic abnormal features. Currently, feature-based anomaly detection methodsconstruct feature repositories via pre-training networks on ImageNet,aiming to detect anomalies by comparing the distance between normal features and test features. However, there are domain differencesbetween CT images and photographic images, and it is difficult toconstruct representative local features relying on such pre-trainingmethods. In contrast to these methods, we use VQVAE to constructthe sample feature repository. Such method have two motivations. Thefirst is to quantify and store representative features of local locations.Typical generative models such as AE and VAE, encode continuousfeatures which fail to quantify and store these features. The secondis to provide patch features for the anomaly feature synthesis stage.The tissue structure within normal lungs is similar to that of abnormallung lesions, and using normal sample features to synthesize abnormalfeatures can improve the similarity between synthetic and realisticabnormalities.
2.1 整体框架 在本节中,我们将介绍如图2所示的提出的网络。所提出的框架主要包括图像重建、异常特征合成和特征分类网络。为了减少非肺区域对异常检测的影响,我们首先使用在肺部图像数据库联盟(LIDC)数据集(Armato III等人,2011)上预训练的U-Net模型进行肺区域提取,以获得输入图像。然后,我们构建了一个图像重建网络,将输入图像映射到高维空间,并在潜在向量的每个位置表示特征。具体来说,我们使用矢量量化变分自动编码器(VQVAE)来提取输入图像的局部特征,并将其存储在码本中。 对于异常特征合成,我们提出了一种基于无监督特征统计的新型合成方法。该方法利用特征统计来选择显著特征位置,并通过聚类算法随机替换码本中的特征,实现局部异常特征合成。这可以提高网络对小区域病变的精确定位能力。在特征定位阶段,我们使用基于Transformer的分类网络对异常和正常特征进行分类。为了减少分类网络对码本中合成特征的过拟合,我们提出了一种新的残差感知特征分类损失,鼓励网络忽略合成噪声样本的干扰,提高对异常特征的敏感性。最后,我们对特征分类结果进行二值化和上采样,以获得异常区域检测图。
Conclusion
结论
In this paper, we propose an unsupervised pulmonary diseaseanomaly detection framework based on CT images. Anomaly detectionbased on CT images suffers from the following challenges: on the onehand, the distribution of CT scans in a volume varies greatly dueto the different sizes and locations of lung regions in a volume; onthe other hand, the structural characteristics of tissues within normallungs are similar to those of abnormal lung lesion, which may renderexisting anomaly detection methods struggling to accurately localizesmall regions. To alleviate these challenges, we propose a locallysalient location-aware anomaly mask generation and reconstructionframework for anomaly detection and lesion localization. The proposedmethod is a combination of reconstruction-based and synthesis-basedmethods with multi improvements. Firstly, we construct a VQVAEbased reconstruction framework that maps the CT image space to ahigh-dimensional feature space to obtain a feature dictionary codebook.A new anomaly feature synthesis strategy is proposed to identify salientlocation features and complete feature interaction in the codebookto synthesize features that match the realistic anomaly distribution.Finally, we propose a transformer-based feature classification networkto generate anomaly feature masks. In this network, a residual neighbourhood aggregation feature classification loss is proposed to mitigatethe overfitting of the network by penalizing the classification loss ofrecoverable corrupted features. The proposed method is validated onone local dataset and one public dataset (MIDRC).Unfortunately, there are some limitations of the proposed framework. Firstly, the proposed framework utilizes a 2D network to achievelung disease abnormality detection from 2D CT scan images, and hasnot yet performed abnormality characterization from the 3D level.Moreover, existing anomaly detection methods and the proposedmethod fail to accurately detect lung diseases with non-high densitylesions. The lesions of these rare diseases are hidden in the tissuestructure and require precise structural quantification to be captured. Infuture work, we will extend the proposed method to similar pathological diseases to assist clinicians in screening and pathological analysisof large-scale community-based diseases. We will consider integrating3D reconstruction post-processing or 3D convolutional networks intothe existing framework to enhance the detection of 3D lesions, thussupporting clinical diagnosis and analysis more comprehensively. Inaddition, we will add the overall structural distribution modelling tothe anomaly detection framework for non-high density lesion diseasedetection, thus expanding the scope of clinical applications.
在本文中,我们提出了一种基于CT图像的无监督肺部疾病异常检测框架。基于CT图像的异常检测面临以下挑战:一方面,由于肺部区域在体数据中的大小和位置不同,CT扫描的分布差异较大;另一方面,正常肺部组织的结构特征与异常肺部病变的结构特征相似,这可能导致现有异常检测方法难以准确定位小区域病变。为了应对这些挑战,我们提出了一种局部显著位置感知的异常掩码生成和重建框架,用于异常检测和病变定位。该方法结合了基于重建和合成的方法,并进行了多项改进。首先,我们构建了一个基于矢量量化变分自动编码器(VQVAE)的重建框架,将CT图像空间映射到高维特征空间,以获得特征字典码本。提出了一种新的异常特征合成策略,用于识别显著位置特征并在码本中完成特征交互,以合成符合真实异常分布的特征。最后,我们提出了一种基于Transformer的特征分类网络来生成异常特征掩码。在该网络中,提出了一种残差邻域聚合特征分类损失,通过惩罚可恢复损坏特征的分类损失来缓解网络的过拟合。我们在一个内部数据集和一个公共数据集(MIDRC)上对所提出的方法进行了验证。 遗憾的是,所提出的框架存在一些局限性。首先,该框架利用二维网络从二维CT扫描图像中实现肺部疾病异常检测,尚未从三维层面进行异常表征。此外,现有异常检测方法和所提出的方法均无法准确检测非高密度病变的肺部疾病。这些罕见疾病的病变隐藏在组织结构中,需要精确的结构量化才能捕捉到。在未来的工作中,我们将把所提出的方法扩展到类似的病理疾病,以协助临床医生进行大规模社区疾病的筛查和病理分析。我们将考虑将三维重建后处理或三维卷积网络集成到现有框架中,以增强对三维病变的检测,从而更全面地支持临床诊断和分析。此外,我们将在异常检测框架中添加整体结构分布建模,以用于非高密度病变疾病的检测,从而扩大临床应用范围。
Figure
图
Fig. 1. Illustration of different types of pneumonia. (a) A sample of normal CT images;(b) a sample of COVID-19 with ground-glass opacity lesions (red outlined regions); (c)a sample of bacterial pneumonia with consolidation lesions (green outlined regions);(d) a sample of fungal pneumonia with nodular lesion (blue outlined region)
图1. 不同类型肺炎的示意图 (a) 正常CT图像示例; (b) 新型冠状病毒肺炎(COVID-19)示例,伴磨玻璃密度影病变(红色轮廓区域); (c) 细菌性肺炎示例,伴实变病变(绿色轮廓区域); (d) 真菌性肺炎示例,伴结节性病变(蓝色轮廓区域)
Fig. 2. Overview of the proposed framework for anomaly detection in CT slices.
图2. CT切片异常检测框架示意图
Fig. 3. Architecture of the feature classification network
图3. 特征分类网络架构图
Fig. 4. Testing process of the anomaly detection in CT images
图4. CT图像异常检测的测试流程
Fig. 5. Lesion localization results of different methods over six randomly selected images. The first two rows represent localization results of samples with lung cancer, the thirdand fourth rows represent localization results of samples with fungal pneumonia, and the fifth and sixth rows represent localization results of samples with mycoplasma. The lasttwo rows represent localization results for COVID-19 from MIDRC.
图5. 不同方法在六张随机选择图像上的病变定位结果。前两行显示肺癌样本的定位结果,第三和第四行显示真菌性肺炎样本的定位结果,第五和第六行显示支原体肺炎样本的定位结果,最后两行显示来自MIDRC的COVID-19样本的定位结果。
Fig. 6. Lesion localization ablation results of different modules in our method. Thefirst row represents localization results of samples with lung cancer, the second rowrepresent localization results of samples with fungal pneumonia, and the third rowrepresents localization results of samples with mycoplasma. The last row representsthe localization results of sample with COVID-19 from MIDRC.
图6. 我们方法中不同模块的病变定位消融结果。第一行显示肺癌样本的定位结果,第二行显示真菌性肺炎样本的定位结果,第三行显示支原体肺炎样本的定位结果,最后一行显示来自MIDRC的COVID-19样本的定位结果。
Table
表
Table 1Image-level performance of the anomaly detection by different methods on the local dataset
表1 不同方法在内部数据集上的图像级异常检测性能
Table 2Pixel-level performance of the anomaly detection by different methods on the local dataset
表2 不同方法在内部数据集上的像素级异常检测性能
Table 3Subgroup analysis in terms of WSI materials on multiple tasks of molecular markersand histology prediction, as well as glioma classification
表3 基于全玻片图像(WSI)样本类型的分子标记与组织学预测及胶质瘤分类多任务亚组分析
Table 4Ablation studies of the proposed method for image-level anomaly detection on the local dataset.
表4 所提方法在内部数据集上的图像级异常检测消融研究
Table 5Ablation studies of the proposed method for pixel-level anomaly detection on the local dataset.
表5 所提方法在内部数据集上的像素级异常检测消融研究
Table 6Ablation studies of the proposed method for image-level and pixel-level anomaly detection on the MIDRC dataset
表6 所提方法在MIDRC数据集上的图像级和像素级异常检测消融研究
Table 7Performance of anomaly detection on the MIDRC dataset with different image sizes.
表7 不同图像尺寸在MIDRC数据集上的异常检测性能
相关文章:
基于局部显著位置感知的异常掩码合成方法在CT图像肺部疾病异常检测与病变定位中的应用|文献速递-深度学习医疗AI最新文献
Title 题目 Local salient location-aware anomaly mask synthesis for pulmonary disease anomaly detection and lesion localization in CT images 基于局部显著位置感知的异常掩码合成方法在CT图像肺部疾病异常检测与病变定位中的应用 01 文献速递介绍 肺部疾病是全球发…...
【cursor疑惑】cursor续杯后使用agent对话时,提示“需要pro或商业订阅的用户才能使用“
背景 cursor的pro会员体验过期了,想再次体验deepseek、Claude等agent对话提示:“免费版本不可以使用agent对话功能(英文忘记截图了,大意是这样)”。 处理方法 Step-1:再次续杯cursor的pro会员14天体验 详情,见:【c…...
2022年下半年信息系统项目管理师——综合知识真题及答案(3)
2022年下半年信息系统项目管理师 ——综合知识真题及答案(3) 零、时光宝盒 (https://blog.csdn.net/weixin_69553582 逆境清醒) 此文是我2025-05-19回复头条上某作者文章时的评论记录,原作者的文章是写那些被有组织…...
华为云Flexus+DeepSeek征文|基于华为云Flexus云服务的云服务器单机部署Dify-LLM应用开发平台
目录 一、前言 二、华为云Flexus云服务优势 三、华为云Flexus一键部署Dify 3.1 选择模板 3.2 参数配置 3.3 资源栈设置 3.4 配置确认 3.5 创建执行计划 3.6 部署 四、Dify-LLM应用开发平台初体验 4.1 访问Dify-LLM应用开发平台 4.2 设置管理员账户 4.3 登录Dify-LLM应用开发平台…...
NC105NC106美光固态颗粒NC108NC109
NC105NC106美光固态颗粒NC108NC109 美光固态颗粒技术矩阵深度解析:NC105/NC106/NC108/NC109的性能博弈与市场卡位 一、技术基因图谱:解密NC系列颗粒的底层架构 1. TLC与QLC的技术路线分野 美光NC系列颗粒呈现出清晰的技术分层:NC105/NC10…...
洛谷U536262 井底之“鸡” 附视频讲解
题目截图 题目背景 2024年山东财经大学新生赛的时候,xz_chicken厌倦了在鸡舍的生活,于是决定把他的主人ZQH写成QH鸡,然而除了在第一题中已经出现了ZQH所在队伍征途再起的合影,同时xz_chicken还露出其他马脚,比如说答案…...
特征筛选方法总结(面试准备15)
非模型方法 一.FILTER过滤法: 1.缺失值比例(80%以上缺失则删除)/方差 注意: 连续变量只删方差为0的,因为变量取值范围会影响方差大小。 离散类的看各类取值占比,如果是三分类变量可以视作连续变量。 函数:V…...
深入解析分布式数据库TiDB:原理、优化与架构实践
前言 在云计算与大数据时代,传统单机数据库面临三大挑战:海量数据存储、高并发访问和实时分析需求。MySQL 分库分表方案复杂、NoSQL 缺乏 ACID 支持、MPP 数仓难以处理 OLTP… 在这样的背景下,TiDB 应运而生。作为一款开源的分布式 NewSQL 数…...
YouTube视频字幕转成文章算重复内容吗?
很多创作者误以为「自己说的话不算抄袭」,却不知道YouTube自动生成的字幕早已被搜索引擎存档。 去年就有案例:某美食博主将教程视频字幕转为图文,结果原创度检测仅42%,导致页面权重暴跌。 本文揭秘5个实操技巧:从删除…...
codeup添加流水线docker自动化部署
在项目根目录下增加Dockerfile文件 # 使用基础镜像 FROM maven:3.8.4-openjdk-17-slim AS build # 设置工作目录 WORKDIR /app # 复制项目源代码 COPY . . # 构建项目 RUN mvn clean package -DskipTests # 验证JAR包是否生成 RUN ls -l target/your-project.jar # 使用合适的…...
面试点补充
目录 1. 搭建lnmp Linux 系统基础命令 nginx相关命令 MySQL 相关命令 PHP 相关命令 验证命令 下载并部署 Discuz! X3.4 论坛 到 Nginx 网站 2. 脑裂 2.1 脑裂的定义 2.2 脑裂产生的原因 1. 主备节点之间的心跳线中断 2. 优先级冲突 3. 系统或服务负载过高 2.3 如何…...
深入解析 Oracle session_cached_cursors 参数及性能对比实验
在 Oracle 数据库管理中,session_cached_cursors参数扮演着至关重要的角色,它直接影响着数据库的性能和资源利用效率。本文将深入剖析该参数的原理、作用,并通过性能对比实验,直观展示不同参数设置下数据库的性能表现。 一、sessi…...
MyBatis:动态SQL
文章目录 动态SQLif标签trim标签where标签set标签foreach标签include标签和sql标签 Mybatis动态SQL的官方文档: https://mybatis.net.cn/dynamic-sql.html 动态SQL 动态SQL是 MyBatis的强大特性之一,如果是使用JDBC根据不同条件拼接sql很麻烦,例如拼接…...
数据库性能调优:索引设计、缓存配置与查询计划优化
在高并发、大数据量场景下,数据库性能直接影响系统稳定性与用户体验。 本文将从索引设计、缓存配置、查询计划优化三大核心维度出发,结合实战案例与代码示例,系统解析数据库性能调优的关键策略,并深入讲解 EXPLAIN ANALYZE 与 索引覆盖策略 的应用技巧。 一、索引设计:从…...
安全强化的Linux
SElinux简介 SELinux是security-Enhanced Linux的缩写,意思是安全强化的linux SELinux主要由美国国家安全局(NSA)开发,当初开发的目的是为了避免资源的误用。传统的访问控制在我们开启权限后,系统进程可以直接访问 当我们对权限设置不严谨时,这种访问方式就是系统的安全漏洞 在…...
计算机网络(2)——应用层(上)
1.应用层概述 应用层(Application Layer)属于计算机网络体系结构中的最顶层,直接面向用户,提供各种网络服务和应用程序的接口 本文主要的学习内容如下: (1)网络应用进程通信方式 客户端-服务器方式点对点方式混合方式 (2)网络应用的需求与传输…...
day017-磁盘管理-实战
文章目录 1. 硬盘命名规则2. 添加硬盘2.1 查看硬盘名称 3. 硬盘分区3.1 分区命名规则:mbr分区表格式3.2 创建分区:fdisk3.2.1 fdisk -l:查看硬盘及分区信息3.2.2 fdisk /dev/sdc :为该硬盘分区3.2.3 创建扩展分区和逻辑分区3.2.4 保存设置并退…...
Win10 安装单机版ES(elasticsearch),整合IK分词器和安装Kibana
一. 先查看本机windows是否安装了ES(elasticsearch),检查方法如下: 检查进程 按 Ctrl Shift Esc 组合键打开 “任务管理器”。在 “进程” 选项卡中,查看是否有 elasticsearch 相关进程。如果有,说明系统安装了 ES。 检查端口…...
STM32 控制 OLED 全攻略(二):实现字符和汉字的显示
目录 一 前言 二 OLED介绍 (一)SSD1306 (二)OLED屏幕 三 显示原理结合代码解释 1 指令---0x00 2 数据---0x40 3 初始化oled函数 4 codetab.h 四 显示字符串的原理 🧾 ASCII 编码范围: ✅ OLED_S…...
c#将json字符串转换为对象数组
在C#中,将JSON字符串转换为对象数组是一个常见的需求,特别是在处理来自Web API的响应或需要反序列化本地文件内容时。这可以通过使用Newtonsoft.Json(也称为Json.NET)库或.NET Core内置的System.Text.Json来完成。以下是如何使用这…...
Cryosparc里头restack的妙用
在Cryosparc里头经常需要迁移job或者将particle打包成relion可以识别的模式,总是会遇到一个问题,我们需要的颗粒明明很少,但总是保存出一大堆东西来。原因就是,他会把最开初的particle都给你算进来,而不是某个作业对应…...
.bat文档如何运行Python程序
.bat文档如何运行Python程序 在Windows操作系统中,你可以通过几种方式来运行Python程序,即使是通过.bat批处理文件。.bat文件是一种批处理脚本,它允许你执行一系列命令。以下是一些步骤和示例,说明如何从.bat文件运行Python程序。…...
力扣HOT100之二叉树:230. 二叉搜索树中第 K 小的元素
这道题直接用最笨的办法来做的,用递归来做,我们定义一个全局变量vector<int> element,然后使用中序遍历,每当碰到一个非空节点就将其加入到向量中,这样依赖当向量中的元素小于k时,就返回0,…...
【Nextcloud】使用 LNMP 架构搭建私有云存储:Nextcloud 实战指南
目录 一、环境准备与基础配置 1. 系统环境要求 2. 初始化系统配置 二、搭建 LNMP 基础架构 1. 一键安装 LNMP 组件 2. 启动数据库服务 三、部署 Nextcloud 存储服务 1. 上传并解压安装包 2. 设置目录权限(测试环境配置) 3. 配置 MariaDB 数据库…...
已知6、7、8月月平均气温和标准差,求夏季季平均温度与标准差
由下面定理,得出平方和的公式:(即每天的温度平方和) 这样就可以推出季平均的算法: 举例:在Excel用公式算,不要手算: 因此季平均:(B2*C2B3*C3B4*C4)/SUM(B2:B4) 季标准差…...
【cursor指南】cursor免费续杯pro会员试用
背景 心血来潮(其实是被逼的),开始需要cursor里面的agent对话。cursor用着用着就会出现点数耗尽、试用到期等问题,于是自行开始找免费的cursor会员续用方法。 Part01:参考链接鸣谢 1. Cursor 全攻略:注册、使用到无限续杯&…...
Visual Studio解决方案构建三剑客:生成/重新生成/清理完全指南(实战经验总结)
文章目录 当你在VS里右键解决方案时...一、先看实战场景(老板发飙警告)二、三大命令解剖课(重点标记版)2.1 生成解决方案(F7)2.2 重新生成解决方案(CtrlAltF7)2.3 清理解决方案&…...
《JVM如何判断一个对象可以被回收?图文详解GC Root算法》
大家好呀!我是你们的老朋友Java技术博主👋 今天咱们来聊聊Java虚拟机(JVM)中一个超级重要的话题——垃圾回收机制(Garbage Collection)和GC Root可达性分析!这可是Java程序员必须掌握的核心知识点哦!😎 🌟…...
常用算法/机理模型演示平台搭建(一)
算法/机理模型演示平台搭建 一、算法列表(app/algorithms)二、行业机理模型 (app/models)三、如何使用本项目旨在为初学者提供 35种 常用算法和 9种 行业机理模型的简单Python实现或概念说明。每个算法都有其独特的应用场景,从数据预测、质量检测、过程控制到结构分析和优化问…...
一文详解红黑树
一文详解红黑树 前言一、基本概念与特性1.1 红黑树的定义1.2 红黑树的特性 二、红黑树的节点结构与表示三、红黑树的基本操作3.1 插入操作3.2 删除操作 四、红黑树的应用场景4.1 编程语言的集合类4.2 数据库索引4.3 Linux 内核进程调度 总结 前言 在数据结构的领域中ÿ…...
Windows 安装显卡驱动
1.第一步:打开Nvidia 官网驱动下载页面 2.第二步:选择相关信息, 玩游戏选择,GeForce Game Ready ,创意设计、摄影直播 选择 NVIDIA Studio 驱动程序 (NVIDIA Studio Driver - WHQL.) 2.第三步࿱…...
【C语言】易错题 经典题型
出错原因:之前运行起来的可执行程序没有关闭 关闭即可 平均数(average) 输入3个整数,输出它们的平均值,保留3位小数。 #include <stdio.h> int main() {int a, b, c;scanf("%d %d %d", &a, &…...
C++类与对象--5 运算符重载
对已有的运算符进行重新定义,赋予不同的功能,以适应不同的数据类型 5.1 加号运算符 实现两个自定义数据类型的加运算 (1)通过成员函数实现“”重载 class Number { public:Number(int a, int b):m_A(a),m_B(b){}Number(){}Number operator(Number &a…...
接口排查不能靠猜:实战中如何用抓包工具精准定位问题(含 Charles 使用示例)
几乎每个写代码的开发者都经历过这样的时刻:接口突然返回空、请求超时、前端数据没更新……你试过重启服务、翻查日志、改代码打印,最后还是无解。 我想说,其实很多问题的答案都藏在“网络请求”里,只是你没有去看。 这篇文章&a…...
【占融数科-注册/登录安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...
4.7 时间模块
时间模块: * 1. time:操作时间本身 2.datetime:主要用于设置某一时间 3.calendar:主要用于时间份量计算 import time # 1. actimr:把一个表示时间的元组转换为字符串。要是不给出参数则返回当前本地时间。 print(time.asctime())…...
SHIMADZU岛津 R300RC300 Operation Manual
SHIMADZU岛津 R300RC300 Operation Manual...
(C语言篇)处理字符串的四个基础函数
strlen、strcpy、strcat、strcmp使用以及注意事项 在C语言中,strlen、strcpy、strcat、strcmp是处理字符串的四个基础函数,都在<string.h>头文件中声明。下面为你详细介绍它们的功能、用法和注意事项。 1. strlen - 计算字符串长度 函数原型&am…...
mysql的安装方式
1.yum/apt安装 yum安装: 先搭建yum仓库,可以在清华源内找:mysql | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror vim /etc/yum.repos.d/mysql.repo[mysql-connectors-community] nameMySQL Connectors Communit…...
嵌入式(C语言篇)Day11
嵌入式Day11 一、动态内存分配核心函数 (一)函数列表 函数名功能头文件返回值malloc分配连续的size字节堆内存stdlib.h成功返回首地址(void*),失败返回NULLcalloc分配num个元素size字节/元素的堆内存,自…...
Java集合框架解析:从基础到底层源码
Java集合框架解析:从基础到底层源码 一、集合体系 1.1 两大核心接口深度解析 Collection 单列集合 List 系列 ArrayList:动态数组实现,初始容量10,扩容策略为 原容量的1.5倍// JDK17 扩容源码片段 int newCapacity oldCapacity…...
C语言实现android/linux按键模拟
C语言实现 input事件模拟 #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <linux/input.h>int main() {int fd open("/dev/input/event0", O_RDWR);if (fd < 0) {perror("Failed to open device");ret…...
VisionPro:轴承错位标识
找出轴承缺陷并标记:效果 1.打开导入图片 2.添加CogToolblock:方便后续写代码 3.对零件进行模板匹配 4.对图片进行预处理(重点) 5.添加找圆工具和展开工具 根据下图将线链接 6.添加模板匹配工具并运行 7.训练模板 好的全找出来 8.代码编写 红色框为添加的代码(下面有完整代码) …...
专题五:floodfill算法(扫雷游戏精讲)
以leetcode529题 题目解析: M表示:未挖出的地雷 E表示:未挖出的空白方块 什么叫未挖出,就是你没玩的时候,棋盘是什么样的,就是你站在上帝视角看待棋盘 B:表示挖出来是空白的,如…...
MySQL企业版免费开启,强先体验
近期Oracle突然宣布,MySQL企业版面向开发者免费开放下载,这一消息瞬间引爆DBA圈。作为数据库领域的“顶配车型”,企业版长期因高昂授权费让中小团队望而却步,如今免费开放无异于“劳斯莱斯开进菜市场”。 本文将深度拆解企业版的…...
React Contxt详解
React Contxt详解 React 的 Context API 是用于跨组件层级传递数据的解决方案,尤其适合解决「prop drilling」(多层组件手动传递 props)的问题。以下是关于 Context 的详细解析: 文章目录 React Contxt详解一、Context 核心概念二…...
前端工程的相关管理 git、branch、build
环境配置 标准环境打包 测试版:npm run build-test 预生产:npm run build-preview 正式版:npm run build 建议本地建里一个 .env.development.local 方便和后端联调时修改配置相关信息。 和 src 同级有一下区分环境的文件: .env.d…...
鸿蒙 Location Kit(位置服务)
移动终端设备已经深入人们日常生活的方方面面,如查看所在城市的天气、新闻轶事、出行打车、旅行导航、运动记录。这些习以为常的活动,都离不开定位用户终端设备的位置。 Location Kit 使用多种定位技术提供服务,可以准确地确定设备在室外/室…...
人工智能、机器学习与深度学习:概念解析与内在联系
人工智能、机器学习与深度学习:概念解析与内在联系 一、人工智能(Artificial Intelligence, AI) (一)人工智能的定义 人工智能的定义随着技术发展不断演变。从广义上讲,人工智能是指通过计算机技术实现的…...
【Linux学习】Ubuntu对用户进行管理
目录 写在前面 【Linux学习】Ubuntu对用户进行管理一、为什么需要用户管理?二、用户管理基础操作(一)用户管理1. 用户管理命令表格2. 关键操作场景说明场景一:创建用户并配置权限场景二:修改用户属性场景三:…...