一种基于U⁃Net网络心脏MR图像左室识别的图割后处理快速算法

2021-05-28 09:16:04苑金辉谢文鑫胡晓飞
关键词:后处理像素点左心室

乔 艳,苑金辉,谢文鑫,胡晓飞

(1.南京邮电大学 地理与生物信息学院,江苏 南京 210023 2.南京邮电大学 通信与信息工程学院,江苏 南京 210003)

心脏为人体循环系统提供动力,但是因人们作息、饮食等不健康行为,心血管疾病正威胁着人们的健康,在我国心血管疾病的死亡率已明显高于肿瘤和其他疾病[1]。心脏的左心室与主动脉相连,给人体各个部位供血,但是异常的左心室心肌功能会引发各种心肌疾病。因为心脏一直处于活动状态且结构复杂,还有人体心脏因人而异,形状和大小不一样,左心室常常与周围组织粘连,灰度值也非常接近,且左心室所占的像素只有整幅图像像素的5.1%,靠近心尖位置的左心室更小,因此对心脏MR图像进行左心室分割有难度,得出的结果不同,且目标边缘不光滑。

近年来,神经网络在图像分割领域的主流方法是下采样提取高维特征,上采样还原图像。这种方法会导致分割精确度下降,边缘细节分割不够好。为了弥补此不足,在网络的末段添加有针对性的后处理方法对分割结果进行了改善[2]。

图像分割后处理问题是对分割结果的优化问题,通过后处理技术得到更好的分割结果。Zhang等[3]在研究分割人脑MR图像白质区域时提出了一种U⁃net网络的后处理方法,多个网络一起后处理的分割效果比单独训练一个网络好。但是此方法使得网络参数加倍,提升效果不明显。Kristiadi等[4]提出一种将卷积神经网络和水平集算法相结合的图像分割算法,但左心室和其他组织间边界模糊,而水平集方法需使用图像的边界信息,所以简单的水平集后处理分割效果不理想。赵幸荣[2]提出基于深度学习的MRI图像右心室分割,选用的是kaggle右心室分割比赛的数据集,为了优化边缘结果,在网络的末端添加了基于阈值筛选的连通域后处理算法,最终分割结果有所改善。

本文首先训练好U⁃Net网络实现心脏MR图像的左心室分割,接着对输出结果进行图割优化,在图割前加入形态学操作,去除大部分已经确定的区域,对边缘区域进行后处理,将两者结果分别进行分析,以及将其他算法进行对比。

1 基于U⁃Net网络的心脏 MR图像左室识别的后处理算法

使用U⁃Net网络[5]构建心脏MR图像左心室的分割网络,根据需要在网络训练过程中采用批量归一化;根据数据集的特点,在采用基于Dice系数的损失函数的基础上添加二分类交叉熵损失函数,由于使用简单的0.5的阈值对分割网络输出的概率图进行二值化,造成有些分割结果边缘不光滑以及出现一些孤立的区域。采用图割对U⁃Net网络的分割结果进行后处理,同时使用形态学操作去除大部分不需要后处理的区域,从而进一步减少图割算法的运行时间。

1.1 分割结果分析

采用 Dice系数(Dice Coefficient)、召回率(Recall)和准确率(Precision)指标对 U⁃Net网络心脏MR图像左心室分割模型的测试集结果进行分析,随机抽取4幅心脏MR图像(如图1所示)进行结果分析。U⁃Net网络的分割结果如图2所示,图2中的D表示Dice系数的值,R表示召回率的值,P表示准确率的值。测试集结果为Dice值为0.921 7,Recall值为 0.920 3,Precision值为 0.941 9,且对比图3中标准分割图像和图2中U⁃Net网络的分割结果图,可以看出U⁃Net网络能从大部分的心脏MR图像中分割出心室,如图4中心脏MR图像上U⁃Net分割结果轮廓的标注图所示。Precision值比Dice系数和Recall值高,正如图2中U⁃Net网络的分割结果所示,说明在预测结果中大部分预测为左心室区域的结果都是正确的,但Recall值比Precision值低说明还有一部分的左心室区域没有被预测出来,为了将邻域内的像素考虑在内使得分割效果更好,选择图割对U⁃Net输出结果进行后处理。

图1 心脏MR图像

图2 U⁃Net网络的分割结果

图3 标准分割图像

图4 心脏MR图像上U⁃Net分割结果轮廓的标注图

1.2 基于图割的后处理算法

图论是集合论中重要的部分,是图割算法的基础,图割理论的基础主要有网络流、流、网络流的S⁃T割和最大流/最小割。顶点集是待解决问题中不同事物的集合,而边集是描述不同事物间关系的集合,将待解决的问题用图描述,利用图论中的最优算法去解决实际生活中的问题[6]。按照边集中的边有无方向,可以分为有向图和无向图,根据实际需要构造图G(V,E),V表示顶点集,E为边集,如图 5(a)所示,用区域顶点i表示对应的分割区域i,p和q表示两个相邻区域。图G的一个割C是图中顶点的一个划分,将图中的所有顶点分为两个集合S和T,如图5(b)所示,曲线l将图中所有顶点分为两部分。构造完图G后,用其表示区域间的关系。

图5 图G和其中的一个割[7]

在网络流中,源点和汇点通过边间接连通,去掉一些边后,网络流被分成互不连接的区域,被去掉的边称为网络流的S⁃T割,S⁃T割的容量为这些去掉边的容量之和,容量最小的割即为最小割[7]。

需求解网络流中容量最小的S⁃T割,文献[8]中已证明,在网络流中求解出的最大流和网络流的S⁃T割在数值上是相等的,所以求解S⁃T割等价于求解网络中的最大流。

图割(Graph Cut)算法是 Boykov 等[9]在 2001年提出的图像分割算法。在图割算法中,将图像分割问题转化为求解最小化能量函数,利用图论中能量最小化的求解方法,高效分割出目标区域,所以图割算法较受欢迎,如刘松涛等[10]提出基于图割的图像分割方法及其新进展;Aned等[11]提出了一种离散核密度匹配神经网络用于心脏MR左心室腔的分割,采用图割进行优化,使得分割算法共享活动轮廓的灵活性等。

图割算法利用少量人工标注的标签和图像本身的特点构造能量函数,最小化能量函数获得最优的分割结果。图割算法实现图像分割分为3步:

(1)构建能量函数

能量函数用来确定图中边的权值,其定义为

其中,E(A)为整幅图的能量函数,A为图像中的节点的标签,源点和汇点以外的节点的标签为0或1。标签为0和1的节点分别为原始图像的前景和背景,求出图的S⁃T割中的最小值,即得到能量函数最小值;R(A)为节点分类的代价,称区域项函数;B(A)为该节点与周围节点分配标签不一致的代价,称边界项函数;λ为一个非负数的控制系数。调节R(A)和B(A)在能量函数中的重要程度。

R(A)定义为

其中,RP(AP)为待分配标签的像素点标记为标签A的代价,RP(AP)需从人工标注的前景和背景像素点的灰度直方图计算得到。RP(AP)的形式为

其中,RP(f)和RP(b)作为像素点与S点和T点连接的边的权值,表示切割边的代价;P(IP|f)为像素点属于前景的概率;P(IP|b)为像素点属于背景的概率。

B(A)定义为

其中,B{p,q}表示p和q像素点间的差异性,定义为

其中,Ip和Iq为像素点的灰度值,dist(p,q)为p和q像素点间的欧氏距离,σ表示对噪声的估计。

(2)建立加权无向图

使用能量函数构造加权S⁃T网络图G。顶点集分为两类,一类是图像中的像素点,全作为顶点,另一类是源点和汇点,分别表示背景和左心室。边集包括像素点4或8邻域的边和每个像素点与源点和汇点连接的边。

(3)求解能量函数最小值

求解能量函数E(A)的最小值,等价于求加权无向图的最小割,根据最大流/最小割理论,最小割问题转化为求最大流。常见的求解最大流算法有增广路径算法和推进重标记算法,两者优势不一,推进重标记算法在稀疏图中寻找最大流时速度相对较快。

1.3 基于形态学的图割后处理快速算法

由于简单地使用0.5阈值对分割网络输出的概率图进行二值化,会造成分割结果的边缘不光滑且出现一些孤立的区域。U⁃Net网络的输出结果只考虑孤立的像素点属于左心室的概率,缺乏邻域内信息,采用图割算法对U⁃Net网络的输出结果进行后处理,同时采用图像形态学操作减少图割后处理区域,可减少图割算法的运行时间。

因为U⁃Net网络输出结果是准确的,只有少部分边缘处的像素点需用图割优化,所以利用形态学操作提取U⁃Net网络分割结果的边缘区域。形态学操作可以消除图像中的瑕疵。通常,它以二进制图像执行,并且需要两个输入,分别为原始图像和结构元素。结构元素是一幅小图像,其为指定操作。因此,形态学运算主要取决于结构元素的形状。形态学运算主要是将原始图像左右和上下移动。通过膨胀和腐蚀的复合操作,执行其他形态学操作。这种复合形态操作的两种类型是打开和关闭,这两个操作可减少处理时间。打开操作是先腐蚀后膨胀,从对象轮廓的内部平滑拐角,即为平滑轮廓。关闭操作是先膨胀后腐蚀,其从外部平滑拐角。打开即腐蚀操作会分离图像中的对象,关闭即膨胀操作会填充轮廓中的间隙[12]。

图像形态学具体操作如图6所示,图6(a)和图6(b)中左侧均为U⁃Net网络分割结果,右侧分别为膨胀或腐蚀结果,将U⁃Net网络输出结果分别进行10∗10的膨胀和腐蚀操作使得区域增大和变小,然后前者减去后者得到最终后处理区域。此操作去掉了中间已经确定为左心室和背景区域的像素点,仅需要将图6中黄色部分的像素点作为图割中的节点构建S⁃T网络,从而提高时间效率。

图6 形态学具体操作

图割具体算法流程如图7所示。首先,将心脏MR图像输入到训练好的U⁃Net网络中,网络输出层得到概率图,其上每个值为属于左心室的概率,其为能量函数的一个输入。心脏MR图像作为能量函数的另一输入,提供原始图像中像素点邻域的灰度值信息。将控制系数λ设为0.5,构造能量函数。接着,采用形态学操作去除中间无需后处理区域,得到边缘处需后处理的部分,将该区域作为节点构建S⁃T网络图。最后,求解S⁃T网络的最小割,采用最大流/最小割算法,具体实现用 Python中的MyMaxflow包。

图7 图割优化流程图

2 实验结果和分析

实验的训练和测试的图像数据均来自Sunnybrook数据集[13]。数据集有45位患者的心脏切片图像,图像尺寸为256像素×256像素,共有805张有专家标注的心脏MR图像,包括心力衰竭、左心室肥厚、心肌梗死和健康人患者的左心室MR图像。如图8所示,心脏图像显示了许多组织,如左心室、右心室、乳突肌、心内膜和心外膜等。实验目标是从心脏MR图像中分割出左心室,此过程需要识别出左心室和心内膜的边界。实验中的标准分割图片由心脏病专家分割得到。整个实验将数据集中的805张心脏MR图像分为训练集、验证集和测试集。其中训练集图像512张,验证集图像91张,测试集图像202张。

图8 心脏结构示意图

训练左心室分割网络对计算机硬件有一定的要求,使用51加速器和谷歌云端硬盘构建自己的虚拟硬盘,使用谷歌附件 Google Colaboratory和 GPU⁃Tesla完成实验。实验使用 Python3.6编写,使用Keras作为深度学习模型搭建工具,用到许多Python软件包如表1所示。

表1 使用的Python软件包列表

在训练网络前需初始化U⁃Net网络参数,具体如下:批训练量设为8;进行200次迭代;使用随机梯度下降法,动量设为 0.9,学习率设为0.001;采用Dice系数的损失函数加二分类交叉熵损失函数。

对U⁃Net网络的输出结果进行图割优化,图9中3行图像分别为3种结果示例。

从图9中每行第2幅图中的红色线条框住的图像区域可以看出,U⁃Net网络的二值化结果中边缘不光滑,经图割优化,分割结果的边缘接近标准分割结果。

图9 心脏MR图像及处理3种结果示例

为了验证图割算法对左心室分割后处理的效果,在U⁃Net分割网络测试阶段加上图割进行后处理优化。为了与U⁃Net网络结果形成对比,采用Dice系数和召回率(Recall)对模型进行评价。从表2可以看出,采用图割作为U⁃Net网络的后处理方法,Dice系数、召回率这两个指标均有所提升。相比没有图割优化的 U⁃Net网络,后处理后 Dice系数、召回率分别提高了0.8%、1.99%。

表2 不同算法实验结果对比

图割算法将S⁃T网络图划分为两个互不相交的子图,由此得到前景和背景区域,分割效果得到改善。在时间效率上,倘若整幅图的像素点参与图割优化,平均后处理时间约为2.7 s,但形态学操作只对少数的边缘区域像素点进行图割优化,平均后处理时间只需290 ms,时间效率大幅度提高,且后处理效果不变。

为了进一步对比本文的左心室分割算法与其他左心室分割算法,选择了近年来提出的几个左心室分割算法,这些算法数据集相同。表3记录了不同算法的方法类别和Dice系数。从表3中可以看出,本文算法在Dice系数上取得了最优的结果。

表3 本算法实验结果与其他算法对比

3 结束语

本文提出了一种基于U⁃Net网络心脏MR图像左心室分割的图割后处理快速算法。为优化U⁃Net网络分割结果,重点对图割算法进行研究,有效评估其对U⁃Net网络对心脏MR图像左心室分割结果后处理的改善程度,还采用了形态学操作提高图割处理效率。

U⁃Net网络的输出结果只是对孤立的像素点进行预测其属于左心室区域的概率,没有将邻域内像素点的信息考虑到分割过程中。但是图割算法会将U⁃Net网络输出的概率图和像素点的邻域信息作为能量函数的构造项,能够较好地弥补U⁃Net网络输出结果的缺点,通过对能量函数求解最小值得到后处理后的二值化分割结果。所以采用图割算法对U⁃Net输出结果进行优化,同时提出采用图像形态学操作去掉了大部分无需后处理区域,减少了图割运行的时间,极大地提高了时间效率。

猜你喜欢
后处理像素点左心室
心电向量图诊断高血压病左心室异常的临床应用
果树防冻措施及冻后处理
今日农业(2020年20期)2020-12-15 15:53:19
乏燃料后处理的大厂梦
能源(2018年10期)2018-12-08 08:02:48
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
乏燃料后处理困局
能源(2016年10期)2016-02-28 11:33:30
初诊狼疮肾炎患者左心室肥厚的相关因素
基于Node-Cell结构的HEVC帧内编码
电视技术(2014年11期)2014-12-02 02:43:28
基于改进多尺度ASM和非刚性配准的4D-CT左心室分割
发动机排气后处理技术