今天将分享胎儿组织分割的完整实现过程,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
一、比赛简介
这项挑战的目的是开发人类胎儿大脑发育的多类分割方法。训练数据将包括80个T2加权胎儿脑重建图像,并带有相应的标签图,该标签图被手动分为7种不同的组织/标签:1外脑脊液,2灰质,3白质,4脑室,5小脑,6深灰质,7脑干。数据是使用1.5T和3T临床GE全身扫描仪(Signa Discovery MR450和MR750)采集的,使用8通道心脏线圈或身体线圈。T2加权单次快速旋转回波序列的面内分辨率为0.5mm x 0.5mm,切片厚度为3至5mm。序列参数如下:TR:2000-3500ms;TE:120毫秒(最低);翻转角度:90°;抽样百分比为55%。根据胎龄和胎儿大小调整以下参数:FOV:200-240 mm;FOV:200-240 mm;FOV:200-240 mm。图像矩阵:1.5T:256x224;3T:320x224。成像平面相对于胎儿脑定向,并获取轴向,冠状和矢状图像。
二、技术方案
首先采用粗分割网络将整个大脑分割出来,然后再采用细分割网络在大脑内部再进行不同组织分割,这样可以减少因为降采样导致的分割误差。
2.1、粗分割
A、数据处理与分析
分析80例数据的图像大小,spacing大小,maskROI范围大小,平均大小如下:256,256,256;0.688,0.688,0.688;108,130,108。
B、训练数据生成
将图像和Mask都统一缩放到128x128x96大小,归一化采用zscore方式归一化,截断小于1%和大于99%的数值,由于Mask数据中又存在异常值,所以重新生成一个只有0,1,2,3,4,5,6,7标签的Mask。
C、数据扩增
为了增加模型泛化性,数据扩充了10倍,随机旋转30度,x,y,z随机平移0.1大小,水平,垂直随机翻转等。
D、搭建二类分割网络结构
网络主体采用的是VNet的网络,损失函数采用的是多类的focalloss,学习率是0.001,droupout是0.5,迭代次数是10epochs,batchsize是1。训练数据一共有825例,优化器是AdamOptimizer。
E、网络训练和预测
训练损失结果和精度结果
2.2、精分割
A、数据处理与分析
分析80例数据的图像大小,spacing大小,maskROI范围大小,平均大小如下:256,256,256;0.688,0.688,0.688;108,130,108。
B、训练数据生成
首先获取Mask,然后获取其有效ROI范围,然后根据ROI从原图和原始Mask中裁切出图像和Mask区域,再将裁切后的图像和Mask缩放到112x128x112大小,归一化采用zscore方式归一化,截断小于1%和大于99%的数值,由于Mask数据中又存在异常值,所以重新生成一个只有0,1,2,3,4,5,6,7标签的Mask。
C、数据扩增
为了增加模型泛化性,数据扩充了10倍,随机旋转30度,x,y,z随机平移0.1大小,水平,垂直随机翻转等。
D、搭建二类分割网络结构
网络主体采用的是VNet的网络,损失函数采用的是多类的focalloss,学习率是0.001,droupout是0.5,迭代次数是10epochs,batchsize是1。训练数据一共有825例,优化器是AdamOptimizer。
E、网络训练和预测
训练损失结果和精度结果
2.3、级联网络测试结果
首先输入原始图像,缩放到128x128x96大小,使用zscore进行归一化,输入到粗分割网络中去,分割得到第一步Mask,再获取Mask的ROI区域范围,从原始图像中裁切出ROI图像,再缩放到112x128x112大小,再使用zscore进行归一化,输入到第二个网络中去分割,最后将分割的结果恢复到原始图像大小。如下图所示,左边是金标准结果,右边是网络预测结果。