提取地理空间特征签名
原文链接:https://www.nv5geospatialsoftware.com/Learn/Blogs/Blog-Details/deriving-a-geospatial-signature
21139 为本文评分:
2.5
提取地理空间特征签名
作者:匿名 日期:2016年2月16日,星期二
正如我们书写风格的笔迹特征能够唯一地识别出我们作为个体一样,对象也可以使用一组其独特的特征来唯一标识。在这幅图像中,用肉眼很容易将房屋和树木区分开来,但你认为哪些特征能够帮助计算机算法自动区分这两个对象呢?

我们可能会尝试使用例如:
- 对象的颜色
- 在900纳米(近红外)处的反射辐射量
- 表征粗糙度的纹理特征
- 直边长度或高度
- 随时间变化的特征,例如随季节变化的反射率
- 上下文特征,例如对象与道路的距离,或其所在环境(如城市或乡村)。
无论我们选择哪些特征,都可以将它们组合成一个总结对象特性的特征向量。我们的目标是导出一组能够明确区分不同对象的特征;一旦我们拥有了这个最优特征集,就可以定义唯一的对象特征签名。
我们通常将栅格视为一幅图像,但栅格也是特定时刻的一组按地理空间分组排列的特征向量。每个像素或像素组都可以被视为一个未知对象,而特征/特性则被表示为波段。通过一组良好的测量特征,我们可以通过特征签名来识别对象,并了解对象之间如何相互作用,或者某个状态如何在三维空间和时间中演变。
例如,下面的栅格包含了使用ENVI从空客防务与空间公司Pleiades-1A卫星获取的源影像中提取的特征。源影像是四个光谱波段的采集结果:蓝光 (495nm)、绿光 (559nm)、红光 (656nm) 和近红外 (843nm),于2014-10-04 16:14 UTC(当地时间约中午)在美国佛罗里达州(中心位置 25°42'44"N, 80°25'44"W)上空获取。

该栅格显示了八个派生特征,它们共同构成了一个特征向量。在ENVI中,我们可以轻松地推导这些特征并将它们堆叠成一个栅格。虽然这可以通过用户界面完成,但在本文中,我将重点介绍如何编写代码。这些命令中的任何一个都可以编写为脚本,用于桌面操作、批处理执行,或者通过ENVI Services Engine部署到企业或云环境中进行大规模分析。
首先,重要的是导出一个经过校准的栅格,它代表特定波长处的大气层顶反射率。如果我们打算比较不同采集时间或不同传感器的数据,这个数据归一化步骤至关重要。
rasterRef = **ENVICalibrateRaster**(raster, CALIBRATION='Top-of-Atmosphere Reflectance')
通常可以根据对象的视觉颜色特征来区分它们。为了更好地表征这一点,我们可以创建从红、绿、蓝到色调、饱和度、亮度的色彩空间转换。
rasterHSI = **ENVIRGBToHSIRaster**(raster)
研究发现,某些指数对不同的对象(例如植被)很敏感。虽然ENVI有许多预定义的指数,但在这个例子中,我在特征向量中使用了归一化植被指数(NDVI)。
rasterNDVI = **ENVISpectralIndexRaster**(raster, 'NDVI')
一旦我们有了特征,就可以将它们堆叠在一起形成一个多波段栅格,或者等效地形成一个二维特征向量集合。
rasterStack = **ENVILayerstackRaster**(ArrayOfrasters, GRID\_DEFINITION=gridDefinition)
可以定义更多的特征,但在此示例中,我将其限定为这八个特征,它们分别代表反射率、颜色、对植被敏感的指数以及纹理。此外,为了优化显示和处理效果,我们使用ENVIPixelwiseBandmathRaster将这些特征缩放为零均值和单位方差。该栅格代表了在此特征向量上进行的一系列测量值的集合。问题是:这些特征向量能产生独特的特征签名吗?
我们可以使用光谱剖面查看器探索此图像中特征向量的值。点击图像上的任意位置将显示与该像素位置相关联的特征向量。Shift + 单击可以在图表中添加多个位置,通过选项菜单和曲线属性可以添加图例。

从光谱剖面查看器中,我们看到道路、公园和湖泊产生了三种不同的特征向量。从1到8的索引代表八个已定义特征中的每一个,数据值代表该特征的归一化值。

如果我们继续探索图像,可能会发现同一对象类别(道路、公园、湖泊)内的特征向量看起来很相似,但在不同对象类别之间则是独特的。如果是这样,那就意味着我们已经找到了可以用于唯一标识这些对象的特征签名。
使用ENVI以这种方式快速创建和分析特征,有助于我们探索以下两个问题的答案:
- 我可以从我的数据中提取哪些特征来表征对象,并且作为特征向量的一部分,能将其与其他对象类别明确区分开来?在上面的例子中,亮度、近红外和饱和度似乎是很好的区分因子,而纹理(索引8)区分效果不佳,至少对这三个对象类别而言是这样。
- 当我们设计下一个遥感系统时,它应该测量哪些特征?这可能包括基于波长、偏振、运动或其他方面的特征。
在这篇博客中,我探讨了定义和探索数据特征的价值。在未来的文章中,我将继续探讨如何利用ENVI的处理工具分析这些特征向量,并开发将我们从数据引向洞察的完整流程。
你认为或知道哪些特征对于区分遥感对象或环境状态很重要?你希望在ENVI中看到什么功能,以便轻松地定义和探索这些特征?