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

基于深度学习的微出血自动检测及解剖尺度定位|文献速递-视觉大模型医疗图像应用

Title

题目

Toward automated detection of microbleeds with anatomical scale  localization using deep learning

基于深度学习的微出血自动检测及解剖尺度定位

01

文献速递介绍

基于深度学习的脑微出血(CMBs)检测与解剖定位

脑微出血(Cerebral Microbleeds, CMBs)是由血管壁损伤引起的小血液产物的慢性沉积,通常位于动脉和毛细血管附近(Roob et al., 1999; Tajudin et al., 2016)。CMBs常见于老年人及脑血管疾病患者(Werring et al., 2005),尤其是在阿尔茨海默病(AD)、痴呆、缺血性及出血性卒中患者中更为普遍。近年来,研究表明CMBs与认知衰退、脑出血、脑梗死以及短暂性脑缺血发作复发相关(Akoudad et al., 2016; Park et al., 2017)。此外,CMBs被认为是高血压或脑淀粉样血管病(CAA)引起的小血管病理损伤的有价值生物标志物(Gregoire et al., 2009; Vernooij et al., 2008)。

CMBs的病理学意义不仅取决于其存在,还与其解剖学定位(如脑叶区、深部区域、小脑幕下区域)密切相关。例如,脑叶区的CMBs与CAA相关,并与阿尔茨海默病相关(Martinez-Ramirez et al., 2015);深部区域的CMBs与腔隙性脑梗、高血压和舒张压波动相关;小脑幕下区域的CMBs则与收缩压波动和无先兆偏头痛相关(Arkink et al., 2015; Gao et al., 2018; Liu et al., 2012; Renard, 2018)。在认知衰退方面,脑叶区CMBs影响一般认知功能、执行功能、记忆力和处理速度,而深部及小脑幕下CMBs则与心理运动速度和注意力相关(Akoudad et al., 2016)。磁共振成像(Magnetic Resonance Imaging, MRI)是检测CMBs最广泛使用的方式。通过从梯度回波(Gradient-Recalled Echo, GRE)MRI脉冲序列生成的磁敏感加权图像(Susceptibility-Weighted Images, SWI),可以检测直径小至200微米的微小血管出血(Tanaka et al., 1999)。然而,CMBs的检测面临一些挑战。这些圆形或椭圆形病灶尺寸在2至10毫米之间,与整个脑组织相比非常稀疏且微小(Greenberg et al., 2009; Wardlaw et al., 2013)。另一个挑战是SWI图像中存在众多与CMBs具有相似低信号特征的伪影(如钙化和软脑膜血管)。研究表明,钙化可以通过相位图像与CMBs区分开来,因为其在相位图像中的信号强度相反(Yamada et al., 1996)。然而,软脑膜血管在SWI和相位图像中表现为相同的信号强度,因此需要通过多方向(如冠状面和矢状面)的连续切片检查加以区分(Greenberg et al., 2009)。基于这些原因,CMBs的手动检测和解剖学定位过程费时费力且主观性强,而自动检测工具可以作为辅助手段,提升检测效率。已有文献中,深度学习卷积神经网络(CNN)用于CMBs检测主要分为单阶段检测器和双阶段检测器两类。单阶段检测器通过单一深度学习模型直接检测CMBs,其分类模型的性能优于检测模型。然而,由于分类模型只能对输入图像中心目标进行分类,需要多次推断并逐步移动裁剪区域中心,这导致计算成本高且执行时间长。双阶段检测器由两个顺序模型组成:检测模型和分类模型。第一阶段用于筛选潜在候选区域,而第二阶段负责区分真实CMBs与伪影(即减少假阳性)。与单阶段检测器相比,双阶段检测器计算成本较低,因为仅需对第一阶段检测出的候选区域进行分类。此外,在假阳性率方面,双阶段检测器优于单阶段检测器。然而,双阶段检测器无法以端到端方式训练,导致第二阶段的性能受限于第一阶段,尤其是在处理漏检病例时存在不足。本文提出了一种单阶段3D深度学习检测模型,用于自动检测CMBs。我们采用SWI和相位图像作为3D输入,以高效捕获三维信息。本文的主要贡献如下:通过结合3D U-Net和Faster R-CNN的区域提议网络(Region Proposal Network, RPN),构建了一个端到端的3D CMBs检测器(Çiçek et al., 2016; Ren et al., 2015)。在模型中引入了特征融合模块(Feature Fusion Module, FFM),以高效学习上下文信息(Cao et al., 2019, 2018)。

提出了一个无需分类模型的单阶段检测器,通过难样本原型学习(Hard Sample Prototype Learning, HSPL)和卷积原型学习(Convolutional Prototype Learning, CPL)添加了新的损失项“集中损失”,性能优于双阶段检测器(Yang et al., 2018)。此外,我们将最初在MICCAI2022中提出的单阶段检测器扩展为一个框架,不仅能够检测CMBs,还能通过分割脑结构实现解剖学定位(Kim et al., 2022)。本文的新贡献包括:首次开发了解剖学定位任务,可识别CMBs所在的解剖区域(如脑叶、深部和小脑幕下区域),并进一步减少检测中的假阳性。在我们的数据集上,将检测器性能与当前最先进方法进行了比较。本文其余内容结构如下:第二节提供详细的文献综述。第三节详细介绍了所提出的深度学习框架,包括单阶段检测器和解剖学定位工具。第四节展示并讨论了框架的实验结果。最后,第五节总结了本文的结论。

Aastract

摘要

Cerebral Microbleeds (CMBs) are chronic deposits of small blood products in the brain tissues, which have explicit relation to various cerebrovascular diseases depending on their anatomical location, including cognitive decline, intracerebral hemorrhage, and cerebral infarction. However, manual detection of CMBs is a time consuming and error-prone process because of their sparse and tiny structural properties. The detection of CMBs is commonly affected by the presence of many CMB mimics that cause a high false-positive rate (FPR), such as calcifications and pial vessels. This paper proposes a novel 3D deep learning framework that not only detects CMBs but also identifies their anatomical location in the brain (i.e., lobar, deep, and infratentorial regions). For the CMBs detection task, we propose a single end-to-end model by leveraging the 3D U-Net as a backbone with Region Proposal Network (RPN). To significantly reduce the false positives within the same single model, we develop a new scheme, containing Feature Fusion Module (FFM) that detects small candidates utilizing contextual information and Hard Sample Prototype Learning (HSPL) that mines CMB mimics and generates additional loss term called concentration loss using Convolutional Prototype Learning (CPL). For the anatomical localization task, we exploit the 3D U-Net segmentation network to segment anatomical structures of the brain. This task not only identifies to which region the CMBs belong but also eliminates some false positives from the detection task by leveraging anatomical information. We utilize Susceptibility-Weighted Imaging (SWI) and phase images as 3D input to efficiently capture 3D information. The results show that the proposed RPN that utilizes the FFM and HSPL outperforms the baseline RPN and achieves a sensitivity of 94.66 % vs. 93.33 % and an average number of false positives per subject (FPavg) of 0.86 vs. 14.73. Furthermore, the anatomical localization task enhances the detection performance by reducing the FPavg to 0.56 while maintaining the sensitivity of 94.66 %.

脑微出血(CMBs)的深度学习自动检测与解剖定位

脑微出血(Cerebral Microbleeds, CMBs)是脑组织中小型血液产物的慢性沉积,与多种脑血管疾病密切相关,其解剖学定位不同可引发认知衰退、脑出血和脑梗死等问题。然而,由于CMBs的稀疏性和微小结构特性,手动检测过程既耗时又容易出错。CMBs的检测通常受到许多伪影(如钙化和软脑膜血管)的影响,这些伪影会导致较高的假阳性率(FPR)。本文提出了一种新颖的3D深度学习框架,该框架不仅能够检测CMBs,还可以识别其在大脑中的解剖学位置(即大脑皮层、深部区域和小脑幕下区域)。在CMBs检测任务中,我们提出了基于3D U-Net的单一端到端模型,并结合区域提议网络(Region Proposal Network, RPN)作为主干网络。为了在单一模型中显著减少假阳性率,我们开发了一种新方法,包括利用上下文信息检测小型候选区域的特征融合模块(Feature Fusion Module, FFM)以及通过卷积原型学习(Convolutional Prototype Learning, CPL)挖掘CMB伪影并生成额外损失项“集中损失”(Concentration Loss)的难样本原型学习(Hard Sample Prototype Learning, HSPL)。在解剖定位任务中,我们使用3D U-Net分割网络对大脑的解剖结构进行分割。该任务不仅能够识别CMBs所属的脑区,还能利用解剖学信息消除部分检测任务中的假阳性。我们将磁敏感加权成像(Susceptibility-Weighted Imaging, SWI)和相位图像作为3D输入,以有效捕捉三维信息。

实验结果表明,利用FFM和HSPL的RPN优于基线RPN,灵敏度为94.66%,假阳性平均数量(FPavg)从14.73降至0.86。此外,解剖定位任务进一步提高了检测性能,将FPavg降至0.56,同时保持94.66%的灵敏度。

Method

方法

3.1. Datasets

We retrospectively collected brain MR images of patients with CMBs from Gachon University Gil Medical Center (GMC). A total of 114 subjects including 365 CMBs were acquired. The mean number of CMBs per subject was 3.2, with a standard deviation of 4.53. Twenty-three subjects, including 75 CMBs, were randomly selected for testing, while the remaining 91 subjects, including 290 CMBs, composed the training dataset. The size range of CMBs is predominantly under 5 mm, with a maximum size limit reaching 10 mm. The subjects comprised 59 patients with cognitively normal, seven patients with mild cognitive impairment, and 48 patients with dementia (e.g., Alzheimer’s dementia, frontotemporal dementia, and traumatic brain injury). All subjects were scanned using 3T Verio and Skyra Siemens MRI scanners with the following imaging parameters: echo time (TE): 20 ms; repetition time (TR): 27 ms; flip angle (FA): 15◦; bandwidth/pixel (BW/pixel): 120 Hz/ pixel; resolution: 0.50 × 0.50 × 2 mm3 ; and matrix size: 512 × 448 × 72.We collected additional data from a total of 94 subjects, including 311 CMBs. The mean number of CMBs per subject was 3.31, with a standard deviation of 2.3. This dataset was utilized for generalization assessment. This testing data were collected from Seoul National University Hospital (SNUH) and were scanned using a 3T Biograph mMR Siemens MRI scanner with the following imaging parameters: TE: 20 ms; TR: 28 ms; FA: 15◦; BW/pixel: 170 Hz/pixel; resolution: 0.5 × 0.5 × 3 mm3 ; and matrix size: 448 × 392 × 52.The data acquisition was conducted in accordance with relevant regulations and guidelines. The study received approval from the Institutional Review Board of both sites.

3.1 数据集

我们从韩国加藤大学吉尔医院(GMC)回顾性收集了包含脑微出血(CMBs)患者的脑部磁共振(MR)图像数据。总计采集了114名受试者的数据,其中包括365个CMBs。每位受试者的平均CMB数量为3.2个,标准差为4.53。随机选择了23名受试者(包含75个CMBs)作为测试集,其余91名受试者(包含290个CMBs)作为训练集。CMBs的尺寸范围主要小于5毫米,最大可达10毫米。受试者包括59名认知正常患者、7名轻度认知障碍患者,以及48名痴呆患者(如阿尔茨海默痴呆、额颞痴呆及外伤性脑损伤)。所有受试者均使用3T Verio和Skyra Siemens MRI扫描仪进行扫描,成像参数如下:回波时间(TE):20毫秒;重复时间(TR):27毫秒;翻转角(FA):15°;每像素带宽(BW/pixel):120 Hz/pixel;分辨率:0.50 × 0.50 × 2 mm³;矩阵大小:512 × 448 × 72。此外,我们从首尔国立大学医院(SNUH)额外收集了94名受试者的数据,包含311个CMBs。每位受试者的平均CMB数量为3.31个,标准差为2.3。此数据集用于模型的泛化评估。测试数据通过3T Biograph mMR Siemens MRI扫描仪采集,成像参数如下:TE:20毫秒;TR:28毫秒;FA:15°;BW/pixel:170 Hz/pixel;分辨率:0.5 × 0.5 × 3 mm³;矩阵大小:448 × 392 × 52。数据采集严格遵循相关法规和指南,并获得了两个研究机构伦理审查委员会的批准。

Conclusion

结论

In this paper, we present a framework that not only detects CMBs in the detection task but also identifies their anatomical location in the newly proposed anatomical localization task. In the case of the detection task, we proposed the Feature Fusion Module (FFM) that reduces false positives by incorporating contextual information into the final feature map, and the Hard Sample Prototype Learning (HSPL) that enables the model to concentrate on CMB mimics (i.e., hard samples). The proposed modules in our single-stage detector outperform the two-stage detectors without using any classification model. Further, the main purpose of the anatomical localization task is to identify the anatomical location of CMBs, contributing to elimination of false positives in regions where CMBs could not exist, decreasing FPavg.

在本文中,我们提出了一个框架,该框架不仅能够在检测任务中检测脑微出血(CMBs),还在新提出的解剖定位任务中识别其解剖学位置。在检测任务中,我们提出了特征融合模块(Feature Fusion Module, FFM),通过将上下文信息融合到最终特征图中以减少假阳性,同时引入了难样本原型学习(Hard Sample Prototype Learning, HSPL),使模型能够专注于CMB伪影(即难样本)。我们单阶段检测器中提出的模块无需使用任何分类模型,其性能优于双阶段检测器。此外,解剖定位任务的主要目的是识别CMBs的解剖学位置,通过排除CMBs无法存在的区域中的假阳性来降低平均假阳性数量(FPavg)。

Results

结果

We qualitatively validated the effect of FFM on CMBs detection in Fig. 6. To visually evaluate the feature maps at each level, the number of channels in the feature map at each level is set to 1. As the baseline RPN and the RPN with FFM were trained separately, a strict comparison of the feature maps between the two models is challenging. Nevertheless, it can be observed that the contrast difference in the final feature map affects the probability map in both models. In the baseline RPN, the feature map of the third level serves as the final feature map. As shown in the probability map of the baseline RPN, regions containing CMB mimic exhibit high probability scores. In the case of the RPN with FFM, the final feature map is generated by summing the feature maps from three distinct levels. As shown in Fig. 6(a) and (b) of the RPN with FFM, regions where the CMB mimics might exist were identified utilizing contextual information. Subsequently, these regions were summed with those incorrectly predicted as the CMB regions in Fig. 6(c) of the RPN with FFM, resulting in the corrected Fig. 6(d). Therefore, the probability scores of the RPN with FFM in the regions of CMB mimic are reducedcompared to the baseline RPN case. As shown in Fig. 7, we plotted dimension-reduced feature vectors of true positives, false positives, false negatives, and true negatives. We randomly extracted feature vectors of true negatives from regions not close to the regions of CMBs and false positives. When comparing baseline RPN and RPN with FFM, it can be observed that the RPN with FFM exhibits a lower feature vector density of false positives compared to the baseline RPN. Quantitatively, for the GMC dataset as shown in Table 1, incorporating FFM resulted in a 40.12 % reduction in FPavg while maintaining sensitivity. For the SNUH dataset, incorporating FFM led to a 0.32 % decrease in sensitivity, but achieved a 31.32 % reduction in FPavg.

我们在图 6 中定性地验证了 FFM 对 CMB 检测的影响。为了直观地评估每个层级的特征图,将每个层级特征图的通道数设置为 1。由于基线 RPN 和带有 FFM 的 RPN 是分别训练的,因此严格比较这两个模型的特征图具有挑战性。然而,可以观察到最终特征图中的对比度差异会影响两个模型的概率图。在基线 RPN 中,第三层级的特征图作为最终特征图。如基线 RPN 的概率图所示,包含 CMB 模拟区域的区域具有较高的概率分数。对于带有 FFM 的 RPN,最终特征图是通过将来自三个不同层级的特征图相加生成的。如图 6(a) 和 (b) 所示,在带有 FFM 的 RPN 中,利用上下文信息识别出可能存在 CMB 模拟的区域。随后,将这些区域与图 6(c) 中带有 FFM 的 RPN 错误预测为 CMB 区域的区域相加,从而得到修正后的图 6(d)。因此,与基准 RPN 情况相比,具有 FFM 的 RPN 在 CMB 模拟区域的概率得分降低。如图 7 所示,我们绘制了真阳性、假阳性、假阴性和真阴性的降维特征向量。我们从远离 CMB 区域的区域和假阳性区域随机抽取了真阴性的特征向量。通过比较基准 RPN 和具有 FFM 的 RPN 可以观察到,具有 FFM 的 RPN 的假阳性特征向量密度低于基准 RPN。定量而言,对于表 1 中的 GMC 数据集,引入 FFM 使 FPavg 减少了 40.12%,同时保持了灵敏度。对于 SNUH 数据集,引入 FFM 使灵敏度降低了 0.32%,但使 FPavg 减少了 31.32%。

Figure

图片

Fig. 1. Comparison between CMB and pial vessel through consecutive slices in the axial, sagittal, and coronal planes. The scan resolution of these MR images is 0.5 ×0.5 × 2 mm3 .

图1. 通过轴状面、矢状面和冠状面的连续切片对比脑微出血(CMB)和软脑膜血管的区别。这些磁共振图像的扫描分辨率为 0.5 × 0.5 × 2 mm³。

图片

Fig. 2. Overview diagram of the proposed deep learning framework.

图2. 提出的深度学习框架概览图。

图片

Fig. 3. The architecture of the detection task. The input consists of SWI and phase images. conv(n): n × n × n convolutional layer, BN: batch normalization, transposed conv(n): n × n × n transposed convolutional layer, maxpool(n): n × n × n max pooling layer. The Lcls, Lreg, and Lcon are losses for classification, bounding box offset, and concentration learning, respectively.

图3. 检测任务的架构。输入包括磁敏感加权图像(SWI)和相位图像。conv(n):n × n × n 卷积层,BN:批归一化(batch normalization),transposed conv(n):n × n × n 反卷积层,maxpool(n):n × n × n 最大池化层。Lcls、Lreg 和 Lcon 分别表示分类、边界框偏移和集中学习的损失。

图片

Fig. 4. Overview diagram of the proposed Hard Sample Prototype Learning (HSPL)

图4. 提出的难样本原型学习(HSPL)概览图。

图片

Fig. 5. The architecture of the anatomical localization task. The input consists of a cropped patch and three tensors which have absolute coordinate information for x, y, and z axes.

图5. 解剖定位任务的架构。输入包括裁剪的图像块以及包含x、y和z轴绝对坐标信息的三个张量。

图片

Fig. 6. The feature maps and their generated probability map of the baseline RPN and RPN with FFM. The lesion in red circle is a CMB mimic. (a), (b), and (c) showthe feature maps from first to third levels. (d) shows the final feature map. The probability map is also shown on the far right. Note that RPN+FFM reduces thedetection probability for this CMB mimic.

图6. 基线RPN与结合特征融合模块(FFM)的RPN的特征图及其生成的概率图。红圈中的病灶为CMB伪影。(a)、(b) 和 (c) 分别显示了第一至第三层的特征图。(d) 显示了最终的特征图。最右侧为概率图。请注意,结合FFM的RPN显著降低了该CMB伪影的检测概率。

图片

Fig. 7. Feature vectors of CMBs and non-CMBs for three models. The dimension of feature vectors is reduced to two dimensions using t-SNE. The blue, red, yellow, and green points indicate feature vectors of true positives, false positives, false negatives, and true negatives, respectively. The top row represents an instance from the GMC dataset, while the bottom row shows an example from the SNUH dataset.

图7. 三种模型中CMBs和非CMBs的特征向量分布。特征向量通过t-SNE降维至二维。蓝色、红色、黄色和绿色点分别表示真阳性、假阳性、假阴性和真阴性的特征向量。顶部展示的是GMC数据集的一个实例,而底部展示的是SNUH数据集的一个实例。

图片

Fig. 8. Examples of the detected candidates using different methods: baseline RPN, RPN with FFM, and RPN with FFM and HSPL. The lesions in green boxes are CMBs and lesions in red boxes are CMB mimics. The values written over the probability maps indicate the probability scores, with thresholds set at 0.3, 0.5, and 0.4 for the baseline RPN, RPN with FFM, and RPN with FFM and HSPL, respectively

图8. 使用不同方法检测到的候选区域示例:基线RPN、结合FFM的RPN,以及结合FFM和HSPL的RPN。绿色框内的病灶为CMBs,红色框内的病灶为CMB伪影。概率图上的数值表示概率分数,基线RPN、结合FFM的RPN以及结合FFM和HSPL的RPN的阈值分别设为0.3、0.5和0.4。

图片

Fig. 9. (a) shows the sensitivity vs. FPavg, while the (b) presents the PR curve for baseline RPN, RPN with FFM, and RPN with FFM and HSPL.

图9. (a) 显示了灵敏度与平均假阳性数(FPavg)的关系,(b) 展示了基线RPN、结合FFM的RPN,以及结合FFM和HSPL的RPN的精确率-召回率(PR)曲线。

图片

Fig. 10. Distribution of false positives per subject for baseline RPN, RPN with FFM, and RPN with FFM and HSPL, presenting performance results on (a) the GMC dataset and (b) the SNUH dataset.

图10. 基线RPN、结合FFM的RPN,以及结合FFM和HSPL的RPN每位受试者的假阳性分布,展示了(a) GMC数据集和(b) SNUH数据集上的性能结果。

图片

Fig. 11. The lesions in boxes are CMB candidates from detection task. The red, green, and blue regions indicate lobar regions, deep regions, and infratentorial regions, respectively. All these detected CMB candidates get eliminated after checking the segmentation results where the candidates exist out of the anatomical regions.

图11. 方框内的病灶为检测任务中的CMB候选区域。红色、绿色和蓝色区域分别表示脑叶区、深部区和小脑幕下区。在检查分割结果后,所有位于解剖区域外的CMB候选区域均被剔除。

Table

图片

Table 1 Comparison between the proposed single-stage approach and the two existing works using GMC and SNUH datasets

表 1  使用 GMC 和 SNUH 数据集的所提出的单阶段方法与现有两种方法的比较

图片

Table 2 Comparison between the proposed single-stage approach against the recent works in the literature on CMBs Detection.

表2 提出的方法与文献中最新研究的CMBs检测结果的比较。

图片

Table 3 Performance on the anatomical localization task across three types of data

表3 解剖定位任务在三类数据上的性能表现。

图片

Table 4 Performance of the overall framework.

表4 整体框架的性能表现。

相关文章:

基于深度学习的微出血自动检测及解剖尺度定位|文献速递-视觉大模型医疗图像应用

Title 题目 Toward automated detection of microbleeds with anatomical scale localization using deep learning 基于深度学习的微出血自动检测及解剖尺度定位 01 文献速递介绍 基于深度学习的脑微出血(CMBs)检测与解剖定位 脑微出血&#xff…...

Couchbase UI: Dashboard

以下是 Couchbase UI Dashboard 页面详细介绍,包括页面布局和功能说明,帮助你更好地理解和使用。 1. 首页(Overview) 功能:提供集群的整体健康状态和性能摘要 集群状态 节点健康状况:绿色(正…...

Python

1 变量 1.1 定义 变量:为快速定义目标,将数据在内存占据的存储空间分配的一个名称。 定义:变量名 数据值 作用:临时存储数据 message "hello" print(message)#输出:hello message "hello Pytho…...

一个软件分发和下载的网站源码,带多套模板

PHP游戏应用市场APP软件下载平台网站源码手机版 可自行打包APP,带下载统计,带多套模板,带图文教程 代码下载:百度网盘...

war包 | Docker部署flowable-ui

文章目录 引言I war包部署flowable-ui下载war包配置Tomcat访问 flowable-uiII Docker启动flowable-ui并修改配置Docker启动flowable-ui修改配置访问Flowable UI界面。III 知识扩展加速源docker run -i -t -d 参数引言 Flowable 支持 BPMN 2.0 行业标准,同时提供了一些 Flowab…...

07_游戏加载窗口

隐藏动态提示窗口 创建空节点 命名为 LoadingWnd 意为加载窗口 并设置全屏 在子级下创建Image作为加载背景 也设置成全屏 将以下资源放进Art文件夹中 设置好精灵模式后拖拽至 Image的Source Image框选 创建文本作为提示内容 增加描边组件OutLine可以美化字体 创建Image作为加载…...

proxyman抓包Java中feign请求以及断点请求响应内容修改或流转到本地

proxyman抓包Java中feign请求以及断点请求响应内容修改或流转到本地 配置流程第一步: 借助arthas配置请求代理第二步: 借助proxyman配置远程映射第三步: 借助SwitchHosts配置hosts域名最后: 借助ssh的LocalForward功能, 打通网络(这步网络不通才需要) 最近在修bug的过程中, 因为…...

PyTorch使用教程(10)-torchinfo.summary网络结构可视化详细说明

1、基本介绍 torchinfo是一个为PyTorch用户量身定做的开源工具,其核心功能之一是summary函数。这个函数旨在简化模型的开发与调试流程,让模型架构一目了然。通过torchinfo的summary函数,用户可以快速获取模型的详细结构和统计信息&#xff0…...

centos9编译安装opensips 二【进阶篇-定制目录+模块】推荐

环境:centos9 last opensips -V version: opensips 3.6.0-dev (x86_64/linux) flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, CC_O0, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS1024, MAX_RE…...

MongoDB 备份与恢复综述

目录 一、基本概述 二、逻辑备份 1、全量备份 2、增量备份 3、恢复 三、物理备份 1、cp/tar/fsync 2、WiredTiger 热备份 3、恢复 四、快照备份 一、基本概述 MongoDB 是一种流行的 NoSQL 数据库,它使用文档存储数据,支持丰富的查询语言和索引…...

Apache Hive3定位表并更改其位置

Apache Hive3表 1、Apache Hive3表概述2、Hive3表存储格式3、Hive3事务表4、Hive3外部表5、定位Hive3表并更改位置6、使用点表示法引用表7、理解CREATE TABLE行为 1、Apache Hive3表概述 Apache Hive3表类型的定义和表类型与ACID属性的关系图使得Hive表变得清晰。表的位置取决于…...

Flutter项目和鸿蒙平台的通信

Flutter项目和鸿蒙平台的通信 前言Flutter和Harmonyos通信MethodChannelBasicMessageChannelEventChannel 前言 大家在使用Flutter开发项目的时候, Flutter提供了Platfrom Channel API来和个个平台进行交互。 Flutter官方目前提供了一下三种方式来和个个平台交互&…...

5. 马科维茨资产组合模型+政策意图AI金融智能体(Qwen-Max)增强方案(理论+Python实战)

目录 0. 承前1. AI金融智能体1.1 What is AI金融智能体1.2 Why is AI金融智能体1.3 How to AI金融智能体 2. 数据要素&计算流程2.1 参数集设置2.2 数据获取&预处理2.3 收益率计算2.4 因子构建与预期收益率计算2.5 协方差矩阵计算2.6 投资组合优化2.7 持仓筛选2.8 AI金融…...

嵌入式知识点总结 ARM体系与架构 专题提升(一)-硬件基础

嵌入式知识点总结 ARM体系与架构 专题提升(一)-硬件基础 目录 1.NAND FLASH 和NOR FLASH异同 ? 2.CPU,MPU,MCU,SOC,SOPC联系与差别? 3.什么是交叉编译? 4.为什么要交叉编译? 5.描述一下嵌入式基于ROM的运行方式和基于RAM的运行方式有什么区别? 1…...

thinkphp8在使用apidoc时, 4层的接口会有问题 解决办法

thinkphp8 4层的接口会有问题, 比如这样的接口 /adminapi/notice/announcements/lists, 应该换成 /adminapi/notice.announcements/lists 这样才行, 有没有人处理过? 实际上在官网的帮助里有描述 自动生成的url不对? | Apidoc // config/apidoc.php //... auto_url…...

【jmeter】下载及使用教程【mac】

1.安装java 打开 Java 官方下载网站https://www.oracle.com/java/technologies/downloads/选择您想要下载的 Java 版本,下载以 .dmg 结尾的安装包,注意 JMeter 需要 Java 8下载后打开安装包点击“安装”按钮即可 2.下载jmeter 打开 Apache JMeter 官方…...

C# ASP.NET MVC项目内使用ApiController

1.在App_Start文件夹新建WebApiConfig.cs文件,建立webApi路由的注册方法。 using System.Web.Http;namespace PrivilegeManager {public class WebApiConfig{public static void Register(HttpConfiguration config){config.MapHttpAttributeRoutes();config.Route…...

Langchain+FastApi+Vue前后端Ai对话(超详细)

一、引入 首先可以先看下作者的文章 FastApi相关文章:创建最简单FastApi的项目Vue相关文章:最简单的aixos二次封装Langchain相关文章:如何使用LangSmith跟踪deepseek模型 二、后端搭建 1 项目文件结构 routers:存放api接口se…...

【电脑无法通过鼠标和键盘唤醒应该怎么办】

【电脑无法通过鼠标和键盘唤醒应该怎么办】 方法一(有时候不起作用):方法二(方法一无效时,使用方法二): 方法一(有时候不起作用): 方法二(方法一无效时,使用方法二):...

OpenCV相机标定与3D重建(65)对图像点进行去畸变处理函数undistortPoints()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 从观测到的点坐标计算理想点坐标。 该函数类似于 undistort 和 initUndistortRectifyMap,但它操作的是稀疏点集而不是光栅图像。此外…...

Logo语言的函数实现

Logo语言的函数实现 引言 Logo语言是一种教育性编程语言,最初由西摩尔派普特(Seymour Papert)在1960年代开发。它以“海龟图形”(Turtle Graphics)而闻名,通过简单的命令控制一只“海龟”在屏幕上绘制图形…...

前沿技术对比:大模型技术为什么发展远快于区块链技术,中英对照解释

文章目录 前言1、技术复杂性与成熟度 / Technical Complexity and Maturity2.、应用场景与行业需求 / Application Scenarios and Industry Demand3、监管与法律问题 / Regulatory and Legal Issues4、去中心化与网络效应 / Decentralization and Network Effects5、能源消耗与…...

Java设计模式 九 桥接模式 (Bridge Pattern)

桥接模式 (Bridge Pattern) 桥接模式是一种结构型设计模式,它的核心思想是将抽象部分与实现部分分离,使它们可以独立变化。这种模式通过组合而不是继承的方式来扩展功能,从而减少类之间的耦合度。 1. 模式结构 桥接模式的结构包括以下角色&…...

stm8s单片机(二)外部中断实验

中断优先级 stm8的中断优先级不是固定不变的,stm8的中断分为硬件优先级与软件优先级;当多个中断发生时,cpu会先响应软件优先级高的中断,若软件优先级相同会先响应硬件优先级高的; 其中软件优先级有四个 /*** brief …...

计算机网络 (53)互联网使用的安全协议

一、SSL/TLS协议 概述: SSL(Secure Sockets Layer)安全套接层和TLS(Transport Layer Security)传输层安全协议是工作在OSI模型应用层的安全协议。SSL由Netscape于1994年开发,广泛应用于基于万维网的各种网络…...

数学基础 --线性代数之理解矩阵乘法

理解矩阵乘法的解析 矩阵乘法(Matrix Multiplication)是线性代数中的核心操作之一。在数学、几何和工程实际中,它不仅是一种代数运算规则,还承载着丰富的几何和映射意义。本文将从多个角度深入解析矩阵乘法,帮助读者理…...

数学规划问题2 .有代码(非线性规划模型,最大最小化模型,多目标规划模型)

非线性规划模型 FIrst:转化为标准型 在matlab中求非线性规划的函数 练习题: 典型例题: 最大最小化模型 核心思想: matlab的模型求解 经典例题: 多目标规划模型 基本概念 求解思路: 模型构建步骤 经典例题: 非线性规划模型 非线性规划(Nonl…...

jax 和 jaxlib 的 cuda 版本安装

笔者花费时间才在 Ubuntu 20.04 适配上 jax 和 jaxlib 的 cuda 版本安装,以及 chex 版本。 版本展示 本人版本展示 jax0.4.27 ,jaxlib0.4.27cuda12.cudnn89,chex0.1.86。 安装过程 cuda 以及环境变量配置过程 首先安装cuda12.4和cudnn8.9&…...

Spring Boot MyBatis Plus 版本兼容问题(记录)

Spring Boot & MyBatis Plus 版本兼容问题(Invalid value type for attribute factoryBeanObjectType: java.lang.String) 问题描述问题排查1. 检查 MapperScan 的路径2. 项目中没有配置 FactoryBean3. 检查 Spring 和 MyBatis Plus 版本兼容性 解决…...

Ubuntu如何安装redis服务?

环境: Ubuntu22.04 WSL2 问题描述: 如何安装redis服务? 解决方案: 1.在 Linux 上(如 Ubuntu/Debian)安装 1.通过包管理工具安装 Redis 服务器: sudo apt update sudo apt install redis…...

FFmpeg 头文件完美翻译之 libavcodec 模块

前言 众所周知,FFmpeg 的代码开发上手难度较高,源于官方提供的文档很少有包含代码教程相关的。要想熟练掌握 FFmpeg 的代码库开发,需要借助它的头文件,FFmpeg 把很多代码库教程都写在头文件里面。因此,熟读头文件的内…...

设计模式的艺术-单一职责原则

1.基础知识 是最简单的面向对象设计原则,它用于控制类的粒度大小。 一个类只负责一个功能领域中的相应职责。 单一职责原则的核心思想是:一个类不能太“累”!在软件系统中,一个类(大到模块,小到方法&…...

MySQL主从配置

一、 主从原理 MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作。 二、主…...

【Unity3D实现雨下在窗户上的效果】

系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、效果展示👉二、原理👉三、使用步骤3-1、shader代码纹理映射数学运算和函数的运用特效算法的实现高效的性能优化👉壁纸分享👉总结👉前言 想要好看的效果肯定是要用shader实现啦,为什么呢? 因为Shade…...

k8s资源预留

k8s资源预留 https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/reserve-compute-resources/ vim /var/lib/kubelet/config.yamlenforceNodeAllocatable: - pods kubeReserved: # 配置 kube 资源预留cpu: 500mmemory: 1Giephemeral-storage: 1Gi systemReserved: #…...

云计算与物联网技术的融合应用(在工业、农业、家居、医疗、环境、城市等整理较全)

摘要 为生产领域带来更加全面和深入的变革。通过云计算平台对物联网数据进行处理和分析,企业可以实现对生产过程的更加精细化的管理和控制。 1. 智能生产调度 通过云计算和物联网技术的融合应用,企业可以实现对生产线上各个环节的实时监控和数据分析。…...

【深度学习】2.视觉问题与得分函数

计算机视觉任务 可以通过神经网络搜索是什么类别的动物。 图像实际就是含有数值的三维矩阵。 像素值从0-255可以表示亮度递增的参数。数字越大,像素点越亮。 最后的3表示三个颜色通道,常见的如JPG、RGB等。 现实场景容易发生各种遮蔽现象。 计算机判断…...

Node.js——express中间件(全局中间件、路由中间件、静态资源中间件)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...

安卓动态设置Unity图形API

命令行方式 Unity图像api设置为自动,安卓动态设置Vulkan、OpenGLES Unity设置 安卓设置 创建自定义活动并将其设置为应用程序入口点。 在自定义活动中,覆盖字符串UnityPlayerActivity。updateunitycommandlineararguments (String cmdLine)方法。 在该方法中,将cmdLine…...

VMware虚拟机迁移到阿里云

VMware虚拟机迁移到阿里云是一个涉及多个步骤的过程,具体如下: 使用阿里云的服务器迁移中心(SMC)进行P2V或V2V迁移。如果是小型应用,可以通过制作镜像文件然后上传至阿里云OSS,并基于该镜像创建ECS实例。对…...

2025年1月22日(什么是扫频)

扫频(Sweep Frequency)是一种信号处理技术,通常用于系统识别、频率响应分析和特性测试。它通过发送一个频率逐渐变化的信号(通常是正弦波或线性调频信号)来激励系统,然后测量系统的响应。这种方法可以帮助我…...

前端开发中的模拟后端与MVVM架构实践[特殊字符][特殊字符][特殊字符]

平时,后端可能不能及时给接口给前端进行数据调用和读取。这时候,前端想到进行模拟后端接口。本文将介绍如何通过vite-plugin-mock插件模拟后端接口,并探讨MVVM架构在前端开发中的应用。此外,我们还将讨论Vue2与Vue3的区别&#xf…...

Win10系统部署RabbitMQ Server

文章目录 版本说明依赖安装添加Erlang环境变量验证Erlang安装 RabbitMQ Server安装解压启动查看RabbitMQ插件安装rabbitmq_management插件再次启动设置RabbitMQ为系统服务 版本说明 ErlangRabbitMQ27.24.0.5 可以在Erlang官网和RabbitMQ官网下载安装包,安装已下载…...

Java web与Java中的Servlet

一。前言 Java语言大多用于开发web系统的后端,也就是我们是的B/S架构。通过浏览器一个URL去访问系统的后端资源和逻辑。 当我在代码里看到这个类HttpServletRequest 时 让我想到了Servlet,Servlet看上去多么像是Java的一个普通类,但是它确实…...

Web开发 -前端部分-CSS3新特性

1 CSS概述 2 CSS3私有前缀 3 CSS3的长度单位 代码实现&#xff1a; <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…...

2025年PHP面试宝典,技术总结。

面试是进入职场的第一道坎&#xff0c;因为我本身学校太一般的问题在面试中遇到了各种不爽&#xff0c;和那些高学历的相比自己真是信心大跌。我面试的方向是php开发工程师&#xff0c;主要做网站后台、APP接口等。下面是我这段时间总结的面试方面的常考常问的知识点&#xff0…...

idea plugin插件开发——入门级教程(IntelliJ IDEA Plugin)

手打不易&#xff0c;如果转摘&#xff0c;请注明出处&#xff01; 注明原文&#xff1a;idea plugin插件开发——入门级教程&#xff08;IntelliJ IDEA Plugin&#xff09;-CSDN博客 目录 前言 官方 官方文档 代码示例 开发前必读 Intellij、Gradle、JDK 版本关系 plu…...

node.js 文件操作

在 Node.js 中&#xff0c;文件操作主要通过内置的 fs&#xff08;File System&#xff09;模块来实现。 1. 读取文件 const fs require("fs");// 异步读取文件fs.readFile("example.txt", "utf8", (err, data) > {if (err) {console.erro…...

模拟算法习题篇

在算法中&#xff0c;模拟是一种通过计算机程序来模拟现实世界中的过程或系统行为的方法。它的核心思想是根据题目给定的规则和逻辑&#xff0c;按照步骤细致地重现事件的发展流程&#xff0c;从而获得最终结果。 解题时如何使用模拟算法&#xff1a; 理解题目规则&#xff1a;…...

opencv对直方图的计算和绘制

【欢迎关注编码小哥&#xff0c;学习更多实用的编程方法和技巧】 1、直方图的计算 cv::calcHist 是 OpenCV 中用于计算图像直方图的函数。它可以处理多通道图像&#xff0c;并通过指定图像、通道、掩膜、直方图大小和范围等参数来生成直方图。 函数原型 void cv::calcHist(…...