Tensor Flow Hydra Flood Models
このデータセットは、深層学習 TensorFlow メソッドを使用した Hydrological Remote Sensing Analysis Flood (HYDRAFloods) システムの地表水の出力画像です。具体的には、この共同研究センター (JRC) で調整された学習率バイナリ クロス エントロピー (BCE) ダイス モデルと方法については、Google Earth Engine の Sentinel-1 を使用した地表水マッピングへの最近のディープ ラーニング アプローチで詳しく説明されています。
Hydrological Remote Sensing Analysis of Floods (または HYDRAFloods) は、リモート センシング データから地表水マップをダウンロード、処理、提供するためのオープン ソースの Python アプリケーションです。このツールの背後にある基本は、地表水マップを作成するセンサーに依存しない方法を提供することです。さらに、複数のリモート センシング データセットを組み合わせて活用し、洪水アプリケーション用の毎日の地表水マップを提供するワークフローがあります。
HYDRAFloods アプリケーションは、Google Earth Engine と Google Cloud Platform (GCP) を使用して構築され、大規模な計算と大量のデータ出力にクラウド コンピューティングを利用しています。このパッケージの目的は、ユーザーが最小限の労力で高品質のクラウドベースの地表水マッピング アルゴリズムにアクセスできるようにすることです。この目標を達成するために、hydrafloods は、Earth Engine Python API の上に高レベル API を提供して、画像処理のためのフィルタリングやメタデータの伝達などのコードの重複を減らし、複雑な地表水アルゴリズムを提供します。さらに、このパッケージは、Earth Engine 内で使用するデータの読み取りと送信を行う GCP 関数をいくつか提供します。
クイック スタート
ハイドロフラッド API の簡単な例と、高品質の地表水マップを作成することがいかに簡単かを強調するために、Sentinel-1 を使用してカンボジアのメコン川とトンレサップ川の合流点で地表水をマッピングする簡単な例を提供します。 、洪水が頻繁に発生する場所。
文学:
Mayer, T., Poortinga, A., Bhandari, B., Nicolau, A.P., Markert, K., Thwal, N.S., Markert, A., Haag, A., Kilbride, J., Chishtie, F. and Wadhwa, A.,
2021. Deep Learning approach for Sentinel-1 Surface Water Mapping leveraging Google Earth Engine. ISPRS Open Journal of Photogrammetry and Remote
Sensing, p.100005.
リモート センシング データから得られた地表水マップをダウンロード、処理、および提供するための HYDRAFloods オープンソース Python アプリケーションの詳細。HYDRAFloods のドキュメントを参照してください。 HYDRAFloods ドキュメント。
コード:
var HydraFloods_Deep_Learning_Output = ee.Image("users/tjm0042/Hydrafloods_Outputs/TensorFlow_Surface_Water_Model_Mosaic")
Map.setCenter(104.9614, 12.2642,9);
var palettes = require('users/gena/packages:palettes');
Map.addLayer(HydraFloods_Deep_Learning_Output,{min: 0,max: 1, palette: palettes.cmocean.Tempo[7]},
"HYDRAFloods TensorFlow Model Approach: Joint Research Centre Adjusted Learning Rate Binary Cross Entropy Dice")
//Add a grayscale map to help higlight the feature
var SubtleGrayscale
=
[
{
"featureType": "administrative",
"elementType": "all",
"stylers": [
{
"saturation": "-100"
}
]
},
{
"featureType": "administrative.province",
"elementType": "all",
"stylers": [
{
"visibility": "off"
}
]
},
{
"featureType": "landscape",
"elementType": "all",
"stylers": [
{
"saturation": -100
},
{
"lightness": 65
},
{
"visibility": "on"
}
]
},
{
"featureType": "poi",
"elementType": "all",
"stylers": [
{
"saturation": -100
},
{
"lightness": "50"
},
{
"visibility": "simplified"
}
]
},
{
"featureType": "road",
"elementType": "all",
"stylers": [
{
"saturation": "-100"
}
]
},
{
"featureType": "road.highway",
"elementType": "all",
"stylers": [
{
"visibility": "simplified"
}
]
},
{
"featureType": "road.arterial",
"elementType": "all",
"stylers": [
{
"lightness": "30"
}
]
},
{
"featureType": "road.local",
"elementType": "all",
"stylers": [
{
"lightness": "40"
}
]
},
{
"featureType": "transit",
"elementType": "all",
"stylers": [
{
"saturation": -100
},
{
"visibility": "simplified"
}
]
},
{
"featureType": "water",
"elementType": "geometry",
"stylers": [
{
"hue": "#ffff00"
},
{
"lightness": -25
},
{
"saturation": -97
}
]
},
{
"featureType": "water",
"elementType": "labels",
"stylers": [
{
"lightness": -25
},
{
"saturation": -100
}
]
}
]
Map.setOptions('SubtleGrayscale', {SubtleGrayscale: SubtleGrayscale})
コードリンク:
コード:
# content of example.py Python file
# import the hydrafloods and ee package
import hydrafloods as hf
import ee
ee.Initialize()
# specify start and end time as well as geographic region to process
start_time = "2019-10-05"
end_time = "2019-10-06"
region = ee.Geometry.Rectangle([104, 11.5, 106, 12.5 ])
# get the Sentinel-1 collection
# the hf.dataset classes performs the spatial-temporal filtering for you
s1 = hf.datasets.Sentinel1(region, start_time, end_time)
# apply a water mapping function to the S1 dataset
# this applies the "Edge Otsu" algorithm from https://doi.org/10.3390/rs12152469
water_imgs = s1.apply_func(
hf.thresholding.edge_otsu,
initial_threshold=-14,
edge_buffer=300
)
# take the mode from multiple images
# since this is just imagery from one day, it will simply mosaic the images
water_map = ee.Image(water_imgs.collection.mode())
# export the water map
hf.geeutils.export_image(
water_map,
region,
"users/<YOUR_USERNAME>/water_map_example",
scale=30,
)
ライセンス¶
この作品は、Creative Commons Attribution 4.0 International License の下でライセンスされています。いかなる媒体または形式でも、資料を自由にコピーおよび再配布し、商業目的であっても、いかなる目的のためにも資料を変換および構築することができます。適切なクレジットを表示し、ライセンスへのリンクを提供し、変更が行われたかどうかを示す必要があります。
キュレーション: Tim Mayer、Kel Markert、Biplov Bhandari、Ate Poortinga
キーワード: 地表水マッピング、洪水、深層学習 TensorFlow、SERVIR
最終更新日: 2021-10-20