zl程序教程

您现在的位置是:首页 > 

当前栏目

ADAM——动脉瘤检测和分割挑战(四)

检测 挑战 分割 ADAM 动脉瘤
2023-06-13 09:11:17 时间

今天将分享动脉瘤检测和分割的三个步骤级联分割的完整实现过程,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。

一、数据分析与预处理

回顾一下前面数据分析与处理过程:

首先将训练中有效的颅内动脉瘤的数据提取出来,有一些数据是没有动脉瘤,不作为训练数据,此外标签值1是未破裂的动脉瘤,标签值2是治疗过或破裂的动脉瘤,挑战的目的是自动检测或分割未治疗,未破裂的动脉瘤(标签0与标签1)。因此,不需要检测已治疗的动脉瘤的方法。

1.1、热力图回归检测数据处理

然后根据txt中的动脉瘤的图像中心线点坐标和半径值,生成该点处的高斯热力图。为了将整个图像输入到网络中去,需要对原始图像和热力图进行大小缩放,由于显卡是1080TI的11G显存的大小,所以图像缩放到固定大小(160,160,64),对图像进行(5,95)范围的均值为0,方差为1的归一化处理。

1.2、二类分割数据处理

将原始图像和Mask图像统一缩放到到spacing是(0.3,0.3,0.3)分辨率大小。针对非血管瘤区域,在整个图像上随机裁切(64,64,64)大小的区域出来,针对血管瘤区域,根据连通域分析Mask得到每个血管瘤的boundingbox,并在该区域内随机获取三维点坐标,并以此为中心裁切(64,64,64)大小的区域出来。再对裁切出来的图像进行(5,95)像素范围截断并以均值为0,方差为1的归一化处理。

1.3、二类分割数据处理

将原始图像和Mask图像统一缩放到到spacing是(0.3,0.3,0.3)分辨率大小。对金标准Mask进行分析得到每个颅内血管瘤的boundingbox,以boundingbox的中心裁切出(64,64,64)大小的区域出来。再对裁切出来的图像进行(5,95)像素范围截断并以均值为0,方差为1的归一化处理。并对数据进行数据增强处理。

二、三个级联网络结构预测流程

2.1、输入原始图像,将图像缩放到(160,160,64)大小,对缩放后图像进行(5,95)像素范围截断并以均值为0,方差为1的归一化处理。

2.2、输入到热力图回归网络中预测,对结果进行二值化处理,然后再缩放回到原始图像大小。

2.3、对原始图像和二值化预测热力图结果,分别缩放到spacing分辨率是(0.3,0.3,0.3)大小。

2.4、对采样后的二值热力图进行连通域分析,获得每个连通域边界框范围。

2.5、以步长(32,32,32)来遍历边界框,裁切一系列的(64,64,64)大小的ROI图像区域,进行(5,95)像素范围截断并以均值为0,方差为1的归一化处理。

2.6、输入到二值分类网络中去,如果预测标签值为1,那么就进一步分割,将一系列的分割结果进行求和处理,直到遍历分割完,接着处理下一个连通域。

2.7、对最后分割结果进行二值化处理,非0区域设置成1,得到动脉瘤分割结果。

2.8、最后再采样到原始图像大小,最后输出成预测的分割结果。

三、预测结果

下图是整个图像上的金标准结果和级联网络的预测结果,可以看到预测结果还是存在一些假阳性结果,左图是金标准,右侧是预测结果。

再看一下是局部血管瘤的金标准结果和预测结果,左图是金标准,右侧是预测结果。