我们在GEE上实现的深度学习模型用于水体分类别,可直接应用于不同年份和地区

大家都知道,Google Earth Engine的分类模型很少,而且如果想做不同年份和不同研究区的研究,如果下载影像的话又太麻烦了。因此,我们最近使用GEE训练了一些深度学习模型用于水体分类,并将其部署到GEE平台上可以直接应用于不同年份和不同地区的研究,去除了繁琐的影像下载,大大提高了实用性。

例如,我们将其应用于全中国不同的研究区,里面就可以得到不同的结果,如下所示:

图片

东北地区某地的水体识别结果图

图片

青海湖的水体识别结果图

图片

五大湖地区某地的水体识别结果


除了可以应用于局部地区,还可以直接应用于大尺度。例如可以直接应用于东北三省,里面就能够得到水体识别结果。

图片

东北三省的水体识别结果

最后,我们给出代码,方便有需要的同学直接调用查看,调用的时候只需要修改研究区roi和时间等信息就可以调用。

var AOI = ee.Geometry.Polygon(
        [[[99.33888945955023, 37.44848808608605],
          [99.33888945955023, 36.42991103988907],
          [100.83303008455023, 36.42991103988907],
          [100.83303008455023, 37.44848808608605]]], null, false);
var roi = AOI;
Map.addLayer(roi,{"color":'grey'},'studyArea',false);
Map.centerObject(roi);

// remove cloud from Sentinel-2
function rmS2cloud(image) {
  var qa = image.select('QA60');
  // Bits 10 and 11 are clouds and cirrus, respectively.
  var cloudBitMask = 1 << 10;
  var cirrusBitMask = 1 << 11;
  // Both flags should be set to zero, indicating clear conditions.
  var mask = qa.bitwiseAnd(cloudBitMask).eq(0)
      .and(qa.bitwiseAnd(cirrusBitMask).eq(0));
  var mask2 = image.select("B2").lte(2000);
  return image.updateMask(mask).updateMask(mask2).toFloat().divide(1e4)
              .copyProperties(image)
              .copyProperties(image, ["system:time_start", "system:time_end"]);
}

var year = 2020;
var month_start = 4;
var month_end = 10;
var S2_BANDS = ['B11', 'B12', 'B2', 'B3', 'B4', 'B8'];
var S2Col = ee.ImageCollection('COPERNICUS/S2_SR')
                .filterBounds(roi)
                .filter(ee.Filter.calendarRange(year, year,'year'))
                .filter(ee.Filter.calendarRange(month_start, month_end,'month'))
                .map(rmS2cloud)
                .select(S2_BANDS);
                
var imgMedian = S2Col.median().clip(roi);

var rgbVis = {min: 0, max: 0.3, bands: ['B4', 'B3', 'B2']};

Map.addLayer(imgMedian,rgbVis,'imgMedian'); 

// 直接调用模型
var model = require('users/nietaoyuan/aGEECommonModule:geeDLWaterModel.js');
var imgPredict = model.waterModel(imgMedian,roi);
Map.addLayer(imgPredict,{'palette':'red'},'water');

加入我们

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值