从 Google Earth Engine 中提取 10'000 张图像
Extract 10'000 images from Google Earth Engine
我想从 Earth Engine 获取每张 100x100x[nBands] 像素的 10k 张图像。
我制作了一个区域,我想从中获取select张图片。
我计划在 区域 中创建 10k 个随机点,并为每个点 select 在周围区域创建 100x100 像素。然后我将使用 Export.image.toDrive 函数单独导出每个图像。
导出格式为TFRecords,适用于Tensor Flow Records,一种特殊的压缩数据类型。
我认为这种方法很糟糕。可能有更合适的方法从 Earth Engine 中提取数据集。截至目前,我可以将整个 Region 导出为一张巨大的图像。
我计划使用这些数据来训练卷积神经网络。
- Earth Engine 中是否有更好的方法来提取 10k 图像?
- 如果不是,那么在 TensorFlow 方面,我们可以使用带有某种内核的整个 Region 图像来为算法提供新的随机训练样本吗?
欢迎任何帮助!预先感谢您的回答。
Export.image
支持导出图像的 规则间隔,可能重叠 块。如果你想这样做,你可以通过一次导出来完成。但在这种情况下,如果您想在集合中的每个预定义点导出补丁而不是规则间隔的补丁,您应该使用 Export.table
, which also supports TFRecord export format.
您必须在图像上使用 neighborhoodToArray
显式构建 100×100 块,然后在您选择的点对图像进行采样。
(假设您在 Python 中工作,Python 中的示例代码。)
# Exactly 100x100 kernel
kernel = ee.Kernel.fixed(100, 100, [[1] * 100] * 100)
neighborhoodImage = myImageToBeSampled.neighborhoodToArray(kernel)
samples = neighborhoodImage.sampleRegions(collection=myTrainingRandomPoints)
Export.table.toDrive(
collection=samples,
fileFormat='TFRecord',
selectors=[... training data band name and feature property names go here ...])
我个人并不熟悉进行 TensorFlow 训练的全部细节,但我有过 this complete example recommended as a starting point(我用它来写上面的草图)。请注意,此示例进行了多次导出,因为它在多个多边形内进行采样,但如果您只有一个标记点集合,那么您可以只使用一个导出任务,正如我在上面概述的那样。
我想从 Earth Engine 获取每张 100x100x[nBands] 像素的 10k 张图像。
我制作了一个区域,我想从中获取select张图片。
我计划在 区域 中创建 10k 个随机点,并为每个点 select 在周围区域创建 100x100 像素。然后我将使用 Export.image.toDrive 函数单独导出每个图像。
导出格式为TFRecords,适用于Tensor Flow Records,一种特殊的压缩数据类型。
我认为这种方法很糟糕。可能有更合适的方法从 Earth Engine 中提取数据集。截至目前,我可以将整个 Region 导出为一张巨大的图像。
我计划使用这些数据来训练卷积神经网络。
- Earth Engine 中是否有更好的方法来提取 10k 图像?
- 如果不是,那么在 TensorFlow 方面,我们可以使用带有某种内核的整个 Region 图像来为算法提供新的随机训练样本吗?
欢迎任何帮助!预先感谢您的回答。
Export.image
支持导出图像的 规则间隔,可能重叠 块。如果你想这样做,你可以通过一次导出来完成。但在这种情况下,如果您想在集合中的每个预定义点导出补丁而不是规则间隔的补丁,您应该使用 Export.table
, which also supports TFRecord export format.
您必须在图像上使用 neighborhoodToArray
显式构建 100×100 块,然后在您选择的点对图像进行采样。
(假设您在 Python 中工作,Python 中的示例代码。)
# Exactly 100x100 kernel
kernel = ee.Kernel.fixed(100, 100, [[1] * 100] * 100)
neighborhoodImage = myImageToBeSampled.neighborhoodToArray(kernel)
samples = neighborhoodImage.sampleRegions(collection=myTrainingRandomPoints)
Export.table.toDrive(
collection=samples,
fileFormat='TFRecord',
selectors=[... training data band name and feature property names go here ...])
我个人并不熟悉进行 TensorFlow 训练的全部细节,但我有过 this complete example recommended as a starting point(我用它来写上面的草图)。请注意,此示例进行了多次导出,因为它在多个多边形内进行采样,但如果您只有一个标记点集合,那么您可以只使用一个导出任务,正如我在上面概述的那样。