1. 前言
肌少症是一种因持续骨骼肌量流失、强度和功能下降而引起的综合征,是老年人生理功能逐渐减退的重要原因和表现之一。近年来,肌少症的定义不断完善,现将其定义为随年龄增长,肌肉数量、质量及其力量与功能逐渐降低,肌肉质量常用肌肉脂肪变性的程度进行临床评估[1]。目前,常用的肌肉量检查方法包括双能X射线吸收法(DXA)、生物电阻抗分析(BIA)、超声(US)、计算机断层扫描(CT)和磁共振成像(MRI)等[2]。在CT图像中,CT值(Hounsfield Unit, HU)常用于评估肌肉和肌肉脂肪的密度。CT检查不同于MRI,能够对肌肉的表面积、密度以及脂肪浸润程度进行精准定量测量,并且具有较高的可靠性。使用CT影像测量肌肉和肌肉脂肪的表面积和密度已得到广泛认可,是诊断肌肉质量的金标准[3]。
目前,大部分临床实践或科学研究高度依赖于研究者的手动分割,手工分割骨骼肌是一项繁琐且耗时的工作,除了受到操作者主观因素的影响外,低下的效率同样限制了其在常规临床实践中的应用[4]。近年来,深度卷积神经网络在图像自动分割任务中表现出色,其中U-Net系列模型[5]-[9]在医学图像处理领域被广泛应用。然而,随着分割一切模型(Segment Anything Model, SAM)的出现[10],研究者们开始关注新的方向。SAM通过提示词辅助,实现了对图像中任意目标的交互式分割,并且由于其庞大的训练数据,在少样本分割任务中也表现出色,这对于数据获取困难的医学图像分割任务具有重要意义。在不断改进和迭代后,分割一切模型2 (Segment Anything Model 2, SAM2)在2024年被提出[11],SAM2是SAM的改进版本,增加了对3D图像的分割功能。
然而,SAM系列模型(SAM, SAM2)在医学图像分割上的表现并不理想,因此一些研究者利用现有的公共医学影像数据集对SAM进行了微调,开发出了MedSAM [12]。尽管如此,SAM系列模型和MedSAM模型在骨骼肌分割方面仍存在局限性,且目前尚无完成标注工作的骨骼肌分割数据集被公开。因此,实现骨骼肌的自动分割仍需进行人工标注,并对模型进行训练和微调。标记医学影像数据是一个高成本的工作,且受限于数据的隐私控制问题,模型的训练还需要在少样本条件下进行。此外,SAM系列模型和MedSAM都是交互式分割模型,在实际应用中仍需一定的人工辅助,难以满足大规模数据批量处理的需求,例如在相关医学研究中对大规模人群数据进行分析的场景。
为了在少样本条件下训练出高精度的骨骼肌全自动分割模型,我们充分利用了大模型在这方面的优势,且考虑到研究的可持续性,我们选择了SAM系列大模型中的SAM2作为基础模型进行改进,因为SAM2同时具备在2D影像和3D影像上进行分割的能力。综上所述,我们在本文中提出了一种基于SAM2的少样本骨骼肌全自动分割方法。
2. 材料与方法
2.1. 数据集
我们使用了来自温州地区单一医疗中心在2016年至2020年间招募的参与者的胸部常规检查CT影像。本研究已通过该医院伦理委员会批准,并严格按照《赫尔辛基宣言》进行,以确保研究过程的合规性和研究结果的可靠性。所有入选患者均签署了知情同意书。
从这些患者的影像检查中,我们挑选出具有较高诊断价值的T12水平面图像。所有T12水平图像均由两位经过专业训练的临床医学生手动筛选,并对这些图像进行了骨骼肌与肌间脂肪的手动标记,作为训练和测试自动分割模型的必要材料。参与标记工作的研究人员对这些患者的临床信息完全不知情。标记工作完成后,由一位资历深厚的专业副主任医生进行检查,未达到要求的样本会重新进行标注,以确保数据标注的准确性。
2.2. 图像预处理
根据医学成像方面的先验知识,骨骼肌与肌间脂肪的HU取值范围介于−190至150之间[13],因此在整个实验过程中仅观察窗位为0、宽度为400的窗口,即−200~200 HU的部分。预处理前后图像效果见图1。
Figure 1. Instances of the comparison before and after image preprocessing
图1. 图像预处理前后的对比示例
2.3. SAM2
SAM是一种用于通用图像分割的大模型,能够在各种场景和任务中实现高效且准确的图像分割。通过在大规模、多样化的数据集上进行预训练,SAM能够泛化到多种不同的图像分割任务中,包括语义分割、实例分割和全景分割等,并具备出色的零样本分割能力。SAM2是SAM的改进版本,相较于SAM,SAM2增加了对视频处理的支持,并引入了记忆模块以有效处理视频。这一特性也使得SAM2能够应用于3D医学图像的分割任务。
我们利用标记好的T12水平CT影像对SAM2的Mask解码器进行微调,训练过程中编码器的参数全部冻结。SAM2的Mask解码器结构如图2所示。
Figure 2. Architecture of the Mask decoder
图2. Mask解码器架构图
2.4. YOLOv10
You Only Look Once (YOLO)广泛应用于实时目标检测任务,通过神经网络结构定位和分类图像中的物体,并生成矩形框标识目标物体的位置。YOLO的运行效率极高,几乎不需要额外的时间成本。YOLO已经迭代了多个版本,其中YOLOv10通过改进模型结构,并利用双标签分配和一致的匹配度量代替冗余的后处理过程,有效提高了检测效率和精度。YOLOv10在各种目标检测任务中的出色表现,使其广泛应用于监控系统和自动驾驶系统中。我们计划将其应用于医学影像分割任务,为SAM2提供分割提示词。
2.5. 提示词生成
Figure 3. Flowchart of the proposed methodology
图3. 提出的方法流程图
作为交互式分割模型,SAM需要用户输入提示词,提示词包括坐标点、矩形区域或粗分割掩膜。由于点提示词对分割精度的提升有限,而粗分割掩膜需要耗费较多的人力,我们选择使用矩形区域作为提示词。提示词的矩形区域由微调后的YOLOv10 [14]生成,微调过程中仅使用训练集数据。对于YOLO未识别到的样本,根据骨骼肌与肌间脂肪的HU值自动生成,将图像中符合阈值范围的所有像素点包裹在内。最后,我们根据这些生成的提示词对骨骼肌进行分割。总之,我们采用的方法如图3所示。
3. 模型与评估指标
3.1. 模型选择
SAM2具备强大的3D分割能力,同时支持2D分割。鉴于后续工作将扩展至骨骼肌的3D分割,本次评估直接采用SAM2。此外,使用U-Net的分割结果作为基线进行测试。用于生成提示词的模块选择了易于获取的YOLOv10。
3.2. 损失函数
我们采用交叉熵损失(Cross-Entropy)和Dice损失组成的复合函数作为最后训练SAM2的损失函数。
CE损失函数是分类问题中常用的一种损失函数,通过衡量预测分布与真实分布之间的差异,指导模型的参数更新。它在二分类和多分类问题中都有广泛应用,并且在神经网络训练、语言模型等领域中发挥重要作用。分割问题可以视为对图像进行前景和背景进行分类,因此CE损失函数也常被用于分割模型的训练当中。CE损失函数表达式为:
其中,H、W分别为图像的高度、宽度,y为真实值,p为预测值。
Dice损失函数是一种常用于图像分割任务的损失函数,特别是在医学图像分割这类需要精确分割的领域。其原理是通过最大化预测分割与真实分割之间的重叠来优化模型,与交叉熵损失函数不同的是,Dice损失函数更关注分割结果的整体形状和区域重叠,更适合用于不平衡数据和需要精确分割的任务。Dice损失函数表达式为:
式中,H、W分别为图像的高度、宽度,y、p分别为真实值、预测值。
最终我们使用的损失函数为CELoss与DiceLoss之和,表达式为:
L = CELoss + DiceLoss
3.3. 评估方法及指标
评估结果依据肌肉HU阈值范围的先验知识进行后处理,预测结果中−29至150 HU的区域被认定为肌肉,其余区域被排除。
本研究在验证集上使用Dice相似度系数(Dice Similarity Coefficient, DSC)为主要指标。Dice系数公式为:
其中,TP表示真正例像素的数量。FP和FN分别表示假正例和假负例像素的数量。
由于最终的分割结果主要用于获取骨骼肌面积,因此我们对平均面积偏差和最大面积偏差也进行了评估。平均面积偏差和最大面积偏差表达式分别为:
其中,N表示总样本数量,
表示实际面积,
表示预测面积。
最后,我们将测试集的分割结果提供给专家进行评价,评价分为三个等级:
1) 分割结果可接受,达到专家水平;
2) 分割结果在临床上可接受,与专家分割的面积有10%以内的差异;
3) 分割结果不可接受,与专家分割的面积差异超过10%。
4. 实验
4.1. 实验方法
实验在配备4个RTX4090 GPU、2个Intel Xeon Platinum 8336C CPU和256 GB RAM的设备上进行,使用Python 3.11.5。数据集在样本有限的条件下平分为训练集和验证集,各包含16个样本,并提供180个样本的测试集。最终取验证集上骨骼肌与肌间脂肪混合区域DSC得分最高的一轮训练结果进行测试。
实验中,YOLOv10选择预训练模型版本为YOLOv10-S,微调时仅使用训练集中的16个样本。SAM2微调时的Batch size设置为2,最多训练300轮,学习率设置为6e−5。无提示词对照组采用固定的矩形框作为提示词,固定矩形框区域包括整张图像,如图4所示。
Figure 4. Examples of a sample prompt word with a fixed rectangular box
图4. 采用固定矩形框提示词的样本示例
4.2. 实验结果
分割结果评分见表1。传统U-Net结构下DSC得分为0.8763,平均面积偏差为5.96,最大面积偏差为25.09 cm2。采用固定矩形框作为提示词的方法时,SAM分割的DSC评分为0.8887,平均面积偏差为5.62 cm2,最大面积偏差达到21.03 cm2。而通过YOLO生成的矩形框作为提示词时,DSC评分提高为0.9025,平均面积偏差减少到5.12 cm2,最大面积偏差减少到16.43 cm2。
分割结果表明,传统U-Net结构在样本较少的情况下,对于骨骼肌的分割存在一定的误差,尤其是在最大面积偏差方面,可能会影响临床应用的精度。相比于传统U-Net,固定矩形框提示词的方法在DSC评分和面积偏差上都有所改进,尤其是最大面积偏差减少了约4 cm2,表明该方法在一定程度上提高了分割的精度和稳定性。另外,与前两种方法相比,使用YOLO生成的矩形框提示词显著提高了分割的准确性,具体来说,DSC评分提高了约0.014~0.026,平均面积偏差减少了约0.5 cm2至0.84 cm2,最大面积偏差减少了约4.6 cm2至8.66 cm2。这些改进表明,通过YOLO生成的矩形框提示词能够更准确地定位骨骼肌区域,从而提高分割结果的精度和一致性。
Table 1. Results of the evaluation of the segmentation
表1. 分割评估结果
方法 |
DSC |
平均面积偏差(cm2) |
最大面积偏差(cm2) |
U-Net |
0.8763 |
5.96 |
25.09 |
SAM (Fixed box) |
0.8887 |
5.62 |
21.03 |
SAM (YOLO box) |
0.9025 |
5.12 |
16.43 |
经过专家的评估后,测试集评分结果见表2。
Table 2. Evaluation results of the test set
表2. 测试集评价结果
可接受程度 |
数量 |
比例 |
可接受(<5%) |
93 |
51.67% |
临床可接受(5%~10%) |
60 |
33.33% |
不可接受(≥10%) |
27 |
15.00% |
评估结果表明,测试集上超过半数的分割结果可以达到专家的分割水平,而有85%的分割结果在临床诊断中可以被接受,但也有15%的分割结果存在着较大误差,无法被使用。
综上所述,通过YOLO生成的矩形框提示词的方法在骨骼肌分割任务中表现出显著的优势,不仅提高了分割的精度,还减少了面积偏差,特别是最大面积偏差的显著减少,表明该方法在进行骨骼肌的少样本分割训练时具有更高的鲁棒性和可靠性。
5. 结论
本研究提出了一种基于SAM2的胸部CT影像骨骼肌全自动分割方法,仅需少量人工标注即可实现高精度分割。实验结果显示,在小样本数据条件下,我们的方法分割精度超过了传统U-Net架构的0.8763。固定矩形框模式下,SAM2分割结果的DSC得分为0.8887,而使用YOLOv10提供的矩形框后,DSC得分提升至0.9025。相比固定矩形框,通过YOLOv10生成的矩形框作为提示词能够提高SAM2的分割精度。此外,该方法在批量处理大规模数据时减少了人力开销,适用于快速分析庞大人群影像数据的场景。
尽管目前模型在T12平面上实现了高精度骨骼肌分割,但由于不同平面之间的差异,完成胸部CT其他平面的骨骼肌分割仍面临巨大挑战。我们接下来的计划是通过选取尽可能少的平面实现高精度的3D分割。