基于深度学习的手骨X 射线图像骨龄评估

2021-01-15 07:18王嘉庆梅礼晔张俊华
计算机工程 2021年1期
关键词:骨龄残差卷积

王嘉庆,梅礼晔,张俊华

(云南大学 信息学院,昆明 650500)

0 概述

医学上通常将人类骨骼年龄(以下称为骨龄)作为其生物学年龄,与出生年龄相比,骨龄能更准确地反映人体成熟度。在临床医学中,骨龄评估广泛应用于儿童成长预测与相关疾病辅助诊断,是研究儿童内分泌、遗传因子和生长障碍的一种常用手段[1-3]。

目前临床通常采用G&P 方法[4]或TW 方法[5]通过左手(非惯用手)骨X射线图像进行骨龄人工评估。G&P方法又称图谱法,该方法主要通过观察远端指骨、中间指骨以及腕部的各种形状骨样,将特定感兴趣区域(Region of Interest,RoI)的图像特征与标准图谱中各年龄段图像特征进行对比来评估骨龄。TW 方法又称计分法,该方法主要通过分析骨骺/干骨后端感兴趣区域(Epiphysis/Metaphysis Region of Interest,E/MRoI)以及腕骨感兴趣区域(Carpal Region of Interest,CRoI)等20 个感兴趣区域(Region of Interest,RoI)并分别评分,然后将所有RoI 分数相加得到骨成熟度总评分来评估骨龄。然而G&P 方法和TW 方法耗时较长,以G&P 方法和TW 方法中TW2 方法为例,经验丰富的医生使用这两种方法分别需耗费1.4 min 和7.9 min[6]。此外,上述方法均受医生主观因素影响,评估所得骨龄通常存在误差,其中,G&P 方法的平均误差为0.96 岁,TW2 方法的平均误差为0.74 岁[7]。

目前自动化骨龄检测方法大部分按照TW 方法的原理对手骨X 射线图像的RoI 特征进行自动化提取。21 世纪初,PIETKA 等人[8-9]提出基于自组织指骨距离提取的E/MRoI 分割方法,并用模糊分类器进行TW 级分配,通过评估360 张0 岁~6 岁儿童的手骨X 射线图像得到骨龄平均绝对误差(Mean Absolute Error,MAE)为2.41 岁,经改进分类器处理后得到MAE 为1.93 岁。2007 年,GERTYCH 等人[10]采用模糊逻辑的骨龄评估方法在1 400 张0 岁~18 岁儿童手骨X 射线图像公共数据集上进行评估,得到骨龄MAE 为2.15 岁。2016 年,SEOK 等人[11]提出一种决策规则的评估方法,在135 张未公布年龄的X 射线图像非公开数据集上评估得到骨龄均方误差(Mean Square Error,MSE)为0.19 岁。文献[12]提出一种BoneXpert 方法,融合G&P 方法和TW 方法建立统一模型进行自动年龄评估,利用生成模型和活动外观模型自动分割手部和腕部的15 根骨骼,然后根据骨骼的形状、强度与纹理特征确定其G&P 或TW2 骨龄,在1 559 张7 岁~17 岁儿童的手骨X 射线图像非公开数据集上评估得到G&P 和TW2 骨龄的MSE 为0.42 岁和0.80 岁。2017 年,SPAMPINATO 等人[13]提出一种基于深度学习的骨龄评估方法BoNet,在0 岁~18 岁涵盖所有种族和性别的手骨X 射线图像公共数据集上进行自动化骨龄评估,得到骨龄MAE 为0.8 岁。

在上述研究中,除了基于深度学习的自动化骨龄评估方法,其他方法均基于G&P 方法或TW 方法中的E/MRoI 和CRoI 对手骨X 射线图像进行分割提取图像几何物理特征,并计算出图像特征来评估骨龄,然而将临床特征直接作为计算机视觉或机器学习分析处理的对象极大限制了自动化骨龄评估的泛化能力。此外,骨龄评估还存在实验数据集不公开、数据量较少、针对特定性别或种族,以及大部分受试者因年龄较小骨骼尚未定型等问题,其中BoneXpert方法对图像质量要求较高。以上因素导致实验结果不能真实反映自动化评估方法的性能,且评估方法不易验证与推广。

针对上述自动化骨龄评估方法存在的问题,本文提出一种基于深度学习的X 射线图像自动骨龄评估方法,建立改进的端到端深度学习网络Inception ResNet V2,减少特征提取复杂度与局限性,在不借助任何先验信息的情况下,将手骨X 射线图像简单预处理后作为神经网络的输入,通过改进卷积神经网络自动提取手骨X 射线图像深层特征进行识别和分类,并采用分层K折交叉验证法对网络进行训练。

1 基于深度学习的骨龄检测方法

深度学习与传统简单学习的区别在于,前者通过多层网络结构自主学习和表征数据特征[14],而后者需要人工提取特征信息。人工提取的特征通常不准确或者不能很好地表征事物本质,难以取得理想的学习效果。与传统简单学习相比,深度学习的效果更优异且对数据特征的提取更准确。卷积神经网络是深度学习在图像领域的成功应用之一[15]。

近年来,深度卷积神经网络已成为图像识别性能优化的关键,其中具有代表性的是2014 年ImageNet ILSVRC 图像识别竞赛的冠军模型GoogleNet[16-17],其以相对较低的计算成本获得良好的识别精度。GoogleNet 深度学习架构中较先进的Inception V3、Inception V4、Inception ResNet V1 以及Inception ResNet V2 网络[18]的检测错误率与参数量如表1 所示。可以看出,Inception ResNet V2 网络的Top-1 和Top-5 错误率均低于GoogleNet 系列的其他网络,因此,本文将Inception ResNet V2 作为基础网络用于骨龄评估。

表1 不同网络的检测错误率与参数量Table 1 Detection error rate and parameter quantity of different networks

1.1 优化的Inception ResNet V2 网络

Inception ResNet V2 网络的原始结构由Stem 模块、Inception-ResNet模块、Reduction 模块以及Softmax 层组成。Inception-ResNet 模块使用1×1 卷积和降维的方法减少参数量,在增加网络深度的同时使用Shortcut 可有效避免梯度消失的问题,提高识别速度并加快收敛。

使用Inception ResNet V2 网络进行骨龄评估的具体过程为:利用深度卷积神经网络进行特征学习,将手骨X 射线图像的低层特征和高层特征进行融合,同时重复利用手骨特征有效性,并删减Inception ResNet V2 网络中Softmax 层以优化Inception ResNet V2 网络结构,如图1 所示(彩色效果参见《计算机工程》官网HTML 版)。

图1 优化的Inception ResNet V2 网络结构Fig.1 Optimized structure of Inception ResNet V2 network

1.1.1 优化的Inception 模块

Inception 模块使用多层感知器代替传统卷积神经网络中的通用线性结构,多层感知器具有良好的非线性分类能力,在分类精度和收敛速度方面具有更好的效果,适用于骨龄评估等非线性分类问题。Inception 模块原始结构如图2(a)所示,该模块利用1×1、3×3、5×5 卷积核和3×3 最大池化操作扩展网络的深度与宽度,将不同规模卷积核的结果联合滤波获得输出,以提取更丰富的手骨X 射线图像深层特征。考虑到5×5 卷积核需要大量计算,采用3×3 卷积核代替5×5 卷积核[19]对Inception 模块进行优化,获得Inception-A 模块,其结构如图2(b)所示。为进一步减少计算量,引入非对称卷积核,使用1×n卷积核与n×1 卷积核代替n×n卷积核,在卷积核感受野不变的情况下节约计算资源。非对称卷积核在中等大小的特征图上分类精度更高,经过测试得到卷积优化后的Inception-B 模块和Inception-C 模块,其结构分别如图2(c)和图2(d)所示。

图2 原始模块和卷积优化后的Inception 模块结构Fig.2 Structure of original module and convolution optimized Inception modules

1.1.2 残差连接的Inception 模块

Inception 模块的引入使网络宽度与深度增加,卷积优化后的Inception 模块可降低计算量并提取到手骨X 射线图像不同层次的特征,有利于提高骨龄预测精度,但也会造成梯度消失或梯度爆炸等问题。因此,通过在卷积优化后的Inception 模块中加入残差连接[20]结构可解决卷积神经网络深度增加带来的副作用,残差连接结构如图3 所示。

图3 残差连接结构Fig.3 Residual connection structure

残差连接结构的输入和输出关系表示为:

其 中,xl为残差块的输入,xl+1、xl+2和xL分别为xl后第1 层、第2 层和第L层残差块的输出,F(·) 为激活函数,w为卷积操作。

根据反向传播算法中的链式法则,损失函数c关于xl的梯度表示为:

在残差连接结构中,当更新某个节点的参数时,由于xL=F(x)+xl,因此链式求导后即使数值再小,其左侧1 的存在使原链式求导中连乘运算变为连加运算,从而保证该节点参数更新时不出现梯度消失或梯度爆炸现象。

利用残差连接结构的优势,将改进后的Inception 模块与残差连接结合[17]分别得到Inception-ResNet-A 模块、Inception-ResNet-B 模块和Inception-ResNet-C 模块,其结构如图4 所示。

图4 3 种模块的结构Fig.4 Structure of three modules

1.2 损失函数的选取

本文采用固定学习率训练优化后的Inception ResNet V2 网络,考虑到固定学习率下网络模型不易收敛,采用MSE 损失函数。由于MSE 损失梯度随损失减小而降低,当梯度下降即将结束时不易错过最小值,因此训练网络采用MSE 损失函数较其他损失函数所得效果更精确。

将骨龄评估损失定义为手骨X 射线图像评估所得骨龄读数与标签(真实)值的均方误差,计算公式为:

其中,N为样本数,ytrue为骨龄真实值,ypred为骨龄预测值。MSE 值越大,表示骨龄预测结果越差。

1.3 评价指标

对于骨龄数值回归预测结果,本文采用平均绝对误差作为评价指标,MAE 值越小,说明预测精度越高,计算公式为:

2 实验与结果分析

2.1 数据集

本文实验数据集采用一种骨骼年龄自动基准测量的公共综合X 射线数据集Digital Hand Atlas Database System。该数据集包含1 391 张18 岁以下儿童左手骨X 射线图像,涵盖亚洲人、非洲人、高加索人、西班牙人4 个种族,每张图像都由医学专家提供骨龄值,儿童的种族、年龄、性别分布情况如表2所示。由于该数据集为公共数据集,适用性较强,涵盖种族数量多、年龄范围广,因此其训练的网络可应用于各年龄段及各种族的骨龄评估,在一定程度上弥补了目前自动骨龄评估方法的不足。

表2 数据集中儿童的种族、年龄和性别分布情况Table 2 Race,age and gender distribution of children in the dataset

2.2 数据预处理

利用深度学习处理图像时,需采用大量数据进行训练,然而数据集样本不足,因此,需扩增数据集样本数量。由于不能改变手骨X 射线图像RoI 特征的原始样貌,因此未选用随机拉伸等数据增强方法,而是通过将图像上下翻转180°使数据集图像数量扩大为原来的两倍。然后对数据增强后的手骨X 射线图像进行Z-Score 标准化处理,经过处理的数据均值为0,标准差为1,最终将不同量级的数据转化为统一度量,从而提高数据可比性并削弱数据解释性。

2.3 改进的交叉验证方法

本文实验所用数据集包括亚洲人、非洲人、高加索人和西班牙人4 个种族,不同种族手骨X 射线图像的特征区域存在差异。采用标准K折交叉验证法(见图5(a))将数据集按顺序分为K等份,对于每一次模型的训练测试(共K次),都有(K-1)份做训练集,剩下1 份做测试集,K次训练测试后共得到K个结果,对该结果取平均值作为最终结果。由于此方法按顺序将数据集划分等份,可能存在样本类别分配不均衡造成验证效果无意义,因此本文实验采用分层K折交叉验证法(见图5(b))对数据分层采样,确保训练集和测试集中样本类别的比例与原始数据集相同,避免分类不均衡,以弥补标准K折交叉验证法的不足,使实验结果更准确。

图5 2 种交叉验证方法Fig.5 Two cross validation methods

2.4 实验平台

本文实验在安装Windows10 系统的GPU 计算平台上进行,采用Intel®CoreTMi7-8700K CPU、16 GB×2内存以及NVIDIA GeForce GTX 1080Ti GPU,所有程序通过以Tensorflow 为后端的开源框架Keras 及其Python 接口实现。

2.5 训练策略

本文采用MSE 损失函数和Adam 优化算法[21]训练模型,批量大小设置为32,初始学习速率为0.1,以每次缩小为原速率1/5 或1/10 的速率依次递减进行学习速率调参,并在取得较高骨龄评估精度时通过微调学习速率取得最优结果。使用骨龄标签值作为模型训练目标,在增强后的数据集上使用分层5 折交叉验证法评估网络模型对骨龄的预测精度,每折进行200 次迭代,并计算骨龄预测值和骨龄真实值的MAE 作为模型输出。

2.6 结果分析

神经网络权值的变化基于损失梯度的调整,而学习速率控制神经网络权值变化的速度。若学习速率过高,则梯度降幅较大,易越过最优解;若学习速率过低,则梯度降幅较小,将会延长收敛时间。在采用改进的Inception ResNet V2 网络进行骨龄评估过程中,为取得最优学习速率,本文在不同学习速率下进行实验,所得结果如图6所示。可以看出,改进的Inception ResNet V2网络在评估骨龄过程中,当学习速率小于0.005时MAE值开始收敛,并在学习速率为0.001 时MAE 达到最小值,得到模型训练后的最优结果。

图6 改进Inception ResNet V2 网络在不同学习速率下的MAE 值Fig.6 MAE values of improved Inception ResNet V2 network at different learning rates

为验证本文提出的改进Inception ResNet V2 网络(以下称为本文网络)的检测性能,将其与基于深度学习的BoNet[13]骨龄评估网络(以下称为BoNet 网络)在同一数据集上进行对比。BoNet 网络由5 个卷积层和位于第4个卷积层后的1个变形层组成,由含有2 048个神经元的全连接层与用于估计的单神经元组成回归网络。在对比实验中,本文网络采用分层K折交叉验证法,BoNet 网络采用标准K折交叉验证法,结果如表3所示。可以看出,本文网络的MAE 值较BoNet 网络更低,骨龄预测精度更高。由此可见,在包括多个种族、不同年龄和性别的公共数据集上,本文方法能提取更具区分性的特征,对骨骼图像的识别率更高,具有较好的鲁棒性与泛化能力。

表3 2 种网络的MAE 值Table 3 MAE values of two networks

2.7 预测精度对比

为验证Inception ResNet V2 网络在骨龄评估方面的优异性能,对比Inception V3、Inception V4、Inception ResNet V1 网络(上述网络均已删去Softmax 层以便骨龄评估)的骨龄评估情况,采用MSE 损失函数和MAE指标并利用分层K折交叉验证法进行实验,批处理图像数量为32,通过调参得到各网络的最优学习速率,不同网络的学习速率调参结果如图7 所示。结合图6 可以看出,Inception V3、Inception V4、Inception ResNet V1与Inception ResNet V2 网络的最优学习速率分别为0.001 0、0.010 0、0.000 5 和0.001 0。4 种网络在最优学习速率下所得MAE 值如表4 所示。

图7 不同网络的学习速率调参结果Fig.7 Results of parameter adjustments of learning rate of different networks

表4 4 种网络在最优学习速率下的MAE 值Table 4 MAE values of four networks at optimal learning rates

可以看出,Inception 系列网络的骨龄预测精度均优异于BoNet 网络,说明Inception 系列模块在手骨X 射线图像特征提取上具有优异的效果。Inception ResNet V1 在Inception V3 的基础上加入残差连接结构,Inception ResNet V2 在Inception V4 的基础上加入残差连接结构,Inception V4 在Inception V3 基础上对网络进行优化,与Inception V3 相比,Inception V4 的网络结构更精简且Inception 模块更多,上述网络中前者的MAE 值均低于后者,骨龄预测精度更高。以上实验结果表明,残差网络的连接结构对骨龄评估有正向促进作用。残差网络结构使深度神经网络在前向传播时的输入信号从任意层直接传播到高层,在一定程度上解决网络退化问题,且深度神经网络在反向传播时的错误信号可不经过任何中间权重矩阵变换直接传播到低层,在一定程度上缓解梯度弥散问题,从而提升网络模型对手骨X线图像特征的处理性能,得到更高的预测精度。

3 结束语

本文提出一种基于深度学习的改进Inception ResNet V2 网络骨龄评估方法。通过去除Softmax 层优化深度卷积神经网络结构,在Inception 模块中加入非对称卷积核和残差连接结构提高分类精度,扩展数据集避免深度学习算法出现过拟合现象,采用分层K折交叉验证法对数据均衡采样。实验结果表明,与采用BoNet 网络的方法相比,该方法骨龄预测精度更高,具有较好的鲁棒性和泛化能力。后续将对卷积神经网络的特征提取区域进行可视化研究,并与G&P 方法和TW 方法的特征提取区域进行对比,进一步提高本文方法的骨龄评估性能。

猜你喜欢
骨龄残差卷积
基于双向GRU与残差拟合的车辆跟驰建模
评估身高需要定期测骨龄吗
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于残差学习的自适应无人机目标跟踪算法
骨龄预测身高靠谱吗
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
骨龄测评软件在矮身材、性早熟儿童身高管理中的应用
基于傅里叶域卷积表示的目标跟踪算法
平稳自相关过程的残差累积和控制图