图像分割unet系列------TransUnet详解
- 1、TransUnet结构
- 2、我关心的问题
- 3、总结与展望
TransUnet发表于2021年,它是对UNet非常重要的改进,专为医学图像分割任务设计,特别用于在医学图像中分割器官或病变等解剖结构。
1、TransUnet结构
TransUNet在U-Net模型的基础上引入了混合编码器,将CNN和Transformer结合起来,以解决传统卷积神经网络在建模长距离依赖性和处理大尺寸图像方面的局限性。
当前,有太多的文章介绍TransUnet的网络结构,包括注意力头的详细介绍,本文将不再赘述。我从自己的理解出发,思考几个问题,供大家一起讨论。
2、我关心的问题
看到这个网络结构,我的第一反应就是为什么只在编码层的最后一层进行transformer的特征提取呢?这种网络结构的设计与只采用transformer结构有哪些可取之处呢?
2.1 编码层最后一层采用transformer的意义
以前的文章中我们讨论过,细颗粒度语义特征提取有利于对细节特征的分析,对于整体细节的分割更有意义,但是粗颗粒度语义特征的提取则增有利于定位。考虑到transformer结构的优点,即transformer的多头自注意力机制能够捕获图像中不同位置之间的依赖关系,建立特征表示中的全局上下文信息。我们大概就能明白作者这样设计的考量了,通过解码层的最后一层提高全局语义特征定位能力,加上前3层CNN结构对细节特征的提取,在解码层部分将会形成细节+精准定位的结合,从而得到更为准确的分割结果。
2.2 与纯transformer结构对比的优点
通过问题1的思考,我们就很容易得到问题2的答案。纯transformer结构在编码过程中过度的考虑了全局特征,对于细节特征缺少attention,而在CNN之后添加transformer结构则有效的解决了这个问题。
其实,我们还可以从另一个角度来思考这个问题。当前的显卡计算尤其是并行计算其实更有利于卷积结构,而对transformer结构的支持并不友好,不知道作者当时改进的时候有没有充分考虑这个因素。
3、总结与展望
TransUnet的网络结构能够更好地处理长距离依赖性,捕获图像中的粗颗粒度语义信息,并提高模型的表示能力和泛化性能。同时,解码器对编码特征进行上采样过程中实现了transformer与细颗粒度的CNN特征图结合起来,以丰富语义信息,实现更精确的定位。
transformer+CNN的形式在当前已经出现了各种改进方案,但是这种结合哪些方向才是真正可以在工程上落地的呢?在工程中,至少我优先考虑的是在合理利用硬件资源基础上进行最优化的算法设计。