目录
0. 引言
想尝试TransUnet,先稍微的了解了一下结构。
如果阅读到这篇文章,请略过,本文仅是个人的随笔。
但如果有想了解如何预处理数据并将它们传入网络,请读之后的文章,有详细的说明,也是为我之后做自己的其他任务而做的笔记。
1. 链接 Link
参考csdn:https://blog.csdn.net/weixin_46435936/article/details/121658305
2. 阅读 Read
2.1. 结构 Structure
由encoder和decoder组成U型结构。
Encoder部分加入了Transformer机制,最终得到了一个一维向量。
仅需要知道加入了这么一种叫Transformer的机制即可,不用深究其实现过程,可简单理解其为一个模块,经过模块的向量变为一维向量。
Decoder部分做了三次上采样,最终将此一维向量恢复成了原来的图像。
Encoder和Decoder部分还做了三次跳跃连接。
2.2. 编码 Encoder
2.2.1. 卷积 CNN
第一个过程被称做图像序列化:Image Sequentialization。
每次卷积过程包括三个步骤:卷积、GroupNorm和最大池化。
这样的过程有三次,每次下采样生成不同的特征图,将会与decoder过程中对应大小的特征进行跳跃连接。
第二个过程被称做补丁嵌入:Patch Embedding。
通过卷积,flatten,position和dropout最终输出带有位置信息的一维向量。
2.2.2. 变换 Transformer
一维向量再被输入Transformer块中重复12次,输出与Patch Embedding部分输出的向量大小相同的一维向量。
2.3. 解码 Decoder
将一维向量重新恢复成原来的特张图的形式(512, H/16, W/16)。
再通过转置卷积和上采样恢复特征,在三个阶段与encoder进行跳跃连接。
跳跃连接部分的上采样过程,最后得到的结果是(16, H, W)维度尺寸的特征图。
最终再进行一次预测的head与label一致,为(num_classes, H, W)进行损失计算。
3. 优势 Advantage
混合编码。
Transformer注重全局信息,但会忽略低分辨率下的图像细节。对解码器部分恢复图片的过程影响较大,会导致分割结果很粗糙。
CNN的平移不变性和捕捉长期依赖能力不足。
4. 想法 Think
是否能并行两个网络,在同一个特征尺寸上既关注局部信息(纯CNN),又关注全局信息(纯Transformer),在上采样恢复特征的时候仅保留纯CNN的结构进行跳跃连接,或继续并行网络,直到最后的预测出图时再合并参数?
后续复现出代码后将进一步的实验。
标签:采样,00,一维,卷积,Transformer,略读,CNN,TransUnet,向量 From: https://www.cnblogs.com/If-I-Were-A-Bird/p/17754964.html