Conference Paper · December 2016

摘要

本文提出了一种利用深度卷积神经网络(CNN)自动定量评估射线照片上膝关节骨关节炎(OA)严重程度的方法。临床上,膝关节骨关节炎的严重程度用 Kellgren & Lawrence (KL)五点评分来评估。以前的工作是基于使用各种手工设计的特征训练的浅层分类器,从放射图像中自动预测KL等级。我们证明,利用深度卷积神经网络模型在ImageNet上进行预训练然后用膝OA图像进行微调,可以显著提高分类精度。此外,我们认为,与使用分类准确度相比,使用基于连续距离的评估指标(如均方误差)来评估膝关节OA自动严重性预测的准确度更为合适。这就使得KL等级的预测成为一个回归问题,并进一步提高了预测的准确性。从骨关节炎倡议(OAI)的X射线图像和KL等级数据上的结果显示,与目前的先进水平相比,效果有了很大的提升。

Index Terms—Knee osteoarthritis, KL grades, Convolutional neural network, classification, regression, wndchrm.

引言

膝关节骨性关节炎(OA)是一种退化性关节疾病,其发病率不断上升,关节整复术作为一种严重后果,意味着越来越需要有效的临床和科学工具来早期诊断膝关节OA,并在进展阶段评估其严重程度[1],[2]。检测膝关节OA并评估膝关节OA的严重程度对于病理学、临床决策和预测疾病进展至关重要[3]。关节间隙变窄(JSN)和骨刺(bone spurs)形成是膝关节OA[1]的主要病理特征,使用射线照片[3]很容易显现。

膝关节骨关节炎严重程度的评估一直被视为图像分类问题[2],KL分级是分类的GT。通过计算机辅助分析可检测到的射线照相特征显然有助于量化膝关节OA严重程度,并预测膝关节OA的未来发展[2]。然而,根据所报告的结果,多类别和连续等级分类的准确性远远不理想。以往关于膝关节骨关节炎与X线影像分类的工作已经使用了Wndchrm,一种多用途的生物医学图像分类器[4],[5]。WNDMCHRM使用的特征空间包括手工设计的特征基于多项式分解、对比度、像素统计、纹理以及从图像变换[2]、[4]、[5]中提取的特征。

与手工制作的特征不同,我们建议使用CNN学习特征表示可以更有效地对膝关节OA图像进行分类,以评估其严重程度。特征学习方法提供了一种自然的方式,通过使用大量的代码单词(稀疏编码)或神经元(深网络)来捕获线索,而传统的计算机视觉特征则是设计出来的,然而传统的计算机视觉特征被设计用于基本级别的类别识别,但是在特征提取过程中可能消除许多有用的线索[6]。手工设计或手工制作的特征通常会简化机器学习任务。然而,它们有一些缺点。提取特点的过程需要与领域相关的专家知识,并且常常是非常耗时的[7]。这些特征通常是低级的,因为现有知识是手工编码的,而在一个域中的特征并不总是推广到其它域[8]。近年来,学习特征表示优于手工制作的特征,特别是细粒度分类,因为丰富的外观和形状特征对于描述类别之间的细微差异是必不可少的。

卷积神经网络(Cnn)通常包括多个卷积层和下采样层,然后可选择性地接全连接层,比如标准的多层神经网络。CNN利用2D空间结构图像来学习翻译不变特征。这通过局部连接和相关联的权重实现,随后是某种形式的池化层。CNN相对于全连接的网络的主要优点是它们更易于训练,并且具有相同数目的隐藏单元的参数较少[9]。

在本工作中,我们首先研究了著名的cnn的使用,如vgg 16,以及比较简单的网络,如vgg-m-128,和BVLC参考Caffenet(其与广泛使用的Alexnet模型非常相似)以对膝关节OA图像进行分类。这些网络使用一个非常大的数据集(如ImageNet LSVRC数据集)进行彩色图像分类的预训练,该数据集包含120万幅图像,有1000个类。最初,我们从VGG 16、VGG-M-128和BVLC CafNet的卷积层、池化层和全连接层中提取特征,并训练线性支持向量机SVMs对膝OA图像进行分类。

接下来,在迁移学习方法[16]的激励下,我们对预先训练过的网络进行了微调。我们采用了迁移学习,因为我们使用的OAI数据集很小,只包含几千幅图像。在该设置中,首先对外部数据进行基础网络的训练,然后将初始N层的权重传送到目标网络[16]。随机初始化目标网络的新层。从直觉上看,网络的底层包含了更通用的特征,比如边缘或纹理检测器,这些特征对多个任务都有用,而上层则逐渐将注意力集中在更多的特定任务线索上。我们将此方法用于分类和回归,添加新的全连接层,并使用反向传播来微调目标loss上完整网络的权重。

本文的主要贡献是使用CNNs和回归损失来量化膝骨关节炎的严重程度。我们提出用均方误差来评估膝关节骨关节炎严重程度自动评估的性能,而不是采用二值化和多类分类的准确性。我们表明,从精调的bvlc参考CaffeNet中推断出的cnn特征提供了更高的分类精度,与最先进的技术相比。我们还提出了一种基于SVM的膝关节OA射线照片自动检测和提取膝关节的方法。
Fig.1

材料和方法

A.数据集

实验数据为双侧PA固定屈膝X线图像,摄自骨关节炎倡议(OAI)数据集的基线(图像发布版本O.E.1)。包括4476名参与者的整个队列。这是一个标准的数据集,用于膝关节骨关节炎的研究。图1显示了数据集中的一些示例。在整个队列中,Kellgren&Lawrence(KL)评分可用于4446张膝关节x线照片,这些图像用于本研究。KL评分量表上调节的膝关节图像(总计8,892)的分布为:0-3433级、1-1589级、2-2353级、3-1222级和4-295级。KL分级系统从X线片中将膝关节OA的严重程度分为5级[17],其中“0级”对应于正常膝关节,其他级别与疾病的进展相对应,如图2所示。
Fig.2

B.膝关节的自动检测和提取

从X线片中自动检测、提取膝关节区域是一项重要的预处理步骤。Shamir ET等人为此提出了模板匹配方法。虽然该方法实现简单,但是对于我们的数据集,检测膝关节的精度很低,为了改进检测,我们提出了一种支持向量机的方法。

1)模板匹配:

作为基线,我们将模板匹配方法[2]用于膝关节中心的检测,使之成为20×20像素的图像补丁。首先将X线片缩小到原来大小的10%,然后进行直方图均衡化以进行强度归一化。将包含膝关节中心的图像片(20个×20个像素)作为模板。每个级别的10个图像补丁,预先选择的总共50个补丁作为模板。每个输入图像通过重叠滑动窗口(20×20像素)扫描。在每个窗口计算图像补丁与50个模板之间的欧几里德距离,并计算出最短的距离。在用滑动窗口扫描整个图像之后,记录最小欧氏距离的窗口被记录为膝关节中心。

2)提出的膝关节检测方法:

提出了一种基于线性SVM和Sobel水平图像梯度的膝关节中心检测方法。众所周知的Sobel边缘检测算法使用垂直和水平图像梯度。其原因是膝关节图像主要包含水平边缘。将包含膝关节中心的图像片(20×20个像素)作为阳性训练样本,并且将不包括膝关节中心的图像片(20×20个像素)作为阴性训练样本。在提取阳性和阴性样本的Sobel水平梯度后,对线性SVM进行训练。为了从左膝关节和右膝关节同时检测膝关节中心,将输入图像分成两半,以分别分离左膝关节和右膝关节。在每半幅图像上使用滑动窗口(20×20像素),并对每个图像块提取Sobel水平梯度特征。基于支持向量机决策函数的最大得分图像补丁被记录为检测到的膝关节中心,并利用相应的记录坐标从输入图像中提取膝关节中心周围的面积(300×300像素)。图3示出了检测和提取的膝关节的示例。
在这里插入图片描述

C.使用神经网络评估膝骨关节炎的严重程度

在本研究中,我们通过分类和回归来研究CNN在评估膝骨关节炎严重程度方面的应用。为此,我们采用了两种方法:**1、用于固定特征提取的预训练CNN,2、在转移学习方法之后微调预先训练过的CNN。**为了对通过所提出的方法获得的分类结果进行基准测试,我们已经使用了WNDMCHRM,用于医学图像分类的开源实用工具,已应用于文献中2,4的此任务。

1) 使用从预训练的CNNS中提取的特征分类:

作为我们的初始方法,我们使用OAI数据集训练了VGG16[10]。我们使用Caffe[12]框架来实现和训练CNN,并从CNN中提取特征。我们从VGG net的不同层中提取特征,如全连接层(Fc 7)、池化层(pool5)和卷积层(Conv5_2),以识别最具鉴别性的特征集。线性SVMS(使用liblinear[18]进行训练)使用提取的CNN特征进行训练,用于分类膝关节OA图像,其中GT(Ground truth)被标记为在KL等级上调节的图像。接下来,我们研究了使用更简单的预训练的CNN,如VGG-M-128[11]和BVLC CaffeNet[12]对膝关节OA图像进行分类。与VGG-16相比,这些网络具有更少的层数和参数。

2)微调CNNs进行分类和回归:

我们的下一个方法很好地精调了BVLC CaffeNet[12]和VGGM128[11]网络。我们选择了这两个较小的网络,这两个网络在较深的VGG16上包含较少的层和参数(62M),其具有~138M的参数。我们替换了两个网络的顶层完全连接层,并利用反向传播对OAI数据集进行了再训练。底层特性在微调过程中也会被更新。分类以标准的Softmax损失为目标,并增加了精度层来监测训练过程。使用欧氏损失层(平均平方误差)进行回归实验。
在这里插入图片描述

结果和讨论

A.膝关节的自动检测

标准模板匹配[2]在我们的数据集上产生了很差的检测精度。为此,我们使用了具有Sobel水平图像梯度的线性SVM去检测膝关节的特征。所提出的方法大约比模板匹配快80%;用于检测包括4492射线照片的数据集中的所有膝关节,所提出的方法花费了大约9分钟,模板匹配法消耗了∼798分钟。

以包含膝关节中心的图像补丁(20×20像素)为阳性样本,随机抽取不含膝关节的斑块作为阴性样本。我们使用了200例阳性和600例阴性训练样本。样本分为70%的训练集和30%的测试集。线性支持向量机拟合的交叉验证率为95.2%,测试准确率为94.2%。表一显示了该分类的精确性、召回率和F1分数。

为了评估自动检测,我们使用我们开发的注释工具手动标注4496位射线照片中的膝关节中心(20×20个像素),从而生成了GT。它记录了每个注释的边界框(20×20像素)的坐标。

我们使用著名的Jaccard索引给出每个检测实例的匹配分数。Jaccard指数 J ( A , D ) J(A,D) J(A,D)表示为:
J ( A , D ) = A ∩ D / A ∪ D J(A,D) = A \cap D/A \cup D J(A,D)=A∩D/A∪D其中A为人工标注,D为自动检测的膝关节中心。表II显示了基于Jacard指数的阈值化得到的平均检测精度。

模板匹配和分类器方法的平均Jaccard指数分别为0.1和0.36。从表II中可以看出,所提出的方法比模板匹配更准确。这是因为模板匹配依赖于输入图像上的强度级别差异。因此,容易匹配具有不实际对应于关节中心的小欧式距离的补丁。
在这里插入图片描述
我们也在一集合中更改模板,并注意到检测高度依赖于模板的选择。模板匹配类似于k-最近邻分类器k-nearest neighbor classifier(k=1)。在所提出的方法中,更高精度的原因是使用水平边缘检测而不是强度级别的差异。膝关节主要包含水平边缘,因此利用水平图像梯度作为特征很容易被分类器检测到。尽管使用所提出的方法在精度和速度方面有相当大的改进,但是检测精度仍然低于100%。因此,我们决定使用我们的手动注解,以便独立地对膝关节检测来研究KL等级的分类性能。

B.使用预先训练的CNN对膝关节进行分类

按照KL等级将所提取的膝关节图像分成训练(70%)和试验(约30%)。为了对膝关节图像进行分类,我们从VGG 16、VGG-M-128和BVLC CaffeNet的全连接、池化和卷积层中提取特征。对于二进制分类和多类分类,对线性支持向量机分别使用提取的特征进行训练。与使用WNDVCHRM[2]、[4]、[5]的OA图像的膝关节分类相比,CNNS获得的分类结果与OA图像的膝关节分类进行比较。

表III显示WNDMCHRM和CNN功能所实现的测试集分类精度。CNN的特征一直优于WNDMCHRM,用于将健康膝关节样本分类为膝OA的渐进阶段。VGG-M-128网维数512×13×13和池5层256×13×13,BVLC reference CaffeNet的尺寸为512×6×6的卷积层和尺寸为256×6×6的池化5层,它与完全连接的VGG网和CaffeNEt的fc6和fc7层相比,提供了更高的分类精度。我们还从更底层(如池化4、卷积4、池化3、池化2)中提取特征,并在这些特征的基础上对分类器进行了训练。由于底层的维数很高,训练所需的时间大大增加,但分类精度却没有提高。

在细粒度分类任务中,如膝关节OA图像分类,连续类分类的准确性倾向于低,由于疾病的渐进阶段的变化是最小的,并且只有高度鉴别的特征能够捕获这些变化。根据实验结果,如表III所示,与WNDMCHRM相比,从CNNS提取的特征提供了显著更高的分类精度,并且这些特征是效果对膝关节骨关节炎的连续阶段进行分类,具有一定的应用前景。

我们使用带有cnn特征的线性支持向量机进行多类分类(表III,多类)。同样,CNN的功能明显优于基于Wndchrm的方法。使用卷积层(卷积4,卷积5)和池(池5)层获得的分类精度比完全连通的层特征略高。与VGG16相比,从VGG-M-128网络和BVLC参考Caffenet中提取的特征可以获得分类准确度的极小的变化。

C.使用微调CNN对膝关节进行分类

表三显示了精调的BVLC Caffenet和VGG-M-128网络的多类分类结果。在这些实验中,我们舍弃了VGG 16网络,因为预先训练的CNN之间的精度变化很小,而微调VGG 16的计算成本要高得多。数据集分为训练集(60%)、验证集(10%)和测试集(30%),用于微调。为了增加训练样本的数量,我们将右膝翻转图像包括在训练样本中。对迁移层的学习速率为0.001,在新引入层上提高了10倍。微调BVLC Caffenet的性能略优于VGG-M-128。因此,我们只显示了微调的结果。图4显示了训练和验证损失以及验证准确性的学习曲线。损失的减少和精度的提高表明,微调是有效的,并且使得CNN的特征更有判别力,这提高了分类精度(表III)。与池化层(池5)和卷积(卷积5)层相比,从全连接(Fc7)层提取的特征提供了略好的分类效果。
在这里插入图片描述
在这里插入图片描述

D.使用微调CNN对KL等级进行回归

现有的膝关节OA严重程度自动测量的工作将其视为图像分类问题,将每个KL分级划分为一个不同的类别[2]。到目前为止,对于这些离散的KL等级[1]、[2]、[5],自动KL分级算法的评估都是基于二进制和多类分类精度的。然而,KL等级并不是绝对的,而是代表了一个递增严重度的序数程度。在评估过程中将其视为分类的,意味着错误地预测0级OA的受试者具有4级OA的惩罚与预测相同的受试者具有1级OA的惩罚相同。明显地,前者代表了更严重的错误,但这并没有被评估措施所捕获,该评估措施将等级作为分类变量来处理。在此设置中,对等级的排序对分类绩效没有影响。此外,将KL等级量化为离散整数级本质上是一种偷懒;疾病的真正进程是连续的,而不是离散的。因此,我们建议更适合使用连续评估度量(如平均平方误差)来测量自动膝关节OA严重度评估系统的性能。**这种衡量标准适当地惩罚误差与其与GT的距离成比例,而不是一视同仁地对待所有误差。**直接优化训练集的平均平方误差也自然导致作为标准回归问题的膝OA评估的制定。以此为模型提供了更多关于连续KL等级的训练样本之间的结构和关系的信息。我们证明这降低了平均平方误差并提高了模型的多类别分类精度。
在这里插入图片描述
我们使用分类损失(SoftMax输出的交叉熵)和回归损失(平均平方误差)对预训练BVLC Caffenet模型进行了微调,以比较其在评估中的性能膝关节OA严重度。在这两种情况下,我们用一个随机初始化的层替换fc7,并在20个epochs内进行微调,选择验证性能最高的模型。分类网络使用5D全连通层和fc7层之后的Softmax,回归网络使用具有线性激活的一维全连通节点。

我们使用均方误差(MSE)和标准的多级分类度量来比较模型。我们使用标准公式计算均方误差:
在这里插入图片描述
其中n是测试样本的数量,yi是真正的(整数)标签,yˆi是预测的标签。对于分类网络,预测标号是整数,对于回归网络,它们是实数。我们还测试了一个配置,在该配置中,我们对来自回归网络的实际输出进行舍入,以生成整数标签。表V显示了使用WNDMCHRM和带分类损失(CNN-CLSF)、回归损失(CNN-REG)和带舍入的回归损失(CNN-REG*)训练的CNN进行分类的MSE。回归损失明显地达到显著低于CNN分类网络和WNDMCHRM特征的平均平方误差。

为了证明回归损失也产生了较好的分类精度,我们比较了用分类损失训练的网络和用回归损失和舍入标签训练的网络的分类精度。在这种情况下,舍入是必要的,以允许使用标准分类度量。表六比较了结果的精确度、召回率和F1分数。使用回归损失的微调的网络的多级(0-4级)分类精度为59.6%。**使用回归损失训练的网络清楚地给出了优越的分类性能。**我们怀疑这是因为使用回归损失给网络提供了更多关于kl等级之间的序号关系的信息,允许其收敛于更好地推广到未见数据的参数。
在这里插入图片描述

结论和今后的工作

本文研究了应用神经网络自动量化膝关节骨关节炎严重程度的几种新方法。在这个过程中的第一步是检测膝关节区域。我们建议在水平图像梯度上训练线性支持向量机,作为模板匹配的替代方法,这不仅比模板匹配更准确,而且速度更快。

我们最初的分类方法是对膝骨关节炎的严重程度进行分类。我们对三个预训练网络进行了研究,发现BVLC参考CaffeNet和VGG-M-128网络的性能最好。对这些网络的特征进行训练的线性支持向量机与以前的先进分类器相比,获得了更高的分类精度。池层和卷积层的特征比完全连接层更准确。通过替换顶部全连接层对网络进行微调,可以进一步提高多级分类精度。

以前的研究已经使用二进制和多类分类度量来评估它们的算法。**我们建议将KL等级看作一个连续变量,用均方误差来评估精度,这是比较合适的。这种方法允许使用回归损失来训练模型,使得误差与它们的严重程度成比例地受到惩罚,从而产生更精确的预测。**这种方法还具有一个很好的特性,即预测结果可以在等级之间下降,这与疾病的持续发展是一致的。

未来的工作将集中在使用CNN或基于区域的CNN来改善膝关节检测精度,而不是在Sobel梯度上提出的线性模型,并进一步改进膝关节的评估OA严重度。清楚的是,IMAGENET中图像的分布和膝关节X线片的分布是非常不同的。如果有大量的训练例子,就有可能从零开始在膝OA图像上训练一个模型,这可能会更好地适应这个领域。在没有大量标记的例子的情况下,诸如梯形网络[19]这样的半监督方法可以证明比这里使用的域适配方法更有效。目前,膝关节的检测、特征提取和分类/回归是分开的步骤。未来的工作还将通过结合这些步骤来研究端到端深度学习系统。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐