基于深度学习的肺部CT影像识别——采用U-net、3D CNN、cGAN实现肺结节的检测(一)

点击此处跳转到系列博客索引

文章目录

  • 引言
  • U-net分割模型
    • 算法原理
  • 实现过程
  • 实验结果
  • 参考


引言

在医学图像处理中,传统的特征提取方法依赖于含有先验知识的特征提取和感兴趣区域的获取,这将直接影响肺结节检测的精度。而卷积神经网络无需人工提取特征,采用深度学习方法,随着卷积层数的加深,能提取出更加抽象、语义更丰富的特征。这里首先采用U-net将肺结节分割出来,生成候选集。

U-net分割模型

算法原理

卷积神经网络的典型用途是分类任务,输出图像的单个类别标签。但是在生物医学图像处理中,通常面临的是分割任务,它需要将类别标签分配给每个像素。语义图像分割的目标在于标记图片中每一个像素,并将每一个像素与其表示的类别对应起来。2013年,Farabet等人提出了一个多尺度卷积分类网络。该网络以某个分类的像素为中心进行多尺度采样,将多尺度的局部图像块送到CNN分类器中逐一进行分类,最终得到每个像素所属的语义类别。但是由于逐像素的进行窗口采样得到的始终是局部信息,整体的语义还是不够丰富。

除了语义信息提取困难之外,海量的训练数据在生物医学任务中通常也是无法实现的。于是为了解决这些问题,基于FCN的U-net应运而生,对医学图像分割领域产生了深远的影响。U-net是一个全卷积神经网络,它能够在很少的训练图像下工作,提取多层次的特征,并产生较为精确的分割。

FCN的主要思路是将全连接层取代替换为卷积层,其中的池化层被上采样层取代,增加了输出层的分辨率。为了定位,使来自收缩路径的高分辨率特征图与上采样输出相结合。因此基于以上信息,一个连续的卷积层可以学习集成更精确的输出。U-Net相较于FCN多尺度信息更加丰富,包括收缩路径和对称扩张路径分别用于提取上下文信息和定位,如下图所示。网络没有全连接层并且只使用每一个卷积层的有效部分,这种方法可以使用非常少的数据完成端到端的训练,并获得最好的效果。

基于深度学习的肺部CT影像识别——采用U-net、3D CNN、cGAN实现肺结节的检测(一)_第1张图片

实现过程

根据SongpingWang [ 1 ] \color{#0000FF}{[1] } [1]的系列博客给出的代码做了应用,但是他给出的代码不全,一是缺少对XML标注文件的处理函数,无法由DICOM文件生成mask训练数据;二是缺少将处理好的图片及其mask路径写入txt文件的函数,因为他是通过将训练数据的路径写入txt文件,然后读取该文件得到图像索引,通过random.shuffle()操作图像索引来打乱(shuffle)图像。这样一个预处理trick的目的是防止出现过分有规律的数据,导致过拟合或者不收敛,因为毕竟用到的数据并不多。

此外,SongpingWang还给出了3DCNN假阳性过滤部分的代码,然而我用他分享的预训练模型或者是我自己重头训练,分类结果都是50%左右,没有参考价值。或许是代码哪个部分存在问题,我没有深究下去。所以我只拿U-net提取候选结节,并且用的是他处理好的训练数据。至于假阳性过滤部分我参考了另一个3DCNN模型,详见下一篇博客。

这里给出SongpingWang分享的处理好的数据和预训练模型:

数据集下载:https://pan.baidu.com/s/1zG_xP_NzAIA5CMOJIVf73Q 提取码:9yd2
U-net和3DCNN的预训练模型链接: https://pan.baidu.com/s/1PwPX7nbFmzmkuhbvZ7wcLw 提取码: vqpw

实验结果

在U-net肺结节提取模型中,网络训练迭代次数(Epoch)为70次,每次迭代训练300次,batch-size为16。采用随机梯度下降(SGD)算法来求解模型,学习率为0.001,并加入动量(momentum)优化。U-net的Loss图在训练集上的Acc图如下所示。
基于深度学习的肺部CT影像识别——采用U-net、3D CNN、cGAN实现肺结节的检测(一)_第2张图片
基于深度学习的肺部CT影像识别——采用U-net、3D CNN、cGAN实现肺结节的检测(一)_第3张图片
这里U-net模型输出的结果只是结节的位置坐标信息,我用OpenCV的cv2.rectangle()函数画出了矩形框作为标注,便于观察。可视化结果如下图所示,其中孤立的实性结节和非实质性结节都能够精准的检测出,对医学临床上的诊断能起到一定的辅助作用。
基于深度学习的肺部CT影像识别——采用U-net、3D CNN、cGAN实现肺结节的检测(一)_第4张图片

参考

[1] https://blog.csdn.net/qq_36401512/article/details/85000065

你可能感兴趣的:(目标检测,神经网络,计算机视觉,深度学习,tensorflow,python)