U-net 系列算法知识解读

一、开篇:深度学习与 U-net 引入

这一页先是点出了 "深度学习" 这个大领域,然后引出了本次的核心 ------U-net 系列算法。页面里还放了一些带有数字(像 1024、512、64)和 "CONV"(卷积,一种深度学习里常用的操作,能提取图片特征)的图表,这些是在暗示 U-net 算法会用到卷积操作,而且会处理不同大小的特征数据,为后面讲 U-net 的结构做铺垫。

二、U-net 基础介绍

(一)整体结构

  1. 核心过程:U-net 的整体结构核心就是 "编码 - 解码"。你可以把这个过程想象成先 "拆" 后 "装"。编码阶段就像把一张完整的图片拆开,一步步提取图片里的关键特征,比如图片里物体的边缘、纹理这些;解码阶段就是把提取到的这些特征再重新组合起来,还原出和原图对应的分割结果,比如在医学影像里,标出哪里是肿瘤、哪里是正常组织。
  2. 特点:结构简单但特别实用,应用范围很广。
  3. 应用起源与现状:最开始是为了解决医学影像分割问题而生的,直到现在,在医学领域的应用依然很广泛,比如给 CT 影像、病理切片做分割。

(二)主要网络结构

  1. 关键操作 ------ 特征拼接:以前有些算法在处理特征的时候,是把不同阶段的特征 "加" 起来,而 U-net 不一样,它是把编码阶段提取到的特征和解码阶段对应的特征 "拼" 起来。就好比做手工,之前是把两种材料混合在一起,现在是把两种材料并排粘在一起,这样能更全面地利用不同阶段的特征信息,让分割结果更准确。
  2. 效果:别看它结构不算复杂,用这样的方式就能把分割任务完成得很好。

三、U-net++ 介绍

(一)整体网络结构

  1. 核心改进 ------ 特征融合更全面:U-net++ 在 U-net 的基础上,把特征融合做得更彻底了。它的思路和 "DenseNet"(另一种深度学习网络)很像,简单说就是 "能拼能凑的特征全用上"。比如在不同的解码阶段,不仅会拼接和 U-net 一样的对应编码阶段特征,还会把解码过程中中间生成的一些特征也加进来一起拼接,这样能让网络获取到更丰富的特征信息,就像做菜时,不仅放主要食材,还把各种辅助调料都加进去,让菜的味道更浓郁。
  2. 定位:因为做了这些改进,U-net++ 可以看作是 U-net 的升级版。

(二)Deep Supervision(深度监督)

  1. 操作方式:这是 U-net++ 的一个重要特点,简单说就是 "多输出"。普通的网络可能只在最后输出一个结果,然后根据这个结果来调整网络参数。而 U-net++ 在网络的多个不同位置都会输出结果,比如在解码过程的中间阶段就输出几个临时的分割结果。
  2. 损失计算与参数更新:计算损失(可以理解为网络输出结果和真实答案之间的差距)的时候,会根据这多个位置输出的结果分别计算,然后综合这些损失来调整网络的参数。这样做能让网络在训练过程中更早地发现问题、及时调整,就像学生做题,不仅最后看总成绩,每做完一部分都批改一下,及时纠正错误。
  3. 应用范围:现在很多视觉相关的任务,比如图像分类、目标检测,都可以用这种 "多输出、多损失计算" 的方法来提升效果。

(三)剪枝优势

  1. 剪枝含义:剪枝可以理解为给网络 "减肥",去掉网络中一些作用不大的部分,让网络变得更轻巧,运行速度更快。
  2. U-net++ 剪枝容易的原因:因为 U-net++ 有 Deep Supervision,前面的一些中间层在训练的时候也单独进行了监督训练,这些层本身就有比较好的性能。所以在剪枝的时候,就可以根据对速度的要求,很方便地去掉一些不太重要的层,而且剪枝后网络的效果还不会太差。比如在一些对实时性要求高的场景,像手术中的影像分割,就可以通过剪枝让 U-net++ 快速运行,同时保证分割的准确性。
  3. 训练特点:在训练的时候,依然会用到网络较深层(比如文档里提到的 L4)的特征,这样能保证网络整体的学习效果不错。

四、U-net+++ 介绍(了解级别)

  1. 特征整合方式
    • 低阶特征整合:通过不同的 max pooling(最大池化,一种能提取图片中关键信息、缩小特征图大小的操作)来整合低阶特征,比如 X1 和 X2 这些特征,它们主要对应图片里的轮廓等比较基础的信息。
    • 高阶特征整合:通过上采样(一种把小特征图放大的操作)来整合高阶特征,这些特征的感受野(可以理解为网络能 "看到" 的图片范围)比较大,能捕捉到图片的全局信息,比如物体之间的整体关系。
  2. 特征图统一处理:对网络各层提取到的特征,都用卷积操作处理成含有 64 个特征图的形式,这样方便后续的组合。
  3. 最终特征组合:因为各层都处理成了 64 个特征图,所以 5 层这样的特征组合起来,就得到了 5×64=320 个特征图,通过这些特征图来得到最终的分割结果,这样能尽可能全面地利用所有提取到的特征信息。
相关推荐
吞掉星星的鲸鱼5 小时前
VScode安装codex
ide·vscode·编辑器
claider5 小时前
Vim User Manual 阅读笔记 User_03.txt move around
笔记·编辑器·vim
啊湘6 小时前
VSCODE英文界面切换为中文(适用CURSOR等使用)
ide·vscode·编辑器·bug·cursor
wincheshe10 小时前
React Native inspector 点击组件跳转编辑器技术详解
react native·react.js·编辑器
微醺的老虎1 天前
【工具】vscode格式化json文件
ide·vscode·编辑器
乔宕一1 天前
vscode 设置每次调试 powershell 脚本都使用临时的 powershell 终端
ide·vscode·编辑器
山峰哥1 天前
数据库工程与SQL调优实战:从原理到案例的深度解析
java·数据库·sql·oracle·性能优化·编辑器
m0_466607701 天前
IAR Embedded Workbench (EWARM) 项目中的关键文件
编辑器
阴暗扭曲实习生1 天前
135编辑器字符效果:上标数字与特殊字体实现步骤
编辑器
猫头虎2 天前
Claude Code 永动机:ralph-loop 无限循环迭代插件详解(安装 / 原理 / 最佳实践 / 避坑)
ide·人工智能·langchain·开源·编辑器·aigc·编程技术