一些传统的分割网络两个缺陷
-
这些模型采用了更深的编码器,并且编码器的堆叠了许多局部运算,引入了大量训练参数,影响了模型的效率。尤其是更多的下采样运算,而每次下采样运算都会导致模型的特征图加倍,并且,下采样运算导致了在编码期间生物医学图像损失了关键的空间信息。
-
通过将下采样运算替换为上采样的方式构建解码器,就像反卷积层up-pooling层一样,也是局部运算,但是,上采样的过程涉及恢复图像的空间信息,如果只是局部信息而不考虑全局信息就很难做到。
Non-local U-Nets解决以上问题的方案
为了解决以上问题,Non-local U-Nets提出了以下两个方案:
-
对于第一个问题,提出了基于自注意机制的的全局汇总块,不需要深度解码器就可以汇总全局信息。
-
将基于自注意机制的全局汇总块,更进一步的扩展为上采样全局汇聚块,就可以解决第二个问题。
Non U-Net框架结构解析
经典U-Net中,输入首先经过编码提取低维特征,两个下采样模块用来减少图片空间大小并用来提取高维特征,每次下采样后,图片的通道都会增加两倍,Bottom Block用来汇聚全局信息并生成编码器的输出,同样,解码器使用两个上采样块为分割后的输出恢复空间大小,上采样操作后,特征图会减半。
Non U-Net提出了一种基于求和的跳跃连接方式,而不是经典U-Net中的串联形式,这种连接方式有以下两个优点:
(1) 求和连接不会增加特征图,但是却减少了训练参数
(2) 跳跃连接相当于整个网络增加了一个长范围的残差设计,有利于模型的训练。
Non U-net残差结构设计的分析
论文作者基于U-Net模型的设计,提出了四种残差连接方式:
-
如图Fig2-a,两个连续卷积层之间的常规残差连接,整个体系中用作Fig1中的输入块
-
如果Fig2-b,下采样块(Down-Sampling Block)中,将一个1×1×1,步长为2的卷积块代替了原来的残差连接。
Fig2-a,Fig2-b
-
在Bottom block连接中,使用了全局汇聚块,如Fig2-c所示
-
上采样(Up-sampling)块中,使用了3×3×3,步长为2的反卷积块,而残差结构的另一分支连接采用了上采样全局汇聚块。
全局汇聚块的设计
尽管全连接网络能够实现具有全局属性,但是在实践中容易过拟合,效果并不满意,作者在论文中提到了应用基于自主意力机制的全局全局信息汇聚块可以汇聚全局图像特征。将其进一步推广用于处理上采样和下采样的过程。
设定代表全局汇聚块的输入,而
代表 全局汇聚块的输出,则基于自注意机制的全局汇聚块的设计分为以下几个步骤:
-
生成 Query(Q),Key(K)和Value(V)矩阵,如下公式所示,
-
自注意力机制在
上有如下定义:
以上公式可以解释为,Query每一个行向量与Key向量运算后,产生一个与Value向量对应的标量权重值,再通过Softmax运算后,生成的向量,最后在所有与之相对应的
重复运算,得到一个
的矩阵。
-
最后一步的计算如下图所示,生成一个
的四维矩阵
注意:以上计算中,表示向量维数的超参数,而输出
的维数由
决定,所以,可以认为通过适当的
函数,可以灵活的设置全局汇聚块的大小。
综上,整个全局汇聚块的设计中,作者提出了两种不同的函数,其中,如图fig2-c的bottom 全局汇聚中,利用是步长为
的1×1×1的卷积块,而fig2-d的上采样实现中,作者利用了3×3×3,步长为2的反卷积运算。
论文中提到的全局汇聚块的实现,如下图fig3所示
网友评论