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 能够区分矿物的物理基础。
二、光谱角余弦相似度的计算过程
把一条光谱看作 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°),实际取值需结合端元质量与影像信噪比调整。阈值过小,只有与端元几乎完全同向的像元才被接受,分类图干净但漏分严重;阈值过大,混合像元和噪声像元被强行归入某类,出现大量“伪匹配”。因此阈值不是固定常数,而是一个需要试验与验证的决策参数。
上图左侧示意了像元光谱与端元光谱在吸收形态上的接近程度,右侧把这种接近程度转化为向量夹角 θ,并与阈值 θ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 调到合理区间。同时应记录端元来源、波段范围、阈值取值与验证结论,保证分类过程可追溯、可复现。