APP下载

一种自动分割股骨区域的R-U-Net神经网络

2019-05-05王亚刚韩俊刚路玉峰

小型微型计算机系统 2019年4期
关键词:残差股骨神经网络

王亚刚,王 萌,韩俊刚,贾 阳,路玉峰

1(西安邮电大学 计算机学院,西安 710121)2(西安市红会医院 骨关节外科,西安 710054)

1 引 言

随着计算机数据处理能力的加快和人工智能技术的成熟,医生越来越多地使用数字图像来进行辅助诊断治疗[1].其中X光检查是一种有效筛查疾病的传统方法,它在诊断治疗的不同阶段使用,包括骨折诊断治疗、评价骨骼成熟度、骨密度测量和手术前的治疗计划等[2].X线片中骨组织的分割是计算机辅助预后、外科手术和治疗的主要步骤[3].

医学图像分割主要有3种基本技术,即人工分割、半自动分割和自动分割[4].早期的人工分割方法主要通过领域专家进行纯手工分割,也许是最准确的,但是费时费力且结果难以复现;半自动分割方法需要提供少量的输入以促进准确的分割,减少了人为因素的影响且提升了分割精度和速度,但还是取决于分割者自身的技术和经验;自动分割方法不需要任何的用户输入,所以这种方法成为现今医学图像分割的热门研究趋势.

经典的图像分割方法包括阈值法、基于区域的和基于边缘的分割方法[5,6].阈值法[7]无疑是最简单的分割技术之一,基于图像有一个双峰直方图,但是许多医学图像都不会有强度的双模态分布,所以在医学成像中阈值算法几乎没有应用;基于区域的分割方法[8,9]是一个简单的基于像素的图像分割过程,然而它有过度分割、不善于检测低信噪比的结构和对噪音敏感等缺点;基于边缘的分割方法[10]使用边缘检测器来搜索图像的边缘,对噪声敏感且很难找到适用于实际边界的边缘,甚至提取的边缘不连续,还需要一些额外的处理.

虽然已经有一些算法来解决X线片上的骨组织分割问题,但因为医学成像技术的限制和成像物体的特殊性,还有医学图像本身的复杂性,如灰度不均匀、噪声大、影像相互重叠且边界不清晰等,使股骨区域的分割充满挑战性[11,12].本文提出一种结合深度残差网络和U-Net架构优势的R-U-Net神经网络,并将其应用于股骨区域自动分割,有效避免了过分割和欠分割问题,使得整个分割过程完全自动化,提高了X线片股骨区域分割的准确率.

2 R-U-Net神经网络模型

2.1 U-Net神经网络

深层神经网络的训练一般需要大量标记好的训练样本,但医学图像处理不同于其他自然图像,它需要专业人员进行标记,样本数量往往也很难达到自然图像识别中的规模.U-Net神经网络[13]的U型架构是一种依赖于数据增强的网络,不仅可以更有效地使用少量可用的标记样本,而且能很好地抓取图像的边缘特征,但是在进行股骨分割时随着迭代次数的增加,网络会出现退化问题.

2.2 残差神经网络

随着神经网络层数的加深,残差神经网络[14]有利于训练和解决退化问题,残差神经网络包含一系列堆叠起来的残差单元,每一个残差单元可以用公式(1)(2)表示:

Yi=h(Xi)+F(Xi,Wi)

(1)

Xi+1=f(Yi)

(2)

Xi和Xi+1表示第i个残差单元的输入和输出,F(·)表示残差函数,h(Xi)表示一个标识映射函数,典型的是h(Xi)=Xi,f(Yi)表示激活函数.加操作可以解决随着网络加深损失误差增大的问题,避免了训练收敛于局部最优解,从而保证深度神经网络在复杂的图像分割任务中表现出优异的性能.图1(a)(b)分别展示了普通神经单元和残差单元的结构,残差单元包含BN(Batch Normalization)层、ReLU(Rectified Linear Unit)激活层和卷积层.

图1 神经单元结构对比Fig.1 Neural unit structure comparison

2.3 R-U-Net神经网络

针对U-net神经网络在像素级别股骨区域分割中的不足,提出一种新的深度神经网络R-U-Net,它的架构基于U-Net,使用残差单元代替普通的神经单元作为基本的块,结合了深度残差网络和U-Net架构的优势.这种结合有两个优点:一是残差单元简化了深度网络的训练;二是残差单元内部和网络低、高层之间的跳跃连接有利于信息传播而不会退化,从而设计出一个具有更少参数的神经网络,并且在股骨分割上表现出更好的性能.

R-U-Net神经网络架构如图2所示,是一个7层端到端的深度神经网络,由编码、桥接和解码三部分组成.编码部分将图像编码为压缩表示,解码部分恢复了对图像进行像素级分类的表示,桥接部分就像是连接编码和解码路径的桥.所有这三部分都用包含两个3*3的卷积块和一个标识映射的残差单元构建,每个卷积块包含一个BN层、一个ReLU激活层和一个卷积层,标识映射连接了残差单元的输入和输出.

图2 R-U-Net神经网络架构Fig.2 R-U-Net neural network architecture

编码路径包含3个残差单元,每个单元将第一个卷积块的步长定为2,使特征图的尺寸减少到一半,而不是使用池化操作对特征图进行下采样去改变其大小,简化了网络的运算.相应地,解码路径也包含3个残差单元对称于编码路径形成U型架构,为了保持相同的分辨率,在每个单元之前有一个对来自低层特征图谱的上采样,并且为了在保留高级语义信息的同时利用低层的细节,建立了一个与其对应编码路径的特征图谱的连接.在解码路径的最后一层之后,有一个1*1的卷积和一个sigmoid激活层用于将多通道特征图谱映射到所需的分割,网络没有任何全连接层.相比于U-Net的23个卷积层,R-U-Net神经网络一共有15个卷积层,简化了神经网络的结构.每个步骤的参数和输出尺寸如表1所示.

表1 R-U-Net神经网络参数
Table 1 Parameters of R-U-Net neural network

残差单元卷积过滤器步长输出尺寸输入1512∗512∗1编码1123∗3/643∗3/6411512∗512∗64512∗512∗642343∗3/1283∗3/12821256∗256∗128256∗256∗1283563∗3/2563∗3/25621128∗128∗256128∗128∗256桥接4783∗3/5123∗3/5122164∗64∗51264∗64∗512解码59103∗3/2563∗3/25611128∗128∗256128∗128∗256611123∗3/1283∗3/12811256∗256∗128256∗256∗128713143∗3/643∗3/6411512∗512∗64512∗512∗64输出151∗11512∗512∗1

3 基于R-U-Net的股骨区域自动分割

基于R-U-Net的股骨区域自动分割框架设计如图3所示,分为3个主要部分.

图3 股骨区域自动分割总体框架Fig.3 Overall framework for automatic femur area segmentation

1)图像预处理:将X线片原图像归一化到同一大小,再对整个数据集进行二值化处理,标注一部分样本的股骨区域制作标签图形成训练集,剩余的作为测试集,最后实现训练集的数据增强增加训练样本;

2)神经网络训练:将训练集输入到R-U-Net神经网络,通过不断迭代优化各个网络层参数,将优化后的网络模型保存下来;

3)批量自动分割:将测试集中任意多张预分割图像输入到保存的网络模型中,得到股骨区域的轮廓,然后对其进行开操作使轮廓的连续性更好,再填充连通区域内部得到掩膜图,最后进行掩码操作,得到最终的股骨区域分割图像.

3.1 图像预处理

首先将X线片DICOM格式的原图读取保存为TIF格式,批量压缩图像归一化到同一尺寸(512*512).为了不改变原图像的长宽比,用图像背景色将其填充成(2560*2560),而后归一化到同样的尺寸,如图4(a)所示是归一化后的图像;然后批量对其使用自适应二值化操作.不仅能够简化图像、减小数据量,而且可以凸显感兴趣的目标轮廓和图像特征,如图4(b)所示是二值化后的图像;最后应用软件Photoshop制作标签图.标注二值化后图像的股骨区域边缘,标签就是每个像素具体属于哪一类,标注为1的代表背景区域,标注为0的代表目标区域,标签图如图4(c)所示.

图4 图像预处理Fig.4 Image preprocessing

3.2 数据增强

为了解决标注样本数量较少的问题,也为了更好地教会网络所必须的对平移、旋转、形变和灰度值变化等的不变性和鲁棒性,通过自定义的方法对少量标记数据进行数据增强.具体方法是利用随机位移向量在3*3的网格上生成光滑的变形,位移是用高斯分布采样的,其标准差为10个像素,而后应用双立方插值推出所有像素的位移.其中双立方差值[15]虽然是一种有较大计算量的插值算法,但是可以将更多的图像细节保留下来,并且这种算法本身给分割方法所增加的复杂度可以忽略不计.

为了使标签图能和训练图像发生同样的变化,将训练图像的像素值矩阵放在第一通道且将对应标签图的像素值矩阵放在第三通道,使其合并成一张图进行数据增强,完成之后按通道将训练图像和标签图分开即可.

3.3 R-U-Net神经网络训练

为了最大限度地减少开销并利用GPU内存,应倾向于在大的批处理大小上使用大的输入块,从而将批处理减少到单个图像.将训练集输入到R-U-Net神经网络,经过不断地迭代优化后,保存训练好的神经网络模型.

使用自适应的Adam优化器,一种DNN学习的随机优化方法[16].Adam的优点主要在于经过偏置校正后,每一次迭代学习率都有一个确定范围,使得参数比较平稳.它为不同的参数计算不同的自适应学习率,对内存需求也较少.与其他自适应学习率算法相比,其收敛速度更快,学习效果更有效,而且可以纠正其他优化技术中存在的问题,如学习率消失、收敛过慢或是高方差的参数更新导致损失函数波动较大等.

为了使计算更加简单方便,目标函数选择对数损失函数,如公式(3)所示,损失函数越小,表示模型越好.对于给定的输入X,由网络模型给出相应的输出Y,损失函数L(Y,P(Y|X))表示样本X在被分类为Y的时候,使概率P(Y|X)达到最大值,由于log函数单调递增,所以logP(Y|X)也会达到最大值,在前面加上负号之后,最大化P(Y|X)就变成了最小化L[17].

L(Y,P(Y|X))=-logP(Y|X)

(3)

3.4 序列图像自动分割

实验原图像的分辨率为2048*2560,然而因为计算机处理性能有所限制,本文将测试集中任意连续多张预分割原始图像按图3方式归一化为(512,512)并进行二值化,输入到保存好的R-U-Net神经网络模型中,以图5(a)为例,得到对应尺寸的股骨区域轮廓,对其进行开操作使轮廓变得更加连续光滑如图5(b),然后将最大和次大连通区域内部填充成黑色得到股骨区域的掩膜图如图5(c),最后使用掩码操作得到最终的股骨区域分割结果如图5(d),这就完成了序列图像股骨区域的自动分割.

图5 股骨区域自动分割Fig.5 Automatic segmentation of the femur area

自定义掩码的计算方式是:假设拥有RGB三通道原始测试图像的像素值为x,对应掩码图的值为y,因为R-U-Net神经网络输出的轮廓在股骨区域外侧,所以按公式(4)进行掩码操作即可得到像素值为z的股骨区域分割结果.

(4)

4 实验与分析

4.1 实验环境

实验是在CPU:2.3GHz;CPU内存:20GB;显卡:NVIDIA DGX-1;OS:Ubuntu Server Linux OS;开发环境:Python 2.7,MATLAB R2016a下进行的,神经网络的训练使用Keras 2.1.1深度学习框架,底层是Tensorflow 1.1.0.R-U-Net神经网络使用自适应的Adam优化器,初始学习率设为1e-4.

4.2 数据预处理

所有数据资料由合作单位西安市红会医院提供.原始数据按不同患者分文件存放,Dicom数据未经分类处理,包含股骨、髋关节、腿骨等多个部位的X线片,所以需要将其头文件读出来,只保存股骨类别数据.

实验选取了具有代表性的60张X线片并手工制作标签图,随机选30对图像及其标签图分给训练集,数据增强按30倍扩增,所以实际用于训练神经网络的有900对样本数据,随机抽取其中的20%分配到验证集,最后用剩余的30张图像进行测试.

4.3 网络训练

将预处理好的训练集在U-Net神经网络和R-U-Net神经网络上分别进行训练.当设置神经网络的epoch从1开始增加到5时,两者目标函数值一直处于减少状态,准确率也在逐渐提升,测试图像经过神经网络后输出的股骨区域轮廓渐渐清晰,且噪声也越来越少;当epoch增加到6时,U-Net神经网络的损失减到最小,随着epoch继续增加,U-Net神经网络的损失值却有增大的趋势,所以将其epoch选择为6;而R-U-Net神经网络的损失值始终不断减小直到epoch为8时损失减少变得缓慢并稳定在收敛状态,网络的测试结果也可以足够将股骨区域的轮廓清晰地呈现出来,已经几乎没有噪声,表示神经网络已经在训练数据集上得到了充分学习和训练,所以将其epoch选择为8.

两种网络训练过程曲线如图6所示,横坐标表示网络迭代次数,左侧纵坐标表示每300次迭代在验证集上测出的准确率,右侧纵坐标表示其损失值.由图可以看出,U-Net神经网络的损失值在5400次迭代后达到最小,继续迭代网络反而有退化现象;而R-U-Net神经网络随着迭代次数的增加损失值不断减小,同时准确率也在提升,表示网络在迭代的过程中充分学习数据集的特征,实验大约在7200次迭代时达到收敛状态即最优状态,并且测试30张图像所需的总时间不足6s.

图6 损失下降曲线Fig.6 Loss curve

4.4 实验结果及分析

使用医学图像分割中常用的五个度量指标来定量的评价所提出的股骨区域自动分割方法,分别是正确率(Precision,P)、召回率(Recall,R)、F1值[18]、DICE系数(DICE coefficient,DC)和IOU(Intersection over Union):

P=正确分割的像素点个数/自动分割结果的像素点个数

R=正确分割的像素点个数/人工分割结果的像素点个数

F1=(2×P×R)/(P+R)

DC=(2×自动分割和人工分割结果像素点的交集)/自动分割和人工分割结果像素点的和

IOU=自动分割和人工分割结果像素点的交集/自动分割和人工分割结果像素点的并集

综合评价股骨自动分割结果,本实验以股骨区域人工分割结果作为参考,根据30张测试图像的自动分割结果计算P、R和F1值评价指标的平均值,与现今比较经典的图像分割的文献[19]、基于卷积神经网络改进算法后的文献[20]和基于U-Net的方法进行比较,分割结果对比如表2所示,本文提出的基于R-U-Net的分割方法较其他3种表现出更加优异的性能,并且平均分割一张图像所需的时间只需不到1s.

表2 不同分割方法结果对比
Table 2 Different segmentation methods results

方法PRF1文献[19]0.89990.80970.8546文献[20]0.95650.88770.9205U-Net0.98010.97440.9772R-U-Net0.99870.99180.9952

为了更好的评价R-U-Net神经网络在股骨分割中的性能,对比U-Net和R-U-Net神经网络,计算30张测试图像自动分割结果的DC和IOU的平均值,其中DC表示自动分割与人工分割区域相交的面积占总面积的比值,完美分割该值为1;IOU是自动分割与人工分割区域的交叠率,是交集与并集的比值,最理想情况是完全重叠,比值为1.在表3中分别用DC和IOU进行对比,可以看出R-U-Net神经网络能够获得更好的分割精度,为医学图像股骨的准确分割提供了一种新的途径.

表3 不同度量指标结果对比
Table 3 Results of different measures index

度量指标U-NetR-U-NetDC0.97840.9928IOU0.95770.9857

在直观分割效果上,图7随机列出4张测试图像的股骨区域分割结果.图7(a)为归一化后的原始图像,图7(b)、(c)、(d)分别是人工标记的分割结果、基于U-Net和基于R-U-Net分割方法的结果.可以看出基于R-U-Net的分割方法结果和参考的人工标记结果十分接近,而基于U-Net的方法在一些细节的分割上则表现得稍显逊色.

基于R-U-Net的自动分割方法能够完整地将股骨区域从原始图像中分割出来,在测试集上测试R-U-Net神经网络并和其他三种方法进行比较,无论是从定量还是定性角度,都证实了该方法的可行性和优异性.R-U-Net神经网络在提高目标区域分割精确度的同时,图像序列的分割速度也是在可以接受的范围内.

5 结束语

针对U-Net在股骨分割中的不足,本文提出一种新的R-U-Net神经网络,它结合了残差学习和U-Net的优势,残差单元内部的跳跃连接和网络的编解码路径有利于信息的前向传

图7 股骨区域分割结果Fig.7 Segmentation results of the femur area

播和后向计算,不仅可以简化训练,使网络参数仅占U-Net的四分之一,而且能够最大程度地提升网络性能.将R-U-Net神经网络应用于股骨区域的自动分割,实验结果表明,在保证分割速度的同时,分割结果与参考结果十分接近,且分割效果不同程度的优于其他三种先进的方法,实现了批量X线片股骨区域的完全自动化分割,也提升了分割效率与精度.因此,将R-U-Net神经网络应用于X线片股骨区域自动分割问题,具有很好的应用前景.

猜你喜欢

残差股骨神经网络
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
基于递归模糊神经网络的风电平滑控制策略
股骨近端纤维结构不良的研究进展
基于残差学习的自适应无人机目标跟踪算法
股骨近端解剖型锁定钢板与PFNA治疗不稳定型股骨转子间骨折的比较
神经网络抑制无线通信干扰探究
基于深度卷积的残差三生网络研究与应用
基于神经网络的中小学生情感分析
基于Q-Learning算法和神经网络的飞艇控制