跳转至

火星作物计数!?

原文链接: https://www.nv5geospatialsoftware.com/Learn/Blogs/Blog-Details/crop-counting-on-mars

8589 给文章评分:

5.0

火星作物计数!?

Zachary Norman 2016年6月24日,星期五

信不信由你,在我们这个红色的大邻居星球上,出现了一个精准农业的新市场。不过,这并不是传统的农业分析,而是对 ENVI® 作物科学 中作物计数工具的创新性应用。

我们要计数的"作物"并非活物,而是火星表面那些没有生命的陨石坑痕迹。由于火星大气层非常稀薄,大约只有地球平均海平面大气压力的0.6%,较小的陨石并不一定会像在我们地球的夜空中那样在大气层中燃烧殆尽。相反,火星表面布满了小而圆的陨石坑,这些陨石坑成为使用作物计数工具进行查找的理想目标。这些陨石坑的尺寸从几米到几公里不等。在本案例中,我专注于直径约为40-50米的陨石坑。

第一步:获取数据

所有国际太空任务最酷的一点在于,它们收集的大部分数据都易于查找且免费提供。对于火星,我决定使用一个由搭载在火星勘测轨道飞行器上的HiRISE(高分辨率成像科学实验)传感器获取的立体像对生成的DEM(数字高程模型)。HiRISE传感器拍摄的图像空间分辨率高达0.3米,这使得捕获的图像包含大量细节。我所使用的DEM其空间分辨率为每像素0.99米。我决定使用的具体DEM可以在此处找到:这里

以下是我用于统计陨石坑的图像一部分的屏幕截图:

我选择这幅图像是因为它有许多形状统一、圆形的陨石坑。在稍作探索之后,我决定寻找尺寸在35到45米之间的陨石坑。在计数陨石坑之前,我首先需要确定计数的思路。

第二步:预处理以使数据做好分析准备

对于作物计数工具来说,获得准确结果的最佳方式是预处理数据并进行一些阈值处理。这么做的首要原因是,阈值处理有助于防止误报被计入。其次,阈值处理能显著提高查找作物中心的速度。速度得以提升是因为,当像素为NaN(非数字)时,作物计数器会跳过这些像素,从而减少处理时间。对于陨石坑计数而言,这一预处理步骤就变成了如何让陨石坑在图像中凸显出来的问题。

经过一番思考,我决定通过一些平滑处理、波段运算和阈值处理来分离出陨石坑坑体本身。以下是我统计陨石坑所采取的确切步骤:

1) 使用一个大小为我们寻找的最大陨石坑尺寸两倍的核对数据进行平滑处理。

平滑数据所使用的核大小为91,因为我们寻找的是直径在35到45米之间的陨石坑。下面可以看到平滑后的DEM,它采用了与上图相似的色彩表:

2) 计算平滑数据集与实际DEM之间的差值。

经过平滑处理的DEM,我们所寻找的陨石坑特征基本上应被消除。这意味着计算平滑图像与原图之间的差值,将得到近似的陨石坑深度。因为作物计数工具处理的是较亮的图像,在应用了另一个步骤之后,我们就可以将这个陨石坑深度图像用于植物计数工具了。下面你将看到DEM与平滑后图像之间的差值。绿色区域具有较高的值(以米为单位的高度),而红色区域具有较低的值。

3) 对我们的陨石坑深度图像进行阈值处理

这一步对于减少陨石坑计数的误报非常重要,因为我们的差值图像在某些地方噪音较大。这一步通过规定陨石坑深度必须大于'x'米来消除图像中较小的陨石坑和噪音。我在此步骤中使用了0.75米,这确实分离出了我正在寻找的陨石坑。为了说明这如何帮助我们分离出目标陨石坑,你可以查看下图。这是应用阈值后显示的原始DEM与图像差值的屏幕截图。至此,你可以看到我们已经分离出了大部分陨石坑,只剩下零星几处噪音点。

第三步:使用作物计数工具!

现在我们已经预处理了数据,并拥有了一幅非常适合统计陨石坑的图像,是时候使用作物计数工具了。以下是我在作物计数工具中用于查找陨石坑位置的设置:

CropCountTask = ENVITask('AgCropCount')
CropCountTask.INPUT_RASTER = ThresholdRaster
CropCountTask.WIDTH_IN_METERS = 0
CropCountTask.PERCENT_OVERLAP = .01
CropCountTask.SMOOTH_DATA = 1
CropCountTask.SEARCH_WIDTH = [35,45,1]
CropCountTask.MAX_TILE_SIZE = [400,400]

运行任务后,结果如下所示。这幅图像是DEM的灰度版本,陨石坑位置以青色圆圈标出。

正如你所看到的,作物计数工具在查找真实的陨石坑位置方面做得相当出色!


我喜欢计划圆满完成的时候.... IDL 关键字传递的隐患