基于深度学习多尺度特征的胎儿头围测量方法

2023-11-02 12:36黄佳伟付晓薇
计算机应用与软件 2023年10期
关键词:头围头部卷积

黄佳伟 付晓薇* 陈 芳 李 曦

1(武汉科技大学计算机科学与技术学院 湖北 武汉 430065)

2(智能信息处理与实时工业系统湖北省重点实验室 湖北 武汉430065)

3(武汉科技大学校医院超声影像科 湖北 武汉 430065)

4(华中科技大学人工智能与自动化学院 湖北 武汉 430074)

0 引 言

医学超声图像被广泛地应用于孕妇的产前检查中,对我国优生优育具有重要意义[1-2]。相比其他的成像方式,医学超声成像具有无辐射、成像速度快、经济等优点。但其图像清晰度较低,处理结果依赖于临床医生的经验。传统的胎儿头围测量方式是由医生手动选择胎儿头部特征点,从而确定头部轮廓。但该测量方式耗时耗力且分割结果受医生主观临床经验影响较大[3]。

很多学者对医学超声胎儿头围测量方法展开了大量研究。Lu等[4]提出一种自动测量胎儿超声图像头围(HC)检测方法,该方法分割效果较依赖图像的质量和参数选取。Carneiro等[5]使用约束增强树分类器对感兴趣的结构进行分段并重现标准的生物计量测量。Yu等[6]利用形态学开运算抑噪,再利用K-means聚类方法分割头围,最后进行椭圆拟合。该方法易受图像细节干扰。Zhang等[7]利用非线性扩散技术来降噪,设计了一个多尺度、多方向滤波库来提取胎儿超声解剖结构特有的纹理特征,最后采用最小二乘椭圆拟合方法构建头部轮廓。Li等[8]将胎龄和超声扫描深度的先验知识,整合到一个随机森林分类器,实现定位胎儿头部。使用相位对称性检测胎儿头骨的中心线,最后基于几何距离的椭圆拟合方法拟合头围并进行测量。该方法对胎儿头部轮廓不显著或不完整的超声图像,拟合效果并不理想。

深度学习模型能自主学习图像特征,因此被广泛应用于图像分割[9-10]等领域。本文提出一种基于H-Unet改进模型的医学超声胎儿头围的自动测量方法。借鉴深度学习中迁移学习的思想,将resnet18[11]的部分预训练模型参数加载到编码器网络中;在残差模块处理后,添加注意力模块,获取长依赖关系。在H-Unet编码器与解码器之间,利用多尺度特征金字塔(Atrous Spatial Pyramid Pooling,ASPP)[12]增大感受野,从而获取更多不同尺度的图像特征;采用Dice Loss和Bce Loss训练网络,提高网络的分割性能。本文采用两个步骤完成胎儿头围测量,首先提出一种H-Unet改进模型进行医学超声胎儿头部图像分割;然后,利用最小二乘法进行头围椭圆拟合,有效抑制头部边缘不平滑、部分细节缺失等对椭圆拟合的影响。实验结果表明,本文方法能自动有效地测量医学超声图像胎儿头围。

1 胎儿头部图像分割

本文方法主要流程如图1所示。本文方法对训练图像进行切割、旋转、调整亮度等数据增强处理,然后通过学习正负样本的特征训练H-Unet网络分割模型。测试主要分为两部分。第一部分,针对医学超声胎儿头围图像,利用所提出的H-Unet网络改进模型分割出胎儿的头部区域;第二部分,对H-Unet的分割结果,提取胎儿头部轮廓。然后,进行椭圆拟合,计算出胎儿头围参数,实现胎儿头围的自动测量。

图1 本文方法流程

1.1 改进H-Unet网络模型

H-Unet网络模型如图2所示。其编码器是基于预训练的Resnet网络而构建。浅层特征可抓取图像诸如边界、颜色等简单特征,而深层特征能够学习到高级语义特征。通过逐步缩减特征图的空间维度来获取深层图像特征。池化操作增加感受野、降低特征分辨率与计算量,但损失部分信息。因此,H-Unet使用了三次下采样操作,后面使用一组空洞卷积代替下采样操作。编码器最终的输出相比原图分辨率下降了8倍。为了使特征分布更均匀、易于训练,卷积层后加入归一化层对特征进行归一化处理。采用ReLU函数作为激活函数以解决网络训练时的梯度弥散问题。

图2 H-Unet网络结构

解码器是将特征图逐渐恢复到原图大小的过程。解码器和编码器呈对称,其核心为与下采样对应的3组反卷积层与卷积层。图像在经过编码器的步长为2的卷积层后,部分胎儿头部边缘信息丢失,需要感受野小的浅层特征来帮助恢复细节信息。为此,本文在编码器和解码器之间建立3条跳跃连接。将编码器中的浅层特征和解码器的深层特征融合。3×3卷积操作是为了消除上采样后的混淆效应。为了生成多尺度感受野,在编码器和解码器之间加入了ASPP。

1.2 空洞卷积

在图像分割中,传统的网络对输入特征图做卷积,然后进行下采样池化操作。由于图像分割预测是像素级输出,将下采样后的特征图上采样到原图分辨率大小并进行预测。下采样操作让像素点有更大的感受野,且在一定程度上实现平移不变性,但是损失了图像的结构信息。空洞卷积[13]可以在不降低特征分辨率的情况下增大感受野,让每个卷积输出都包含较大范围的信息,更好地学习图像的全局信息。

空洞卷积后特征图大小定义如下:

n=k+(k-1)×(d-1)

(1)

(2)

式中:k代表空洞卷积中卷积核的大小;p代表卷积操作中的边界补零数;s代表卷积步长;d代表空洞卷积采样率,是增大感受野的关键部分;i代表输入特征图的大小;n表示实际卷积核的大小;o表示输出图的大小。

本文采用的空洞卷积模块结构如图3所示。

图3 空洞卷积模块网络结构

图3中,r表示空洞卷积的扩张率,空洞模块即为连续的4次空洞卷积,然后将得到的4组特征图进行拼接,最后通过一组3×3卷积恢复到原来的特征图维度。

1.3 多尺度特征金字塔

经典的U-Net网络为了更好地保留图像的细节信息,将编码器和解码器的对应特征图连接。然而,单一的卷积操作不能学习到图像多尺度的特征信息。针对该问题,本文采用了ASPP模块,结构如图4所示。通过1×1卷积、采样率为{6,12,18}的空洞卷积等操作的组合,将4种方式得到的特征图进行融合。该结构不仅增大感受野、增强网络非线性能力,而且易于不同尺度特征信息的学习。

图4 多尺度特征金字塔

1.4 注意力模块

传统的网络为了获取长依赖关系,可通过叠加卷积层增大感受野,获取更大信息广度。但该操作不可避免会增加计算量、优化难度。相较于叠加的卷积操作,Non-local[14]可有效解决这种问题,直接计算两个位置之间的关系来获取长依赖关系。其结构如图5所示。其中,输入X的维度是T×H×W×1 024,其中:T是输入图片的数量;H是输入图像的高;W是输入图像的宽。分别使用卷积核数量为512、大小为1×1的卷积核进行卷积得到3个维度为T×H×W×1 024的输出。e和f两条支路对输出结果进行矩阵乘法,可得到THW×THW的输出;再经过Softmax处理后和g支路的输出结果进行矩阵乘法得到THW×512的输出;将输出矩阵维度扩张为T×H×W×512,将该结果进行1×1卷积,得到的结果与原始输入X相加得到最终输出特征图Z。

图5 Non-Local模块

Non-local操作定义如下:

(3)

式中:i表示特征图的输出位置;j表示特征图上的所有位置;函数f计算位置i和所有位置j之间的相关性;h是信息变换函数;C为归一化函数。具体定义如下:

(4)

式中:Wh为一个权重矩阵,一般通过1×1卷积操作来实现。

1.5 模型训练的损失函数

在胎儿头部的分割中,胎儿头部区域为正样本,非胎儿头部区域为负样本。本文的数据集正负样本比例接近1∶10,正负样本严重失衡。如果使用Bce Loss,会导致训练会被比例较大的负样本主导,很难学习到胎儿头部区域的特征,但Dice Loss适用于正负样本不均衡。使用Dice Loss会对反向传播造成不利的影响,对于小目标图像,一旦有部分像素预测错误,会导致梯度变化剧烈,训练不稳定。使用Bce Loss训练梯度变化会更平稳。因此,为了解决上述问题,本文使用Bce Loss和Dice Loss共同训练网络。Loss函数如式(5)所示。

Loss(y,ypred)=BceLoss(y,ypred)+DiceLoss(y,ypred)

(5)

(6)

(7)

式中:y表示实际值;ypred表示预测值。Dice Loss和Bce Loss关于ypred的梯度形式如式(8)所示。对于Dice Loss,当y和ypred较小时,y和ypred的变动可能会导致梯度变化较为剧烈,会导致训练出现不稳定的情况。而Bce Loss对y和ypred的变动产生的梯度变化会更加平稳。

(8)

2 头围拟合和测量

由于H-Unet网络模型分割出胎儿的头部区域轮廓不平滑,为了便于计算,使用Canny算子提取头部轮廓,然后对头部轮廓进行椭圆拟合,最后计算胎儿头围数值。

霍夫变换[15]通过迭代获取五个最优椭圆参数。其迭代过程耗时多,限制了霍夫变换用于胎儿头围的测量应用。而基于最小二乘法的椭圆拟合方法[16]将椭圆拟合的非线性问题分成两个操作,使得整个算法是非迭代的,可有效地减小噪声对椭圆拟合的影响。为此,本文采用基于最小二乘法的椭圆拟合方法对胎儿头围进行拟合。设头围像素为pi(x,y),具体拟合如下:

设椭圆表示为:

f(x,y)=ax2+bxy+cy2+dx+ey+f=0

(9)

可将式(9)表示为式(10)。

(10)

计算点pi到椭圆的距离,定义目标函数为式(11)。

s.t.WCWT=1

(11)

C表示的是一个约束矩阵,如式(12)所示。

(12)

根据式(8)构造一个拉格朗日公式,如式(13)所示。

L(W,λ)=WXTXWT-λ(WCWT-1)

(13)

L(W,λ)对W求导可得:

XTXWT=λCWT

(14)

令D=XTX,通过求解广义特征向量可以得到6个可能W,然后,使用WCWT=1。利用该条件来筛选合格的W,即可得到椭圆参数。

胎儿头围计算定义为:

HC=π(a+b)×pe×Pixel

(15)

式中:pe表示椭圆周长;Pixel表示像素大小。Pe定义如下:

(16)

式中:a表示半长轴长;b表示半短轴长。头围测量的整体流程如图6所示。首先通过H-Unet网络分割模型获取二值分割图,然后采用Canny算子检测头部轮廓,采用基于最小二乘法的椭圆拟合方法对检测的头部轮廓进行拟合并计算头围参数。

图6 头围测量流程

3 实 验

3.1 数据集

实验数据取自HC18[3]数据集,包含1 334幅超声图像,其中训练集999幅,测试集335幅。每幅2D超声图像分辨率是800×540像素,像素尺寸范围从0.052到0.326 mm,数据集提供头围测量值。对训练图像进行切割、多角度旋转、镜像翻转操作,然后随机调整亮度等数据增强处理,最终得到训练图像6 000幅。

3.2 评价指标

为了定量评价不同方法胎儿头围测量的性能,本文采用Dice系数、头围误差绝对值AD、豪斯多夫距离HD作为评价指标。各项评价指标定义如下:

(17)

式中:y表示真实标签;ypred表示预测值。

AD=|HCgt-HCpred|

(18)

式中:HCgt表示真实的胎儿头围值;HCpred表示预测的胎儿头围值。

(19)

式中:y表示真实标签的像素点集合;ypred表示预测的像素点集合。

Dice系数用于评价网络的分割性能,Dice系数越大说明网络的分割效果越好,头围误差绝对值AD直接反映了测量方法的准确程度,AD越小,头围测量越精准。双向豪斯多夫距离HD度量了真实标签和预测值之间的最大不匹配程度,HD越小效果越好。

3.3 模型训练

实验环境为Intel(R)Core(TM)CPU i5-9400F 2.9 GHz,内存为16 GB,操作系统为Windows 10,使用PyTorch开源库进行训练和测试。本文网络训练基于999幅胎儿超声图像,实验测试基于335幅胎儿超声图像,batch_size设为2。训练损失函数使用改进的损失函数,优化器选用SGD。初始学习率设为0.001,学习率使用Poly策略进行调整,以适应训练过程中的loss变化,Poly策略计算公式如下:

lr=lr×1/(1+decay×iteration)

(20)

式中:lr表示学习率;iteration表示迭代次数;decay表示每次更新学习率时的衰减值。

3.4 实验结果及分析

本文对Unet[10]、Unet+ASPP、Deeplabv3[12]、H-Unet(本文方法)进行实验。各种网络分割结果如图7所示,其中:图7(a)表示测试的胎儿头部超声图像;图7(b)是图7(a)对应的标签;图7(c)-图7(f)依次为Unet、Unet+ASPP、DeeplabV3、本文方法的分割结果。其中Unet+ASPP表示在原始Unet的编码器与解码器之间加入ASPP结构。图7第一行是含少量噪声的胎儿超声图像分割结果比较。第一行中,图7(c)中有较多的孔洞,Unet分割效果较差。图7(d)没有明显孔洞,轮廓较为平滑,说明ASPP通过获取多尺度特征可一定程度优化分割结果。图7(d)-图7(f)的分割效果相近,对质量较好的图像分割效果差异并不明显;图7第二行是对含噪声较多、边缘部分缺失的胎儿超声图像的分割结果比较。第二行中的Unet+ASPP和Deeplabv3的分割结果中有少量孔洞,分割精度不足,表明这两种方法抗噪声干扰能力较弱。由图7可见,本文方法的分割结果边缘更为平滑且内部无明显孔洞。图像在边缘不明显或缺失的时候,本文方法仍可获得满意的分割结果。

(a) 原图 (b) 标签 (c) Unet (d) Unet+ASPP (e) DeeplabV3 (f) 本文方法图7 各种网络模型图像分割结果

图8为各种方法头围测量结果比较。其中:图8(a)表示待检测的胎儿头部超声图像;图8(b)是图8(a)对应的真实头部轮廓;图8(c)-图8(f)为图7的对应图像进行椭圆拟合后的结果。从图8可见,Unet检测的头部轮廓角度发生了一定的偏移,且可较明显看出检测的头部轮廓较真实头部轮廓稍小,而图8(d)-图8(f)可以较准确地检测胎儿头部轮廓。图7中第二行,胎儿超声图像存在头部区域含噪声较多、边缘部分缺失等问题,图8(d)-图8(e)的分割结果均存在孔洞及边缘较不平滑现象,但是图8(d)-图8(e)可以较准确地定位胎儿头部轮廓。这说明对头部轮廓进行椭圆拟合时,椭圆拟合算法可一定程度改善头围测量精度。

(a) 原图 (b) gt (c) Unet (d) Unet+ASPP (e) DeeplabV3 (f) 本文方法图8 各种方法头围测量结果

本文不仅对各种方法的测量图像进行比较,还对334幅测试集图像进行测试,定量地评价各种方法的性能。图8中各种方法的测量结果如表1所示。Unet+ASPP对比Unet各项指标都有所提升,这表明了多尺度特征融合能有效地改进网络的分割效果;从表1可见,本文方法的各项指标均优于其他方法。这表明本文提出的改进H-Unet网络模型可提高分割性能。

表1 不同方法测量结果

为研究采用不同损失函数对网络性能的影响,对H-Unet采用不同损失函数训练网络,测量结果如表2所示。其中,H-Unet(Bce)表示用式(7)训练网络;H-Unet(Dice)表示使用式(6)训练网络;本文方法采用式(5)训练网络。从表2可见,本文方法的头围平均误差为2.22 mm,较表2中前两种方法分别提升0.11 mm、0.04 mm,表明了使用式(5)训练网络可以提升头围测量的精度。

表2 比较采用不同损失函数的测量结果

本文从头围误差AD、HD距离、Dice系数三个方面比较本文方法和已有的一些参考文献方法。其中,文献[3]使用HC18数据集进行胎儿头围测量研究,提出了A、B、C三种测量模型,其中C是效果最好的训练模型,本实验比较的就是这个模型。由表3可见,本文方法在各项指标上均优于其他方法。

表3 比较本文方法与已有头围测量方法

4 结 语

胎儿头围测量是一项具有实用意义的研究。本文针对传统测量方法需初始化的半自动特点,提出一种基于多尺度特征的胎儿头围自动测量方法。本文构建了改进的H-Unet模型,对胎儿医学图像实现了像素级的分类。H-Unet采用注意力机制获取长依赖关系,利用多尺度特征金字塔增大感受野,从而获取更多不同尺度的图像特征;采用Dice Loss和Bce Loss训练网络,提高网络的分割性能;本文方法为胎儿头围自动检测提供了一种有效途径。在后续的研究中,可深入研究冠臀长度、腹围等生物参数的自动测量,形成一种医学超声成像系统生物参数自动测量方法。

猜你喜欢
头围头部卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
头部按摩治疗老伴失忆
火箭的头部为什么是圆钝形?
基于更快速的区域卷积神经网络的胎儿头围超声图像质量控制
从滤波器理解卷积
头大的宝宝更聪明?
基于傅里叶域卷积表示的目标跟踪算法
小囟门儿童预防性口服小剂量维生素D对头围及丹佛智能发育的作用研究
自适应统计迭代重建算法在头部低剂量CT扫描中的应用
宝宝小课堂之头围有讲究