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

装饰网站案例h5网站后台管理模板

装饰网站案例,h5网站后台管理模板,网站建设需要资料,潮州做网站✨✨ 欢迎大家来访Srlua的博文#xff08;づ#xffe3;3#xffe3;#xff09;づ╭❤#xff5e;✨✨ #x1f31f;#x1f31f; 欢迎各位亲爱的读者#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢#xff0c;在这里我会分享我的知识和经验。づ3づ╭❤✨✨ 欢迎各位亲爱的读者感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢在这里我会分享我的知识和经验。 希望在这里我们能一起探索IT世界的奥妙提升我们的技能。 记得先点赞后阅读哦~ 所属专栏传知代码论文复现 欢迎访问我的主页Srlua小谢 获取更多信息和资源。✨✨ ​​ ​​ 目录 论文概述 纹理特征和深度卷积特征 算法流程 数据预处理方法 纹理特征提取 深度卷积特征提取 分类网络搭建 代码复现 BLS_Model.py文件——分类器搭建 pyradioextraction.py文件——纹理特征提取 CNNextraction.py 文件——深度卷积特征提取 main.py——顶层文件 实验结果 论文中结果 环境配置 需要本文的详细复现过程的项目源码、数据和预训练好的模型可从该地址处获取完整版地址 论文概述 今天我们把视线转回到AI应用的另外一个大领域——智慧医疗来看看目前人工智能在这一领域的最新进展。 发表在影像学经典期刊《Academic Radiology》上的论文《Development and Validation of a Feature-Based Broad-Learning System for Opportunistic Osteoporosis Screening Using Lumbar Spine Radiographs》第一次阐述了在智慧医疗领域纹理特征和卷积特征对于医学影像信息的抽取功能有什么差异并给出了具体实验验证和指标分析。 作者指出“宽度学习系统BLS的主要优势之一是其简单的平面结构这使得学习特征表示和分类数据变得容易。与具有复杂架构的其他机器学习算法不同BLS 具有简洁的设计便于特征表示学习和数据分类。这种简单的结构还使得模型能够在大数据集上高效运行而不需要大量的计算资源。BLS 模型的另一个优势是其权重通过解析计算确定从而降低了过拟合的风险。就基于纹理特征RF的 BLS 模型而言它产生的结果比基于深度卷积特征DF 的 BLS 模型更容易解释。原因是 RF 与 BMD 高度相关这使得理解输入特征与输出之间的关系变得更容易。DF 可以捕捉高级语义信息这对于某些类型的数据可能是有益的。然而在这种情况下基于 RF 的 BLS 模型的分类性能高于基于 DF 的 BLS 模型表明 RF 更适合这个特定任务。输入特征的选择例如 RF 或 DF会影响结果的可解释性和准确性在开发 BLS 模型时应谨慎考虑。” 纹理特征和深度卷积特征 纹理特征是图像处理和计算机视觉中常用的概念用于描述图像中像素的局部模式和结构帮助区分不同类型的物体或场景。常见的纹理特征包括统计特征、频域特征、模型特征和结构特征。统计特征如灰度共生矩阵GLCM和局部二值模式LBP通过计算像素间的联合概率分布和局部二进制模式来描述纹理。频域特征如傅里叶变换和小波变换通过分析图像的频率成分和多尺度细节来捕捉纹理信息。模型特征如自回归模型AR假设像素值可以用其周围像素的线性组合来表示从而描述纹理。结构特征如边缘方向直方图HOG和Gabor滤波器通过计算图像中局部梯度方向分布和使用一组不同方向和尺度的滤波器来提取纹理特征。这些纹理特征在图像分割、分类、模式识别和检索等应用中非常重要例如在医学图像分析中可以检测和分类不同类型的组织在遥感图像处理中可以区分不同类型的地表覆盖。 深度卷积特征是由深度卷积神经网络CNN提取的特征用于图像处理和计算机视觉任务。CNN通过多个卷积层、池化层和全连接层的级联能够从原始图像中自动学习并提取出层次化的特征表示。在CNN中低层的卷积层通常提取图像中的边缘、纹理和简单形状等低级特征随着网络的加深中间层会捕捉到更复杂的模式和结构如角点、轮廓和局部区域高层的卷积层则能够提取到语义级别的特征如物体的类别和具体形状等高级特征。通过这种层次化的特征提取CNN能够在图像分类、目标检测、图像分割等任务中取得显著的效果。卷积操作通过滑动窗口的方式将滤波器卷积核应用于输入图像生成特征图。每个卷积核能够检测特定的特征模式如边缘或纹理。池化层则通过下采样操作减小特征图的尺寸从而降低计算复杂度并提高模型的鲁棒性。深度卷积特征的一个重要优势是它们能够自动从大量标注数据中学习特征表示而无需人工设计特征。这使得深度学习模型能够在各种复杂的视觉任务中表现出色。此外预训练的深度卷积网络如VGG、ResNet、Inception等可以用于迁移学习通过在新的任务上进行微调迅速适应不同的应用场景。总之深度卷积特征在现代计算机视觉领域具有重要的地位广泛应用于图像分类、目标检测、图像分割、图像生成等多种任务中显著提升了这些任务的性能和准确性。 算法流程 下面我们来介绍一下论文中所设计的算法流程原论文采用了两种不同方面的特征提取技术——纹理特征和深度卷积特征并比较了他们的性能效果。对于纹理特征论文采用了GLCM、GLRLM、GLDM、GLSZM、NGTDM和一阶形态学特征融合提取的方法来全面地提取到医学影像中的纹理信息。对于深度卷积特征论文中使用了最经典的ResNet18和VGG11两种深度卷积网络来对医学影像进行特征提取。 下面我们将具体地讲解这篇文章所用到的数据预处理方法纹理特征提取、深度卷积特征提取和分类网络搭建这四个步骤 数据预处理方法 首先感兴趣区域ROIs在L1-L4椎体前后视图上手动分割以确保诊断模型与DXA测试之间的准确对应。该操作使用开源软件ITK-SNAP (www.itk-snap.org)进行。分割由一位具有6年肌肉骨骼影像经验的放射科医生完成并由一位具有20年肌肉骨骼影像经验的高级放射科医生验证。阅片者对患者的临床信息和DXA结果均不知情。 为了规范化ROI图块被转换为灰度图像并使用双线性插值方法调整为128 × 64像素。这种方法在图像处理应用中常用因为它在计算效率和图像质量之间提供了一种折衷。使用对比度受限自适应直方图均衡化CLAHE对图像进行增强以提高对比度并提供更清晰的特征细节可视化。CLAHE在增强医学图像方面具有优势因为它不会增加噪声并能保留大部分图像纹理细节。使用定量度量结构相似性指数SSIM评估CLAHE的效率。在训练集中的直方图均衡化后SSIM方差显著降低0.00102 vs. 0.00056P .0001在测试集中也是如此0.00196 vs. 0.00102P .0001。图2展示了原始和增强的ROI图像及其灰度直方图。 为了处理数据集样本分布不均的问题使用了合成少数过采样技术SMOTE。SMOTE分析少数样本根据少数样本人工合成额外样本并将其添加到数据集中以防止模型学到的知识过于专门化而缺乏广泛性。 纹理特征提取 论文作者们利用PyRadiomics 3.0 从每个感兴趣区域ROI中提取二维形态特征和纹理特征。形态特征包括网格表面、像素表面、周长、周长与表面比、球形度、球形不对称、长轴长度、短轴长度和伸长率。纹理特征包括灰度共生矩阵n 24、灰度游程长度矩阵n 16、灰度尺寸区矩阵n 16、相邻灰度差矩阵n 5和灰度依赖矩阵n 14。这些特征与多种骨骼特性有关包括骨密度BMD、骨微观结构和骨组织成分。形态特征和纹理特征的计算和提取是根据图像生物标记标准化倡议Image Biomarker Standardisation Initiative指南进行的以确保一致性和标准化。 深度卷积特征提取 他们使用了两种广泛应用的卷积神经网络CNN架构即ResNet18和VGG11作为任务的骨干网络。ResNet18由四个残差块组成每个残差块包含两个卷积层配有批量归一化和ReLU激活函数。这些层之后是一个快捷连接将输入添加到第二个卷积层的输出中。而VGG11的特点是其架构中一致使用小的3×3卷积滤波器这种方法确保了较大的感受野同时保持了相对较少的参数。VGG11架构由五个堆叠的卷积层组成称为“vggblocks”并使用ReLU激活函数。它采用最大池化并以几层全连接层结束。 他们利用了预训练CNN与迁移学习的强大功能有效地从图像数据中生成并提取准确且富有表现力的特征。具体来说他们使用了已经在ImageNet数据集上预训练的ResNet18和VGG11模型。在特征提取过程中他们冻结了大部分卷积模块并添加了新的展平和全连接层以获得所需的特征维度。具体来说对于VGG11他们选择并冻结了五个vggblocks。随后添加了自适应平均池化层和全连接层以获得4096维的特征表示。对于ResNet18他们冻结了前四层每层包含两个Basicblock模块并添加了自适应平均池化层以实现512维的特征表示。 分类网络搭建 LS基于随机向量功能连接神经网络和伪逆理论设计使其能够快速、增量地学习并且无需重新训练即可重构系统。BLS模型如图所示由输入层、特征和增强节点复合层以及输出层组成。在复合层中使用不同组的随机权重从输入数据生成多个映射特征组形成特征节点。此外特征节点被增强为增强节点每个增强节点使用不同的随机权重生成。输出是通过所有连接到输出层的特征节点和增强节点计算得出的。 BLS的一个显著优势是训练和输出结果所需的时间非常少。由于采用伪逆理论输出层的权重可以通过简单的矩阵运算与上一层的数据进行快速计算和更新。RF和DF被用作BLS模型的输入用于图像分类。 代码复现 本文的复现代码我放在了附件当中大家可以自行下载下来进行对比实验。下面我将结合伪代码流程图对代码的逻辑进行简单地讲解 BLS_Model.py文件——分类器搭建 span stylebackground-color:#f8f8f8span stylecolor:#333333span stylecolor:#1166441./span span stylecolor:#000000初始化必要的库和函数/spanspan stylecolor:#981a1a-/span span stylecolor:#000000numpy/span, span stylecolor:#000000sklearn/span.span stylecolor:#000000preprocessing/span, span stylecolor:#000000numpy/span.span stylecolor:#000000random/span, span stylecolor:#000000scipy/span.span stylecolor:#000000linalg/span, span stylecolor:#000000time/span, span stylecolor:#000000sklearn/span.span stylecolor:#000000metrics/spanspan stylecolor:#981a1a-/span span stylecolor:#000000函数/span: span stylecolor:#000000show_accuracy/span, span stylecolor:#000000tansig/span, span stylecolor:#000000sigmoid/span, span stylecolor:#000000linear/span, span stylecolor:#000000tanh/span, span stylecolor:#000000relu/span, span stylecolor:#000000pinv/span, span stylecolor:#000000shrinkage/span, span stylecolor:#000000sparse_bls/span ​ span stylecolor:#1166442./span span stylecolor:#000000定义函数/span span stylecolor:#000000show_accuracy/spanspan stylecolor:#981a1a-/span span stylecolor:#000000输入/span: span stylecolor:#000000predictLabel/span, span stylecolor:#000000Label/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算正确预测的数量/spanspan stylecolor:#981a1a-/span span stylecolor:#000000使用混淆矩阵计算灵敏度/span(span stylecolor:#000000Sen/span), span stylecolor:#000000特异度/span(span stylecolor:#000000Spe/span), span stylecolor:#000000阴性预测值/span(span stylecolor:#000000npv/span), span stylecolor:#000000阳性预测值/span(span stylecolor:#000000ppv/span), span stylecolor:#000000AUC/spanspan stylecolor:#981a1a-/span span stylecolor:#000000返回/span: span stylecolor:#000000准确率/span, span stylecolor:#000000Sen/span, span stylecolor:#000000Spe/span, span stylecolor:#000000npv/span, span stylecolor:#000000ppv/span, span stylecolor:#000000auc/span, span stylecolor:#000000预测标签/span, span stylecolor:#000000实际标签/span ​ span stylecolor:#1166443./span span stylecolor:#000000定义激活函数/span span stylecolor:#000000tansig/span, span stylecolor:#000000sigmoid/span, span stylecolor:#000000linear/span, span stylecolor:#000000tanh/span, span stylecolor:#000000relu/span ​ span stylecolor:#1166444./span span stylecolor:#000000定义函数/span span stylecolor:#000000pinv/spanspan stylecolor:#981a1a-/span span stylecolor:#000000输入/span: span stylecolor:#000000A/span, span stylecolor:#000000reg/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算伪逆矩阵/spanspan stylecolor:#981a1a-/span span stylecolor:#000000返回/span: span stylecolor:#000000伪逆矩阵/span ​ span stylecolor:#1166445./span span stylecolor:#000000定义函数/span span stylecolor:#000000shrinkage/spanspan stylecolor:#981a1a-/span span stylecolor:#000000输入/span: span stylecolor:#000000a/span, span stylecolor:#000000b/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算收缩结果/spanspan stylecolor:#981a1a-/span span stylecolor:#000000返回/span: span stylecolor:#000000z/span ​ span stylecolor:#1166446./span span stylecolor:#000000定义函数/span span stylecolor:#000000sparse_bls/spanspan stylecolor:#981a1a-/span span stylecolor:#000000输入/span: span stylecolor:#000000A/span, span stylecolor:#000000b/spanspan stylecolor:#981a1a-/span span stylecolor:#000000设置参数/span span stylecolor:#000000lam/span, span stylecolor:#000000itrs/spanspan stylecolor:#981a1a-/span span stylecolor:#000000初始化变量/spanspan stylecolor:#981a1a-/span span stylecolor:#000000迭代计算稀疏BLS/spanspan stylecolor:#981a1a-/span span stylecolor:#000000返回/span: span stylecolor:#000000wk/span ​ span stylecolor:#1166447./span span stylecolor:#000000定义函数/span span stylecolor:#000000BLS_AddFeatureEnhanceNodes/spanspan stylecolor:#981a1a-/span span stylecolor:#000000输入/span: span stylecolor:#000000train_x/span, span stylecolor:#000000train_y/span, span stylecolor:#000000test_x/span, span stylecolor:#000000test_y/span, span stylecolor:#000000N1/span, span stylecolor:#000000N2/span, span stylecolor:#000000N3/span, span stylecolor:#000000L/span, span stylecolor:#000000M1/span, span stylecolor:#000000s/span, span stylecolor:#000000c/span, span stylecolor:#000000M2/span, span stylecolor:#000000M3/spanspan stylecolor:#981a1a-/span span stylecolor:#000000初始化变量/span span stylecolor:#000000u/span, span stylecolor:#000000train_x/span, span stylecolor:#000000FeatureOfInputDataWithBias/span, span stylecolor:#000000OutputOfFeatureMappingLayer/span, span stylecolor:#000000Beta1OfEachWindow/span, span stylecolor:#000000distOfMaxAndMin/span, span stylecolor:#000000minOfEachWindow/span, span stylecolor:#000000train_acc/span, span stylecolor:#000000test_acc/span, span stylecolor:#000000train_time/span, span stylecolor:#000000test_time/spanspan stylecolor:#981a1a-/span span stylecolor:#000000记录开始时间/span span stylecolor:#000000time_start/spanspan stylecolor:#981a1a-/span span stylecolor:#000000对每个窗口进行以下操作/span:span stylecolor:#981a1a-/span span stylecolor:#000000生成随机权重/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算窗口特征/spanspan stylecolor:#981a1a-/span span stylecolor:#000000预处理特征/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算稀疏BLS/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算窗口输出/spanspan stylecolor:#981a1a-/span span stylecolor:#000000记录最大最小值/spanspan stylecolor:#981a1a-/span span stylecolor:#000000规范化窗口输出/spanspan stylecolor:#981a1a-/span span stylecolor:#000000更新输出特征映射层/spanspan stylecolor:#981a1a-/span span stylecolor:#000000生成增强层输入/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算增强层权重/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算增强层输出/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算输出层输入/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算输出权重/spanspan stylecolor:#981a1a-/span span stylecolor:#000000记录结束时间/span span stylecolor:#000000time_end/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算训练时间/span span stylecolor:#000000trainTime/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算训练输出/spanspan stylecolor:#981a1a-/span span stylecolor:#000000调用/span span stylecolor:#000000show_accuracy/span span stylecolor:#000000计算训练准确率等/spanspan stylecolor:#981a1a-/span span stylecolor:#000000记录训练准确率和时间/spanspan stylecolor:#981a1a-/span span stylecolor:#000000对测试数据进行同样的处理/spanspan stylecolor:#981a1a-/span span stylecolor:#000000记录结束时间/span span stylecolor:#000000time_end/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算测试时间/span span stylecolor:#000000testTime/spanspan stylecolor:#981a1a-/span span stylecolor:#000000计算测试输出/spanspan stylecolor:#981a1a-/span span stylecolor:#000000调用/span span stylecolor:#000000show_accuracy/span span stylecolor:#000000计算测试准确率等/spanspan stylecolor:#981a1a-/span span stylecolor:#000000记录测试准确率和时间/spanspan stylecolor:#981a1a-/span span stylecolor:#000000返回/span: span stylecolor:#000000testAcc/span, span stylecolor:#000000trainAcc/span, span stylecolor:#000000Sentr/span, span stylecolor:#000000Spetr/span, span stylecolor:#000000npvtr/span, span stylecolor:#000000ppvtr/span, span stylecolor:#000000auctr/span, span stylecolor:#000000Sen/span, span stylecolor:#000000Spe/span, span stylecolor:#000000npv/span, span stylecolor:#000000ppv/span, span stylecolor:#000000auc/span, span stylecolor:#000000predtt/span, span stylecolor:#000000labeltt/span, span stylecolor:#000000predtr/span, span stylecolor:#000000labeltr/span/span/span 在BLS_Model.py文件中我实现了基于随机向量功能连接神经网络和伪逆理论的快速增量学习方法。代码首先导入必要的库和函数包括用于数据预处理、矩阵运算、时间测量和模型评估的库。定义了一些辅助函数例如激活函数tansig、sigmoid、linear、tanh、relu用于计算伪逆矩阵的函数pinv以及用于稀疏BLS计算的函数sparse_bls。主要的函数是BLS_AddFeatureEnhanceNodes它实现了BLS模型的训练和测试。首先对输入数据进行预处理将其标准化并添加偏置项。然后在特征映射层中使用不同组的随机权重生成多个映射特征组形成特征节点并通过稀疏BLS方法计算每个窗口的权重和输出。接着在增强层中生成增强节点并计算其输出。在输出层中结合特征映射层和增强层的输出计算输出权重。训练阶段记录训练时间并计算训练输出通过show_accuracy函数评估模型的训练准确率、灵敏度、特异度、阴性预测值、阳性预测值和AUC。同样地在测试阶段对测试数据进行同样的处理记录测试时间并评估模型的测试性能。最终返回测试准确率、训练准确率及其他评估指标。整个过程旨在通过快速、增量地学习从输入数据中提取特征并通过简单的矩阵运算进行模型的更新和评估。 pyradioextraction.py文件——纹理特征提取 span stylebackground-color:#f8f8f8span stylecolor:#333333span stylecolor:#1166441./span span stylecolor:#000000导入必要的库和模块/span span stylecolor:#1166442./span span stylecolor:#000000定义函数/span span stylecolor:#000000listdirInMac/span:span stylecolor:#000000a/span. span stylecolor:#000000初始化空列表/span span stylecolor:#000000lists/spanspan stylecolor:#000000b/span. span stylecolor:#000000遍历输入列表/span span stylecolor:#3300aalist/span:span stylecolor:#000000i/span. span stylecolor:#000000如果项的第一个字符是/span span stylecolor:#aa1111./spanspan stylecolor:#000000跳过该项/spanspan stylecolor:#000000ii/span. span stylecolor:#000000否则将该项添加到/span span stylecolor:#000000lists/spanspan stylecolor:#000000c/span. span stylecolor:#000000返回/span span stylecolor:#000000lists/span ​ span stylecolor:#1166443./span span stylecolor:#000000定义函数/span span stylecolor:#000000catch_features/span:span stylecolor:#000000a/span. span stylecolor:#000000检查/span span stylecolor:#000000imagePath/span span stylecolor:#000000或/span span stylecolor:#000000maskPath/span span stylecolor:#000000是否为空/span:span stylecolor:#000000i/span. span stylecolor:#000000如果为空抛出异常/spanspan stylecolor:#000000b/span. span stylecolor:#000000初始化/span span stylecolor:#000000settings/span span stylecolor:#000000字典并设置提取参数/spanspan stylecolor:#000000c/span. span stylecolor:#000000创建/span span stylecolor:#000000RadiomicsFeatureExtractor/span span stylecolor:#000000实例/span span stylecolor:#000000extractor传入/span span stylecolor:#000000settings/spanspan stylecolor:#000000d/span. span stylecolor:#000000禁用所有特征/spanspan stylecolor:#000000e/span. span stylecolor:#000000启用所需的特征类别shape2D/span, span stylecolor:#000000glcm/span, span stylecolor:#000000glszm/span, span stylecolor:#000000glrlm/span, span stylecolor:#000000ngtdm/span, span stylecolor:#000000gldm/spanspan stylecolor:#000000f/span. span stylecolor:#000000执行特征提取并获取结果/span span stylecolor:#000000result/spanspan stylecolor:#000000g/span. span stylecolor:#000000初始化空列表/span span stylecolor:#000000feature_names/span span stylecolor:#000000和/span span stylecolor:#000000feature_values/spanspan stylecolor:#000000h/span. span stylecolor:#000000遍历/span span stylecolor:#000000result/span span stylecolor:#000000中的每个键值对/span:span stylecolor:#000000i/span. span stylecolor:#000000如果键匹配特定的特征类别打印键和值将键和值添加到相应的列表/spanspan stylecolor:#000000i/span. span stylecolor:#000000打印特征维度和特征名称/spanspan stylecolor:#000000j/span. span stylecolor:#000000返回/span span stylecolor:#000000feature_values/span span stylecolor:#000000和/span span stylecolor:#000000feature_names/span ​ span stylecolor:#1166444./span span stylecolor:#000000在/span span stylecolor:#000000main/span span stylecolor:#000000函数中/span:span stylecolor:#000000a/span. span stylecolor:#000000定义/span span stylecolor:#000000image_dir/span span stylecolor:#000000和/span span stylecolor:#000000mask_dir/span span stylecolor:#000000的路径/spanspan stylecolor:#000000b/span. span stylecolor:#000000获取患者列表/span span stylecolor:#000000patient_list/span span stylecolor:#000000并使用/span span stylecolor:#000000listdirInMac/span span stylecolor:#000000函数过滤/spanspan stylecolor:#000000c/span. span stylecolor:#000000对/span span stylecolor:#000000patient_list/span span stylecolor:#000000进行排序/spanspan stylecolor:#000000d/span. span stylecolor:#000000初始化空列表/span span stylecolor:#000000all_data/span span stylecolor:#000000和/span span stylecolor:#000000all_name/spanspan stylecolor:#000000e/span. span stylecolor:#000000遍历/span span stylecolor:#000000patient_list/span span stylecolor:#000000中的每个患者/span:span stylecolor:#000000i/span. span stylecolor:#000000打印患者名称/spanspan stylecolor:#000000ii/span. span stylecolor:#000000遍历患者文件夹中的每个文件/span:span stylecolor:#981a1a-/span span stylecolor:#000000如果文件名是/span span stylecolor:#aa1111data.nii.gz/spanspan stylecolor:#000000设置/span span stylecolor:#000000imagePath/spanspan stylecolor:#981a1a-/span span stylecolor:#000000如果文件名是/span span stylecolor:#aa1111zw.nii.gz/spanspan stylecolor:#000000设置/span span stylecolor:#000000maskPath/spanspan stylecolor:#000000iii/span. span stylecolor:#000000调用/span span stylecolor:#000000catch_features/span span stylecolor:#000000函数提取特征并保存结果到/span span stylecolor:#000000all_data特征名称保存到/span span stylecolor:#000000all_name/spanspan stylecolor:#000000f/span. span stylecolor:#000000打印所有数据和特征名称/spanspan stylecolor:#000000g/span. span stylecolor:#000000打开/span span stylecolor:#000000CSV/span span stylecolor:#000000文件进行写入/span:span stylecolor:#000000i/span. span stylecolor:#000000写入列名特征名称/spanspan stylecolor:#000000ii/span. span stylecolor:#000000写入每行特征数据/span/span/span CNNextraction.py 文件——深度卷积特征提取 span stylebackground-color:#f8f8f8span stylecolor:#333333span stylecolor:#1166441./span span stylecolor:#000000导入必要的库和模块/spanspan stylecolor:#981a1a-/span span stylecolor:#000000urllib/spanspan stylecolor:#981a1a-/span span stylecolor:#000000torch/spanspan stylecolor:#981a1a-/span span stylecolor:#000000matplotlib/span.span stylecolor:#000000pyplot/span span stylecolor:#770088as/span span stylecolor:#000000plt/spanspan stylecolor:#981a1a-/span span stylecolor:#000000torch/span.span stylecolor:#000000nn/span span stylecolor:#770088as/span span stylecolor:#000000nn/spanspan stylecolor:#981a1a-/span span stylecolor:#000000torchvision/span.span stylecolor:#000000models/spanspan stylecolor:#981a1a-/span span stylecolor:#000000torchvision/span.span stylecolor:#000000transforms/spanspan stylecolor:#981a1a-/span span stylecolor:#000000numpy/span span stylecolor:#770088as/span span stylecolor:#000000np/spanspan stylecolor:#981a1a-/span span stylecolor:#000000cv2/spanspan stylecolor:#981a1a-/span span stylecolor:#000000os/spanspan stylecolor:#981a1a-/span span stylecolor:#000000ssl/spanspan stylecolor:#981a1a-/span span stylecolor:#000000PIL/span.span stylecolor:#000000Image/spanspan stylecolor:#981a1a-/span span stylecolor:#000000scipy/span.span stylecolor:#000000io/span span stylecolor:#770088as/span span stylecolor:#000000scio/spanspan stylecolor:#981a1a-/span span stylecolor:#000000urllib3/span.span stylecolor:#000000util/span.span stylecolor:#000000url/span ​ span stylecolor:#1166442./span span stylecolor:#000000设置/span span stylecolor:#000000HTTPS/span span stylecolor:#000000上下文/span ​ span stylecolor:#1166443./span span stylecolor:#000000定义函数/span span stylecolor:#000000listdirInMac/span:span stylecolor:#000000a/span. span stylecolor:#000000初始化空列表/span span stylecolor:#000000lists/spanspan stylecolor:#000000b/span. span stylecolor:#000000遍历输入列表/span span stylecolor:#3300aalist/span:span stylecolor:#000000i/span. span stylecolor:#000000如果项的第一个字符是/span span stylecolor:#aa1111./spanspan stylecolor:#000000跳过该项/spanspan stylecolor:#000000ii/span. span stylecolor:#000000否则将该项添加到/span span stylecolor:#000000lists/spanspan stylecolor:#000000c/span. span stylecolor:#000000返回/span span stylecolor:#000000lists/span ​ span stylecolor:#1166444./span span stylecolor:#000000定义类/span span stylecolor:#000000FeatureExtractor/span (span stylecolor:#000000继承自/span span stylecolor:#000000nn/span.span stylecolor:#000000Module/span):span stylecolor:#000000a/span. span stylecolor:#000000初始化方法/span:span stylecolor:#000000i/span. span stylecolor:#000000提取/span span stylecolor:#000000VGG/spanspan stylecolor:#981a1a-/spanspan stylecolor:#11664416/span span stylecolor:#000000特征层并将其设置为/span span stylecolor:#000000nn/span.span stylecolor:#000000Sequential/spanspan stylecolor:#000000ii/span. span stylecolor:#000000提取/span span stylecolor:#000000VGG/spanspan stylecolor:#981a1a-/spanspan stylecolor:#11664416/span span stylecolor:#000000的平均池化层/spanspan stylecolor:#000000iii/span. span stylecolor:#000000转换图像为一维向量/spanspan stylecolor:#000000iv/span. span stylecolor:#000000提取/span span stylecolor:#000000VGG/spanspan stylecolor:#981a1a-/spanspan stylecolor:#11664416/span span stylecolor:#000000全连接层的第一部分/spanspan stylecolor:#000000v/span. span stylecolor:#000000添加新的全连接层fc2/spanspan stylecolor:#000000b/span. span stylecolor:#000000前向传播方法/span:span stylecolor:#000000i/span. span stylecolor:#000000通过特征层提取特征/spanspan stylecolor:#000000ii/span. span stylecolor:#000000通过池化层提取特征/spanspan stylecolor:#000000iii/span. span stylecolor:#000000打印特征的形状/spanspan stylecolor:#000000iv/span. span stylecolor:#000000转换张量为/span span stylecolor:#000000numpy/span span stylecolor:#000000数组并重塑/spanspan stylecolor:#000000v/span. span stylecolor:#000000使用/span span stylecolor:#000000matplotlib/span span stylecolor:#000000显示特征图/spanspan stylecolor:#000000vi/span. span stylecolor:#000000返回提取的特征/span ​ span stylecolor:#1166445./span span stylecolor:#000000定义类/span span stylecolor:#000000FeaExtractor/span (span stylecolor:#000000继承自/span span stylecolor:#000000nn/span.span stylecolor:#000000Module/span):span stylecolor:#000000a/span. span stylecolor:#000000初始化方法/span:span stylecolor:#000000i/span. span stylecolor:#000000提取模型的卷积层、批量归一化层、激活函数、最大池化层和自适应平均池化层/spanspan stylecolor:#000000ii/span. span stylecolor:#000000提取模型的各个层/spanspan stylecolor:#000000iii/span. span stylecolor:#000000转换图像为一维向量/spanspan stylecolor:#000000b/span. span stylecolor:#000000前向传播方法/span:span stylecolor:#000000i/span. span stylecolor:#000000通过各个层提取特征/spanspan stylecolor:#000000ii/span. span stylecolor:#000000转换张量为/span span stylecolor:#000000numpy/span span stylecolor:#000000数组并重塑/spanspan stylecolor:#000000iii/span. span stylecolor:#000000使用/span span stylecolor:#000000matplotlib/span span stylecolor:#000000显示特征图/spanspan stylecolor:#000000iv/span. span stylecolor:#000000返回提取的特征/span ​ span stylecolor:#1166446./span span stylecolor:#000000加载预训练的/span span stylecolor:#000000EfficientNet/span span stylecolor:#000000模型/span span stylecolor:#1166447./span span stylecolor:#000000替换/span span stylecolor:#000000EfficientNet/span span stylecolor:#000000的第一个卷积层/span span stylecolor:#1166448./span span stylecolor:#000000将模型移动到/span span stylecolor:#000000GPU/span span stylecolor:#1166449./span span stylecolor:#000000定义图像预处理步骤/span ​ span stylecolor:#11664410./span span stylecolor:#000000定义函数/span span stylecolor:#000000extract/span:span stylecolor:#000000a/span. span stylecolor:#000000初始化空列表/span span stylecolor:#000000features/spanspan stylecolor:#000000b/span. span stylecolor:#000000获取并过滤路径中的文件列表/spanspan stylecolor:#000000c/span. span stylecolor:#000000对文件列表进行排序/spanspan stylecolor:#000000d/span. span stylecolor:#000000遍历文件列表/span:span stylecolor:#000000i/span. span stylecolor:#000000加载并预处理每个图像/spanspan stylecolor:#000000ii/span. span stylecolor:#000000将图像合并为一个批次并添加一个维度/spanspan stylecolor:#000000iii/span. span stylecolor:#000000将图像移动到/span span stylecolor:#000000GPU/spanspan stylecolor:#000000iv/span. span stylecolor:#000000禁用梯度计算并提取特征/spanspan stylecolor:#000000v/span. span stylecolor:#000000将提取的特征转换为/span span stylecolor:#000000numpy/span span stylecolor:#000000数组并保存到/span span stylecolor:#000000features/span span stylecolor:#000000列表/spanspan stylecolor:#000000e/span. span stylecolor:#000000将特征转换为/span span stylecolor:#000000numpy/span span stylecolor:#000000数组并返回/span ​ span stylecolor:#11664411./span span stylecolor:#000000如果是主程序/span:span stylecolor:#000000a/span. span stylecolor:#000000设置训练数据路径/span/span/span 在这段代码中我使用预训练的ResNet模型提取图像特征并保存到MAT文件中。首先导入了必要的库包括PyTorch、PIL、Matplotlib等并设置了HTTPS上下文以跳过SSL验证。定义了辅助函数listdirInMac用于过滤目录列表去掉以’.开头的隐藏文件或目录。定义了特征提取器类FeatureExtractor继承自nn.Module用于从ResNet模型中提取特征。初始化方法中提取了ResNet的特征层、平均池化层并添加了一个新的全连接层。在前向传播方法中通过特征层和池化层提取特征并使用Matplotlib显示特征图。代码还定义了另一个特征提取器类FeaExtractor未被使用其作用类似于FeatureExtractor。 然后代码使用torchvision.models加载预训练的ResNet模型并将其移动到GPU同时定义了一系列图像预处理步骤。接着定义了特征提取函数extract该函数初始化一个空列表用于存储特征获取图像目录中的文件列表并进行排序遍历文件列表加载并预处理每张图像将预处理后的图像合并为一个批次移动到GPU并使用新定义的模型提取特征最后将提取到的特征保存到MAT文件中。 main.py——顶层文件 span stylebackground-color:#f8f8f8span stylecolor:#333333span stylecolor:#000000开始/span span stylecolor:#981a1a|/span span stylecolor:#981a1a|--/span span stylecolor:#000000函数/span: span stylecolor:#000000Texture_preparation/span() span stylecolor:#981a1a|/span   span stylecolor:#981a1a|/span span stylecolor:#981a1a|/span   span stylecolor:#981a1a|--/span span stylecolor:#000000从/span span stylecolor:#aa1111train_dataset_smote_84.mat/span span stylecolor:#000000加载/span span stylecolor:#000000train_data/span span stylecolor:#981a1a|/span   span stylecolor:#981a1a|--/span span stylecolor:#000000打印/span span stylecolor:#000000train_data/span span stylecolor:#000000的形状/span span stylecolor:#981a1a|/span   span stylecolor:#981a1a|--/span span stylecolor:#000000从/span span stylecolor:#aa1111test_features.mat/span span stylecolor:#000000加载/span span stylecolor:#000000test1_data/span span stylecolor:#981a1a|/span   span stylecolor:#981a1a|--/span span stylecolor:#000000打印/span span stylecolor:#000000test1_data/span span stylecolor:#000000的形状/span span stylecolor:#981a1a|/span   span stylecolor:#981a1a|--/span span stylecolor:#000000从/span span stylecolor:#aa1111train_dataset_smote_84.mat/span span stylecolor:#000000加载/span span stylecolor:#000000train_label/span span stylecolor:#981a1a|/span   span stylecolor:#981a1a|--/span span stylecolor:#000000打印/span span stylecolor:#000000train_label/span span stylecolor:#000000的形状/span span stylecolor:#981a1a|/span   span stylecolor:#981a1a|--/span span stylecolor:#000000从/span span stylecolor:#aa1111test1_flag.mat/span span stylecolor:#000000加载/span span stylecolor:#000000test1_label/span span stylecolor:#981a1a|/span   span stylecolor:#981a1a|--/span span stylecolor:#000000删除/span span stylecolor:#000000test1_label/span span stylecolor:#000000中的特定行/span span stylecolor:#981a1a|/span   span stylecolor:#981a1a|--/span span stylecolor:#000000打印/span span stylecolor:#000000test1_label/span span stylecolor:#000000的形状/span span stylecolor:#981a1a|/span   span stylecolor:#981a1a|--/span span stylecolor:#000000返回/span span stylecolor:#000000train_data/span, span stylecolor:#000000train_label/span, span stylecolor:#000000test1_data/span, span stylecolor:#000000test1_label/span span stylecolor:#981a1a|/span span stylecolor:#981a1a|--/span span stylecolor:#000000主块/spanspan stylecolor:#981a1a|/spanspan stylecolor:#981a1a|--/span span stylecolor:#000000定义参数/span: span stylecolor:#000000N1/span, span stylecolor:#000000N2/span, span stylecolor:#000000N3/span, span stylecolor:#000000L/span, span stylecolor:#000000M1/span, span stylecolor:#000000s/span, span stylecolor:#000000c/span, span stylecolor:#000000M2/span, span stylecolor:#000000M3/spanspan stylecolor:#981a1a|/spanspan stylecolor:#981a1a|--/span span stylecolor:#000000调用/span span stylecolor:#000000Texture_preparation/span() span stylecolor:#000000并将返回值赋给/span span stylecolor:#000000train_data/span, span stylecolor:#000000train_label/span, span stylecolor:#000000test1_data/span, span stylecolor:#000000test1_label/spanspan stylecolor:#981a1a|/spanspan stylecolor:#981a1a|--/span span stylecolor:#000000打印/span span stylecolor:#000000test1_data/spanspan stylecolor:#981a1a|--/span span stylecolor:#000000打印/span span stylecolor:#000000test1_label/spanspan stylecolor:#981a1a|/spanspan stylecolor:#981a1a|--/span span stylecolor:#000000调用/span span stylecolor:#000000BLS_AddFeatureEnhanceNodes/span() span stylecolor:#000000并将返回值赋给各个指标变量/spanspan stylecolor:#981a1a|/spanspan stylecolor:#981a1a|--/span span stylecolor:#000000打印测试和训练的准确率及其他指标/span span stylecolor:#981a1a|/span span stylecolor:#000000结束/span/span/span 这个文件起到了一个集成的作用用于将不同的特征数据加载到内存环境中并输入到BLS分类器中进行对比实验从而分析不同特征对医学影像信息的提取性能。 实验结果 在本次实验中由于原论文的数据涉及病人隐私无法公开因此我使用了同样类型的医学公开数据集进行实验链接如下Knee X-ray Osteoporosis Database - Mendeley Data 如图所示我们按照论文步骤将三种不同类型的特征分别输入到BLS分类器中进行性能的对比实验可以得到与论文中一致的结果。在到达相似的训练程度时输入纹理特征的模型相比其他两种特征模型能够在各项指标上取得更好的结果。特别是在医疗领域最为关注的曲线下面积AUC这一项中该模型拉开了比较大的差距。因此我们可以推测出在基于纹理特征RF的BLS模型与基于深度卷积特征DF的BLS模型的对比中前者的结果更容易解释。这是因为RF与BMD高度相关使得理解输入特征与输出结果之间的关系更加直观。尽管DF可以捕捉高级语义信息在某些数据类型中可能更有利但在这个特定任务中基于RF的BLS模型的分类性能优于基于DF的BLS模型表明RF在此任务中更为适用。 论文中结果 环境配置 python版本3.6及以上 预先安装第三方库radiomics、SimpleITK、torch、torchvision和scipy 需要本文的详细复现过程的项目源码、数据和预训练好的模型可从该地址处获取完整版地址 ​​ 希望对你有帮助加油 若您认为本文内容有益请不吝赐予赞同并订阅以便持续接收有价值的信息。衷心感谢您的关注和支持
http://www.hkea.cn/news/14527288/

相关文章:

  • 免费网站做seoWordpress 搜索热词
  • 服务态度 专业的网站建设免费的软件网站
  • 微网站需要备案吗网站建设cach目录
  • wordpress站点描述asp网站建设制作
  • 濮阳网站建设价格广东中山建设信息网站
  • 明星粉丝网站怎么做的小企业建站系统
  • 如何选择电商网站建设粉末涂料做网站有用吗
  • 建设h网站风险大吗购物app大全
  • 萧山好的做网站的公司小说网站需求分析
  • 高端做网站价格金蝶erp系统
  • 网站建设出售网站建设维护内容
  • 基层人武部正规化建设网站关键词优化排名推荐
  • 佛山网站搜索引擎优化wordpress如何导入模板数据
  • qq建设网站首页网站悬浮窗口
  • wordpress做直播网站wordpress注册验证码
  • 国外展览展示设计网站163企业邮箱免费版
  • 网站新增关键词关键词推广哪家好
  • 有像考试佳园一样做资料的网站吗设计网页界面
  • 网站主页调用购物网站功能
  • 大型门户网站是这样炼成的源代码织梦模板库
  • 怎样做建网站做淘客wordpress看后台浏览量
  • 百度是什么网站广州app开发公司排行十强
  • 网站开发可选择的方案公众号h5是什么意思
  • 福州企业免费建站商业网站建设视频教程
  • 展览 网站源码多语网站wordpress子站点
  • 网站开发公司广州wordpress文章保存
  • 珠海网站制作报价重庆制作网站怎么选
  • 手机网站添加微信方式基于php的网站开发流程
  • 做高清图的网站商贸信息网站
  • 大型网站制作都有哪些酒类营销网站