今天我将分享对心脏MR图像进行3类分割。为了方便大家学习理解整个分割流程,我将整个流程步骤进行了整理,并给出每个步骤的结果,希望对大家有所帮助。
一、HVSMR2016简介
HVSMR2016挑战赛的任务是从3D心血管磁共振(CMR)图像中分割血池和心肌,可以创建患者特定的心脏模型来对患者先天性心脏病的患者进行术前规划。由于心脏缺陷的高度解剖变异性,信号强度变化以及较低的信噪比和对比度和噪声比,对于3D全心CMR数据集实现半自动或自动分割是很有挑战性的。
二、心脏MR图像分析与预处理
(1)、HVSMR2016提供了三种类型的训练数据和测试数据,一种是轴向全部的MR图像,一种是轴向只包含心脏区域的MR图像,一种是短轴只包含心脏区域的MR图像。在这里,我才用轴向只包含心脏区域的MR图像作为训练集,并在轴向只包含心脏区域的MR测试数据上来验证模型结果。
(2)、分析心脏Mask图像信息。读取Mask图像,输出Mask的全部标签值,0是背景,1是心肌,2是血池。心肌类别包括围绕两个心室的厚肌以及它们之间的隔膜,血池类别包括左,右心房,左,右心室,主动脉,肺静脉,肺动脉以及上腔静脉和下腔静脉。冠状动脉不包括在血池类别中,由于其在心室心肌内传输,这里标记为心肌类别。
(3)、准备全心脏分割数据。首先按照Spacing的方式进行插值,将图像和Mask全部插值到(1x1x1)大小;然后对原始图像进行均值方差归一化;最后对归一化的原始图像和Mask图像进行分块取Patch操作,生成若干个(96,96,96)大小的图像和Mask,判断并输出非零的Mask和对应的图像。
三、全心脏分割网络
(1)、搭建MutilDepthVNet3d模型,网络输入大小是(96,96,96)。如下图所示,原始论文中还采用了深监督机制,我在实际复现时没有使用该机制。
(2)、原始论文中主要是多深度融合思想。常规VNet中都是一般卷积操作,多深度融合是将不同尺度(局部和全局)卷积结果进行融合叠加,这样生成的特征图就具有了全局和局部信息。模块结构如下所示。详细论文可以在我的VNetFamily项目中阅读,链接:
https://github.com/junqiangchen/VNetFamily
(3)、loss采用的是多分类dice函数,具体实现可以点击原文链接查看具体代码。
(4)、损失结果和精度经过如下图所示。
(5)、分割推理过程:首先对图像以Spacing方式进行插值成(1x1x1),并进行均值方差归一化,然后输入到网络中去,网络输入大小是(256x256x208),得到分割结果,再将分割结果插值回到原始图像spacing大小,最后再进行形态学操作去除小目标物体。
四、在测试数据上进行分割试验
测试数据就提供了10例,而且也没有金标准,所以这里我只能给出分割效果图了。
为了方便大家更高效地学习,我将代码进行了整理并更新到github上,点击原文链接即可访问。数据集可以访问官网注册即可下载。