基于CNN 的肌肉收缩超声图像分类
2022-07-14史婧婷陈旭辉
史婧婷,马 炜,刘 婷,陈旭辉
(1.福州大学 物理与信息工程学院,福建 福州 350108;2.福建省医疗器械和医药技术重点实验室,福建 福州 350108)
0 引言
运动中肌肉负荷收缩过量易引起炎症,确认肌肉有效收缩可以帮助运动主体强调运动上下限,辅助康复训练。有效肌肉收缩运动是肌肉疾病康复训练的关键,肌肉收缩力量训练对预防肌肉拉伤及劳损具有重要意义[1-3]。肌肉等软组织常用超声进行成像,超声成像旨在生成感兴趣组织的声学特性图,与磁共振成像(Magnetic Resonance Imaging,MRI)或计算机断层扫描(Computed Tomography,CT)等其他成像方式相比,具有非电离辐射、可移动、运营成本低以及实时成像的优势[4]。随着近年来超声分辨率的提高,其对软组织损伤、积液、异物、肿瘤、血流保持较高的检出率[5]。本研究拟结合卷积神经网络(Convolutional Neural Network,CNN)模型实现对肱二头肌超声图像的特征提取与量化,达到有效分类肌肉收缩图像的目标,探讨超声在肌肉训练康复疗效评估中的应用价值。
1 材料与方法
1.1 图像采集
超声图像采集设备为飞依诺掌上超声诊断仪Q5-7LMIX520,采集部位为健康受试者肱二头肌,分别采集肌肉放松和带负重(2.5 kg)的肌肉静态收缩状态。其中男性和女性各5 例,年龄为(23±1.5)岁。多次、多天进行采集,共采集2 000 余张图片,两类图像数量相当,避免数量差带来的影响。
1.2 软件与硬件工具
主体使用Python 3.6 作为开发语言。Python 是一种介于面向对象编程和函数式编程之间的编程语言,具有迭代库、类定义、函数以及对象等[6]。与其他编程语言相比,其在深度神经网络模型的训练上更具显著优势[7]。以Pytoch 为框架,该框架功能丰富,能较为迅速地完成深度学习模型的构建和形成。和Tensorflow 框架相比,Pytorch 的动态特性使训练过程和数据更改更为直观,调整参数也更加方便。硬件方面采用了具备Windows 10 系统的计算机,处理器CPU 为Intel Core I7-6700K,主频为4 GHz,显卡为NVIDIA GeForce GTX 1070Ti。
2 深度学习与CNN 模型
相较于传统方法,深度学习使用更深层次的网络和非线性相映射结构,通过提取数据更高层次的特征来发现数据在高层次特征中的关系,可以弥补传统方法分类功能的不足[8-9]。图1 为简单的深度学习网络结构。
图1 多层神经网络结构
在深度学习中,CNN 是一种非常经典的结构,其灵感来自于人类的视觉感知机制。随着神经网络和硬件的改进,CNN 网络结构越来越深。网络的层数越多,意味着能够提取到的不同的特征越丰富。目前,生物医学领域已经提出了许多神经网络架构用于医学图像分类,常用于医学图像分类的模型框架是CNN。基于CNN 的常见深度学习架构中主要使用3个重要层,即卷积层、池化层以及全连接层[10]。其中,深度残差网络ResNet101 和VGG19 深度网络模型常被用于CNN 的分类任务[11]。本文将使用这两种模型提取图像特征,进行肌肉收缩超声图像分类。
2.1 图像预处理
在原始图像数据中选择包含完整肌肉纤维且较为清晰的图像,删除原始图像中非目标的冗余区域。针对超声图像的特征,采用斑点抑制各向异性扩散滤波器(Speckle Reduce Anisotropic Diffusion,SRAD)对其进行滤波处理,降低高频分量的幅值,防止高频段的特征信息被噪声覆盖,降低噪声等无关信息对训练结果的影响。
2.2 模型介绍
2.2.1 ResNet 模型
残差神经网络(ResNet)是由微软研究所的何恺明、张祥雨等人首次提出,其发现了“退化现象(Degradation)”,并针对该现象发明了“快捷连接(Shortcut connection)”。如果一味简单地增加网络深度,会导致梯度弥散或梯度爆炸。ResNet 模型添加了快捷连接并使用残差函数,可以减少深度神经网络的训练误差。ResNet 有两种类型的结构块,即Conv Block 和Identity Block,如图2 所示。
图2 ResNet 结构块
3 个卷积层构成一个残差块,这3 个卷积层的尺寸分布是1×1,3×3 和5×5。其中,1×1 层先降维后增维,3×3 层的输入输出维度更小[12]。为了改善线性结构引起的问题,ResNet 中引入了非线性深度残差学习框架,在图像分类任务中表现良好。ResNet 的图像处理流程如图3 所示。
图3 ResNet 图像处理流程
2.2.2 VGG 模型
VGGNet 是由SIMONIAN 等人设计的卷积神经网络,主要通过11×11 和5×5 的卷积核依次替换大小为3×3 的卷积核[13]。小的卷积核可以增加非线性网络的深度,使网络能够学习更复杂的特征。
VGG19 的结构非常简洁,由16 个卷积层、5个最大池化层、3 个全连接层以及1 个输出层组成,不同卷积层中的卷积核数量为64,128 或256。VGG19 中的卷积核用于计算不同的特征图,其流程如图4 所示。
图4 VGG19 图像处理流程
3 测试分析
通过CNN 模型对健康人体肱二头肌的超声图像进行特征提取并分类,对具有不同结构和特色的两种CNN 模型,即ResNet101 模型和VGG19 模型进行测试。在模型的分类训练中,将超声图像数据集分为训练集和测试集,分别按照75%与25%的比例随机挑选,以保证分类结果的客观性。考虑到GPU、CPU 及内存性能,将上述两种模型在相同平台上运行50 次,两种模型的训练集、测试集正确率和损失曲线如图5、图6 所示。
图5 两种模型的准确率对比
图6 两种模型的损失曲线对比
微调学习率、批量大小(batch size)等参数,重复训练多次,获得模型准确率最高值、平均值及模型大小,如表1 所示。
表1 模型测试结果对比
从图6、图7 可以看出,VGG19 训练集和测试集的正确率与损失曲线变化更显著,波形无明显震荡。在两种CNN 模型中,VGG19 模型在训练集上收敛速度最快,训练效果最优,表现出良好的分类性能。此外,其在测试集中的表现同样比ResNet 101 模型要好,平均准确率为91.00%,分类效果不俗。但是,VGG19 模型占用更多的计算资源,而且使用更多的网络参数,在训练时间上存在劣势。ResNet101 的深度为152 层,是VGG19 模型的8 倍,但ResNet101 的分类效果反而更差,之所以出现这种现象,是因为本研究数据集不大,且二类分任务复杂度较低,较深网络模型反而不占优势。VGG19模型的独特简洁结构使决策函数的光滑度和泛化能力得到加强,非常适用于与本研究类似的小数据样本训练,效率较高。通过实验,在两种模型上均训练出了可观的结果,证明了基于CNN 对肌肉收缩进行分类的可行性。
4 结语
以CNN 为代表的深度学习网络模型常被用于生物医学图像分类领域,通过对两种不同网络深度、结构及功能的CNN 模型进行分类训练测试,综合来看VGG19 模型的分类效果较好,正确率较高。本研究成果可辅助肌肉康复训练,确认肌肉的有效收缩。在未来的研究中,将增加数据样本量并同步微调网络参数,以减少过拟合和欠拟合现象,从而实现准确性更高、适应性更强以及适用范围更广,为运动康复领域的肌肉康复训练监测奠定坚实基础。