在上篇博文中,我们详细介绍了如何分割肺实质,并根据标注信息提取肺结节,本文主要介绍如何利用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)
。
网络模型
-
CNN的网络结构和参数
-
DNN的网络结构和参数
-
SAE的网络结构和参数
最后在验证集上的测试结果如下:
通过比较可以发现,CNN的分类效果最好。
拓展
尽管CNN模型已经取得了不错的分类效果,但还需要提升。考虑到分类数据集还是太少,我们引入了生成式对抗网络(GAN)来扩充我们的肺结节数据集。关于GAN的介绍可以看我之前的一篇博客深度学习的常见模型 (GAN),此处不详细介绍。
我们通过CGAN网络训练了生成模型,扩充了我们的数据集,生成示例如下:
然后将生成的数据与原始数据混合,重新训练CNN分类模型,在准确率上果然取得了一定的提升。