专栏首页Python编程和深度学习FocusNet:解决小器官难分割问题(MICCAI 2019)

FocusNet:解决小器官难分割问题(MICCAI 2019)

今天分享一篇发表在MICCAI 2019上的关于医学影像处理中小器官分割的论文:FocusNet: Imbalanced Large and Small Organ Segmentation with an End-to-End Deep Neural Network for Head and Neck CT Images (原文链接:[1])。

1 研究背景

器官分割是医学影像处理中的一类主要任务,现在主流的方法是采用卷积神经网络进行处理。但是不同的器官之间的大小具有很大的差距,如上图所示,晶状体(最小的器官)只占整个3D空间的0.0028%,而腮腺所占区域大约是晶状体的250倍,不同器官之间所占空间的比例是不平衡的。然而,现有的分割神经网络并没有针对这个问题进行优化,这些网络一般能对大器官产生准确的分割图,但对小器官的分割精度往往是不高的。

为了解决上述大小器官分割任务中存在的占比不平衡问题,这篇文章模拟了专家标注的过程。作者发现,对于大器官,专家通常在正常视图下进行标注,而对于小器官,他们先在正常视图下找到对应的位置,然后放大进行标记。受此启发,这篇文章提出了一种新颖的端到端三维卷积神经网络 (FocusNet),同时对大器官和小器官产生精确的分割。

2 方法

2.1 整体流程

如上图(Fig.1)所示,FocusNet接受3D的CT扫描图作为输入,其具体流程为:

  1. 通过主分割网络 (S-Net)对大器官预测分割图
  2. 同时以S-Net的最后一层特征作为SOL-Net的输入,预测小器官的大概位置
  3. 根据第2步预测的位置截取对应区域的多尺度特征和高分辨率特征作为输入(这里采用ROI Pooling确保输入特征维度的一致性),采用SOS-Net预测小器官的分割图
  4. 融合第1步和第3步的预测结果得到最终的预测

通过上述具体流程的描述,可以将FocusNet分为三个主要子网络:S-Net、SOL-Net和SOS-Net,接下来将对这几个部分分别进行详细的介绍。

2.2 主分割网络 (S-Net)

文中通过主分割网络预测大器官的分割图,如上图所示(Fig.2)。作者在文中说明了直接采用3D U-Net在这个任务上的效果并不好,原因有:

  1. 3D U-Net存在4次下采样过程,然而过多的下采样会导致高分辨率信息的丢失,这将非常不利于对只占有少数体素的小器官进行预测
  2. 3D U-Net只能通过下采样的方式捕获固定尺度的特征,这限制了它的表示能力(即没有采用类似ASPP模块)

文中提出了S-Net作为主分割网络来避免上述的局限性。S-Net的设置如下:

  • 输入: 3D的CT扫描图
  • 输出: 大器官的预测分割图
  • 结构: 如Fig.2绿色箭头所示,S-Net只采用一次下采样,同时为了捕获多尺度的特征信息并且扩充感受野,采用DenseASPP模块
  • 损失函数: Focal Loss+Dice Loss
2.3 小器官定位网络 (Small-Organ Localization Network, SOL-Net)

通过S-Net已经可以预测大器官的分割图了,接下来需要通过SOL-Net模拟专家标注中定位小器官位置的过程。SOL-Net的设置如下:

  • 输入: S-Net的最后一层解码器的特征
  • 输出: 小器官中心位置的概率热图 (heatmap),每一个小器官都有一个单独的热图(假设小器官类型数量是
K

,那么预测结果的通道数为

K

  • 结构: 由2个Squeeze-and-Excitation Residual Blocks (SEResBlock)和一个1x1x1卷积层组成,最后一层的激活函数为Sigmoid
  • 损失函数: MSE Loss
2.4 小器官分割网络 (Small-Organ Segmentation Network, SOS-Net)

通过SOL-Net获得了小器官的位置之后,需要聚焦到相应的小块区域,再用SOS-Net在这个小区域内对小器官进行精确分割。SOS-Net的设置如下:

  • 输入: SOL-Net的输出取概率值最大的位置作为各类小器官的位置,第一部分输入为采用ROI-Pooling在SOL-Net的输出中提取各类小器官位置周围的特征,第二部分输入为采用ROI-Pooling提取S-Net解码器 (decoder)最后一层多尺度特征以及S-Net编码器 (encoder)第一层特征各类小器官位置周围的特征,两部分输入相加起来作为输入
  • 输出: 各类小器官的分割图
  • 结构: 由2个Squeeze-and-Excitation Residual Blocks (SEResBlock)和一个1x1x1卷积层组成

3 实验结果

这里我只给出论文中的部分实验结果,具体的实验结果分析以及实验和参数的设置请看原文。

[1] https://arxiv.org/pdf/1907.12056

本文分享自微信公众号 - Python编程和深度学习(Python_Deeplearning),作者:czifan

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python读取CSV和Excel

    逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本...

    Minerva
  • 计算机二级Python考点解析11

    序列对应于数学中的数列,它是一串有序的元素向量,当我们想要锁定数列中的某一个数值时,通过下标索引便可以准确地找出我们所需要的那个值。序列类型相比于集合类型在实际...

    Minerva
  • 在服务器上运行Python项目

    Anaconda是一个开源Python发行版本,包括Python 和很多常用库如Numpy、Matplotlib等,对小白很方便

    Minerva
  • IIS发布WCF问题

    Server Error in '/' Application. ---- Configuration Error Description: An error ...

    数据分析
  • Tomcat的设置

    因为logging默认使用utf-8,而我们的windows的日志输出控制台使用系统的GB2312,所以去conf中修改logging的配置编码为GB2312即...

    晚上没宵夜
  • Tomcat不安全字符的处理

    做项目的时候碰到一个问题,就是Tomcat在处理含有|,{,}的字符的Url时候,发现请求没有到达指定的Controller上面,而在Access_log中写入...

    付威
  • Plan2Vec: 基于潜在计划的无监督表示学习(CS LG)

    在本文中,我们介绍了 Plan2Vec,一种无监督表示学习方法,它的灵感来自于强化学习。Plan2Vec 使用近邻距离在图像数据集上构建一个加权图,然后通过提炼...

    刘持诚
  • Asp.Net MVC3.0项目部署到Win7 64过程总结

       之前一直是通过Visual Studio直接F5来运行自己编写的项目或者小程序,很少通过部署发布到IIS上面,于是自己便在自己的笔记本上进行测试,结果还真...

    aehyok
  • nodejs使用aes-128-ecb加密如何在c#中解密

    却发现C#端怎么也解密不了,一直报错,改了一整天,后来终于发现,nodejs端加密用的key其实在使用之前已经使用md5加密了一次,而这个操作是默认的,暂时没发...

    frontoldman
  • IDEA配置Tomcat服务器并创建Java Web项目

    AlicFeng

扫码关注云+社区

领取腾讯云代金券