DS2DL:基于无监督掩码自编码器与扩散几何的高光谱图像聚类方法
1. 项目概述与核心思路
高光谱图像(HSI)分析是遥感领域的一项基础且关键的任务,它旨在为图像中的每个像素分配一个类别标签,例如区分森林、水体、城市建筑或农作物类型。传统的有监督方法虽然精度高,但严重依赖大量人工标注的训练样本,这在遥感场景中往往成本高昂且难以获取。因此,无监督聚类方法,即在不使用任何标签的情况下自动发现数据中的内在类别结构,具有极高的研究和应用价值。
然而,高光谱数据本身特性给无监督聚类带来了巨大挑战。首先,其光谱维度极高(通常有上百个波段),导致“维度灾难”,并引入了大量的光谱噪声和冗余信息。其次,地物在空间上分布复杂,同类地物可能因光照、阴影、物候期等因素在光谱上呈现差异,而异类地物在部分波段可能又非常相似。传统方法如K-means或基于原始光谱的图聚类,很容易被这些噪声和冗余所误导,导致聚类边界模糊、结果不稳定。
近年来,两个方向的研究为解决这些问题提供了思路。一是深度表示学习,尤其是基于Transformer的架构,能够从海量数据中学习到去噪、紧凑且富含语义的潜在特征。二是扩散几何,它通过模拟数据在流形上的随机游走过程来定义距离,这种“扩散距离”能更好地捕获数据的非线性全局结构,对噪声更具鲁棒性。S2DL算法成功地将超像素分割与扩散几何结合,利用空间正则化约束,取得了优于同期方法的性能。
我们提出的深度空间正则化超像素扩散学习(DS2DL) 算法,其核心思路正是将这两者深度融合。简单来说,我们不再直接在原始的高维、嘈杂的光谱空间中进行聚类,而是设计了一个两阶段管道:
- 前端特征提炼:利用一个专门设计的无监督掩码自编码器(UMAE),像一位经验丰富的“数据清洗师”,从原始HSI中学习一个干净、低维的潜在表示。这个UMAE的关键在于,它通过随机掩码部分光谱-空间信息并让模型重建,迫使网络去学习数据中最本质、最具判别性的特征,同时天然地整合了局部空间上下文和长程光谱依赖。
- 后端几何聚类:在这个“净化”后的潜在表示空间里,运行改进版的S2DL算法。我们构建空间正则化的扩散图,计算扩散距离,从而发现数据内在的簇结构。由于输入特征质量更高,图的结构更能反映真实的类别关系,最终聚类精度和效率都得到了显著提升。
这个流程好比先对矿石(原始HSI)进行精选和冶炼(UMAE特征学习),得到高纯度的金属(潜在表示),再根据金属的物理化学性质(扩散几何)对其进行精确分类,其效果自然远优于直接对原矿石进行粗糙分选。
2. 核心组件深度解析
2.1 无监督掩码自编码器(UMAE):如何学会“看见”本质
UMAE是整个DS2DL算法的基石,它的目标是将一个高维、冗余的HSI像素 $\mathbf{x} \in \mathbb{R}^B$ 映射到一个低维、稠密的潜在向量 $\mathbf{z} \in \mathbb{R}^D$(实验中D=48)。其设计哲学深受自然语言处理中BERT和计算机视觉中MAE的启发,但在高光谱领域需要独特的适配。
2.1.1 输入构造:光谱-空间组(Spatial-Spectral Groups)
传统方法处理HSI时,要么单独看光谱,要么单独看空间邻域。UMAE创新性地将两者统一。对于一个中心像素 $p_i$,我们取其周围 $p \times p$ 的空间邻域构成一个三维块 $P_i \in \mathbb{R}^{p \times p \times B}$。对于每一个光谱波段 $b$,我们将这个三维块中所有像素在第 $b$ 波段的值拉平,得到一个 $p^2$ 维的向量 $P_b^{(i)}$。
然而,高光谱相邻波段间具有高度相关性。为了捕获这种局部光谱上下文,我们不是单独处理每个波段,而是将连续的 $\ell$ 个波段(例如ℓ=5)打包成一个光谱-空间组 $G_b^{(i)}$:
这个操作非常关键。它将一个 $p \times p \times \ell$ 的局部立方体数据展平为一个向量,同时编码了局部空间信息($p \times p$ 邻域)和局部光谱信息($\ell$ 个连续波段)。遍历所有B个波段,我们就得到了一个矩阵 $V_G^{(i)} \in \mathbb{R}^{\ell p^2 \times B}$,它的每一列代表一个以不同波段为中心的光谱-空间组。
实操心得:组大小ℓ的选择 ℓ的大小需要权衡。太小(如ℓ=3)可能无法充分捕获光谱局部相关性;太大(如ℓ=15)则会使向量维度 $
\ell p^2$ 急剧膨胀,增加计算负担,并可能引入不相关的光谱噪声。我们的经验是,ℓ设置为5到9之间,通常能平衡效果与效率。可以将其理解为在光谱维度上进行“卷积”,感受野的大小就是ℓ。
2.1.2 掩码与重建:迫使模型学习通用表征
这是UMAE无监督学习的核心。我们不是让模型简单地记忆输入,而是人为地制造“困难”:随机掩码掉 $V_G^{(i)}$ 矩阵中一定比例(如Rm=75%)的列(即光谱-空间组)。被掩码的部分用特定的[MASK]标记替代。
然后,我们将未被掩码的组(加上可学习的位置编码)输入一个基于Vision Transformer(ViT)的编码器。编码器需要基于这些可见的、不完整的上下文,理解整个像素块的光谱-空间结构。最后,一个对称的ViT解码器负责预测所有被掩码掉的那些 $G_b^{(i)}$ 组的原始值。
训练目标是最小化重建值与被掩码组真实值之间的均方误差(MSE)。这个过程迫使编码器必须学习到数据中稳健的、通用的特征表示,因为它无法依靠简单的光谱插值或空间复制来完成任务,必须理解不同波段和空间位置之间的深层关联。
2.1.3 高效预训练策略:最远点采样(FPS)
在HSI上训练一个ViT模型,如果使用所有像素,计算量是灾难性的。我们采用了最远点采样(FPS) 来智能地选择一小部分(如nt=5000)训练像素。FPS从一个随机像素开始,每次都选择与已选点集在光谱欧氏距离上最远的点。这保证了我们选出的训练集在光谱特征空间中是尽可能多样和分散的,用最少的样本覆盖了最大的数据分布范围,极大地提升了预训练效率。
注意事项:预训练与推理的差异 预训练时,我们使用高掩码率(如75%)来制造困难任务。但在推理阶段,当我们想为整个图像的所有像素提取特征时,我们设置掩码率Rm=0,即让编码器看到完整的、未被掩码的输入,直接输出其潜在表示。这确保了特征提取过程是确定性的,且利用了模型在预训练中学到的全部知识。
2.2 扩散几何与超像素正则化:在流形上发现簇
得到干净的潜在表示 $L \in \mathbb{R}^{H \times W \times D}$ 后,我们进入聚类阶段。这里我们沿用并改进了S2DL的扩散几何框架,但所有计算都在潜在空间 $L$ 中进行。
2.2.1 超像素预处理:引入空间先验
直接在上万个像素上构建图并进行扩散计算,复杂度很高,且容易受空间噪声点影响。我们首先对HSI的前三个主成分(PCs)图像进行熵率超像素(ERS)分割,将图像划分为 $N_s$ 个超像素。每个超像素是一组空间上连续、光谱(在PCs空间)相似的像素集合。这一步将像素级的聚类问题,转化为了超像素内代表点的聚类问题,并天然地引入了空间连续性约束。
2.2.2 构建空间正则化kNN图
对于每个超像素,我们在潜在空间 $L$ 中计算其中所有像素的局部密度 $\zeta(x)$。密度定义基于k近邻的加权距离和,密度高的点可能是簇的中心区域。从每个超像素中,我们选出k个密度最高的像素作为该超像素的“代表”,构成代表点集 $X_s$。
接下来,我们在 $X_s$ 上构建一个k近邻(kNN)图。图的节点是这些代表点,边的权重 $W_{ij}$ 由两点在潜在空间中的光谱相似性(高斯核)决定,但附加了一个空间半径约束R:只有当两个代表点的原始图像空间坐标距离小于R时,它们之间才可能连边。这个约束至关重要,它强制聚类过程考虑地理邻近性,符合“空间上接近的像素更可能属于同一类”的遥感先验知识,有效避免了将空间上远离但光谱偶然相似的像素聚为一类。
2.2.3 扩散距离:超越欧氏距离的度量
在构建的图上定义一个随机游走过程(转移矩阵 $P = D^{-1}W$),那么从点 $i$ 经过 $t$ 步后游走到点 $j$ 的概率是 $(P^t)_{ij}$。扩散距离 $D_t(i, j)$ 则衡量了从 $i$ 和 $j$ 出发的随机游走者,在经过t步后,其概率分布在整个图上的差异。
与欧氏距离只反映“直线”差异不同,扩散距离反映了数据在潜在流形上的连通性。即使两个点在欧氏空间不算最近,但只要它们之间有多条路径可以高效连通(属于同一密集区域),它们的扩散距离就很近。这使得它对噪声和流形形状不规则的鲁棒性极强。
2.2.4 模态搜索与标签传播
我们为每个代表点计算一个模态得分 $\Delta_t(x) = \zeta(x) \cdot d_t(x)$,其中 $d_t(x)$ 是该点到比它密度高的点的最小扩散距离。这个得分高的点,意味着它本身密度高(可能是簇中心),且距离其他密度更高的点远(是一个独立的簇中心)。
我们选取模态得分最高的K个点作为簇模态(Cluster Modes),并为它们分配唯一的初始标签。然后,通过一种层次化的标签传播机制:先将每个模态及其最近的邻居(局部骨干,LBB)标记为同一类;接着,按密度降序,将每个未标记点分配给其扩散距离最近的、已标记的、且密度更高的邻居的标签;最后,在每个超像素内部进行多数投票,将超像素内所有像素都归为其中k个代表点中占多数的类别。这个过程结合了密度峰值寻找和基于扩散距离的标签传播,形成了最终的聚类图。
3. DS2DL算法全流程实现与参数解析
理解了核心组件后,我们将它们串联起来,形成DS2DL的完整可执行流程。以下是结合算法伪代码和实操要点的分步详解。
3.1 第一阶段:UMAE特征学习
输入:原始高光谱图像 $X \in \mathbb{R}^{H \times W \times B}$,以及一系列超参数。
输出:潜在特征图 $L \in \mathbb{R}^{H \times W \times D}$。
步骤1:数据预处理
- 光谱归一化:将每个波段的数值归一化到[0, 1]区间。这是深度网络训练的标配,能加速收敛并提高稳定性。公式为:$
X_{norm}^{(b)} = (X^{(b)} - min(X^{(b)})) / (max(X^{(b)} - min(X^{(b)}))$。 - PCA降维(可选但推荐):在运行FPS选择训练像素前,先将图像展平为 $
X_{flat} \in \mathbb{R}^{HW \times B}$ 并应用PCA,保留前20个主成分。这并非用于最终特征,而是为了在选择训练像素时减少计算量,并让FPS在信息更浓缩的空间里选择多样性样本。 - 图像填充:为了处理图像边缘的像素,需要对其空间邻域进行填充。我们通常采用反射填充(Reflection Padding),以避免边界引入突兀的值。
步骤2:选择训练像素(FPS)
- 在PCA降维后的数据上运行FPS。假设我们希望选择
nt=5000个像素。 - 随机选择一个初始像素点加入集合 $
S$。 - 对于不在 $
S$ 中的每一个像素,计算其到 $S$ 中所有点的最小欧氏距离。 - 选择那个具有最大最小距离的像素加入 $
S$。 - 重复步骤3-4,直到 $
S$ 中包含nt个像素。
参数选择建议:
nt通常取总像素数的1%~5%即可获得很好效果。对于百万级像素的大图,5000-10000个点足够。FPS的计算复杂度是 $O(n_t \cdot n)$,可通过KD-Tree等数据结构优化。
步骤3:构建与训练UMAE模型
- 模型架构:编码器和解码器均采用标准ViT结构。需要设定的关键参数包括:
patch_size (p):空间邻域大小,如7或9。太小则空间上下文不足,太大则计算量增加且可能引入过多异质信息。band_group_length (ℓ):光谱-空间组的波段长度,如5或7。latent_dim (D):潜在表示维度,论文固定为48。这是一个平衡点,既能压缩信息,又保留了足够的判别能力。mask_ratio (Rm):掩码比例,训练时设为0.75,推理时设为0。vit_depth/heads:ViT的层数和注意力头数,根据计算资源调整,通常4-8层,8-16头已足够。
- 训练循环:PYTHON# 伪代码示意for epoch in range(num_epochs):for batch in training_pixel_dataloader: # 批次来自FPS选出的像素集S# 1. 提取每个像素的p x p邻域块patches = extract_patches(batch, p)# 2. 构建光谱-空间组V_GV_G = build_spectral_spatial_groups(patches, l)# 3. 随机掩码Rm%的组,生成掩码token和未掩码tokenmasked_V_G, mask_indices, unmasked_tokens = random_masking(V_G, Rm)# 4. 添加可学习位置编码,通过ViT编码器latent_tokens = vit_encoder(unmasked_tokens + pos_enc)# 5. 通过ViT解码器重建被掩码的组reconstructed_groups = vit_decoder(latent_tokens, mask_indices)# 6. 计算MSE损失(仅针对被掩码的部分)loss = mse_loss(reconstructed_groups, V_G[mask_indices])# 7. 反向传播,优化器更新loss.backward()optimizer.step()
- 全图特征提取:训练完成后,冻结模型权重。遍历图像中的每一个像素,以
Rm=0(不掩码)的方式,通过编码器和均值池化,得到其D维的潜在特征向量 $L_{mean}^{(i)}$,最终重组为特征图 $L$。
3.2 第二阶段:基于潜在空间的扩散聚类
输入:潜在特征图 $L$,原始图像(用于空间坐标),聚类数目K。
输出:聚类标签图 $C \in \{1, ..., K\}^{H \times W}$。
步骤1:超像素分割
- 对原始HSI进行PCA,取前3个主成分合成RGB-like图像 $
X_{PC}$。 - 使用ERS算法对 $
X_{PC}$ 进行分割,得到 $N_s$ 个超像素。ERS超像素能较好地保持边界且大小相对均匀。
参数
N_s选择:超像素数量决定了后续图的大小。一般设置为期望聚类数K的10-50倍。例如,若K=10,N_s可设为200-500。太少则空间正则化作用弱,太多则计算图变大。
步骤2:构建代表点集与图
- 对于每个超像素 $
S_i$,计算其中所有像素在潜在空间 $L$ 中的局部密度 $\zeta(x)$。公式为:其中 $MATH\zeta(x) = \sum_{y \in kn(x)} \exp(-\|x - y\|_2^2 / \sigma_0^2)kn(x)$ 是 $x$ 在潜在空间中的k个最近邻,$\sigma_0$ 是尺度参数,通常取所有样本对距离的中位数。 - 从每个 $
S_i$ 中选取密度最高的k个像素,加入代表点集 $X_s$。此时 $|X_s| = k \cdot N_s$。 - 在 $
X_s$ 上构建空间正则化kNN图。对于点 $x_i, x_j \in X_s$,其边的权重为:$MATHW_{ij} = \begin{cases}\exp(-\|x_i - x_j\|_2^2 / \sigma_0^2), & \text{if } \|(h_i, w_i) - (h_j, w_j)\|_2 \leq R \\0, & \text{otherwise}\end{cases}(h_i, w_i)$ 是像素 $x_i$ 在原始图像中的行列坐标。空间半径R是核心参数,它限制了标签只能在空间距离R范围内传播,通常设置为图像对角线长度的1%~5%。
步骤3:计算扩散距离与模态得分
- 计算度矩阵 $
D$(对角元素为 $D_{ii} = \sum_j W_{ij}$)和归一化转移矩阵 $P = D^{-1}W$。 - 计算 $
P$ 的特征分解,得到特征值 $\{\lambda_m\}$ 和特征向量 $\{\psi_m\}$。 - 对于任意两点 $
x_i, x_j$,其扩散距离为:扩散时间 $MATHD_t(x_i, x_j) = \sqrt{ \sum_{m=1}^{|X_s|} \lambda_m^{2t} [(\psi_m)_i - (\psi_m)_j]^2 }t$ 是一个超参数,控制随机游走的步数。$t$ 太小,距离过于局部;$t$ 太大,距离会过度平滑。通常通过尝试几个值(如t=10, 20, 30)来选择。 - 对于每个点 $
x$,计算其到所有密度比它高的点的最小扩散距离 $d_t(x)$。 - 计算模态得分 $
\Delta_t(x) = \zeta(x) \cdot d_t(x)$。
步骤4:层次化标签传播
- 识别簇模态:找到 $
\Delta_t(x)$ 值最高的K个点,作为初始簇中心,赋予唯一标签。 - 扩展局部骨干(LBB):对于每个模态点,将其自身及其在潜在空间中的
kn个最近邻(kn是另一个近邻参数,通常为10-30)标记为同一类。 - 密度排序标签传播:将 $
X_s$ 中剩余未标记的点,按密度 $\zeta(x)$ 降序排列。对于每个未标记点,找到在 $X_s$ 中已标记的、扩散距离最近的、且密度高于它的点,将自己的标签设为与该点相同。为什么按密度降序? 这是密度峰值聚类思想的体现。高密度点更可能是核心点,先确定它们的标签,再像“水流向下”一样,将标签传播到密度较低的区域(边缘点),能保证传播的稳定性。
- 超像素内多数投票:经过以上步骤,$
X_s$ 中的所有代表点都有了标签。对于每个超像素 $S_i$,检查其k个代表点的标签,将出现次数最多的标签赋予该超像素内的所有像素。
至此,我们得到了整幅图像的聚类结果 $C$。
4. 实验配置、结果分析与调参避坑指南
4.1 实验数据集与评估指标
我们在两个公开基准数据集上验证DS2DL:
- Botswana:覆盖博茨瓦纳奥卡万戈三角洲,1476×256像素,145个波段,14个地表覆盖类别。地物类别多样,光谱区分度中等。
- KSC:覆盖美国肯尼迪航天中心湿地,512×614像素,176个波段,13个类别。植被类别多,光谱混淆严重,挑战性更大。
我们采用遥感图像分类领域通用的评估指标:
- 总体精度(OA):所有像素中分类正确的比例。最直观的指标。
- 平均精度(AA):所有类别精度的平均值。对类别不平衡的数据集更公平。
- Kappa系数(κ):考虑了随机分类一致性的精度指标,大于0.6即认为一致性较好。
- 纯度(Purity):衡量聚类结果中每个簇与真实类别的一致程度。我们报告了聚类数设置为真实类别数1倍、2倍、3倍时的纯度,以评估算法在不同聚类粒度下的稳定性。
- 归一化互信息(NMI):衡量聚类结果与真实标签共享的信息量,值在0到1之间,越高越好。
- 运行时间(RT):记录从输入图像到输出聚类图的总耗时。
4.2 性能对比与结果分析
我们将DS2DL与它的前身S2DL进行了全面对比。S2DL直接在原始HSI空间或PCA降维后的空间进行扩散聚类,而DS2DL则使用了UMAE学习到的潜在表示。
| 数据集 | 方法 | OA | AA | κ | 1× Purity | 2× Purity | 3× Purity | NMI | RT (s) |
|---|---|---|---|---|---|---|---|---|---|
| KSC | S2DL | 0.5669 | 0.5222 | 0.5412 | 0.6279 | 0.7192 | 0.8035 | 0.6766 | 2805.71 |
| DS2DL | 0.6008 | 0.6247 | 0.5618 | 0.6824 | 0.7972 | 0.8428 | 0.7182 | 934.03 | |
| Botswana | S2DL | 0.6004 | 0.6158 | 0.5678 | 0.6176 | 0.7087 | 0.7657 | 0.7083 | 2782.62 |
| DS2DL | 0.6410 | 0.6648 | 0.6121 | 0.6281 | 0.7485 | 0.8168 | 0.7244 | 947.83 |
结果解读与洞见:
- 精度全面提升:在两个数据集上,DS2DL在OA、AA、κ、NMI及多数Purity指标上均显著超越S2DL。特别是在KSC数据集上,AA提升了超过10个百分点(0.5222 -> 0.6247),这说明DS2DL对于难以区分的、样本量少的类别有巨大的改善能力。UMAE学习到的特征,有效压制了光谱噪声和冗余,使得类间差异更明显。
- 聚类质量更优:更高的NMI和Purity(尤其是2×和3×)表明,DS2DL产生的聚类结果内部一致性更强,与真实地物分布的吻合度更高。即使我们故意设置更多的聚类数,DS2DL产生的“过分割”簇也更纯净,更容易与真实类别对应。
- 运行效率飞跃:运行时间减少了约三分之二!这似乎有悖直觉,因为DS2DL增加了一个深度网络的前向传播。但关键在于,UMAE将数据从上百维(B≈150)压缩到了48维(D=48)。后续在构建kNN图、计算距离和特征分解时,计算复杂度与维度呈多项式关系,维度的降低带来了巨大的计算红利,完全抵消了网络前向传播的开销。
- 算法鲁棒性增强:由于输入特征质量更高,后续扩散聚类中对超参数(如k, R, σ0)的敏感性有所降低。我们在调参时发现,DS2DL在更宽的参数范围内能保持稳定的高性能。
4.3 超参数调优与常见问题排查
DS2DL涉及较多超参数,合理的设置是成功的关键。以下是一个调优顺序和常见问题指南:
第一阶段(UMAE)参数:
p(空间块大小):建议从7或9开始尝试。太小(如3)丢失空间上下文,太大(如15)计算量剧增且可能包含过多异质信息。ℓ(光谱组长度):建议5, 7, 9。与数据的光谱分辨率有关。可以观察不同波段间的相关系数,如果相关性随间隔下降很快,ℓ不宜过大。Rm(掩码率):训练时务必保持高掩码率,如0.75。这是驱动模型学习强大表征的关键。太低(如0.3)则任务太简单,模型学不到深层特征。D(潜在维度):论文固定为48,这是一个很好的基准。如果数据极其复杂,可尝试略微增加(如64);如果追求极致的压缩和速度,可尝试减小(如32),但需警惕信息损失。- 训练不收敛或重建误差高:
- 检查:学习率是否过高?尝试使用余弦退火或带热重启的学习率调度器。
- 检查:数据归一化是否正确?确保每个波段独立归一化到[0,1]。
- 检查:FPS选择的训练像素是否具有代表性?可视化这些像素在PCA前2维上的分布,看是否覆盖了整个数据云。
第二阶段(扩散聚类)参数:
N_s(超像素数):设置为真实类别数K的20-30倍是一个安全的起点。例如K=10,则N_s=300。可以通过观察超像素分割的视觉效果来调整,确保地物边界被合理捕捉,且超像素不过分破碎。k(每超像素代表点数):通常5-10。增加k会让代表点集更大,图更稠密,计算更慢,但可能捕获更多细节。R(空间半径):最重要的参数之一。它控制空间约束的强度。一个经验法则是将其设置为图像对角线长度的1%到2%。例如,对于1000x1000的图像,对角线约1414,R可设为14到28个像素。可以先设一个较大的值,观察聚类结果是否出现明显的空间不连续错误,再逐步调小。σ0(尺度参数):通常设置为所有代表点对之间欧氏距离的中位数。可以自适应计算,无需手动调节。t(扩散时间):需要实验。可以从t=10开始,逐步增加到t=50。观察聚类结果,如果类别区域内部出现许多“小岛”(过分割),可能是t太小;如果不同类别被合并(欠分割),可能是t太大。可以绘制几个t值下的NMI或Purity曲线来选择。- 聚类结果出现大量零散小区域(“椒盐噪声”):
- 可能原因1:空间半径R太小,导致标签无法在空间上有效传播。解决:增大R。
- 可能原因2:超像素分割过于细碎(
N_s太大)。解决:减小N_s,或尝试不同的超像素算法(如SLIC)。 - 可能原因3:UMAE特征学习不充分,噪声仍较多。解决:检查UMAE训练损失是否已收敛,或增加预训练轮数。
- 聚类结果大面积均一,丢失细节:
- 可能原因1:空间半径R太大,导致空间约束过强,平滑掉了细节。解决:减小R。
- 可能原因2:扩散时间t太大,过度平滑了扩散过程。解决:减小t。
- 可能原因3:每超像素代表点k太少,未能捕捉到超像素内部的变化。解决:增加k。
一个实用的调参流程:
- 固定UMAE参数:使用论文推荐的默认值(p=7, ℓ=5, D=48, Rm=0.75)进行预训练,确保损失收敛。
- 调整聚类参数:
a. 首先,设定一个合理的
N_s(如20*K)和k(如5)。 b. 将空间半径R设为一个较大的值(如对角线2%),暂时关闭强空间约束。 c. 运行聚类,观察OA和AA。此时结果可能空间上较杂乱。 d. 逐步减小R,每次减小10%,观察OA、AA和聚类图的空间连贯性。找到一个在保持精度的前提下,空间结果最干净的R值。 e. 微调扩散时间t,在选定的R附近,尝试t=10, 20, 30,选择指标最优的t。 f. (可选)微调N_s和k,看是否能进一步提升。
最后,DS2DL的成功验证了“优质特征+鲁棒聚类”这条技术路线的有效性。UMAE提供的高质量潜在表示,如同为后续的扩散几何聚类提供了一张更清晰的地图,使得发现数据内在的流形结构变得事半功倍。这套框架不仅限于高光谱图像,其思想——即通过自监督学习获取去噪、低维表示,再结合基于几何的聚类方法——对于其他高维、结构复杂、标注稀缺的数据(如医学影像、单细胞RNA测序数据等)的无监督分析,也具有很强的借鉴意义。在实际项目中,我们可以根据具体数据特性,对UMAE的骨干网络(如换成ConvNeXt)、掩码策略或扩散图的构建方式进行定制化改进,以追求极致的性能。