尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

遥感图像解译复习:波段合成、分类精度与变化检测全解析

遥感图像解译复习:波段合成、分类精度与变化检测全解析 简介这份《武汉大学遥感图像解译期末考试复习.pdf》面向备考遥感图像解译课程的学生与相关研究人员围绕武大期末考试的高频考点梳理知识框架适合考前系统回顾与查漏补缺。压缩包内仅含1个PDF文件体积约2.07MB内容以文字笔记与图示讲解为主便于打印或在移动设备上随时翻阅。已有688人学习这份资料说明其在同类复习材料中具有一定参考价值。笔记覆盖可见光、热红外与微波图像阴影的异同及传感器方位判断归纳分类标准、解译方法、图像质量、人员经验、波段数目等影响因素并整理提高解译精度的多种途径如引入辅助数据、地学综合分析、波段组合与传感器选择。同时包含分类管理器、画笔、轮廓线跟踪等目视勾画工具的应用以及TM影像不同波段组合的适用场景、人工解译与计算机解译的对比、时间分辨率作用等典型题目能帮助读者把零散知识点串联成可作答的复习线索。1. 遥感图像解译复习为什么不能只背解译标志期末季翻遥感图像解译的课件多数人的第一反应是把解译标志表默下来水体深色调、植被红色、道路线状、居民地格网状。真到卷子上给出一景 Landsat 8 的 5、4、3 波段合成图问哪片区域最可能是水体只背表的人会卡住。他要同时知道近红外波段水体强吸收、知道假彩色合成把近红外送进了红通道、还知道含沙量上升会把水体的近红外反射拉高深色调于是不再成立。武汉大学遥感图像解译这类课程的考点基本都能还原成输入—参数—输出这条链输入是哪些波段、什么分辨率参数是辐射定标系数、变换矩阵、分类器与阈值输出是一句能站得住的判读结论。把这条链自己走通一次比背十遍标志表管用。复习的落点因此很集中波谱与解译标志的映射关系、预处理与增强的参数含义、分类与精度评价的计算过程、变化检测的对比逻辑。这几块的共同特点是都能用几十行代码验证一遍跑通之后结论就不再是记忆而是推导出来的结果。2. 波谱与解译标志的映射从反射率曲线到判读结论2.1 遥感图像解译中色调标志的物理来源解译标志一般归纳为八类色调、纹理、形状、大小、阴影、位置、图型、相关布局。其中只有色调由物理量直接决定其余七类依赖空间结构。考场上最容易失分的地方是把色调当成需要背诵的经验值——植被是红的水体是黑的。这类结论都有前提前提一变结论就翻。单波段影像的色调由 DN 值决定多波段合成影像的色调由波段到 RGB 通道的映射决定。同一景数据换一种合成方式植被可以从红变成绿再变成灰。所以判读题的第一步永远是先问这景影像用了哪些波段、按什么顺序合成。题干里出现5、4、3 合成或近红外—红—绿这类描述等于把答案的一半给出来了。地物关键波段响应5、4、3 假彩色表现常见判读陷阱清澈水体近红外强吸收短波红外更低近黑到深蓝含沙量高时近红外反射抬升色调变浅健康植被红光被叶绿素吸收近红外高反射鲜红成熟期或受胁迫时红度下降干沙、裸土可见光到短波红外平缓上升浅黄白与水泥屋顶、新修路面混淆沥青路面全波段反射率低且平坦暗灰与山体阴影、水体阴影混淆积雪可见光高短波红外骤降亮白偏青薄云与雪在可见光难分需借短波红外这张表能用一条规则串起来反射率随波长上升的地物在假彩色里偏亮偏暖近红外出现吸收谷的地物偏暗偏冷。近红外是区分水体与非水体的分水岭短波红外是区分雪与云、岩石与植被的关键。记住这两句比记五行结论稳得多。2.2 用一段代码画出典型地物波谱曲线复现这条推理链最省事的办法是把地物反射率当成数组画出来。下面的代码用 Landsat 8 OLI 几个常用波段的中心波长做横轴手工填入典型地物的反射率。import numpy as np import matplotlib.pyplot as plt # 波段中心波长(nm)蓝、绿、红、近红外、短波红外1、短波红外2 wavelengths np.array([482, 561, 655, 865, 1609, 2201]) # 典型地物反射率(0-1)行对应地物列对应上面六个波段 spectra { 清澈水体: [0.05, 0.04, 0.03, 0.01, 0.005, 0.004], 健康植被: [0.05, 0.08, 0.04, 0.45, 0.20, 0.09], 干沙: [0.24, 0.32, 0.38, 0.42, 0.55, 0.58], 沥青路面: [0.08, 0.09, 0.10, 0.11, 0.13, 0.14], } for name, refl in spectra.items(): plt.plot(wavelengths, refl, markero, labelname) plt.axvspan(700, 1000, alpha0.12, colorgray) # 标出近红外区间 plt.xlabel(波长 (nm)) plt.ylabel(反射率) plt.legend() plt.show()横轴波长与传感器波段中心一一对应换传感器就要改这个数组比如换到 Sentinel-2近红外附近要拆成 842 nm 与 665 nm 两个波段。纵轴反射率是无量纲的 0 到 1 比值手上只有 DN 值时必须先用第 3 章的定标公式转成反射率再画否则曲线形状会被增益系数扭曲水体和沥青的高低关系可能整个反过来。近红外区间用灰带标出来是为了在图上直接看到分叉点水体掉到 0.01 附近植被升到 0.45两者差一个数量级这就是判读水体的物理依据。把这段代码跑一遍再回头做假彩色合成的题颜色和地物的对应关系就不再靠背近红外反射高的地物拿到红通道红通道亮影像上它就是红的。2.3 四种分辨率在题干里的识别方法分辨率类型衡量对象题干常见问法对判读的影响空间分辨率单个像元对应的地面尺寸给像元大小问能否识别某地物决定最小可判图斑点状地物易漏光谱分辨率波段数量与带宽给波段设置问适合什么任务窄而多适合定量反演宽而少适合目视时间分辨率重访周期给重访周期问变化检测可行性周期长则短时突变事件抓不到辐射分辨率量化位数给 8 bit 或 12 bit问暗部层次位数低时阴影区和水体内部失去层次空间分辨率常和比例尺问题绑在一起考判读的最小图斑一般要求不小于几个像元题干问能否识别单栋建筑先算建筑占地除以像元面积再比。光谱分辨率考的是为什么高光谱能识别矿物而多光谱不能答案落在诊断性吸收特征的宽度上——多光谱的带宽比吸收带还宽特征被平均掉了。时间分辨率和辐射分辨率容易被忽略但只要有变化检测或阴影区提取的题这两项就是得分点。2.4 一道判读题的完整推理步骤拿到判断图中水体范围这类题按固定顺序走记录波段组合把通道映射写出来标准假彩色是近红外→红、红→绿、绿→蓝。用波谱表定位色调近红外吸收的地物在合成图上偏暗。看纹理与形状水体边界平滑、内部均一阴影边界随地形走且与光源方向对应。用相关布局佐证水体常与河道、岸线、堤坝等地物成组出现。检查干扰项含沙水体、浅水区、水华需要单独说明理由。五步走完即使结论有偏差过程分也拿得到。反过来直接写因为水体是黑色的题干一旦换成含沙量高的河段这句话就是错的。3. 预处理与增强DN 到反射率的参数与最小复现3.1 辐射定标两个公式和三个必查参数从 DN 值到表观反射率要过两步。第一步把 DN 转成辐亮度或大气顶反射率Landsat 8 Collection 2 用的是线性公式第二步做太阳高度角校正把不同成像时刻的照明差异拉平。import numpy as np # Landsat 8 Collection 2 Level-1 定标系数实际值从 *_MTL.txt 读取 M_rho 2.0000e-05 # REFLECTANCE_MULT_BAND_x A_rho -0.100000 # REFLECTANCE_ADD_BAND_x sun_elev 55.3 # SUN_ELEVATION单位度 dn np.array([[8000, 9000], [7000, 6500]], dtypenp.float32) rho_prime M_rho * dn A_rho # 未做太阳高度角校正的表观反射率 rho rho_prime / np.sin(np.deg2rad(sun_elev)) # 太阳高度角校正 print(np.round(rho, 4))M_rho 与 A_rho 是逐波段的增益和偏移同一景影像六个波段的取值都不同抄错一个波段整张图就白做。sun_elev 取自元数据里的太阳高度角必须先转弧度再取正弦如果误用太阳天顶角反射率会被系统性高估。DN 数组用 float32 是防止整数运算截断小数位。这一步之后得到的是大气顶反射率还不是地表反射率中间差的正是大气影响。3.2 大气校正什么时候必须做什么时候可以跳过任务类型是否必须做大气校正常用方法说明单时相目视判读可跳过只做辐射定标色调相对关系不受大气影响单时相监督分类一般可跳过相对辐射归一化大气是全局偏移对分类影响有限多时相变化检测必须做6S、FLAASH、暗像元法两期大气条件不同会产生假变化水体叶绿素、植被指数反演必须做FLAASH、QUAC定量反演要求地表反射率判断标准只有一条结论是否要跨时间或跨传感器比较。只要涉及两期以上大气校正就不是可选项否则气溶胶厚度差一点变化检测图上的变化可能全是大气造成的。做目视判读和单期分类时省下这一步不亏但要清楚省掉的是什么。3.3 直方图均衡与主成分变换的最小实现import numpy as np def hist_equalize(band, bins256): 单波段直方图均衡输入二维数组输出 uint8 hist, edges np.histogram(band.ravel(), binsbins) cdf hist.cumsum() # 累积分布 cdf (cdf - cdf.min()) / (cdf.max() - cdf.min()) * 255 idx np.clip(np.digitize(band.ravel(), edges[:-1]) - 1, 0, bins - 1) return cdf[idx].reshape(band.shape).astype(np.uint8) def pca(cube): cube: (bands, rows, cols)返回主成分立方体与特征值 b, r, c cube.shape X cube.reshape(b, -1).T.astype(np.float64) # (像元数, 波段数) X - X.mean(axis0) cov np.cov(X, rowvarFalse) eig_val, eig_vec np.linalg.eigh(cov) order np.argsort(eig_val)[::-1] # 特征值降序 comps X eig_vec[:, order] return comps.T.reshape(b, r, c), eig_val[order]bins 控制灰度级数取值过大时低频灰度级被拉伸后会出条带8 bit 数据用 256 就够。pca 的特征值占比等于单个特征值除以总和多光谱数据前两三个主成分通常占到九成以上第一主成分基本是亮度信息后续主成分才承载地物差异做彩色合成时优先选后几个。要不要先标准化取决于各波段量级DN 值量级接近时直接用协方差矩阵量级差异大时改用相关系数矩阵否则量级大的波段会霸占第一主成分。3.4 全色锐化的四种方法与选型方法原理光谱保真度适用场景Brovey 变换多光谱按比例加权后与全色相乘低目视解译、快速出图IHS 变换亮度分量被全色替换中色彩要求不高的专题制图Gram-Schmidt用全色模拟分量做正交变换高定量分析与分类前的融合PCA 融合第一主成分被全色替换中波段数多、计算资源有限时选型看用途下游要做分类或反演优先 Gram-Schmidt 这类光谱保真度高的方法只是给人眼看IHS 和 Brovey 出图更快。融合后所有波段的数值都被改动过反射率不再等于原始波段反射率做定量分析前要先确认融合这一步是否必要。4. 分类与精度评价从监督分类到面向对象4.1 选监督还是选非监督三个判断标准判断标准一有没有可靠的训练样本。有地面调查数据或高分辨率底图可勾样本直接上监督分类没有样本、对区域地物组成完全陌生先用非监督分类摸清类别数再给聚类结果贴标签。判断标准二类别体系是否预先确定。监督分类要求先定类别非监督分类的类别由算法给出适合探索性分析。考试里问研究区有几种地物非监督分类更合适问提取建成区面积监督分类更合适。判断标准三能否接受类别合并。ISODATA 会按类内方差自动合并或分裂类别K-means 的类别数固定前者更灵活但结果不稳定。最大似然分类假设各类服从正态分布样本偏态明显时应改用支持向量机或随机森林这两类算法对样本分布没有强假设小样本时表现通常更稳。4.2 混淆矩阵手算总体精度、Kappa、用户与生产者精度参考类A参考类B参考类C行合计分类类A505358分类类B440650分类类C284555列合计565354163import numpy as np cm np.array([[50, 5, 3], [4, 40, 6], [2, 8, 45]]) n cm.sum() oa np.trace(cm) / n # 总体精度 row cm.sum(axis1) # 分类结果各类像元数 col cm.sum(axis0) # 参考真值各类像元数 pe (row * col).sum() / n**2 # 随机一致概率 kappa (oa - pe) / (1 - pe) ua np.diag(cm) / row # 用户精度 pa np.diag(cm) / col # 生产者精度 print(f总体精度 OA{oa:.4f}, Kappa{kappa:.4f}) print(用户精度, np.round(ua, 4)) print(生产者精度, np.round(pa, 4))对角线之和除以总像元得到总体精度这里等于 135/163约 0.828。pe 是把行合计与列合计相乘后求和再除以 n 的平方代表随机分类也能达到的一致率Kappa 把这份运气扣掉通常认为 0.8 以上极好、0.6 到 0.8 好、0.4 到 0.6 中等。用户精度按行算回答分出来的这一类里有多少是真对的生产者精度按列算回答真实存在的这一类有多少被找出来了。两者一个偏高一个偏低是常态某类分得保守用户精度高而生产者精度低判卷时要把这一层说出来。4.3 面向对象分类的三步流程面向对象分类的顺序是分割、特征提取、分类。分割环节用多尺度分割算法尺度参数决定图斑大小尺度越小图斑越碎尺度越大越容易把不同地物并进一个对象。特征环节取光谱均值、标准差、纹理熵、形状指数、对象间邻接关系高分辨率影像上形状和纹理的权重往往超过光谱。分类环节用最近邻、隶属度函数或随机森林都行样本以对象为单位而不是以像元为单位。和基于像元的分类比面向对象的优势在于抑制椒盐噪声、能利用空间关系代价是分割尺度需要反复试。判断尺度是否合适看分割边界是否贴合地物真实边界而不看分类精度——精度可以在分类环节调分割错了后面补不回来。4.4 深度学习解译在卷面上的答法语义分割网络在遥感解译里承担的是逐像元标注任务答题时要落到三点编码器负责提取多尺度特征解码器把特征恢复到原图尺寸跳跃连接把浅层的位置信息和深层的语义信息拼在一起。样本不平衡是遥感数据的常态道路、水体的像元占比往往不到百分之几损失函数用加权交叉熵或 Dice 损失缓解。和小样本监督分类相比深度模型的优势在样本量充足时显现样本只有几十个时随机森林反而更可靠。答题时把这一层边界讲清楚比堆网络名词得分更高。5. 变化检测的对比逻辑与一次可自测的验证5.1 变化向量分析的最小实现import numpy as np def cva(t1, t2): t1/t2: (bands, rows, cols) 两期影像需先做过辐射归一化 d t2.astype(np.float64) - t1.astype(np.float64) mag np.sqrt((d ** 2).sum(axis0)) # 变化强度逐像元 return d, mag def otsu_threshold(mag, bins256): 用大津法自动确定变化阈值 hist, edges np.histogram(mag.ravel(), binsbins) p hist / hist.sum() omega np.cumsum(p) # 前景累计概率 mu np.cumsum(p * np.arange(bins)) mu_t mu[-1] sigma (mu_t * omega - mu) ** 2 / (omega * (1 - omega) 1e-12) k np.nanargmax(sigma) return edges[k] d, mag cva(t1_img, t2_img) # t1_img/t2_img 为已归一化的两期数据 thr otsu_threshold(mag) changed mag thr print(f阈值{thr:.4f}, 变化像元占比{changed.mean():.2%})变化强度是各波段差值的欧氏距离波段数越多数值范围越大所以阈值不能跨数据集套用必须逐对影像重新算。大津法在变化像元占比不大的时候比较稳代价是它对双峰分布敏感如果两期影像辐射归一化没做干净直方图会拖尾阈值会被推高漏检变多。稳健的做法是先看未变化区域的均值加两倍标准差作为上界再和大津法的结果对照两者差得多就说明归一化环节有问题。5.2 三类变化检测方法的适用边界方法优势主要风险适用条件代数法差值、比值、CVA简单快速不依赖分类对辐射差异和配准误差敏感两期传感器一致、已做归一化变换法PCA、MAD能压制整体辐射差异变换结果解释成本高多波段、变化类型复杂分类后比较直接给出从什么变成什么误差会累积两次分类精度类别体系明确、样本充足选法的关键是看要不要从什么变成什么。只要结论需要类别转换信息分类后比较是唯一选择但要接受精度相乘的代价——两期各自八成精度变化图的可靠性会掉到六成多。如果只关心变没变、范围在哪代数法配合归一化最经济。5.3 用一个自测流程检查复习盲区把每章的结论还原成一次可执行的计算是最省时间的自测方式波谱章节画出六波段曲线看水和植被在近红外是否分叉预处理章节拿一组 DN 值手算表观反射率和代码结果对一遍分类章节给一个 3×3 混淆矩阵手算总体精度与 Kappa再和脚本输出核对变化检测章节对同一对影像换两个阈值观察变化像元占比如何随阈值移动。四处都能对上说明参数与公式已经内化哪一处对不上那一章就是下次复习的起点。阈值每提高 0.1变化像元占比下降多少这个斜率本身也是考试里解释阈值敏感性的现成素材。本文还有配套的精品资源点击获取
返回列表