U-Net网络

article/2025/8/24 5:25:53

U-Net普遍应用在生物医学影像领域,其在架构设计和其他利用卷积神经网络基于像素的图像分割方面更成功,它甚至对有限数据集的图像更有效。U-Net的命名源自它的结构,它的网络结构可视化的结果很像一个字母U。

U-NET网络性能机制

U-Net 融合了 编码 - 解码结构和跳跃网络 的特点,在模型结构上更加巧妙,主要体现在以下两点:
1 U-Net 模型是一个 编码 - 解码的结构 ,压缩通道是一个编码器,用于逐层提取影像的特征,扩展通道是一个解码器,用于还原影像的位置信息,且 U-Net 模型的每一个隐藏层都有较多的特征维数,这有利于模型学习更加多样、全面的特征。
2 U-Net 模型的“ U 形”结构让裁剪和拼接过程更加直观、合理,高层特征图与底层特征图的拼接以及卷积的反复、连续操作,使得模型能够从上下文信息和细节信息由组合得到更加精确的输出特征图。实验证明, U-Net 模型在 训练样本少 的情况下也能得到更加准确的分类结果。

 Unet构建思路可以分为三个部分:第一部分是主干特征提取部分,我们可以利用主干部分获得一个又一个的特征层,用一堆又一堆的卷积神经网络进行特征提取,Unet的主干特征提取部分为卷积和最大池化的堆叠。利用主干特征提取部分我们可以获得五个初步有效特征层,在第二步中,我们会利用这五个有效特征层可以进行特征融合。

第二部分是加强特征提取部分,我们可以利用主干部分获取到的五个初步有效特征层进行上采样,对获取到的特征进行反卷积及一层又一层又一层的图像重新放大,并且进行特征融合,获得一个最终的、融合了所有特征的有效特征层。再加入不同的跳跃连接。

第三部分是预测部分,我们会利用最终获得的最后一个有效特征层对每一个特征点进行分类,相当于对每一个像素点进行分类。

最特殊的部分是结构的后半部分也就是编码部分,该网络结构没有全连接层,只采用了卷积层,每个标准的卷积层后面都紧跟着一个Relu激活函数。

图像去噪过程

如图为本次项目的去噪过程。 该去噪过程首先提取红色、绿色和蓝色从原始CFA图像中提取成分,形成3通道分割CFA图像。然后将提取的绿色分量进一步分离为两个通道,形成四通道分割CFA图像。随后,该算法仅提取非0的像素值来压缩4通道分割CFA图像。压缩的四通道图像作为生成器在GAN中的输入。生成器的输出是插值的3通道全彩色图像。然后将G的输出图像和真实样本图像输入鉴别器进行鉴别。

网络结构

生成器

 卷积操作也就是下采样操作:对面积进行收缩,对通道数进行扩张。(通俗讲像素是越来越小,模糊了),经过一个最大化池化层,像素缩小,通道数增加。但是本次项目中并没有用到池化层,反而去除了池化层,这样可以避免特征图中有用信息的丢失,并提高了训练过程的稳定性。通俗的讲就是每经过一个池化层图像的大小就会发生变化,只要图像的长宽发生了变化,像素就会发生变化,图像就会或多或少的损失一些信息。因此这样做可以避免图像有用信息的损失。

 

上图所示,为卷积过程中的补零操作,可以看到补零操作之后,输入特征图和输出特征图大小没有发生变化。

 反卷积操作也就是上采样操作:对卷积操作后的图像进行恢复,对它进行上采样操作。此时通道数目是缩小的,从512缩小到32。但是这时候我们还要进行一种操作,我们要把之前的一些高像素特征给他复制过来,因为前一阶段的像素特征肯定要比现在的像素要高,我们把高像素特征保留过来,就可以更方便的复原一些具体的细节和边缘。这个操作就相当于是如图的一个跳跃连接,将对应的卷积层连接到反卷积层上。假如此时图像大小不一样的话,卷积层64×64,反卷积层56×56;则是从64×64里面挖出一部分56×56的大小,然后跟现在这个56×56拼接起来,然后正好两个的通道数也是一样的,跟高像素的拼接起来。再对他进行进行一个反卷积,通道数目会缩小一半。大体就是利用跳跃链接,从对应的层上面挖出一部分跟现在拼接起来,因为要保留一部分高像素。

可以通俗的理解:特征信息的压缩就是编码,特征信息的提取就是解码,比如图像,文本,视频的压缩与解压。

鉴别器

鉴别器应用了深度残差稠密网络,输入生成样本和真实样本,经过5个RDB模块且使用不同程度的跳跃连接。经过卷积层和sigmoid函数进行判别真假。

 每个RDB之后的跳远连接有助于将此RDB的输出传输到最终卷积层。在每个RDB中,有几个单元,每个单元由ReLU激活函数、卷积层和BN操作组成。在这些单元上有不同距离的密集连接。使用sigmoid激活函数将最终卷积层的输出映射为0或1。

总结

上面的生成器使用了U-Net网络结构,但是不是很直观。可以在纸上将通道数和卷积层卷积核大小以及每个层都画一下,画成U型结构。这样看就更明白啦。

另外此次项目中,去除池化层和增加跳跃连接是一个很好的选择。池化层会丢失图像信息和降低图像分辨率且是不可逆的操作,对图像分割任务有一些影响,

并且上采样操作对于信息补充的肯定不全,所以还需要与左边的分辨像素率比较高的图片相连接起来(直接复制过来再裁剪到与上采样图片一样大小),因为随着卷积次数增多,提取的特征也更加有效,更加抽象,上采样的图片是经历多次卷积后的图片,肯定是比较高效和抽象的图片,然后把它与左边不怎么抽象但更高分辨率的特征图片进行连接,这样得到的图像结果也就越准确。


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

相关文章

【Unet系列】Unet Unet++

文章目录 U-net概述细节部分1、结构的解析2、一些小点 result Unet概述细节部分resultsummary U-net U-Net是一篇基本结构非常好的论文,主要是针对生物医学图片的分割,而且,在今后的许多对医学图像的分割网络中,很大一部分会采取…

图像分割UNet系列------UNet详解

图像分割unet系列------UNet详解 1、UNet网络结构2、UNet网络结构高性能的原因分析3、医学图像使用UNet网络结构 UNet最早发表在2015的MICCAI上,到2020年中旬的引用量已经超过了9700多次,估计现在都过万了,从这方面看足以见得其影响力。当然&…

UNet、UNet++、UNet3+系列

一、unet 简介 继承FCN的思想,继续进行改进。但是相对于FCN,有几个改变的地方,U-Net是完全对称的,且对解码器(应该自Hinton提出编码器、解码器的概念来,即将图像->高语义feature map的过程看成编码器&…

unet网络详解

Unet 参考文献:U-Net: Convolutional Networks for Biomedical Image Segmentation作者:Olaf Ronneberger, Philipp Fischer, and Thomas Brox 什么是Unet模型 Unet是一个优秀的语义分割模型,其主要执行过程与其它语义分割模型类似。与CNN…

Unet相关介绍

老师的bloghttps://zhuanlan.zhihu.com/p/370931792。写的比我这个好,233 Unet是在Fcn基础上提出的一种应用于医学影响的分割网络。医学影像的特点是1、数据集小。2、单张图片大。 由于以上医疗影像的特点,我们无法直接用Fcn进行分割学习。一个德国团队…

UNET详解和UNET++介绍(零基础)

一背景介绍 背景介绍: 自2015年以来,在生物医学图像分割领域,U-Net得到了广泛的应用,目前已达到四千多次引用。至今,U-Net已经有了很多变体。目前已有许多新的卷积神经网络设计方式,但很多仍延续了U-Net的核…

UNet - unet网络

目录 1. u-net介绍 2. u-net网络结构 3. u-net 网络搭建 3.1 DoubleConv 3.2 Down 下采样 3.3 Up 上采样 3.4 网络输出 3.5 UNet 网络 UNet 网络 forward 前向传播 3.6 网络的参数 4. 完整代码 1. u-net介绍 Unet网络是医学图像分割领域常用的分割网络&#xff0…

UNet 浅析

文章目录 1. UNet 简介2. UNet 详解3. 代码实例 - 医学图像分割 (ISBI数据集)【参考】 1. UNet 简介 UNet 属于 FCN 的一种变体,它可以说是最常用、最简单的一种分割模型,它简单、高效、易懂、容易构建,且可以从小数据集中训练。2015 年&…

unet 网络结构

unet 是15年提出的用于解决医学图像分割问题。unet有两部分组成。左边部分可以看出是特征提取网络,用于提取图像的抽象特征。右边可以看作是特征融合操作。与传统的FCN相比,unet使用是使用特征拼接实现特征的融合。unet 通过特征融合操作,实现了浅层的低分辨率(越底层的信息…

unet模型及代码解析

什么是unet 一个U型网络结构,2015年在图像分割领域大放异彩,unet被大量应用在分割领域。它是在FCN的基础上构建,它的U型结构解决了FCN无法上下文的信息和位置信息的弊端 Unet网络结构 主干结构解析 左边为特征提取网络(编码器&…

深度学习论文精读[6]:UNet++

UNet的编解码结构一经提出以来,大有统一深度学习图像分割之势,后续基于UNet的改进方案也经久不衰,一些研究者也在从网络结构本身来思考UNet的有效性。比如说编解码网络应该取几层,跳跃连接是否能够有更多的变化以及什么样的结构训…

【Unet系列】(三)Unet++网络

一、UNet整体网络结构 Unet主要是探索encoder和decoder需要多大的问题,以此为基础,提出了融合不同尺寸Unet结构的网络。创新点就是把不同尺寸的Uent结构融入到了一个网络里。 二、结构的好处 (1)不管哪个深度的特征有效&#…

深度学习零基础学习之路——第四章 UNet-Family中Unet、Unet++和Unet3+的简介

Python深度学习入门 第一章 Python深度学习入门之环境软件配置 第二章 Python深度学习入门之数据处理Dataset的使用 第三章 数据可视化TensorBoard和TochVision的使用 第四章 UNet-Family中Unet、Unet和Unet3的简介 第五章 个人数据集的制作 Unet-Family的学习 Python深度学习…

憨批的语义分割重制版6——Pytorch 搭建自己的Unet语义分割平台

憨批的语义分割重制版6——Pytorch 搭建自己的Unet语义分割平台 注意事项学习前言什么是Unet模型代码下载Unet实现思路一、预测部分1、主干网络介绍2、加强特征提取结构3、利用特征获得预测结果 二、训练部分1、训练文件详解2、LOSS解析 训练自己的Unet模型一、数据集的准备二、…

UNet详解(附图文和代码实现)

卷积神经网络被大规模的应用在分类任务中,输出的结果是整个图像的类标签。但是UNet是像素级分类,输出的则是每个像素点的类别,且不同类别的像素会显示不同颜色,UNet常常用在生物医学图像上,而该任务中图片数据往往较少…

条纹进度条

最开始学习qml的时候,想实现一个条纹进度条,当时还不熟悉动画,做不出来,只做了个静止的。qml学习和使用了快1年之际,把这个遗憾弥补下。 先上效果图,颜色取自Bootflat。 以下是源码,先上Stripe…

数据批量插入与逐条插入分析

简述 今天抽空做了一下使用Jdbc对数据操作的实际性能。在平时开发过程中我们经常会使用Hibernate来操作数据库,所以我们很少会去使用批量插入数据。一般都是通过hibernate的insert、addSave等方法来一条条地插入数据。所以很少去考虑这个问题。下面是针对Jdbc进行的…

css滚动条

此部分针对webkit内核的浏览器,使用伪类来改变滚动条的默认样式,详情如下: 滚动条组成部分 1. ::-webkit-scrollbar 滚动条整体部分2. ::-webkit-scrollbar-thumb 滚动条里面的小方块,能向上向下移动(或向左向右移动…

计算机组成原理(五)-一条指令是怎么被执行的

什么是指令: 程序代码的本质就是一条一条的指令,我们需要通过编码的方式让CPU知道我们需要它干什么,最后由译码器翻译成一条条的机器指令。机器指令主要有两部分组成:操作码、地址码。地址码直接给出操作数和操作数的地址&#x…

CSS 斜条纹进度条动画

这是第一版进度条 ,用css写的.但是后续因为数据不同,要显示不同的颜色和数据,所以又改了一版,直接用的el-progress.自定义的样式.对于新手小白来说比较友好.先上这一版代码. <div class"state"><span>开机时间</span><!-- 进度条 --><div…