图像分割实战-系列教程2:Unet系列算法(Unet、Unet++、Unet+++、网络架构、损失计算方法)-程序员宅基地

技术标签: 计算机视觉  图像分割实战  

图像分割实战-系列教程 总目录
语义分割与实例分割概述
Unet系列算法

1、Unet网络

1.1 概述

  • 整体结构:
  • 概述就是编码解码过程
  • 简单但是很实用,应用广
  • 起初是做医学方向,现在也是

虽然用的不是很多,在16年特别火,在医学领域、小目标领域做分割,其实到现在为止也还在用,因为在深度学习中网络越简单越好,这篇内容也会介绍Unet++版和Unet最新版

相比于yolo、maskrcnn、fastrcnn这些,Unet远比这些网络简单。网络越大的时候,感受野也越大,实际上就会更加适合一些大目标。

1.2 结构

如图的网络架构中,左边从上到下,仍然是一层一层卷积的过程,三层卷积一个block,这个过程也就是图像长宽减小、通道变多的过程。一直到最底下的一层,tensor维度从(572,572,1)变成了(28,28,1024),当然这个过程从代码中打印出来会比较清晰。

  • 第一个Block的输出会给到最后一个Block的输入和第二个Block的输入
  • 而第二个Block的输出会给到第三个Block的输入和倒数第二个Block的输入
  • 而同时最后一个Block会接受倒数第二个Block的输入和第一个Block的输入
  • 这种从上到下,从左到右的结构与以前的网络有所不同
  • 其中第一个Block和最后一个Block是一个对应的输入输出,对应的数据维度也是一样的,在当前这个网络中没有保持一样在后续新版本会保持一致

这整个过程相当于编码和解码的过程,整个网络呈现一个U字形,Unet在医学领域一直有不错的发挥

2、Unet各版本比较

2.1 Unet

在这里插入图片描述

  • 主要网络结构:
  • 还引入了特征拼接操作
  • 以前我们都是加法,现在全都要
  • 这么简单的结构就能把分割任务做好

2.2 U-net++概述

  • 整体网络结构:
  • 特征融合,拼接更全面
  • 其实跟densenet思想一致
  • 把能拼能凑的特征全用上就是升级版了
    在这里插入图片描述
    相比于Unet,++版本多做了一些融合的事情

2.3 U-net++损失计算方式

  • Deep Supervision :
  • 也是很常见的事,多输出
  • 损失由多个位置计算,再更新
  • 现在来看,很多视觉任务都可以套用这招

在这里插入图片描述
如图所示,第一层中 x 0 , 1 x^{0,1} x0,1 x 0 , 2 x^{0,2} x0,2 x 0 , 3 x^{0,3} x0,3 x 0 , 4 x^{0,4} x0,4等4个位置都参与了损失计算,由于很多位置都参与了损失计算可以再各个阶段都获取一个比较好的效果,使得最终的结果更好。

2.4 Unet++优点

  • 可以更容易剪枝:
  • 因为前面也单独有监督训练
  • 可以根据速度要求来快速完成剪枝
  • 训练的时候同样会用到L4,效果还不错
    在这里插入图片描述
    如图所示,原本是一个4层的网络,由于多个部分参与了损失计算,可以很方便的直接去掉最后一层看最后的结果,如果对速度要求发生变化,就可以尝试去掉第四层。

2.5 Unet+++

  • U-net+++(了解下就行)
  • 不同的max pool整合低阶特征
  • (X1和X2,轮廓之类的)
  • 上采样整合高阶特征
  • (感受野大的,全局的)
  • 各层统一用卷积得到64个特征图
  • 5*64=320,最终组合得到全部特征

在这里插入图片描述
这里看清楚了,是有3个+,其实这方面的论文有不少,4+和5+都有,实际上大同小异。

低阶特征(长宽大、特征图数少,如图 X E n 1 X^1_{En} XEn1 X E n 2 X^2_{En} XEn2)通过maxpooling降维,
高阶特征(长宽大、特征图数少,如图 X E n 4 X^4_{En} XEn4 X E n 5 X^5_{En} XEn5)通过线性插值增维,
统一变成nn64的维度,然后全部拼接在一起,这里就是nn645 = nn*320

图像分割实战-系列教程 总目录
语义分割与实例分割概述
Unet系列算法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_50592077/article/details/135304779

智能推荐

PD DRP双向快充协议芯片HUSB251用于无绳电动工具/户外储能/超级充电宝_drp协议芯片-程序员宅基地

文章浏览阅读484次。HUSB251支持PD 28V 5A双向充放电应用_drp协议芯片

计算机毕业设计 SSM在线药品购物商城系统(源码+论文)_大学生毕业答辩线上买药系统-程序员宅基地

文章浏览阅读711次。 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的java web缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的java web管理系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质java web毕业设计,今天要分享的是 基于SSM的在线药品超市购物系统学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:5分创新点:3分界面美化:5分。_大学生毕业答辩线上买药系统

ftp允许root登陆_ftp root登录-程序员宅基地

文章浏览阅读5.2k次。 1.编辑/etc/vsftpd/user_list和/etc/vsftpd/ftpusers两个设置文件脚本,将root账户前加上#号变为注释。(即让root账户从禁止登录的用户列表中排除) 2.重新开启vsftpd service vsftpd reload 允许root账户访问ftp,可以远程访问centos系统中的任一文件,对于远程维护centos系统或下载文件十分方便。..._ftp root登录

PAT甲级 1025. PAT Ranking (25)-程序员宅基地

文章浏览阅读130次。题目:Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang University. Each test is supposed to run simultaneously in several places, and the ra

vue中,解决chrome下,的warning, Added non-passive event listener to a scroll-blocking ‘mousewheel‘ event 问题_default-passive-events-程序员宅基地

文章浏览阅读1w次,点赞3次,收藏7次。一、警告信息如下:vue+element项目中,解决chrome下的passive警告问题element-ui.common.js?5c96:9972 [Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' event. Consider marking event handler as 'passive' to make the page more responsive. See https://ww_default-passive-events

【WinHex篇】WinHex跳过坏扇区制作磁盘镜像_用winhex做k盘-程序员宅基地

文章浏览阅读1.8k次。【WinHex篇】WinHex跳过坏扇区制作磁盘镜像在镜像制作的过程中,如遇到有坏分区、坏磁道导致镜像制作失败,可使用WinHex设置遇到坏扇区跳过,从而保证镜像的成功制作,但对于坏扇区较多的情况,镜像受损的区域是没有数据的,因为设置了坏扇区跳过,如需分析则需要更底层的硬件设备才能实现,此处只是为了方便取证分析而作的记录,仅供参考。—【suy】文章目录【WinHex篇】WinHex跳过坏扇区制作磁盘镜像1、创建磁盘镜像2、设置跳过坏扇区总结1、创建磁盘镜像同创建磁盘镜像的步骤路径:文件(F)-&g_用winhex做k盘

随便推点

Apache Ranger0.5编译-程序员宅基地

文章浏览阅读22次。1. 编译环境# CentOS7# java git gcc环境yum install git wget yum java-1.8.0-openjdk* gcc -y# maven环境wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin...

SpringMVC基础掌握--一图看懂三大处理器以及执行流程_springmvc处理器-程序员宅基地

文章浏览阅读1k次,点赞29次,收藏27次。Spring MVC所有的请求都经过Dispatcherservlet来统一分发。DispatcherServlet将请求分发给Controller之前,需要借助于Spring MVC提供的HandlerMapping定位到具体的Controller。HandlerMapping接口负责完成客户请求到Controller映射。Controllr接口将处理用户情求,这和Java Servlet扮演的角色是一致的。_springmvc处理器

ES6 模块暴露_es6暴露模块-程序员宅基地

文章浏览阅读31次。ES6 模块暴露。_es6暴露模块

Intellij IDEA远程debug教程_intell运行调试配置怎么设置-程序员宅基地

文章浏览阅读8.9k次,点赞3次,收藏14次。Intellij IDEA远程debug教程_intell运行调试配置怎么设置

Android:Error running ‘app‘:Timed out after 300secends waiting for emulator to come online解决(个人看法)_error running 'app': timed out after 300seconds wa-程序员宅基地

文章浏览阅读1.5k次,点赞7次,收藏4次。我自己的是能用这个方法解决的,你们的我不确定。我看别人的解决方案是让更新Android Emulator,但我确实不知道怎么更新它,我就随便弄了一下(就上面的),能运行了,想跟大家分享一下!之后就一直点击next,最后点击cancel。如果出来的运行结果格式不对,就删了重新安装。我每次出现安装结果都不一样,这次的是这个。_error running 'app': timed out after 300seconds waiting for emulator to come

Revit二次开发-【EG01】构件工程量提取_revit装饰工程量提取教程-程序员宅基地

文章浏览阅读1.3k次。本文主要介绍了通过Revi二次开发插件,实现构件工程量的获取(包括楼梯、内建模型等较难提取构件)_revit装饰工程量提取教程

推荐文章

热门文章

相关标签