UNet改进(24):注意力机制-从基础原理到高级融合策略
基础篇:UNet中的基础注意力机制
1. 时序注意力(Temporal Attention)
时序注意力专为视频分割和时间序列数据设计,通过计算帧间或时间步间的相关性来捕捉动态信息。在UNet中实现时,通常在跳跃连接处加入时序注意力模块:
class TemporalAttention(nn.Module):def __init__(self, channels):super().__init__()self.temp_conv = nn.Conv3d(channels, channels, kernel_size=(3,1,1), padding=(1,0,0))self.softmax = nn.Softmax(dim=2)def forward(self, x):# x shape: [B, C, T, H, W]temp_feat = self.temp_conv(x) # 时间维度的卷积attention = self.softmax(temp_feat)return x * attention
实验表明,在心脏MRI视频分割任务中,引入时序注意力的UNet相较于基准模型在Dice系数上提升了2.3