2. 矿物光谱物理基础与SAM原理

光谱角匹配(Spectral Angle Mapper,SAM)之所以能用于矿物填图,根本原因在于它把“矿物光谱”当作一个方向向量来处理,而不是比较反射率的绝对高低。理解这一点,需要先回到矿物光谱的物理成因,再理解余弦相似度的几何含义,最后才能正确设置阈值并解读分类结果。

一、矿物诊断性吸收特征从何而来

可见光—短波红外(0.4~2.5 μm)范围内,矿物的反射光谱主要由电子跃迁和分子振动两类机制决定。铁离子(Fe³⁺、Fe²⁺)的电子跃迁在 0.4~1.0 μm 产生强吸收,形成赤铁矿、针铁矿等铁氧化物的特征谷;而羟基(OH)、水分子和碳酸根(CO₃²⁻)的分子振动倍频与合频则集中在 1.4 μm、1.9 μm、2.2~2.35 μm 附近,构成黏土矿物、碳酸盐矿物、硫酸盐矿物的“指纹区”。

对 SAM 而言,真正关键的不是某个波段反射率的绝对值,而是吸收谷的位置、深度和对称形态。例如高岭石在 2.16~2.17 μm 与 2.20~2.21 μm 形成双吸收,明矾石主吸收在 2.17 μm 附近并在 1.48 μm 有尖锐特征,方解石则在 2.34 μm 出现碳酸根吸收。这些位置差异在光谱曲线上表现为“形状不同”,而形状差异恰好对应向量方向的差异——这正是 SAM 能够区分矿物的物理基础。

实践提示:SAM 对吸收位置和形态敏感,对整体反照率(亮度)不敏感。因此同一矿物在亮区和暗区的光谱向量方向接近,SAM 仍能识别;但若光谱被大气水汽、植被或定标误差污染,吸收形态被扭曲,SAM 就会误判。预处理中的大气校正与坏波段剔除,直接决定 SAM 的可信度。

二、光谱角余弦相似度的计算过程

把一条光谱看作 n 维空间中的向量 x = (x₁, x₂, …, xₙ),参考光谱(端元)为 r = (r₁, r₂, …, rₙ),n 为参与计算的波段数。SAM 计算的是两向量之间的夹角 θ:

cos θ = ( Σ xi·ri ) / ( sqrt(Σ xi²) · sqrt(Σ ri²) )
θ = arccos( cos θ )        // 单位:弧度,可换算为度

计算时有三点必须注意。第一,逐像元计算:影像中每个像元的光谱都与同一端元做一次点积与模长运算,得到一张角度图。第二,波段一致性:像元光谱与端元光谱必须使用完全相同的波段集合与波长顺序,端元若来自光谱库,需重采样到影像波段。第三,非负性:反射率经预处理后一般为非负值,若存在负值或无效值(如 0 填充),应先掩膜剔除,否则模长与点积会被污染。

角度 θ 越小,说明两向量方向越接近,像元光谱与端元越相似;θ = 0 表示完全同向,θ 增大则相似性下降。由于余弦值对向量长度不敏感,SAM 天然抑制了地形阴影和反照率差异带来的亮度变化,这也是它相比最小距离法在矿物识别中的优势所在。

三、分类决策规则与阈值含义

SAM 的分类规则本质上是“最近端元 + 阈值约束”。对每个像元,计算其与全部 m 个端元的角度 θ₁…θₘ,取最小值对应的端元作为候选类别;再判断该最小角度是否小于设定阈值 θmax。若小于,则赋予该类别;若大于,则判为“未分类”(Unclassified)。

阈值 θmax 的单位通常用弧度,ENVI 中默认值约为 0.1 rad(约 5.7°),实际取值需结合端元质量与影像信噪比调整。阈值过小,只有与端元几乎完全同向的像元才被接受,分类图干净但漏分严重;阈值过大,混合像元和噪声像元被强行归入某类,出现大量“伪匹配”。因此阈值不是固定常数,而是一个需要试验与验证的决策参数。

像元光谱与端元光谱(示意) 波长/μm 反射率 2.17μm 吸收 2.21μm 吸收 端元 r 像元 x 向量夹角 θ 与阈值判定 r(端元) x(像元) θ θmax 决策规则 θmin = min(θ₁…θₘ) → 若 θmin ≤ θmax:归入该端元类别;否则判为 Unclassified 阈值偏小 分类纯净,但漏分增多 阈值适中 兼顾查全与查准 阈值偏大 伪匹配与混分增加

上图左侧示意了像元光谱与端元光谱在吸收形态上的接近程度,右侧把这种接近程度转化为向量夹角 θ,并与阈值 θmax 比较,底部给出阈值偏小、适中、偏大三种情形对分类结果的影响方向。需要强调的是,图中曲线与角度均为教学示意,不代表某次实际运算的数值结果。

四、把原理落到一次可复现的判定上

假设某景影像已重采样到 2.0~2.4 μm 的 50 个波段,端元库包含高岭石、明矾石、方解石三条参考光谱。对某个像元,计算得到与三条端元的角度分别为 0.062 rad、0.118 rad、0.205 rad。若 θmax 设为 0.10 rad,则最小角度 0.062 rad 小于阈值,该像元被判为高岭石;若 θmax 设为 0.05 rad,则该像元落入 Unclassified。可见同一像元在不同阈值下结论可能完全不同,阈值必须与端元质量和应用目标匹配。

实际操作中,建议先用较宽松阈值生成初步分类图,再叠加原影像与已知矿点核查:若某类矿物在已知露头处大量漏分,说明阈值偏小或端元形态不典型;若在非矿区域大面积出现该类,说明阈值偏大或端元间角度过于接近。通过这种“分类图—原图—先验知识”的对照迭代,才能把 θmax 调到合理区间。同时应记录端元来源、波段范围、阈值取值与验证结论,保证分类过程可追溯、可复现。

常见误区:把 SAM 角度阈值当作固定经验值直接套用。不同传感器波段设置、不同端元来源、不同预处理水平都会改变角度分布,阈值必须在本景数据上重新评估。此外,SAM 只比较方向,对“同形异质”光谱(如不同含水量的同类黏土)区分能力有限,必要时需结合吸收深度或波段比值做二次判别。