今天将继续分享从网络结构上进行改进提出GAVNet模型来分割脑肿瘤。为了方便大家学习理解整个分割流程,我将整个流程步骤进行了整理,并给出每个步骤的结果,希望对大家有所帮助。
一、GridAttention模块介绍
在论文《Attention Guided Network for Retinal Image Segmentation》中,作者提到Unet跳跃连接模块不能有效地利用结构信息,可能会影响图像细分效果,因此将GridAttention模块替换Unet的跳跃连接模块来有效地保存结构信息。GridAttention模块结构如下所示。
作者公开的代码是pytorch版本,复现的tensorflow实现代码如下所示。
def gridattentionblock(theta_x, phi_g, in_channels, scope=None):with tf.name_scope(scope):kernal = (1, 1, 1, in_channels, in_channels)thetaW = weight_xavier_init(shape=kernal, n_inputs=kernal[0] * kernal[1] * kernal[2] * kernal[3],n_outputs=kernal[-1], activefunction='relu', variable_name=scope + 'thetaW')thetaB = bias_variable([kernal[-1]], variable_name=scope + 'thetaB')convtheta = conv3d(theta_x, thetaW) + thetaBphiW = weight_xav