在上篇博文中,我们详细介绍了如何分割肺实质,并根据标注信息提取肺结节,本文主要介绍如何利用CNN网络训练分类模型,辅助医生作出判断。

本文网络结构见论文: http://downloads.hindawi.com/journals/jhe/2017/8314740.pdf

数据集

通过上篇博文中的方法,我们最后根据肺结节的**良恶性程度(1-5)**得到了5类肺结节。数目如下:

  • 良恶性程度为1:1254
  • 良恶性程度为2:1532
  • 良恶性程度为3:1721
  • 良恶性程度为4:1226
  • 良恶性程度为5:1646

之前介绍过,3表示不确定,所以我们训练时舍弃该数据集。我们只需要判断良恶性,因而我们将良恶性程度为1和2归为良性(Malignant),良恶性程度为4和5归为另一类恶性(benign)。主要采取的网络有(CNN、DNN和SAE)

网络模型

  1. CNN的网络结构和参数

  2. DNN的网络结构和参数

  3. SAE的网络结构和参数

最后在验证集上的测试结果如下:

通过比较可以发现,CNN的分类效果最好。

拓展

尽管CNN模型已经取得了不错的分类效果,但还需要提升。考虑到分类数据集还是太少,我们引入了生成式对抗网络(GAN)来扩充我们的肺结节数据集。关于GAN的介绍可以看我之前的一篇博客深度学习的常见模型 (GAN),此处不详细介绍。

我们通过CGAN网络训练了生成模型,扩充了我们的数据集,生成示例如下:

然后将生成的数据与原始数据混合,重新训练CNN分类模型,在准确率上果然取得了一定的提升。