我想从地球引擎中获得每一个100×100像素的10k图像。
我创建了一个区域,我想从其中选择图像。
我计划在区域中创建10k随机点,并为每个点在周围区域选择100×100像素。然后,我将使用Export.image.toDrive函数分别导出每个图像。
导出格式为TFRecords格式,用于特殊的压缩数据类型--张量流记录。
我认为这种方法糟透了。也许有一种从地球引擎中提取数据集的更合适的方法。到目前为止,我可以输出整个地区作为一个巨大的形象。
我计划利用这些数据来训练一个卷积神经网络。
欢迎任何帮助!提前谢谢你的回答。
发布于 2020-07-20 20:36:28
Export.image支持导出有规律的间隔,可能重叠的图像补丁。如果你想这样做,你可以用一个出口。但是在这种情况下,如果希望在集合中的每个预定义点导出补丁,而不是使用固定间隔的修补程序,则应该使用,它还支持TFRecord导出格式。。
您必须在图像上使用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培训的全部细节,但是我让这个完整的例子推荐作为一个起点 (我用它来编写上面的草图)这个示例执行多个导出,因为它是在多个多边形内采样,但是如果您有一个标记点的集合,那么您可以只使用一个导出任务,正如我上面所描述的那样。
https://stackoverflow.com/questions/63000565
复制相似问题