最近,有很多朋友提出,肾脏分割模型在实际使用时会出现很多错误分割,很多大腿区域被错误分割出是肾脏区域。今天我将分享如何设计肾脏粗分割方法去除错误分割区域,使用的模型VNet方法跟肾脏分割是类似的。
1、VNet模型
大家看过我之前的文章,肯定对VNet模型已经非常熟悉了,该结构出自2016年发表的一篇论文《V-Net:Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation》,关于该网络具体的细节可以之前的文章,我这里就不多说了。
2、粗分割肾脏区域
在之前的文章中,在肾脏分割时,所用的数据是根据金标准Mask图像取得一个ROI子区域图像,来进行分割的,但在实际应用的时候,只有原始图像没有金标准Mask图像的,所以在使用之前文章中的分割模型时,必须首先确定肾脏大致区域范围,对区域范围内的图像进行肾脏分割,如果直接分割整个图像的话肯定会出现错误分割现象,将一些不是肾脏的区域分割出来。如何确定肾脏区域范围?最简单的方法就是人工设置肾脏范围,今天我将用VNet对肾脏进行粗分割来得到肾脏的大致区域范围。
3、数据集处理方法
跟之前一样,采用0-199例数据来进行训练,200-209例数据来进行测试。图像大小都是512x512xn(n代表张数)的数据。首先,将原始图像和Mask图像都进行采样操作,将图像缩放到512x512x64的大小,然后将采样后的原始图像和Mask图像按照x和y方向上裁切6x6块,所以一个数据集就会裁切出6x6x1=36个(128x128x64)子图像出来。
4、Vnet肾器官粗分割训练效果
我是在1080ti显卡上跑的,所以batchsize设置成2,如果大家出现OOM错误,请修改该参数,如果显存比11G还大的话,也可以设置大一些。下面是训练loss结果及精度结果。
5、在测试数据上分割结果
在测试的时候,本来想将原始图像插值到512x512x64大小的图像,然后直接输入到训练好的网络中,但是1080ti显卡出现OOM错误。无奈只能降低图像分辨率大小,将原始图像512x512xn,n代表张数,插值采样到256x256x64大小的图像,然后直接输入到训练好的网络中,得到256x256x64大小的预测Mask图像,最后将256x256x64大小的Mask图像进行插值采样恢复到512x512xn大小。分割结果如下面视频所示,红色轮廓是金标准结果,蓝色轮廓是预测结果,预测结果与金标准的dice值是非常低的,但是这不影响肾脏的区域范围选择,当我们找到肾脏的区域范围后,就可以得到该区域的子图像,就可以使用之前文章的肾脏分割模型进行分割了。