应用机器学习模型的CT图像自动判读技术研究
2020-12-14姜微
姜微
摘 要:近年來,应用机器学习模型与技术的医学影像分析方法开始得到应用,其能够用于辅助医生决策或者解决临床实践中的棘手问题,因而具有较大的研究与应用价值。文章旨在研究如何针对医学图像中常见的CT图像进行智能的自动判读技术,通过使用计算机技术提取出相关的特征,再依据提取的特征建立机器学习的模型进行判断,提高判断精准度,从而辅助医生进行更好的诊断。
关键词:机器学习;大数据;CT图像;辅助诊断;人工智能
中图分类号:TP391.41 文献标志码:A 文章编号:2095-2945(2020)36-0015-02
Abstract: In recent years, machine learning models and technology has been applied in medical image analysis. It can be used to assist doctors in decision-making or solve difficult problems in clinical practice, so it has great research and application value. This paper aims to study how to carry out automatic intelligent interpretation technology for common CT images in medical images, extract relevant features by using computer technology, and then establish machine learning model for judgment according to the extracted features, so as to improve the accuracy of judgment, and assist doctors in better diagnosis.
Keywords: machine learning; big data; CT image; auxiliary diagnosis; artificial intelligence
医学影像在医学诊断中具有无可替代的重要作用,其包含了大量人眼无法识别的信息,对准确识别相关疾病的具体情况,进行准确的医学诊断乃至确定具体的医疗策略,都能够提供比较客观可信的依据。
近年来,随着图像处理与人工智能技术的发展[1],应用基于医学影像大数据的分析方法来辅助医生决策或者解决临床实践中的棘手问题成为研究热点[2]。传统的CT影像判读主要是依靠医生的经验判断,不仅费时且费力。因此,研究一种智能分析识别CT图像具体情况,并进行智能分类判别的技术是十分必要的。
1 机器学习模型
机器学习(Machine Learning)[3]是计算机科学的一个重要分支,其总体目标是,通过科学系统化的算法流程与模型,将目标数据中的有用的特定模式发现出来,并将之应用于自动化智能化的任务。具体来说,机器学习研究的主要内容,是通过设计学习算法,以从数据中产生适用于解决具体任务的“模型”。以CT图像判别为例,应用机器学习的目的是用于对具体的图像数据进行智能的判断,识别对应的CT图像是否存在异常,这个过程由最终的机器学习模型自动确定。
在CT图像数据的机器学习建模过程中,在对图片特征提取后,本文可根据标注样本的类别,分类为阳性和阴性,并采用多种分类方法进行判别。具体的方法可运用基于随机森林(Random Forest)[4]的分类方法、基于朴素贝叶斯的分类方法等。可首先采用随机森林算法对图片的特征进行训练,并使用不同的特征进行多次训练,最后获得多个相关性较强的特征,并使用10次交叉验证等方法来确定最终的模型。基于朴素贝叶斯的分类过程也类似。
2 CT图像分割
一般来说,应用机器学习进行CT图像分割的方法,可以从目前比较成熟的方法中进行借鉴。目前机器学习中的深度学习方法在分割中能够达到较好的效果。本文选用基于全卷积神经网络(简称FCN)框架的方法,特别地,可选择具体的U-Net卷积神经网络方法进行解决。
通常卷积神经网络(简称CNN)在卷积层之后会连接若干个全连接层, 从而将卷积层产生的特征图映射成固定长度的特征向量,以便进一步获得分类结果。以AlexNet为代表的经典CNN结构适合于图像级的分类和回归任务,因为它们最后都期望得到整个输入图像的一个数值描述(概率)。
相比之下,全卷积神经网络对CT图像进行分类更有优势,其能够实现比较自然的像素级的分类,由此实现图像分割任务。与卷积神经网络不同,全卷积神经网络可接受任意尺寸的CT图像作为输入,并在最后一个卷积层采用反卷积层操作进行上采样, 对其图像大小进行恢复,再在此基础上对每个像素都进行分类预测, 也即实现逐像素的分类。
基于全卷积神经网络的算法较多,本文选择U-Net方法。具体来说,U-Net共有23个卷积层,大致的模型结构是,其包含多个2x2、3x3卷积层,多个max pooling层,同时包含扩展路径与收缩路径,用于分别实现下采样与上采样,并通过剪裁等操作保持图像边缘。最后,模型包含一个1x1卷积层,从而用来将维度为64维的特征向量映射到某一个具体的类别判定标签。
3 分类判别方法
本文将选择朴素贝叶斯算法与随机森林算法,对提取了CT图像特征的数据进行分类模型的构建。
朴素贝叶斯分类算法是一类具有广泛应用的成熟算法[5],其具体算法过程如下:
(1) 给定CT图像数据集作为训练集,设其属性有n个(记为B1,B2,…,Bn)。将每一个提取特征后的CT图像数据样本,表示为n维的向量,并将之记为Y=(y1,y2,…,yn)。在上式中,y1,y2,…,yn分别对应为这n个属性的具体取值。
(2)假定目标的判别类别有m类,将其记为C1,C2,…,Cm,模型的目标即为确定每个数据样本所归属的类别(CT图像对应的诊断结果)。对于每个具体样本Y来说,根据贝叶斯理論,可以通过条件概率与后验概率的转换计算,求解得出在给定样本Y情况下,其属于某一个诊断类别Ck(1≤k≤m)的后验概率P(Ck|Y)。
(3) 在计算得出所有诊断类别的后验概率之后,贝叶斯分类法求出这些概率值的最大值所对应的诊断类别Ci,并将之指定为样本Y的预测类别,也即有下式成立:
随机森林是一种组合分类器算法。利用Bootstarp算法初始化不同的CT图像数据训练集,然后训练得到相应的模型,将其组合在一起,最后得到随机森林模型,通过投票等方法来进行预测分类。
随机森林是由决策树集成,必须考虑决策树的特点,即准确性,多样性和决策树的数量。主要参数包括森林树木的数量即决策树的数量,寻找最佳分割时需考虑特征数量和叶节点上的最小样本数量等。
随机森林训练生成多颗“随机”的决策树,本文在建模过程中,确定树木数量的范围为[100,500],通过使用包外样本来估计泛化精度,研究不同树木数量对随机森林模型的影响。
在具体实现方面,可利用 Python 语言进行开发,结合开源的机器学习程序库 scikit-learn来构建实现过程,对随机森林模型中的决策树个数、随机特征个数、叶节点最小样本数等进行详细的调试与设定。首先,针对随机特征的个数确定问题,可将随机数据特征数目设置为n,尝试多个n值,构建多个备选模型,并比较其优缺特性,选定符合要求的n值作为最终的设置值。进一步地,通过固定模型中的其他参数,以准确率作为评判标准指标,对随机特征的个数进行交叉验证(本文选用10折交叉法),最后,对多个模型进行初步评估,并逐步确定模型的各个参数。
4 算法流程
针对收集到的CT图像数据,根据其标定的诊断类别结果,应用机器学习模型与算法,进行详细研究,利用机器学习方法来构建的面向CT图像的智能诊断模型。
(1)利用统计分析对CT图像数据进行探索,发现样本数据和图像特征存在一定的相关性,同时研究图像数据相对于诊断类别是否存在类别不平衡的问题。
(2)基于end-to-end全卷积神经网络架构的U-Net算法模型实现像素级别的判别比较模型,并在此基础上为特征提取做好准备。
(3)在(2)所得结果的基础上,进行多角度的图像特征提取,取得相关性较强的图像特征作为新构建的数据集的特征集。也即,通过以上大数据与人工智能的手段,通过自动的方式,从CT图像中提取具有较强语义的特征信息,无疑将会有助于临床的专业医生进行更好的判断,也有利于下一步的分类判别模型构建。
(4)在经过以上特征提取工作,以及其他的数据预处理之后,利用以上特征向量构成的数据集,设计朴素贝叶斯、随机森林模型,对数据进行自动的诊断分类预测。
(5)通过具体的训练实验进行模型对比,并选取精确率、召回率和F1等多项评价指标,对所得结果模型的各方面性能进行全面评估,用实际的CT图像数据来验证其有效性,从而在一定程度上为自动化、智能化的辅助临床决策提供支持。
5 结束语
在本文中,我们针对医疗诊断实践中常见的CT图像判读诊断问题,对如何利用机器学习方法,对其实现自动化、智能化诊断的具体技术路径进行了研究与探讨。如果基于机器学习模型与技术的医学影像分析方法能够得到广泛而有效的应用,必将能够有助于为医生决策或者解决临床实践中的棘手问题提供更多的实现路径,因而具有较大的研究与应用价值。
参考文献:
[1]Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with Deep Convolutional Neural Networks[G]//Pereira F, Burges C J C, Bottou L, et al. Advances in Neural Information Processing Systems 25. Curran Associates, Inc., 2012: 1097-1105.
[2]张良均,王路,谭立云,等. Python 数据分析与挖掘实战[M].北京:机器工业出版社,2015:66.
[3]Goodfellow I, Bengio Y, Courville A, et al. Deep learning[M]. MIT press Cambridge, 2016,1.
[4]Cernadas E, Amorim D. Do we need hundreds of classifiers to solve real world classification problems?[J]. Journal of Machine Learning Research, 2014,15(1):3133-3181.
[5]郁磊.MATLAB智能算法30个案例分析(第2版)[M].北京:航空航天大学出版社, 2015.