基于Faster R-CNN的图像检索手腕骨折分类研究
2023-03-05杨锋陈雷邢蒙蒙
杨锋,陈雷,邢蒙蒙
1.山东中医药大学附属医院 资产设备处,山东 济南 250013;2.中国康复研究中心 设备处 医工科,北京 100071
引言
手腕骨折多发生在桡骨远端近关节面2 cm处,多因跌倒后手掌撑地所致,若未准确判断患者骨折的具体情况并进行相应的复位治疗,将导致腕关节畸形、关节活动功能受限等,从而严重影响患者的正常生活[1]。X射线检查是临床常用的手腕骨折检查手段之一,但因腕部骨质结构复杂且排列不规则,因此X射线成像显示隐匿的骨折病灶区域效果不佳,使得骨科医生阅片时极易造成漏诊、误诊等现象,从而影响患者的后续康复。利用计算机辅助诊断(Computer Aided Diagnosis,CAD)技术建立手腕图像的自动分类诊断模型,在骨科医生对患者诊断前先参考模型的诊断结果,进而对患者做出正确判断,不仅能够减轻医生的诊断负担,还能提高诊断效率,减少误诊率,具有重要的意义。
目前国内外对骨折图像进行自动诊断的研究方法主要集中在以下2个方面:一是利用传统模式识别方法完成骨折图像的分类,如Muehlematter等[2]建立了一个自动分类胫骨骨折的诊断模型。通过提取胫骨X射线图像的灰度共生矩阵特征(Gray Level Co-Occurrence Matrix,GLCM)[3]和形状特征作为胫骨骨折图像的特征表示,选择经典机器学习分类算法,如支持向量机(Support Vector Machine,SVM)[4]、k近邻(k-Nearest Neighbor,kNN)[5]和反向传播网络建立集成学习分类模型;Korfiatis等[6]通过改进集成分类算法,提出了一种基于不平衡集成学习方法的自动检测骨折分类系统,该方法主要是通过赋予多个分类器以不同的权重来完成骨折分类。由于传统特征提取方法具有针对性,因此仅依靠单一特征进行分类并不能达到很好的分类效果。二是针对骨折图像的某些数字几何特性利用特定的分析软件实现骨折图像状态的准确预测,如Bandyopadhyay等[7]利用长骨骨折图像的某些数字曲线特性对其进行分类。但骨折图像的数字曲线特性仅针对腿骨等单一类型的骨折,不具有鲁棒性。随着深度学习在肺、脑及乳腺疾病[8]取得了一系列成功的应用,相关研究者将深度学习应用于骨折诊断研究,如Olczak等[9]使用在非医学图像上预先训练好的卷积神经网络(Convolutional Neural Network,CNN),利用迁移学习将其应用于普通腕部X射线图像上以实现桡骨远端骨折的自动检测;Szegedy等[10]使用了初始Inception V3模型,训练数据采用放射科医生手动标记1389张肱骨X射线图像以重新训练InceptionV3网络顶部的初始层,从而实现二分类问题。尽管深度学习模型已取得了较好的分类效果,但受限于数据集数量的问题,易造成过拟合现象。因此,还需探索更优的分类模型以提高手腕骨折的诊断性能。近年来,基于CNN的目标检测算法Region-CNN[11]系列,尤其是更快速的基于区域的卷积神经网络(Faster Region-CNN,Faster R-CNN)[12],其目标识别的准确率在公开数据集Pascal VOC[13]的高分辨率大目标物体检测领域中取得了突破性的提升,已被证明有利于复杂图像特征的提取。基于此,本文拟引入Faster R-CNN目标检测算法来精确定位手腕骨折的感兴趣区域(Region of Interest,ROI),然后通过提取ROI的传统特征及深度特征,旨在利用特定的特征融合网络实现多特征的有效融合,以及通过改进图像检索技术实现手腕骨折的分类任务。
1 材料与方法
1.1 数据集选取
本文采用的数据集是由斯坦福ML团队收集的肌骨骼X放射影像集MURA[14],该数据集共包含7个上肢部位的子数据集,分为手、手指、手腕、手肘、前臂、肱骨和肩膀。每份病例的标签均由具有8年以上从业经验的放射科医师手动标记。本文采用手腕数据集进行实验,本文全部选取手腕图像的正位拍摄图像,共包含异常(骨折)数据1423例,正常(未骨折)数据2274例。所有手腕图像的目标区域均由2名山东省中医院具有10年以上从业经验的具有高级职称的专业骨科医师利用 LabelImg(https://github.com/tzutalin/labelImg) 对每张图片的ROI进行标注,并经第3位具有高级职称的骨科医生确定每张手腕图像的目标区域被全部包裹住。
1.2 图像对比度增强
为解决手腕X射线图像本身亮度低且主体与背景对比度差的问题,实验采用限制对比度自适应直方图均衡化算法(Contrast Limited Adaptive Histogram Equalization,CLAHE)[15]对手腕X射线图像进行预处理。以便增强手腕图像对比度,抑制噪声,从而更好地显示手腕图像中的病灶信息,利于后续的特征提取步骤。
CLAHE算法具体流程如下:
(1)手腕图像分块,将单张手腕X射线图像分为M×N大小的图像块。
(2)以块为单位,计算分割后单个图像块的灰度直方图,然后平均图像块的像素值到各个灰度级。灰度级中的平均像素数目可以由公式(1)表示。
式中,Ng为图像块中灰度级的数目;Nxp和Nyp分别为图像块沿x轴和y轴方向的像素数目。
(3)截取灰度直方图中大于NL的值,NL的值可由公式(2)得到。
式中,S为截取系数。
(4)直方图均衡化。对上述过程得到的图像块进行直方图均衡化处理,并利用变换函数求出经均衡化处理后的灰度值。图1表示手腕图像经过CLAHE算法处理的前后对比图,可以直观地看出,经预处理后的手腕图像病灶区域显示更清晰。
图1 CLAHE算法处理前后比较
2 基于Faster R-CNN的手腕图像分类模型构建
手腕图像分类模型的具体流程包括以下步骤:① 利用Faster R-CNN定位预处理后的手腕X射线图像的ROI,然后提取手腕ROI图像的方向梯度直方图(Histogram of Oriented Gradient,HOG) 特 征[16]、Haralick纹理特征[17]以及Alexnet深度特征[18],并利用CNN将上述特征融合起来作为手腕图像的特征表示,将融合后的特征向量送入本文改进的图像检索分类器(Euclidean Distance Metric Learning,EML-K)中完成对手腕具体类型的分类任务。手腕骨折诊断模型流程图如图2所示。
图2 手腕骨折诊断流程图
2.1 训练Faster R-CNN过程
本文选用Faster R-CNN进行手腕图像的目标检测任务是为了精确定位骨折部位,缩小后续特征提取范围以提高后续分类的准确率。
首先将经过预处理后的整幅手腕X射线图像输入CNN进行特征提取,Faster R-CNN中的特征提取部分采用的是VGG-16,为提高后续目标检测的准确率,本实验改进了Faster R-CNN的特征提取部分,将VGG-16替换为更好的特征提取网络Resnet-101[19-20],经特征提取过程后输出的特征图共享用于后续区域建议网络(Region Proposal Networks,RPN)和 ROI pooling,其中部分特征图经过RPN操作后产生多个候选框,将上述过程得到的候选框投影到另一部分的特征图上共同输入后面的ROI Pooling进行MaxPooling操作,从而输出固定大小的ROI特征图。将上述过程得到的ROI特征图输入全连接层进行分类和回归。最后使用非极大值抑制算法筛选Bounding-box,从而找出最优位置及其对应的分类概率。改进Faster R-CNN的基本网络流程图如图3所示。在图3中本文根据交并比(Intersection Over Union,IOU)定义检测的准确度,图4给出IOU的计算公式。本文设定检测准确的阈值为0.7,即IOU>0.7,则认为检测有效,否则认为检测失败。同时本文选用Resnet-101作为Faster R-CNN的特征提取网络是因为其引入了残差学习单元,能够进一步提升图像的分类精度。
图3 改进Faster R-CNN定位骨折部位示意图
图4 计算IOU的公式
2.2 特征提取
2.2.1 传统特征提取
通过提取图像的传统特征可以获取手腕图像的形状、纹理特征等细节数据,本文选取当前效果较好的纹理特征表示方法HOG特征和Haralick纹理特征作为手腕图像ROI的特征表示。HOG特征可以表示图像的局部纹理信息,其检测过程是将手腕X射线图像分成多个单元,平均划分梯度方向0°~360°为9个方向个数,将相邻4个单元构成一个的2×2分区,统计各个分区的方向梯度直方图,然后将各个分区内的特征向量串连起来得到多维的特征向量,即为手腕图像的HOG特征。
Haralick纹理特征提取主要分为2个步骤:① 构建图像对应的GLCM;② 计算由特征统计量构成的特征向量。其中GLCM通过计算像素相对距离(d=1)和4个不同方向(0°、45°、90°、135°),并对原始图像灰度级量化成16级,最后对4个方向上的特征向量取均值以获得最后的特征向量。因将HOG特征与其他基于图像梯度的局部特征描述相结合可以提高特征表达能力,基于此,本文选取HOG特征与Haralick纹理特征2个局部纹理特征描述子,将其与后续深度特征有效融合,以达到高效特征表示的目的。
2.2.2 深度特征提取
深度学习分类模型可以作为特征提取器,其卷积层可以利用固定维度的卷积核来提取图像的局部感知信息。浅层卷积层可以提取手腕图像的形状、纹理特征等低级特征,深层卷积层提取的是手腕图像的深层语义特征。因此本文选择经典深度学习网络Alexnet来提取手腕图像的深度特征,手腕图像深度特征的具体提取流程如下。
(1)定义手腕图像样本集X=[x1,x1,…,xm]∈Rd×m,其中m表示样本总数,d表示向量的具体维度。
(2)Alexnet模型中输入手腕图像,通过固定维度的卷积核来提取手腕图像ROI的局部感知信息,最后的全连接层即为手腕图像的深度特征,记为{(x(1),y(1)),(x(2),y(2)),…,(x(m),y(m))}。
(3)对于输出深度特征向量x(i),其代价函数J(θ)的计算方式如公式(3)所示。
式中,y(i)∈{0,1}表示手腕图像的具体类别,hθ(x(i))代表 softmax层的输出。
(4)利用梯度下降算法获得最优的代价函数及参数θ。
(5)经多次训练后得到手腕图像的深度特征。
2.3 特征融合
特征提取在模式分类算法中占据极为重要的作用,一般来说,单一特征的表示方法针对的是手腕图像的部分特性,若分类器对手腕图像的某种特征不敏感,则由单一特征训练的分类器往往难以表现出较好的分类性能。因此可以考虑将多个特征进行融合,来提高分类模型的鲁棒性。本文参照魏国辉等[21]的思路,设计了一个可以实现多特征有效融合的神经网络模型。设计的融合模型结构如图5所示。
图5 特征融合示意图
此外将HOG特征、Haralick纹理特征以及Alexnet深度特征串联成一个特征向量,将串联后的特征向量加入特征融合网络,设置随机失活为0.3。最后加入1个神经元,选择sigmoid函数作为激活函数,表示方式如公式(4)所示。本文手腕图像为二分类问题,损失函数选择二进制交叉熵损失函数,其具体计算方式如公式(5)所示。
式中,y为实际神经元;为真实输出标签。0表示手腕正常;1表示手腕异常。
2.4 EML-K分类算法
本研究通过改进医学图像检索方法进而完成手腕图像的分类。医学图像检索的主要实现方式是通过比较不同样本特征之间的距离大小来确定图像之间的相似性,距离与相似性呈负相关[22]。本文利用欧式距离度量来计算与待查询手腕图像距离最近的K张手腕图像,并赋予计算距离以一定的权值,根据检索到的K张手腕图像中的权值之和比来确定待查询图像的状态。EML-K的具体分类流程如下:
(1)通过欧氏距离度量算法计算待查询手腕图像与样本库图像之间的距离,欧氏距离的具体计算方式如公式(6)所示。
式中,x、y为2张图像,n为第n张图像。
(2)选取前K个与待查询手腕图像之间距离最近的图像,并根据计算出的距离大小将表示K个图像的特征向量进行加权。权值因子计算方式如公式(7)所示。
式中,D(q)为待查询图像的特征向量;D(i)为K个查询图像中第i个参考图像的特征向量,则2个图像特征向量之间的距离由|D(q)-D(i)|表示;M表示常数。取其距离与常数之和倒数作为权值,距离越近则表示权值越大。最后对权值进行加和,并根据概率值来确定待查询手腕图像的具体类型,计算方式如公式(8)~(10)所示。
式中,SN、SA分别代表查询手腕图像为骨折(正常)、未骨折(异常)的概率;检索与待检测图像最相似的K张图像,其中,N代表检索到的K个与待查询手腕图像最相似且为手腕正常的图像数目;A为检索到的K个与待查询手腕图像最相似且为手腕异常的图像数目。则SN、SA即为该骨折图像类型的权值之和与所查询到的所有图像权值之和的比值。本文中设置SN、SA的阈值(如ST=0.5),分别计算SN、SA的值,并将其分别与ST的值进行比较。若SN≥ST则认为查询手腕图像是正常的,若SA≥ST,则认为查询手腕图像异常。
3 实验环境及参数设置
3.1 实验环境及评估
本文所有实验均在Windows 10,MATLAB R2019a,Inter(R) Core(TM) i9-9820X CPU和128 GB RAM,NVIDIA GeForce RTX 2080 Ti GPU中运行。为避免因特征值不均衡而导致最后的实验结果产生偏差,因此对融合后的特征向量统一进行归一化处理。
3.2 参数选择
K值是基于欧式距离度量与待查询图像距离最小的图像数目,其取值影响诊断EML-K模型的分类效果,本文分析了K值的具体变化对分类性能的影响,从而选出最优的参数K。因本文为二分类问题,将K值的取值范围避开2的倍数设为[3,5,7,9,11,13,15,17,19]。图6为不同K值对应的曲线下面积(Area Under Curve,AUC)均值,由图6可以看出,不同K值对应的AUC值各不相同,当K值为11时,分类曲线的AUC均值达到最大值0.893。
图6 对应不同K值时EML-K分类方案的AUC均值
4 结果
4.1 不同特征提取方法的分类精度比较
为准确全面地评估本文提出的手腕图像分类算法,对比实验选择了当前经典的机器学习及深度学习分类方法。表1给出不同特征提取方法利用EML-K的分类结果。由表1可知,本文提出的特征融合方法的AUC均优于其他3种单一传统特征的分类效果,同时使用目标检测算法的AUC明显高于未使用目标检测算法的AUC。
表1 不同特征提取方法的分类精度比较(±s)
表1 不同特征提取方法的分类精度比较(±s)
注:目标算法为Faster R-CNN。
使用目标检测算法的AUC HOG特征 0.628±0.016 0.667±0.023 Haralick特征 0.643±0.021 0.683±0.019 Deep特征 0.734±0.008 0.794±0.013特征融合 0.836±0.011 0.893±0.017特征提取方法 未使用目标检测算法的AUC
4.2 不同分类方法的分类精度比较
表2给出均使用融合后的特征时EML-K与经典机器学习分类方法的AUC,由表2的分类结果得到EML-K的AUC达到了0.893,均高于其他分类方法的AUC。同时使用目标检测算法的AUC明显高于未使用目标检测算法的AUC。
表2 不同分类方法的分类精度比较(±s)
表2 不同分类方法的分类精度比较(±s)
注:目标算法为Faster R-CNN。
分类算法 未使用目标检测算法的AUC使用目标检测算法的AUC SVM 0.752±0.021 0.806±0.014 ELM 0.678±0.007 0.739±0.011 kNN 0.738±0.013 0.758±0.029 RF 0.741±0.028 0.761±0.016 EML-K 0.836±0.011 0.893±0.017
为综合评估本文提出手腕图像诊断模型的分类性能,表3给出本文提出的手腕图像诊断模型与当前经典深度学习模型的分类效果对比,由表3可知,本文提出的诊断模型均优于当前经典的深度学习分类模型。本文还与Olczak等[9]提出的研究方法的分类结果进行了对比,本文提出手腕图像诊断模型的AUC(0.893)较Olczak等[9]采用目标检测方法检测图像,利用深度学习网络框架分类结果(AUC=0.830)相比,高5%左右,证明了本文提出算法的可行性。
表3 本文方法与经典深度学习模型分类效果比较(±s)
表3 本文方法与经典深度学习模型分类效果比较(±s)
方法 AUC Alexnet 0.792±0.011 Googlenet 0.856±0.023 Resnet-50 0.868±0.021本文方法 0.893±0.017
4.3 检索示例
为展示本文提出的检索方法,图7给出一个手腕图像检索的具体实例,如判断手腕是否骨折,则设定查询参数,选择前N张与其最相似的图片,最后判断手腕是否骨折。其中0代表手腕正常,1代表手腕骨折。
图7 查询手腕图像(左)和最相似的10张检索参考手腕图像(右)
5 讨论
利用CAD技术建立手腕图像的自动分类诊断模型,能够有效提高骨折图像的诊断效率,减少误诊,具有十分重要的现实意义。本文引入快速目标检测技术来定位手腕图像的ROI,通过有效的特征融合方法以达到最优的手腕图像特征表示目的,并改进医学图像检索算法,实现手腕图像的检索和诊断。最后通过对比实验,Olczak等[9]提出的方法利用Faster R-CNN进行骨折病灶的检测及深度学习分类器进行分类,最后分类的AUC为0.830,本文提出的多特征融合手腕骨折分类方法,对提取的多种特征进行融合,并改进传统分类方法,最后手腕骨折图像的AUC为0.893,证明了本文提出的手腕图像诊断模型的可行性和有效性。
本研究主要基于Faster R-CNN的图像检索方法来完成手腕骨折图像的分类任务,并取得了较好的分类精度。然而本研究仍存在一定的局限性,例如,基于Faster R-CNN目标检测方法在检测的精确度及检测时间上还有待提升,后续还应从改进Faster R-CNN的目标检测算法入手来精确定位手腕图像的病灶区域。此外,本文仅使用了几种特定的特征进行融合,未来还应寻求更优的特征表示及融合方法来进一步提高手腕图像分类算法的准确率,为手腕骨折图像自动检测系统应用于临床提供参考。
6 结论
本实验利用Faster R-CNN定位手腕图像的ROI,提取其传统特征及深度特征,并利用CNN将提取到的骨折图像多种特征进行有效融合后,送入本文改进的图像检索诊断模型完成对手腕图像的分类任务,得到AUC均值为0.893,诊断的准确率优于对比实验结果。实验结果表明本文所提的Faster R-CNN的图像检索手腕骨折分类研究具有一定的有效性和鲁棒性。