深度学习基础——U-Net图像分割

        图像分割,就是根据图像的某种相似性特征(如亮度、颜色、纹理、面积、形状、位置、局部统计特征或频谱特征等)将医学图像划分为若干个互不相交的“连通”区域。
        相关特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同,也就是说在区域边界上的像素存在某种不连续性。

U-Net网络介绍

        U-Net是由Olaf Ronneberger等人提出的改进全卷积网络,常用于图像分割任务。U-Net得名于它的网络结构图,类似一个英文字母“U”.
        U-Net网络主要有编码器和解码器两个部分,左半边是一个从上到下编码器,从原始图像抽取特征;右半边是一个从下到上解码器,从图像特征还原目标信息。

下采样和上采样

下采样(编码)

第一部分网络与普通卷积网络相同,特征图通过2个3x3卷积(padding为0,stride为1)和1个最大池化模块完成一次下采样,共压缩了4次,获取多尺度特征图。下采样的目的是获取图像中的上下文信息。

上采样(解码)

第二部分与前面基本对称,特征图通过2个3x3卷积和1个转置卷积模块完成一次上采样,共4个上采样模块。上采样的目的是恢复图像分辨率。
 

 

Skip-Connection

在网络传播的过程中,随着网络越来越深,相应特征图的感受野会越来越大,但是保留的细节信息会越来越少,为了进一步弥补编码阶段下采样丢失的信息,U-Net算法利用skip-connection进行拼接层来融合两个过程中对应位置上的特征图,使得解码器在进行上采样时能够保留更多高层特征图蕴含的高分辨率细节信息,进而提高分割精度。

 

底层特征与高层特征

数据预处理

        例如,医学图像数据的获取和标注成本很高,难以找到充足的数据来完成任务。为了防止深度学习模型出现严重的过拟合现象,当数据量不足时,通常会做数据增强,扩大数据集样本量,提升数据样本空间的复杂度。

        可以通过移动窗口的方式将一张图像切分成多个子图以及弹性形变达到数据增强的目的。除此之外还可以使用普通的仿射变换(即翻转,旋转,裁剪)和改变亮度来实现。

        由于U-Net网络的输入是大于输出的,因此,在输入图像前,还需要对原图进行放大。如下图,左图中间白色线框为训练集中的原图,外面一圈是通过对边缘部分进行翻转,旋转变换得到的。实际预测的区域为黄色的区域,实际输入的区域为蓝色的区域。

交叉嫡损失函数

        图像分割中最常用的损失函数是逐像素交叉嫡损失。该损失函数分别检查每个像素,将类预测(深度方向的像素向量)与目标向量进行比较。
        交叉嫡损失函数单独评估每个像素矢量的类预测,然后对所有像素求平均值,可以认为图像中的像素被平等的学习了。但是,医学图像中常出现类别不均衡的问题,由此导致训练会被像素较多的类主导,对于较小的物体很难学习到其特征,从而降低网络的准确性。
 

左图为选定像素的预测结果,右图为对应像素的目标.
逐像素损失计算为对数损失,对所有可能的类求和。此评分在所有像素上重复计算并取平均值。
 

 Dice损失函数

        在图像分割的过程中,网络的损失函数一般使用Dice系数作为损失函数。Dice系数源于二分类问题,是一种相似度度量函数,通常用于计算两个样本的相似度,取值范围在[0,1].
        Dice系数的计算公式如下。其中,A表示真实值,B表示预测值。|A∩B|是A和B之间的交集,|A|和|B|分别表示A和B的元素的个数。通常用“1-Dice”作为可以最小化的损失函数,这种损失函数被称为soft dice loss。

 

TP:被正确分类的正例
FP:错分为正例的负例
FN:错分为负例的正例

目前分割主要存在问题

使用深度学习进行图像分割,采用了分类的思路,对每个像素点进行分类,判断像素点是属于目标前景还是背景

传统卷积神经网络做分类的步骤是:
·单个图像经过多层卷积得到降维之后的特征图

·特征图经过全连接层变成—个分类器

·输出一个类别的向量,这就是分类的结果

对于基于神经网络的图像分割问题来说,图像中的每一个像素都会输出一个分类结果,传统神经网络中分类的向量,就变成了一个分类的特征图,通道数等于类别数量。
分割网络中的池化操作在减少feature的空间分辨率的同时增加了模型感受野,这也是模型应对小型平移具有鲁棒性的根本原因。但是连续的下采样得到的feature map就会丢失一些low-level中关键信息(例如边沿,边界等)。这就让识别和准确定位产生了矛盾。如果网络不采取任何池化操作,这在目标边界定位上效果较好,但是识别性能差。
为了解决这个问题,U-net采用多个skip-connection将底层的feature和高层的feature concat,U-Net结构如下图。


每个蓝色框对应一个多通道特征图。通道数显示在框的顶部。x-y尺寸位于框的左下边缘。白框代表复制的特征图。箭头表示不同的操作。

卷积层数量在20个左右,包含4次上采样与4次下采样。

·U-Net建立在FCN的网络架构上,作者在网络框架上改进,使其能够使用很少的训练图像就得到很精确的分割结果。
·添加连续upsample阶段,并且channel维度增大,在decoder部分concat进入更多的原图像纹理的信息。
·U-Net没有FC层(全连接层),卷积层的数量大约在20个左右,4次下采样,4次上采样。

U-Net相关超参数

 以下为本实验的主要超参数设置,可根据实际训练情况对参数进行微调以达到较好的训练效果。

  • 'Ir':学习率
  • 'epochs:所有的数据送入网络中,完成了一次前向计算+反向传播的过程
  • 'distribute_epochs':分布式训练
  • 'batchsize':在深度学习中一般采用随机梯度下降法训练,即每次在训练集中取batchsize个样本训练
  • 'cross_valid_ind":交叉验证
  • 'num_classes':最后一个全连接层所分出的类个数.
  • 'num_channels':通道数量
  • 'keep_checkpoint_max': 改变keep_checkpoint_max的值就可以改变保存到本地的checkpoint的数量
  • 'weight_decay:权重衰减
  • 'loss_scale':损失标度,降低发生下溢的几率
  • 'resume':预训练模型
  • 'resume_ckpt':预训练的ckpt文件路径,可在此基础上对预模型进行微调训练来优化结果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/406623.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

yolov8-seg dnn调用

接上篇一直更换torch、opencv版本都无法解决这个问题(seg调用dnn报错)。那问题会不会出在yolov8源码本身呢。yolov8的讨论区基本都看过了,我决定尝试在其前身yolov5的讨论区上找找我不信没人遇到这个问题。很快找到下面的讨论第一个帖子&…

八、线性代数二 ,矩阵的秩

目录 1、矩阵子式的定义与子式个数的计算: 2、矩阵秩的定义: 3、矩阵秩的计算方法: 4、矩阵秩的 性质: 线性代数四——几个重要的矩阵点积_线性代数 矩阵点积-CSDN博客 1、矩阵子式的定义与子式个数的计算: 概念&…

RocketMQ高性能核心原理与源码架构剖析

RocketMQ高性能核心原理与源码架构剖析 读、写队列 采用读写分离的方式,RocketMQ在创建Topic的时候会单独设置读队列和写队列,写队列负责写入以及同步数据到读队列,读队列会记录消费者的offset,负责消息拉取,通过Mes…

7-liunx服务器规范

目录 概况liunx日志liunx系统日志syslog函数openlog 可以改变syslog默认输出方式 ,进一步结构化 用户信息进程间的关系会话ps命令查看进程关系 系统资源限制改变工作目录和根目录服务器程序后台话 概况 liunx服务器上有很多细节需要注意 ,这些细节很重要…

openGauss学习笔记-228 openGauss性能调优-系统调优-LLVM使用建议

文章目录 openGauss学习笔记-228 openGauss性能调优-系统调优-LLVM使用建议 openGauss学习笔记-228 openGauss性能调优-系统调优-LLVM使用建议 目前LLVM在数据库内核侧已默认打开,用户可结合上述的分析进行配置,总体建议如下: 设置合理的wor…

谷歌seo推广有什么方式?

首先是网站优化,这是所有SEO工作的基础,这不仅仅意味着关键词的优化,还包括提升网站的加载速度、确保良好的移动设备适配性、以及加强网站的安全性,一个技术性能优异的网站,能够为用户提供更佳的体验,从而受…

【IDEA】安装Jrebel实现热部署

前言 devtool虽然也可以实现热部署 但是新增完方法和修改完参数后 热部署不生效 需要重启 而Jrebel却不用 功能也比devtool强大 但是收费 这里教大家怎么使用 插件下载 激活Jrebel

通俗易懂地理解稀疏性

今天我想与大家探讨的是一个数学和工程学中的重要概念——稀疏性。这个概念可能听起来很抽象,但它实际上贯穿于我们生活中的许多方面。那么,稀疏性到底是什么呢?简单来说,在数学和信号处理领域,一个信号被称为稀疏&…

2024年最值得尝试的创业项目,利用信息差,普通人下班也能做

大家好,我是电商花花。 到了2024年,人们依然在寻找长期可靠的副业项目,但我建议暂时停一下,因为抖音小店这个轻松暴利的副业项目还在等着我们呢。 抖音小店无货源创业项目作为一个轻资产创业项目,操作简单&#xff0…

基于springboot+vue的信息化在线教学平台(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

018—pandas 生成笛卡尔积排列组合合并多列字符串数据

思路: 本需求需要将给定的几列数据,生成一个排列组合形式的数据列,利用到 Pandas 多层索引生成的笛卡尔积的方法。 二、使用步骤 1.引入库 代码如下(示例): import pandas as pd2.读入数据 代码如下&…

每日一学—由面试题“Redis 是否为单线程”引发的思考

文章目录 📋 前言🌰 举个例子🎯 什么是 Redis(知识点补充)🎯 Redis 中的多线程🎯 I/O 多线程🎯 Redis 中的多进程📝 结论🎯书籍推荐🔥参与方式 &a…

【Ubuntu】解决Ubuntu 22.04开机显示器颜色(高对比度/反色)异常的问题

使用Ubuntu 22.04时强制关机了一下(make -j16把电脑搞崩了),开机后系统显示的颜色异常,类似高对比度或反色,如下图。看着很难受,字体也没办法辨认。还好之前遇到过类似的问题,应该是一个配置文件…

政府采购网有哪些回款方式

政府采购网的回款方式多种多样,具体取决于采购项目的性质、规模以及采购单位与供应商之间的约定。以下是一些常见的政府采购网回款方式: 线上支付:随着电子商务的发展,越来越多的政府采购项目采用线上支付方式。这种方式方便快捷&…

TLS握手证书链的校验

看一遍忘一遍,还是自己写一遍,看看这次能记多久。 在TLS握手过程中,通过证书校验认证服务端的身份和交换加密秘钥,握手完成之后后续就可以进行加密数据传输。 在浏览器地址栏上点击锁的图标,能打开查看证书的详细信息…

猫毛过敏却想养猫时?如何缓解猫毛过敏?宠物空气净化器推荐

作为一个新养猫的主人,一开始并没有发现对猫咪过敏。直到养了半年才意识到这个问题,而此时我已经和猫咪有了深厚的感情。我不想放弃我的猫咪,但是留着它的话,我经常会因为流眼泪、打喷嚏、眼睛发红等过敏症状而影响日常生活&#…

位运算03 不用加号的加法[C++]

图源:文心一言 上机题目练习整理,位运算,供小伙伴们参考~🥝🥝 网页版目录在页面的右上角↗~🥝🥝 第1版:在力扣新手村刷题的记录~🧩🧩 编辑:梅…

go 1.18 不同目录package引用问题

go 1.18开始使用module了 不同的package在vs code中引用的话 需要先开启 是Go1.11版本之后 推出的版本管理工具 有点类似java的 maven工具 可以引入依赖使用 go env -w GO111MODULEon 先把这个打开 然后在创建的vs code工作目录下 执行 module gomdoule module 模块名 会生…

(六)激光线扫描-三维重建

本篇文章是《激光线扫描-三维重建》系列的最后一篇。 1. 基础理论 1.1 光平面 在之前光平面标定的文章中,已经提到过了,是指 激光发射器投射出一条线,形成的一个扇形区域平面就是光平面。 三维空间中平面的公式是: A X + B Y + C Z + D = 0 A X+B Y+C Z+D=0

解决RabbitMQ管理页面异常/不正确的问题

正确的页面:有Channels、Exchanges等 异常/不正确的页面: 问题原因 我的RabbitMQ是用docker安装的,应该不会是安装的环境有问题。 而且MQ的服务确实是启动了,后端能正常使用,并且管理界面的登录页面也是能正常登录的&…