社区所有版块导航
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学习  »  机器学习算法

仅需一点点深度学习的魔法配方,这篇影像组学文章竟发到了顶刊Radiology!

解螺旋 • 1 年前 • 262 次点击  

大家好,我是鑫仔。今天分享一篇2022年发表于放射学顶刊Radiology的一篇题为 Calcium Scoring at Coronary CT Angiography Using Deep Learning 的深度学习联合影像组学文章。基于深度学习算法,建立了自动从冠脉CTA(血管造影CT)得到的冠脉钙化积分(CAC)模型。避免了在冠脉CTA前通过单独平扫CT量化钙化积分产生过多辐射的风险。

         

 

题目要素拆解

研究疾病斑块负荷(钙化积分)

应用算法深度学习算法U-Net,3D CNN

构建模型冠脉钙分割模型,CAC评分回归模型

数据来源冠脉CTA,虚拟非对比CT,非对比CT

研究目的从单独的CTA扫描中自动量化CAC评分,减少平扫CT辐射


知识背景

冠脉钙化积分CACS

冠脉钙化积分(Coronary Artery Calcification Score, CACS)是使用CT对冠脉整体的钙化情况进行量化评估,目前常用的计算方法有Agatston积分、体积积分和质量积分。本文应用的是目前最常见的Agataton积分。


Agatston积分计算的原理为钙化密度赋分×钙化面积。首先根据病变的CT值进行赋分,130-199 HU为1分,200-299 HU为2分,300-399 HU为3分,400 HU及以上为4分,然后乘上钙化面积(以mm2计),最后将CT所有截面中各个冠脉的评分相加,得到总钙化评分。

         

钙化积分与斑块负荷显著正相关,可以准确评估斑块负荷,从而预测心血管疾病风险。0分表示无明显斑块负荷,1-99分表示轻度斑块负荷,100-399分表示中度斑块负荷,≥400分可能会有重度斑块负荷。

通过对比剂增强的冠状动脉CTA是临床上最常用的一种简单有效而无创的冠状动脉疾病诊断的方法。但是由于造影剂导致血管与钙化不易区分,在冠脉CTA中不能进行钙化积分计算。因此传统钙化评估需要基于额外的CT平扫图像,采用半自动方法进行计算。加重了患者的健康负担。

U-Net算法

U-Net是比较早的使用全卷积网络进行语义分割(Segmentation)的算法之一,由于网络具有U型的结构而的名U-Net,是一个经典的全卷积网络(即网络中没有全连接操作)。

U型的左半部分是一个编码器(文章称作contracting path),由三个卷积层(3x3,激活函数=ReLU,Pedding=VALID)和一个Max Pooling(2x2,步长=2)构成一个Block,总共有四个Blocks。输入一张572x572的图片,每组进行连续两次卷积操作后池化(Max Pooling),每次池化后特征空间翻倍,经过四次池化,最终得到了尺寸为32x32的特征图。

U型的右半部分是一个解码器(文章称作expansive path),同样由4个Blocks组成。通过将压缩路径的Feature Map裁剪到和扩展路径相同尺寸(左边虚线)的Feature Map进行归一化,叠加反卷积,最终数据结果为2个尺寸为388x388的分割图(二分类任务)。


以上只是对算法的简单理解,其实为了能更好的处理图像的边界像素,U-Net使用了Overlay-tile Strategy(给输入图像周围加一圈对称的边,左图白色)来解决该问题。

好了,了解了这些对本文的理解已经没什么问题了。本算法的数据早已开源,想仔细研究算法推荐去看原文哦~



虚拟非对比CT(VNC)

是双能CT的另一个潜在应用,可以在识别碘体素后,去除CT中的碘成分,创建虚拟的非对比图像,即没有碘对比剂的增强图像。在本文中,该方法可以避免手动注释钙区域的劳动密集型和易出错的任务。使用光谱CT和CTA(均为双能CT)上获得的VNC扫描来获得初始区域来进行Masking。

通常,我们可以比较灰度像素等参数来区分影像病灶。但是如果想在影像上获得相关元素的含量,就需要比较原子数。假设有一个碘和骨组织切片,第一次我们用单能CT 100kV照射得到影像1,第二次影像用单能CT 140kV照射得到影像2。然后将影像1中正常组织的影像值调整到和影像2相同。不难想象,调整后所得到的异常影像值在影像1中更高。之后将影像一个影像二相同部分重合做差,最终的到的影像没有碘对比剂的影响,也就是构建了一个虚拟非对比CT。虽然影像学我不懂,但是这个方法和药物分析中的比色法中的内消色法是不是很像?

(本文的图3也可以帮助理解这个过程)

更进一步的理解:下图是一张在NIS网站获得的单能CT质量衰减系数*概率密度分布(有公式)而得到的线性衰减系数曲线。可以看出在曲线中,在大约 100 keV 处,可以测量骨骼和碘的相同线性衰减系数。在大约 50 keV 处获得的数据就可以用来区分两种材料。

         

本篇综述更具体的介绍了双能CT和多能CT的原理和应用,感兴趣的话,推荐看原文哦。


方法构建

样本纳入

训练集和验集取自2019年三月到2020年7月的292名患者和73名患者。获得数据包括虚拟平扫CT(VNC),CTA,和非对比CT。独立测试集包括140名患者,分成三组,其中100名患者接受IQon Spectral CT 机检测,100名患者接受iCT256 CT机检测,另外40名患者由Revolution CT机进行检测。获得了CTA或非对比CT的检测数据。

为了观察组内和组间变异,一位放射科医生对所以非对比CT计算钙化积分做参照,另一位医生计算测试集的所有钙化积分,测试集CACS取两位医生所得结果的平均值。

       


模型构建

模型由冠脉钙分割模块,CAC评分回归模块两部分组成。在分割部分,选用了类似U-Net的算法,CACS回归部分使用多个尺度的特征得到对应的 CAC 分数。并且两个模块都利用了3D卷积神经网络(具体算法代码未公开)。   


在训练过程中,利用VNC进行与 CTA 扫描相对应的钙区掩膜。然后,将VNC 扫描上的候选 CAC 区域划分为高于 130 HU 的区域。最后,使用深度学习算法在 CTA 自动执行冠状动脉分割。


模型评估

01

非对比 CT 和 VNC CT CAC 评分的组内和组间变异评估     

分别运用组内相关系数(ICC)和Bland-Altman法对两位影像医生的非对比CT半自动读数的组内和组间的变异性进行评估         

结果显示

ICC分析显示:组内差异ICC为1(95% CI:1、1),一致。组间差异ICC为 0.96(95% CI:0.95、0.97)一致性较强。

         

Bland-Altman法显示,组内几乎无差异,组间差异值a和b分别为7.5和16.3,在95%区间内,差异较小。

由此可以得出结论:利用VNC代替非对照CT进行分析是没有问题的。        

02

相关性评估

利用皮尔森相关系数比较深度学习 CTA 和非对比 CT CAC 评分。并利用ICC和Bland-Altman对组内和组间变异性进行评价。

结果显示

Pearson 相关系数 = 0.96 [95% CI: 0.95, 0.97], ICC 为 0.94(95% CI:0.92, 0.95),Bland-Altman分析组间差异a和b分别为11.4 和-13.3,一致性较强。说明预测模型几乎达到了非对比CT的计算CACS的标准。

         

03

风险一致性评估

随后对训练集结果的一致性进行了评估。240名患者中有223名(93%)的患者CTA算法结果与非对比CT结果一致。虽然存在一定错误风险,但错误评分不会相差多余一分。模型还是较为准备的评估CAC患者。

04

不同的CT扫描器性别和组织厚度评估

最后,对不同性别,不同组织厚度以及CT扫描仪的测试集患者进行比较,结果显示,均没有显著差异。


全文总结

本文利用基于3D卷积神经网络的类似U-Net的seq2seq和CAC评分回归模型构建了通过冠脉CTA计算CACS的模型,解决了患者需多次做CT检测被CT辐射损伤等问题。文章的巧妙之处在于,通过VNC使算法构建不用挨个注释的掩模,省去了掩膜过程中大量劳动力的投入和错误的产生。

文章创新点包括

思路创新

该研究基于能谱CT优势,利用虚拟平扫图像生成准确钙化标注,避免了对钙化的冗余人工标注,适合于大数据量的人工智能研究;


模型创新该研究采用先进卷积神经网络,采用了两个模块检测模块和钙化分数回归模块,在保证准确钙化检测同时直接从图像中进行分数回归;


临床创新该团队开发的模型可以准确地从CTA图像中直接获取钙化积分,进行心血管疾病风险评估,避免额外CT平扫辐射及操作半自动钙化积分软件导致的人工负担。文章的局限性在于缺少外部数据集对照,并且训练集的数据仅仅从单一的光谱CT获得。

参考文献



[1] Mu D, Bai J, Chen W, et al. Calcium Scoring at Coronary CT Angiography Using Deep Learning [published online ahead of print, 2021 Nov 23]. Radiology. 2021;211483. doi:10.1148/radiol.2021211483

[2] McCollough CH, Leng S, Yu L, Fletcher JG. Dual- and Multi-Energy CT: Principles, Technical Approaches, and Clinical Applications. Radiology. 2015;276(3):637-653. doi:10.1148/radiol.2015142631

[3] Hounsfield GN. Computerized transverse axial scanning (tomography): Part I. Description of system. 1973.  Br J Radiol. 1995;68(815):H166-H172.

[4] Ronneberger O, Fischer P, Brox T. U-net: Convolutional networks for biomedical image segmentation[C]//International Conference on Medical image computing and computer-assisted intervention. Springer, Cham, 2015: 234-241.

[5] https://www.capitalheart.sg/services/non-invasive/coronary-calcium-score/(visited in 2021/12/30)

·


THE END


撰文丨鑫仔

排版丨顶顶


往期回顾
BREAK AWAY

【手撕代码】医学影像报告自动生成(2) 数据探索性分析及可视化


我知道你在看

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