“要素保留平滑”的工作原理

需要 Spatial Analyst 许可。

要素保留平滑工具用于平滑输入表面栅格,例如数字高程模型 (DEM) 或数字表面模型 (DSM) 栅格。 生成的栅格是原始 DEM 的平滑版本,其中已去除噪点(例如小凸起、凹坑和低坡度坡折),但不会显著改变其他景观特征。

该工具具有多个输入参数,用于控制平滑过程,例如输入邻域距离、输入法线差异阈值、输入迭代次数以及输入最大高程变化阈值。 每个参数用于控制平滑或要素保留过程的独特视角。 但这些参数通常需要组合使用,才能获得所需的输出平滑度。

邻域距离

邻域距离参数用于定义平滑算法所使用的邻域大小。 可以指定为像元数量或地图距离,具体取决于距离单位参数设置。 将从当前处理像元的中心到正交相邻要素的中心进行测量。 允许的最小邻域距离为 1 个像元(如果使用距离值进行指定,则等于输入栅格的像元大小),由此得到 3 x 3 像元窗口。

邻域距离和移动窗口的像元数量之间的关系
将显示邻域距离(橙色线)和移动窗口的像元数据之间的关系。 像元大小为 10 米时;10 米的邻域距离将使用 3 x 3 像元窗口。 20 米的邻域距离将使用 5 x 5 像元窗口,而 30 米的邻域距离将使用 7 x 7 像元窗口。

如果指定的邻域距离不会导致像元大小的间隔为整数,则其将向上舍入到像元大小的下一个间隔。 例如,对于 10 米的像元大小,如果指定了邻域距离为 19 米,则算法将向上舍入到像元大小的下一个间隔,即 20 米(像元大小的两倍),从而得到 5 x 5 像元窗口。

邻域的大小将影响平滑算法的有效性。 较大的邻域可以提升输出的整体平滑度。 借助较小的邻域,工具可以更加关注景观中的局部变化,从而平滑掉较小的要素。 由于噪点通常为小规模现象,因此邻域大小通常应该较小。 例如,邻域距离参数的值为 5,将得到 11 x 11 像元处理窗口,这通常可以有效确保仅平滑掉噪点。

邻域距离的效果
将显示邻域距离对输出平滑度的效果。 从左到右:第一张图显示了 1 米分辨率的输入表面栅格;第二张图显示了邻域距离为 2 个像元的输出;第三张图显示了邻域距离为 5 个像元的输出。

法线差异阈值

借助要素保留平滑工具,过滤算法将计算法线向量,而非像元值的加权平均值。 法线向量是垂直于像元位置切平面的 3D 向量,其量级为 1。 下图显示了横截面视图中的表面法线向量:

表面法线向量
横截面视图显示了点 T 处的表面法线向量。

该工具将计算当前处理像元邻域中所有像元的法线向量场。 法线差异定义为当前处理像元的法线向量与相邻像元的法线向量之间形成的角度。 下图显示了法线向量场和法线差异的示例:

法线向量场和法线差异
显示了示例 5×5 邻域的法线向量场。 该子集显示了当前像元(紫色)与相邻像元(绿色)之间的法向差异 (θ) 的一个实例。

并非所有邻近像元都会用于过滤。 过滤算法将使用法线差异阈值参数来确定使用的邻近像元:仅使用与当前像元的法线差异小于此参数设置的像元。

法线差异阈值参数表示边缘陡度保留的阈值。 可以平滑掉比此值更平坦的要素边。 将保留比此值更陡峭的要素边。 大多数情况下,应为此参数指定一个较小的值(例如 15 度或更小),以确保仅平滑掉平坦要素。

法线差异阈值的效果
显示了法线差异阈值对输出要素边的效果。 从左到右:第一张图显示了 1 米分辨率的输入表面栅格;第二张图显示了法线差异阈值为 5 度的输出;第三张图显示了法线差异阈值为 30 度的输出。

迭代次数

单次应用平滑过程可能无法达到所需的输出平滑度。 将迭代次数参数指定为大于 1 的值可使该工具重复平滑过程多次。

累积效果将增大输出栅格的平滑度,但需要附加处理时间。 大多数情况下,较小的值(例如 3)就应该可以达到良好的效果。

迭代次数的效果
显示了增加迭代次数对输出平滑度的效果。 从左到右:第一张图显示了 1 米分辨率的输入表面栅格;第二张图显示了一次迭代后的输出;第三张图显示了五次迭代后的输出。

最大高程变化

最大高程变化参数用于定义一次迭代中像元值的最大允许变化。

此参数表示要素高度变化的阈值。 可以平滑掉低于此值的要素。 将保留高于此值的要素。 大多数情况下,应为此参数指定一个较小的值(例如 0.5 米),以确保仅平滑掉较短的要素。

最大高程变化的效果
显示了最大高程变化对要素保留的效果。 从左到右:第一张图显示了 1 米分辨率的输入表面栅格;第二张图显示了最大高程变化为 0.05 米的输出;第三张图显示了最大高程变化为 1.0 米的输出。

要素保留平滑算法

要素保留平滑工具基于 3D 法线向量方法,用于平滑 DEM 栅格(参见 Lindsay et al, 2019)。

对于给定像元,3D 法线向量 n = (a, b, c) 是与像元位置处的切平面垂直的向量。 该平面由以下公式定义:

ax + by + cz + d = 0

该工具首先计算当前像元邻域中每个像元的法线向量。

接下来,对于当前像元,它将对邻近像元的法线向量进行加权平均。 相邻像元 j 的权重确定如下:

如果 θj 小于 θt,则适用以下公式:

权重公式

  • 其中:

    θj 是当前像元和相邻像元 j 之间的法线差异

    θt 为法线差异阈值

如果 θj 大于或等于 θt,则 Wj = 0,由此将相邻像元 j 排除在加权平均值之外。

最后,通过替换第一个公式中的 abc,使用经过平滑的表面法线向量,得出当前像元位置处的新高度值并求解 z。

当使用新 z 值更新像元位置处的值时,会将其与该位置处的原始高程值​​进行比较。 如果差异不大于最大高程变化输入参数值,则将使用新 z 值。 否则,原始高程值将保持不变。 平滑过程将重复进行,次数由迭代次数输入参数值定义。

GPU 的使用

如果您的系统上已安装某些 GPU 硬件,则此工具能够显著提高性能。 有关如何支持、配置以及启用此功能的详细信息,请参阅通过 Spatial Analyst 处理 GPU

参考资料

Lindsay, John B., Anthony Francioni, and Jaclyn M. H. Cockburn. 2019. "LiDAR DEM Smoothing and the Preservation of Drainage Features." Remote Sensing 11, Number 16, 1926. https://doi.org/10.3390/rs11161926

Sun, Xiangfang, Paul L. Rosin, Ralph Martin, and Frank Langbein. 2007. "Fast and effective feature-preserving mesh denoising." IEEE Transactions on Visualization and Computer Graphics Volume 13, Issue 5. pp. 925–938. https://doi.org/10.1109/TVCG.2007.1065

相关主题