[2025CVPR]基于双向域自适应(BiDA)的跨域高光谱图像分类模型

目录

引言:高光谱图像分类的挑战

核心原理与创新点

[1. 三支路Transformer架构](#1. 三支路Transformer架构)

[2. 语义分词器(Semantic Tokenizer)](#2. 语义分词器(Semantic Tokenizer))

[3. 双向蒸馏损失](#3. 双向蒸馏损失)

[4. 自适应强化策略(ARS)](#4. 自适应强化策略(ARS))

模型架构详解

[1. 语义分词器](#1. 语义分词器)

[2. 三支路编码器](#2. 三支路编码器)

[3. 损失函数](#3. 损失函数)

实验验证

数据集与参数

对比结果

代码实现框架

总结与展望


引言:高光谱图像分类的挑战

高光谱图像(HSI)因其丰富的光谱信息在农业、环境监测等领域具有重要应用。然而,实际应用中训练和测试数据往往来自不同区域或时间(跨域问题),导致光谱偏移(Spectral Shift),使得传统单场景分类模型泛化能力差。现有领域自适应(DA)方法多采用单向适应策略,难以有效对齐跨域特征。

本文提出的双向领域自适应(BiDA)​框架通过独立学习源域和目标域的自适应空间,并引入双向特征交互,显著提升了跨域分类性能。实验表明,在跨时序/场景的航空和卫星数据集上,BiDA比现有最先进方法提升3%~5%。


核心原理与创新点

1. 三支路Transformer架构

BiDA由源分支 、目标分支 和耦合分支组成:

  • 源分支:学习源域的自适应特征表示。
  • 目标分支:学习目标域的自适应特征表示。
  • 耦合分支:通过双向交叉注意力机制挖掘跨域关联。

Fig.1. The main framework of BiDA is composed of a triple-branch transformer with semantic tokenizer(source branch/blue, target branch/red, and coupled branch/purple). The Multi-head Self-attention(MSA) is used in the source branch and the target branch, and the Coupled Multi-head Cross-attention(CMCA) is designed in the coupled branch.

2. 语义分词器(Semantic Tokenizer)

设计空间-光谱投影机制生成语义令牌:

其中M(⋅)为卷积层,W为可学习核,输出紧凑的L维语义令牌。

3. 双向蒸馏损失

通过耦合分支生成软标签指导源域和目标域训练:

其中T~s→t​和T~t→s​为跨域注意力生成的耦合表示。

4. 自适应强化策略(ARS)

在噪声条件下增强领域内泛化能力:

通过随机旋转、裁剪和高斯噪声注入,强制模型学习鲁棒特征。


模型架构详解

1. 语义分词器

  • 输入:13×13×d的高光谱图像块。
  • 流程 :
    1. 3D卷积提取空间-光谱特征(13×13×L)。
    2. Softmax生成空间注意力图。
    3. 1x1卷积映射为L维语义令牌。

2. 三支路编码器

  • 源/目标分支:多头自注意力(MSA)挖掘领域内相关性。
  • 耦合分支:耦合多头交叉注意力(CMCA)实现双向特征对齐:

3. 损失函数

总损失包含分类损失、MMD分布对齐损失、双向蒸馏损失和一致性约束:


实验验证

数据集与参数

  1. MFF跨时序航空数据集:5类树种,时序跨度14天,光谱分辨率9.6nm。
  2. Houston跨时序卫星数据集:7类地物,2013与2018年数据。
  3. HyRANK跨场景卫星数据集:12类地物,Hyperion传感器采集。

参数设置:λ1​=1e−1, λ2​=1e+0,令牌数L=10。

对比结果

方法 MFF-TD1 OA(%) MFF-TD2 OA(%) Houston 2018 OA(%) Loukia OA(%)
GAHT 67.38 68.61 72.15 60.31
MSDA 68.01 72.41 79.41 63.61
​BiDA​ ​77.40​ ​75.08​ ​81.11​ ​68.89​

Fig. 7. Visualization and classification maps for the target scene MFF TD1 obtained with different methods including:(a) GAHT(67.38%),(b) MLUDA(72.80%),(c)MSDA(68.01%),(d)TSTnet(68.21%),(e)MDGTnet(65.24%),(f) CLDA(68.26%),(g) SCLUDA(62.72%),(h) SSWADA(56.39%),(i)CACL(66.86%),(j) BiDA(77.40%).


代码实现框架

python

复制代码
import torch.nn as nn
from transformers import VisionTransformer

class SemanticTokenizer(nn.Module):
    def __init__(self, in_channels, L=10):
        super().__init__()
        self.conv1 = nn.Sequential(
            nn.Conv3d(1, 16, 3),
            nn.ReLU(),
            nn.MaxPool3d(2)
        )
        self.conv2 = nn.Sequential(
            nn.Conv2d(16, 32, 3),
            nn.ReLU(),
            nn.MaxPool2d(2)
        )
        self.fc = nn.Linear(32 * 64 * 64, L)
    
    def forward(self, x):
        x = self.conv1(x)
        x = self.conv2(x)
        x = x.view(x.size(0), -1)
        return self.fc(x)

class BiDA(nn.Module):
    def __init__(self, num_classes=12):
        super().__init__()
        self.tokenizer = SemanticTokenizer(in_channels=176)
        self.encoder = VisionTransformer(num_layers=12)
        self.classifier = nn.Linear(768, num_classes)
    
    def forward(self, x_src, x_tgt):
        src_tokens = self.tokenizer(x_src)
        tgt_tokens = self.tokenizer(x_tgt)
        fused_tokens = torch.cat([src_tokens, tgt_tokens], dim=1)
        output = self.encoder(fused_tokens)
        return self.classifier(output)

总结与展望

BiDA通过双向特征对齐 和自适应空间学习,有效缓解了高光谱图像的跨域光谱偏移问题。未来工作可扩展至多模态数据(如SAR与光学图像融合)和实时处理场景。

Fig. 10. Visualization and classification maps for the target scene Houston 2018 obtained with different methods including:(a) Ground truth map,(b)GAHT(72.15%),(c) MLUDA(78.97%),(d) MSDA(79.41%),(e) MDGTnet(76.57%)(f) CLDA(74.0%),(g) SCLUDA(78.61%),(h) SSWADA(75.29%),(i) CACL(79.10%),(j) BiDA(81.11%).

通过本文的详细解析,希望读者能够深入理解BiDA的技术精髓,并在实际项目中灵活应用这一创新框架。

论文地址:Cross-domain Hyperspectral Image Classification based on Bi-directional Domain Adaptation