论文阅读: Gated Context Aggregation Network for Image Dehazing and Deraining

今天发现自己构思了很久的一个想法,已经初步成型 的网络,在ArXiv上发现了已经成型的论文。害,现在心情很down

2018 WACV :GCANet

这篇文章主要结合平滑扩张卷积以及提出了一种门限融合子网络来完成图像的去雾和去雨,效果比较好。
在这里插入图片描述

本片文章主要是提出了一个端到端门控上下文聚合网络来直接恢复最终的无模糊图像。
在该网络中,我们采用最新的平滑扩张卷积技术来帮助去除广泛使用的扩张卷积引起的网格伪影,而额外的参数可以忽略,并利用门控子网络融合不同层次的特征。

主要关键词: 平滑扩张卷积 + 门控融合子网络

网络结构

在这里插入图片描述

整体网络可以看作一个简单的自动编码器。
从网络中我们可以看出,首先是三个卷积模块将输入的模糊图像编码到特征图中作为编码部分,并且最后一个卷积层进行了下采样。
然后通过七个平滑扩张的残差块,使用平滑扩张卷积替代了原始的正则卷积层。除了最后一个卷积层和平滑扩张卷积层中额外的每一个可分离和共享的卷积层,我们在每个卷积层之后放置了实例归一化层 IN 和ReLU层。
再之后通过一个门限融合子网络用于融合不同leve的特征,这里是一个简单的卷积模块。
再之后,通过一个反卷积层上采样到原始分辨率,接下来的两个卷积层将feature map转换回图像空间,得到残差图,最终得到一个处理之后的图像。

具体实现

1、平滑扩张卷积

对于传统的池化层和连续的上下采样可能

### Gated Axial-Attention 方法在医学图像分割中的应用 #### 背景介绍 近年来,深度卷积神经网络 (CNNs) 已经成为医学图像分割的主要工具之一,在多个应用场景下表现出色。然而,由于其固有的局限性——难以捕捉长距离依赖关系,这限制了 CNN 的表现潜力[^3]。 #### Transformer 架构的优势 相比之下,Transformer 模型通过自注意力机制能够有效地处理序列数据间的远距离交互问题,从而提供更加丰富的特征表示能力。这种特性对于需要理解复杂空间模式的任务特别有用,比如医学影像分析[^4]。 #### MedT 中的 Gated Axial-Attention 设计理念 针对医学图像特有的挑战,即有限的数据量以及高分辨率需求等问题,研究人员提出了 Medical Transformer (MedT),它引入了一种新颖的设计——门控轴向注意力建模方式(Gated Axial-Attention)[^1]。该设计旨在解决标准 Transformers 需要大量标注样本才能良好工作的难题,并适应医疗领域内小型化且高质量的要求。 具体来说: - **门控机制**:为了增强模型的学习效率并减少过拟合风险,MedT 在传统的 Self-Attention 层之上加入了门控单元。这些门允许网络动态调整哪些部分应该被重点关注或忽略掉,进而提高了对输入信号的选择性和鲁棒性。 - **轴向注意力**:不同于常规全连接式的多头自我关注层,这里采用了分片策略来降低计算成本的同时保持足够的感受野覆盖范围。这意味着每个像素只与其所在行/列上的其他位置建立联系,而不是整个图片平面内的每一个点都相互作用。这种方法不仅简化了架构而且有助于更好地提取局部上下文信息。 ```python class GatedAxialAttention(nn.Module): def __init__(self, dim, num_heads=8, qkv_bias=False, attn_drop=0., proj_drop=0.): super().__init__() self.num_heads = num_heads head_dim = dim // num_heads self.scale = head_dim ** -0.5 # 定义查询、键和值线性变换矩阵 self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias) # 初始化门控参数 self.gate = nn.Parameter(torch.ones(num_heads)) def forward(self, x): B, H, W, C = x.shape qkv = self.qkv(x).reshape(B, H*W, 3, self.num_heads, C//self.num_heads).permute(2, 0, 3, 1, 4) q, k, v = qkv.unbind(0) # 计算注意力权重 attn = (q @ k.transpose(-2, -1)) * self.scale attn = F.softmax(attn, dim=-1) attn = self.attn_drop(attn) # 应用门控操作 gated_attn = torch.sigmoid(self.gate.view(1,-1,1,1)) * attn # 更新后的加权求和过程 x = (gated_attn @ v).transpose(1, 2).reshape(B,H,W,C) return x ``` 上述代码片段展示了如何实现一个简单的带有门控功能的轴向注意力模块。其中 `gate` 参数用来控制各个头部的重要性程度;而实际运算过程中则是通过对原始 Attention Map 施加 Sigmoid 函数得到的概率值来进行调节[^2]。 #### LoGo 策略概述 除了改进核心组件外,研究者们还开发了一套名为 “Learning from Global and Local Patches” 或简称 LoGo 的训练方案。此方法鼓励模型同时考虑整体布局与细节差异两方面因素,进一步提升了最终预测精度。具体做法是在每次迭代期间交替呈现整幅图像及其随机裁剪的小区域给定网络学习,以此促进更全面的理解能力和泛化性能。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值