基于SE-DenseVoxNet的骨小梁模量预测方法
2021-02-03曹熠炜何思渊周平李澜包倪荣
曹熠炜,何思渊,周平,李澜,包倪荣
1 东南大学 生物科学与医学工程学院,南京市,210096
2 南京大学医学院附属鼓楼医院,运动医学与成人重建外科,医药生物技术国家重点实验室,南京市,210008
3 解放军东部战区总医院,南京市,210002
0 引言
骨质疏松症是一种常见的全身代谢性疾病,具有致残率高、易发骨折等特点。随着人口老龄化进程的加速,骨质疏松症的发病率逐渐上升,严重影响老年人的健康和生活质量[1]。骨质疏松症患者体内的骨吸收和骨形成的动态平衡被破坏,使得机体的骨质流失,骨小梁结构退化,骨的生物力学性质下降,容易引发骨质疏松性骨折[2]。因此,准确预测骨的生物力学性质对于骨质疏松性症的早期防治与诊断具有重要的意义。
目前国内外主要通过双能X射线法(DXA)测量骨骼的骨密度(BMD)[3],进而评估和预测骨的生物力学性质,对骨质疏松症进行诊断。这种方法存在两个问题:第一,双能X射线法测量骨密度时会受到皮质骨外壳、脂肪组织和软组织的干扰,测量结果存在误差;第二,骨密度是一个宏观参数,无法完全反映骨骼的形态结构特征。研究表明,骨密度只能反映60%~70%的骨强度变化,骨的生物力学性质与骨小梁微结构密切相关[4]。Micro-CT、MRI等三维医学成像方法可以消除骨骼外围组织的干扰,获取骨小梁微结构的细节,被广泛应用于骨骼样本的观测与研究。ULRICH等[5]基于Micro-CT图像对骨骼样本的骨体积分数、各向异性程度、结构模型指数、骨小梁间隙等参数进行统计,然后使用多元线性回归的方法对样本的弹性模量进行预测。实验结果表明,多元线性回归方法的预测精度优于骨密度的预测精度;XU等[6]和HUBER等[7]分别基于Micro-CT图像和MRI图像统计了样本的骨体积分数、面积体积比、骨小梁数目等参数,然后使用SVR、kNN等机器学习算法对样本的屈服应力进行预测。实验证明,机器学习算法的预测误差小于多元线性回归算法;CIUSDEL等[8]通过卷积神经网络的方法自动提取骨小梁的形态结构特征,对样本在指定载荷下的应变进行预测。实验结果表明,卷积神经网络的预测精度相比机器学习方法有所提升。
为了更准确地预测骨的生物力学性质,尝试使用深度学习方法自动提取骨小梁微结构的形态特征,对样本的弹性模量进行预测。对DenseVoxNet[9]的网络结构进行改进,提出了深度回归网络SE-DenseVoxNet,并基于骨小梁三维图像数据集对模型进行了训练和评估。
1 方法
DenseVoxNet是一种三维图像分割网络,由特征提取和上采样两部分组成。我们对DenseVoxNet的特征提取部分进行改进,提出了深度回归网络SE-DenseVoxNet。如图1所示,SE-DenseVoxNet首先基于卷积层Conv1对输入图像降维,然后通过Dense模块[10]和SE模块[11]提取图像特征,最终通过全局平均池化层和全连接层对样本真值进行预测。如图2所示,Dense模块由12层网络层密集连接构成,每层网络层的结构为归一化层-ReLU函数-卷积层-归一化层-ReLU函数-卷积层,其中第一层卷积层包含48个1×1×1大小的卷积核,第二层卷积层包含12个3×3×3大小的卷积核。1×1×1的卷积操作降低了特征维度,有效地减少了模型的参数数目和计算量。通过网络层之间的密集连接,Dense模块实现了特征复用,改善了网络的信息流和梯度流,使得深层网络的训练变得更容易。
图1 SE-DenseVoxNet网络结构示意图Fig.1 The illustration of proposed DenseVoxNet
图2 Dense模块结构示意图Fig.2 The illustration of Dense module
SE模块的网络结构,如图3所示。SE模块分为左右两路结构,左路结构首先通过1×1×1的卷积操作对输入特征的通道维度进行压缩,生成各个空间位置的权重,然后基于空间位置的权重对输入特征进行标定;右路结构首先通过全局平均池化层对输入特征的空间维度进行压缩,然后通过两层全连接层生成了各个通道的权重,最终基于各个通道的权重对输入特征进行标定。SE模块汇总了左右两路结构的输出,从空间维度和通道维度上对输入特征进行了自适应的校准,增强了有用的特征,抑制无效的特征。
在第一个SE模块和第二个Dense模块之间插入了过渡层(transition layer)[10],以减少模型的参数数目。过渡层由归一化层、ReLU函数、卷积层Conv14和最大池化层构成,其中卷积层Conv14包含160个1×1×1大小的卷积核,用于整合特征通道之间的信息。最大池化层的步长为2,将特征维度降低为原来的一半。SEDenseVoxNet的整体网络结构及参数如图3和表1所示。
图3 SE模块结构示意图Fig.3 The illustration of SE module
表1 SE-DenseVoxNet的网络结构及参数Tab.1 The architecture and parameters of SE-DenseVoxNet
2 数据集
与南京市鼓楼医院合作,收集了9个股骨头坏死患者全髋关节置换术时取出的股骨头样本,然后使用Micro-CT对样本进行扫描重建,重建分辨率为78 μm,各向同性。通过感兴趣区域提取、阈值分割、图像切割、数据增强等步骤对样本的Micro-CT图像进行预处理,共计得到249 864个32×32×32大小的骨小梁三维二值图像,作为骨小梁三维图像数据集的样本。
得到了骨小梁三维图像数据集的样本后,使用有限元软件Abaqus对样本进行模拟压缩试验,计算样本在z轴方向上的弹性模量,作为样本的真值。在有限元仿真时,将骨骼材料视为线弹性、各向同性的均质材料[12],定义其弹性模量为18 GPa,泊松比为0.3[13]。骨小梁有限元仿真受力云图,如图4所示。
图4 骨小梁样本的受力云图Fig.4 Stress results of trabecular bone samples
有限元分析得到样本真值后,以24:1的比例将数据集随机划分为训练集(239 864)和测试集(10 000),随机数种子设置为42。
3 结果
实验平台配置如下:CPU为Intel(R) Xeon(R)E5-2630 v4 @ 2.20 GHz(×2);显卡为NVIDIA Tesla P100(×3),显存容量16 GB;操作系统为Windows Server 2012 R2 Standard,配置了CUDA 9.0和cuDNN 7.1.4;深度学习框架为Keras 2.2.4,以TensorFlow 1.12作为后端。
3.1 模型训练
使用HE[14]的初始化方法对模型的权重和偏差进行初始化。为了防止过拟合,采用了L2正则化方法,正则化系数定义为10-4。模型以均方差作为损失函数,使用RADAM[15]方法进行训练,初始学习率为10-3。受限于显卡的数量和显存容量,设置批量大小(Batch Size)为128×3。训练过程中,通过ModelCheckpoint、ReduceLROnPlateau、EarlyStopping等回调函数对测试误差进行实时监测,若测试误差比之前有所改进,则将模型参数以.h5文件的形式保存到指定路径;若测试误差连续5轮没有降低,则将学习率减少为原来的一半,以改善训练情况;若测试误差连续15轮没有降低,则终止训练,防止模型过拟合。经过124轮的训练,模型的测试误差停止下降。模型的训练误差和测试误差变化曲线,如图5所示。观察可知,训练误差和测试误差接近,模型没有出现过拟合。
图5 训练误差和测试误差变化曲线图Fig.5 Curves of training error and test error
3.2 模型评估
SE-DenseVoxNet训练结束后,通过测试集对模型进行交叉验证。针对骨小梁模量预测这一回归问题,使用均方根误差(RMSE)、平均绝对误差(MAE)、平均相对误差(MAPE)和相关系数这4项指标评估模型的表现。为了更好地对比模型的预测结果,实现了CIUSDEL等[8]的网络模型,并使用上述4项指标对其预测结果的准确性进行了评估,结果如表2所示。
表2 不同模型的评估结果对照表Tab.2 Comparison of evaluation results of different models
由表2可知,SE-DenseVoxNet的预测结果更准确,平均相对误差仅为1.779%,相比于CIUSDEL等的方法有明显的提升。为了进一步评估SE-DenseVoxNet的性能,对SEDenseVoxNet的预测结果及测试误差进行统计分析。SE-DenseVoxNet对测试集样本的预测结果如图6所示。其中横坐标为样本真值,纵坐标为网络预测值,直线方程为y=x。观察可知,样本点分布在直线y=x附近,表明样本真值和网络预测值基本满足线性关系。
图6 真值-预测值散点图Fig.6 Scatter plot of true values and predictions
使用Bland-Altman[16]方法对样本真值和预测结果之间的一致性进行分析。经统计,样本真值和预测结果的差值的平均数为1.468×10-4,标准差Sd为0.024,95%一致性界限为-4.703×10-2~4.732×10-2。根据统计结果,绘制了Bland-Altman散点图。如图7所示,散点图的横坐标为样本真值与预测结果的平均数,纵坐标为样本真值与预测结果的差值,中间虚线表示差值的平均数,上下两条虚线表示差值的95%一致性界限。从图7中可以看出,5.63%的样本点在95%一致性界限以外;在95%一致性界限内,差值的绝对值最大为0.047(白色标记点),差值的平均数接近于0,说明样本真值和预测结果之间的偏倚很小,具有较好的一致性。
图7 Bland-Altman散点图Fig.7 Bland-Altman scatter plot
4 讨论
提出了一种基于SE-DenseVoxNet的骨小梁模量预测方法,并通过骨小梁三维图像数据集对网络进行了交叉验证。实验证明,本方法的预测结果与样本真值之间的误差和偏倚很小,具有较好的一致性。相比于CIUSDEL等的方法,基于SE-DenseVoxNet的模量预测方法可以更准确地预测样本的生物力学性质,辅助医生诊断病人的骨骼健康状况。在接下来的研究中,会尝试获取更多的骨骼样本,扩充数据集,搭建更复杂的网络模型,进一步提升模型的预测精度,减少模型误差。