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

病理图片深度学习让你体验15分+新高度

科研菌 • 4 年前 • 1329 次点击  

今天和大家分享的是2020年5月发表在Hepatology(IF=14.679)上的一篇文章 "Predicting survival after hepatocellular carcinoma resection using deep-learning on histological slides ",作者建立了两个可用于预测HCC切除术后病人生存情况的深度学习模型。

Predicting survival after hepatocellular carcinoma resection using deep-learning on histological slides
使用组织切片深度学习模型预测肝细胞癌切除术后病人生存率

一、背景介绍

肝细胞癌(HCC)是主要的癌症之一,术后复发率达70-80%,判断出预后较差的病人对治疗方法的提升有重要帮助。病理图像与病人预后密切相关,随着计算机处理全数字化组织图像(WSIs)技术的发展,病理分析效率上升,可提取出隐藏的生物信息,病人预后预测方法得到改善。

二、分析流程

三、结果解读

1.使用测试集建立模型

1A展示了作者的研究流程,训练集由2004年-2016年在Henri Mondor医院接受手术治疗的病人构成,每个病例有1-2个数字化HE染色切片,病理医生标记其中的肿瘤区域与非肿瘤区域,从病历中获取病人的临床,生物与病理特征。作者针对数据制定了如下纳入标准:

1)病人接受手术治疗且之前无其他抗肿瘤治疗

2)有后期随访数据

3)明确诊断为HCC

4)福尔马林固定石蜡包埋的组织切片

5)手术时无肝外转移

最终作者在训练集纳入了194个病人,其中有56例病人在随访过程死亡。然后作者采用 "CHOWDER"与"SCHMOWDER"两种算法建立卷积神经网络预测病人预后。"CHOWDER"神经网络可以自动鉴别生存相关区域,通过预处理,tile评分,预后预测三步计算出风险分数,帮助病理医生筛选出最具预测性的tiles。2A展示了模型的预处理过程,WSI首先被分为112 x 112 μm的小块,称为“tile”,然后通过预训练的卷积神经网络提取tile相关特征。2B展示了"CHOWDER"的训练过程,tile与生存数据一起输入网络,通过迭代学习获得风险分数,然后选出其中评分最高和最低的tiles用于病人生存预测。

"SCHMOWDER"是一种包含监督注意力机制(上分支)和无监督学习(下分支)两部分的双分支网络,预处理过程和 "CHOWDER"网络相同,2C展示了两个分支的训练过程,上分支通过病理医生提供的标签进行监督学习,鉴定肿瘤与非肿瘤部分,通过标记每个模块的风险得分,并使用注意力机制处理得分,上分支筛选出了可能是肿瘤区域的tiles。下分支与"CHOWDER"相似,筛选出了最具预测性的tiles。最后结合上下分支结果,输出生存风险得分。病理标签只在训练模型时需要,模型训练完成之后,"SCHMOWDER"同样可应用于无病理标签的图像。

图1.研究流程图

图2.CHOWDER与 SCHMOWDER模型示意图

作者通过交叉验证,使用c-indexes评估模型的OS预测分组能力,3A展示了两个模型与其他HCC相关变量的c-indexes,两模型c-indexes分别为0.75和0.78,证明模型的分组效果较好,同时模型的平均c-indexes高于其他变量。然后作者综合相关临床,生物,病理特征生成了一个综合分数(CS),结果显示两模型的c-indexes高于CS,证明两模型的分组效果优于CS,且 SCHMOWDER优于CHOWDER,p=5.0E-7。作者尝试将CS与两个模型结合,结果显示c-indexes保持不变,表明获得的临床,生物,病理特征没有为模型提供额外的生存信息。

作者使用SCHMOWDER和CHOWDER得出的风险得分将病人分为两个亚组,每个模型的风险得分中位数是区分高低风险组的阈值,3B展示了使用CHOWDER与SCHMOWDER模型,CS以及其他基础特征进行生存预测的风险率和95%可信区间,***表示 p< 0.001, * *表示p < 0.01, *表示 p < 0.05, +表示 p < 0.1, -表示 p > 0.1,结果显示两个模型的预测准确度要高于CS以及其他基础特征。

图3.SCHOWDER和CHOWDER模型生存预测评估

作者使用Python的 lifelines package进行单因素与多因素CoxPH生存分析,用 Log-rank检验对比两组生存情况。图4展示了SCHMOWDER风险分组的预后价值,结果证明SCHMOWDER计算出的风险分数有独立的预后价值,而且在使用疾病分期,血清AFP水平等其他特征进行分组后,结果仍有意义,说明SCHMOWDER模型考虑了其他HCC生存相关基础变量的影响。

图4.SCHMOWDER风险评分的预后价值

2.使用TCGA数据验证模型

作者使用TCGA作为验证集,从网上获取相关临床,生物和病理特征,最终共有328个病人符合纳入标准,其中有115例病人死亡,OS显著低于训练集。作者从328个病例中获得了342个WSIs,然后使用两个神经网络模型进行处理。5A展示了使用测试集训练的SCHOWDER和CHOWDER模型以及HCC相关临床,生物,病理变量与CS在TCGA验证集的生存预测c-indexes。CHOWDER的c-indexes为0.68,SCHMOWDER为0.70,CS为0.63,随机预测分别增加36%,40%,26%。5B展示了使用CHOWDER与SCHMOWDER模型,CS以及其他基础特征进行生存预测的风险率和95%可信区间。使用训练集确定的阈值将病人分为高低风险组,分组效果优于使用CS以及其他变量(CS:HR=2.6, p=3.2E-7, CHOWDER:HR=4.3, p=2.5E-12,SCHMOWDER:HR=3.4, p=5.3E-11)。图6为SCHMOWDER风险评分在测试集的预后价值,使用训练集SCHMOWDER风险评分中位数做阈值划分高低风险组,结果表明使用其他预后特征进行分组后,SCHMOWDER风险评分仍有预后价值。

图5.SCHOWDER和CHOWDER模型在验证集的生存预测评估

图6.SCHMOWDER风险评分在验证集的预后价值

3.对tiles进行分析

CHOWDER是一种可解释性模型,病理图像评估可能与病人生存关系最密切,因此这种方法可以提供肿瘤侵袭性相关特征的信息。作者使用CHOWDER从245个WSIs中提取出了400个最有预测价值的tiles,高风险200个,低风险200个,病理医生进行了检验,然后作者研究了其中生存相关的主要组织学特征。7A展示了与肿瘤区域和非肿瘤区域相关的组织特征。肿瘤区域共有19项组织特征,与高风险相关的为血管间隙,骨小梁结构模式的出现,高度细胞异性性与核增生。在肿瘤和非肿瘤区域,纤维化和免疫细胞都与低风险相关。综合说明此模型可以检测出已知的或未知的生存相关组织特点。

为了进一步研究这些tiles的组织学共性,作者使用了UMAP算法,并且随机选择了500个包含全部预测风险因素的tiles纳入高低风险组,然后进行聚类分析。7B展示了测试集和验证集的tiles分布和聚类结果,图像显示tiles倾向依据风险分组进行聚类,于是作者使用 K-means算法对训练集数据进行聚类分析,共分为8类,其中3个聚类(0,1,3)与风险分组相关,聚类2主要是由于染色或褶皱等人为因素导致,其余四个聚类无明显分布规律,所以归为一类。在测试集TCGA数据中使用同样的方法。训练集中聚类1大多为高风险tiles,组织特征主要为出现血管间隙;聚类0大多为低风险tiles,纤维化和免疫细胞增多;聚类3主要为低风险,细胞有脂肪变性;聚类4同时出现了高风险和低风险tiles,纤维化和免疫细胞增多。验证集中,结果大多一致,但其中聚类3几乎消失,聚类4高风险tiles增多,细胞异型性和核增生增多。

图7.使用CHOWDER划分高低风险组的例子

小结

      作者使用病理切片建立了两个可用于预测HCC手术切除病人预后的深度学习模型,预测准确度高于其他使用临床,生物,病理特征进行的预测,这为癌症亚型诊断规范化和精准医学发展提供帮助。但两个模型在验证集中的预测效果均低于训练集,可能是由TCGA数据集中病人的OS较低造成,同时不排除模型过拟合以及训练集一些特有特征如染色技术,切片格式影响模型的情况。

点击下方的阅读原文,即可获取今天小编为大家精读的文献,本期的分享就到这里,一起期待下期的精彩分享吧~

科研菌学术讨论群,在群内可以用自己的昵称广告一律踢其他公众号的宣传也不发,就算是要发,提前和小编商量和确认,不然也是一律踢哈。

欢迎添加小编微信↑↑↑

请大家加我的时候就备注好“学术讨论群”以及自己的“单位+专业+姓名




编辑:柠檬

校审:糯米饭

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