基于全卷积神经网络的手术器械图像语义分割算法
2019-05-17郑腾辉陶青川
郑腾辉,陶青川
(四川大学电子信息学院,成都610065)
0 引言
在医学领域,手术器械是重要的辅助工具。随着时代的进步,手术器械种类不断增加,每种不同类型的手术器械之间存在着细节上较为明显的差距。通常不同手术的手术盒里需要的手术器械种类不同,而每个手术盒里手术器械是否准备完全,目前是通过人眼观察比对去实现的,但该方式比较耗时,无法及时提供结果。本文为实现手术盒里手术器械的检测,提出了手术器械图像语义分割,以提取目标位置,为之后手术器械的检测提供技术支持。
随着机器视觉和人工智能技术的发展,图像语义分割水平获得了快速提高[1],但很少有人在手术器械上实现图像语义分割。由于手术器械种类繁多,如图1所示,手术器械和手术盒的图像分割有着重要的研究意义。图1中,前背景颜色近似,加上手术器械表面受光线影响,色泽亮度不均,因此无法直接使用传统算法有效地分割出手术器械。为此,本文针对手术器械和手术盒的分割难点,结合FCN网络结构,提出一种基于全卷积神经网络的图像语义分割算法。
1 实验材料和网络模型
1. 1 手术器械图像获取
固定相机拍摄试验图像,手术器械为一整套器械,所采集图像手术器械全部置于手术盒中,每张图像中手术器械若干,共300张,其中样本集287张,测试集13张。为了便于研究,分辨率统一调整为512×512像素。图像试验在Anaconda3的Spyder软件平台上进行。部分图像见图1。
图1 手术盒和手术器械
1. 2 网络模型
(1)卷积神经网络
卷积神经网络是一种多层次非全连接的神经网络,该网络模拟人脑结构,通过有监督的深度学习,从原始图像中直接识别视觉模式[2]。CNN模型一般有卷积层、池化层、全连接层、Softmax分类层等4个层次堆叠组成[3]。与传统神经网络不同,卷积神经网络构建在多个独立分布的神经元组成的多个二维平面上,其中相邻两层的神经元以非全连接方式进行卷积计算,而全连接网络则具有较多的网络连接数和权值参数,因此卷积神经网络有效地降低了网络模型的学习复杂度[4]。
①卷积层
卷积层通过若干个卷积核对输入层或上一层输出进行卷积操作,并通过激励函数将卷积结果组合成特征图像[5]。卷积运算指卷积核和输入之间的线性计算。例如第l层卷积层的第j个特征图的计算公式为:
式(1)中,xij表示第j个神经元通过卷积后的输出,f表示激活函数。常用的激活函数有:relu(x)、tanh(x)、Sigmoid(x)等。表示卷积核,通常为 3×3或 5×5大小。为偏移量。
②池化层
池化层主要作用为对上一层卷积层的特征图进行非线性下采样操作,改善结果,有效地降低卷积特征图维度,并大幅减少特征参数数量,减轻负担,从而加快计算速度,并防止过拟合问题出现[6]。常用池化方法有最大池化、平均池化、重叠池化、空金字塔池化。例如步长和尺度都为2的最大池化函数为:
式(2)中,fpool特征图经过最大池化后的输出结果,x为各点特征值。
③全连接层
全连接层一般会在图像经过上述两层之后出现,将上一层所有神经元和输出层神经元连接起来,形成一个类似浅层神经网络的多次感知机,起到将学到的“分布式特征表示”映射到样本标记空间的作用[7]。计算公式为:
式(3)中,w表示一个特征矩阵,b表示特征向量,x表示上一层的输出,y表示本层输出。
④输出层
卷积神经网络的输出层通常为分类器。常用分类层有Simoid分类层、Softmax分类层[4]。以Softmax分类层为例,Softmax函数可以分类成多个类别,例如可以对数字0-9进行分类,分类成10类。本文只需分类成两类,但为损失函数计算方便,更好的优化模型,本文分为256类。
(2)VGG19
VGG是一个经典的卷积神经网络,有着优秀的分类性能[8]。VGG网络是一个极其深的网络架构,一般有16-19层,本文使用的是VGG19网络架构。如图2,VGG19大体由5大层卷积层和3层全连接层组成,图中,conv1和conv2分别包含2层卷积层,conv3、conv4和conv5分别包含4层卷积层,加上3层全连接,一共19层。在VGG19里,若输入1幅512×512×3像素级的图像,每个卷积层采用3×3的卷积核,由1个或4个卷积层堆叠组成卷积序列,并使用边界填充技术以达到更大感受野的效果前提下保持前后维度不变,在使用2×2池化窗口,步长为2的池化层,减少经过卷积层之后的特征参数。最后接上3个全连接层,将二维数据转化成一维数据,通道数分别为4096、4096、1000,输出层由Softmax函数对1000个标签进行分类。整个网络显得非常的简洁,多个3×3的卷积核的组合效果可以优于单个大卷积核。
图2 VGG19网络模型
在VGG19网络的隐含层中都存在激活函数,使神经网络有了非线性映射能力[8]。通常激活函数包括Sigmoid函数、Tanh函数、ReLU函数[9]。ReLU函数是不饱和函数,具有一定的稀疏性,但对比生物大脑的95%稀疏性,ReLU的稀疏性还是具有一定差距的。但是ReLU的稀疏性是可以训练调节的,网络是可以向着误差减少方向优化的,ReLU函数可以加快网络优化速度。因而从学习速度方面出发,ReLU函数更有效率。公式如下:
(3)FCN网络模型
FCN网络模型以VGG网络为基础,前5层是VGG19的卷积层和池化层,通常分别为pool1、pool2、pool3、pool4、conv5_3的特征图,特征图的尺度分别降低为原来的 1/2、1/4、1/8、1/16、1/32[10]。高层特征以语义组合为主,底层特征以局部细节为主[11]。第6-8层是转置卷积层。卷积层依次把手术器械图像和卷积核进行卷积操作,得到特征图。池化层对卷积层得到的特征图进行降维,减少特征参数,缩短训练时间。FCN网络使用第5层的特征图,向上采样结合第3、4层的浅层特征,获取更多细节信息。
(4)本文网络模型
FCN网络可输入任意大小的手术器械图像,以端对端的学习网络结构,完成训练目的。但对于手术盒中的手术器械图像的语义分割仍存在一些缺陷。FCN网络使用VGG19的最后一层卷积层的特征图作为后三层的输入,但存在细节丢失过多的缺点,而手术器械不同类别之间细节信息至关重要。为了提高手术器械图像语义分割算法的自动化性能,提出基于全卷积的神经网络,以实现对手术器械进行相对精准的语义分割。
图3 本文网络模型
本文网络一共分为7层,如图3所示。本文以512×512×3尺寸的特征图作为输入,经过VGG19的前4大层,特征图尺寸一致缩小,宽度扩大,一直到pool4层的32×32×512尺寸的特征图。为了计算损失函数,手术器械输入标签图和分割结果的输出图须尺度一致,所以后面3层反卷积层反卷积之后进行上采样操作再依次和pool3、pool2层的特征图进行线性计算,最后使用argmax函数得到预测图。本网络在VGG19的基础上减去了VGG19的conv5层和后面3层全连接层,再不影响最终结果的前提下降低了特征参数数量,优化了网络运行时间,减少网络模型的学习复杂度。
损失函数为预测图和输入标签之间的交叉熵。如图4,损失从一开始大幅度下降到最后趋向于0,数据显示,最后损失平均值为0.08。
图4 损失
(5)优化器的选择
常用优化器有梯度下降算法的GradientDescent优化器、动量梯度下降算法的Momentum优化器和实现Adam优化器。本文使用的是Adam优化器,Adam具有高效,易实现,内存要求低,参数更新的步长合理等优势;再则,Adam能实现步长退火过程,适用于梯度稀疏或梯度存在很大噪声的问题[12]。Adam的权值参数更新步骤如下:
(1)t时间的梯度 gt计算公式如式(4):
式中,wt-1表示t-1时间的权值。
(2)m0初始化为0时,计算梯度指数的移动平均数 mt如式(5):
式中,β1表示指数衰减率。
(3)v0初始化为0时,计算梯度平方的指数移动平均数 vt如式(6):
式中,β2表示指数衰减率。
(4)训练初期,m0和v0初始化都为0,会导致mt和vt都偏向 0,纠正公式如式(7)和式(8):
(5)新权值参数Wt如式(9):
式中,α表示学习率,ε是为了防止除数为0的极小数。
2 实验结果
2. 1 运行环境
操作系统:Windows 10 x64;
Python版本:Anaconda3 Python 3.6+TensorFlow 1.12.0;
GPU型号:NVIDIA GeForce GTX 1080Ti 11G显存;
处理器型号:Intel i5-6500 3.20GHz主频。
2. 2 实验数据
为了对比本文提出的模型和其他模型,我们使用Holistically-Nested Edge Detection(HED)[13]网络模型,语义分割网络DeepLab和传统FCN网络进行实验对比,实验样本集和测试集是制作好的300张图片。
使用测试集里的图片进行测试,如表1和图4所示,表1为网络运行时长,图4为3张图片不同网络的测试图。对比表1、图4,在预测图整体效果方面,本文网络整体效果较佳。对比HED、DeepLab、FCN网络,其中,HED网络在测试结果和运行时长上都比FCN网络和本文网络差。而对于DeepLab网络,该网络在本次实验里抗光性较弱,相对于本文网络,该网络效果较差,但时长方面和本文网络差不多。对比FCN网络,本文网络运行时长减少,网络效果和FCN网络无明显区别,网络特征参数数量减少,网络模型的学习复杂度减少。但仔细观察,不难发现在光照影响下,手术器械反光严重的区域,本文网络容易出现误检测,如图4中手术器械出现的缺口。
表1 网络运行时长
图4 预测图
3 结语
本研究在FCN全卷积神经网络的基础上,减少VGG19层数,从实验结果得到以下结论:
(1)手术器械特征提取的实验结果表明,通过基于全卷积的神经网络能有效提取出手术器械多层特征图像,并通过Adam优化器优化参数,较好地实现手术器械图像语义分割。
(2)手术器械特征提取的实验结果表明,在手术器械图像语义分割方面,本文网络对比DeepLab网络,效果较佳,对比FCN神经网络,特征参数数量降低,网络运行时长减少,预测图效果不变。
(3)手术器械特征提取的实验结果表明,本文网络在抗光照能力还有待提高。