这篇文章说一下怎么分析医学影像图像,并利用统计学和机器学习建模,实现预后等回归学习。这篇文章会不断的修改,因为我也会不断的学习,不断的添加和改正文章中的内容。
医学影像已经是非常火的一个方向了,对于医学图像的处理有很多不同的领域,也有很多不同的方法。随着人工智能的发展,很多的人工智能算法已经在医学图像的处理中取得非常不错的进展。比如说深度学习中,Unet对HE染色和IHC染色图像的细胞核分割,CT或者MR图像的肿瘤分割等。在深度学习没有火起来的时候,对医学影像的处理更多的是基于从图像中提取特征,然后在通过机器学习对特征进行建模,实现分类(预后好坏等)。我下面就从流程上说说如何进行图像数据的评估,如何对图像进行特征提取,如何建模等。
首先是图像的获取。一般的影像图像有,CT,X光,MR等。病理图像(HE,WSI,ICH等)是用显微镜拍的,虽然也可以按照类似的方法来做,但这里不涉及病理图像。我们一般都是用肿瘤的CT或者MR,一个是因为这种预测更有意义:对临床上对肿瘤的治疗很大程度上是根据肿瘤的分级和分期来指定治疗方案的,而且对肿瘤的准确预后也对治疗决策的指定有着非常大的影响。传统的分级分期和预后的方法大多数是根据一些临床检测的指标,比如说各种体内成分的含量,有无转移,有无浸润,肿瘤大小,肿瘤边缘的情况等等等等。这些指标都是比较传统医学的指标,一个是预测不是准确,一个是主观性太强,很依赖医生的经验(比如说有无浸润的判断,肿瘤边缘是否清晰等)。一个是这个工作几乎只有计算机可以做。因为这类影像图像灰度级别差距很小,虽然可以通过窗宽窗位来进行观察,但人眼还是有很大的局限。计算机的辅助还是很有必要的。
所以图像一般都是医学里面对患者的真实数据资料,一个是公开数据库的资料。如今医学影像的研究已经很普及,网上也有很多公开的数据库,很多机构也举行了类似的比赛,想要下载资料的话应该开始比较容易的。
图像拿到以后,我们还需要一点处理。一般来说,我们都会划定我们需要提取体征的区间。也就是我们所说的ROI。我们都看过CT或者MR的图片,我们会发现图片上并不是所有区域都是肿瘤或者不正常的组织,很大一部分是正常的。所以我们就要把病灶圈出来
类似这样子,把肿瘤区域画出来,我们把绿色的线叫做roi。如果是CT这样的的断层扫描图像,那我们就有不同的处理方式。一个是每一张图片都画ROI,然后对所有层的图片进行提取。一种是挑一张具有代表性的层(可以是肿瘤最大的一层),画ROI。ROI的储存形式有很多种,不懂的格式有不同的存储方式。ROI一般都是医生画的,公开的数据库里面很多都会带有ROI。如果不对图像进行画ROI,直接进行处理这种方式现在几乎不会做这么做了,我个人也认为不画ROI是非常不可取的,因为提取的时候涉及了太多的非肿瘤区域,得出的结果也不可信。
接着我们就是对图像进行特征提取。特征有很多种,有我们一般的形态特征(就是肿瘤的大小等),一阶灰度特征(灰度直方图等),灰度共生矩阵等,小波特征等。这些特征总得加起来数量也会非常可观。形态特征可以提取10多到几十个,一阶特征也可以有很多个,小波各种参数加起来可以几百到上万个。
在特征方面,其实也有挺多问题的,比如说图像本身就有很多不同。不同机型,不同参数拍出来的图片其实是有很大的区别的,如果我们不做标准化,我们收集到的图像本来就不在一个维度,所以这个就会造成很多的差异,但这个好像并没有很好的解决方法。现在报道的好像没有很统一好用的标准化方法。
特征提取出来后,一般是要进行ICC检验的。(具体可以维基百科查一下,或者看我的另一篇博文)
ICC后选出ICC值较高的特征(一般都要大于0.75,大于0.9最好),我们就要进行降维了。降维的方法和建模方法一样,多的数不清。我们可以用统计学的方式,比如说我们可以算每个特征的KM曲线,选取相关性高的特征。也可以做C-index。同时,我们也可以用机器学习的方法降维,降维方法也有很多种,比如常用的lasso,岭回归,MRMR等等。一般特征数量不超过样本数的10%。比如说有200个样本,那么特征数就不要超过20个。在建模完成后也可以用AIC评估模型。一般是在能取得好的回归效果的前提下,特征数越少越好,多了会过拟合。
在选取了特征后,一般都要进行特征的归一化,这样子可以均衡特征的权重,不会使得一些特征值很大的特征占据过大的权重,而小值的特征占据过小的权重。
然后就是建模和调参了。模型可以选取很多种,lasso啊,svm啊,cox回归啊之类的。总是就是都试一遍,看看那个效果好。还有就是对模型的调参,这个就不细说。
最后的就是结果的conclusion了。这个是非常重要的。一般的工科生都会在这里吃亏。工科并不注重结果的意义,只是求出来一个好的结果就收工。但是如果是想要发表临床相关的文章,就要对结果进行详尽的分析。分析才是文章的大头。
分析的方法多种多样,评估的方式,图表也是多种多样,这里也不细说,详细的去看看一些相关文献吧。
以后会不定时修改这篇文章。查漏补缺。
欢迎指正。
第一次补充。
这种形式的影像组学已经出现了几年,现在更多的成为临床医生用来发文章的方向。虽然研究很多,但是并没有一套能够在CT图像甚至是单病种的CT图像通用的方法和特征。建模方法简单,临床意义明确,成为了水文章的好方向。现在的影像组学更加需要严格的统计学意义,需要临床意义上的总结分析才能够发文章。
第二次补充。
最近发现有个叫pyradiomic的python包可以用来提取各种组学特征,挺方便的。