利用DSB2017冠军开源代码为LUNA16生成mask

代码地址:https://github.com/lfz/DSB2017

先展示下生成的mask与真实mask

subset9                                                                     

利用DSB2017冠军开源代码为LUNA16生成mask利用DSB2017冠军开源代码为LUNA16生成mask

subset8

利用DSB2017冠军开源代码为LUNA16生成mask利用DSB2017冠军开源代码为LUNA16生成mask

subset7

利用DSB2017冠军开源代码为LUNA16生成mask利用DSB2017冠军开源代码为LUNA16生成mask

subset6                       

利用DSB2017冠军开源代码为LUNA16生成mask利用DSB2017冠军开源代码为LUNA16生成mask

subset5

利用DSB2017冠军开源代码为LUNA16生成mask利用DSB2017冠军开源代码为LUNA16生成mask

subset4

利用DSB2017冠军开源代码为LUNA16生成mask利用DSB2017冠军开源代码为LUNA16生成mask

 subset3              

 利用DSB2017冠军开源代码为LUNA16生成mask利用DSB2017冠军开源代码为LUNA16生成mask

subset2

利用DSB2017冠军开源代码为LUNA16生成mask利用DSB2017冠军开源代码为LUNA16生成mask

subset1

利用DSB2017冠军开源代码为LUNA16生成mask利用DSB2017冠军开源代码为LUNA16生成mask

上面的图片是从subset1~subset9中随机选取的切片,左边为生成的mask,右边为ground truth,效果相当不错,不过仍有瑕疵,比如说subset3的mask就明显少了一大块。

在DSB2017中其实利用了两部分数据,一部分是比赛方提供的数据,一部分是LUNA16数据集,LUNA16数据集提供了mask,所以代码中是分开处理的,对于LUNA16利用提供的mask,对于比赛数据,采用阈值化加形态学操作,生成mask,那么这个mask有啥用呢,是用来剔除与肺部无关的区域,便于肺结节检测。

DSB2017中具体生成的mask的文件是preprocessing/step1.py。

作为替代方案,其实也可以采用CNN来进行分割,产生mask,而且效果应该会更好。