论文笔记A Liver Segmentation Method Based on the Fusion of VNet and WGAN

article/2025/9/25 6:34:04

 一种基于VNet和WGAN融合的肝脏分割方法 

Computational and Mathematical Methods in Medicine   2021 

       虽然基于二维卷积神经网络的肝脏分割方法取得了不错的效果,但仍然存在层间信息的缺乏,在一定程度上造成分割精度的严重损失。同时,在2D分割网络中更有效地利用高级和低级特征是一个具有挑战性的问题。因此,设计并实现了一个2.5D卷积神经网络 VNet-WGAN,以提高肝脏分割的准确性。

       传统的肝脏分割方法,包括主动轮廓模型、聚类、水平集、图切割方法和区域生长方法,提取灰度、形状,医学图像的结构和纹理信息来手动分割肝脏。这些方法的效率仅限于大型数据库。但是,使用这些方法对数据进行预处理非常耗时。

       而深度学习在通用性和效率方面优于传统的肝脏分割方法。在深度学习网络中,FCN和UNet是医学图像分割方法中使用的典型分割模型。随后,从这两个网络衍生出许多网络,例如:添加了均值偏移聚类算法以减少肝脏的过度分割;为了进一步提高图像增强的准确性,提出了一种基于统计阈值的图像增强技术,该技术利用累积分布函数(CDF)排除非肝脏区域;为了提高训练和推理速度,有论文在最后一层将亚像素卷积与双线性插值相结合。

       很多模型在医学图像处理中可以得到相对准确的分割结果,但数据采集和标注的困难在很大程度上阻碍了足够大数据集的构建。为了克服这个问题,传统的图像增强技术(例如几何变换-可以生成新的数据)然而,它们在检测医学数据中的生物变化方面并不可靠。2014年,Goodfellow等人提出生成对抗网络(GAN)模型。它使用无监督训练方法通过对抗学习进行训练,目的是估计数据样本的潜在分布并生成新的数据样本。GAN 还可以实现不同模态图像之间的转换。由于GAN不需要提前知道理论分布,可以自动推断出真实的数据集,进一步扩展了数据的规模和多样性,为数据扩展提供了新的方法,缓解了智能诊断的数据需求问题

Contributions

1. 通过将切片及其上下相邻切片堆叠作为网络输入,将中心切片对应的分割图作为输出,使用两个串联的卷积核来充分提取层内和层间信息。在保持较高的分割精度的同时,空间特性可以降低内存占用率和计算量;

2. 为充分利用网络的高层和低层特征,在VNet网络的long-skip连接结构中加入链式残差池化模块CRP,获取更丰富的语义信息,有效提高肝脏分割的准确率;

3. 在基本的WGAN生成器网络中引入边界损失函数,以弥补Dice损失函数对边缘像素精度考虑的不足。利用边界和Dice加权融合的复合损失函数,分别从区域和边界增强模型的分割能力。

Methodology of This Article
1. GAN是由生成模型G和判别模型D组成的生成对抗网络,可以表示为G和D之间的极小极大博弈问题。G学习给定噪声的分布(如均匀分布和正态分布)和合成它们。D区分训练样本来自真实样本还是生成样本。 GAN使用对抗学习的概念来获得更好的生成结果。Adversary是指当判别模型D的判别能力越来越强时,生成模型G生成的图像会越来越真实,最终达到一个平衡。

2. Luc等人首次将GAN应用于图像分割。通常语义分割结果往往需要使用CRF和其他后处理技术进行改进,以获得更逼真的轮廓。因此,GAN 本身具有出色的生成能力,可用于改进结果。然而,GAN 也存在训练不稳定、梯度消失、模式崩溃等缺点。基于这些问题,已经衍生出许多流行的架构,包括条件 GAN(CGAN)、DCGAN(深度卷积GAN)和InfoGAN(信息最大化GAN)。一定程度上解决了GAN的弊端。但是,在解决训练过程中的稳定性问题方面仍然存在一些不足。WGAN的出现解决了 GAN 训练的不稳定问题,同时提供了一个可靠的指标,即 Wasserstein 距离用于训练。与JS(Jensen-Shannon)和KL(Kullback-Leibler)相比,Wasserstein距离可以自然地衡量离散分布和连续分布之间的距离,完全避免了GAN中常见的训练稳定和梯度消失的问题。

3. VNet网络结构包括一个编码器和一个解码器,继承了UNet的跳跃连接,以弥补特征提取过程中的信息丢失。此外,VNet使用ResNet的短路连接机制,将每个阶段的输入和输出相加,以学习残差函数;同时用Dice损失函数代替交叉熵损失函数,提高目标分割区域的灵敏度。虽然 VNet 网络为处理 3D 医学图像提供了参考,但医学图像数据大多较小,GPU 内存有限,这仍然会导致网络在训练过程中过度拟合和不稳定,尤其是对于3D数据。

Methods
       由于WGAN模型完全解决了GAN的训练不稳定性问题,因此,在训练过程中,不再需要仔细平衡生成器和判别器的训练水平。由于这一优良特性,采用WGAN作为模型的基本结构,并设计了改进的VNet作为肝脏分割的生成器。判别网络是一个简单的CNN网络,它判断输入图像是生成器生成的“假图像”(分割的结果)还是“真实图像”(注释图像)。


1.Generator:网络的输入是相关切片及其相邻的上下两个切片,中间切片作为输出结果。在训练过程中,使用大小为 1×3×3和3×1×1的卷积核来提取层内和层间信息。这种卷积方法类似于可分离深度卷积,无需3D CNN生成的大量计算即可提取医学数据的3D特征,并缩短了训练时间。在改进的卷积模块中,VNet的跳跃连接部分增加了两个链式残差池化模块CRP,具有池化和卷积操作,以更有效地利用高级和低级特征信息。链式池化操作可以显着增加感受野,因为可以从高分辨率特征图中提取边缘信息,并且可以通过低分辨率提取全局信息。因此,像素的分类精度进一步提高。


       同时,残差结构有利于梯度的反向传播。该模块包括两个池化卷积块、两个残差结构、一个激活函数、批量归一化和dropout层(解决某些特征只有在其他特征存在时才有用的场景,也可以增强神经网络的鲁棒性,有效缓解过拟合问题,并在一定程度上实现正则化)。网络使用1×5×5的卷积核,保证池化后的图像尺寸与输入图像尺寸一致;池化之后是卷积操作,然后,输出结果输入到下一个池化卷积模块;最后,将两个特征图合并。在网络训练过程中,网络模型越复杂,需要学习的特征越多,训练时间越长,容易导致过拟合问题。因此,本研究对现有的网络模型进行了微调:具体方法是添加批量归一化(BN)以在每次revolution后对具有不同分布的数据进行归一化。因此,每一层数据都可以转换成相同的分布,网络模型的最优结果更容易收敛,从而在很大程度上加快了网络模型的训练速度

2.Discriminator:判别器的输入是生成器的输出结果和原始图像的注释图像,它们首先融合,然后输入到CNN网络。最后,第二个分类器输出判别器的输出信号。判别器包括一组条件池化块、四组卷积块、两个全连接层和最后两个分类层。一组条件卷积池化块包含两个卷积层和一个最大池化层。每个卷积层由卷积核、归一化和激活函数组成。

3.Loss Function:本文方法的损失函数由生成器和判别器的损失函数组成。Dice loss更多地关注区域的相似性,而忽略了空间信息(例如远离标签区域的错误分割部分)因此,为了最小化分割边界和标签边界之间的距离,提出Dice loss和边界损失的合成函数:在这个合成函数中,边界损失通过边缘匹配度来控制网络损失的程度,合成函数仅评估边界上的像素,当边界上的像素与ground truth的边界完全一致时,边界损失值等于0,而当边界与真实结果不重合时,则通过其与边界的距离来评估。本研究的实验结果表明,合成损失函数是Dice损失和边界损失的加权融合。其中,一个控制区域,一个控制边界,可以实现更好的分割性能。在实践中,Dice损失分数在训练开始时非常高。随着训练的进行,边界损失的比例增加,这说明边界的准确性在训练的后期得到了更多的关注,并且正在处理增强的边界细节信息。


http://chatgpt.dhexx.cn/article/GM331VnP.shtml

相关文章

经典论文解析——Unet和Vnet——图像分割

Unet & Vnet 1.Unet1.1 网络简介1.2 网络结构1.3 网络训练技巧 2.Vnet2.1 网络简介2.2 网络结构 前言说点题外话,最近在实习了,所以总结整理的时间不多,之前的系列也会继续做,只是更新速度会放慢一些。我尽量还是本着以质为主…

TAP/TUN Vnet veth

TAP 设备与 VETH 设备 TUN/TAP 设备是一种让用户态程序向内核协议栈注入数据的设备,一个工作在三层,一个工作在二层,使用较多的是 TAP 设备。VETH 设备出现较早,它的作用是反转通讯数据的方向,需要发送的数据会被转换成…

[深度学习论文笔记]3D AGSE-VNet: An Automatic Brain Tumor MRI Data Segmentation Framework

[深度学习论文笔记]3D AGSE-VNet: An Automatic Brain Tumor MRI Data Segmentation Framework 3D-AGSE-VNet:一种自动脑肿瘤MRI数据分割框架 Published: Jul 2021 Abstract by BMC Medical Imaging 论文:https://arxiv.org/abs/2107.12046 摘要&#x…

动手学习深度学习keras版——从零开始实现Vnet 2D版

从零开始实现Vnet 2D版 1. 数据处理1.1 数据集介绍1.2 数据提取和转换1.3 Keras的数据生成器(generator)构造 2. Vnet 2D版网络实现2.1 Loss函数设计2.2 网络结构实现 3. 开始训练啦4. 网络预测(inference)5. 结果展示6. 踩坑经验总结 工作需要,暂时换成keras来写网…

安卓 VNET 抓取 wskey 教程

图文示例机型:一加8 就设置可能长得不一样,功能均一致,请根据个人系统设置进行证书安装操作 wskey 相对于 cookie 的有效期更长,可以通过 wskey 转换智能化管理后台,省心 下载安装 VNET 抓包 APP 文件文件大小&#xf…

azure mysql on vnet_管理 VNet 终结点 - Azure 门户 - Azure Database for MySQL | Microsoft Docs

您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 使用 Azure 门户创建和管理 Azure Database for MySQL VNet 服务终结点和 VNet 规则Create and manage Azure …

【Microsoft Azure 的1024种玩法】六十三.通过全局 VNet 对等互连实现同一区域不同网段的虚拟网络实时打通

【简介】 虚拟网络对等互连是两个虚拟网络之间的网络连接, 虚拟网络对等互连可以通过 Azure 主干网络连接同一区域或不同区域的虚拟网络进行打通实现实时通信,本篇文章主要介绍了如何通过全局 VNet 对等互连的方式将同一区域不同网段的虚拟网络中虚拟机…

【Azure】微软 Azure 基础解析(七)Azure 网络服务中的虚拟网络 VNet、网关、负载均衡器 Load Balancer

本系列博文还在更新中,收录在专栏:「Azure探秘:构建云计算世界」 专栏中。 本系列文章列表如下: 【Azure】微软 Azure 基础解析(三)描述云计算运营中的 CapEx 与 OpEx,如何区分 CapEx 与 OpEx…

好用的Android抓包神器 VNET

很多网友要我发前几个青龙面板抓变量用到软件,马上安排。 黑科技VNET 最-好用的Android抓包神器 VNET是Android平台下功能最强大的网络抓包工具,支持HTTP&HTTPS,TCP&UDP,IPv6&IPv4,多终端显示&#xff0…

爬虫从入门到精通(19) |安卓手机端抓包软件VNET介绍

提前声明:该专栏涉及的所有案例均为学习使用,如有侵权,请联系本人删帖! 文章目录 一、前言二、介绍1.功能2.安装3.root和非root 一、前言 对于一些抓取较为严的软件,有时候我们不好抓到包,这个时候我们也可…

VNET原理与实现(1)

神经网络什么的早就不是新概念了,不过学了这么久,还一直在二维图像上打转,所以今天开始入手三维图像分割,先从可爱的VNET开始吧,从胖嘟嘟的外形看,这应该是个软柿子,那就试着捏一捏吧&#xff0…

UNet 、3D-UNet 、VNet 区别

UNet 、3D-UNet 、VNet 区别 医学图像的几个常用模型,简单总结一下。 三个model的代码在我的Github上,可以参考一下:https://github.com/VickyLLY/unet_and_vnet 文章目录 UNet 、3D-UNet 、VNet 区别一、UNet二、3D-UNet三、VNet 一、UNet…

程序员如何写一份更好的简历!!

概述 面试前要准备的第一件事就是写简历,从零开始写简历是一件痛苦的事,因为它既重要又耗时。现在就有求职者在电脑前急躁不安地搜索简历模版和参考例句,却不知道如何下笔。写得太短的话觉得没诚意,写得太长的话又无从下手。关键的是大多数求职者没有做面试官的经验,也没…

Java程序员简历模板

从「目标职位」的角度讲讲,如何做一份简历才能提高你拿到 Offer 的几率。 文章目录 简历重点一、HR如何刷简历二、简历排版顺序三、专业技能四、项目经验2013/06 -- 至今 伟业网上电商系统2012/03 -- 2012/08 人事管理系统 总结 简历重点 大家觉得简历就是自我赞歌…

程序员简历项目经验怎么写?

我是一个典型的互联网公司程序员,也见过无数的程序员简历,包括很多优秀的程序员简历,看了可以让人眼前一亮,优美简洁的简历模板,项目经验工作重点突出;也见过更多的写得不好的简历。程序员怎么写简历?程序员简历项目经…

程序员简历上写这种项目,难怪面试当炮灰。。。

目录: 高级工程师必备:系统设计能力如何让你的项目更有技术含量 上篇文章 《我只是把握好了这3点,1个月后成功拿下大厂offer!》我们聊了聊Java工程师在跳槽前的1个月,如何利用较短的时间从技术广度、技术深度、基础功…

程序员如何写简历|附10个模版

卷友们好,我是rumor。 今天卷到简历这个事情上来了。千万不要误会,我没有在写自己的简历。 而是我经常会收到一些简历,有些是发到了邮箱里求内推,有些是卷友让我帮忙看一下,直到最近的某一天,我打开了一份…

【无标题】程序员个人简历模板

程序员个人简历模板1 姓 名: 国 籍: 中国 目前住地: 广州 民 族: 汉族 户 籍 地: 茂名 身高体重: 168 cm kg 婚姻状况: 未婚 年 龄: 28 岁 求职意向及工作经历 人才类型&#x…

Java程序员面试简历模板(30套简历模板+300套简历)

需要免费领取简历模板和简历套装欢迎加群862461829 【群里还含有:Java80g学习视频Java学习书籍Java项目实战源码安装软件等】 各类资源都有哦~ 简历是你吸引面试官的第一步,如何让你的平平无奇的简历包装的更好,而又足以让面试官相信你足够…

浅析海量数据处理问题

生活中我们经常会遇到一些海量数据处理的问题,那么怎样的问题就算是海量数据了呢?来看以下这几个问题: 给定一个大小超过 100G 的文件, 其中存在 IP 地址, 找到其中出现次数最多的 IP 地址 。给定100亿个整数, 找到其中只出现一次的整数(位图…