尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

高光谱成像噪声估计:原理、方法与实践全解析

高光谱成像噪声估计:原理、方法与实践全解析 1. 项目概述为什么噪声估计是高光谱成像的基石在实验室里我们常常会为获得一张“干净”的高光谱数据立方体而欣喜。但任何一位真正处理过实际高光谱数据的朋友都知道从传感器出来的原始数据从来都不是完美的。它总是裹挟着各种来源的噪声像一层薄雾模糊了地物真实的光谱特征。我见过不少新手拿到数据后直接开始做分类、识别结果模型精度死活上不去或者反演出的物质浓度飘忽不定最后排查半天才发现问题根源在于对数据本身的“健康状况”缺乏了解——也就是没有做噪声估计。“高光谱成像的噪声估计”这个主题听起来很基础甚至有些枯燥但它恰恰是决定后续所有高级分析成败的第一步。你可以把它想象成医生给病人做检查前必须先了解仪器的本底噪声和病人的基础生理指标。如果连数据里有多少“杂质”都说不清楚那么后续任何基于光谱波形细微变化的分析其可靠性都要打上一个大大的问号。无论是做精准农业的作物胁迫监测还是矿产勘探的蚀变矿物识别亦或是环境监测的水质参数反演噪声水平直接决定了你能探测到多微弱的信号能区分多相似的物质。简单来说噪声估计要回答的核心问题是我这组高光谱数据每个波段、每个像元其信号值中有多少是真正的地物反射/辐射信息又有多少是传感器自身和环境引入的随机扰动只有定量地回答了这个问题我们才能有的放矢地进行去噪、在模型中加入不确定性权重、或者判断某个微小的光谱吸收特征是否真的显著。接下来我将结合多年处理航天、航空和地面高光谱数据的经验为你拆解噪声估计的完整逻辑、主流方法、实操步骤以及那些容易踩坑的细节。2. 噪声来源与特性深度解析要估计噪声首先得知道噪声从哪儿来以及它长什么样。高光谱成像系统中的噪声并非单一类型而是一个“混合军团”它们的统计特性不同对数据的影响方式也不同。2.1 主要噪声类型及其物理成因1. 光子噪声散粒噪声这是由光子的粒子性引起的根本性噪声无法完全消除。即使照射在探测器上的光强绝对稳定光子到达探测器的时间也是随机的服从泊松分布。其噪声方差等于信号的平均值。在可见光-近红外波段阳光充足时信号强光子噪声也相对较大但信噪比信号/噪声可能依然很高在短波红外或弱光条件下光子噪声会成为主要限制。在实操中对于反射率数据我们可以近似认为在均匀地物区域光子噪声的强度与信号值的平方根成正比。2. 暗电流噪声即使在没有光入射的情况下由于热效应探测器像元也会产生电荷这就是暗电流。暗电流的大小与温度呈指数关系且每个像元的暗电流水平都不相同这就是为什么需要暗电流校正。暗电流噪声包括暗电流散粒噪声与暗电流平均值的平方根成正比和暗电流非均匀性固定图案噪声。在实验室通过长时间密封镜头采集暗场图像是评估暗电流噪声的主要手段。3. 读出噪声这是电荷从探测器像元转移到读出放大器的过程中引入的噪声与信号大小无关是一个近似固定的加性噪声。它主要来源于读出电路中的热噪声和1/f噪声。读出噪声通常用数字位数DN或等效电子数来表示。它是决定传感器在弱光下探测能力的极限参数。在信号值很低时例如阴影区域或深水波段读出噪声会占据主导。4. 固定图案噪声这是一种空间上固定的非均匀性响应噪声。即使给所有像元完全均匀的辐照每个像元输出的信号值也会有差异。这主要由探测器制造过程中像元响应率的微小差异造成。FPN在图像上表现为固定的条纹或网格图案。通过采集均匀光源下的平场图像可以校正大部分FPN但校正后的残差仍会作为一种结构化噪声存在。5. 量化噪声模拟数字转换器将连续的电压信号转换为离散的数字值时产生的误差。其噪声方差约为 (LSB²)/12其中LSB是最低有效位对应的值。对于现代高光谱相机通常12bit或14bit在信号满量程范围内量化噪声通常远小于其他噪声源。在实际数据中我们观测到的噪声是上述所有噪声源的混合体。噪声估计的目标就是尽可能地将这个混合体的总体强度甚至各分量的特性给估算出来。2.2 噪声的空间与光谱维度特性理解噪声在空间和光谱维度的表现是选择正确估计方法的关键。空间特性随机噪声如光子噪声、读出噪声在空间上表现为像元与像元之间随机、不相关的波动。这是大多数噪声估计方法主要针对的对象。结构化噪声如残留的固定图案噪声、条带噪声在空间上具有相关性例如整列或整行的值偏高/偏低。这种噪声会严重干扰基于空间均匀性假设的估计方法需要先进行检测和去除或采用对结构化噪声不敏感的方法。光谱特性白噪声噪声功率在所有波段大致相等。读出噪声和量化噪声近似为白噪声。信号相关噪声噪声功率随信号强度变化。最典型的就是光子噪声方差与信号成正比。这意味着高反射率区域如云、沙地的绝对噪声大但信噪比可能也高低反射率区域如水体、阴影绝对噪声小但信噪比可能极低。波段相关噪声某些波段的噪声水平显著高于其他波段这通常与探测器在该波段的光电响应效率、大气吸收等因素有关。例如水汽吸收波段如940nm 1130nm附近信号极弱噪声相对占比会急剧升高。实操心得拿到一组新数据我习惯先快速浏览几个典型波段一个可见光、一个近红外、一个短波红外的灰度图并观察其空间纹理。如果看到明显的、重复出现的竖条纹或横条纹那说明结构化噪声比较严重在做噪声估计前必须先进行条带去除或非均匀性校正否则估计结果会严重偏大。3. 主流噪声估计方法原理与适用场景噪声估计的方法有很多核心思想都是利用“噪声”与“真实信号”在统计特性上的差异从观测数据中将噪声成分分离或推断出来。没有一种方法是万能的需要根据数据特性和你对先验信息的掌握程度来选择。3.1 基于空间均匀区域的局部统计法这是最直观、理论上最可靠的方法但前提是你能在图像中找到足够大、足够均匀的地物区域。原理假设在一个完全均匀的区域如平整的沥青路面、平静的深水区、均匀的沙地内所有像元对应的真实地表反射率是相同的。那么该区域内所有像元在某个波段上的观测值之间的差异就完全是由噪声引起的。因此可以用该区域像元值的标准差来直接估计该波段的噪声水平。操作步骤选择均匀区通过目视解译或借助指数如NDVI的方差在图像上选取多个均匀区域ROI。区域应足够大例如至少20x20像元以确保统计显著性。计算统计量对每个ROI计算每个波段所有像元值的均值(μ)和标准差(σ)。噪声估计将该标准差σ直接作为该波段噪声强度通常指噪声标准差的估计值。可以对多个均匀区的结果取平均以获得更稳健的估计。优点与局限优点概念清晰计算简单结果物理意义明确。局限极度依赖“找到绝对均匀区域”这个假设。在真实复杂场景中很难找到绝对均匀的区域地表细微的变化、混合像元效应都会被误判为噪声导致高估。此外该方法只能给出一个全局或分波段的噪声水平无法得到每个像元的噪声估计。注意事项选择均匀区时务必避开地物边缘、阴影交界处。对于航空高光谱数据还要注意由于飞行姿态变化带来的辐射度差异即使同一均匀地物在图像不同位置亮度也可能不同。这时可以尝试对每个均匀区内部做去趋势处理如减去一个二维平面拟合后再计算标准差以消除缓慢变化的照明差异。3.2 基于图像差分的去相关法这是目前工程上最常用、适应性较强的一类方法。其核心思想是通过构造数据间的差异来消除或减弱真实场景信号从而凸显出噪声。3.2.1 邻域差分法原理假设真实的地物信号在空间上具有连续性相邻像元值相似而噪声是空间不相关的。那么用中心像元值减去其邻域像元的均值或中值差值中主要包含的就是中心像元的噪声和邻域平均噪声的残余。通过一定的统计模型可以反推出噪声方差。常见变种均值-方差法将图像分割成小窗口如3x3, 5x5。假设窗口内信号恒定则窗口内所有像元的方差就是噪声方差。但该假设过强容易受地物细节影响。局部均值-局部标准差法计算每个像元在其邻域如3x3内的均值μ_local和标准差σ_local。绘制σ_local与μ_local的散点图。对于均匀区域σ_local主要反映噪声对于变化区域σ_local包含信号变化和噪声。通过拟合散点图下边缘对应最均匀的区域可以得到噪声标准差与信号强度的关系曲线σ_n f(μ)。这种方法可以估计信号相关的噪声。操作步骤以局部均值-标准差法为例对图像每个波段使用一个移动窗口如3x3。对于窗口中心的每个像元计算窗口内所有像元的均值mean_win和标准差std_win。收集全图所有像元的(mean_win, std_win)数据对。在二维散点图上沿mean_win轴将数据分箱。对每个箱内的数据取其std_win的较低百分位数例如5%分位数作为该信号强度下噪声标准差的估计。将所有分箱得到的点(mean_bin, std_noise_est)进行曲线拟合如多项式拟合得到噪声标准差随信号强度变化的函数σ_n(μ)。优点与局限优点无需手动选择均匀区可以自动估计全图、每个波段的噪声水平并能刻画噪声与信号的关系。局限假设噪声空间不相关。如果存在结构化噪声如条带该方法会失效。另外在纹理极其丰富的地物边缘信号变化剧烈下边缘的估计可能不准。3.2.2 时序差分法适用于实验室或稳定场景原理如果能在极短时间内对同一静止场景连续采集两幅图像那么两幅图像之间的真实场景信号是完全相同的。将两幅图像相减差值图像中就只包含了两幅图像的噪声假设噪声相互独立。那么差值图像的标准差除以√2就是单幅图像噪声标准差的估计。操作步骤在实验室稳定光照下对准均匀标定板连续快速采集两幅高光谱图像I1和I2。计算差值图像D I1 - I2。计算D的每个波段的标准差σ_D。单幅图像的噪声标准差估计为σ_n σ_D / √2。优点与局限优点原理干净结果准确是验证其他噪声估计方法的“金标准”。局限仅适用于可控的实验室环境或极其稳定的野外场景如无风的水面对于绝大多数航空/航天遥感动态场景无法使用。3.3 基于光谱维变换/去相关的方法这类方法利用了高光谱数据光谱维度的高相关性认为相邻波段间的地物信号高度相关而噪声是波段间不相关的。原理以MNF/噪声白化变换为例首先需要估计数据的噪声协方差矩阵Σ_N。这通常可以通过上述的空间差分法如邻域差分得到一个初始的噪声估计图像N。计算噪声协方差矩阵Σ_N cov(N)。对Σ_N进行特征值分解得到白化变换矩阵将原始数据变换到一个新的空间使得变换后的噪声各分量不相关且方差为1。在变换后的空间中特征值方差的大小反映了信号强度。那些特征值接近1的分量被认为几乎全是噪声特征值远大于1的分量则包含强信号。通过分析特征值的分布可以评估噪声水平。优点与局限优点是一种非常严谨的数学框架不仅能估计噪声水平还能为后续的降维、分类等处理提供最优的基底。局限计算复杂且严重依赖于第一步噪声协方差矩阵估计的准确性。如果初始噪声估计偏差大整个变换结果都会受影响。3.4 基于数学模型拟合的方法这类方法将图像的统计特性如方差建模为信号方差和噪声方差的函数通过拟合模型参数来分离两者。原理例如方差-均值模型 假设每个像元观测值y由真实信号s和加性噪声n组成y s n。并假设信号和噪声相互独立。 那么观测值的方差Var(y) Var(s) Var(n)。 如果我们有一组来自不同均匀度区域的观测值其Var(s)不同。可以建立Var(y)与E(y)或Var(s)的某种代理变量的模型关系通过外推或拟合估计出当Var(s) 0即绝对均匀时的Var(y)那就是Var(n)。优点与局限优点具有坚实的统计学基础可以处理更一般的情况。局限模型假设需要谨慎验证计算量较大且结果对模型形式和拟合方法敏感。4. 实操流程从数据准备到噪声图谱生成下面我将以一个典型的航空高光谱数据例如可见光-近红外400-1000nm 128个波段为例详细演示使用局部均值-标准差法进行全图、分波段噪声估计的完整流程。选择这个方法是因为它在自动化、适应性和效果之间取得了较好的平衡。4.1 数据预处理与检查在开始噪声估计前必须对数据进行必要的预处理否则噪声估计会包含大量非噪声的系统误差。辐射定标确保数据已从原始DN值转换为具有物理意义的辐射亮度值或反射率。噪声估计应在物理量纲上进行因为DN值的量化噪声和增益设置会影响结果。使用传感器自带的定标系数完成此步。坏像元修复检查并修复或标记出坏像元死像元、热像元。坏像元会严重扭曲局部统计。可以采用邻域插值或使用实验室标定的坏像元列表进行修复。条纹噪声去除关键步骤如果数据存在明显的垂直或水平条纹必须先进行去除。可以采用基于滤波的方法如傅里叶变换滤波去除周期性条纹或基于统计的方法如每列/每行减去其均值或中值的偏移量。务必在噪声估计前完成这一步因为结构化噪声会破坏“噪声空间不相关”的基本假设。数据子区选择可选如果数据量非常大可以选取一个具有代表性的子区域包含多种典型地物如植被、水体、裸土、建筑进行分析以加快计算速度。4.2 使用Python实现局部均值-标准差法这里给出一个基于numpy和scipy的核心代码框架和步骤解析。import numpy as np from scipy import stats, optimize import matplotlib.pyplot as plt def estimate_noise_by_local_statistics(data_cube, window_size3, percentile5): 使用局部均值-标准差法估计高光谱数据噪声。 参数 data_cube: 3D numpy数组形状为 (行, 列, 波段) window_size: 滑动窗口大小奇数 percentile: 用于确定下边缘的百分位数例如5表示5%分位数 返回 noise_std_func: 一个函数输入信号均值返回估计的噪声标准差 noise_curve_params: 拟合曲线的参数 rows, cols, bands data_cube.shape half_w window_size // 2 # 初始化数组用于存储所有像元的局部均值和标准差 # 为了效率我们可以对每个波段分别处理或者随机采样大量像元。 # 这里采用对每个波段随机采样10万个像元点的方法以平衡精度和速度。 sample_size 100000 all_means [] all_stds [] for b in range(bands): print(f处理波段 {b1}/{bands}) band_data data_cube[:, :, b] # 随机采样像元位置避免边缘 sample_rows np.random.randint(half_w, rows - half_w, sizesample_size) sample_cols np.random.randint(half_w, cols - half_w, sizesample_size) for r, c in zip(sample_rows, sample_cols): # 提取局部窗口 local_window band_data[r-half_w:rhalf_w1, c-half_w:chalf_w1] local_mean np.mean(local_window) local_std np.std(local_window, ddof1) # 样本标准差 all_means.append(local_mean) all_stds.append(local_std) all_means np.array(all_means) all_stds np.array(all_stds) # 分箱统计按局部均值的大小划分区间 mean_min, mean_max np.min(all_means), np.max(all_means) num_bins 50 bins np.linspace(mean_min, mean_max, num_bins1) bin_centers (bins[:-1] bins[1:]) / 2 noise_std_estimates np.zeros(num_bins) for i in range(num_bins): mask (all_means bins[i]) (all_means bins[i1]) if np.sum(mask) 100: # 箱内样本足够多 # 取该箱内局部标准差的较低百分位数作为噪声估计 noise_std_estimates[i] np.percentile(all_stds[mask], percentile) else: noise_std_estimates[i] np.nan # 清理无效值 valid_mask ~np.isnan(noise_std_estimates) bin_centers_valid bin_centers[valid_mask] noise_std_valid noise_std_estimates[valid_mask] # 拟合噪声曲线假设噪声标准差与信号均值存在多项式关系 # 常见模型σ_n sqrt(a * μ b) 对应光子噪声读出噪声模型 # 或简单多项式σ_n p0 p1*μ p2*μ^2 def model_func(x, a, b): # sqrt(a*x b) 模型 return np.sqrt(a * x b) try: # 使用 curve_fit 进行非线性拟合 popt, pcov optimize.curve_fit(model_func, bin_centers_valid, noise_std_valid, p0[0.01, 10.0]) # 初始猜测值 a_opt, b_opt popt print(f拟合参数: a{a_opt:.6f}, b{b_opt:.6f}) print(f解释噪声方差 ≈ {a_opt:.6f} * 信号均值 {b_opt:.6f}) noise_std_func lambda x: model_func(x, a_opt, b_opt) except Exception as e: print(f非线性拟合失败改用线性拟合: {e}) # 备用方案拟合 σ_n 与 μ 的线性关系 coeffs np.polyfit(bin_centers_valid, noise_std_valid, deg1) noise_std_func np.poly1d(coeffs) print(f线性拟合系数: {coeffs}) # 可视化 plt.figure(figsize(10, 6)) plt.scatter(all_means[::10], all_stds[::10], alpha0.1, s1, label样本点) # 下采样显示 plt.plot(bin_centers_valid, noise_std_valid, ro-, labelf{percentile}%分位数箱中心) x_plot np.linspace(mean_min, mean_max, 200) plt.plot(x_plot, noise_std_func(x_plot), k-, linewidth3, label拟合曲线) plt.xlabel(局部窗口均值 (信号强度)) plt.ylabel(局部窗口标准差) plt.title(局部均值-标准差散点图与噪声曲线拟合) plt.legend() plt.grid(True) plt.show() return noise_std_func, popt # 假设 hyperspectral_data 是你的3D高光谱数据行列波段 # noise_model_func, params estimate_noise_by_local_statistics(hyperspectral_data, window_size3, percentile5)代码关键点解析滑动窗口窗口大小如3x3是一个权衡。窗口太小统计不稳定窗口太大容易包含地物变化违反“局部均匀”假设。通常3x3或5x5是常用起点。随机采样全图计算每个像元的局部统计量计算量巨大。随机采样足够多的像元如10万-50万个足以代表整体统计特性能极大提升速度。分箱与下边缘拟合将局部均值划分到不同的区间箱在每个箱内取局部标准差的低百分位数如5%。这些低百分位数的点对应了图像中最均匀的区域其标准差最接近纯噪声。连接这些点就构成了噪声的下边缘。模型拟合我们用一个函数来刻画噪声标准差与信号均值的关系。σ_n sqrt(a * μ b)是一个物理意义明确的模型其中a*μ项代表与信号相关的噪声如光子噪声方差b代表与信号无关的噪声如读出噪声方差。拟合出a和b我们就得到了噪声模型。4.3 生成噪声标准差图谱得到噪声模型函数σ_n(μ)后我们就可以为图像中的每一个像元估计其噪声水平。def generate_noise_std_map(data_cube, noise_std_func): 根据噪声模型函数生成每个像元每个波段的噪声标准差图谱。 参数 data_cube: 3D 高光谱数据 noise_std_func: 函数输入信号值返回噪声标准差估计 返回 noise_std_map: 3D 数组与 data_cube 同形表示每个位置每个波段的噪声标准差。 # 向量化操作对数据立方体中的每一个元素应用 noise_std_func # 注意这里的输入是每个像元自身的值而非局部均值。 # 严格来说噪声模型是基于局部均值建立的。一种近似是直接用像元值代入。 # 更严谨的做法是先计算每个像元的局部均值再用局部均值去查噪声。 # 这里为简化演示使用像元值本身作为输入。 noise_std_map noise_std_func(data_cube) return noise_std_map # 生成噪声图谱 # noise_std_cube generate_noise_std_map(hyperspectral_data, noise_model_func) # 可以可视化某个波段的噪声标准差空间分布 # plt.imshow(noise_std_cube[:, :, 50], cmaphot) # plt.colorbar(label噪声标准差) # plt.title(波段50的噪声标准差空间分布) # plt.show()实操心得生成噪声图谱后一定要仔细检查。健康的噪声图谱应该表现为1高亮区域噪声大对应高反射率区域如云、沙地这是因为光子噪声主导2阴影或深水区域也有一定的噪声基底对应读出噪声3整体平滑不应出现明显的边缘或纹理结构。如果噪声图谱中出现了地物的轮廓说明你的噪声模型可能不够准确或者数据中存在未去除的结构化噪声将部分信号当成了噪声。4.4 计算整幅图像的信噪比图谱信噪比是比噪声标准差更直观的指标。有了每个像元的信号值S即原始数据data_cube和估计的噪声标准差N信噪比可以计算为SNR S / N。def calculate_snr_map(data_cube, noise_std_cube, epsilon1e-10): 计算信噪比图谱。为避免除零添加一个极小值epsilon。 snr_map data_cube / (noise_std_cube epsilon) return snr_map # 计算SNR图谱 # snr_cube calculate_snr_map(hyperspectral_data, noise_std_cube) # 可以分析整个数据立方体或特定波段/区域的SNR统计 # mean_snr_per_band np.mean(snr_cube, axis(0, 1)) # plt.plot(mean_snr_per_band) # plt.xlabel(波段索引) # plt.ylabel(平均信噪比(SNR)) # plt.title(各波段平均信噪比曲线) # plt.grid(True) # plt.show()信噪比图谱能清晰地告诉你图像中哪些区域、哪些波段的数据质量高哪些质量差。这对于后续的数据筛选、波段选择、以及决定在哪些区域应用复杂的算法至关重要。5. 结果验证、常见问题与进阶技巧完成了噪声估计我们如何知道估计得准不准在实际操作中又会遇到哪些坑5.1 噪声估计结果的验证方法由于真实噪声无法直接获取验证是一个挑战但有以下几种间接或相对验证的方法均匀区域检验回到最初手动选取的均匀区域。将噪声模型预测的该区域平均噪声标准差与实际计算该区域的标准差进行对比。两者应该接近。如果预测值系统性偏小说明模型可能低估了噪声如果偏大则可能是均匀区选得不够均匀包含了信号变化。残差分析对图像进行一个轻量的平滑滤波例如一个小的均值滤波或中值滤波得到“去噪”后的图像I_smooth。计算残差Residual I_original - I_smooth。在均匀区域残差应主要包含噪声。分析残差的统计特性如均值接近0、分布近似正态、空间自相关性弱并与你估计的噪声模型预测的分布进行对比例如比较残差的标准差与预测噪声标准差。光谱平滑性检验高光谱数据的光谱曲线应该是相对平滑的大气吸收波段除外。在估计噪声后可以对原始光谱进行去噪例如使用小波变换或Savitzky-Golay滤波以估计的噪声水平作为阈值或参数依据。观察去噪后的光谱是否变得更平滑同时保留了主要的光谱特征如吸收谷。这是一个定性的、但非常有效的检验。与传感器标称值对比如果传感器厂商提供了信噪比SNR的标称值通常在特定光照条件和积分时间下可以在相似的辐射亮度水平下比较你估计的SNR与标称值是否在合理范围内。注意标称值通常是实验室理想条件下的最优值野外数据由于大气、光照等影响SNR会下降。5.2 常见问题与排查清单估计的噪声值过高甚至与信号强度相当可能原因1数据中存在未校正的结构化噪声条带、镜头渐晕。排查可视化原始数据单波段图像检查有无条纹或明暗渐变。先进行条纹去除和辐射校正。可能原因2选择的“均匀区域”实际上不均匀包含了细微的地物变化或混合像元。排查使用更高空间分辨率的图像辅助判断或选择更大、更均质的目标如机场跑道、大型平静水体中心。可能原因3滑动窗口大小不合适。窗口太小在纹理区域会包含信号变化窗口太大在非均匀区域更严重。尝试使用不同窗口大小3, 5, 7进行测试观察结果趋势。估计的噪声值过低信噪比高得离谱可能原因1数据已经被过度平滑或压缩处理过。有些数据产品在发布前会进行滤波以提升视觉效果但这会破坏噪声的统计特性。排查了解数据预处理流程尽量使用原始辐射定标数据。可能原因2噪声模型拟合函数选择不当或拟合过程出错。例如使用了不合适的百分位数太高或者拟合函数无法捕捉噪声与信号的正确关系。排查仔细检查散点图和拟合曲线确保下边缘被正确捕捉。尝试不同的模型线性、多项式、平方根模型。噪声图谱中出现明显的空间 pattern如地物边界可能原因噪声估计方法未能完全分离信号和噪声将部分高频信号如边缘、纹理误判为噪声。这在邻域差分法中尤其常见。缓解措施尝试使用更稳健的统计量如用局部中值代替局部均值进行计算或者考虑使用基于光谱维去相关的方法如MNF这类方法对空间细节不敏感。不同波段的噪声水平曲线不合理预期噪声水平曲线应在水汽吸收波段如940nm, 1130nm, 1400nm, 1900nm附近出现尖峰因为信号极弱噪声相对占比高。在大气窗口波段噪声水平相对平稳且较低。问题如果曲线在所有波段都平坦或者波动毫无规律。排查检查辐射定标是否正确。异常的波段可能需要被标记为坏波段在后续分析中剔除。5.3 进阶技巧与经验分享综合利用多种方法不要只依赖一种方法。可以先用局部均值-标准差法得到一个快速的全局估计然后在关键区域如你关心的特定地类用手动选取均匀区的方法进行验证和微调。分区域建模如果图像内地物类型辐射亮度范围跨度极大例如同时包含深海水体和亮云可以考虑对不同亮度范围的数据分段进行噪声建模以获得更精确的估计。噪声估计服务于下游任务记住噪声估计的最终目的是为了提升下游应用的质量。将估计出的噪声标准差或信噪比图谱作为以下任务的输入去噪为小波阈值去噪、BM3D等算法提供噪声方差参数。光谱解混/分类在目标函数中引入噪声协方差矩阵的逆作为权重让噪声大的波段/像元权重降低。参数反演在物理模型反演中将观测数据的不确定性噪声纳入代价函数得到更可靠的反演结果和不确定性估计。数据质量报告自动生成数据产品的质量指标例如“本景图像在植被区域的典型信噪比大于100:1在水体区域大于30:1”。自动化与批处理对于处理大量高光谱数据将上述流程脚本化、自动化。可以设置一套标准的预处理和噪声估计流程为每一景数据自动生成噪声模型参数和信噪比报告极大提高效率。噪声估计是高光谱数据预处理中承上启下的一环。它既是对数据获取质量的“体检”也是为所有后续高级分析奠定可靠基础的“校准”。花时间把这一步做扎实后面很多看似棘手的问题比如分类精度瓶颈、反演结果不稳定可能就迎刃而解了。在实际项目中我习惯把噪声估计的结果和关键参数如下边缘拟合的a, b值各波段平均SNR记录在数据的元数据中这就像给这份数据建立了一份“健康档案”无论隔多久回来再用或者交给同事处理都能对其质量心中有数。
返回列表