• 文章转自微信公众号:「机器学习炼丹术」

  • 作者:炼丹兄(已授权)

  • 联系方式:微信cyx645016617(欢迎交流共同进步)

  • 论文名称:“Dual Network Generative Adversarial Networks for Pediatric Echocardiography Segmentation”

0 准备工作

0.1 生词

  • Pediatric 儿童的
  • Pediatric echocardiography 小儿超声心动图
  • CHD : congenital heart disease 先天心脏病

0.2

1 综述

为了获得高质量的分割结果,目前临床上小儿超声心动图的分割主要由超声工作者手工完成,这既费时费力,又高度依赖于超声工作者的专业水平。为了解决这些问题,本文提出了一种新的卷积神经网络(CNN)结构,称为双网络一般对抗网络(DNGAN)。DNGAN由一个产生器和两个鉴别器组成,产生器采用并行对偶网络来提取更多有用的特征以提高性能。我们使用双重鉴别器来强制生成器学习更多的空间特征,并更准确地分割左心的边缘。

2 问题提出



图中是儿童的心脏的左心室和左心房的分割标注label,可以发现:左心房的变化比较明显,并且内壁会存在模糊,因此目前的对于四腔的分割存在一下挑战:

(1)因为噪音和模糊出现的边界不清晰;

(2)心脏的尺寸对于不同人是不同的;

(3)每一个心动周期心房和心室的变化是不同的。

3 模型结构

这个DNGAN的结构如上所示:包含一个生成器和两个鉴别器。

3.1 generator

由一个U-net和FCN并行构成,分别从输入图片中提取两种特征,然后特征进行像素相乘.

FCN输出的特征图为\(f_1\),U-net输出的特征图为\(f_2\),那么由generator输出的图像分割结果为\(F_G = f_1 \times f_2\).

3.2 discriminator

是一个六层的全卷积网络,然后分别用7,5,3作为卷积核的大小。卷积层后面跟着BN层和LeakReLU激活层。

使用的是multi-scale L1损失,类似于2014年的图像分割网络Richer conv net。

4 损失

4.1 generator损失

先回顾一下一般的GAN的损失函数:



在公式中:

  • x是real image
  • z是random import for generator
  • G(z)是生成的mask
  • D(x) 是判别起判断x是true的概率

再来看一下DNGAN的损失函数:

  • N为样本的数量;

  • \(x_n\)为某一张儿童超声心动图四腔图,\(y_n\)为对应的ground truth;

  • \(l_m\)是mean absolute error,也就是我们说的L1loss;



    这个可以看到,\(f_D(x)\)是discrimintor提取的特征,L表示discrimintor的层数,所以\(f_D^i(x)\)表示discrimintor第i层提取出来的特征图

  • \(l_{cos}\)就是常说的cross entropy;

  • \(l_{D_2}\)是第二个discriminitor的损失函数,也比较复杂我们来看一下,这个损失函数分辨的是:输入的是生成的mask还是真实的mask

5 数据描述

  • 数据集包含87个儿童超声心动图;
  • 搜集的是0到10岁的健康的儿童,每个视频至少包含24帧和一个完成的心动周期;
  • 随机选择67个视频,抽取了1765个图片作为训练集;剩下20个视频抽取451个视频作为测试集;
  • 原始图片的分辨率是1016x708或者636x432,所有的图片经过中心crop后变成704x704和448x448;

6 总结

1, 这篇文章的结果和过程存在疑点,文章中出现一处公式的疑似符号错误。

2, 文章中的并没有给出第二个discrimintor的loss使用MSE和BCE的平均值的原因,不确定是否之前就有文章已经讨论过这个样做的优势。从结果来看,使用GAN的框架来训练造成的提升并不高,反而提升分割精度的重点应该是分割网络的特征融合和宽度增加。

3, 文章使用GAN应用在儿童超声心脏病上的出发点很好,希望可以帮助更多的儿童摆脱先天性心脏病的困扰。

医学图像 | DualGAN与儿科超声心动图分割 | MICCAI的更多相关文章

  1. 医学图像分割-在3DSlicer中使用英伟达的AI辅助工具NvidiaAIAssistedAnnotation自动切割医学图像教程

    前期准备 下载3DSlicer并安装: 3DSlicer官网(http://www.slicer.org)或者直接下载(https://download.slicer.org),需要注意目前该插件只支 ...

  2. 深度学习(七)U-Net原理以及keras代码实现医学图像眼球血管分割

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9780786.html DRIVE数据集下载百度云链接:链接:https://pan.baidu ...

  3. 华为云的研究成果又双叒叕被MICCAI收录了!

    摘要:2020年国际医学图像计算和计算机辅助干预会议(MICCAI 2020),论文接收结果已经公布:华为云医疗AI团队和华中科技大学合作的2篇研究成果入选. 语义/实例分割问题是近年来医学图像计算领 ...

  4. 【Semantic segmentation Overview】一文概览主要语义分割网络(转)

    文章来源:https://www.tinymind.cn/articles/410 本文来自 CSDN 网站,译者蓝三金 图像的语义分割是将输入图像中的每个像素分配一个语义类别,以得到像素化的密集分类 ...

  5. 语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet,语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类;目标检测只有两类,目标和非目标,就是在一张图片中找到并用box标注出所有的目标.

    from:https://blog.csdn.net/u012931582/article/details/70314859 2017年04月21日 14:54:10 阅读数:4369 前言 在这里, ...

  6. lung 分割论文

    <4D Lung Tumor Segmentation via Shape Prior and Motion Cues > Abstract— Lung tumor segmentatio ...

  7. 基于FCN的图像语义分割

    语义图像分割的目标在于标记图片中每一个像素,并将每一个像素与其表示的类别对应起来.因为会预测图像中的每一个像素,所以一般将这样的任务称为密集预测.(相对地,实例分割模型是另一种不同的模型,该模型可以区 ...

  8. 2018年BRATS 肿瘤分割挑战赛第三名分割方案One-pass Multi-task Networks with Cross-task Guided Attention for Brain Tumor Segmentation

    首先说一下我对这个方案的看法,相比第一名与第二名的方案,这个方案的分割方法确实复杂的多,原论文是发表在MICCAI,后来砖投到IEEE image processing(SCI 1区),总体感觉给人一 ...

  9. 医学AI论文解读 |Circulation|2018| 超声心动图的全自动检测在临床上的应用

    文章来自微信公众号:机器学习炼丹术.号主炼丹兄WX:cyx645016617.文章有问题或者想交流的话欢迎- 参考目录: @ 目录 0 论文 1 概述 2 pipeline 3 技术细节 3.1 预处 ...

随机推荐

  1. HttpServletResponse的学习

    关于Response对象的一些方法和属性可以查看官方文档:https://javaee.github.io/javaee-spec/javadocs/ 比如里面定义了许多常量: 这些都是服务器向浏览器 ...

  2. priority_queue()大根堆和小根堆(二叉堆)

    #include<iostream> #include <queue> using namespace std; int main() { //对于基础类型 默认是大顶堆 pr ...

  3. tesseract-ocr的安装及使用pycharm来运行

    1.可以在:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe 下载一个exe文件,然后直接按照提 ...

  4. python的threading的使用(join方法,多线程,锁threading.Lock和threading.Condition

    一.开启多线程方法一 import threading,time def write1(): for i in range(1,5): print('1') time.sleep(1) def wri ...

  5. Dapr 已在塔架就位 将发射新一代微服务

    微服务是云原生架构的核心,通常使用Kubernetes 来按需管理服务扩展. 微软一直走在 Cloud Native Computing Foundation的 最前沿,并通过使用Kubernetes ...

  6. leetcode一些细节

    取数组中点时不要写 int mid = (left + right) // 2;,「这么写有一个问题:数值越界,例如left和right都是最大int,这么操作就越界了,在二分法中尤其需要注意!」 所 ...

  7. HDU4565-数学推导求递推公式+矩阵快速幂

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4565 我们带着这个根号是没法计算的 我们仔细观察一下,(a+sqrt(b))^n用二项式定理展开,我 ...

  8. Docker项目demo

     Docker数据持久化 4.1 Volume (1)创建mysql数据库的container (2)查看volume (3)具体查看该volume docker volume inspect 485 ...

  9. Linux下为Chromium安装Flash插件

    方案1: http://askubuntu.com/questions/158388/how-do-i-make-chromium-use-flash-from-google-chrome/21647 ...

  10. HTML教程(看完这篇就够了)

    HTML教程 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言.您可以使用 HTML 来建立自己的 WEB 站点,HTML 运 ...