第29周:文献阅读
目录
摘要
Abstract
文献阅读
问题引出
研究背景
研究目的
相关工作
湖泊提取
注意力机制
创新点
LEFormer
MSCA-CNN Encoder
Lightweight Decoder
方法论
CNN编码器(CE)
Transformer编码器(TE)
实验研究
实验设置
消融实验
结果对比
代码实践
总结
摘要
该文献提出的LEFormer模型是一个混合CNN-Transformer架构,专门用于从遥感图像中准确提取湖泊。其结构包括CNN编码器以恢复局部空间信息、Transformer编码器以捕获长距离依赖、交叉编码器融合模块以整合局部和全局特征,以及一个轻量级解码器用于掩码预测。模型的特点在于结合了CNN对细节的敏感性和Transformer对上下文的捕获能力,优势在于实现了高精度和低计算成本。它应用于湖泊提取领域,因为该领域需要精确的边界和前景建模,而现有方法存在局限性。效果比较显示,LEFormer在两个基准数据集上均取得了最先进的性能,同时模型规模和计算需求远低于其他方法。未来的改进可能集中在进一步优化模型结构、提高泛化能力以及探索在其他遥感图像分析任务中的应用。
Abstract
The LEFormer model proposed in this literature is a hybrid CNN-Transformer architecture specialized for accurate lake extraction from remote sensing images. Its architecture consists of a CNN encoder to recover local spatial information, a Transformer encoder to capture long range dependencies, a cross-coder fusion module to integrate local and global features, and a lightweight decoder for mask prediction. The model is characterized by combining the CNN's sensitivity to details and the Transformer's ability to capture context, with the advantage of achieving high accuracy and low computational cost. It is applied to the field of lake extraction, where accurate boundary and foreground modeling is required and existing methods have limitations. Comparison of results shows that LEFormer achieves state-of-the-art performance on both benchmark datasets, while the model size and computational requirements are much lower than other methods. Future improvements may focus on further optimizing the model structure, improving generalization capabilities, and exploring applications in other remote sensing image analysis tasks.
文献阅读
题目:
LEFormer: A Hybrid CNN-Transformer Architecture for Accurate Lake Extraction from Remote Sensing Imagery
论文地址:
https://arxiv.org/pdf/2308.04397
问题引出
研究背景
湖泊是重要的环境和气候指标,自动提取湖泊水体对于监测湖泊水体变化至关重要。然而,从遥感影像中提取湖泊面临诸多挑战,如湖泊形状复杂、存在噪声等,导致现有方法存在分割边界模糊、前景建模效果差等问题。
研究目的
提出一种新的混合CNN-Transformer架构——LEFormer,以实现从遥感影像中准确提取湖泊。
LEFormer 即轻量级高效 Transformer,是为降低 Transformer 架构计算复杂度与参数量,以适配资源受限场景而设计。它采用轻量级设计减少参数,同时具备高效特征提取能力,能有效捕捉局部与全局特征。在自然语言处理和计算机视觉领域应用广泛,如文本分类、机器翻译、图像分类与目标检测等任务。
下图是该文献中提出的LEFormer架构:
该模型架构包含6个部分:
(1)DW Layer和 MSCA:位于模型的最左侧,是模型的输入处理模块
深度可分离卷积层(DW Layer)是深度学习中常用的卷积操作,它将卷积操作分解为深度卷积和逐点卷积。其优势在于大幅降低计算量和参数量,同时能保持较好性能,可帮助模型在有限资源下快速运行并保证一定准确性。
MSCA(多尺度通道注意力)是一种注意力机制,通过提取多尺度特征,计算通道注意力权重并对特征加权,能增强模型特征提取和表示能力,为深度学习模型提供有效的特征增强和优化方法。
(2) CNN Encoder:该模块包含多个CNN编码器
(3)Cross-Encoder Fusion(跨编码器融合):连接CNN编码器和transfomer编码器,为了实现不同编码器间的融合
(4)Transformer Encoder:该模块包含多个transformer编码器
(5)Input Embeddings:位于模型最右侧,包含 Norm、Token Mixer、FFN等组件,是 Transformer Encoder 的输入处理部分。
Input Embeddings (输入嵌入)是深度学习模型处理序列数据时,将原始输入转换为模型易处理向量表示的关键组件 。其包含的组件中,Norm 对输入数据归一化,稳定模型训练、助力收敛;Token Mixer 混合标记,捕捉序列标记间关系,如 Transformer 的自注意力机制;FFN 则通过两个线性层与激活函数,对向量做非线性变换,增强模型表达复杂关系的能力。
(6)Lightweight Decoder(轻量级解码器):位于底部,接收来自前面模块的信息,输出最终结果
相关工作
湖泊提取
早期的FCNs开启了基于CNN的语义分割网络的研究,随后出现了UNet、PSPNet、DeeplabV3+等优化版本。这些方法在水体提取等任务中取得了成功应用,但由于感受野的限制,无法有效捕捉全局上下文信息,影响湖泊提取精度。近年来,Transformer架构因其在NLP领域的成功而受到计算机视觉领域的关注,如ViT等模型在图像分类等任务中表现出色,但其计算复杂度较高,且在捕捉细粒度细节方面可能不如CNN模型(局部捕捉效果不佳)。
注意力机制
受人类视觉系统启发,注意力机制被广泛应用于计算机视觉中,通过识别和加权特征图的重要区域来增强特征提取和分类性能。如FLANet、U-TAE、CASCADE等模型在语义分割等任务中取得了SOTA性能,展示了注意力机制在该领域的有效性。
创新点
LEFormer
提出了一种新颖的网络架构LEFormer,通过CNN和Transformer分别捕获短程和长程依赖,并设计了交叉编码器融合模块,将CNN编码器提取的局部特征和Transformer编码器建模的全局特征相结合,显著提升了性能。
MSCA-CNN Encoder
使用具有多尺度空间-通道注意力(MSCA)的CNN编码器,能够提取精确且详细的局部空间信息。
Lightweight Decoder
开发了一种轻量级的Transformer编码器,借鉴了SegFormer和PoolFormer的思想,在降低模型计算和参数需求的同时保持高性能。
方法论
CNN编码器(CE)
基于层次结构,由多个堆叠的CE层组成。每个CE层包括一个深度卷积(DW)层和一个MSCA,DW层有效捕获空间信息并显著减少参数和计算量。
MSCA结合了扩张卷积和CBAM的优势,通过不同扩张率的扩张卷积生成多尺度特征图,再利用CBAM层计算注意力权重并与输入特征图相乘,获得最终特征,增强了模型的特征表示和判别能力。
扩张卷积:也称为空洞卷积,它通过在标准卷积核的元素之间插入间隔来增加卷积核的感受野而不增加参数数量。这种卷积方式可以在不增加计算复杂度的情况下捕获更广泛的上下文信息,对于语义分割等任务特别有用。
CBAM(Convolutional Block Attention Module)是一种用于增强卷积神经网络特征表示能力的注意力机制模块。它通过两个子模块——通道注意力和空间注意力——来实现这一目标。通过结合这两种注意力机制,CBAM能够自适应地关注特征图中的重要信息,从而提高网络对图像内容的理解能力,进一步提升模型在各种视觉任务中的性能。
通道注意力模块利用全局平均池化和最大池化来捕获特征图的通道级统计信息,并通过一个共享的多层感知机(MLP)为每个通道生成注意力权重,从而增强重要特征并抑制不重要特征。
空间注意力模块则通过在通道维度上进行平均池化和最大池化来捕获特征图的空间信息,并通过一个卷积层生成空间注意力图,以增强重要区域的特征并抑制不重要区域的特征。
Transformer编码器(TE)
该架构的设计了4种编码器,ETL、PTL、CEF、LD,其组合起来如下图所示:
(a)Efficient Self-Attention,目的是为了降低计算成本。降低序列长度,降低自注意力机制复杂度
(b)Pooling Transformer Layer ,目的是通过空间池化操作降低计算复杂度,同时捕获图像中的长距离依赖,以提高模型的效率和表达能力。
(c)Cross-Encoder Fusion,目的是在保持计算效率的同时,通过融合CNN编码器的局部特征和Transformer编码器的全局特征,增强模型对多尺度信息的捕获能力,从而提升湖泊提取任务的准确性。
(d) Lightweight Decoder,目的是高效地融合多尺度特征并生成精确的湖泊掩码,以提高湖泊提取的准确性和效率。
实验研究
实验设置
数据集
使用Surface Water(SW)和Qinghai-Tibet Plateau Lake(QTPL)两个公开的卫星遥感数据集进行评估,均为可见光谱遥感数据集,包含标注的湖泊水体。
模型设置
在单个Tesla T4 GPU上使用mmsegmentation代码库训练所有模型,迭代160K次。采用随机调整大小和水平翻转等数据增强技术,使用AdamW优化器和交叉熵损失函数,批量大小为16,初始学习率和权重衰减分别为6×10⁻⁵和0.01,使用PolyScheduler动态调整学习率。使用OA、F1-Score和mIoU等指标评估模型性能,同时计算参数数量和Flops评估模型效率。
消融实验
实验1
同时观察两个数据集SW和QTPL,改变模型中PTL的数量,同时保持ETL的数量为三个,以观察PTL数量对模型参数Params、计算量(Flops)和准确率的影响。
结果分析1:
1、随着PTL数量的减少(即ETL数量的增加),模型的参数数量和Flops略有增加。
2、在SW和QTPL数据集上,当PTL数量减少到1时,模型的总体准确率(OA)、F1-Score和平均交并比(mIoU)达到最高。这表明适当的ETL和PTL的组合可以在保持模型轻量化的同时达到最佳性能。
实验2
评估CNN编码器(CE)、多尺度空间-通道注意力(MSCA)、Efficient Transformer Layer(ETL)和Pooling Transformer Layer(PTL)对模型性能的影响。实验中,ETL+PTL表示模型中包含三个ETL和一个PTL。
结果分析2:
SW数据集
1、当模型仅包含PTL时,性能最低(mIoU为88.28%),说明仅使用PTL不足以捕获所有必要的特征。
2、随着ETL的加入,性能显著提高,表明ETL在捕获长距离依赖方面的重要性。
3、加入MSCA进一步提高了性能,说明多尺度特征对于湖泊提取任务是有益的。
4、最佳性能出现在包含所有组件(CE、MSCA、ETL和PTL)的模型中,mIoU达到90.86%。
QTPL数据集
1、类似于SW数据集,仅使用PTL的模型性能最低(mIoU为96.66%)。
2、加入ETL和MSCA后,性能显著提高。
3、最佳性能同样出现在包含所有组件的模型中,mIoU达到97.42%。
结果对比
为了展示LEFormer模型在湖泊提取任务上相比于其他先进方法的性能优势,验证其在准确性、效率和实用性方面的提升,并突显其在保持轻量化的同时实现高性能的能力。
上述对比实验主要从模型参数数量(Params)、计算量(Flops)、总体准确率(OA)、F1-Score和平均交并比(mIoU)五个指标进行评估。
对比分析:
在对比实验中,LEFormer模型在SW和QTPL数据集上均展现出了卓越的性能,不仅在总体准确率、F1-Score和平均交并比等关键指标上超越了其他对比方法,而且实现了更低的模型参数数量和计算量。这表明LEFormer在湖泊提取任务中不仅准确高效,而且模型更加轻量化,具有很高的实用性和推广价值。
代码实践
设置随机种子
cfg.device = get_device()
seed = init_random_seed(args.seed, device=cfg.device)
seed = seed + dist.get_rank() if args.diff_seed else seed
logger.info(f'Set random seed to {seed}, '
f'deterministic: {args.deterministic}')
set_random_seed(seed, deterministic=args.deterministic)
cfg.seed = seed
meta['seed'] = seed
meta['exp_name'] = osp.basename(args.config)
构建分割模型并初始化权重
model = build_segmentor(
cfg.model,
train_cfg=cfg.get('train_cfg'),
test_cfg=cfg.get('test_cfg'))
model.init_weights()
处理syncBN不支持DP的情况
if not distributed:
warnings.warn(
'SyncBN is only supported with DDP. To be compatible with DP, '
'we convert SyncBN to BN. Please use dist_train.sh which can '
'avoid this error.')
model = revert_sync_batchnorm(model)
logger.info(model)
构建数据集
datasets = [build_dataset(cfg.data.train)]
if len(cfg.workflow) == 2:
val_dataset = copy.deepcopy(cfg.data.val)
val_dataset.pipeline = cfg.data.train.pipeline
datasets.append(build_dataset(val_dataset))
配置检查点信息
if cfg.checkpoint_config is not None:
cfg.checkpoint_config.meta = dict(
mmseg_version=f'{__version__}+{get_git_hash()[:7]}',
config=cfg.pretty_text,
CLASSES=datasets[0].CLASSES,
PALETTE=datasets[0].PALETTE)
model.CLASSES = datasets[0].CLASSES
meta.update(cfg.checkpoint_config.meta)
开始训练分割模型
train_segmentor(
model,
datasets,
cfg,
distributed=distributed,
validate=(not args.no_validate),
timestamp=timestamp,
meta=meta)
总结
LEFormer是一种创新的混合神经网络模型,旨在提高遥感图像中湖泊提取的精确度。它融合了CNN和Transformer的优势,通过一个轻量级解码器优化特征融合和预测过程。实验结果表明,LEFormer在精度和效率上超越了其他方法,且模型规模较小。这一模型特别适合环境监测中的湖泊分析,未来可能会进一步优化其结构和扩展应用范围。