UNet介绍及其相关思考

这篇具有很好参考价值的文章主要介绍了UNet介绍及其相关思考。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

众所周知,在语义分割领域,最经典的网络框架之一就是UNet,简洁的结构,出众的性能,使其不仅在当时取得了骄人的成绩,更对后来的语义分割领域产生了极其深远的影响(尤其是医学图像)。我们先来简单地看看UNet的基本情况。

1.UNet网络简介

UNet介绍及其相关思考
这张图就是网上最常见的那张图,也是原文中的网络结构图。

  1. 主体部分:显示输入一张572*572的图片,然后通过两个步长为13*3卷积(没有padding),得到了568*568分辨率的特征图,然后再通过2*2的最大池化下采样,以此类推,总共经过了4次的下采样。采样之后通过两个3*3的卷积,然后再上采样,上采样的方式采用的是转置卷积(或成为反卷积,其实我觉得反卷积这样的表达容易让人误解,毕竟反卷积并不是严格意义上的反向卷积操作)。经过相同次数的上采样。然后再通过两次卷积,一个1*1的卷积操作调节通道数,输出。
  2. 短连接部分(灰色箭头部分):同一个stage的第二次卷积操作输出,然后经过裁剪,再与右侧特征图concat起来。等待卷积核的采样。

2.UNet的优点及其思考

  1. 数据增强(数据扩张等称呼皆可),医学图像的一大特点是数据量匮乏,而面对深度学习这样的任务,显然训练样本是不够的,这个时候就需要数据增强,作者不仅仅采用了常见的平移旋转变换来实现这样的需求,更是采用了随机弹性变形进一步扩充了训练的数据。随机弹性形变如下图所示:
    UNet介绍及其相关思考
    随机弹性形变并不是在所有的任务中都适用的,这种弹性形变可以很好地模拟生物细胞的动态变化。所以大大扩充了训练数据。

  2. 数据数理方法,本文中并没有将整个医学影像全部放入神经网络中进行处理,而是一部分一部分地进行处理,这样大大增加了网络处理的效率,也减轻了网络训练和推理的负担。而输入图片的padding操作也是相当讲究,直接采用的镜面翻转的方式,这样做的好处,是既没有引入“信号噪声”,又保证了网络对训练图片尺寸的需求。其他论文中的实现方式,要么使用整张图片的平均像素进行填充,要么使用某个数值进行填充,仔细想想,都不如这种方式好。 如下图所示:
    UNet介绍及其相关思考

  3. 网络结构方面,并没有在特征图上进行padding操作,而是在输入图像上进行了padding,保证了信息的“纯净度”。还有个值得探讨的问题,下采样的时候为什么是2*2的最大池化,而没有采用步长2*2的卷积,个人以为,卷积的步长就代表了采样的精度,因为语义分割任务是像素级的任务,所以在采样的同时,需要保留尽可能多的空间结构,而2*2的最大池化也不会对图像的空间结构做尽可能多的保留。上采样的方法中,常见的有转置卷积和双线性差值,为什么作者采用了前者,个人以为,这样做在上采样的过程中也会学到参数,网络才会取得更好的效果,本身网络的参数量横向比较已经算是非常非常少了。

  4. 损失函数的优化(改进),对于医学影像来说,即使采用了数据增强,训练数据相对来说还是比较吃紧的,于是作者就采用了加权损失来让网络更加倾向于学习边缘区域的像素,因为对该任务来说,细胞的边缘是非常重要的。所以作者对不同位置采用了不同的权重,公式如下:
    UNet介绍及其相关思考

这个公式其实并不好理解,其中的第一项是平衡类频率的权重,因为背景在全图中的占比较小,所以为了平衡,就这个权重就比较大,文章中没有给具体数值,大概可以这样计算,比方说每张图片总共有100个像素,前景有71个像素,背景有29个像素,那么前景区域的像素权重就可以按照29计算,背景区域按照71计算(大概是这样的原理)。

第二项中用采用了距离之和的方法,d1和d2是理解公式的关键,也非常微妙。
UNet介绍及其相关思考

我直接在论文原图中进行了标注,x1和x2分别是前景和背景的两个点。对于x1而言,d1就是粉色箭头,d2就是蓝色箭头,对于x2而言,d1就是黄色箭头,d2就是绿色箭头。这样就可以看到,x2的两个距离之和明显要小于x1,所以在损失函数中的占比较大(仅个人想法,不同意见的可以评论区留言)。

毕竟作者本人没有看过论文源码,所以在一些深入的细节方面还是有所疏漏,有更好的想法大家可以一起讨论。谢谢。

------------------------------------------------------------------------------------------END-------------------------------------------------------------文章来源地址https://www.toymoban.com/news/detail-448685.html

到了这里,关于UNet介绍及其相关思考的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL的索引——索引的介绍及其数据结构B+树 & 索引的类型 & 索引的使用及其失效场景 & 相关名词解释

    索引是存储引擎用于快速查找数据纪录的一种数据结构,索引是数据库中经常提及的一个词,究竟什么是索引,索引的数据结构是什么,索引有什么类型? 本篇博客尝试阐述数据库索引的相关内容,涉及什么是索引,索引的数据结构;对比了聚集索引和非聚集索引,分析了索

    2024年02月20日
    浏览(33)
  • UNet深度学习模型在医学图像分割中的应用及其Python实现细节

    第一部分:引言和UNet架构简介 引言 : 医学图像分割是医疗图像处理的重要领域,它涉及将图像划分为多个区域,以标识和隔离感兴趣的区域(如器官、肿瘤等)。近年来,随着深度学习技术的发展,多种神经网络模型被应用于这一领域。其中,UNet模型因其出色的表现而受

    2024年02月12日
    浏览(29)
  • 医学图像分割方向优质的论文及其代码【Medical Image Segmentation】UNet、transformer、计算机视觉

      作者:Yifei Chen, Chenyan Zhang, Yifan Ke, Yiyu Huang, Xuezhou Dai, Feiwei Qin   中文摘要: 由于收集过程具有挑战性、标记成本高、信噪比低以及生物医学图像特征复杂,传统的监督学习方法在医学图像分割方面历来遇到一定的限制。 本文提出了一种半监督模型DFCPS,创新性地融合了

    2024年04月13日
    浏览(32)
  • BitVM及其优化思考

    比特币是一种去中心化、安全且值得信赖的数字资产。但是,它存在重大限制,无法成为支付和其他应用的可扩展网络。比特币的扩容问题自诞生以来就一直备受关注。比特币UTXO模型将每笔交易视为一个独立事件,导致一个无状态的系统,缺乏执行复杂的、依赖状态的计算能

    2024年04月11日
    浏览(23)
  • 基础安全产品相关系统设计的一些思考

    目录 背景 风控业务架构 组件层 业务层 决策层 能力层 计算层 可视层 基础安全组件 落地难点 接入场景多 接入终端多 接入组件多 待解决问题 架构特性 安全性 稳定性 易用性 具体案例 问题分析 攻击场景 攻击还原 攻击步骤防御可行性分析 系统设计 系统架构 组件层 透传层

    2023年04月17日
    浏览(40)
  • 风控相关安全产品系统设计的一些思考

    目录 背景 风控业务架构 组件层 业务层 决策层 能力层 计算层 可视层 基础安全组件 落地难点 接入场景多 接入终端多 接入组件多 待解决问题 架构特性 安全性 稳定性 易用性 具体案例 问题分析 攻击场景 攻击还原 攻击步骤防御可行性分析 系统设计 系统架构 组件层 透传层

    2023年04月17日
    浏览(85)
  • Unity由“鼠标点不准物体”引发的Camera的相关思考

            前段一个同事在使用Unity开发时遇到一个奇怪的问题,使用左键点击发射射线的方式选择物体,总是选不准,尤其是小的物体,鼠标点击到物体上,有时能选上,有时选不上,偶尔点击到物体旁边反而能选上,于是他让我帮看看咋回事。我第一个想法是也许代码写

    2024年02月03日
    浏览(30)
  • 游戏思考26:游戏服务器压力测试文档(新增linux相关命令,02/10未完待续)

    ①流量 ②内存 ③一些主要的功能才做压力测试,比如 同时注册 , 最大在线 , 战斗 , 地图移动 , 数据存取 等。 ④2个压力宏观数据保持不变: a. 各接口的压力比例不变 , 首先从同类型游戏或者本游戏内测阶段,日志插桩,收集各个接口的调用比例;然后,将接口比例

    2024年02月01日
    浏览(43)
  • 如何寻找论文及其相关代码?

    官方网址:https://paperswithcode.com 这是 Reddit 的一个用户 rstoj 做的一个网站,将 ArXiv 上的最新机器学习论文与 Github 上的代码(TensorFlow/PyTorch/MXNet/等)对应起来。 有关联代码,非常的nice!而且界面也很好,推荐指数:⭐⭐⭐⭐⭐ Browse state-of-the-art 官方网址:https://paperswithco

    2024年02月05日
    浏览(36)
  • Unity Timeline及其相关插件

    Timeline给不同类型的对象建立不同的轨道,在每个轨道的时间线上我们可以组织动画播放、音频播放,游戏对象的显隐等操作,也可以自定义轨道完成一些个性化操作 使用Timeline需要Playable Director组件,它控制Timeline的播放,暂停,循环等功能,Timeline可以看作是剧本,Playabl

    2024年02月08日
    浏览(90)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包