【图像分割】TransUNet学习笔记

论文名称:TransUNet: Transformers Make Strong Encoders for Medical Image Segmentation
论文地址:https://arxiv.org/pdf/2102.04306.pdf
代码地址:https://github.com/Beckschen/TransUNet


前言:

TransUNet将Transformer和U-Net结合了起来。由于卷积操作本身存在的局限性,U-Net不能很好地建模长距离依赖关系,而Transformer这种全局自注意力机制可以有效地获取全局信息,但其对于低层次细节信息获取不充分,导致其定位能力方面受到限制。所以作者将这两者结合起来,提出了TransUNet网络。同时为了能将高分辨率的特征图通过跳级连接与上采样后的特征图联合以获得充分的信息,作者没有像ViT那样将原图直接打成patch块输入到Transformer模块中,而是先通过CNN进行特征提取得到特征图,再将其变换后输入Transformer编码器模块,最后仿照U-Net解码器逐级上采样并进行跳级连接,最后得到分割结果。


总体结构:

TransUNet总体上还是一个U型的Encoder-Decoder结构。在编码器部分,将原图输入CNN进行特征提取,线性投影之后进行Patch Embedding将特征图序列化并加上位置编码,输入transformer编码器。在解码器部分,将编码器输出的序列进行reshape然后通过1x1卷积变换通道数之后进行级联上采样,中途通过编码器CNN的各级分辨率特征图进行跳级连接,最后得到分割结果,这部分与U-Net解码器类似。

在论文中作者说道刚开始是直接应用Transformer编码器对原图进行编码,然后将输出的特征图直接上采样到原分辨率,但效果并不是最好的。作者分析输入编码器的\frac{H}{P}\times \frac{H}{P}分辨率对于原图HxW的分辨率来说还是太小了,导致损失了一些低层次的细节信息,比如边界信息。因此作者应用了一个联合CNN-Transformer的结构作为编码器,并在解码器中加入可以获得精确位置信息的级联上采样操作。

作者选用CNN-Transformer这一混合结构设计的原因有两点:1)为了将中间高分辨率的CNN特征图加入到解码器路径中以获得更多的信息以及更精确的位置。2)作者发现使用CNN-Transformer编码器要比但纯的Transformer编码器效果要好。(个人不理解的地方:TransUNet和SETR基本都是受ViT启发,对比了 CNN-Transformer Hybrid 和pure Transformer,为什么TransUNet说混合模型更好而SETR说纯Transformer模型更好呢?)
 


编码器:

ViT+ResNet50

这里的ResNet50与原ResNet50有些不同,首先卷积采用的是StdConv2d而不是传统的Conv2d,然后是用GroupNorm层代替了原来的BatchNorm层,然后我在代码中看到BottleNeck层也变成了PreActivation版本,也就是将ReLU和Normalization层前置了。在原Resnet50网络中,stage1有3个重复堆叠的Block,stage2中是4个,stage3中是6个,stage4中是3个,但在这里的ResNet50中,把stage4中的3个Block移至stage3中,所以stage3中有9个重复堆叠的Block。还有原ResNet50输出的特征图分辨率是从224x224降低到了7x7,输出为原图的1/32,而TransUNet中输出特征图分辨率为14x14,只为原图的1/16,应该是在将stage4中的3个Block拿到stage3中的时候将stride=2改成了stride=1以去掉降采样操作。

维度变化:经过Stem,分辨率变为原图1/4,[224, 224, 3]-->[56, 56, 64]。经过Stage1,分辨率不变,[56, 56, 64]-->[56, 56, 256]。经过Stage2,变为原图1/8,[56, 56, 256]-->[28, 28, 512]。经过Stage3,变为原图1/16,[28, 28, 512]-->[14, 14, 1024]。然后通过一个1x1的卷积缩减维度后进行序列化输入Transformer,[14, 14, 1024]-->[14, 14, 768]-->[196, 768],这里的维度就是Transformer需要的序列的维度,也就是论文中由[H, W, 3]变为了[\frac{HW}{P^{2}}, P^{2}\cdot C]。N= \frac{HW}{P^{2}} = 196 即为序列的长度。

最后经过Patch Embedding和位置编码,经过Patch Embedding后,[196, 768] x [768, 768]-->[196, 768],也即[\frac{HW}{P^{2}}, P^{2}\cdot C] x [P^{2}\cdot C, D]-->[\frac{HW}{P^{2}}, D]。

这里的E\in R^{(P^{2}\cdot C)\times D}是一个线性投影,目的是将序列映射到[N, D]。

更多Transformer编码器的细节后续再记录。


解码器:

编码器输出的特征图为Z_{L}\in R^{\frac{HW}{P^{2}}\times D},将其进行Reshape,然后应用1x1卷积进行维度缩减。[196, 768]-->[14, 14, 768]-->[14, 14, 512],也即论文图中的[N, D]-->[\frac{H}{P}, \frac{H}{P},D]-->[\frac{H}{P}\frac{H}{P}, 512]。后续操作和U-Net几乎相同。

,  


整体结构和代码对应图,感谢原作者!


由于本人水平非常有限,如有错误,恳请指正,欢迎大家一起交流学习!


参考:

(基础)CNN网络结构_Chan_Zeng的博客-CSDN博客

Vision Transformer详解_霹雳吧啦Wz-CSDN博客_wz框架

TransUnet: 结构解析_ripple970227的博客-CSDN博客_unet结构详解

TransUNet_zjiafbaodaozmj的博客-CSDN博客_transunet

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是分镜?用UniStory管理分镜,制定拍摄计划和讨论故事板

分镜是什么 一部成功的电影、电视剧、广告、Vlog等视觉体验,都离不开分镜创作 分镜又叫做故事版,用于早期电影内容的策划和制作,在电影拍摄之前根据导演的要求,用图表的方式来说明影像的构成。一般120分钟的电影,需要2…

AI打LeetCode周赛进入前10%!秘诀:自然语言编程

张晓雅 投稿自 凹非寺量子位 | 公众号 QbitAI 还在自己吭哧吭哧打算法平台Leetcode的周赛?为什么不试试神奇的ChatGPT类AI呢! 用AI助手Claude参加第103场周赛,共四道题,均完成了AC,能达到参与者前10%的成绩。 事情的起…

怎么做好电商运营?40份电商运营表格模板,你离优秀的运营只差了一个表格

怎么做好电商运营?40份电商运营表格模板,你离优秀的运营只差了一个表格 618又来了!每年的这个时候,都是电商促销活动的高潮,各种优惠活动层出不穷,不管是对你是做电商运营的还是一个消费者,都很…

【跨境电商】EDM邮件营销完整指南(一):概念,区别与优势

关键词:EDM营销,邮件营销,跨境电商 2020年,全球每天发送和接收3064亿封电子邮件。世界上几乎每个人都有一个电子邮件地址,并且电子邮件营销继续拥有最高的投资回报率,这使得电子邮件营销策略对于企业营销工…

学习WooCommerce跨境电商社交媒体营销

WooCommerce 长期以来一直为电子商务店主提供多样化的服务。大约 500 万家商店啓用安装了免费的 WooCommerce 插件。 官方 WooCommerce 插件从 WordPress.org 下载了161,908,802次,并且还在增加。 超过5,106,506 个网站正在使用 WooCommerce。 本文网址: https…

跨境电商人才投放推特广告文案技巧

推特的用户群体广泛,非常适合跨境卖家作为广告投放的引流平台。那么对于跨境电商运营来说,投放推特广告有哪些文案技巧呢?下面海熹跨境人才网来给大家介绍一下,感兴趣的卖家一定不要错过哦。 首先,Twitter建议卖家采用“三R”法进…

文案把卖点被埋没?如此挖掘电商产品卖点,让你轻松获客

绝大部分电商卖家开店面临的最大问题就是不知道如何写文案,直接复制品牌的文案容易被告Q权,自己写的又不吸引人,复制竞争对手的更是无法脱颖而出。同时你也不知道这个文案到底好不好,在别人那里可行的文案,可能你就完全…

工作三年后的胡思乱想

大家好,我是若川。我持续组织了近一年的源码共读活动,感兴趣的可以 点此扫码加我微信 lxchuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试…

如何通过抖音引流推广自己的产品?如何利用抖音引流营销推广?

自抖音公布迄今,短视频形式抖音一路在再次爆红,到当初为止已有着超出5亿的用户人潮了,咱们都晓得抖音是今日头条发的APP,也归属于字节扑腾的部手机硬件之一。当抖音粉絲量往低落时,其营销推广运用价格也被延续的挖掘进…

抖音网红是如何推广产品的?

在做Socialbook产品之前,咱们家做了相当长一段时间的网红推广,在业务开展期间,接触到了很多客户,涵盖各行各业,比如电商、实体店、游戏、应用、甚至黑五类的也来咨询,怎样让网红推广自家的产品,…

抖音小店推广的收益在哪里看到?抖音小店怎么推广?

流量是网络链路中最有价值的东西。抖音用户需要流量,他需要流量来充分曝光自己的作品;抖音官方需要流量,他需要流量让他的推送机制更加完善;淘宝网 在抖音上有很多人做小店都不是卖的自己的商品,而是只去做推广,然后拿去相应的佣…

抖音推广大师软件

简介: 石青抖音推广大师软件,发送的抖音信息到网站统计系统系统中。海量的站长群体,在维护站点流量时候,可以直接看到软件发送的信息。有相当一部分人会直接点击观看,或进入抖音加关注。 软件特色: 1、本…

GPT-4 用 Laf 三分钟写了个完整的待办事项 App

书接前文,上篇文章我们教大家如何三分钟时间用 Laf 实现一个自己的 ChatGPT。 一觉醒来,GPT-4 已经发布了! GPT-4 实现了真正的多模态,可以把纸笔画的原型直接写出网页代码。读论文时还能理解插图含意。 好消息是,Chat…

(二)ChatGLM-6B模型部署以及ptuning微调详细教程

文章目录 介绍什么是ChatGLM-6BTorch安装ChatGLM-6B模型安装过程 Ptuning微调安装过程初始化环境训练准备自己的数据集 推理验证 问题和思考泛化学习simbert,不属于必学 介绍什么是ChatGLM-6B 下面是官方原话, 选择他的原因完全是因为可以消费级电脑上使用&#xff…

llama.cpp一种在本地CPU上部署的量化模型(超低配推理llama)

0x00 背景 前不久,Meta前脚发布完开源大语言模型LLaMA, 随后就被网友“泄漏”,直接放了一个磁力链接下载链接。 然而那些手头没有顶级显卡的朋友们,就只能看看而已了 但是 Georgi Gerganov 开源了一个项目llama.cpp ggergano…

ChatGPT全球最大开源平替:回复更受欢迎,但中文对话一塌糊涂

关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 计算机视觉研究院专栏 作者:Edison_G 在众多开源项目中脱颖而出,OpenAssistant 有两把刷子。 转自《机器之心》 事实证明&…

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

书接前文,上篇文章我们教大家如何三分钟时间用 Laf 实现一个自己的 ChatGPT。 一觉醒来,GPT-4 已经发布了! GPT-4 实现了真正的多模态,可以把纸笔画的原型直接写出网页代码。读论文时还能理解插图含意。 好消息是,Chat…

七夕情人节该送女朋友什么礼物,推荐五款让女朋友超惊喜的礼物

七夕情人节又快到了,在这有爱的日子里,相信又有一大群男同胞不知该送女朋友什么礼物,又担心送到女朋友不喜欢的,但又不想敷衍了事,没关系,那就跟着我一起来看看这五款适合送给女朋友的礼物。 一、西圣F1气…

七夕礼物送女生什么好?颜值在线又有心意的礼物推荐

七夕是我国的传统节日,就在8月4号,有女朋友的赶紧准备起来了,表达爱意的时刻就要到了。现在提前准备礼物才能“有备无患”。那么该准备哪些礼物呢?送什么礼物才会给到女朋友惊喜呢?小编为大家精选几款不错的礼物。 一…

情人节礼物推荐排行榜、这6款好物值得你考虑

一年一度的情人节又即将到来,相信有不少人在苦恼该送什么样的礼物给自己的另一半,一份好的礼物可以在节日给彼此留下一个美好的回忆,也可以让感情更加温,如果实在不知道送什么,在这里精选了比较实用的适合情人节的礼物…