[Reading Paper]FFA-Net

文章标题:《FFA-Net:Feature Fusion Attention Network for Single Image Dehazing》

期刊及年份:AAAI 2020

作者:Xu Qin,Zhilin Wang

论文链接:https://github.com/zhilin007/FFA-Net

一、摘要

作者提出了一种端到端的特征融合注意力网络架构(FFA-Net)直接复原无雾图像。这个FFA-Net包含以下三个重要部分:

(1)一个新型的特征注意力(Feature Attention,FA)模块,该模块结合了通道注意力和像素注意力机制,因为不同宽度的通道特征包含完全不同的权重信息以及不同图像像素的雾霾分布不均匀。FA模块对待不同特征和像素是不平等的,这为处理不同类型的信息提供了额外的灵活性,提高了CNNs的表达能力。

(2)基本块结构由局部的残差学习和特征注意力机制构成。局部的残差学习允许较不重要的信息(如薄雾区域或低频区域)通过多个局部残差连接被绕过,让主网络架构关注更有效的信息。

(3)在基于注意力的不同层次的特征融合模块中,特征权重自适应地从FA模块中学习,给更重要的特征更多的权重,这种结构可以保留浅层的信息并将其传递到深层。

二、主要内容

2.1 研究背景

大气散射模型和AOD-Net中涉及到的公式一致https://blog.csdn.net/weixin_73049545/article/details/157478027?spm=1001.2014.3001.5501https://blog.csdn.net/weixin_73049545/article/details/157478027?spm=1001.2014.3001.5501早期的去雾方法大多基于物理散射模型,如DCP(基于暗通道先验)等。这些基于先验的方法会导致传输图估计不准确,在某些实际情况下效果不佳。

随着深度学习的兴起,出现了许多基于神经网络的去雾方法,包括DehazeNet、MSCNN等。这些方法直接回归中间传输图或最终的无雾图像,随着大数据的应用,相比传统方法具有更好的性能和鲁棒性。

先前基于CNN的图像去雾网络对待通道和像素特征的处理是同等的,但是雾霾在图像中分布不均匀,薄雾的权重应该与厚雾区域像素的权重明显不同。同时,DCP发现,在至少一个颜色(RGB)通道中一些像素具有非常低的强度是非常常见的。如果同等对待通道和像素特征,会花费大量的资源在叫不重要的信息上进行不必要的计算。

卷积神经网络(Convolutional Neural Network,CNN),广泛应用于图像识别和视觉任务。它通过卷积层、池化层和全连接层 的层级结构,自动提取输入数据的局部特征,逐步压缩信息,减少冗余,并提升泛化能力。CNN具备参数共享和局部连接的结构优势 ,能够高效处理格点状数据,对特征的提取具有平移不变性,也因此被称为"平移不变神经网络"(Shift-Invariant Neural Networks)。

CNN的基本原理:CNN的核心思想是通过多层结构对输入数据进行局部特征提取层级表示,从而实现分类、回归、分割等任务。

CNN的卷积层(Convolutional Layer) 主要功能是从输入数据中提取局部特征。每个卷积层包含多个卷积核,每个卷积核是由一组权重和偏差构成的滤波器,用于在局部感受野内提取特定的图像模式。卷积层后的非线性变换通常由激活函数完成。

CNN的池化层(Pooling Layer) 用于对特征图进行下采样减少参数数量提升特征不变性。常见的池化形式有均值池化、极大值池化等。

全连接层 通常位于网络的末端,作用是将前面卷积与池化层提取到的特征映射到具体的任务输出,如分类或回归。该层中每个神经元与前一层所有神经元相连,类似于传统神经网络中的结构。输出结果常通过Softmax函数转化为概率分布,用于多分类任务。
空间注意力 VS通道注意力 VS像素注意力

空间注意力(Spatial Attention)专注于图像中的空间维度(图像的宽度和高度)。空间注意力机制关注输入特征图中不同位置的重要性。它旨在捕捉图像中的关键区域或目标,以便模型能够更专注于这些区域进行后续处理。

通道注意力(Channel Attention)专注于图像的特征通道维度,即不同特征的集合。每一个通道可以被视为一个特征检测器,用于捕捉图像中的不同特征,如纹理、边缘或颜色等。

像素注意力(Pixel Attention)专注于图像的每个像素点的信息,以确定哪些像素对于当前任务最为重要。

>空间注意力使模型能够专注于图像中对当前任务最重要的空间位置,例如在人群中计数时识别每个人的位置。

>通道注意力使模型能够识别哪些特征表示对当前任务最有帮助,例如在颜色分类任务中强调颜色特征。

ResNet的出现使得训练一个非常深的网络成为可能。采用跳过连接(skip connection)的思想和特征注意力机制(feature attention),设计一个由多个局部残差学习跳过连接和特征注意力组成的基本块。一方面,局部残差学习可以通过多个局部残差学习绕过薄雾区域和低频信息,使主网络学习到更多有用信息。而信道注意力机制(channel attention)进一步提高了FFA网络的性能。

残差神经网络(ResNet) 是一种深度卷积神经网络(CNN)的架构, 它通过引入"残差学习"来解决深度网络训练中的**退化问题(**随着网络层数的增加,网络在达到一定深度后, 其性能会趋于饱和甚至下降)。

在ResNet中,残差学习 通过引入**"快捷连接"(shortcut connections)** 或**"跳跃连接"(skip connections)**来实现,这些连接允许从网络中较早的层直接传递输入到后面的层。

2.2 相关内容

2.2.1 FFA-Net整体架构

FFA-Net的输入是一个有雾图像,首先经过一个浅层的特征提取部分 ,提取的浅层特征被送入具有多个跳跃连接的N个组结构(N Group Architectures)N组结构中的每一组结构都将B个基本块结构(B Basic Blocks)与局部残差学习相结合 ,每个基本块结构由跳跃连接和FA模块(FA模块是包含通道注意力和像素注意力的注意力机制)结合。组结构输出的特征 通过特征注意力(Feature Attention,FA)模块进行融合然后经过重建部分和全局残差学习结构得到无雾输出

特征融合注意力网络(FFA-Net)架构如下图所示:

2.2.2 特征注意力(FA)模块

FA(Feature Attention)模块包含通道注意力和像素注意力,可以为处理不同类型的信息提供灵活性。FA模块旨在为不同的通道和像素分配不同的权重,可以扩展CNNs的表示能力。

FA模块如下图所示:

  • Channel Attention通道注意力

通道注意力机制主要关注不同的通道特征具有完全不同的加权信息(根据DCP理论)。首先,利用全局平均池化(average pooling)将通道全局空间信息转化为通道描述符。

公式(1)中表示位置(i,j)处的第c个通道的值,是全局平均池化函数。特征图的形状从C×H×W变成C×1×1的。为了获得不同通道的权重,特征通过两个卷积层和sigmoid,再经过ReLu激活函数。公式(2)中 σ 是sigmoid函数,δ 是ReLU函数。

最后将输入特征与通道权重进行逐元素相乘,得到经过通道注意力加权后的特征:

  • Pixel Attention像素注意力

像素注意(Pixel Attention, PA)模块使网络更加关注信息特征,例如,雾度较大的像素和高频图像区域。

与CA(通道注意力)类似,直接将通道注意力的输出输入到两个带有 ReLU 和 sigmoid 激活函数的卷积层,形状从C×H×W变为1×H×W。

最后将与PA逐元素相乘,得到经过像素注意力加权后的特征:

2.2.3 基本块结构(Basic Block Structure)

一个基本块结构由局部残差学习特征注意力(FA) 模块组成,局部残差学习允许通过多个局部残差连接绕过薄雾或低频区域等不太重要的信息,而主网络则注重有效的信息。

2.2.4 组结构和全局残差学习(Group Architecture and Global Residual Learning)

组架构(Group Architecture)结合了B基本块结构(B Basic Block Structure)和跳跃连接模块(skip connection)。连续的B块增加了FFA网络的深度和表现力。跳跃连接解决了FFA -Net训练困难的问题。在FFA网络的最后,使用两层卷积网络实现和一个长全局残差学习模块添加了恢复部分。最后,恢复了想要的无雾图像。

2.2.5 特征融合注意力机制(Feature Fusion Attention)

首先将G组结构(G Group Architectures)输出的所有特征映射在通道方向连接起来。此外,通过乘以由特征注意力(FA)机制获得的自适应学习权重来融合特征。由此,我们可以保留低层的信息并将其传递到深层,由于权重机制的存在,使得FFA网络更加关注厚雾区、高频纹理和色彩保真度等有效信息。

2.2.6 损失函数(Loss Function)

均方误差(mean squared error,MSE)或 L2损失是目前应用最广泛的单图像去雾的损失函数。然而,许多使用L1损失的图像恢复任务训练取得了比L2损失更好的性能,根据PSNR和SSIM指标。遵循同样的策略,本文默认采用简单的L1损失。 公式(6)中θ表示FFA-Net的参数,表示ground truth,表示输入。

相关推荐
GISer_Jing2 小时前
Memory、Rules、Skills、MCP如何重塑AI编程
前端·人工智能·aigc·ai编程
DS随心转APP2 小时前
ChatGPT和Gemini回答怎么导出
人工智能·ai·chatgpt·deepseek·ds随心转
大模型玩家七七2 小时前
向量数据库实战:从“看起来能用”到“真的能用”,中间隔着一堆坑
数据库·人工智能·python·深度学习·ai·oracle
AC赳赳老秦2 小时前
科研数据叙事:DeepSeek将实验数据转化为故事化分析框架
开发语言·人工智能·数据分析·r语言·时序数据库·big data·deepseek
数智前线2 小时前
潮起178,解码AI时代传媒变革的浙江样本
人工智能
Data_Journal2 小时前
【无标题】
大数据·服务器·前端·数据库·人工智能
阿杰学AI2 小时前
AI核心知识74——大语言模型之ReAct 范式(简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·agent·react范式
新缸中之脑2 小时前
TabPFN:表格数据基础模型
人工智能
工程师老罗2 小时前
Pytorch中的优化器及其用法
人工智能·pytorch·python