社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

基于深度学习MR体部脂肪组织的自动分割和定量测量

放射学实践 • 3 年前 • 562 次点击  

【摘要】目的:研究应用基于深度学习的3D-Unet网络模型在MRI图像中分割体部脂肪组织并生成定量结果的可行性。法:回顾性搜集2020年4月1日到8月5日本院体部MR(包含GRE DIXON序列脂像)中符合入组标准的扫描病例用于模型训练。共搜集53例患者67个数据包括胸部、腹部、盆腔图像各20、24、23例。由2名影像医生行图像标注,先以阈值分割方法将图像二值化,将脂肪组织分为皮下、肌骨、内脏3个区域,手工标注皮下脂肪、内脏脂肪得到标签。训练3D U-Net模型时将67个数据随机分为训练集(n=52)、调优集(n=6)和测试集(n=9)用于模型建立与评估。通过Dice系数、影像科医师评分来评价分割结果。根据分割结果生成脂肪体积、平均脂肪体积、脂肪比例、体部平均径线等结果,自动导入到结构化报告中。应用Wilcoxon配对检验、Pearson相关性分析、Bland-Altman分析、组内相关系数(ICC)将医师手工标注结果与模型输出结果比较。结果:内脏/皮下脂肪组织在模型训练集、调优集、测试集Dice系数分别为0.89/0.94;0.89/0.95和0.90/0.95。模型预测及手工标注内脏/皮下脂肪组织输出图像主观评分无统计学差异(p>0.05)。各部位模型预测结果生成脂肪体积、平均脂肪体积、脂肪比例、体部径线与医生手工标注结果之间的Pearson系数为0.968-1,ICC值为0.982-1,Bland-Altman分析显示良好的一致性。结论:MR图像基于深度学习行体部脂肪组织自动分割和定量测量可在技术上实现并有可能进一步研究此模型的临床应用价值。

【关键词】磁共振成像;深度学习;脂肪组织;分割;结构化报告


脂肪组织是人体最大的隔室之一,由于肥胖及相关代谢异常的发生率日益增高,临床评价肝脏代谢异常、糖尿病患者情况时要求评价全身脂肪定量信息。除了脂肪定量,脂肪分布也与疾病有相关性,已有明确证据提示内脏脂肪过度沉积导致患者发生心血管疾病和代谢性疾病风险明显增加。因此无创地分割和准确测量脂肪组织体积的需求日益显现出来。测定总体脂和局部体脂方法很多如简易参数测量法(body mass index,BMI;waist–hip ratio,WHR)、生物电阻抗法、双能X线吸收法(dual-energyX-ray absorptiometry,DEXA)、CT、MRI和超声等。MR有多种扫描序列可选择性地对脂肪组织成像,可无创、准确地显示局部脂肪分布,与其他影像学检查相比有明显优势。

虽MR图像可很好地显示脂肪组织,但在临床工作中仍不能对每个病例都准确地定量测量脂肪组织体积,不能将患者各个部位、不同区域脂肪体积生成在影像报告中限制了MR脂肪定量实际临床应用。近年来深度学习技术在医学图像处理中有了长足的进步,多种基于深度学习软件可用于医学图像分割、分类和目标检测等并能将多种测量结果自动传入结构化报告中可达到与医生相似报告结果,大大提高了影像医生的工作效率。本研究训练3D-Unet网络模型,在MRI图像中分割体部脂肪组织并生成定量测量结果,初步探索这种技术在临床应用的可行性。

图1 应用多种方法显示同一层面分割结果。a)填充图示分割区域覆盖范围及边界;b)手工标注-模型预测重叠图,红色为手工标注范围,蓝色为模型预测范围,可直观显示两种方法分割区域差别;c)手工标注-模型预测差值图示两种方法分割有差别区域主要集中在脏器边缘。

图2 模型输出的皮下及内脏脂肪自动分割结果。蓝色区域为皮下脂肪,红色区域为内脏脂肪。a)胸部;b)上腹部;c)盆部。


图3 MR脂肪定量结构化报告示例


图4 各部位脂肪分割结果主观评分各分数比例。a)皮下脂肪;b)内脏脂肪。

图5 客观评价手工标注与模型预测结果Bland-Altman分析散点图(所有部位,n=67)。a) 脂肪体积;b) 平均脂肪体积;c)皮下脂肪与内脏脂肪比例;d) 左右径及前后径。

随着代谢综合征危害性逐渐被认识,使用医学影像方法对脂肪组织的体积进行定量测量成为重要的临床需求。目前可在体部CT图像上进行脂肪分割的软件包有NIHImage、SliceOmatic、Analyze、HippoFat和EasyVision等,能够手动、自动与全自动地进行CT图像上腹部脂肪分割。但是这些软件对操作者经验依赖性很强,耗时较长,多数用于科学研究,在临床实际工作中不易广泛推广应用。虽然CT图像脂肪分割扫描更加快速、便捷,应用更广,但是应用CT进行以脂肪分割为目的的检查时需要考虑射线造成辐射剂量问题。而MR具有无辐射优势且GRE DIXON、PDFF等序列扫描速度快,因此可以对患者进行大范围扫描,对研究脂肪代谢、脂肪与疾病关系等有着较大优势。另外,在MR图像上脂肪与其他软组织对比也优于CT,当脂肪间隔较小时也可以更好地进行分割。近年来,在MR图像上基于图像处理和深度学习的脂肪分割方法也有报道,基本深度学习的脂肪检测方法在实际工作中有很高适应性与稳定性。

本研究结果显示3DU-Net模型用于脂肪分割可很完整地计算脂肪组织的多种定量参数,主观评价和客观评价的结果均较好,与既往研究结果类似。本研究进一步将模型生成的测量结果自动地填写入结构化报告,配合关键图像可直观地显示给患者和临床医生。本研究对不同部位、不同设备MR图像进行了测度,基于目前小样本结果可认为模型适应性强,测量结果稳定性好。未来将脂肪分割AI与体部定位AI相结合可轻松完成图像中各部位脂肪含量的单独计算,为脂肪定量和疾病临床分型提供便捷而有效途径。未来模型的应用场景既可以是全身MR成像也可用于局部图像。用更多数据训练后还有望用于其他与脂像图像性质相似的序列如T1WI等。所以,脂肪定量报告既可以适用于专门行脂肪定量MR检查也可用于其他适MR检查。由于模型处理图像和自动生成报告几乎不需要医生付出额外的人力,这种附加信息可以方便地生成在所有适用的检查项目中,为临床评价和科学研究提供大量基础数据。

本研究在数据标注过程中使用了阈值分割做初步处理,提高了标注的效率。阈值分割的输出结果可将脂肪与其他结构区分开,但不能区分皮下脂肪与内脏脂肪。因此,本研究中把阈值分割做为初步标注的工具,首先应用阈值分割将图像二值化,再由医生在二值图中标注皮下脂肪和内脏脂肪区域。之后应用深度学习的方法对不同部位脂肪进一步的分割,将脂肪区域分为皮下脂肪、内脏脂肪等不同区域。使用阈值分割做标注的作用提高了人工标注效率,深度学习的作用是对不同脂肪间隔做分类。目前主流的图像分割技术主要基于阈值、区域、边缘和特定理论的分割方法等。通过图像分割技术把图像分为具备不同特征的区域以提取出感兴趣区,在有些情况下可以直接完成临床任务。既往有研究者尝试在CT图像中用阈值分割的方法测量脂肪体积取得了一定效果,但也有瑕疵。MR图像对比丰富,不可能通过简单的阈值分割方法直接完成单一组织分割,但在阈值分割基础上再进行标注可提高标注效率,对模型训练是有益的。本研究使用了基于直方图的阈值分割,未来分割还可使用尝试利用多种自适应的优化方法,从基于图像特征如图像灰度值特征、目标边界特征、纹理特征、形态学特征等到利用基于这些特征所计算提取出高级别特征如信息熵、能量泛函等等。相信有效的预处理方式会提高标注的效率且可尝试将预处理图像作为模型训练时输入数据与MR原始图像共同学习,对提升模型预测准确性可能有一定帮助。

本研究有一定的局限性。首先,脂肪分割参考标准是由医生标注的,未获取组织学定量测量值做为金标准,在活体成像脂肪组织分割同类研究中基本都是相似的。其次,由于本研究为回顾性研究,所获得图像扫描范围不能严格定义,只能把图像大致区分为胸部、腹部、盆部,这3个区域在不同患者之间扫描范围不一致导致不能评价患者间的脂肪定量值差异,未来应规范扫描序列才有可能用模型自动测量进行人群流行病学分析。第三,对脂肪间隙标注时我们仅把脂肪区域简单地区分为皮下脂肪、肌骨脂肪和内脏脂肪,而对重要的细分结构没有标注出来如皮下脂肪可细分为浅层脂肪和深层脂肪;肌骨脂肪可细分为肌间脂肪、肌内脂肪和骨髓脂肪组织,内脏脂肪还可以细分为心包脂肪、肾周脂肪和肾窦脂肪等区域;对于主要为脂肪成分特殊区域如腋窝、腹股沟等也未单独进行标注,未来可针对特定临床需求单独分割。

总之,在MR图像上应用基于深度学习方法行体部脂肪组织自动分割和定量测量可在技术上实现。此模型处理数据重复性和稳定性高,有望用于临床工作中脂肪定量报告的自动生成可减少医生的测量时间。


作者:王可(1989-),女,北京人,博士,主治医师,研究方向:体部影像学,人工智能影像学应用。

通信作者:王霄英,Email:wangxiaoying@bjmu.edu.cn

基金:本研究由“北大医学青年科技创新培育基金”资助


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/116912
 
562 次点击