无锡南洋职业技术学院 沈继云
手骨骨龄作为人类的生物学年龄,可以准确反映生物个体的发育水平及其成熟度。青少年的骨龄评估结果可对其生长发育情况及身高预测提供理论依据。本文提出一种基于细粒度图像分类原理的深度卷积神经网络模型。该模型在青少年手骨图像识别的过程中可自动定位信息丰富区域并提取其局部特征,然后,将提取到的这些局部特征与图像的全局特征融合在一起,利用融合后的特征进行骨龄分类。该方法不需要借助任何的图像的标注信息,即可实现端到端的骨龄评估,大大提高了骨龄评估的速度和准确度。通过实验表明,本文方法在基于弱监督的细粒度图像分类的骨龄评估方面达到了较好的性能。
骨龄的概念最早是在医学领域被提出和应用的,用来监测儿童的发育和成长。骨龄一般使用左手和手腕的X射线图进行骨龄评估(Bone Age Assessment,BAA)[1]。医生会观察左手掌骨、指骨、腕骨及桡骨和尺骨下端的骨化中心的发育情况。通过X射线片来确定儿童骨龄[2]。由于处于不同阶段的手骨具有不同的形态学特征,因此,BAA可以更准确地反映一个人的生长发育水平和成熟度。它不仅可以确定儿童的生理年龄,还可以了解儿童的生长和发展潜力以及性成熟的趋势。目前,BAA方法分为TW评分法和G-P图谱法[3]。TW方法通过分析相关的骨形态特征,对手部的每个部位进行评估和打分,最后将不同区域的分数累积起来,得到最终的骨龄。G-P图谱法是一种图像比较方法。该方法将评估的图像与标准图像进行比较,以与评估图像相似度最高的标准图像的骨龄为其估计值。TW法的评分方法比G-P图谱法更客观,因此,TW法被认为比G-P图集法具有更高的可重复性[4]。
目前现有的文献所提的自动骨龄评估方法主要有两类:一类是两阶段方法;另外一类骨龄估计方法是端到端的方法。虽然上述方法都取得了比较不错的结果,但是也都存在各自的问题,问题主要集中在两个方面:(1)两阶段的方法虽然使用了卷积神经网络,但是需要与传统的机器学习方法相结合,不能实现端到端的骨龄评估,实时性较差;(2)一些研究即使实现了端到端的功能,仍然需要预处理的操作,或者所提的网络不能聚焦于信息丰富区域,导致网络不能提取到更深层的特征。
本研究提出一种基于Navigator-Teacher-Scrutinizer(NTS)[5]的弱监督卷积神经网络模型进行青少年骨龄的自动评估,该网络在图像识别的过程中可以自动定位信息丰富区域(Region of Rich Information, RORI),将RORI局部特征与手骨全局特征融合到一起,利用融合的特征来实现骨龄的分类。
骨龄评估的任务可看作是把待评估手骨图片划分到某个骨龄值图像类别中去的过程。主要的难点在于具有不同骨龄的手骨图像的相似度大,可供卷积神经网络进行分类的特征只有细节特征,且仅存在于腕骨、掌指骨骺等局部区域。那么,算法如何能够对这些局部信息丰富的区域实现自动的定位便成为了亟待解决的首要问题。
本研究主要基于NTS-Net网络,该网络全称为Navigator-Teacher-Scrutinizer Network。模型由三部分组成:导航员代理、教师代理和审查员代理。导航员模块能够在教师模块的指导下检测出信息量最丰富的子区域,之后,审查员模块仔细分析导航员建议的子区域的特征,并利用这些特征进行最终预测。在NTS-Net网络模型中,Navigator模型负责找出信息最丰富的区域(RORIs),而教师模型则对Navigator提出的RORIs进行评估并给出反馈。之后,审查员模型仔细检查分析这些RORIs并做出最终的骨龄预测。
与传统的卷积神经网络不同,为了能更好的聚焦于信息丰富的区域,模型的主体采用了残差网络(Resnet-50)基线,并在此基础上设计了一个学习排序模块。一般的信息量大的区域有助于网络模型更好地完成目标识别,若将信息量大的区域的特征和图像的全局特征融合起来,利用融合后的特征进行目标识别,则可以获得更好的分类性能。因此,该网络模型的核心是自动定位图像中的信息丰富区域,并将这些区域按照置信度进行排序。对于输入图像X,假设信息丰富区域是矩形区域,信息丰富区域的集合用A表示,则R∈A表示集合中的RORIs。该方法定义了计算RORIs的信息量的函数I,并定义了置信函数C来评估该区域属于真值的置信度。一般而言,信息量较大的区域应具有较高的置信度,因此应满足如式(1)所示的条件:
该模型中用导航员模块代替信息函数I,教师模块代替置信度函数C。简单地讲,该方法先在区域空间集合A中选择M个子区域AM,然后,导航员模块对所选中的M个子区域的信息量I(RM)进行评估,教师模块对其置信度C(RM)也进行评估。该网络对Navigator模块进行优化以使{I(R1),I(R2),…,I(RM)}和{C(R1),C(R2),…,C(RM)}具有相同的顺序。
综上,该网络将Navigator模块所预测的信息最丰富的M个子区域表示为R={R1,R2,…,RM},子区域R所对应的信息量表示为I={I1,I2,…,IM},C={C1,C2,…,CM}表示教师模块预测的置信度。最后,在信息最丰富的M个子区域中,我们选择信息量最大的前K个子区域,将这K个子区域的特征与手骨片的全局特征一起送入审查员模块进行分类,从而完成骨龄的预测。
为了使置信度函数C与信息量函数I具有相同的顺序,我们需要对这些信息丰富子区域R进行优化。优化过程采用的损失函数有导航员损失和教师损失函数,如式(2)、式(3)所示。
导航员损失函数:
教师损失函数:
其中,函数f是非递增函数,如果Cs>Ci,则促使 Is>Ii,此处f使用Hinge Loss Function。损失函数对I和C之间的对反向进行惩罚,并鼓励I和C保持相同的顺序。
当导航员模块导航到信息最丰富的区域{R1,R2,…, RK}时,审查员模块即给出细粒度的识别结果Pi=S(X, R1,R2,…,RK),并使用交叉熵损失作为分类的损失,如式(4)所示:
式中,N表示类别数,yi表示指示变量,Pi是预测概率。
在基于NTS-Net网络进行自动骨龄评估的网络模型体系结构中,首先将手骨图像X送入特征提取器模块(Resnet-50),然后由导航员模块中的FPN(特征金字塔网络)检测出信息丰富区域并进行区域的信息量大小的计算。随后,将这些信息丰富的区域送入教师模块评估这些区域的置信度,并使区域置信度C和其信息量I保持相同顺序,从而实现对信息区域位置的优化。当其大小排序一致时,则将信息区域的特征与原图的特征一起送入审查员模块,审查员模块对这些特征进行融合,并利用融合后的特征完成骨龄的预测。
该数据集由带有骨龄标签的手和腕部X光片组成。X射线图呈现出高度的可变性,包括不同的采集方法,以及亮度、对比度、分辨率,甚至长宽比的变化等。数据集绝大部分图片是通过计算机放射成像(Computed Radiography, CR)或数字化放射成像(Digital Radiography,DR)获取的,仅有一小部分图片是通过胶片获得的。从胶片获取的这些图片除了手部区域外存在大面积的无效区域。这些无效区域对于骨龄识别毫无用处,同时也增加了数据处理的负担。为了裁剪掉这些无效区域,本文提出了一种基于扫描线的快速扫描算法来提取手骨的有效区域。有效区域的定义如图1中的白色框所示。
图1 有效区域提取方法示意 Fig.1 Valid region extraction method
(顶行:原始数据;底行:通过扫描算法提取的有效区域)
基于扫描线的快速扫描算法的步骤如下:
(1)输入一张原始图像I和阈值T;
(2)确定扫描方向(行或列);
(3)开始扫描;
(4)计算扫描线上每个像素的强度L;
(5)计算该扫描线上的最大灰度差Llim;
(6)将Llim与T进行比较,如果Llim>T则返回(7),否则返回(3);
(7)停止扫描;
(8)记录扫描线的位置(Xleft,Xright,Ytop,Ybottom);
(9)计算中心X0,Y0和有效区域的高度H,宽度W;
(10)输出具有有效区域的图像Ivr。
这个预处理算法的目的用来验证简单的裁剪预处理是否能够提高本文模型的性能。
(1)数据获取。本研究使用RSNA 2017的儿科骨龄数据集为研究对象。该数据集共包含6833张男性和5778张女性的X光手骨图片,年龄范围从1个月到228个月。每张图片都由专家手工标注。这些数据中有一小部分图片是由胶片获得的。我们挑选出其中带有无效区域的样本,用于后续的预处理算法的必要性分析。其中,包括男性150张,女性157张。故最终用于训练和测试的数据集共包含男性手骨图像6683幅和女性手骨图像5621幅。
RSNA数据集中的手骨图片样本在不同年龄类别上的数量分布是不平衡的,有些月龄的样本数仅为1张,而最多的达718张,这样的分布使得模型的分类准确度大大降低。因此,需要对该数据集进行增强以扩充数据,达到样本均衡的目的。
(2)图像数据增强。深度学习是一种标准的数据驱动模型的方法,作为黑箱的深度网络严重依赖于大量的数据来解决问题,而本研究中的图片样本分布不均衡,因此,需要对该数据集进行扩展。
分类网络的数据集扩展的方法通常有平移、旋转等仿射变换法、镜像法、弹性形变法[6]等。由于手骨图像具有高度的一致性,如手所摆放的位置以及背景颜色等,如果随意选择数据增强的方法会破坏这种一致性。经仔细研究,本实验选择了缩放、位移、旋转、剪切以及弹性形变5种方式将每个年龄的图片样本增加到约60个。最终,得到男性手骨图像12501幅和女性手骨图像10461幅。如图2所示给出了数据增强方法及其增强的结果。
图2 数据增强方法及结果Fig.2 Data augmentation method and results
我们将增强后数据的80%作为训练集,其余的20%的样本用于测试。采用随机策略生成训练/测试集分割样本,共进行了5次训练/测试的实验并取平均值,以最大化地利用样本。数据增强内容包括从-45°~45°范围内的图像旋转,0-0.1比例内的图像平移,0.8-1.1比例内的图像缩放,-8°~8°范围内的图像剪切,以及α为90°~105°、σ为20的图像弹性变形。如表1所示给出了增强后的整个数据集的分布情况。
表1 增强后的实验数据集分布情况Tab.1 Distribution of augmentation dataset images
本实验在AMAX深度学习工作站中完成,深度网络模型的参数设置如下:局部区域的数目K=4,即将4个局部信息丰富区域的特征和全图像特征送入到最后的分类网络进行分类。加载预训练模型ResNet-50,设置Pretrained= True。训练过程中Batch Size设置为16,权重衰减率设置为WD=10-4以防止过拟合,学习率设置为0.001。经过预训练的ResNet-50作为特征提取器,利用SGD进行算法优化,训练过程中每一轮保存一次测试模型,模型大小约113MB左右,本实验共计训练100轮次。
(1)骨龄的估计精度。本实验采用Top1准确率、平均绝对误差(MAE)及标准差等评价指标来评估实验结果。骨龄估计的结果如表2所示,表中数据是训练/测试执行5次的平均值。
表2 骨龄评估实验结果Tab.2 Experimental results of bone age assessment
测试模型选择训练过程中精度达到最高的epoch所对应的模型。实验过程中的损失值变化情况、测试准确率变化情况分别如图3、图4、图5、图6所示。图中标号①的线表示损失率Loss,标号②的线表示Top1准确率Accuracy。图中曲线均为5次训练/测试所得的平均值。
图3 训练集损失和准确率的变化曲线(男性)Fig.3 Loss and accuracy curve of training set (male)
图4 测试集损失和准确率的变化曲线(男性)Fig.4 Loss and accuracy curve of test set (male)
图5 训练集损失和准确率的变化曲线(女性)Fig.5 Loss and accuracy curve of training set (female)
图6 测试集损失和准确率的变化曲线(女性)Fig.6 Loss and accuracy curve of test set (female)
本实验在测试数据集上实现了男性66.38%、女性68.63%的Top1准确率以及3.71和3.81个月的平均绝对误差。相比于其他的研究,本模型表现出了最佳的性能,这也说明了基于NTS-Net网络引入这种训练范式的有效性。
(2)不规范样本的骨龄估计精度。上面提到的不规范样本可能是由于对胶片拍照角度不合适造成的,这些样本中存在大面积的无效区域,给骨龄识别带来一定的困难。本文采用扫描线快速扫描算法去除了这些无效区域,之后对有效区域样本进行骨龄估计,以验证图像预处理的必要性。测试模型仍然采用上面(1)中的模型。研究中分别对预处理前和预处理后的不规范样本进行了测试,测试结果如表3所示。表中数据亦是用5个不同的测试模型进行测试,结果取平均值。
由表3可知,与未作任何预处理的原始图片相比,经过预处理的男性和女性的骨龄估计的MAE值分别提高了13.83%和17.53%。本研究表明,仅仅增加一个简单的预处理步骤(扫描线扫描算法)就能提高本文模型对骨龄的估计精度。
作为算法比较,本研究与文献中公开报道的与深度学习相关的骨龄评估算法的结果进行了对比。对比结果如表4所示。
从表4的实验结果可以看出,本文方法在骨龄评估方面的性能高于现有的文献所提的方法。本文所提方法是一种端到端的方法,模型直接接收原始图像作为输入,输出骨龄的类别,且不需要对原始图像作任何的预处理。本文方法属于典型的基于弱监督的端到端的骨龄估计算法,算法的效率较高。同时,也证明了这种自我监督的训练范式对细粒度图像分类的有效性。
本文使用基于细粒度图像识别的深度卷积神经网络对青少年的骨龄进行了评估研究,该网络能够自动提取手骨X光图像的局部特征并结合手骨全图特征进行骨龄评估,是一种端到端的骨龄评估方法。本文模型采用固定比例(8:2)下的随机策略生成训练/测试集,共得到5次不同划分下的测试模型,通过执行5次训练/测试实验取平均值以确保实验结果的可靠性。最终,该网络模型在RSNA公开数据集中男性的预测准确率为66.38%、女性的预测准确率为68.63%,平均绝对误差分别为3.71和3.81个月,其结果优于现有引用[7]-引用[12]中的结果。本文算法收敛速度快,骨龄评估准确度较高,平均每张图像的骨龄估计用时约为35ms,大大节省了测试时间。从应用的角度看,如果将本研究成果应用于青少年骨龄评估的实际部署中,该方法可以实现青少年骨龄的快速实时评估,能够满足临床的需求。
但是在研究过程中发现该方法还存在一些问题。(1)该数据集的骨龄样本分布严重不均衡。在男性131个骨龄类别(0-228月)中最少的样本只有1张图片,而最多的样本达700多张,如果能收集到各个类别均衡分布的数据,则模型的泛化能力将进一步提高。(2)对于特征提取网络的选择问题。本文模型中使用的残差网络虽然已经有很好的特征提取能力,但是50层的残差网络训练时产生的参数量比同样拥有良好特征提取能力的DenseNet网络大,在以后的研究中可以考虑用DenseNet网络替代模型中的残差网络。(3)本文探讨了对原始手骨图片进行预处理的必要性。如果仅仅对原始图片做简单的裁剪预处理(如快速扫描算法)对于骨龄识别是有效的。不幸的是,可供裁剪预处理的不规范样本数过少(男性和女性各约150幅),只占总数的3%左右。因此,本文将这些样本单独取出进行实验,以验证预处理技术是否能够改善本文模型的骨龄估计的性能。(4)不同的骨龄估计方法所使用的数据集不尽相同,难以进行公平地比较。即使是使用相同的数据集时(RSNA),由于数据增强方法的不同,训练/测试集划分比例不同以及对异常样本的处理情况,也很难做到完全公平地比较。
引用
[1]MUGHAL A M,HASSAN N,AHMED A.Bone Age Assessment Methods:A Critical Review[J].Pak J Med Sci,2014,30(1):211-215.
[2]张玉青.浅谈骨龄在儿童体质研究中的应用[J].体育教学,1988 (3):55-56.
[3]GREULICH W W,PYLE S I T.Wingate Todd Radiographic Atlas of Skeletal Development of the Hand and Wrist[M].Stanford University Press:Stanford,California,USA,1959.
[4]SATOH M.Bone Age:Assessment Methods and Clinical Applications[J].Clinical Pediatric Endocrinology,2015,24(4):143-152.
[5]YANG Z,LUO T G,WANG D,et al.Learning to Navigate for Fine-Grained Classification[C]//European Conference on Cmputer Vision,2018:438-454.
[6]LI J,WANG D S,LI S,et al.Deep Learning Based Adaptive Sequential Data Augmentation Technique for the Optical Network Traffic Synthesis[J].Optics Express,2019,27(13):18831-18847.
[7]REN X H,LI T T,YANG X J,et al.Regression Convolutional Neural Network for Automated Pediatric Bone Age Assessment From Hand Radiograph[J].IEEE J.Biome Health Informatics,IEEE Journal of Biomedical and Health Informatics,2019,23(5):2030-2038.
[8]LIU B,ZHANG Y,CHU M C,et al.Bone Age Assessment Based on Rank-Monotonicity Enhanced Ranking CNN[J].IEEE Access, 2019(7):976-983.
[9]SPAMPINATO C,PALAZZO S,GIORDANO D,et al.Deep Learning for Automated Skeletal Bone Age Assessment in X-Rag Images[J].Medical Image Analysis,2017(36):41-51.
[10]SOUZA D,OLIVEIRA M M.End-to-End Bone Age Assessment with Residual Learning[C]//31st SIBGRAPI Conference on Graphics, Patterns and Images (SIBGRAPI),2018,197-203.
[11]IGLOVIKOV V,RAKHLIN A,KALININ A.et al.Pediatric Bone Age Assessment Using Deep Convolutional Neural Networks in Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support[M].Springer:Cham,Switzerla nd,2018,300-308.
[12]Hyunkwang Lee,Shahein Tajmir,Jenny Lee,et al.Fully Automated Deep Learning System for Bone Age Assessment[J].Journal of Digital Imaging,2017,30(4):427-441.