需要JoVE订阅才能观看此内容。 请登录或开始免费试用

方法文章

利用深度学习对先天性膈疝中肺血管系统进行自动化定量分析

118 次观看

DOI:

10.3791/70428

2026年5月8日

本文内容

摘要

本方案描述了一种完全自动化的深度学习流程,用于分割和分析新生儿CT扫描中的肺血管系统。该方法可对先天性膈疝(CDH)患儿及对照组个体的血管发育情况进行定量形态学评估,有助于无创表征肺发育不全及血管发育不良。

摘要

先天性膈疝(CDH)的特征是肺发育不全和肺血管发育不良,导致气体交换功能受损,并引起较高的新生儿死亡率。准确且定量地评估肺血管系统对于理解疾病严重程度至关重要,但在医学影像中对三维血管网络进行手动分割耗时较长,且依赖于操作者。

本方案介绍了一种完全自动化的基于深度学习的方法,用于利用出生后计算机断层扫描(CT)图像进行肺血管分割与形态计量分析。该流程包括标准化的预处理步骤——转换为亨氏单位、窗宽处理、各向同性重采样以及限制对比度自适应直方图均衡化(CLAHE),以实现影像数据的归一化并增强血管的可见性。随后,采用U-Net卷积神经网络(CNN)架构训练模型以实现肺血管系统的分割,继而通过三维骨架化算法对分支数量、平均分支长度和代次深度等形态计量参数进行量化分析。

代表性结果表明,所提出的模型实现了高分割精度,其中迁移学习配置取得了最佳性能。定量形态计量分析显示,与对照组肺组织相比,先天性膈疝(CDH)的血管复杂性显著降低,这与已知的肺发育不全病理特征一致。

这种自动化方法能够对先天性膈疝(CDH)中的肺血管形态进行可重复、定量且无创的评估。该方法可适用于其他成像模式,并可用于胎儿和新生儿肺发育的研究,有助于转化研究及未来的临床应用。

引言

先天性膈疝(CDH)是一种危及生命的先天性畸形,其特征为膈肌缺损,导致腹腔脏器疝入胸腔1,2。这种物理性压迫严重损害肺发育,导致肺发育不全和持续性肺动脉高压(PPHN),后者是造成发病率和死亡率的主要原因。除了肺发育不全和血管发育不良外,已有研究表明,心脏发育异常和心室功能障碍也显著影响CDH新生儿的临床预后。其潜在的病理生理机制涉及气道和肺血管床的异常发育,导致血管数量减少、小动脉肌层增厚,进而引起血管阻力升高3,4。目前亟需客观且定量的生物标志物,以准确评估CDH患者的风险分层、指导干预措施并监测治疗反应5。此类评估的一个关键方面是对肺血管系统的详细分析,这有助于了解肺发育不全的程度以及肺的功能潜力。影像学技术的进步,尤其是计算机断层扫描(CT),显著提升了我们对肺血管系统进行可视化和定量分析的能力6,7

尽管出生后的计算机断层扫描(CT)能够提供肺部高分辨率的解剖细节,但对复杂的肺血管树进行分析仍然具有挑战性。现有的血管分割方法通常依赖于传统的图像处理技术,这些方法需要大量人工干预,容易受到图像伪影的影响,并且在面对先天性膈疝(CDH)中严重的解剖结构畸变时可能缺乏鲁棒性7,8,9,10。深度学习,特别是卷积神经网络(CNN)如U-Net架构,在自动化医学图像分割方面已取得显著成功。然而,许多现有模型是在健康受试者或其他疾病背景下训练的,限制了其在先天性畸形(如CDH)中的适用性10,11,12,13

尽管取得了这些进展,文献中仍存在显著的空白。许多研究集中于健康个体或特定的肺部疾病,对先天性膈疝(CDH)等先天性异常的关注有限12。此外,尽管深度学习模型已表现出更优的性能,但其训练通常需要大量带标注的数据集,而这类数据在CDH等罕见疾病中往往难以获得。 Furthermore,现有模型尚未充分解决在CDH引起的严重解剖结构扭曲情况下区分不同类型的肺血管(如动脉与静脉)的挑战。这一局限性凸显了进一步研究的必要性,以开发出能够更准确地对CDH患者的肺血管系统进行分割与分析的鲁棒性模型。

本研究旨在通过开发并验证一种完全自动化的深度学习框架,以分割肺血管结构并从CT扫描中提取定量形态学特征,从而弥补上述不足。本方法的一个关键创新在于,模型在先天性膈疝(CDH)患者与对照组患者的联合数据集上进行训练,使其能够学习到正常和病理性血管模式的稳健表征。尽管CT成像涉及电离辐射,因而不适用于常规的纵向筛查,但本研究作为一项重要的概念验证具有关键意义。本研究的主要目标是证明:对血管结构进行自动化的放射学定量分析是可行的,并且能够可靠地区分CDH患者与对照组。在该领域取得的成功将为后续将此定量框架迁移至无辐射的影像模态(如磁共振成像,MRI)提供必要的验证基础,从而推动其在未来临床应用中的转化。

访问受限。请登录或开始试用以查看此内容。

方案

所有涉及人类受试者的研究程序均遵循机构人类研究伦理委员会的指南,并已获得机构审查委员会(IRB #2017-6361)的批准。本研究的实施符合适用的监管标准。患者数据在分析前已进行回顾性收集并去标识化。所开发系统的概览如图1所示。

1. 图像预处理

  1. 将新生儿患者的原始CT扫描以DICOM格式载入工作环境。
    1. 打开医学图像分析软件并创建一个新的项目工作区。
    2. 点击 文件 > 导入 > DICOM 序列。
    3. 浏览至包含新生儿胸部CT扫描的DICOM格式文件夹,并选择完整的图像序列。
    4. 根据采集元数据(例如实例编号)确认序列中所有切片均被正确检测并按序排列。
    5. 在元数据面板中确认图像尺寸、体素间距和层厚,以确保各扫描间的一致性。
    6. 将序列加载至工作区,并目视检查轴向、冠状和矢状视图,确认方向正确且无加载错误。
  2. 使用开源软件将DICOM文件转换为NIfTI格式,以便更方便地进行操作和分析。
    1. 在科学计算环境中打开终端窗口。
    2. 使用cd命令导航至包含DICOM图像序列的目录。
    3. 执行DICOM转NIfTI转换工具,命令结构如下:dcm2niix -z y -f output_filename -o /output_directory /input_directory
    4. 确保启用压缩(-z y),以生成压缩的.nii.gz文件。
    5. 确认输出文件已在指定输出目录中成功生成。
    6. 在医学图像查看器中打开转换后的NIfTI文件,并目视检查轴向、冠状和矢状平面,确认空间方向正确且图像完整。
    7. 确认体素间距和图像尺寸,确保在预处理前所有受试者之间保持一致。
  3. 利用扫描仪特定的元数据或标准公式将图像强度转换为亨氏单位(HU)。
    1. 从每幅扫描图像的头部信息中提取DICOM元数据参数重缩放斜率重缩放截距
    2. 对每个体素强度值(I_raw),使用以下公式计算对应的亨氏单位(HU):HU = (I_raw × 重缩放斜率) + 重缩放截距。
    3. 在科学计算环境中使用逐元素矩阵运算,将该转换应用于整个三维图像体积。
    4. 通过验证空气区域接近−1000 HU、软组织区域落在预期生理范围内,确认转换正确。
    5. 将转换后的体积另存为新的NIfTI文件,以保留原始数据。
  4. 应用窗宽窗位设置以突出肺组织和软组织。将窗位(WL)设为-400 HU,窗宽(WW)设为1500 HU。
    1. 在图像可视化软件中打开已转换的NIfTI文件。
    2. 进入图像显示或强度设置面板。
    3. 选择窗宽/窗位调整选项。
    4. 手动将窗位(WL)值设为-400亨氏单位(HU)。
    5. 窗宽(WW)值设为1500 HU。
    6. 确认并应用设置以更新图像显示。
    7. 确认肺实质和肺血管能与骨骼及纵隔结构清晰区分后,再进行后续预处理步骤。
  5. 执行各向同性重采样,确保体素尺寸均匀(例如1 mm × 1 mm × 1 mm),采用三线性插值法。
    1. 使用医学图像处理库在Python环境中加载NIfTI图像。
    2. 从图像头部元数据中提取原始体素间距。
    3. 将目标各向同性间距定义为(1.0, 1.0, 1.0) mm。
    4. 使用公式计算新的图像尺寸:new_size = original_size × (original_spacing / target_spacing)
    5. 初始化一个重采样对象。
    6. 将插值方法设为三线性插值。
    7. 设定目标体素间距为(1.0 mm × 1.0 mm × 1.0 mm)。
    8. 设置计算出的新图像尺寸。
    9. 保留原始图像的方向和原点元数据。
    10. 执行重采样操作。
    11. 将重采样后的图像以NIfTI格式保存,用于后续预处理步骤。
    12. 通过检查图像头部中更新的体素尺寸,验证各向同性间距是否正确。
  6. 应用对比度受限的自适应直方图均衡化(CLAHE)以增强对比度,提高血管结构的可见性。
    1. 在Python环境中导入所需的图像处理库。
    2. 如有必要,将重采样后的三维CT体积通过线性强度归一化,将选定的HU范围映射至0–255,转换为8位灰度格式。
    3. 在轴向平面上逐层处理CT体积,以二维方式应用CLAHE。
    4. 使用以下参数初始化CLAHE对象:clipLimit = 2.0,tileGridSize = (8, 8)。
    5. 对每个轴向切片应用CLAHE函数,以增强局部对比度。
    6. 在完成CLAHE处理后,将各切片重建为三维体积。
    7. 将增强对比度后的体积以NIfTI格式保存,用于后续分割。
    8. 目视验证肺血管是否能与周围实质清晰区分,且无过度噪声放大后再继续。
  7. 目视检查部分预处理图像,确保整个数据集的质量和一致性。
    1. 随机选择至少10%的总数据集进行人工质量评估。
    2. 在医学图像查看器中打开每个选定的预处理体积。
    3. 检查轴向、冠状和矢状平面,验证以下内容:空间方向正确;无截断伪影;窗宽窗位参数应用恰当;成功完成各向同性重采样(体素间距均匀);CLAHE后对比度增强充分。
    4. 确认肺血管能与邻近实质结构清晰区分,且无过度噪声放大。
    5. 将预处理图像与原始HU转换后的体积进行比较,确保预处理步骤未引入畸变或解剖结构不一致。
    6. 记录任何预处理错误,并在必要时对受影响案例重新进行预处理。

2. 人工注释

  1. 从对照组和先天性膈疝(CDH)患者中选择具有代表性的CT扫描子集,用于人工标注。确保解剖学变异性的分布均衡。
    1. 识别来自对照组和CDH队列的所有符合条件的预处理CT扫描。
    2. 排除存在严重运动伪影或肺部覆盖不全的扫描图像。
    3. 从每组中随机选取预定义数量的病例,以确保均衡的代表性。
    4. 确保纳入展示不同解剖变异性的病例,包括肺容积、血管密度以及纵隔移位严重程度的差异。
    5. 在条件允许的情况下,确认所选CDH病例代表不同程度的肺发育不全。
    6. 在开始人工标注前,记录所选病例的标识符。
  2. 将预处理后的NIfTI图像加载到三维医学图像标注工具中。
    1. 打开三维医学图像标注软件。
    2. 创建一个新项目或分割会话。
    3. 点击 文件 > 打开图像(或等效的导入选项)。
    4. 导航至包含预处理NIfTI文件(.nii 或 .nii.gz)的目录并选择图像。
    5. 通过验证轴向、冠状和矢状视图中的正确图像方向,确认图像已成功加载。
    6. 如有必要,调整显示设置以优化可视化效果。
    7. 创建一个新的分割标签或掩膜层,用于存储人工血管标注。
    8. 在开始人工标注前保存项目文件。
  3. 利用轴向、冠状和矢状视图,通过在每个相关切片中勾画血管结构,手动分割肺血管系统。
    1. 激活在步骤2.2中创建的分割标签层。
    2. 在标注软件中选择手动绘图或画笔工具。
    3. 根据血管直径动态调整画笔大小,以确保边界追踪的准确性。
    4. 以轴向切片为主要参考平面,手动勾画可见的肺血管结构,包括动脉和静脉分支。
    5. 排除支气管、气道壁和纵隔组织等非血管结构。
    6. 逐一切片滚动整个肺容积,确保每条血管分支的连续标注。
    7. 在冠状和矢状视图中交叉验证每个已标注区域,以确认解剖一致性并避免不连续性。
    8. 包含小至肉眼可分辨的最小分支,同时避免对噪声伪影进行过度分割。
    9. 定期生成分割结果的三维预览,以验证血管树的空间连续性。
    10. 在进入模型训练前,将完成的分割掩膜保存为NIfTI格式。
  4. 仅标注肺血管,排除心脏、支气管及主要非肺部结构。
    1. 以轴向切片为主要参考,在肺实质内识别肺动脉和肺静脉。
    2. 包括起源于主肺动脉并延伸至肺野远端的肺实质内血管分支。
    3. 排除心腔、心房、心室及大血管。
    4. 通过形态学和管腔特征区分气道结构,排除支气管及支气管壁。
    5. 避免标注纵隔软组织、胸膜及胸壁结构。
    6. 使用多平面视图(轴向、冠状、矢状)确认所标注结构符合预期的血管连续性和分支模式。
    7. 当血管与气道难以区分时,应验证其在相邻切片间的连续性,确认血管走向后再进行标注。
    8. 对分割容积进行最终三维重建,确保仅包含肺血管树。
  5. 如条件允许,咨询临床影像学专家,在标注过程中对模糊区域进行验证。
    1. 识别因对比度低、解剖变形或邻近支气管或纵隔结构而导致血管边界不确定的区域。
    2. 在标注软件中使用临时标签或注释工具标记这些区域。
    3. 将标记区域提交给临床影像学专家进行审查。
    4. 共同查看轴向、冠状和矢状视图,判断该结构是否为肺血管系统。
    5. 根据专家共识修改分割掩膜。
    6. 在最终确定金标准掩膜前,记录所有修正区域。
  6. 通过至少两名独立标注者对每个分割结果进行评审和优化,以实现评分者间验证。若存在分歧,应通过讨论或仲裁达成共识。
    1. 将每个选定的CT扫描分配给两名具有胸部影像分析经验的独立标注者。
    2. 确保标注者独立完成分割,且彼此结果相互盲法。
    3. 在独立标注完成后,使用定量重叠指标(如Dice相似性系数)比较分割掩膜。
    4. 通过计算掩膜间的体素级差异,识别分歧区域。
    5. 在轴向、冠状和矢状平面上联合审查存在差异的区域。
    6. 通过结构化讨论达成共识。
    7. 若分歧持续存在,引入第三位高级评审员进行仲裁,做出最终决定。
    8. 将共识分割掩膜保存为模型训练的最终金标准标签。
  7. 将标注的血管掩膜以与原始CT图像相同的空间分辨率和坐标空间保存。使用一致的命名规范,以NIfTI格式存储。
    1. 确保最终共识分割掩膜以二值标签图形式存储,其中血管体素赋值为1,背景体素赋值为0。
    2. 确认分割掩膜保留与对应预处理CT图像相同的体素间距、图像维度、原点及方向矩阵。
    3. 使用标注软件的导出功能,将分割掩膜导出为NIfTI格式(.nii 或 .nii.gz)。
    4. 采用统一的命名规范,格式如下:SubjectID_Group_VesselMask.nii.gz;例如:CDH_012_VesselMask.nii.gz。
    5. 将掩膜存储在与图像数据集并列的专用目录中,以保持配对一致性。
    6. 通过重新加载CT图像及其对应掩膜进行最终验证,确认在模型训练前实现完全的空间对齐。
  8. 将这些人工标注的分割结果作为模型训练和评估的金标准。

3. 模型训练与验证

  1. 将数据集划分为三个子集:训练集、验证集和测试集。本研究中,使用35例对照和20例先天性膈疝(CDH)病例作为训练集,5例对照和10例CDH病例作为验证集,其余病例保留用于独立测试。
    1. 将所有预处理后的CT图像及其对应的一致性血管掩膜整合为一个单一数据集。
    2. 在患者层面进行数据集划分,以防止子集间发生数据泄露。
    3. 随机分配35例对照病例和20例CDH病例至训练集。
    4. 随机分配5例对照病例和10例CDH病例至验证集。
    5. 将所有剩余病例分配至一个独立的保留测试集,该测试集在模型训练或超参数调优过程中不得访问。
    6. 确保每张CT图像与其对应的分割掩膜在整个划分过程中保持配对。
    7. 验证每个子集中类别分布,以维持对照组和CDH组病例的代表性。
    8. 记录最终的受试者标识符分配情况,以确保可重复性。
  2. 将所有图像的强度值归一化至0到1之间,以提高神经网络在训练过程中的收敛性。
    1. 对每个CT体积数据,首先将强度值限制在预定义的亨氏单位(Hounsfield Unit)范围内,以去除极端离群值。
    2. 进行强度截断处理:将低于−1000 HU的值设为−1000 HU,高于500 HU的值设为500 HU。
    3. 对每个体积数据独立执行最小-最大归一化,变换公式如下:归一化值 = (I − I_min) / (I_max − I_min),其中I_min和I_max分别对应体积数据截断后的最小和最大强度值。
    4. 在计算环境中使用逐元素操作对整个3D体积数据应用归一化。
    5. 在将数据输入神经网络之前,验证所有体素强度值均位于区间[0, 1]内。
    6. 确保归一化参数为每张图像独立计算,以防止训练集、验证集和测试集之间的信息泄露。
  3. 使用深度学习框架(如PyTorch或TensorFlow)实现U-Net卷积神经网络架构。
    1. 在深度学习开发环境中创建新项目,并设置固定随机种子以确保可重复性。
    2. 定义一个2D U-Net架构(图2),用于二值分割,具有编码器-解码器结构和跳跃连接。
    3. 将模型输入设为单通道CT切片(灰度图像),输出设为单通道概率图,表示血管存在的可能性。
    4. 配置最终层使用Sigmoid激活函数,以生成范围在[0, 1]内的输出值。
    5. 定义二值分割的损失函数(例如二元交叉熵),并初始化优化器。
    6. 指定训练超参数,包括批量大小、训练轮数(epochs)和学习率,并记录这些值以供报告。
    7. 准备数据加载器,以一致的随机打乱和批量方式将训练集和验证集数据输入模型。
    8. 保存完整的模型定义和超参数配置,以确保可重复性。
  4. 配置模型采用编码器-解码器结构,引入跳跃连接和批归一化层,以提高分割准确性。
    1. 定义一个由重复卷积块组成的编码器。确保每个块包含:
      两个连续的2D卷积层(卷积核大小3 × 3,padding = 1)
      每次卷积后应用批归一化
      修正线性单元(ReLU)激活函数
    2. 在每个编码器块后应用2 × 2最大池化,步长为2,逐步降低空间分辨率。
    3. 每次下采样后将特征通道数翻倍。
    4. 使用转置卷积(卷积核2 × 2,步长2)进行上采样,定义解码器。
    5. 通过跳跃连接将对应编码器层的特征图与解码器层拼接,以保留空间信息。
    6. 每次拼接后应用两个卷积层,并包含批归一化和ReLU激活。
    7. 使用最终的1 × 1卷积层将特征映射为单通道输出。
    8. 应用sigmoid激活函数,生成体素级概率图用于血管分割。
  5. 训练三种模型配置:
    1. 基线模型(从零开始训练)
      1. 随机初始化U-Net权重(例如He初始化)。
      2. 仅使用人工标注的动静脉数据集作为输入。
      3. 将输入图像调整为512 × 512像素。
      4. 将强度值归一化至[0,1]范围。
      5. 设置批量大小为8(或GPU内存允许的最大值)。
      6. 使用Adam优化器,学习率 = 1 × 10⁻4
      7. 使用二元交叉熵(用于二值分割)或交叉熵损失(用于动静脉分类)。
      8. 训练30轮(epochs)。
      9. 每轮训练后监控验证损失。
      10. 保存对应最低验证损失的模型权重。
      11. 在PyTorch中,遵循步骤3.5.1.13–3.5.1.14。
      12. 定义优化器:torch.optim.Adam(model.parameters(), lr=1e-4)
      13. 定义损失函数:torch.nn.BCEWithLogitsLoss() 或 torch.nn.CrossEntropyLoss()
      14. 训练时使用model.train(),验证时使用model.eval()。
    2. 分割输入模型(辅助血管掩膜输入)
      1. 修改输入层以接受两个通道:
        通道1:CT图像
        通道2:二值血管分割掩膜
      2. 在输入网络前,沿通道维度将CT图像与血管掩膜进行拼接。
      3. 保持架构与基线模型完全相同。
      4. 使用与步骤3.5.1相同的优化器、学习率、批量大小和训练轮数。
      5. 根据验证集F1分数保存表现最佳的权重。
    3. 迁移学习模型(预训练初始化)
      1. 加载在通用血管分割数据集上预训练的U-Net权重(如进展报告所述)。
      2. 前5轮冻结编码器层(可选的稳定步骤)。
      3. 解冻所有层,并在剩余轮次中继续微调。
      4. 微调期间使用降低的学习率 = 5 × 10⁻5
      5. 总共训练30轮。
      6. 训练期间应用水平翻转作为数据增强。
      7. 保存验证F1分数最高的模型。
  6. 使用二元交叉熵损失和Adam优化器,初始学习率为0.001。若验证损失趋于平稳,则自适应降低学习率。
    1. 定义损失函数
      1. 对于二值血管分割,使用带logits的二元交叉熵损失。
      2. 在PyTorch中定义:criterion = torch.nn.BCEWithLogitsLoss()
      3. 若进行多类动静脉分类,则使用:criterion = torch.nn.CrossEntropyLoss()
    2. 定义优化器
      1. 使用Adam优化器,初始学习率为0.001。
      2. 在PyTorch中:optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
    3. 启用自适应学习率降低
      1. 实现学习率调度器,当验证损失不再改善时降低学习率。
      2. 使用ReduceLROnPlateau调度器。
      3. 在PyTorch中:scheduler = torch.optim.lr_scheduler.ReduceLROnPlateau(
        optimizer,
        mode='min',
        factor=0.5,
        patience=5,
        verbose=True
        )
      4. 每轮验证后调用:scheduler.step(validation_loss)
    4. 训练循环配置。
      1. 每轮训练中,执行步骤3.6.4.2–3.6.4.7:
      2. 将模型设为训练模式:model.train()
      3. 执行前向传播。
      4. 计算损失。
      5. 反向传播:loss.backward()
      6. 更新权重:optimizer.step()
      7. 下一轮迭代前清零梯度:optimizer.zero_grad()
      8. 训练阶段结束后,切换至评估模式model.eval(),并计算验证损失。
    5. 早停机制(可选但推荐)
      1. 若验证损失连续10轮未改善,则停止训练,以防止过拟合。
  7. 应用数据增强技术,如随机旋转、翻转和弹性形变,以提高模型鲁棒性并减少过拟合。
    1. 定义增强流程
      1. 仅对训练数据集应用增强。
      2. 对CT图像及其对应分割掩膜应用相同的空间变换。
    2. 随机旋转。
      1. 应用-15°至+15°范围内的随机平面内旋转。
      2. 在PyTorch中(使用torchvision或Albumentations):RandomRotation(degrees=15)
    3. 水平和垂直翻转。
      1. 以概率p = 0.5应用水平翻转。
      2. 以概率p = 0.5应用垂直翻转(若解剖学上可接受)。
    4. 弹性形变。
      1. 应用弹性变换以模拟解剖变异。
      2. 使用较小的形变参数,避免产生不现实的扭曲。
    5. 实现示例(PyTorch + Albumentations)
      1. 训练前定义变换流程:
        transform = A.Compose([
        A.Rotate(limit=15, p=0.5),
        A.HorizontalFlip(p=0.5),
        A.ElasticTransform(alpha=1, sigma=50, alpha_affine=10, p=0.3)
        ])
      2. 在数据集的__getitem__()方法内部应用变换,以确保图像和掩膜同步变换。
    6. 验证集和测试集
      1. 不对验证集或测试集应用增强。
      2. 这些数据集仅使用归一化和调整大小处理。
    7. 质量控制。
      1. 训练前目视检查增强样本,确保解剖学合理性。
      2. 验证掩膜是否与变换后的图像保持对齐。
  8. 训练模型至固定轮数或直至收敛,每轮后在验证集上监控性能。
    1. 定义训练时长
      1. 设置最大训练轮数为30。
      2. 或持续训练直至满足收敛条件(见下文早停机制)。
    2. 训练循环
      1. 每轮训练中,执行步骤3.8.2.2–3.8.2.10:
      2. 将模型设为训练模式:model.train()
      3. 遍历训练集中的所有小批量数据。
      4. 加载一批CT图像及其对应掩膜。
      5. 执行前向传播。
      6. 使用定义的损失函数计算损失。
      7. 反向传播梯度:loss.backward()
      8. 更新模型权重:optimizer.step()
      9. 下一批前清零梯度:optimizer.zero_grad()
      10. 计算该轮的平均训练损失。
    3. 验证步骤(每轮后)
      1. 将模型切换至评估模式:model.eval()
      2. 禁用梯度计算:with torch.no_grad():
      3. 遍历验证数据集。
      4. 执行前向传播。
      5. 计算验证损失。
      6. 计算性能指标(F1分数、精确率、敏感性、DICE分数)。
      7. 记录验证损失和指标。
    4. 学习率调整
      1. 验证步骤后更新调度器:scheduler.step(validation_loss)
    5. 收敛条件
      1. 若验证损失连续10轮未改善(早停),或性能指标趋于平稳,则停止训练。
    6. 模型检查点
      1. 每当验证F1分数提升时,保存模型权重。
      2. 保留表现最佳的模型,用于在测试集上的最终评估。
    7. 日志记录
      1. 存储每轮的训练和验证损失值。
      2. 绘制学习曲线(损失 vs. 轮数),以验证收敛行为。
  9. 根据验证集上最高的F1分数选择表现最佳的模型。
    1. 验证指标跟踪
      1. 每轮训练后,计算验证集上的F1分数。
      2. 将F1分数与对应轮数一并存储。
    2. 模型比较
      1. 比较所有轮次的验证F1分数。
      2. 确定达到最高验证F1分数的轮次。
    3. 模型检查点
      1. 训练过程中,每当验证F1分数提升时保存模型权重。
    4. 最终模型选择
      1. 训练完成后,加载对应最高验证F1分数的权重:
        model.load_state_dict(torch.load("best_model.pth"))
    5. 独立测试
      1. 仅在独立测试数据集上对选定模型进行一次评估。
      2. 不得使用测试集性能进行模型选择。
    6. 可重复性
      1. 记录所选轮次编号及对应的验证指标。
      2. 固定随机种子以确保可重复性。
  10. 保存训练好的模型权重和配置,用于后续的分割任务。

4. 分割与骨架化

  1. 加载训练好的 U-Net 模型,并将其应用于独立测试集中的预处理 CT 扫描图像。
  2. 对每例扫描图像,通过在模型的概率输出上应用阈值,生成肺血管系统的二值分割掩膜。
  3. 目视检查分割结果,确认其解剖学合理性,特别是在受先天性膈疝(CDH)引起的形变影响的区域。
  4. 利用软件中实现的 3D 细化算法,将分割得到的 3D 二值掩膜转换为骨架化表示。
  5. 采用广度优先搜索算法对血管骨架进行标记,将肺动脉主干指定为根节点,并根据连接关系为各分支分配代数层级。
  6. 通过设定最小体素尺寸或分支长度阈值,去除可能由噪声或分割误差导致的小型孤立成分或虚假分支。
  7. 将骨架化结构保存为支持 3D 网格或图分析的格式(如 VTK 或 SWC),以便进一步进行形态计量分析。

5. 形态计量特征提取

  1. 加载由分割后的CT图像生成的骨架化血管图。
  2. 通过遍历分叉点与末端节点之间的图结构,识别所有独立的血管分支。
  3. 通过汇总血管图中所有已识别的节段,计算分支总数。
  4. 沿骨架结构,对相连体素间的欧几里得距离求和,以计算每个分支的长度。
  5. 对每位受试者骨架中所有分支的长度取平均值,确定平均分支长度。
  6. 从主肺动脉开始将分支分配代数层级(设为主代0),并通过广度优先遍历在每次分叉时代数加一。
  7. 通过确定从根节点到任意末端分支的最长路径,计算远端最大代数。
  8. 通过确定从任意外周分支返回根节点的最长路径,计算近端最大代数。
  9. 将所有形态计量学特征以结构化电子表格或数据库格式(如CSV或SQL)存储,包含受试者标识符、诊断分组及提取的指标。
  10. 对部分骨架图及其对应的形态计量特征进行视觉检查,以确认其准确性与生物学合理性。

6. 分类分析

  1. 导入包含形态测量特征(如总分支数、平均分支长度、远端和近端代数深度)及相应诊断标签(CDH 或对照组)的结构化数据集。
  2. 采用分层抽样方法将数据集划分为训练集和测试集,以保持类别分布的一致性。
  3. 使用标准机器学习库实现随机森林和决策树分类器。
  4. 根据交叉验证的表现配置模型参数,例如随机森林的估计器数量(如 100 棵树)和最大深度。
  5. 使用数据的训练子集对每个分类器进行训练。
  6. 在独立保留的测试集上评估分类性能,以准确率作为主要评价指标。
  7. 生成混淆矩阵,以评估 CDH 检测的真阳性、真阴性、假阳性和假阴性率。
  8. 比较随机森林与决策树分类器的性能,并选择准确率最高的模型用于报告代表性结果。
  9. 如适用,使用柱状图、ROC 曲线或决策树可视化分类结果,并保存输出文件以用于图表展示。
  10. 记录所有模型参数、性能指标以及对数据应用的任何预处理步骤,以确保实验可重复。

访问受限。请登录或开始试用以查看此内容。

结果

采用迁移学习训练的深度学习模型在所有配置中表现出最高的分割性能,在独立测试集上的精确率为0.714,灵敏度为0.706,F1分数为0.672。从零开始训练的基线模型性能有所下降(精确率:0.703,灵敏度:0.589,F1分数:0.551),而分割输入模型的表现居中(F1分数:0.630)。

分割完成后,形态计量分析显示,与对照组相比,先天性膈疝(CDH)患者的血管复杂性显著降低(表1)。具体而言,CDH患者的血管分支总数平均值(949.60 ± 639.78)低于对照组(2596.33 ± 984.45)。CDH组的平均分支长度(10.91 ± 2.46 mm)也短于对照组(13.94 ± 2.76 mm)。远端代数计数在CDH组(31.27 ± 16.14)较对照组(83.83 ± 36.62)明显减少,近端代数计数亦如此(CDH组:53.91 ± 30.95;对照组:105.37 ± 28.14)。

利用这些形态计量学特征,随机森林分类器在区分先天性膈疝(CDH)与对照组病例时,整体分类...

访问受限。请登录或开始试用以查看此内容。

讨论

本方案中有多个步骤对于获得准确且可重复的结果至关重要。图像预处理阶段必须谨慎执行,特别是转换为亨氏单位(Hounsfield Units)以及窗宽窗位设置(WL = -400 HU,WW = 1500 HU),因为这些参数决定了血管结构的可见性14,15,16,17。骨架化过程同样需要精确的参数调节,以避免产生虚假分支或断开的组分,从而影响形态测量结果的准确性9,10。尽管人工标注的规模有限,但仍需保持一致性,并由多位专家进行验证,以确保为模型训练提供高质量的真实参考标准。

该方案可根据不同的成像方式或患者群体进行调整。例如,尽管本研究采用了出生后CT图像,但通过调整预处理步骤和模型输入参数,该流程也可适用于胎儿...

访问受限。请登录或开始试用以查看此内容。

披露

作者无财务披露需要声明。

致谢

Emrah Aydin 获得了土耳其科学技术研究理事会(TÜBİTAK)2219 国际博士后研究奖学金项目(针对土耳其公民,项目编号:1059B191501313)的支持。Aslıgül Aksan 和 Mustafa Ekrem Erkan 获得了土耳其科学技术研究理事会(TÜBİTAK)2209-A 本科生研究项目支持计划的支持。

访问受限。请登录或开始试用以查看此内容。

材料

本文使用的材料清单
姓名公司目录编号评论
分析软件 12.0AnalyzeDirecthttps://analyzedirect.com/用于 CT 图像的查看、编辑和测量
CT 扫描数据(出生后胸部扫描)机构档案库N/A先天性膈疝(CDH)和对照组新生儿的回顾性数据集
dcm2niix开源(GitHub)https://github.com/rordenlab/dcm2niix将 DICOM 格式转换为 NIfTI 格式
ITK-SNAP开源(http://www.itksnap.org)http://www.itksnap.org三维医学图像标注工具
NetworkX开源https://networkx.org用于基于图的血管树分析
OpenCV(CLAHE 函数)开源https://opencv.org用于图像对比度增强
Pandas、Numpy开源https://pandas.pydata.org, https://numpy.org用于数据管理和数值运算
Python 3.8+Python 软件基金会https://www.python.org用于分析和模型开发的编程语言
PyTorch 1.13+Meta AIhttps://pytorch.org用于实现 U-Net 的深度学习框架
Scikit-image开源https://scikit-image.org图像处理库,用于骨架化处理
Scikit-learn开源https://scikit-learn.org用于分类任务的机器学习库
Ubuntu 20.04 LTSCanonicalhttps://ubuntu.com所有处理流程中使用的操作系统
配备 NVIDIA RTX 3090 GPU 的工作站NVIDIAhttps://www.nvidia.com训练深度学习模型所必需的硬件

参考文献

  1. Keijzer, R., et al. Dual-hit hypothesis explains pulmonary hypoplasia in the nitrofen model of congenital diaphragmatic hernia. Am J Pathol. 156 (4), 1299-1306 (2000).
  2. Aydin, E., et al. The survivorship bias in congenital diaphragmatic hernia. Children. 9 (2), 218(2022).
  3. Harting, M. T. Congenital diaphragmatic hernia-associated pulmonary hypertension. Semin Pediatr Surg. 26 (3), 147-153 (2017).
  4. Kool, H., et al. Pulmonary vascular development goes awry in congenital lung abnormalities. Birth Defects Res C Embryo Today. 102 (4), 343-358 (2014).
  5. Leeuwen, L., Fitzgerald, D. A. Congenital diaphragmatic hernia. J Paediatr Child Health. 50 (9), 667-673 (2014).
  6. Aydin, E., et al. Optimization of pulmonary vasculature tridimensional phenotyping in the rat fetus. Sci Rep. 9 (1), 1244(2019).
  7. Aydin, E., et al. Pulmonary vasculature development in congenital diaphragmatic hernia: a novel automated quantitative imaging analysis. Pediatr Surg Int. 40 (1), 1244(2024).
  8. Memon, N. A., Mirza, A. M., Gilani, S. A. M. Segmentation of lungs from CT scan images for early diagnosis of lung cancer. World Acad Sci Eng Technol. 20, 1050-1055 (2008).
  9. Fetita, C., Brillet, P. Y., Preteux, F. J. Morpho-geometrical approach for 3D segmentation of pulmonary vascular tree in multi-slice CT. Proceedings of SPIE - The International Society for Optical Engineering. , (2009).
  10. Orkisz, M., et al. Segmentation of the pulmonary vascular trees in 3D CT images using variational region-growing. IRBM. 35 (1), 11-19 (2014).
  11. Fabijanska, A. Segmentation of pulmonary vascular tree from 3D CT thorax scans. Biocybern Biomed Eng. 35 (2), 106-119 (2015).
  12. Zhai, Z., Staring, M., Stoel, B. C. Lung vessel segmentation in CT images using graph-cuts. , SPIE Medical Imaging. San Diego, California, United States. (2016).
  13. Khanna, A., Londhe, N. D., Gupta, S. Detection of pulmonary vessels in 3D lung CT using improved graph cut. 2018 5th International Conference on Signal Processing and Integrated Networks (SPIN), Noida, India, , (1109).
  14. DenOtter, T. D., Schubert, J. Hounsfield Unit. , StatPearls Publishing. Treasure Island, FL. (2023).
  15. Detection and classification of brain hemorrhage based on Hounsfield values and convolution neural network technique. Phan, A. C., Nguyen, T. M. N., Phan, T. C. 2019 IEEE-RIVF International Conference on Computing and Communication Technologies (RIVF), Danang, Vietnam, , (2019).
  16. Xue, Z., et al. Window classification of brain CT images in biomedical articles. AMIA Annu Symp Proc. 2012, 1023-1029 (2012).
  17. Contrast-limited adaptive histogram equalization: speed and effectiveness. Pizer, S. M., et al. Proceedings of the First Conference on Visualization in Biomedical Computing, Atlanta, GA, USA, , (1990).
  18. Moccia, S., De Momi, E., El Hadji, S., Mattos, L. S. Blood vessel segmentation algorithms – Review of methods, datasets and evaluation metrics. Comput Methods Programs Biomed. 158, 71-91 (2018).

访问受限。请登录或开始试用以查看此内容。

重印与许可

标签

U Net
视频即将推出