崔亚轩,胥 义,付 强,2
1(上海理工大学 医疗器械与食品学院,上海 200093) 2(上海市第一人民医院 脊柱外科,上海 200080)
脊柱是人体的中轴骨骼,也是承担人体活动的重要结构,被称为“第二生命线”.脊柱的结构包括椎体、椎间盘、椎弓及后关节,其主要功能是保护脊髓,承受重量[1].脊柱退行性疾病是中老年患者的常见病、多发病,根据美国骨科医师学会(AAOS)研究表明,世界上80%的人口一生中至少经历过一次下背痛[2].随着电脑和手机的普及使用,中青年脊柱相关疾病的发病率也在随之上升[3].脊柱疾病的诊断主要依据临床表现和医学图像,其中医学图像包括CT图像、MR图像以及X光图像.医生在根据医学图像进行诊断的过程中难免掺杂个人主观因素,对医学图像的标注会耗费很多时间,并且容易产生疲惫而导致工作效率降低.
将机器学习技术应用在脊柱疾病的临床诊断中可以减少医生工作量,提高诊断效率和诊断质量,降低误诊率[4].机器学习作为人工智能应用最广的一个分支,基于学习方法可以分为监督学习、无监督学习以及强化学习[5].机器学习擅于基于输入数据本身的一些特征来生成输出,例如图像分类等[6].机器学习技术在人脸识别[7]、智能语音助手[8]等领域已经广泛应用,但是在医疗卫生领域还在初始的研究阶段.根据文献调研来看,机器学习技术在脊柱方面应用最广的是放射成像领域,并在术后结果预测、康复评估等领域也有一些进展.
本文对机器学习技术在脊柱疾病临床诊断中应用的相关研究进行综述,主要包括:1)常用于脊柱疾病临床诊断领域的机器学习技术,包括基于监督学习和基于无监督学习的常用算法;2)对脊柱的分割,包括对椎骨的分割和椎间盘的分割;3)对椎骨定位和标记;4)脊柱疾病临床辅助诊断的主要应用进展,包括脊柱畸形、脊柱退行性疾病、结果预测和临床步态分析.通过对应用情况进行对比和分析,分析目前存在的问题并对未来发展进行展望.
机器学习(ML)是Arthur Samuel[9]在1959年提出的,他将其定义为使计算机无需明确编程即可学习的学习领域.按照学习方式可以分为监督学习、无监督学习以及强化学习,如图1所示.其中,常用在脊柱领域的机器学习方法有监督学习和无监督学习.
图1 机器学习的分支示意图Fig.1 Schematic of the branches of machine learning
监督学习指的是计算机经过一些已知输入和相对应的正确输出数据的训练来预测其他输入数据的输出结果,是医学研究中最常见的学习方式,常用在分类和回归问题上[10,11].表1是常用在脊柱研究上的监督学习算法总结.
朴素贝叶斯法(NBM)、Logistics 回归(LR)、决策树(DT)和随机森林(RF)等机器学习算法在20世纪初应用广泛,随着机器学习技术的发展,逐渐被之后的算法取代.支持向量机(SVM)在训练集大小有限的情况下表现良好,但是当输入变量增多、样本量过大时,它的计算复杂性和空间复杂性会急剧增加,将占用很大内存资源,训练模型的时间也会随之增加.人工神经网络(ANN)通过训练数据得到模型,使用正则化来防止过拟合现象,各个神经元中的权值也是经过训练得出而非人为给定,这样可以减少诊断过程的人为因素,从而提高诊断的可靠性,使诊断结果更有效、更客观.与传统的机器学习相比,深度学习技术(DL)有以下特点:一是模型的深层结构;二是深度学习的模型有很多隐藏层.其中,卷积神经网络(CNN)模型[22]和全卷积网络(FCN)[23]模型是深度学习的经典模型,其通过卷积层来进行特征提取(见图2).卷积神经网络在卷积层之后会接上若干个全连接层,将卷积层产生的特征图映射成一个固定长度的特征向量,见图2(a).和卷积神经网络不同,全卷积网络可以接受任意尺寸的输入图像,并将全连接层替换为反卷积层进行上采样,使输出结果恢复到输入图像相同的尺寸,对每个像素都进行预测并分类,见图2(b).
表1 常用在脊柱研究上的监督学习算法总结Table 1 Summary of supervised learning algorithms commonly used in spine research
无监督学习指的是计算机从未知输出结果的输入数据中进行学习,识别输入数据中的模式和特征,并根据学习到的内容对输入数据进行分类.聚类是无监督学习最常用的一种应用,其具有代表性的算法有K-均值聚类等[24,25].
K-均值聚类(K-means clustering)是James MacQueen在1967年提出的一种迭代求解的聚类分析算法[26],对于大量的高维数值数据,它可以将相似的数据分类到同一簇中.K-均值聚类是最常用的简单聚类方法,但是易受异常值和嘈杂数据的影响,并易受初始聚类中心的影响[27].无监督学习适用于没有标签的情况下自主学习数据的抽象形式[28].但是由于对数据集编码的特性以及学习方式,监督学习的模型总是比无监督学习的模型表现要好[29].
图2 深度学习网络模型Fig.2 Deep learning model
根据机器学习技术在脊柱疾病临床诊断中的作用目的,其在脊柱疾病临床诊断中的应用可以分为对脊柱的分割、对椎骨定位和标记以及脊柱疾病临床辅助诊断的主要应用进展等三个方面.
医学图像分析中的一个关键问题就是理解图像内容,即对每个像素进行区域性的划分,该划分过程称为语义分割.脊柱分割是脊柱图像分析和建模的基本步骤,医生可以手动分割或使用算法自动分割.利用机器学习对脊柱的分割也是近些年来才被提出的,并在各种具有挑战性的医学图像问题分析中表现良好[30,31].结合3D打印技术或者虚拟现实系统对脊柱进行三维建模,可以让医生深入了解患者的问题,做好术前规划.在脊柱的分割中,我们从脊柱椎骨的分割以及椎间盘的分割两个方面进行研究.
3.1.1 脊柱椎骨的分割
由于椎骨的形状和结构复杂多变、结构相似、病理以及椎骨和肋骨之间的空间相互关系,椎骨分割是一个具有挑战性的问题.相较于传统的图像分割算法,使用机器学习技术对椎骨的医学图像分割可以提高图像分割效率和精准度,提高医生的诊断效率[4].表2是有关椎骨分割机器学习算法的相关研究总结.
表2 椎骨分割机器学习算法的相关研究总结Table 2 Summary of related studies on machine learning algorithms for vertebral segmentation
从上述研究可以看出,早期的机器学习算法对椎骨进行分割常与形状模型一起使用.直到2014年Wang等[10]提出了一种能够用单一学习模型分割脊柱图像的统一框架,从多种成像方式、多个解剖平面、多个解剖结构(M3)的脊柱图像直接到目标边界的高度非线性映射函数的建模,然后由多维支持向量回归器(MSVR)完成分割(见图3).随着卷积神经网络的出现,Lessmannn等[36]提出了一种基于迭代卷积神经网络的算法来分割椎骨.受到全卷积网络的启发,Ronneberger等[43]提出U-Net,并在椎骨分割中表现良好[38].Li等[42]基于深度学习提出一种多任务关系学习网络,该网络引入LSTM(Long Short-Term Memory)模块用于学习椎骨之间有序关系的先验知识,同时进行定位和分割任务,不仅可以避免单个任务的过拟合,同时可以相互纠正.各种类型的医学图像相结合对于椎骨的分割有着很大帮助,机器学习算法也应向多任务、多模态的方向发展.
3.1.2 椎间盘的分割
椎间盘的分割对于椎间盘病变的检测以及分析具有重要意义,从医学图像中准确分割椎间盘是临床诊断和制定治疗计划的前提[44].在临床上,医生用MR图像去观察椎间盘的形态,人工分割椎间盘十分繁琐和耗时,椎间盘的自动分割可以提高脊柱病理诊断的效率和准确率.表3是有关椎间盘分割机器学习算法的相关研究总结.
图3 M3脊柱分割框架Fig.3 M3 spine segmentation overview
从以上的研究中可以看出,在对椎间盘进行分割时,在算法上可以将无监督学习和监督学习一起使用[46]并且可以优化算法[44,50,51];在数据的使用上也从简单的2D图像变成引入位置信息的3D图像[47],单模态到多模态的信息互补[48],利用周边信息对图像进行分割;在数据类型的选择上,也可以覆盖各种协议的MR图像[49].算法的深入研究和数据的充分利用使分割速度和分割精度都有很大的提升.
表3 椎间盘分割机器学习算法的相关研究总结Table 3 Summary of related studies on machine learning algorithms for disc segmentation
在脊柱医学图像中,对脊柱解剖结构的定位在病理诊断、手术规划和术后评测中起着重要作用[52].医生可以手动对脊柱进行定位,但过程繁琐耗时,并容易出现由主观因素引起的错误.利用机器学习可以对脊柱进行自动定位,减轻临床医生的工作负担.脊柱的自动定位主要困难有:1)病理和个体存在差异;2)经常出现异常的脊柱弯曲;3)医学图片视野受限;4)外科植入物引起的图像伪影[53].表4是有关脊柱定位和标记机器学习算法的相关研究总结.
表4 脊柱定位和标记机器学习算法的相关研究总结Table 4 Summary of related studies on machine learning algorithms for spine localization and labeling
从以上研究可以看出,早期的脊柱定位和标记算法将机器学习算法和图形模型一起使用,但使用图形模型导致对于病理图像的定位准确度大大降低,Glocker等[53]提出一种基于分类随机森林训练来确定脊椎质心位置的算法(见图4),该算法在具有各种病理学特征的图像中结果优于之前的参数模型法.随着深度学习的发展,Yang等[60]基于3D神经网络并引入卷积长短期记忆(ConvLSTM)模型,进一步优化了在病理图像中的椎体质心定位.由于病理因素和外科植入物的存在,开发更先进的算法去降低这些干扰以及使用更大的数据集来训练模型提高鲁棒性是未来发展趋势.
图4 脊柱定位和标记示意图Fig.4 Spine localization and labeling
将机器学习技术用于计算机辅助诊断与分析是智能医疗的关键[61].医学影像是诊断脊柱疾病的重要手段,许多研究根据医学图像来设计脊柱疾病的自动诊断系统,将机器学习用于脊柱图像的病理诊断已涵盖了多种类型的疾病,例如脊柱畸形和脊柱退行性疾病等[11,62].机器学习技术在脊柱疾病中的诊断与分析还包括利用其它类型的数据对患者进行术后结果预测以及临床步态分析等.
3.3.1 脊柱畸形
脊柱畸形是指脊柱的冠状位,矢状位或轴向位偏离正常位置,发生形态上异常,根据病因可以划分为特发性、先天性、创伤性等.其中冠状位偏移引起的脊柱侧凸是临床上最常见的,Cobb角是评估脊柱侧凸严重程度的常用标准[63,64].表5是有关脊柱畸形机器学习算法的相关研究总结.
从以上研究可以看出,在脊柱畸形的应用中,从之前人体躯干表面来预测脊柱侧弯曲线类型和拟合曲线进行脊柱侧凸分类到现在直接估算Cobb角(见图5)或设计算法先分割椎体再计算Cobb角,利用算法对Cobb角进行精准测量是目前的研究重点.其中,对X光图像先分割再测量Cobb角时[38,70,71],如果脊柱有多个侧凸,这些算法可能会得到错误的Cobb角.利用深度学习技术对图像进行更精准的分割以及更完善的Cobb角测量方法仍需要进一步的研究.
3.3.2 脊柱退行性疾病
表5 脊柱畸形机器学习算法的相关研究总结Table 5 Summary of related studies on machine learning algorithms for spinal deformity
图5 估算Cobb角框架Fig.5 Estimation of Cobb angles overview
脊柱退行性疾病包括椎间盘突出症、颈椎病、腰椎滑脱、腰椎管狭窄等,是骨科的常见病、多发病[72].计算机辅助诊断系统可以提高诊断效率以及降低医生负担,对临床诊断具有重要意义.最近几年机器学习技术发展迅速,许多研究利用机器学习技术来搭建计算机辅助诊断系统.表6是有关脊柱退行性疾病机器学习算法的相关研究总结.
图6 椎间盘分类框架Fig.6 Disc classification overview
从以上研究可以看出,在脊柱退行性疾病的应用中,研究椎间盘的退变是主要方向,基于机器学习技术的计算机辅助诊断与分析通过椎间盘的图像强度信息、纹理特性以及形状特征对椎间盘退变进行准确的Pfirrmann分级(见图6),可以减少放射分析的时间.目前使用的分级算法还需要进行优化以达到更高的准确率,也有必要通过增加椎间盘的数据集来提高椎间盘分级的准确率.
表6 脊柱退行性疾病机器学习算法的相关研究总结Table 6 Summary of related studies on machine learning algorithms for degenerative spine diseases
3.3.3 术后结果预测和临床步态分析
结果预测是统计学的一个分支,旨在利用之前的数据对未来进行预测,很大程度上受大数据以及机器学习技术发展的影响,在脊柱上常用于预测脊柱手术的结果[81].临床步态分析指的是收集定量信息以帮助诊断步态异常的病因和术后恢复评估的过程.将机器学习技术应用在步态分析上的研究按应用可以分为正常步态分析、病理步态分析、健康监护等[82].表7是有关术后结果预测和临床步态分析机器学习算法的相关研究总结.
从以上研究可以看出,与之前两个领域相比,机器学习技术在结果预测和临床步态分析上的应用处于较低的发展水平.在结果预测领域,主要集中在术后结果的预测,为患者选择手术方案提供了支持.在临床步态分析领域,强直性脊柱炎、颈椎病、腰椎间盘突出症以及非特异性腰腿痛等疾病都会有支配神经及下肢疼痛,从而对患者的步态产生影响,利用机器学习技术去找到它们之间的联系并为医生提供诊断依据是未来机器学习技术在临床步态分析研究中的主要方向.
表7 术后结果预测和临床步态分析机器学习算法的相关研究总结Table 7 Summary of related studies on machine learning algorithms for prediction of postoperative outcomes and clinical gait analysis
当前,越来越多的研究已经将机器学习中最新的技术应用于脊柱疾病的临床诊断,在对脊柱图像进行分割和定位、辅助诊断、降低误诊率、减轻医生的工作压力等方面表现出了巨大潜力,将为临床脊柱手术优良的术前规划以及术后康复评估提供重要的技术解决手段.
尽管机器学习技术如今已经发展到了相当高的水平,并且在脊柱疾病中的应用也有很多,但在该领域还有诸多关键问题尚需深入探索,主要有:
1)机器学习算法方面,应向多任务、多模态的方向发展;
2)数据集方面,应建立一些具有公共标准的数据集;
3)数据收集方面,应避免收集数据过程中出现主观性问题;
4)应用扩展方面,尽管机器学习技术在脊柱疾病的临床诊断中已经有很多的研究,但是一些方面仍未涉及.随着机器学习技术的不断发展以及在脊柱疾病临床诊断中的深入研究,其在脊柱疾病中的应用也会更加全面.