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

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

  • 联系方式:微信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. 2019HDU多校 Round6

    Solved:2 02 Nonsense Time (LIS) 题意:给定一个全排列 最开始为空的 每秒中一个位置上的数出现 求每秒的LIS 题解:题解说 考虑时光倒流 倒着消掉 因为数据随机 所以期 ...

  2. codeforces B. Pasha and String

    Pasha got a very beautiful string s for his birthday, the string consists of lowercase Latin letters ...

  3. Codeforces Global Round 12 D. Rating Compression (思维,双指针)

    题意:给你一长度为\(n\)的数组,有一长度为\(k\ (1\le k \le n)\)的区间不断从左往右扫过这个数组,总共扫\(n\)次,每次扫的区间长度\(k=i\),在扫的过程中,每次取当前区间 ...

  4. hdu4778 Gems Fight!

    Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 327680/327680 K (Java/Others) Total Submis ...

  5. hdu1011 Starship Troopers

    Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submissio ...

  6. Java对象延迟初始化的实现

    一.什么是延迟初始化? 在Java多线程程序中,有时候需要采用延迟初始化来降低初始化类和创建对象的开销. 延迟初始化实际上就是:当我们要进行一些高开销的对象初始化操作时,只有在使用这些对象时才进行初始 ...

  7. OpenStack Train版-1.安装基础环境&服务

    1. 服务组件的密码 密码名称 描述 ADMIN_PASS admin用户密码 CINDER_DBPASS 块设备存储服务的数据库密码 CINDER_PASS 块设备存储服务的 cinder 密码 D ...

  8. kubernetes实战-配置中心(二)交付apollo配置中心到k8s

    apollo官网:官方地址 apollo架构图: apollo需要使用数据库,这里使用mysql,注意版本需要在5.6以上: 本次环境mysql部署在10.4.7.11上,使用mariadb:10.1 ...

  9. 二进制方式安装docker(非root用户启动docker)

    二进制方式安装docker(非root用户启动docker) 一.下载安装包: 地址:https://download.docker.com/linux/static/stable/x86_64/ 这 ...

  10. Excel添加超链接

    using Microsoft.Office.Interop.Excel; Worksheet sheet; public void AddLink(int row, int col, string ...